Main Content

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

Simulink および MATLAB ワークスペースとのデータの共有

Stateflow® チャートは、以下の方法により、Simulink® モデル内の他のブロックと連動します。

  • 入出力接続を介してデータを共有。

  • MATLAB® ベース ワークスペースからデータの初期値をインポート。

  • MATLAB ベース ワークスペースに最終データ値を保存。

チャートは、Simulink のパラメーターおよびデータ ストアにもアクセスできます。詳細については、Simulink および MATLAB ワークスペースとのパラメーターの共有チャートからのデータ ストア メモリへのアクセスを参照してください。

Simulink との入出力データの共有

データは入力端子を介して Simulink から Stateflow チャートへと流れます。データは出力端子を介して Stateflow チャートから Simulink へと流れます。

チャートで入力または出力のデータを定義するには、次を行います。

  1. Stateflow データの追加の説明に従って、データ オブジェクトをチャートに追加します。

  2. データ オブジェクトの [スコープ] プロパティを設定します。

    • 入力データを定義するには、[スコープ][入力データ] に設定します。入力端子がチャート ブロックの左側に表示されます。

    • 出力データを定義するには、[スコープ][出力データ] に設定します。出力端子がチャート ブロックの右側に表示されます。

    既定では、[端子] の値は、データ オブジェクトを追加した順序で表示されます。これらの割り当ては、データの [端子] プロパティを変更することによって変更できます。入力または出力データ オブジェクトの [端子] プロパティを変更すると、残りの入力または出力データ オブジェクトの [端子] の値は自動的に番号が再設定されます。

  3. Stateflow データの型の指定の説明に従って、データ オブジェクトのデータ型を設定します。

  4. Stateflow データのサイズの指定の説明に従って、データ オブジェクトのサイズを設定します。

メモ

Simulink からのフレームベースのデータを受け入れるように Stateflow 入力データのデータ型やサイズを設定することはできません。

MATLAB ベース ワークスペースからのデータの初期化

MATLAB ベース ワークスペースおよび Stateflow 階層で定義することにより、データ シンボルの初期値をインポートできます。

  1. MATLAB ベース ワークスペース内で変数を定義して初期化します。

  2. Stateflow 階層で、MATLAB 変数と同じ名前のデータ オブジェクトを定義します。

  3. データ オブジェクトの [パラメーターへの初期値の関連付けを許可] プロパティを選択します。

シミュレーションが開始されると、データが解決されます。この処理中に、Stateflow データ オブジェクトは関連する MATLAB 変数から初期値を取得します。

1 次元の Stateflow 配列は、同じサイズの MATLAB の行ベクトルおよび列ベクトルと互換性があります。たとえば、サイズ 5 の Stateflow ベクトルは、サイズ [1,5] の MATLAB 行ベクトルまたはサイズ [5,1] の列ベクトルと互換性があります。Stateflow 配列の各要素は MATLAB ベース ワークスペース内の配列の対応する要素と同じ値に初期化されます。

初期化の時間は、データの親および Stateflow データ オブジェクトのスコープによって異なります。

データの親

スコープ

初期化時間

チャート

入力

適用不可

出力、ローカル

シミュレーション開始時または Enabled Simulink Subsystem の一部として再初期化されたとき

ヒストリ ジャンクションをもつステート

ローカル

シミュレーション開始時または Enabled Simulink Subsystem の一部として再初期化されたとき

ヒストリ ジャンクションをもたないステート

ローカル

ステート Entry

関数 (グラフィカル関数、真理値表関数、MATLAB 関数)

入力、出力

関数呼び出し時点

ローカル

シミュレーション開始時または Enabled Simulink Subsystem の一部として再初期化されたとき

MATLAB ベース ワークスペースへのデータの保存

シミュレーションの終了時に、C をアクション言語として使用する Stateflow チャートは、データ オブジェクトの最終値を MATLAB ベース ワークスペースに保存できます。

  1. モデル エクスプローラーを開きます。[モデル化] タブで [モデル エクスプローラー] を選択します。

  2. [コンテンツ] ペインでデータ オブジェクトをダブルクリックします。

  3. [データ] プロパティ ダイアログ ボックスの [説明] ペインで、[最終値をベース ワークスペースへ保存] をオンにします。

このオプションは、[定数][パラメーター] を除くすべてのスコープのデータ シンボルで使用可能です。

関連するトピック