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

Поведение сбрасываемых подсистем

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

Использование сбрасываемых подсистем по сравнению с другими методами сброса состояний вашего блока или подсистемы имеет следующие преимущества:

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

  • Некоторые блоки, такие как Discrete State-Space блок, имеют состояния, но не имеют портов сброса. Вы не можете сбросить эти блоки по отдельности, и необходимо сбросить подсистему, в которой они находятся. В таких случаях полезно поместить эти блоки в сбрасываемую подсистему.

  • Можно также сбросить блоки в включенных подсистемах, установив параметр States when enabling на порте enable равным reset. Однако для такого поведения необходимо отключить подсистему, а затем снова включить ее на более позднем временном шаге. Чтобы сбросить состояния блока в том же временном шаге, используйте сбросимые подсистемы. Для получения дополнительной информации смотрите Сравнение Сбрасываемых Подсистем и Включенных Подсистем.

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

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

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

Если вы задаете States when enabling для блока Enable равным resetвключенная подсистема сбрасывает состояния всех блоков подсистемы. Однако необходимо отключить подсистему хотя бы на один временной шаг, а затем снова включить ее для сброса состояний.

Напротив, сбрасываемые подсистемы всегда выполняют и сбрасывают состояния своих блоков мгновенно.

Эта модель показывает различие в поведении выполнения этих подсистем. Он содержит включенную подсистему и сбрасываемую подсистему, порты управления которой соединены с импульсным генератором. Сбрасываемая подсистема устанавливается на сброс по возрастающему ребру сигнала управления, и включенная подсистема имеет States when enabling набора параметров reset в порте включения.

Подсистемы содержат одинаковые блоки Discrete-Time Integrator, чей вход является блоком Constant на корневом уровне модели. Рисунок показывает содержимое сбрасываемой подсистемы.

Рисунок показывает выходы симуляции.

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

Заметьте, что активированная подсистема должна быть отключена хотя бы на один временной шаг, прежде чем ее состояния могут быть сброшены. Сбрасываемая подсистема не имеет этого ограничения.

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

См. также

Блоки

Похожие темы