Шаги расчета в подсистемах

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

Похожие темы