Используя Enabled подсистемы

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

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

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

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

Создайте Enabled подсистему

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

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

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

    • Кликните по диаграмме модели, начните вводить enabled, и затем выберите Enabled Subsystem.

  2. Установите начальные и отключенные значения для блоков Выходного порта. Смотрите Условные Выходные значения Начальной буквы Подсистемы и Условные Выходные значения Подсистемы, Когда Отключено.

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

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

    • held — Состояния поддерживают свои новые значения.

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

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

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

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

    В диалоговом окне параметра для Разрешать Блока установите флажок Show output port.

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

Блоки в Enabled подсистемах

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

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

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

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

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

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

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

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

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

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

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

Блоки Goto

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

Поочередно выполняющиеся Enabled подсистемы

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

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

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

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

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

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

Образцовые примеры

Смотрите также

Блоки

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

Больше о

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