- •ВВЕДЕНИЕ
- •Содержание программного продукта MATLAB
- •Пакет расширения Simulink
- •Пакет расширения SimDriveline
- •Содержание библиотек SimDriveline
- •Глоссарий Stateflow
- •Составляющие диаграмм Stateflow
- •Создание моделей в Stateflow
- •Настройка обновления диаграммы
- •Диаграммы потоков
- •Контрольные вопросы и задания
- •ЗАКЛЮЧЕНИЕ
- •Библиографический список
Министерство образования и науки РФ Федеральное государственное бюджетное образовательное учреждение
высшего образования «Сибирская государственная автомобильно-дорожная
академия (СибАДИ)»
С.Д. Игнатов, С.В. Котькин
МОДЕЛИРОВАНИЕ МЕХАНИЧЕСКИХ |
||||
СИСТЕМ ПРИ ПОМОЩИ |
||||
|
|
|
|
И |
РАСШИРЕНИЙ SIMULINK |
||||
|
|
|
Д |
|
|
|
А |
|
|
Учебное пособие |
||||
|
б |
|
|
|
и |
|
|
|
|
С |
|
|
|
|
Омск • 2016
УДК 004.94 : 531.8
ББК 32.973 : 34.412 И26
Согласно 436-ФЗ от 29.12.2010 «О защите детей от информации, причиняющей вред их здоровью и развитию» данная продукция маркировке не подлежит.
Рецензенты:
канд. техн. наук, проф. А.И. Демиденко (СибАДИ); канд. техн. наук, доц. А.А. Руппель (ОТВТ)
Работа утверждена редакционно-издательским советом СибАДИ в качестве учебного пособия.
Игнатов, Сергей Дмитриевич.
И26 Моделирование механических систем при помощи расширений Simulink
[Электронный ресурс] : учебное пособие / С.Д. Игнатов, С.В. Котькин. – Электрон. дан.
− Омск : СибАДИ, 2016. –URL: http://bek.sibadi.org/cgi-bin/irbis64r_plus/ cgiirbis_64_ft.exe. - Режим доступа: для авторизованных пользователей.
ISBN 978-5-93204-918-1.
SimMechanics, SimDriveline, Stateflow, об основных принципах моделирования при помощи этих расширений.
Приведены способы моделирования механических систем в SimMechanics, SimDriveline и Stateflow.
Имеет интерактивное оглавление в виде закладок. Содержит видеофрагменты обучающего и демонстрационного характера, которые воспроизводятся с помощью про-
игрывателя Windows Media.
Предназначено для обучающихся по направлению «Автоматизация технологических процессов и производств», в частности при изучении принципов моделирования механических систем в общем д сц плины «Пакеты прикладных программ» в частности, а также рекомендуется асп рантам при написании научных работ.
Подготовлено на кафедре «Автоматизация производственных процессов и электротехника».
Изложены сведенияСибАДИо назначении и блоках таких расширений Simulink, как
Мультимедийное издание (16,0 МБ)
Системные требования : Intel, 3,4 GHz ; 150 МБ ; Windows XP/Vista/7 ; DVD-ROM ;
1 ГБ свободного места на жестком диске ; программа для чтения pdf-файлов
Adobe Acrobat Reader; Google Chrome ; Windows Media Player, колонки
Редактор Н.И. Косенкова
Техническая подготовка − Т.И. Кукина Издание первое. Дата подписания к использованию 21.10.2016
Издательско-полиграфический центр СибАДИ. 644080, г. Омск, пр. Мира, 5 РИО ИПЦ СибАДИ. 644080, г. Омск, ул. 2-я Поселковая, 1
© ФГБОУ ВО «СибАДИ», 2016
ВВЕДЕНИЕ
Значительную часть исследований в настоящее время занимает моделирование объектов или процессов.
MatLab – это программный продукт, позволяющий решать задачи сложных технических вычислений, формировать математические модели различных процессов и эффективно проводить их исследования, обладающий своим языком программирования.
Задачей курса «Пакеты прикладных программ» является формирование у студентов знаний о существующих программных продуктах и возможностях их применения при проведении различного рода исследований.
В результате изучения курса студенты должны знать основные |
||||
|
|
|
|
И |
принципы моделирования механических систем в программном про- |
||||
дукте MatLab расширении Simulink. |
Д |
|||
|
|
|
||
|
|
А |
|
|
|
б |
|
|
|
и |
|
|
|
|
С |
|
|
|
|
3
ПРОГРАММНЫЙ ПРОДУКТ MATLAB И ПАКЕТ
РАСШИРЕНИЯ SIMULINK
Содержание программного продукта MATLAB
Система MATLAB (сокращение от MATrix LABoratory – МАТ-
ричная ЛАБоратория) является интерактивной системой для вычисления инженерных и научных расчетов, ориентированной на работу с массивами данных.
Привлекательной особенностью системы является то, что она содержит развитую встроенную матричную и комплексную арифметику. Система поддерживает выполнение операций с векторами, мат-
ние нелинейных уравнений и задач оптимизации, решение дифферен-
рицами и массивами данных, расчет ранга и чисел обусловленности матриц, поддерживает работу с алгебраическимиИполиномами, реше-
еѐ собственных значений и векторов, решение систем линейных алгебраических уравнений и много других. Новые программы, функции
циальных и разностных уравнений, построение различных видов графиков, трехмерных поверхностей, обращениеДматрицы, вычисление
и процедуры в системе MATLABАсохраняются в виде файлов, имеющих расширение *.m. Этобделает набор операторов и функций практически не ограниченным. Таким образом, MATLAB предоставляет пользователю большойина ор готовых средств.
Система MATLAB меет со ственный язык программирования, напоминающийСBasic. К тому же система дает возможность редактировать программы при помощи любого привычного для пользователя текстового редактора.
MATLAB имеет большие возможности для работы с сигналами, для расчета и проектирования аналоговых и цифровых фильтров, для построения их частотных, импульсных и переходных характеристик. Имеются в наличии и средства для спектрального анализа и синтеза, в частности, для реализации прямого и обратного преобразования Фурье. Работа в системе MATLAB может осуществляться в двух режимах:
•в режиме калькулятора, когда вычисления производятся непосредственно после набора очередного оператора или команды
MATLAB;
•путем вызова программы, составленной и записанной на диске, на языке MATLAB, которая содержит все необходимые команды,
4
обеспечивающие ввод данных, организацию вычислений и вывод результатов на экран (программный режим).
В обоих режимах пользователю доступны практически все вычислительные возможности системы, в том числе по выводу информации в графической форме. Программный режим позволяет сохранять разработанные вычислительные алгоритмы и, таким образом, повторять вычисления при других исходных данных.
Рабочая область системы MATLAB – это область памяти, в которой размещены переменные системы. Содержание этой области можно посмотреть с помощью специального средства «Просмотра Рабочей Области».
MATLAB содержит в себе различные пакеты расширения. Рассмот-
рим пакет расширения Simulink. |
И |
|
Пакет расширения Simulink
честве «кирпичиков» для построенияДs-модели применяют модули (или блоки), хранящиеся в библиотеке пакета Simulink.
Пакет расширения Simulink предназначен для моделирования
как линейных систем, так и нелинейных. Создание моделей в пакете Simulink основано на использованииАтехнологии Drag-and-Drop. В ка-
Библиотека Simulink хороша тем, что, с одной стороны, обеспе-
чивает пользователю доступ ко всем основным возможностям пакета
Matlab, а с другой – является достаточно самостоятельным его ком- |
|
|
С |
понентом, в том смысле, чтобпри работе с ней не обязательно иметь |
|
навыки в использован друг х инструментов, входящих в состав па- |
|
кета. |
и |
При |
моделировании с использованием Simulink реализуется |
принцип визуального программирования, в соответствии с которым пользователь на экране из библиотеки стандартных блоков создает модель устройства и осуществляет расчеты. При этом, в отличие от классических способов моделирования, пользователю не нужно досконально изучать язык программирования и численные методы математики, а достаточно общих знаний требующихся при работе на компьютере и, естественно, знаний той предметной области, в которой он работает.
Основным понятием системы моделирования Simulink является сигнал. По умолчанию, сигналы – это скалярные безразмерные переменные, связывающие компоненты модели. Однако существуют и
5
специальные сигналы, например электрические, гидравлические, механические и т.д., которые определенным образом описывают конкретное физическое влияние одних элементов моделируемой системы на другие. Компоненты модели – это элементы библиотеки Simulink или другие модели, которые осуществляют изменения сигналов (например, интегрирование, усиление, сложение двух сигналов и т.д.).
Блоки, включаемые в создаваемую модель, могут быть связаны друг с другом как по информации, так и по управлению. Тип связи зависит от типа блока и логики работы модели. Данные, которыми обмениваются блоки, могут быть скалярными величинами, векторами или матрицами произвольной размерности.
Любая s-модель может иметь иерархическую структуру, то есть
состоять из моделей более низкого уровня, причем число уровней не |
|
ограничено. |
И |
|
|
При моделировании пользователь может выбирать метод реше- |
|
|
Д |
ния дифференциальных уравнений, а также способ изменения модельного времени (с фиксированным или переменным шагом). В ходе моделирования имеется возможность следить за процессами, происходящими в системе. Для этого используются специальные устройства наблюдения, входящие в состав библиотеки Simulink. Результаты моделирования могут быть представлены в виде графиков или таб-
лиц. |
и |
В ходе моделирования имеетсяАвозможность наблюдать за про- |
|
цессами, происходящ ми в с стеме. Интересующие пользователя ха- |
|
|
С |
рактеристики системы могутббыть представлены как в числовой, так и |
|
в графической форме. |
|
Библиотека Simulink в MATLAB 2010 содержит следующие ос- |
|
новные разделы (рис. 1): |
|
1. |
Commonly Used Blocks – часто используемые компоненты из |
различных разделов основной библиотеки Simulink. |
|
2. |
Continuous – компоненты для моделирования систем в не- |
прерывном времени. |
|
3. |
Discontinuities – компоненты для моделирования негладких и |
разрывных нелинейных функций. |
|
4. |
Discrete – компоненты для моделирования систем в дискрет- |
ном времени. |
|
5. |
Logic and Bit Operations – компоненты для моделирования |
логических (двоичных) операций.
6
6. Lookup Tables – компоненты для моделирования функциональных и табличных зависимостей.
7. Math Operations – компоненты для моделирования математических операций.
8. Model Verification – компоненты для тестирования и верификации поведения моделей.
9. Model-Wide Utilities – вспомогательные компоненты для документирования и линеаризации моделей.
10. Ports & Subsystems – блоки построения иерархических моделей и подсистем.
11. Signal Attributes – компоненты для преобразования типов сигналов в моделях.
12. Signal Routing – компоненты для коммутации и объедине- |
|
ния/разъединения сигналов. |
И |
|
|
13. Sinks – компоненты для отображения и сохранения сигналов. |
|
|
Д |
14. Sources – источники сигналов и воздействий.
15. User-Defined Functions – компоненты для создания пользова-
тельских функций, реализованных на языке MATLAB. |
||
|
|
А |
|
б |
|
и |
|
|
С |
|
|
Рис. 1. Разделы библиотеки Simulink
7
Рассмотрим каждый раздел в отдельности.
Continuous – раздел непрерывных блоков.
В состав раздела непрерывных блоков входят (рис. 2):
•Derivative – дифференцирующий блок;
•Integrator – интегрирующий блок;
•State-Space – линейная аналоговая система, заданная в виде уравнений состояния, т. е. в виде системы уравнений, представленной
вформе Коши;
•Transfer Fcn – блок, реализующий передаточную функцию, заданную в виде отношения полиномов (апериодическое или колебательное звено);
•Transport Delay – блок постоянного запаздывания;
•Variable Transport Delay – блок памяти с переменной задержкой; И
•Zero-Pole – линейная аналоговая система, заданная своими нулями и полюсами. ДА
иб
Рис. 2. Блоки раздела Continuous
Math Operations – раздел математических блоков.
В состав Сраздела математ ческих блоков входят (рис. 3):
• Abs – блок, формирующий на выходе абсолютное значение входного сигнала;
• Add – блок скалярного, векторного или матричного сложения;
• Bias – блок, добавляющий скалярную величину к входному сигналу;
• Complex to Real-Image, Real-Image to Complex – блоки, преоб-
разующие комплексные величины из показательной формы в алгебраическую и обратно;
• Divide – блок скалярного, векторного или матричного деле-
ния;
• Dot Product – звено, осуществляющее перемножение двух входных величин, если они являются скалярами. Это звено вычисляет также сумму поэлементных произведений двух входных векторов одинаковой длины;
8
Рис. 3. Блоки раздела Math OperationsИ
• Gain – усилительный блок; Magnitude-Angle to Complex –
сигнал на блок задается ч словым вектором. В окне настройки определяется также количество входов;
блок, преобразующий входную величину, заданную модулем и фазой, |
|||
в комплексную выходную величину; |
Д |
||
|
|||
• Mat Function – лок, позволяющий выбрать одну из математи- |
|||
ческих функций в поле настройкиАи включить ее в модель; |
|||
• MinMax – блок вы |
рает минимальное или максимальное |
||
|
б |
|
|
значение вектора в соответств |
и с заданием поля настройки. Входной |
||
и |
|
|
|
С |
|
|
|
• Product – вычислитель, формирующий на выходе результат умножения или деления двух и более входных сигналов. В качестве параметров настройки указывается число входов и вид выполняемой операции;
• Product of Elements – матричное умножение;
• Reshape – блок, изменяющий размерность матриц;
• Rounding Function – округление входного сигнала;
• Sign – блок-реле, реагирующий на знак входного сигнала;
• Sine Wave Function – блок, генерирующий синусоидальный сигнал в зависимости от входного сигнала времени;
• Slider Gain – аналоговый усилитель с интерактивной настрой-
кой;
9
• Squeeze – блок, убирающий единичную размерность из мат-
риц;
• Substract – блок вычитания;
• Sum – сумматор сигналов с различными знаками и любым количеством входов;
• Sum of Elements – матричное сложение;
• Trigonometric Function – звено формирования тригонометрических функций от входного сигнала. Выбор функции обеспечивается в поле настройки;
• Unary Minus – блок, изменяющий знак сигнала;
• Vector Concatenate – блок, образующий вектор из двух входных величин;
• Weighted Sample Time Math – блок, добавляющий к входному сигналу постоянную времени;
• Polynomial – блок, реализующий полиномиальную функцию. |
||||
Discontinuities – раздел нелинейных блоков. |
||||
• Backlash – блок люфта; |
|
|
И |
|
|
|
|
||
• Coulomb and Viscous Friction – блок фрикционных эффектов; |
||||
|
|
|
Д |
|
• Dead Zone – блок с зоной нечувствительности; |
||||
• Dead Zone Dynamic– лок с переменной зоной нечувствитель- |
||||
ности; |
|
А |
|
|
• Hit Crossing – блокб, детектирующий пересечение входного |
||||
сигнала с заданной настройкой; |
|
|
||
|
и |
|
|
|
• Wrap To Zero – блок, выдающий ноль, если входной сигнал |
||||
меньше заданного условия; |
|
|
|
|
• Rate LimiterС– блок с ограничением скорости; |
||||
• Rate Limiter Dynamic – блок с переменным ограничением ско- |
||||
рости; |
|
|
|
|
• Relay – релейный блок;
• Saturation – блок ограничения;
• Saturation Dynamic – блок переменного ограничения;
• Quantizer – блок, обеспечивающий квантование входного сигнала по уровню. В системах управления такие блоки являются частью аналого-цифрового преобразователя.
10
Рис. 4. Блоки раздела Discontinuities
Sources – раздел блоков источников сигналов.
|
|
|
И |
|
|
Д |
|
|
А |
|
|
б |
|
|
|
Р с. 5. Блоки раздела Sources |
|||
и |
|
|
|
В состав раздела источников сигнала блоков входят (рис. 5): |
|||
• Band-Limited White Noice – генератор белого шума; |
|||
• Chrip SignalС– генератор сигнала с нарастающей частотой; |
• Constant – источник постоянного воздействия, задающий константу;
•Discrete Pulse Generator – источник дискретных импульсов;
•From File и From Workspace – источником сигнала для этих блоков служит файл или рабочая область MATLAB;
•Ramp – источник нарастающего воздействия;
•Random Number – источник случайного сигнала с нормальным распределением;
11