В этом примере показано, как Различный Исходный блок позволяет сигналам вызова функции быть объединенными.
Откройте модель slexVariantSourceFunctionCall.slx
. Модель содержит Различный Исходный блок с условиями A==1
и A==2
в его входных портах. A
различная контрольная переменная, заданная в PostLoadFcn
в Файле> ModelProperties> Коллбэки. Различные условия в импорте и выходных портах Различного Исходного блока определяют активацию и деактивацию блоков, соединенных с ним.
Блок Sine Wave соединяется с двумя блоками вызова функции MATLAB®. Названный вход Filter Positive блока вызова функции инициирован, когда блок значения Sine wave положителен. Названный вход Filter Negative блока вызова функции инициирован, когда значение блока Sine Wave 0 или отрицательно. Выходной порт Различного Исходного блока соединяется с подсистемой вызова функций, названной счетчиком. Подсистема инициирована когда A==1
и блок Sine Wave выходные параметры положительные значения, и когда A==2
и блок Sine Wave выходные отрицательные величины.
open_system('slexVariantSourceFunctionCall.slx')
1 включают Output function call
опция на диалоговом окне Variant Source Block Parameters. Чтобы включить эту опцию программно, используйте эту команду:
set_param(slexVariantSourceFunctionCall/Variant Source,'OutputFunctionCall','On')
2 Симулируют модель путем выполнения распространения условия варианта Simulation> Update Diagram.The, определяет активные и неактивные варианты.
Когда A==1
и блок Sine Wave, выход положителен, блок вызова функции, названный входом Filter Positive, активен.
Когда A==2
и блок Sine Wave utput равен 0 или отрицателен, блок вызова функции, названный входом Filter Negative, активен.
В обоих случаях значение количества в подсистеме вызова функции под названием Счетчик постепенно увеличивается. Если A~=1
и A~=2
, затем 'Счетчик' не выполняется, когда блок Sine Wave неактивен.
sim('slexVariantSourceFunctionCall.slx') load_system('slexVariantSourceFunctionCall/Counter')