Использование триггируемых подсистем

A триггируемой подсистемы является условно выполненной атомарной подсистемой, которая запускает каждый раз сигнал управления (триггерный сигнал):

  • Либо повышается с отрицательного значения до положительного, либо равного нулю, либо повышается с нулевого значения до положительного.

  • Либо падает с положительного значения на отрицательное, либо равняется нулю, либо падает с нулевого значения на отрицательное.

  • Поднимается или падает до нулевого значения.

В отличие от блока Enabled Subsystem, блок Triggered Subsystem всегда удерживает свои выходы при последнем значении между триггерами. Кроме того, триггируемые подсистемы не могут сбрасывать состояния блока при выполнении; состояния любого дискретного блока удерживаются между триггерами.

Создайте триггируемую подсистему

Чтобы создать триггируемую подсистему:

  1. Добавьте блок Triggered Subsystem к модели.

    • Скопируйте блок из Simulink® Ports & Библиотека подсистем к вашей модели.

    • Нажмите на диаграмму модели, начните набирать trigger, а затем выберите Triggered Subsystem.

  2. Установите начальные и отключенные значения для блоков Outport. См. «Исходные выходные значения условной подсистемы» и «Выходные значения условной подсистемы при отключении».

  3. Установите, как управляющий сигнал запускает выполнение.

    Откройте блок подсистемы, а затем откройте диалоговое окно параметра для блока Trigger порта. В раскрывающемся списке Trigger type выберите:

    • rising - Триггерное выполнение подсистемы, когда сигнал управления повышается с отрицательного или нулевого значения до положительного.

    • falling - Триггерное выполнение подсистемы, когда сигнал управления падает с положительного или нулевого значения до отрицательного.

    • either - Триггерное выполнение подсистемы с восходящим или падающим управляющим сигналом.

    На блоках Trigger и Subsystem появляются различные символы, указывающие на подъем и падение триггеров.

  4. Вывод управляющего сигнала включения от блока Trigger port. Откройте блок Trigger порта. Установите флажок Show output port, чтобы передать сигнал управления в триггируемую подсистему.

    Можно использовать этот сигнал с алгоритмом, который зависит от значения сигнала управления.

  5. В раскрывающемся списке 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.

Примеры моделей

См. также

Блоки

Похожие примеры

Подробнее о