Иерархия модели
Несколько блоков можно объединить в подсистему. Это нужно в тех случаях, когда количество блоков в модели настолько большое, что работать с ними становится неудобно.
Создание подсистемы
Существует несколько способов объединения блоков в подсистему:
-
Добавить блок Subsystem из библиотеки блоков, дважды кликнуть по нему левой клавишей мыши (так вы войдете в подсистему) и добавить нужные блоки стандартным способом.
-
Выделить блоки, которые вы хотите добавить в подсистему, с нажатой клавишей Shift, кликнуть на появившиеся точки в углу прямоугольника и нажать на иконку Подсистема.
Внутри одной подсистемы можно создать неограниченное количество других подсистем, находящихся на разных уровнях вложенности. В результате у модели появляется иерархия. Для навигации по разным уровням модели используйте Панель навигации.
Применение блока Model
Для работы с иерархиями модели, помимо подсистем, вы можете использовать блок Model.
В отличие от подсистемы, содержимое блока Model представляет собой отдельную модель и может использоваться повторно в других моделях (несколько моделей могут сослаться на блок Model).
Следовательно, вы можете включить одну модель в другую с помощью блока Model. Каждый блок Model — это ссылка на ту или иную модель (подмодель). Рассмотрим пример:
Для создания подмодели используем блоки Inport, Gain, Integrator и Outport. Параметры блоков остаются по умолчанию.
В дальнейшем мы планируем подать на оба входных порта один сигнал, поэтому используем функцию Дублировать для блоков Inport:
Вид модели после преобразования входных портов
Итоговая подмодель выглядит следующим образом:
Сохраним подмодель и зададим имя, в нашем случае — newmodel_12. В дальнейшем будем ссылаться на это имя в родительской модели Model.
Далее создадим модель, из которой сошлемся на подмодель. Используем блоки Sine Wave, Model и Terminator.
Для блока Sine Wave зададим значение Sample time
значение 0.1
. Блок видоизменится. После нажмите по блоку Model правой кнопкой мыши и выберите Параметры. Это откроет окно настроек, внутри которого мы сошлемся на созданную ранее подмодель newmodel_12:
Блок Model видоизменится, появятся входные и выходные порты, к которым присоединим сигнальные линии. Для сигналов с выходных портов поставим запись:
Запустим симуляцию модели и посмотрим график. Решатель оставляем по умолчанию (Euler). График симуляции синусоидального сигнала отобразится в окне графиков :
|