A триггируемой подсистемы является условно выполненной атомарной подсистемой, которая запускает каждый раз сигнал управления (триггерный сигнал):
Либо повышается с отрицательного значения до положительного, либо равного нулю, либо повышается с нулевого значения до положительного.
Либо падает с положительного значения на отрицательное, либо равняется нулю, либо падает с нулевого значения на отрицательное.
Поднимается или падает до нулевого значения.
В отличие от блока Enabled Subsystem, блок Triggered Subsystem всегда удерживает свои выходы при последнем значении между триггерами. Кроме того, триггируемые подсистемы не могут сбрасывать состояния блока при выполнении; состояния любого дискретного блока удерживаются между триггерами.
Чтобы создать триггируемую подсистему:
Добавьте блок Triggered Subsystem к модели.
Скопируйте блок из Simulink® Ports & Библиотека подсистем к вашей модели.
Нажмите на диаграмму модели, начните набирать trigger
, а затем выберите Triggered Subsystem.
Установите начальные и отключенные значения для блоков Outport. См. «Исходные выходные значения условной подсистемы» и «Выходные значения условной подсистемы при отключении».
Установите, как управляющий сигнал запускает выполнение.
Откройте блок подсистемы, а затем откройте диалоговое окно параметра для блока Trigger порта. В раскрывающемся списке Trigger type выберите:
rising
- Триггерное выполнение подсистемы, когда сигнал управления повышается с отрицательного или нулевого значения до положительного.
falling
- Триггерное выполнение подсистемы, когда сигнал управления падает с положительного или нулевого значения до отрицательного.
either
- Триггерное выполнение подсистемы с восходящим или падающим управляющим сигналом.
На блоках Trigger и Subsystem появляются различные символы, указывающие на подъем и падение триггеров.
Вывод управляющего сигнала включения от блока Trigger port. Откройте блок Trigger порта. Установите флажок Show output port, чтобы передать сигнал управления в триггируемую подсистему.
Можно использовать этот сигнал с алгоритмом, который зависит от значения сигнала управления.
В раскрывающемся списке Output data type выберите auto
, int8
, или double
.
The auto
опция заставляет тип данных выходного сигнала быть типом данных (либо int8
или double
) блочного порта, подключенного к сигналу.
Для системы дискретного времени сигнал управления триггером должен оставаться на нуле в течение более одного временного шага. Эта стратегия запуска устраняет ложные триггеры, вызванные дискретизацией управляющего сигнала.
В следующей временной схеме для дискретной системы усиление триггерного сигнала (R) не происходит во временной шаг 3. Триггерный сигнал остается на нуле только в течение одного временного шага, прежде чем сигнал увеличивается с нуля.
Можно поместить блок Trigger порта в блок Model (модель-ссылку), чтобы упростить проект модели вместо использования одного из следующих блоков:
Блок Triggered Subsystem в блоке Model.
Блок Model в блоке Triggered Subsystem.
Для получения информации об использовании блоков Trigger портов в ссылочных моделях смотрите Изменение моделей-ссылок для Условного выполнения.
Для преобразования подсистемы в использование ссылок на модель смотрите Преобразование подсистем в модели-ссылки.
Все блоки в триггируемой подсистеме должны Sample time унаследованы (-1
) или константа (inf
). Это требование позволяет блокам в триггируемой подсистеме запускаться только при запуске самой срабатывающей подсистемы. Это требование также означает, что триггируемая подсистема не может содержать непрерывные блоки, такие как блок Integrator.