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

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

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

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

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

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

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

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

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

Сравнение восстановленных подсистем и Enabled подсистем

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

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

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

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

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

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

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

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

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

Блоки

Похожие темы