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

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

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

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

open_system('slexVariantSubsystemFunctionCall.slx')

Chart1 и Chart2 сконфигурированы с именами порта, которые совпадают с соответствующими именами порта Различного блока Subsystem.

open_system('slexVariantSubsystemFunctionCall/Variant Subsystem')

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

1 включают Output function call опция на диалоговом окне Block Parameters выходного порта, которому передается вызов функции. Чтобы включить эту опцию программно, используйте эту команду:

set_param(variantsubsytem_outport_path,'OutputFunctionCall','On')

2 Симулируют модель путем выполнения распространения условия варианта Simulation> Update Diagram.The, определяет активные и неактивные варианты.

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

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

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

sim('slexVariantSubsystemFunctionCall.slx')
load_system('slexVariantSubsystemFunctionCall/Variant Subsystem')