Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Simulink、Stateflow および MATLAB から生成されたコード間のデータ共有

Stateflow と MATLAB Coder では、完全なデータ定義を定義したり、Simulink から継承したりすることができます。データ定義機能には以下が含まれます。

  • Simulink からの入力/出力データ型およびサイズの継承。

  • パラメーター化されたデータ型およびサイズ。すなわち、データ型およびサイズは、type(y)=type(u)size(y)=size(u) のように、別のデータの型およびサイズの関数として指定されることができます。

  • 信号属性の逆伝播を介して Simulink から推定された出力サイズおよび型。

  • パラメーターのスコープ データ。これにより、Stateflow と MATLAB で Simulink パラメーターを参照できます。

モデル例を開く

モデル例 rtwdemo_dynamicio を開きます。

open_system('rtwdemo_dynamicio')

手順

  1. モデルをコンパイルし ([シミュレーション] タブの [準備][モデルの更新] をクリック)、表示される信号タイプおよびサイズに注意します。

  2. Constant ブロックのデータ型およびサイズを変更し、モデルを再コンパイルします。信号の属性が Constant ブロックの仕様に自動的に適応されることに注意してください。

  3. モデル内の青色のボタンを使用してコードを生成し、検査します。K が Gain および sfVerticalSum ブロックで共有されていることに注意してください。

メモ

  • Stateflow および MATLAB データのデータ型およびサイズが Simulink から継承されます。

  • Gain ブロックと Stateflow チャート sfVerticalSum は Simulink パラメーター K を共有します。これは、Model default ストレージ クラスをもつ Simulink.Parameter (つまり、生成されたコードの rtP.K) として MATLAB ワークスペースに定義されています。