Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Variant Subsystem 出力端子でのバリアント関数呼び出し信号

この例では、Variant Subsystem ブロックの出力端子で関数呼び出し信号をマージする方法を示します。

モデルの確認

モデル slexVariantSubsystemFunctionCall.slx を開きます。モデルには、条件が A==1 および A==2 の選択肢の Variant Subsystem ブロックが含まれます。A は、[ファイル]、[モデル プロパティ]、[コールバック]PostLoadFcn に定義されているバリアント制御変数です。Pulse Generator ブロックは Variant Subsystem ブロックとそのすべての選択肢に接続されます。

open_system('slexVariantSubsystemFunctionCall.slx')

Chart1 および Chart2 は、Variant Subsystem ブロックの対応する端子名と一致する端子名を使用して設定されます。

open_system('slexVariantSubsystemFunctionCall/Variant Subsystem')

モデルのシミュレーション

1 関数呼び出しが渡される出力端子の [ブロック パラメーター] ダイアログ ボックスで [関数呼び出しの出力] オプションを有効にします。このオプションをプログラムにより有効にするには、以下のコマンドを使用します。

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

2 [シミュレーション]、[ブロック線図の更新] を実行してモデルをシミュレーションします。バリアント条件の伝播によって、非アクティブなバリアントの選択が決まります。

  • A==1 の場合は、Chart1 がアクティブです。

  • A==2 の場合は、Chart2 がアクティブです。

出力端子 activate() は、選択肢 Chart1 および Chart2 から関数呼び出し信号を取得します。Function-Call Subsystem ブロックがトリガーされると、Out2 に正弦波出力があります。

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