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