Подсистемы попадают в две категории: инициированный и неинициированный. Для инициированных подсистем, в целом, подсистема получает свой шаг расчета от сигнала инициирования. Одно исключение происходит, когда вы используете блок Trigger, чтобы создать инициированную подсистему. Если вы устанавливаете блок Trigger type на function-call и Sample time type к periodic, SampleTime
параметр становится активным. В этом случае вы задаете шаг расчета блока Trigger, который в свою очередь, устанавливает шаг расчета подсистемы.
Существует четыре неинициированных подсистемы:
Виртуальный
Enabled
Атомарный
Действие
Simulink® вычисляет шаги расчета виртуальных и активированных подсистем на основе соответствующих шагов расчета их содержимого.
Атомарная подсистема является особым случаем в этом, блок подсистемы имеет SystemSampleTime
параметр. Кроме того, для шага расчета кроме значения по умолчанию –1, блоки в атомарной подсистеме могут иметь только значение Inf
, –1, или идентичное (дискретное) значение подсистемы SampleTime
параметр. Если атомарную подсистему оставляют столь же наследованной, Simulink вычисляет шаг расчета блока таким же образом как виртуальные и активированные подсистемы. Однако основная цель подсистемы SampleTime
параметр должен допускать одновременную спецификацию большого количества блоков в атомарной подсистеме, которые все установлены в наследованный. Чтобы получить набор шага расчета на атомарной подсистеме, используйте эту команду в командной строке:
get_param(AtomicSubsystemBlock,‘SystemSampleTime’);
Наконец, шаг расчета подсистемы действия установлен Если блок или блок Switch Case.
Для неинициированных подсистем, где блоки имеют различные частоты дискретизации, Simulink возвращает Скомпилированный Шаг расчета для подсистемы как массив ячеек всех частот дискретизации, существующих в подсистеме. Чтобы видеть это, используйте get_param
команда в посдказке MATLAB.
get_param(subsystemBlock,'CompiledSampleTime')