Документация Engee

Subsystem

Блок для создания иерархии модели.

subsystem block

Описание

Блок Subsystem содержит подмножество блоков внутри модели или системы. Блок Subsystem может представлять виртуальную подсистему или невиртуальную подсистему.

  • Невиртуальная подсистема — подсистема, содержимое которой интерпретируется как единое целое (атомарное выполнение). Позволяет создавать условно выполняемые подсистемы: то есть такие, которые запускаются только тогда, когда происходит определенное событие.

  • Виртуальная подсистема — подсистема, которая не выполняется ни условно, ни атомарно. При определении порядка выполнения блоки такой подсистемы считаются расположенными на том же уровне, что и сама подсистема. Виртуальная подсистема служит исключительно для повышения читаемости модели и никак не влияет на ее работу.

Для переключения виртуальной системы в невиртуальную установите в true значение параметра Treat as atomic unit.

Чтобы создать подсистему, скопируйте блок Subsystem из библиотеки Ports & Subsystems в модель. Затем добавьте блоки в подсистему, открыв блок Subsystem и скопировав в него блоки.

Количество входных портов, отображаемых на значке блока Subsystem, соответствует количеству блоков входных портов Inport в подсистеме. Аналогично, количество выходных портов, нарисованных на блоке, соответствует количеству блоков Out1 в подсистеме.

Порты

Вход

In — ввод сигнала в подсистему
скаляр | вектор | матрица

Размещение блока Inport в подсистеме добавляет внешний входной порт к блоку Subsystem. Метка порта совпадает с именем блока Inport.

Используйте блоки Inport для получения сигналов из локальной среды.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Выход

Out — выходной сигнал от подсистемы
скаляр | вектор | матрица

Размещение блока Out1 в подсистеме добавляет выходной порт из блока Subsystem. Метка порта совпадает с именем блока out1.

Используйте блоки Out1 для отправки сигналов в локальную среду.

Типы данных: Float64

Параметры

Sample time — интервал между шагами расчета
−1 (по умолчанию)

Интервал между шагами расчета (неотрицательное число). Чтобы наследовать шаг расчета, установите для этого параметра значение −1.

Treat as atomic unit — возможность выполнения подсистемы как единого блока
выключено (по умолчанию) | включено

Заставляет рассматривать подсистему как единое целое при определении порядка выполнения блоков в модели.

  • выключено — все блоки в подсистеме рассматриваются как находящиеся на том же уровне в иерархии модели, что и подсистема, при определении порядка выполнения блоков. Это может привести к чередованию выполнения методов блоков в подсистеме с выполнением методов блоков вне подсистемы.

  • включено — все блоки в подсистеме рассматриваются как единое целое при определении порядка выполнения блоков. Например, когда требуется вычислить выходные данные подсистемы, система вызывает методы вывода всех блоков в подсистеме перед вызовом методов вывода других блоков на том же уровне, что и блок Subsystem.

Дополнительные возможности

Генерация Си кода: Да