Main Content

チャート ライブラリによるモデルでのチャートの再利用

Simulink® では、1 つ以上のモデルでブロックまたはサブシステムの機能を再利用する 1 つの方法として、独自のブロック ライブラリを作成することができます。同様に、チャート ライブラリの機能をカプセル化することにより、Stateflow® アルゴリズムの集合を再利用することもできます。

他の Simulink ブロック ライブラリ同様、モデル内のチャート ライブラリ ブロックの各インスタンスを特殊化して、さまざまなデータ型、サンプル時間、その他のプロパティを使用することができます。同じプロパティを継承するライブラリ インスタンスでは生成コードを再利用できます。

Simulink ブロック ライブラリの詳細は、カスタム ライブラリ (Simulink)を参照してください。

大規模なモデリングでの専用チャート ライブラリの作成

  1. ポリモーフィック ロジックをもつ Stateflow チャートを Simulink モデルに追加します。

    ポリモーフィック ロジックとは、データ型、サイズ、複素数など、さまざまな特性をもつデータを処理できるロジックです。

  2. 特殊化するプロパティを継承するチャートを設定します。

    一覧は、ライブラリ ブロックのプロパティのカスタマイズを参照してください。

  3. オプションで、マスキングを使用してチャートをカスタマイズします。

  4. チャートのシミュレーションとデバッグを行います。

  5. Simulink で、ライブラリ モデルを作成します。[シミュレーション] タブで、[新規][ライブラリ] を選択します。

  6. チャートをライブラリ モデルにコピーまたはドラッグします。

ライブラリ ブロックのプロパティのカスタマイズ

Simulink から以下のプロパティを継承できるようにして、Stateflow ライブラリ ブロックのインスタンスをカスタマイズできます。

プロパティ既定で継承継承の指定方法
はいデータ型のプロパティを [継承: Simulink と同じ] に設定します。
サイズはいデータ サイズ プロパティを -1 に設定します。
実数/複素数はいデータの [実数/複素数] プロパティを [継承] に設定します。
制限範囲いいえ最小値と最大値を Simulink パラメーターに指定します。たとえば、最小値 = aParam で最大値 = aParam + 3 の場合、Stateflow ライブラリ ブロックの異なるインスタンスを使用して、親マスク サブシステムで定義されたさまざまな aParam パラメーターを解決できます。
初期値スコープによる

ローカル データ、一時データ、出力の場合、初期値を Simulink パラメーターに指定します。他のデータは常に初期値を次のように継承します。

  • パラメーターは親マスク サブシステムの関連パラメーターからの初期値を継承します。

  • 入力は Simulink 入力信号の初期値を継承します。

  • データ ストア メモリはバインドされている Simulink データ ストアから初期値を継承します。

サンプリング モード (入力)はいStateflow チャートの入力端子は常にサンプリング モードを継承します。
固定小数点データのデータ型のオーバーライド モードはいさまざまなライブラリ インスタンスはモデル階層の上位からの異なるデータ型オーバーライド モードを継承します。
サンプル時間 (ブロック)はいブロックのサンプル時間プロパティを -1 に設定します。

ライブラリ チャートの制限

  1. ライブラリ チャートが親であるイベントは、無効になります。Stateflow パーサーはそのようなイベントにエラーのフラグを付けます。

  2. リンクされたライブラリ チャートを別のライブラリ チャート内に含めるには、その 2 つのライブラリ チャートがそれぞれ異なるライブラリになければなりません。

  3. リンクされたライブラリ チャートを Simulink サブシステム内に含めるには、最初にそのライブラリ チャートをサブシステム内に保存し、そのライブラリ サブシステムを Simulink サブシステムに配置します。