このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
チャートのコンパイル時間の短縮
次の例では、Atomic サブチャートを使用して、Stateflow® チャートで一連の変更をテストする際のコンパイル時間を短縮する方法を説明します。Atomic サブチャートは、MATLAB® 内のスタンドアロンの Stateflow チャートではサポートされません。詳細については、Atomic サブチャート使用した再利用可能なサブコンポーネントの作成を参照してください。
Atomic サブチャートがない元のモデル
次のモデルには Sine Wave (Simulink) ブロックが 2 つあり、一方は周波数が毎秒 1 ラジアンで、もう一方は周波数が毎秒 2 ラジアンです。
チャートの各ステートは飽和論理を使用して、入力正弦波を同じ周波数の出力矩形波に変換します。
この例では Atomic サブチャートが使用されていないため、チャートを変更してシミュレーションを開始するたびに、チャート全体に対する再コンパイルが発生します。
一方で、ステート A
は Atomic サブチャートに変換できます。この Atomic サブチャートを変更すると、チャート全体ではなくそのサブチャートに対してのみ再コンパイルが行われます。その結果、シミュレーションのインクリメンタル ビルドにより、再コンパイルに必要な時間が短縮されます。
Atomic サブチャートを使用するようにモデルを編集
手順 1: ステートの Atomic サブチャートへの変換
ステート A
を右クリックして、[グループとサブチャート]、[Atomic サブチャート] を選択します。ステート A
が Atomic サブチャートに変わり、左上隅に [Atomic] というラベルが表示されます。
手順 2: シミュレーションの開始
シミュレーションの前に、チャート全体に対するコンパイルが発生します。
手順 3: Atomic サブチャートの変更
Atomic サブチャート
A
をダブルクリックします。サブチャートの内容が Stateflow エディターに表示されます。ステート
Pos
で、entry アクションをy1 = 2;
に変更します。ステート
Neg
で、entry アクションをy1 = -2;
に変更します。
手順 4: シミュレーションの再実行
A
の変更後、チャート全体ではなく Atomic サブチャートに対してのみ再コンパイルが行われます。
参考
Sine Wave (Simulink)