10.3.1 Преимущества библиотеки SIMULINK при создании имитационных моделей динамических звеньев
Разработка моделей средствами SIMULINK (S-моделей) основана на технологии drag-and-drop («перетащи и оставь»). В качестве блоков для построения S-моделей используются модули, хранящиеся в библиотеке SIMULINK.
Библиотека SIMULINK хороша тем, что, с одной стороны, обеспечивает пользователю доступ ко всем основным возможностям пакета MATLAB, а с другой – является достаточно самостоятельной его компонентой, в том смысле, что с ней не обязательно иметь навыки в использовании других инструментов, входящих в состав пакета.
Блоки, включаемые в создаваемую модель, могут быть связаны друг с другом, как по информации, так и по управлению. Тип связи зависит от типа блока и логики работы модели. Данные, которыми обмениваются блоки, могут быть скалярными величинами, векторами или матрицами произвольной размерности.
Любая S- модель может иметь иерархическую структуру, т.е. состоять из моделей более низкого уровня, причем число уровней иерархии практически не ограничено. Наряду с другими параметрами моделирования имеется возможность наблюдать за процессами, происходящими в системе. Для этого используются специальные «смотровые окна», входящие в состав библиотеки SIMULINK. Интересующие пользователя характеристики системы могут быть представлены как в числовой, так и в графической форме. Кроме того, существует возможность включения в состав модели средств анимации.
Еще одно важное достоинство библиотеки SIMULINK в том, что она является открытой системой: состав библиотеки может быть пополнен пользователем за счет разработки собственных блоков.
10.3.2 Для создания новой S-модели необходимо:
|
1. Установить и запустить программу MATLAB. После запуска программы MATLAB на экране появляется окно приложения – Matlab Command Window (командное окно MATLAB). Оно представляет собой стандартное основное окно Windows-приложения и содержит все основные компоненты такого окна (рисунок 10.4).
Рисунок 10.4 – Командное окно MATLAB
Строка меню MATLAB содержит следующие меню:
- File (файл) – команды для работы с файлами и настройки системы;
- Edit (правка) – команды редактирования информации, отображенной в рабочем поле окна;
- View (вид) – команды управления форматом окна;
- Window (окно) – список открытых окон приложения;
- Help (справка) – команды вызова средств поддержки пользователя.
Расположенная ниже строки меню панель инструментов обеспечивает быстрый доступ к наиболее часто используемым командам меню (рисунок 10.5).
Рисунок 10.5 – Панель инструментов командного окна MATLAB
2. Запустить библиотеку SIMULINK. Для этого можно воспользоваться тремя способами:
а) щелкнув на соответствующей кнопке панели инструментов командного окна MATLAB;
б) введя команду simulink в активной строке командного окна;
в) выбрав команду New – Model (Создать – Модель) в меню File (Файл);
Использование первого и второго способов приводит к открытию окна просмотра библиотеки SIMULINK, представленного на рисунке 10.6, а при выборе команды New – Model кроме него открывается еще и рабочее окно создания S- модели (Рис. 10.7).
Окно просмотра разделов библиотеки содержит панель инструментов, список разделов, реализованный в виде дерева, и два вспомогательных поля, одно из которых используется для вывода комментария к выбранному в списке элементу, а другое – для представления пиктограммы этого элемента (Рис. 10.6).
|
Кнопки панели инструментов окна просмотра, показанные на рисунке 10.8, имеют следующие назначение:
- Create a new model (создать модель) – создать новую S-модель (точнее, открыть новое окно модели);
- Open Model (открыть модель) – открыть одну из существующих S-моделей;
- Always Top (всегда сверху) – отобразить окно просмотра библиотеки поверх других открытых окон;
- Find Block (найти блок) – поиск блока, название которого указано в расположенном справа от кнопки поле.
Список разделов библиотеки SIMULINK представлен в основном окне просмотра в виде дерева. Для удобства работы пользователя основная библиотека блоков разбита на девять разделов, содержимое которых не может изменяться пользователем. К ним относятся:
1 Continuous (непрерывные системы) – блоки для моделирования непрерывных систем;
2 Discrete (дискретные системы) – блоки для моделирования дискретных систем;
3 Functions & Tables (функции и таблицы);
4 Math (математические блоки);
5 Nonlinear (нелинейные системы) – блоки для моделирования нелинейных систем;
6 Signals & Systems (сигналы и системы) – блоки для создания подсистем и управления сигналами;
7 Sinks (получатели) – блоки - «получатели»;
8 Sources (источники) – блоки - «источники»;
9 Subsystems.
Рисунок 10.6 – Окно просмотра разделов библиотеки SIMULINK
Рисунок 10.7 – Рабочее окно для создания имитационной модели
Рисунок 10.8 – Кнопки панели инструментов окна просмотра библиотеки SIMULINK
Рисунок 10.9 – Элементы окна просмотра разделов SIMULINK
|
3. Используя меню пользователя окна Simulink Library Browser, можно открыть окно новой модели (Рис. 10.10).
Окно новой модели по умолчанию имеет имя untitled (безымянное), которое может быть изменено при записи файла модели на диск.
Строка меню окна модели содержит следующие меню:
- File (файл) – команды работы с mdl-файлами;
- Edit (правка) – команды редактирования имитационной модели и работы с библиотекой;
- View (вид) – команды изменения формата окна и управления выводом дополнительной информации;
- Simulation (моделирование) – команды управления моделированием;
- Format (формат) – команды редактирования формата (т.е. внешнего облика) блоков имитационной модели.
- Tools (инструменты) – команды для работы с приложением Real Time Workshop.
Рисунок 10.10 – Окно новой модели
Рисунок 10.11 – Панель инструментов окна модели
4. Создать новую модель. Для этого открыть требуемый раздел библиотеки, выбрать необходимый блок, нажать левую кнопку «мыши» (ЛКМ) и, не отпуская ее, перетащить выбранный блок в окно модели.
Аналогичным образом перетащить все, необходимые для создания модели блоки. Соединить входы и выходы блоков в соответствии с их назначением и логикой работы модели. Для соединения блоков на их изображениях имеются значки входных и выходных портов, представленные на рисунке 10.12.
Чтобы соединить два блока, нужно установить курсор на выходной порт одного блока (курсор примет форму крестика), нажать ЛКМ и, не отпуская ее, протянуть до входного порта другого блока. Отпустить ЛКМ. При соединении блоков значки портов исчезнут. Чтобы подсоединить связь к уже существующей линии, нужно: установить курсор на линию, нажать правую кнопку «мыши» (ПКМ). Протянуть линию к нужному входному порту, и отпустить ПКМ.
Рисунок 10.12 – Входной и выходной порты блока Integrator
После соединения блоков необходимо установить их параметры. Для этого «двойным щелчком» ЛКМ на изображении блока открыть окно установки параметров блока и установить необходимые параметры.
На рисунке 10.13 приведен пример окна установки параметров блока Random Number. Оно состоит из области описания блока, одной или нескольких строк установки параметров блока и управляющих кнопок: OK (применить установленные параметры и закрыть окно установки), Cancel (отменить), Help (вызвать справку), Apply (применить установленные параметры). Блок имеет четыре параметра настройки. Первые два – Mean и Variance – являются параметрами нормального закона (среднее и среднее квадратичное отклонение от среднего), третий – Initial seed – задает начальное значение базы для инициализации генератора последовательности случайных чисел. При фиксированном значении этого параметра генератор всегда вырабатывает одну и ту же последовательность. Четвертый параметр (Sample time) задает величину дискрета времени.
Рисунок 10.13 – Окно установки параметров блока Random Number
Перед запуском модели на выполнение нужно сохранить файл созданной модели. Для сохранения файла можно воспользоваться панелью инструментов, либо командной сохранения файла из раздела File. В появившемся диалоговом окне ввести имя файла, и файл модели будет сохранен в текущей директории MATLABа (по умолчанию – директория Work).
5. Установить параметры моделирования. Для этого в разделе Simulation Parameters меню пользователя выбрать команду Parameters, которая откроет окно настроек параметров моделирования (Рис. 10.14). Окно имеет несколько вкладок. На вкладке Solver (установка параметров расчета модели) нужно произвести следующие установки:
- Simulation time (интервал моделирования) задается посредством указания начального (Start time) и конечного (Stop time) значений модельного времени;
- Solver options (параметры расчета) – выбор метода расчета модели. С помощью меню Type задается способ изменения модельного времени (Variable-step – моделирование с переменным шагом, Fixed-step – моделирование с постоянным шагом) и метод решения обыкновенных дифференциальных уравнений, которыми описываются блоки модели. Как правило, Variable-step используется для моделирования непрерывных систем, а Fixed-step – дискретных. При моделировании первых возможно задание максимальной величины шага моделирования (Max step size) и начального значения шага моделирования (Initial step size), а также относительной (Relative tolerance) и абсолютной (Absolute tolerance) точности вычислений. При моделировании дискретных систем задается величина фиксированного шага моделирования (Fixed step size).
Рисунок 10.14 – Окно установки параметров моделирования
После установки соответствующих параметров моделирования нужно применить их нажатием кнопки Apply и Ok.
6. Запустить процесс моделирования, воспользовавшись панелью инструментов окна модели или командой Start раздела Simulation.
10.3.3 Рассмотрим пример создания имитационной модели динамического звена второго порядка, у которого связь реакции на выходе с воздействием на входе описывается дифференциальным уравнением второго порядка.
Для создания модели запустим систему MATLAB, «войдем» в библиотеку SIMULINK и откроем окно новой модели. В окне Simulink Library Browser двойным «щелчком» ЛКМ откроем библиотеку Simulink, а в ней раздел – Sources (источники). В этом разделе найдем блок Step и перетащим его в окно новой модели. Аналогично поступим с блоками: Sum (сложение) (раздел Math (математические функции)), Transfer Fcn (передаточная функция) и (раздел Continuous (непрерывные системы)), Scope (индикатор) (раздел Sinks (получатели)). Соединим блоки, как показано на рисунке 10.15.
Рисунок 10.15 – Имитационная модель динамического звена второго порядка
Далее нужно настроить каждый из блоков модели. Для этого необходимо открыть окно настройки параметров каждого из блоков двойным «щелчком» ЛКМ на изображении блока и ввести нужные значения параметров.
Рассмотрим особенности настройки блоков, входящих в нашу модель.
Блок Step обеспечивает формирование единичного управляющего сигнала. Блок имеет четыре параметра настройки:
- Step time (длительность такта) – определяет длительность сигнала, исходное значение параметра равно 1.
- Initial value (начальное значение) – задает значение амплитуды сигнала в начальный момент времени, исходное значение равно 0.
- Final value (конечное значение) – задает значение амплитуды сигнала по истечении шага моделирования, исходное значение параметра равно 1.
- Sample time (эталонное время) – параметр, используемый для согласования по времени данного блока с другими блоками модели, исходное значение параметра равно 0.
Рисунок 10.16 – Окно настройки блока Step
Значения параметров блока оставим без изменений.
Блок Sum выполняет суммирование входных сигналов. Его используют в двух режимах:
1) сложение входных сигналов (в том числе с разными знаками);
2) суммирования элементов вектора, поступающего на вход блока.
Блок имеет один параметр настройки – Listing of sings (список знаков), значения которых могут задаваться одним из трех способов:
- в виде последовательности знаков «+» и «‒»; при этом число знаков определяет число входов, а сам знак – полярность входного сигнала;
- в виде целой положительной константы (больше 1), значение которой равно числу входов блока, а все входы считаются положительными;
- в виде символа «1», который указывает на использование блока во втором режиме.
Установим значение параметра List of sings в виде «списка знаков» «++».
Блок Transfer Fcn служит для определения линейного звена через задание его передаточной функции. Блок имеет три параметра настройки (Рис. 10.17):
- Numerator – числитель передаточной функции;
- Denominator – знаменатель передаточной функции;
- Absolute tolerance – точность вычислений.
Рисунок 10.17 – Окно настройки блока Transfer Fcn
Установим следующие значения параметров блока:
Numerator = [50];
Denominator = [1 1];
Absolute tolerance = auto.
После ввода новых значений соответствующих параметров следует применить их нажатием управляющих кнопок Ok и Apply.
У нас имеется два блока Transfer Fcn. Установим значения параметров для второго блока:
Numerator = [1];
Denominator = [0,05 0];
Absolute tolerance = auto.
Блок Scope позволяет в процессе моделирования наблюдать динамику изменения сигналов в системе. Создаваемое с его помощью «смотровое окно» напоминает экран измерительного прибора. Открыть окно блока можно только после того, как блок помещен в окно модели (дважды «щелкнув» на изображение блока ЛКМ). Размер и пропорции окна можно менять произвольно, используя курсор «мыши». По оси ординат шкалы измерений откладываются значения наблюдаемой величины, по оси абсцисс – значения модельного времени.
Для управления параметрами окна блока в нем имеется панель инструментов (Рис. 10.18).
Рисунок 10.18 – Панель инструментов блока Scope
Окно настройки параметров блока (окно Properties) открывается «щелчком» ЛКМ на управляющей кнопке. Оно содержит две вкладки:
1 General (общие свойства) – параметры управления форматом вывода графиков;
2 Data history (протоколирование данных) – параметры записи в рабочую область MATLAB отображаемых на графиках данных. Поле Number of axes (число графиков) предназначено для ввода числа подокон (графиков), создаваемых в окне Scope. Значения параметров блока оставим без изменений.
Откроем окно настроек параметров моделирования с помощью команды Parameters в разделе Simulation меню пользователя окна модели. Установим следующие значения полей на вкладке Solver:
Start time = 0;
Stop time = 10;
Max step size = auto.
После ввода соответствующих значений применим их нажатием кнопки Apply или Ok.
Модель готова к исследованию.
Сохраним файл созданной модели в текущей директории, для чего воспользуемся командой Save раздела File меню пользователя окна модели, либо управляющей кнопкой панели инструментов окна модели.
Воспользовавшись управляющей кнопкой Start simulation (пуск) панели инструментов окна модели, запустим процесс моделирования. После окончания процесса моделирования окно блока Scope будет иметь вид, представленный на рисунке 10.19.
Если созданную модель предполагается использовать в качестве составной части более сложной модели, то удобнее объединить ее в подсистему (Subsystem). Для этого следует открыть раздел Subsystem, перетащить в окно модели блок Subsystem, открыть его двойным щелчком ЛКМ и перетащить в появившееся окно все блоки, которые предполагается объединить в подсистему (в нашем случае все, кроме блоков Step и Scope). В окне блока Subsystem уже имеется два блока In и Out. Также при необходимости можно добавлять эти блоки из разделов Sources и Sinks соответственно. Блок In подключаем к свободному входу блока Sum, а блок Out – к выходу блока Transfer Fcn, а окно подсистемы закрываем. В окне модели вместо выделенных блоков появится изображение одного блока с названием Subsystem и двумя портами – входным и выходным, к которым следует подключить блоки Step и Scope 1 (Рис. 10.20).
Рисунок 10.19 – Вид окна блока Scope после окончания процесса моделирования
Рисунок 10.20 – Имитационная модель динамического звена второго порядка, объединенного в подсистему