Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

アクティブ ステート出力の組み込みによる Stateflow チャートの簡略化

アクティブ ステート データを使用すると、チャート階層との相関性が高いデータを維持する必要がないため、一部の Stateflow® チャートの設計を簡素化することができます。アクティブ ステート データを有効にすると、Stateflow は、Simulink® への出力端子を介して、またはチャート内のローカル データとして、ステート アクティビティを報告します。この例では、アクティブ ステートの出力データを追加することにより、Stateflow チャートの設計を簡略化する方法を説明します。詳細については、アクティブ ステート データによるステート アクティビティの監視を参照してください。

レガシ モデル old_sf_car で、Stateflow チャート shift_logic は、出力データ gear の値を更新することにより、gear_state 内の子ステート アクティビティを追跡します。

アクティブ ステート データを組み込むことにより、モデル sf_car は、チャート アクティビティを反映する手動のデータ更新を回避します。代わりに、アクティブ ステートの出力 gear を介して、チャートが子ステート アクティビティを自動的に出力します。

モデルの変更

old_sf_car モデルの設計を簡略化するには、チャート階層との相関性が高いデータを排除して、gear_state 内の子ステート アクティビティの自動監視を有効にします。

手順 1: ステート アクティビティの手動追跡の排除

  1. モデル old_sf_car で、チャート shift_logic を開きます。

  2. [シンボル] ペインを開きます。[モデル化] タブで、[[シンボル] ペイン] を選択します。

  3. gear_state の各サブステートで、出力データ変数 gear に値を割り当てる entry アクションを削除します。

  4. [シンボル] ペインで、出力変数 gear を右クリックし、Delete を選択します。

手順 2: アクティブ ステートの出力の有効化

  1. [プロパティ インスペクター] を開きます。[モデル化] タブで、[プロパティ インスペクター] を選択します。

  2. Stateflow エディターで、ステート gear_state を選択します。

  3. [プロパティ インスペクター] で、[監視する出力の作成] チェック ボックスをオンにして、Child activity を選択します。

  4. [データ名] フィールドに、アクティブ ステート データの名前 gear を入力します。

  5. [Enum 名] フィールドに、アクティブ ステート データの列挙データ型の名前 gearType を入力します。

手順 3: 信号を Simulink ブロックに接続

  1. Simulink モデルで、Cast To Double ブロックを追加します。このブロックは、Stateflow チャートからの列挙型出力を double 型の信号に変換します。詳細については、Data Type Conversion (Simulink)を参照してください。

  2. shift_logic チャートからの出力信号 gear を Cast To Double ブロックに接続します。

  3. Cast To Double ブロックからの出力信号を Transmission サブシステムに接続します。

  4. Memory (Simulink)ブロックを追加します。このブロックにより、Stateflow チャートと Threshold Calculation サブシステムの間の代数ループが発生しなくなります。

  5. Cast To Double ブロックからの出力信号を Memory ブロックにもう一度接続します。

  6. Memory ブロックの出力を Threshold Calculation サブシステムに接続します。

シミュレーション結果の表示

gear の出力は、Stateflow で管理される列挙型です。チャートを Scope ブロックに接続することにより、シミュレーション中にアクティブ ステートの出力信号 gear を表示できます。列挙値の名前は、gear_state 内のサブステートの名前と一致します。追加の列挙値 None は、アクティブな子がないタイム ステップを示します。

参考

(Simulink) | (Simulink)

関連するトピック