Создание модели устройства в программе Simulink
2.3.1. Создание нового окна модели
Для создания окна новой модели нужно нажать кнопку Create a new model (см. рис.2.1, поз.1) в панели инструментов браузера библиотек Simulink либо выполнить соответствующую команду из командного меню. Пустое окно модели показано на рис. 2.16.
Рис.2.16. Пустое окно модели (окно для создания новой модели)
2.3.2. Панель инструментов
Окно модели имеет собственную панель инструментов, содержащую 15 кнопок (рис. 2.17).
Рис.2.17. Панель инструментов окна модели
Кнопки имеют следующее назначение:
1 – New model - создание новой модели (открытие нового окна модели);
2 – Open model – загрузка ранее сохраненной модели;
3 – Save - сохранение текущей модели;
4 – Print - печать текущей модели;
5 – Cut - перенос выделенного объекта в буфер;
6 – Copy - копирование выделенного объекта в буфер;
7 – Paste - вставка объекта из буфера;
8 – Undo - отмена последней операции;
9 – Redo - восстановление последней отмененной операции;
10 – Library Browser - открытие браузера библиотек;
11 – Toggle model browser - открытие браузера модели (показывает наличие и состав подмоделей) в левой части окна модели;
12 – Go to parent system - переход в основную (родительскую систему), активно в случае работы в окне подмодели;
13 – Debug - переход в режим отладки модели;
14 – Start Simulation - запуск моделирования;
15 – Stop Simulation - остановка моделирования.
2.3.3. Командное меню
Несмотря на наличие панели инструментов, важная роль принадлежит командному меню окна модели Simulink. Оно дает более полный набор средств по управлению процессом моделирования. Меню (рис.2.18) содержит следующие пункты и подпункты (приведены лишь нужные для работы, с учетом целей данного учебного пособия):
Рис.2.18. Командное меню окна модели
1) File - операции с файлами S-моделей:
· New, Open и Close – стандартные операции создания, открытия и закрытия файла (окна) модели. Следует отдельно отметить возможность создания не только модели, но и раздела библиотеки, в который можно поместить как новые, так и уже существующие блоки (Ctrl+N, Ctrl+O и Ctrl+W соответственно);
· Save – сохранить модель (при первом сохранении запрашивается имя и место сохранения) (Ctrl+S);
· Save as… – сохранить модель под определенным именем и в определенном месте (можно использовать для полного копирования модели заданием другого имени для сохранения);
· Print… – распечатать содержимое окна модели (структурную схему модели) (Ctrl+P);
· Print setup… – установки для печати;
· Exit MATLAB – выход из MATLAB, закрывает все открытые окна моделей и приложений системы, а также сам MATLAB (Ctrl+Q).
2) Edit - операции редактирования текущей модели:
· Can’t undo – отменить операцию отмены последнего действия (вместо слова ‘undo’ будет наименование последней операции) (Ctrl+Z);
· Can’t redo – операция, обратная предыдущей (Ctrl+Y);
· Cut, Copy и Paste – стандартные операции редактирования – вырезать в буфер, скопировать в буфер и вставить из буфера (работают с выделенными объектами в окне моделирования) (Ctrl+X, Ctrl+C и Ctrl+V соответственно);
· Clear – очистить (стереть) выделенный объект (Delete);
· Select All – выделить все объекты в окне (удобно для копирования или очистки окна модели или подмодели) (Ctrl+A);
· Copy model to clipboard - поместить модель в буфер обмена ОС Windows (удобно в случае, когда необходимо поместить модель в какой-либо электронный документ);
· Create subsystem – создать из выделенных в окне модели блоков подсистему (Ctrl+G).
3) View - управление видом окна модели:
· Go to parent - переход в предыдущую модель/подмодель;
· Toolbar – показать/убрать панель инструментов;
· Status bar – показать/убрать строку состояния;
· Show Library Browser – показать браузер библиотек;
· Zoom In/Out - увеличение/уменьшение размера блоков в окне модели (изменение масштаба изображения блоков);
· Fit system to view – выбрать оптимальный масштаб изображения;
· Normal (100%) – вернуть “нормальный” (заданный по умолчанию) масштаб изображения.
4) Simulation - операции запуска моделирования и его настройки:
· Start – запуск процесса моделирования (Ctrl+T);
· Stop – остановка процесса моделирования;
· Simulation parameters – параметры процесса моделирования (Ctrl+E).
5) Format - операции форматирования текущей модели (работают с выделенными блоками и надписями):
· Font… – выбор шрифта текста;
· Text alignment – операции выравнивания текста в текстовом окне;
· Flip name – поместить название блока над ним или под ним;
· Hide name – скрыть название блока;
· Flip block – изменить направление блока (вход-выход) (Ctrl+I);
· Rotate block – повернуть блок на 90 градусов по часовой стрелке (Ctrl+R);
· Show/Hide drop shadow – показать/скрыть отбрасываемую блоком тень;
· Show/Hide port labels – показать/скрыть метки портов для подсистем;
· Foreground color – выбрать цвет рамки, опоясывающей блок;
· Background color – выбрать цвет поля блока;
· Screen color – выбрать цвет заднего фона окна модели;
6) Tools - доступ к инструментальным средствам (зависит от комплекта установки системы):
· Linear analysis… – пакет дополнения “линейный анализ”.
7) Help - доступ к средствам справочной системы.
2.3.4. Размещение блоков в окне модели
Размещение блоков в окне модели производится следующим образом: в разделе библиотеки выбирается блок, который мы хотим поместить в окно создаваемой нами модели (выбор блока осуществляется одиночным нажатием на него левой кнопкой мыши). Затем, удерживая левую кнопку мыши, перетаскиваем блок в окно модели и отпускаем. В окне модели должна появиться пиктограмма этого блока. Либо нажав правую клавишу мыши на нужном нам блоке в библиотеке, выбираем в контекстном меню команду Add to ‘имя модели’.
2.3.5. Выделение блока или группы блоков в окне модели
Для выделения блока достаточно навести на него стрелку мыши и нажать левую кнопку. В рамке блока по углам появятся маленькие темные прямоугольники, которые и являются признаком того, что блок выделен.
Для выделения группы блоков нужно установить курсор мыши рядом с выделяемыми блоками и зажать левую кнопку мыши. Теперь при перемещении мыши появится расширяющаяся прямоугольная рамка из тонких пунктирных линий. Как только в ней окажется какой-либо блок, он будет выделен. Таким образом, все попавшие в рамку блоки окажутся выделенными.
Для выделения всех блоков модели можно воспользоваться командой Edit > Select All.
Выделенный блок или набор блоков можно перетаскивать мышью, удерживая ее левую кнопку. Отпустив левую кнопку мыши, можно увидеть блоки на новом месте.
2.3.6. Сохранение модели
Можно сохранить созданную модель для последующего применения, показа или модернизации. Для этого используется команда Save или Save As… меню File окна редактора моделей. Модель записывается в виде файла с расширением .mdl.
2.3.7. Установка параметров блоков, входящих в модель
Для того чтобы вызвать окно модификации параметров блока, нужно навести курсор мыши на изображение компонента и дважды щелкнуть левой кнопкой мыши либо, нажав правую кнопку мыши, выбрать в контекстном меню команду Block parameters.
2.3.8. Установка параметров моделирования
Прежде чем запустить модель, стоит ознакомиться с установкой общих параметров моделирования. Для этого необходимо выполнить команду Simulation Parameters... в меню Simulation окна Simulink. Появится окно установки параметров моделирования (рис.2.19).
Рис.2.19. Окно задания параметров моделирования
Это окно имеет ряд вкладок с довольно большим числом параметров. Но с учетом задач данного учебного пособия необходимо знание только одной вкладки, которая открывается по умолчанию Solver (решатель). Эта вкладка позволяет установить параметры решающего устройства системы моделирования Simulink.
К числу важнейших параметров решателя относится время моделирования - Simulation time. Оно задается начальным временем Start time (обычно 0) и конечным временем Stop time. Равенство Stop time бесконечности (inf) означает, что моделирование будет происходить бесконечно долго, пока мы не прервем его с помощью кнопки окна модели или команды Stop из командного меню. Однако в этом случае трудно получить различимые осциллограммы работы устройства, поэтому рекомендуется задавать конечные значения Stop time.
Далее следуют опции решателя (Solver options), задающие:
· Type – тип решателя и метод моделирования.
Тип решателя может быть: Variable step – с переменным шагом по времени и Fixed step – с постоянным шагом по времени (для дискретных систем).
Справа от типа решателя выбирается метод моделирования, возможен выбор следующих методов: discrete – дискретный, ode45 и ode5 – метод Дорманда-Принса, ode23 – три варианта, включая метод Розенброка и ode113 – метод Адамса, ode4 – метод Рунге-Кутта и др.
Следующая группа параметров изменяется от выбора типа решателя и для переменного шага моделирования содержит:
· Max step size – максимальное значение шага моделирования;
· Min step size – минимальное значение шага моделирования;
· Initial step size – начальный шаг моделирования.
Для трех вышеописанных параметров по умолчанию устанавливается значение Auto (выбрать автоматически), но это значение можно изменять и устанавливать требуемое для данной задачи.
· Relative tolerance – относительная погрешность моделирования;
· Absolute tolerance – абсолютная погрешность моделирования.
Для постоянного шага моделирования:
· Fixed step size – значение фиксированного шага моделирования (при значении auto устанавливается шаг, заданный источником сигнала, и если источников несколько – устанавливается наименьший шаг моделирования);
· Mode – режим работы (auto – выбрать автоматически; Single tasking – однозадачный режим; Multi tasking – многозадачный режим).
При моделировании сложных систем необходимо правильно устанавливать значение всех вышеописанных параметров, но при моделировании линейных САУ непрерывного действия (не дискретных) важно только установить конечное время моделирования, остальные параметры можно оставить установленными автоматически. Вышесказанное справедливо и для моделирования дискретных систем, необходимо лишь выбрать тип решателя – с постоянным шагом моделирования и указать шаг (при необходимости).
2.3.9. Добавление надписей и текстовых комментариев
В программировании существует мнение, что хороший программист – тот, кто пишет необходимое количество комментариев к своей программе, что позволяет впоследствии без труда разобраться, что и как работает. Это справедливо и для моделей, созданных в пакете Simulink. Модели, не содержащие текстовых комментариев, не наглядны и трудно воспринимаются другими людьми. Но и перенасыщение комментариями модели нежелательно.
Для создания текстовой надписи в поле модели достаточно указать мышью место надписи, дважды щелкнув левой кнопкой мыши. При этом появится блок надписи с курсором ввода, куда собственно и вводится текст комментария.
Для изменения подписи к блокам моделей необходимо установить мышь в область надписи и щелкнуть левой кнопкой мыши - в подписи появится курсор ввода и ее можно будет редактировать.
Чтобы убрать надпись, нужно выделить ее (кстати, как и любой другой объект) и выполнить команду Edit > Clear или нажать клавишу Delete на клавиатуре.
В связи с тем, что система MATLAB является англоязычной (это относится и к пакету Simulink), она плохо воспринимает русский язык. Поэтому при наличии большого числа комментариев на русском языке возможны сбои в работе системы.
2.3.10. Соединение блоков между собой
Соединение блоков между собой производится с помощью мыши. Блоки моделей имеют входы и (или) выходы. Как правило, выход какого-либо блока подключается к входу следующего блока и т. д. Для этого курсор мыши устанавливается на выходе блока, от которого должно исходить соединение. При этом курсор превращается в большой крестик из тонких линий. Держа нажатой левую кнопку мыши, надо плавно переместить курсор к входу следующего блока, где курсор мыши приобретет вид крестика из тонких сдвоенных линий.
Добившись протяжки линии к входу следующего блока, при этом курсор превратится в двойной крестик, надо отпустить левую кнопку мыши. Соединение будет завершено, и в конце его появится жирная стрелка. Щелчком мыши можно выделить соединение, признаком чего будут черные прямоугольники, расположенные в узловых точках соединительной линии.
Иногда бывает нужно сделать петлю соединительной линии в ту или иную сторону. Для этого нужно захватить нужную часть линии и отвести ее в нужную сторону, перемещая мышь с нажатой левой кнопкой. Создание петли линии заканчивается отпусканием левой кнопки мыши.
Особо стоит отметить возможность задания наклонных линий соединений при нажатой клавише Shift.
2.3.11. Создание отвода линий
Часто возникает необходимость сделать отвод от уже созданной линии. Для этого нужно подвести стрелку мыши к линии, от которой необходимо сделать отвод и нажать правую кнопку мыши. Удерживая правую кнопку мыши, надо плавно переместить курсор к входу следующего блока. Добившись протяжки линии к входу следующего блока, надо отпустить кнопку мыши. Соединение будет завершено, и в конце его появится жирная стрелка.
При нажатой клавише Shift отвод строится наклонными линиями.
2.3.12. Удаление соединений
Для удаления соединительной линии достаточно выделить ее щелчком мыши и выполнить команду Clear или Cut (или нажать клавишу Delete на клавиатуре).
2.3.13. Изменение размеров блоков
Simulink имеет расширенные возможности редактирования блок-схем. Так, блоки в окне редактирования можно не только перемещать с помощью мыши, но и изменять в размерах. Для этого блок выделяется, после чего курсор мыши надо установить на квадратики по углам блока. Как только курсор мыши превратится в двунаправленную диагональную стрелку, можно будет при нажатой левой кнопке растягивать блоки по диагонали, увеличивая или уменьшая их размеры.
Растягивается только графическое изображение (пиктограмма) блока, а размеры его названия в виде текстовой надписи не изменяются.
2.3.14. Перемещение блоков и вставка блоков в соединение
Блок, участвующий в соединении, можно перемещать в окне модели, выделив его и перетаскивая, как обычно, мышью. При этом соединение не прерывается, а просто сокращается или увеличивается в длине. Перемещать блоки можно также, выделив их и нажимая клавиши со стрелками на клавиатуре.
В длинное соединение можно вставить новый блок, не разрушая его и не выполняя сложных манипуляций. Нужно лишь совместить вход и выход нового блока с линиями соединения (справедливо для блоков с одним входом и одним выходом, для остальных блоков данный способ не работает).
2.3.15. Печать текущей модели
Команда File > Print... выводит окно печати модели. Это окно содержит все необходимые настройки для печати текущей модели. Прежде всего, это выбор типа принтера для печати, область печати и выбор опций печати. Выбор принтера возможен, если в системе Windows установлен ряд драйверов принтера. Опции печати задают объем печати, число копий, схему печати (определяющую глубину распечатки данных о блоках), печать фрейма модели и др. Особое внимание стоит обратить на выбор схемы печати и на возможность печати модели с разным уровнем вложения подмоделей (подсистем).
Команда Print Setup... в меню File окна Simulink открывает окно настройки принтера. Это окно операционной системы Windows, поэтому если она русифицирована, то не стоит удивляться появлению в окне русскоязычных надписей. Параметры этого окна очевидны. Кнопка «Свойства» открывает окно свойств выбранного принтера.
2.3.16. Вставка модели в текстовые редакторы
Для вставки модели в различные текстовые или графические редакторы необходимо выполнить команду Edit > Copy model to clipboard – модель скопируется в виде картинки в буфер обмена ОС Windows и может быть вставлена в любой текстовый или графический редактор путем нажатия клавиш Shift+Insert в открытом файле текстового редактора.
2.3.17. Создание простейшей модели
Любая модель, создаваемая в пакете Simulink, должна состоять из трех основных частей:
1) источник сигнала;
2) модель, состоящая из совокупности различных блоков;
3) приемник сигнала.
Для примера составим простейшую модель, состоящую из источника единичного ступенчатого воздействия (блок Constant из раздела Sources) и виртуального осциллографа (блок Scope из раздела Sinks). Модель будет представлена проводником, который является идеальным усилительным звеном с коэффициентом усиления, равным 1.
Для создания модели и ее моделирования необходимо выполнить следующие действия:
1) создать новое окно модели;
2) поместить в это окно блок Constant из раздела Sources (рис.2.20);
3) поместить в окно модели блок Scope из раздела Sinks и расположить его справа от блока источника сигнала Constant (рис.2.21);
4) соединить блоки Constant и Scope между собой (рис.2.22);
5) установить необходимые параметры моделирования (Simulation parameters) Stop time = 2 с (остальные параметры оставляем без изменения);
6) запустить процесс моделирования;
7) посмотреть результаты моделирования, дважды щелкнув левой кнопкой мыши на блоке Scope (рис.2.23);
8) при необходимости сохранить модель.
Рис.2.20. Источник сигнала, помещенный в окно модели
Рис.2.21. Источник сигнала и приемник сигнала, помещенные в окно
модели
Рис.2.22. Простейшая модель, готовая к процессу моделирования
Рис.2.23. Результаты моделирования
В окне виртуального осциллографа (см. рис. 2.23) можно выделить две области: панель инструментов (сверху) и окно осциллографа (снизу), на котором представлены результаты моделирования.
Панель инструментов состоит из следующих кнопок (слева направо):
1 − Zoom – изменение масштаба графика переходного процесса по осям X-Y, с сохранением пропорций;
2 − Zoom X-axis – изменение масштаба графика переходного процесса по оси X;
3 − Zoom Y-axis – изменение масштаба графика переходного процесса по оси Y;
4 − Autoscale – автоматический подбор масштаба;
5 − Save current axes settings – сохранить текущие настройки блока;
6 − Properties – свойства блока;
7 − Print – печать графика переходного процесса.
Окно свойств блока Scope (рис.2.24) содержит две вкладки: General – основные свойства и Data history – сохранение данных.
В первой вкладке находятся настройки:
1) Axes – осей:
· Number of axes – количество осей, при изменении этого параметра изменяется количество одновременно отображаемых графиков (на разных экранах, друг под другом) и соответственно количество входов;
· Time range – пределы временного интервала;
· Tick labels – настройка подписей по осям: bottom axis only – только под нижним графиком, all – под всеми графиками и none – не подписывать;
2) Sampling – установка временных соотношений:
· Decimation – в десятичных долях времени, по умолчанию 1;
· Sample time – в тактах эталонного времени (сэмплах), по умолчанию 0 – непрерывное время.
Рис.2.24. Окно свойств блока Scope, вкладка
General
Во второй вкладке располагаются настройки хранения данных (рис.2.25):
· Limit data point to last – включение/выключение предела и количества точек на графике (если моделируемая система работает достаточно долго и пропадает часть графика, то рекомендуется перед началом процесса моделирования убрать флажок с данной опции);
· Save data to workspace – сохранять результаты в рабочую область под именем, задаваемым в окне Variable name, и типы данных, задаваемых в окне Format (Structure with time – структура с временем, Structure – структура и Array – массив).
Рис.2.25. Окно свойств блока Scope, вкладка
Data history
Представленный на рис.2.23 результат моделирования − график переходного процесса идеального усилительного звена с коэффициентом усиления, равным 1 (проводник между блоками, источником и приемником сигнала) и не искажающим входное воздействие в виде единичного ступенчатого сигнала.
Вместо блока Constant для получения единичного ступенчатого воздействия возможно применение блока Step, но в последнем блоке необходимо изменить значение Step time с 1 на 0.