9.4.1. Краткие сведения о подсистеме MatLab SIMULINK
Подсистема SIMULINK входит в состав семейства программных продуктов системы MatLab [10, 18].
Подсистема SIMULINK служит для моделирования динамических процессов. Для пользователя это - конструктор, с помощью которого блоки, соответствующие отдельным элементам динамической системы, объединяются в единое целое и проводится исследование поведения элементов и/или системы в целом во времени.
9.4.2. Запуск подсистемы SIMULINK
Осуществляется после предварительного запуска системы MatLab одним из трех способов:
- нажатием кнопки SIMULINK на панели инструментов системы MatLab (рисунок 9.7);
- в строке командного окна MatLab набрать SIMULINK и нажать ENTER;
- выполнить опцию OPEN в меню FILE и открыть файл модели (mdl-файл) – при запуске уже готовой и отлаженной модели.
При применении первых двух способов открывается окно обозревателя библиотеки блоков (рисунок 9.8).
Библиотека блоков SIMULINK – это набор визуальных объектов, при помощи которых можно, соединяя модули линиями функциональной связи, составлять блок-схему любого устройства.
Библиотека разбита на ряд разделов, основные из них перечислены ниже (по алфавиту):
· Continuous – блоки аналоговых элементов;
· Discontinuities – блоки нелинейных элементов;
· Discrete - блоки дискретных элементов;
· Math Operations – блоки элементов, определяющих математические операции;
· Signal & Routing – блоки маршрутизации сигналов;
· Sinks – блоки приема и отображения сигналов;
· Sources – блоки источников сигналов.
Блоки, входящие в раздел Sources (Источники) предназначены для формирования сигналов. Все блоки - источники имеют по одному выходу и не имеют входов.
Блоки, входящие в раздел Sinks (Приемники) предназначены для приема сигналов, они имеют только входы и не имеют выходов.
В разделе Discrete (Дискретные элементы) содержатся блоки, с помощью которых может быть описано поведение дискретных систем.
При выборе соответствующего раздела библиотеки его содержимое отображается в правой части окна (рисунок 9.9).
9.4.3. Создание модели
Для создания модели в среде SIMULINK необходимо выполнить последовательно ряд действий.
Создать новый файл модели с помощью команды File/New/Model или соответствующей кнопки на панели инструментов . Вновь созданное окно имеет вид, представленный на рисунке 9.10.
2. Расположить блоки в окне модели. Для этого открыть соответствующий раздел библиотеки блоков и “перетащить“ нужный блок при помощи левой клавиши мыши. На рисунке 9.11 показано окно модели, содержащее блоки.
3. Далее, если требуется, изменить параметры блока, установленные по умолчанию. Для этого, указав на изображение блока, дважды щелкнуть левой клавишей мыши: откроется окно параметров данного блока.
Пример для блока передаточной функции Transfer Fcn приведен на рисунке 9.12.
4. После установки на схеме всех блоков требуется их соединение.
4.1. Первый способ:
- указать на “выход” блока;
- нажать левую клавишу, и, не отпуская, провести линию ко “входу” другого блока;
- отпустить клавишу.
Примечание. Если соединение не создано, то линия связи будет пунктирной и иметь красный цвет. В случае правильного соединения линия связи будет сплошной.
4.2. Второй (альтернативный) способ соединения:
- выделить блок-источник;
- затем нажать клавишу Ctrl;
- выделить блок-приемник.
Для создания точки разветвления в соединительной линии:
- подвести курсор к предполагаемому узлу;
- и, нажав правую клавишу, протянуть линию.
5. После составления расчетной схемы необходимо сохранить по команде File / Save As.
При этом имя файла:
- может иметь произвольную длину;
- но должно начинаться с буквы;
- и содержать только алфавитно-цифровые символы латиницы и знаки подчеркивания
9.4.4. Некоторые основные приемы подготовки и редактирования модели
Добавление текстовых надписей
Для повышения наглядности модели удобно использовать текстовые надписи.
Для этого:
- указать мышью место надписи;
- дважды щелкнуть левой клавишей мыши.
Также можно изменить и подписи к блокам.
Для этого установить курсор в область надписи и щелкнуть левой клавишей мыши – в подписи появится курсор ввода.
Выделение объектов
Для выделения одного объекта:
Установить курсор на объекте Þ Щелкнуть левой клавишей мыши Þ Появятся маркеры по углам объекта.
Для выделения нескольких объектов:
Установить курсор вблизи объектов Þ Нажать левую клавишу Þ Удерживая ее, перемещать мышь Þ Появится пунктирная рамка Þ Все охваченные рамкой объекты становятся выделенными.
Перемещение блоков и вставка блоков в соединение
Перемещение – обычным путем перетаскивания мышью. При этом соединение не разрывается, а просто сокращается или увеличивается по длине. В длинное соединение можно вставить новый блок. Такая вставка возможна лишь для блоков, имеющих один вход и один выход.
Форматирование объектов
Используется для:
- управления отображением надписей и видом блоков;
- установки цвета линий и цвета фона блоков, а также всего окна;
- форматирования надписей;
- и др.
Осуществляется при помощи опций, вызываемым:
- либо при помощи контекстного меню (вызываемого нажатием правой клавиши);
- либо при помощи меню Format.
9.4.5. Установка параметров моделирования и его выполнение
Перед выполнением моделирования необходимо предварительно задать параметры.
Задание параметров выполняется в панели управления меню Simulation / Simulation Parameters.
Вид панели управления приведен на рисунке 9.13.
Окно настройки параметров моделирования имеет 4 вкладки:
· Solver (Решатель) – для установки параметров моделирования.
· Workspase I/O (Ввод/вывод данных в рабочую область) – для установки параметров обмена данными с рабочей областью MatLab.
· Dianostics (Диагностика) – для выбора параметров диагностики.
· Advanced (Дополнительно) – для установки дополнительных параметров.
· Real-Time Workshop – для задания параметров “Мастерская реального времени”.
Установка параметров моделирования
Установка параметров моделирования выполняется с помощью элементов управления, размещенных на вкладке Solver, и они разделены на 3 группы.
Simulation time (интервал моделирования): задаются начальное (Start time) и конечное (Stop time) значения времени
Simulation options (параметры решателя): указывается метод интегрирования (Type), либо с фиксированным (Fixed-step), либо с переменным (Variable-step) шагом.
Можно выбрать один из следующих методов:
· ode45 – одношаговые явные методы Рунге-Кутты 4-го и 5-го порядка;
· ode23 – одношаговые явные методы Рунге-Кутты 2-го и 3-го порядка;
· ode113 – многошаговый метод Адамса - Башворта – Мултона переменного порядка;
· ode23t - метод трапеций с интерполяцией;
· и др.
Величина шага интегрирования по умолчанию устанавливается системой автоматически (auto).
При выборе Fixed-step задать режим расчета (Mode): MultiTasking (многозадачный), SinglTasking (однозадачный), Auto (автоматический выбор режима).
При выборе Variable-step задать три параметра: Max step size – максимальный шаг интегрирования, Min step size – минимальный шаг интегрирования, Initial step size – начальное значение шага интегрирования.
Output options (параметры вывода).
Для данного параметра возможен выбор одного из трех вариантов:
· Refine output (Скорректированный вывод) – позволяет изменять шаг регистрации модельного времени и тех сигналов, которые сохраняются в рабочей области MatLab с помощью блока To Workspase. При этом установка дискретности шага вывода выполняется в строке редактирования Refine factor. По умолчанию Refine factor = 1, т.е. регистрация производится для каждого значения модельного времени. При задании Refine factor = k будет регистрироваться каждое k -ое значение сигналов.
· Produce additional output (Дополнительный вывод) – обеспечивает дополнительную регистрацию параметров модели в заданные моменты времени.
· Produce specified output only (Формировать только заданный вывод) – устанавливает вывод параметров модели только в заданные моменты времени, которые указываются в поле Output times.
Выполнение моделирования
Запуск моделирования выполняется с помощью пункта меню Simulation/Start или соответствующей кнопки на панели инструментов.
Процесс моделирования можно завершить досрочно, выбрав пункт меню Simulation/Stop или соответствующей кнопки на панели инструментов.
Моделирование также можно остановить (Simulation/Pause) и затем продолжить (Simulation/Continue).
Завершение работы
Для завершения работы необходимо сохранить модель в файле, закрыть окно модели, окно обозревателя библиотеки блоков, а также командное окно системы MatLab.
Пример создания модели системы и выбор ее характеристик.
Создать модель следящей системы, представленной на рисунке 9.14 ниже, и провести ее исследование. При этом оценить переходные процессы при задании на вход контура слежения синусоидального сигнала.
; ; . K1 = 3 1/c; t = 0.2 c; T1=0.6 c; T2=0.06 c.
Нелинейность – типа ”насыщение”.
Синусоидальный входной сигнал имеетвид: x=A sin (2p f t + j0), A = 0.3, f=0.5 Гц,
Решение.
Основные исходные данные
Создадим структурную схему для исследования системы.
Для этого в нашем случае понадобятся следующие блоки:
- из раздела блоков Math Operations ( блоки элементов, определяющих математические операции):
– блок Sum ;
- из раздела Continuous ( блоки аналоговых элементов):
- блок Integrator
- блок Transfer Fcn – передаточная функция
;
- блок Transport Delay (блок фиксированной задержки сигнала) ;
- из раздела Discontinuities (блоки нелинейных элементов):
- Saturation - нелинейность типа “насыщение”
;
- из раздела Sources ( блоки источников сигналов):
- Sin Wave - источник синусоидального сигнала
;
- Step - генератор ступенчатого сигнала
;
- Clock - источник времени (формирует сигнал, величина которого на каждом шаге равна текущему времени моделирования)
;
- из раздела Sinks (блоки приема и отображения сигналов):
- Scope - осциллограф (построение графиков в функции времени, позволяет наблюдать за изменением сигналов в процессе моделирования)
;
- XY Graf - графопостроитель (для построения графика значений одного сигнала в функции другого, верхний вход – для аргумента Х, нижний – для функции Y)
;
- To Workspase - блок записи в рабочую область MatLab (служит для записи данных, поступающих на вход блока в рабочую область системы MatLab)
;
- из раздела Signal & Routing ( блоки маршрутизации сигналов):
- Mux - мультиплексор (служит для объединения входных сигналов в вектор)
.