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