Различные сигналы вызова функции на различном выходном порте подсистемы

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

ПРИМЕЧАНИЕ: Различный блок Subsystem больше чем с одним вариантом не поддерживает сигналы вызова функции на своих выходных портах, когда различное время активации установлено в startup.

Исследуйте модель

Откройте модель slexVariantSubsystemFunctionCall.

open_system('slexVariantSubsystemFunctionCall.slx');

Модель содержит Различный блок Subsystem с двумя блоками Графика, Chart1 и Chart2, как варианты. Различная контрольная переменная A задан в PostLoadFcn в Файле> ModelProperties> Коллбэки. Различные условия на Chart1 и Chart2 A==1 и A==2, соответственно. Блок Pulse Generator соединяется с Различным блоком Subsystem и всем его выбором. Chart1 и Chart2 сконфигурированы с именами порта, которые совпадают с соответствующими именами порта Различного блока Subsystem.

open_system('slexVariantSubsystemFunctionCall/Variant Subsystem');

Параметр вызова Выходной функции во вкладке Signal Attributes диалогового окна Block Parameters activate() блок выходного порта выбран. Это позволяет блоку выходного порта Различной Подсистемы испускать сигналы вызова функции. Чтобы включить эту опцию программно, используйте эту команду:

set_param ('slexVariantSubsystemFunctionCall/Variant Подсистема/активировать ()', 'OutputFunctionCall', 'on');

Симулируйте модель

Чтобы симулировать модель, на вкладке Simulation, нажимают Run. Различное распространение условия определяет активные и неактивные варианты.

  • Когда A==1, Chart1 активно.

  • Когда A==2, Chart2 активно.

Выходной порт activate() получает сигнал вызова функции от выбора Chart1 и Chart2. Когда блок Function-Call Subsystem инициирован, существует синусоида выход в Out2.

sim('slexVariantSubsystemFunctionCall.slx');

Больше о