複数のイニシエーターをもつ Function-Call Subsystem
この例では、Mux ブロックでグループ化された複数の異なる関数呼び出しイニシエーターによって呼び出される Function-Call Subsystem を示します。
モデル例 FunctionCallSubsystemMultipleInitiators
を開きます。
モデルには、関数呼び出し入力端子で Mux 信号を受け取る Function-Call Subsystem f
が含まれています。Mux ブロックは、Stateflow チャート Chart1
および Chart2
からの関数呼び出し信号を Mux 信号にグループ化します。
Chart1
の端子 [out1] と Chart2
の端子 [d1] 間のデータ接続により、Chart1
が Chart2
より前に実行されることが保証されます。
複数の呼び出し元をもつ Function-Call Subsystem を作成する際には、"f()" を呼び出す各チャートの相対実行順序を明確に定義します。たとえば、Chart1
と Chart2
間のデータ接続を削除した場合、優先順位を Chart1
と Chart2
に追加して、これらのチャートの相対実行順序を指定します。
あいまいさがある場合でも、特定のケースでは有効である可能性があるため、エラーは発生しません。たとえば、サブシステム f
からすべてのステートを削除し、Chart1
の [out1] から Chart2
の [d1] へのラインを削除した場合、Chart1
と Chart2
が実行される順序は重要ではなくなります。