Назначение и функции пакета Simulink
Версия системы MATLAB 6.0 поставляется вместе с пакетом расширения Simulink 4.0, предназначенным для моделирования динамических систем, модели которых составляются из отдельных блоков (компонентов).
В этом пакете реализованы принципы визуально-ориентированного программирования, что позволяет легко набирать нужные блоки и соединять их с целью составления модели системы или устройства. При этом сложнейшие уравнения состояния, описывающие работу моделей систем или устройств, формируются автоматически без участия пользователя, что значительно облегчает и ускоряет его работу.
По удобству графического пользовательского интерфейса, обилию моделей (блоков) компонентов во множестве библиотек, разнообразию виртуальных средств регистрации и визуализации результатов моделирования и, главное, по его надежности и достоверности Simulink 4.0 выгодно отличается от множества подобных программ. Особенно это относится к открытости пакета и возможностям пополнения его библиотек.
Пакет Simulink является ядром интерактивного программного комплекса, предназначенного для математического моделирования линейных и нелинейных динамических систем и устройств, представленных своей функциональной блок-схемой, именуемой S-моделью, или просто моделью. При этом возможны различные варианты моделирования: во временной области, в частотной области, с событийным управлением, на основе спектральных преобразований Фурье, с использованием метода Монте-Карло (реакция на воздействия случайного характера) и т. д.
Для построения функциональной блок-схемы моделируемых устройств Simulink имеет обширную библиотеку блочных компонентов и удобный редактор блок-схем. Используя палитры компонентов (наборы), пользователь с помощью мыши переносит нужные блоки с палитр на рабочий стол пакета Simulink и соединяет линиями входы и выходы блоков. Таким образом, создается блок-схема системы или устройства, то есть модель.
Simulink автоматизирует следующий, наиболее трудоемкий этап моделирования: он составляет и решает сложные системы алгебраических и дифференциальных уравнений, описывающих заданную функциональную схему (модель), обеспечивая удобный и наглядный визуальный контроль за поведением созданного пользователем виртуального устройства. Пользователю достаточно уточнить (если нужно) вид анализа и запустить Simulink в режиме симуляции (откуда и название пакета - Simulink) созданной модели системы или устройства.
Для запуска пакета Simulink необходимо нажать кнопку Simulink в панели инструментов главного окна системы MATLAB (см. рис.1.4, поз.8). При нажатии этой кнопки открывается окно браузера библиотек (рис.2.1).
|
|
|
|
|
|
Рис.2.1. Окно браузера библиотек пакета Simulink
В окне браузера содержится дерево компонентов библиотек Simulink. Для просмотра того или иного раздела библиотеки достаточно выделить его нажатием левой кнопки мыши, и в правой части окна Simulink Browser Library появится набор пиктограмм компонентов активного раздела библиотеки.
Окно браузера библиотек состоит из пяти основных частей:
1 – командное меню;
2 – панель инструментов;
3 – поле информационных сообщений;
4 – окно разделов библиотеки;
5 – окно с входящими в эти разделы подразделами или блоками;
6 – строка состояния.
2.1.1. Командное меню браузера библиотек
Командное меню содержит следующие пункты и подпункты:
1) File - работа с файлами библиотек:
· New – создание новой модели или нового раздела библиотеки, куда могут входить как новые, так и уже существующие блоки;
· Open – открытие файла (окна) модели или нового раздела библиотеки;
· Preferences – редактирование свойств пакета Simulink.
2) Edit - добавление компонентов и их поиск:
· Add to the current model – добавить выделенный блок в текущее окно модели;
· Find block – найти блок в библиотеке пакета Simulink;
· Find next block – продолжить поиск (по критерию из предыдущего пункта меню).
3) View - управление элементами браузера библиотек Simulink:
· Toolbar – показать/убрать панель инструментов;
· Status bar – показать/убрать строку состояния;
· Description - показать/убрать поле информационных сообщений;
· Stay on top – включить/выключить режим браузера "поверх всех окон";
· Collapse entire Browser – свернуть все разделы библиотек в окне разделов браузера библиотек;
· Expand entire Browser – развернуть все разделы библиотек в окне разделов браузера библиотек;
· Large/Small Icon – устанавливает размер иконок (большой/маленький) в окне, показывающем содержание разделов библиотек;
· Show parameters for selected block – показать параметры для выбранного блока (эквивалентно двукратному нажатию на нем левой кнопкой мышки).
4) Help - вывод справки по Simulink:
· Help on the selected block – справка по выбранному блоку;
· Simulink Help – справка по системе Simulink;
· Tip of the Day – выводит следующую подсказку в поле информационных сообщений.
2.1.2. Панель инструментов браузера библиотек Simulink
Панель инструментов (рис.2.2) содержит следующие кнопки:
1 – Create a new model - открывает новое окно для создания модели;
2 – Open a model - открывает существующую модель;
3 – Stay on top - установка статуса окна браузера "поверх всех окон";
4 – Find block - найти блок.
Рис.2.2. Панель инструментов браузера библиотек Simulink
В поле информационных сообщений возникает название и краткое описание выделенного раздела или блока.
Если в окне разделов библиотек выделен какой-то раздел, то щелчок правой кнопкой мыши выводит контекстное меню с одной командой, позволяющей вывести данный раздел в окне, расположенном справа от окна разделов, такой же эффект достигается двукратным нажатием левой кнопки мыши на нужном разделе.
На рис. 2.1 выделена основная библиотека Simulink (в левом окне) и показаны ее разделы (в правом окне). Основная библиотека Simulink содержит достаточно большое количество самых разнообразных блоков, в рамках данного учебного пособия нужны лишь некоторые из них, применяемые в теории автоматического управления (ТАУ).
Кроме того, при нажатии правой кнопки мыши на конкретном блоке выводится небольшое контекстное меню, содержащее следующие команды:
1) Add to the current model – добавить выделенный блок в текущую модель (также можно использовать сочетание клавиш Ctrl+I);
2) Help for the ‘block name’ block – справка по выделенному блоку (в кавычках содержится имя выделенного блока);
3) Go up a level – перейти в библиотеке на уровень выше;
4) Block parameters – параметры выделенного блока (достигается так же, двукратным нажатием левой кнопки мыши на блоке).
Блоки библиотеки Simulink
2.2.1. Continuous – раздел непрерывных блоков
Рис. 2.3. Раздел Continuous
В состав раздела непрерывных блоков входят (рис 2.3):
· Derivative – дифференцирующий блок;
· Integrator – интегрирующий блок;
· Transport Delay – блок постоянного запаздывания;
· Transfer Fcn – блок, реализующий передаточную функцию, заданную в виде отношения полиномов (апериодическое и колебательное звенья);
· State-Space – линейная аналоговая система, заданная в виде уравнений состояния, т. е. в виде системы уравнений, представленной в форме Коши;
· Zero-Pole – линейная аналоговая система, заданная своими нулями и полюсами;
· Memore – блок памяти, выполняющий задержку на один шаг модельного времени;
· Variable Transport Delay – блок памяти с переменной задержкой.
2.2.2. Discrete – раздел дискретных блоков
· Discrete Transfer Fcn - блок, реализующий передаточную функцию, заданную в виде отношения полиномов (апериодическое и колебательное звенья), для дискретных САУ;
· Discrete Time Integrator – интегрирующий блок для дискретных САУ. Выполняет численное интегрирование входного сигнала;
· Zero-Order-Hold –экстраполятор нулевого порядка;
· Unit Delay – блок задержки сигнала. Обеспечивает задержку входного сигнала на заданное число шагов модельного времени;
· Discrete State-Spase – блок задания дискретного звена матрицами его состояния;
Рис. 2.4. Раздел Discrete
· Discrete Filter – блок задания дискретного звена через дискретную передаточную дробно-рациональную функцию относительно 1/Z;
· Discrete Zero-Pole – блок задания дискретного звена через указание значений нулей и полюсов дискретной передаточной функции относительно 1/Z;
· First-Order Hold – экстраполятор первого порядка.
2.2.3. Function & Tables – раздел блоков функций и таблиц
· Fcn – блок, реализующий в пакете Simulink любую функцию системы MATLAB, где в качестве параметра настройки можно ввести любое вычисляемое выражение, аргументом которого выступает входной сигнал;
· MATLAB Fcn – подобен предыдущему блоку, но также позволяет реализовывать m-функции (программы, написанные на языке программирования MATLAB);
· Look-Up Table, (2-D) и (n-D) – блоки данных, заданных в виде таблиц (позволяют задать нелинейные блоки любого вида), отличаются друг от друга размерностью задающих таблиц. Все эти блоки выполняют различного вида интерполяции.
2.2.4. Math – раздел математических блоков
· Gain – усилительный блок;
· Sum – сумматор сигналов с различными знаками и любым количеством входов;
· Product – вычислитель, формирующий на выходе результат умножения или деления двух и более входных сигналов. В качестве параметров настройки указывается число входов и вид выполняемой операции;
· Dot Product – звено, осуществляющее перемножение двух входных величин, если они являются скалярами. Это звено вычисляет также сумму поэлементных произведений двух входных векторов одинаковой длины;
· Slider Gain – аналоговый усилитель с интерактивной настройкой;
· Matrix Gain – усилитель, на вход которого подается вектор;
· Mat Function – блок, позволяющий выбрать одну из математических функций в поле настройки и включить ее в модель;
· Trigonometric Function – звено формирования тригонометрических функций от входного сигнала. Выбор функции обеспечивается в поле настройки;
Рис. 2.5. Раздел Math
· MinMax – блок выбирает минимальное или максимальное значение вектора в соответствии с заданием поля настройки. Входной сигнал на блок задается числовым вектором. В окне настройки определяется также количество входов;
· Abs – блок, формирующий на выходе абсолютное значение входного сигнала;
· Sign – блок-реле, реагирующий на знак входного сигнала;
· Rounding Function – округление входного сигнала;
· Combinatorial Logic – блок обеспечивает преобразование входного сигнала в соответствии с формированной в окне настройки таблицей истинности;
· Logical Operation и Relaition Operator – блоки производят известные логические операции «и» и «или», количество входов задается в поле настройки;
· Bitwise Logical Operator – универсальный блок, реализующий любую логическую функцию;
· Complex to Magnitude-Angle – блок, позволяющий выделить модуль и фазу входной комплексной величины;
· Magnitude-Angle to Complex – блок, преобразующий входную величину, заданную модулем и фазой в комплексную выходную величину;
· Complex to Real-Image, Real-Image to Complex – блоки, преобразующие комплексные величины из показательной формы в алгебраическую и обратно;
· Algebraic Constrain – блок, позволяющий в структурную модель включать систему алгебраических уравнений.
2.2.5. Nonlinear – раздел нелинейных блоков
Рис. 2.6. Раздел Nonlinear
· Saturation – блок ограничения;
· Dead Zone – блок с зоной нечувствительности;
· Relay – релейный блок;
· Rate Limiter – блок с ограничением скорости;
· Coulomb and Viscous Friction – блок фрикционных эффектов;
· Backlash – блок люфта;
· Switch и Multiport Switch – переключатели одно- и многовходовые;
· Quantizer – блок, обеспечивающий квантование входного сигнала по уровню. В системах управления такие блоки являются частью аналого-цифрового преобразователя;
· Manual Switch – блок, который переключается вручную. В процессе моделирования при помощи этого ключа удобно менять параметры и структуру модели;
· Coulumb & Viscous Friction – блок, реализующий характеристику трения в механических системах.
2.2.6. Signal & Systems – раздел блоков сигналов и систем
· Sub System – блок-подсистема (полезен в случае громоздких систем, части которых можно с помощью данного блока заменить на один или несколько блоков-подсистем);
· In, Out – блоки входа/выхода, предназначенные для создания блоков-подсистем;
· Mux – микшер сигналов, собирающий несколько сигналов в одну шину;
· Demux – блок, выполняющий действие, обратное действию предыдущего блока;
· Enable, Trigger – блоки, предназначенные для логического управления работой модели;
· Bus Selector – блок выделяет из присоединенной к его порту шины требуемые сигналы. В окне настройки блока имеется два списка – входной и выходной;
· Selector – блок выбирает из входного вектора элементы, которые указаны в параметрах настройки;
· Merge – блок, осуществляющий объединение входных сигналов;
· Matrix Concatenation – блок, позволяющий векторный сигнал, представленный развернутой строкой или столбцом, преобразовать к «свернутому» векторному сигналу;
· From, Goto Tag Visibility, Goto – блоки ( «Принять», «Признак видимости», «Передать» ) используются совместно и предназначены для обмена между различными данными модели с учетом их доступности;
· Data Store Memory, Data Store Read, Data Store Write – «Память», «Чтение» и «Запись» данных, также используются совместно и обеспечивают хранение и передачу данных;
· Ground, Terminator – блоки используются в качестве «заглушек» для неиспользованных входных и выходных портов соответственно;
Рис. 2.7. Раздел Signal & Systems
· Reshape – блок, позволяющий изменить размерность входного сигнала;
· Data Type Conversion – блок, обеспечивающий приведение типа данных входного сигнала к требуемому;
· Function-Call Generator – блок, обеспечивающий запуск подключенных к нему подсистем с заданной периодичностью;
· Configurable Subsystem – блок, реализующий функцию любой подсистемы, которая может быть библиотечной или созданной пользователем;
· Model info – блок, позволяющий получить информацию о модели;
· IC – блок, позволяющий установить начальное значение входного сигнала, значение которого задается в окне настройки;
· Width – блок, вычисляющий размерность сигнала на входе;
· Probe – блок, позволяющий получить на выходе необходимую информацию о входном сигнале. Блок имеет один вход, число выходов зависит от числа исследуемых параметров входного сигнала;
· Signal Specification – блок, управляющий процессом моделирования в зависимости от параметров входного сигнала.
2.2.7. Sinks – раздел блоков получателей сигналов
· Display – блок, отображающий цифровую информацию (уровень сигнала в данный момент времени);
· Scope – виртуальный осциллограф, предназначенный для получения временных зависимостей (переходных процессов);
· XY Graph – виртуальный графопостроитель (построение фазовых портретов и различных двухмерных графиков);
Рис. 2.8. Раздел Sinks
· To File и To Workspace – блоки, передающие информацию в файл или в рабочую область MATLAB;
· Stop Simulink – остановка симуляции.
2.2.8. Sources – раздел блоков источников сигналов
· Band-Limited White Noice – генератор белого шума;
· Chrip Signal – генератор сигнала с нарастающей частотой;
· Constant - источник постоянного воздействия, задающий константу (t < 0, y = 0; t ³ 0, y = сonst);
· Discrete Pulse Generator – источник дискретных импульсов;
· From File и From Workspace - источником сигнала для этих блоков служит файл или рабочая область MATLAB;
· Ramp – источник нарастающего воздействия;
Рис. 2.9. Раздел Sources
· Random Number – источник случайного сигнала с нормальным распределением;
· Repeating Sequence – источник пилообразного сигнала;
· Sine Wave – источник синусоидального воздействия;
· Step – источник перепада сигнала (t < Step time, y = Initial value; t > Step time, y = Final value);
· Signal Generator – универсальный сигнал-генератор;
· Clock – источник времени моделирования;
· Digital Clock – цифровой источник времени.
2.2.9. Библиотека Simulink Extras
Библиотека Simulink Extras является дополнительной библиотекой пакета Simulink. Эта библиотека содержит наборы блоков с более широкими функциями, чем рассмотренные ранее разделы основной библиотеки. Тем не менее это вовсе не означает, что применение этой библиотеки всегда предпочтительнее. Связано это с тем, что усложнение функций блоков, полезное при решении ряда специфических задач, оборачивается усложнением моделирования при решении большинства обычных задач.
Библиотека Simulink Extras представлена на рис. 2.10. Работа с этой библиотекой ничем не отличается от работы с основной библиотекой.
Рис.2.10. Библиотека Simulink Extras
2.2.9.1.Additional Discrete – дополнительные дискретные блоки
Рис. 2.11. Дополнительные
дискретные блоки
Дополнительные блоки Additional Discrete представлены всего четырьмя блоками – по два варианта известных нам блоков Discrete Transfer Fcn и Discrete Zero-Pole (рис 2.11). Их единственным отличием от описанных ранее блоков является возможность инициализации входов и состояний.
2.2.9.2.Additional Linear – дополнительные линейные блоки
Состав дополнительных линейных блоков раздела Additional Linear показан на рис. 2.12. Блоки этого раздела можно разделить на две категории: PID-контроллеры и блоки типа State-Shfct, Transfer Fnc и Zero-Pole, дополненные возможностями выходных сигналов и состояний.
Для анализа и синтеза систем управления наибольший интерес представляют PID-контроллеры. Первый из них PID-controller – это довольно универсальный блок, выходной сигнал которого задается операторным выражением:
OUT = P + I / s + Ds,
где Р – входной сигнал; I – его интеграл; D – его производная.
Рис. 2.12. Дополнительные линейные
блоки
Параметр Р (по умолчанию 1) фактически задает коэффициент усиления безынерционного усилительного звена. Параметр I задает пропорциональность интегралу входного сигнала и, наконец, параметр D задает пропорциональность производной входного сигнала. Параметры P, I и D задаются в таблице настройки PID-контроллера, поэтому задавая различные значения указанных параметров, можно получить П -, ПИ -, ПД - и ПИД - регуляторы .
Второй PID-controller (with Approximate Derivative) c улучшенной операцией дифференцирования вычисляет выходной сигнал как:
OUT = Р + I / s + Ds/(1/Ns + 1).
За счет применения дополнительного параметра N улучшается вычисление производной.
2.2.9.3.Дополнительные блоки Additional Sinks
Раздел дополнительных блоков Additional Sinks содержит ряд новых виртуальных регистраторов ( рис. 2.13):
· Auto Correlator – автокоррелятор (используется с пакетом Signal Processing Toolbox);
· Averaging Power Spectral Density – анализатор спектральной плотности мощности с усреднением;
Рис. 2.13. Дополнительные блоки
Additional Sinks
· Averaging Spectrum Analyzer – спектральный анализатор с усреднением;
· Cross-Correlator – кросс-коррелятор;
· Floating Point Bar – утилита построения гистограммы;
· Power Spectral Density – анализатор спектральной плотности мощности;
· Spectrum Analyser – анализатор спектра.
Данные блоки относятся к двум важным разделам моделирования – статистическому анализу и анализу спектров сигналов ( по уровню и по мощности ).
2.2.9.4.Блоки триггеров Flip Flops
Рис. 2.14. Раздел библиотеки Flip Flops
Раздел библиотеки Simulink Extras Flip Flops содержит следующие основные блоки (рис. 2.14):
· Clock – генератор тактовых импульсов;
· D Flip Flops, D Latch, J-K Flip Flops, R-S Flip Flops – 4 триггерных устройства типа D -, J-K, R-S – триггеров.
2.2.9.5.Раздел преобразований Transformations
Раздел преобразований Transformations (рис. 2.15) содержит 8 блоков для осуществления типичных преобразований – температуры из градусов Цельсия в градусы Фаренгейта и наоборот; углов, выраженных в градусах, в углы, выраженные в радианах, и наоборот; прямоугольных систем координат в полярные системы координат и наоборот.
Рис. 2.15. Блок Transformations
Основные настройки вышеописанных блоков и правила работы с ними описаны ниже.
Любая модель, собираемая в программном пакете Simulink, должна состоять из трех основных частей: источник сигнала, модель, приемник сигнала. Причем модель может состоять из любых блоков, описанных выше (кроме разделов источников и приемников сигналов).