При выборе Variable-step данная строка получает имя Мах step size (Максимальная величина шага) и, соответственно, содержит предельное допустимое значение шага моделирования.
По умолчанию величина шага моделирования для обоих способов изменения модельного времени устанавливается системой автоматически (auto) в соответствии с параметрами настройки блоков модели; требуемая величина шага может быть введена вместо значения auto либо в форме числовой константы, либо в виде вычисляемого выражения.
При моделировании непрерывных систем с использованием переменного шага (Variable step) необходимо указать точность вычислений: относительную
(Relative tolerance) и абсолютную (Absolute tolerance). По умолчанию они равны соответственно 1-10-3 и 1-10-6. Кроме того, для указанного класса систем можно задать начальное значение шага моделирования (в поле Initial step size).
При моделировании с переменным шагом можно задавать опции вывода (Options output) выходных параметров моделируемой системы; соответствующие настройки выполняются с помощью двух элементов интерфейса: выпадающего меню и строки редактирования.
Меню, расположенное слева, содержит три пункта, особенности использования которых поясняются ниже.
Refine output (Улучшенный вывод)
при выборе этой опции можно изменять дискретность регистрации модельного времени и параметров модели (тех величин, которые сохраняются в рабочей области MATLAB с помощью блока То Workspace). Установка дискретности выполняется в строке редактирования Refine/actor, расположенной справа; по умолчанию значение Refine factor равно 1; это означает, что регистрация производится с шагом
tM = 1 (то есть для каждого очередного значения модельного времени: 0, 1, 2,
3 и т. д.); это наибольший возможный шаг регистрации. Значение Refine factor можно интерпретировать как относительную частоту регистрации: если, например Refine factor равен 2, это означает, что tM = l/2, если Refine factor
равен 3, то tM = l/3 и т. д.; параметр Refine factor может быть только целым положительным числом.
Второй пункт меню Produce additional output (создать дополнительный вывод)
обеспечивает дополнительную регистрацию параметров модели в заданные моменты времени; их значения вводятся в строке редактирования (в этом случае она называется Output times) в виде списка, заключенного в квадратные скобки; при использовании дополнительных моментов регистрации базовый шаг регистрации ( tM ) равен 1. Значения времени в списке Output
times могут быть дробными числами и иметь любую точность.
Третий пункт меню Produce specified output only (формировать только заданный вывод) устанавливает вывод параметров модели только в заданные моменты времени, которые указываются в списке Output times.
Вкладка Workspace I/O содержит элементы управления вводом и выводом модельной информации в рабочую область MATLAB.
Элементы управления вводом/выводом разбиты на 4 поля:
Load from workspace (Загрузить из рабочей области);
Save to workspace (Записать в рабочую область);
States (Состояние);
Save options (Опции записи).
Первое поле содержит флажок Input и строку ввода; при поставленном флажке можно ввести список параметров модели, которые будут считываться из рабочей области MATLAB; к списку предъявляются те же требования, что и при использовании блока From Workspace.
Поле Save to workspace содержит три флажка и связанные с ними строки ввода:
Time
позволяет указать имя вектора, в котором будут сохраняться регистрируемые моменты модельного времени (по умолчанию вектор имеет имя tout);
States при установленном флажке в матрице xout сохраняется текущее состояние моделируемой системы. Оно описывается совокупностью значений сигналов на выходах блоков, формирующих (вычисляющих) текущее состояние системы; при моделировании дискретных систем такими блоками являются, в частности, все блоки раздела Discrete. SIMULINR автоматически определяет число указанных блоков в модели и на основании этого формирует матрицу xout. Число столбцов в матрице равно числу регистрируемых параметров текущего состояния системы, а число строк
числу актов регистрации; при желании разработчик может изменить имя матрицы;
Output
флажок записи в рабочую область
определяет возможность регистрации дополнительных параметров модели в ходе моделирования; если флажок установлен, то в соответствующей строке ввода необходимо указать имя регистрируемого параметра; в модели должен присутствовать блок То Workspace, обеспечивающий запись значений данного параметра в рабочую область MATLAB.
Поле States содержит два флажка, совмещенных со строками ввода:
Load initial (загрузить начальное значение) при установленном флажке имеется возможность задать начальное значение параметров, характеризующих состояние моделируемой системы; указанные параметры считываются при запуске модели из вектора-строки xInitial. Число элементов этой строки (то есть число параметров состояния) должно быть равно числу столбцов (числу регистрируемых параметров) в матрице xout; значения элементов строки xInitial можно ввести в командном окне MATLAB следующим образом:
xInitial = [1,2, 0.15];
в данном примере предполагается, что состояние системы описывается тремя параметрами, первый из них в момент запуска модели примет значение, равное 1, второй
равное 2, третий
равное 0.15; при необходимости имя xInitial, используемое по умолчанию, может быть изменено;
Save final (Записать конечное состояние) при установленном флажке в рабочей области MATLAB сохраняются только последние значения параметров состояния системы; они записываются в вектор-строку xFinal, которую можно либо вывести в командном окне MATLAB, либо использовать в качестве описания исходного состояния системы для последующих сеансов моделирования; имя xFinal также может быть изменено разработчиком модели;
Поле Save options (опции записи) позволяет задать ограничения на число строк матрицы xout (Limit rows to last), а также дополнительно указать необходимость «прореживания» (Decimation) регистрируемых состояний системы. Имеется в виду следующее. Если значение опции Decimation равно 1, то регистрация производится для всех моментов времени, заданных в поле Output options на вкладке Solver, если Decimation = 2, то регистрируется только каждое второе состояние системы, при Decimation = 3 только каждое третье состояние и т. д.
В связи с этим необходимо подчеркнуть, что параметры, задаваемые в поле Output options на вкладке Solver и параметры, задаваемые в поле Save options на вкладке Workspace I/O, взаимосвязаны. Объем регистрируемой информации определяется выбранным сочетанием значений указанных параметров.
Например, если в поле Output options указано, что состояние системы должно регистрироваться в моменты времени [1,5,9,11, 25], а в поле Save options заданы:
Limit rows to last: 4; Decimation: 2,
то в матрице xout будут записаны состояния системы в моменты времени t = 5 и t = 11.
Вкладка Diagnostics позволяет изменять номенклатуру диагностических сообщений, выводимых SIMULINKOM в командном окне MATLAB.
Указанные действия выполняются с помощью списка событий (Events), требующих реакции SIMULINK, и элементов управления. Переключатели в поле Action (Действие) становятся доступными, если в списке Events выбрано одно из событий. С помощью данных переключателей можно указать один из видов реакции на событие:
None игнорировать;
Warning выдать предупреждение; Error выдать сообщение об ошибке.
В поле Debugging (Отладка) можно дополнительно установить опцию порядок проверки согласованности компонент модели (Consistency checking) и идентификацию пересечения сигналом нулевого уровня (Disable zero crossing detection).
2.3.4.Раздел меню Format
Вданном разделе меню пользователя собраны команды, позволяющие изменить внешнее представление (оформление) блок-диаграммы.
Rotate block
повернуть блок на 90
вокруг своей центральной оси (команда имеет клавиатурное сокращение Ctrl+R);
Flip name изменить положение имени блока (над или под блоком); Hide (Show) name команда, включающая и выключающая отображение
имени блока;
Flip block повернуть блок вокруг вертикальной оси на 180
(команда имеет клавиатурное сокращение Ctrl+F);
Show (Hide) drop shadow показать (скрыть) ―тень‖ от блока;
Hide (Show) port labels скрыть (показать) имена портов ввода/вывода на блоках подсистем;
Sample time colors включение ―подсветки‖ линий связи и блоков, работа которых зависит от величины шага модельного времени (при выполнении данной команды соответствующие линии связи и сами блоки выделяются на блок диаграмме красным цветом);
Port Data Types команда, включающая отображение типа передаваемых данных на выходах блоков;
Foreground Color
выбор цвета контура и символов на иконке выделенного блока (группы блоков);
Background Color
выбор цвета фона иконки выделенного блока (группы блоков);
Screen Color выбор цвета фона блок-диаграммы;
Wide vector lines
линии связи, по которым передаются векторные величины, выводятся более ―жирными‖;
Line Widths
для всех линий связи выводится в цифровой форме ―ширина‖ передаваемого сигнала (то есть число элементов соответствующего вектора), для скалярных сигналов ―ширина‖ равна 1.
На рис. 2.27 показан результат применения двух последних опций.
Рис. 2.27
2.4. Использование подсистем
Для упрощения создания сложных моделей разработчики SIMULINK создали механизм подсистем. Он основан в первую очередь на использовании блока Subsystem, входящего в раздел библиотеки Connections. С его помощью любая сложная система может быть представлена как совокупность взаимодействующих компонентов, внутренняя структура которых при необходимости может быть скрыта.
Основными достоинствами механизма подсистем являются:
1. Повышение наглядности блок-диаграмм моделей сложных систем;
2.Возможность использования механизма синхронизации параллельно функционирующих подсистем;
3.Повышение технологичности разработки и модификации S-моделей;
4.Возможность включения в блок-диаграмму собственной «встроенной» справочной системы, в том числе содержащей демонстрационные средства.
Знакомство с технологией использования подсистем начнем с обсуждения способов их создания. Таких способов два:
с помощью команды Create Subsystem (Создать подсистему),
входящей в раздел Edit меню пользователя;
путем копирования блока Subsystem из раздела библиотеки Connections в окно блок-диаграммы.
Замечание: разумеется, для создания копии или нового варианта существующей подсистемы могут быть использованы стандартные средства копирования, применимые к любому блоку S-модели. Но пока речь идет о создании новой, «пустой» подсистемы.
Команда Create Subsystem применяется к группе блоков или ко всей блок-диаграмме, находящейся в активном окне S-модели. Чтобы команда стала доступна, соответствующие блоки должны быть выделены (если в подсистему «сворачивается» вся блок-диаграмма, то удобнее воспользоваться командой Select all – выделить все). Недостатком команды Create Subsystem, как уже отмечалось, является то, что ее действие нельзя отменить. Это требует определенной осторожности при ее использовании.
Применение данной команды продемонстрируем для блок-диаграммы, изображенной на рис. 2.28.
Выделите на диаграмме 3 блока: сумматор Sum1, передаточную функцию Transfer Fnc1 и интегратор. После этого откройте раздел Edit меню пользователя и выберите команду Create Subsystem. Блок-диаграмма примет вид, показанный на рис. 2.29.
Замечание: для того, чтобы команда Create Subsystem была доступна, блоки должны выделяться единым прямоугольным блоком. При попытке исключить или добавить что-нибудь к выделению команда становится недоступной. Особое внимание при выделении блоков следует обратить на