Simulink および MATLAB ワークスペースとのデータの共有
Stateflow® チャートは、以下の方法により、Simulink® モデル内の他のブロックと連動します。
入出力接続を介してデータを共有。
MATLAB® ベース ワークスペースからデータの初期値をインポート。
MATLAB ベース ワークスペースに最終データ値を保存。
チャートは、Simulink のパラメーターおよびデータ ストアにもアクセスできます。詳細については、Simulink および MATLAB ワークスペースとのパラメーターの共有とチャートからのデータ ストア メモリへのアクセスを参照してください。
Simulink との入出力データの共有
データは入力端子を介して Simulink から Stateflow チャートへと流れます。データは出力端子を介して Stateflow チャートから Simulink へと流れます。
チャートで入力または出力のデータを定義するには、次を行います。
Stateflow データの追加の説明に従って、データ オブジェクトをチャートに追加します。
データ オブジェクトの [スコープ] プロパティを設定します。
入力データを定義するには、[スコープ] を
[入力データ]
に設定します。入力端子がチャート ブロックの左側に表示されます。出力データを定義するには、[スコープ] を
[出力データ]
に設定します。出力端子がチャート ブロックの右側に表示されます。
既定では、[端子] の値は、データ オブジェクトを追加した順序で表示されます。これらの割り当ては、データの [端子] プロパティを変更することによって変更できます。入力または出力データ オブジェクトの [端子] プロパティを変更すると、残りの入力または出力データ オブジェクトの [端子] の値は自動的に番号が再設定されます。
Stateflow データの型の指定の説明に従って、データ オブジェクトのデータ型を設定します。
Stateflow データのサイズの指定の説明に従って、データ オブジェクトのサイズを設定します。
メモ
Simulink からのフレームベースのデータを受け入れるように Stateflow 入力データのデータ型やサイズを設定することはできません。
MATLAB ベース ワークスペースからのデータの初期化
MATLAB ベース ワークスペースおよび Stateflow 階層で定義することにより、データ シンボルの初期値をインポートできます。
MATLAB ベース ワークスペース内で変数を定義して初期化します。
Stateflow 階層で、MATLAB 変数と同じ名前のデータ オブジェクトを定義します。
データ オブジェクトの [パラメーターへの初期値の関連付けを許可] プロパティを選択します。
シミュレーションが開始されると、データが解決されます。この処理中に、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 ベース ワークスペースに保存できます。
モデル エクスプローラーを開きます。[モデル化] タブで [モデル エクスプローラー] を選択します。
[コンテンツ] ペインでデータ オブジェクトをダブルクリックします。
[データ] プロパティ ダイアログ ボックスの [説明] ペインで、[最終値をベース ワークスペースへ保存] をオンにします。
このオプションは、[定数]
と [パラメーター]
を除くすべてのスコープのデータ シンボルで使用可能です。