exponenta event banner

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

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

Управляющий сигнал может быть скаляром или вектором.

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

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

Создание включенной подсистемы

Для создания включенной подсистемы:

  1. Добавьте в модель блок «Включенная подсистема».

    • Скопируйте блок из библиотеки Simulink ® Ports & Subsystems в модель.

    • Щелкните схему модели, начните ввод enabledи выберите «Включенная подсистема».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Блок A, время выборки 0,25 секунды

  • Блок B, время выборки 0,5 секунды

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

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

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

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

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

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

Перейти к блокам

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

Альтернативное выполнение блоков включенной подсистемы

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

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

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

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

Блок объединения передает выходные данные включенной в данный момент подсистемы вместе с исходной формой сигнала в блок области действия.

Запустите моделирование, а затем откройте блок «Область».

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

См. также

Блоки

Связанные примеры

Подробнее