Использование включенных подсистем

enabled subsystem является условно выполненной подсистемой, которая запускается один раз в каждый основной временной шаг, в то время как сигнал управления имеет положительное значение. Если сигнал переходит нуль во время незначительного временного шага, подсистема не активируется или отключается до следующего основного временного шага.

Сигнал управления может быть либо скаляром, либо вектором.

  • Если скалярное значение больше нуля, подсистема выполняет.

  • Если любое из значений элемента вектора больше нуля, подсистема выполняет.

Создайте активированную подсистему

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

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

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

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

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

  3. Задайте, как обрабатываются состояния подсистемы, когда подсистема включена.

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

    • held - государства сохраняют свои последние значения.

    • reset - Если подсистема отключена по крайней мере на один временной шаг, состояния возвращаются к своим начальным условиям.

      В упрощенном режиме инициализации (по умолчанию) время, прошедшее через подсистему, всегда сбрасывается во время первого выполнения после включения. Этот сброс происходит независимо от того, настроена ли подсистема на сброс при включении. См. «Недоопределенное обнаружение инициализации».

    Для вложенных подсистем, блоки Enable которых имеют различные настройки параметров, настройки дочерней подсистемы переопределяют параметры, унаследованные от родительской подсистемы.

  4. Вывод управляющего сигнала от блока Enable.

    В диалоговом окне параметра для блока Enable установите флажок Show output port.

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

Блоки в включенных подсистемах

Дискретные блоки

Дискретные блоки в включенной подсистеме выполняются только тогда, когда подсистема выполняет, и только тогда, когда их шаги расчета синхронизируются со временем расчета симуляции.

Рассмотрим модель ex_enabled_subsys_1, которая содержит четыре дискретных блока и сигнал управления. Дискретные блоки:

  • Блок A со шаг расчета 0,25 секунд

  • Блок B со шаг расчета 0,5 секунды

Сигнал E является разрешающим управляющим сигналом, генерируемым Pulse Generator со шаг расчета 0,125. Его выход изменяет значение от 0 до 1 на 0,375 секунде и возвращается к 0 на 0,875 секунде.

Дискретные блоки в включенной подсистеме:

  • Блок C, в пределах включенной подсистемы, со шаг расчета 0,125 секунд

  • Блок D, также в пределах включенной подсистемы, со шаг расчета 0,25 секунд

Дискретные блоки выполняются в показанные шаги расчета.

Блоки A и B выполняются независимо от разрешающего управляющего сигнала, потому что они не являются частью включенной подсистемы. Когда сигнал управления разрешением становится положительным, блоки C и D выполняются с их назначенными скоростями дискретизации, пока сигнал управления разрешением не станет снова нулем. Блок C не выполняется на уровне 0,875 секунд, когда разрешающий сигнал управления изменяется на нуль.

Блоки Goto

Включенные подсистемы могут содержать Goto блоков. Однако только выходные порты для блоков с состоянием могут соединяться с блоками Goto. Пример использования блоков Goto в включенной подсистеме см. в Locked подсистема в sldemo_clutch модель.

Альтернативное выполнение включенных Блоков Subsystem

Можно использовать условные подсистемы с Merge блоками, чтобы создать наборы подсистем, которые выполняются попеременно, в зависимости от текущего состояния модели.

Рассмотрим модель, которая использует два блока Enabled Subsystem и блок Merge для моделирования полноволнового выпрямителя (устройство, которое преобразует ток переменного тока в пульсирующий ток постоянного тока). Чтобы открыть модель, смотрите ex_alternately_executing_model.

Откройте pos подсистема. Подсистема активируется, когда форма сигнала переменного тока положительная и передает форму волны без изменений на свой выход.

Откройте neg подсистема. Подсистема активируется, когда форма волны отрицательная и инвертирует форму волны.

Блок Merge передает выход активированной подсистемы вместе с исходной формой волны в блок Scope.

Выполните симуляцию, а затем откройте блок Scope.

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

См. также

Блоки

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

Подробнее о