Подсистемы попадают в две категории: инициированный и неинициированный. Для инициированных подсистем, в целом, подсистема получает свой шаг расчета от сигнала инициирования. Одно исключение происходит, когда вы используете блок 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')