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

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

Похожие темы