Main Content

Stateflow データの追加

Stateflow® 階層の特定レベルで認識される値を保存する場合は、チャートにデータを追加します。モデルをシミュレートすると、チャート データ オブジェクトはその値をシミュレーション時間にわたって維持します。

Stateflow チャートに定義されているデータは、ステート、遷移、MATLAB® 関数、および真理値表など、チャート内の複数の Stateflow オブジェクトによって認識されます。ステートまたは遷移でどのデータが使用されるかを判定するには、ステートまたは遷移を右クリックして [探索] を選択します。コンテキスト メニューに、ステートまたは遷移内で解決されているすべてのシンボルの名前とスコープがリストされます。コンテキスト メニューからシンボルを選択すると、そのプロパティがモデル エクスプローラーに表示されます。コンテキスト メニューから出力イベントを選択すると、そのイベントに関連付けられている Simulink® サブシステムまたは Stateflow チャートが開きます。

メモ

Stateflow データは、Stateflow チャート内の Simulink 関数では利用できません。

Stateflow チャートにデータを追加するには、[シンボル] ペイン、Stateflow エディターのメニュー、またはモデル エクスプローラーを使用できます。

[シンボル] ペインによるデータの追加

  1. [モデル化] タブの [データの設計] で、[[シンボル] ペイン] を選択します。

  2. [データの作成] アイコン をクリックします。

  3. 新規データ行の [タイプ] で、アイコンをクリックし次を選択します。

    • Input Data

    • Local Data

    • Output Data

    • Constant

    • Data Store Memory

    • Parameter

    • 一時的

    これらのオプションの詳細については、スコープを参照してください。

  4. データの名前を編集します。

  5. 入出力データの場合、[端子] フィールドをクリックして端子番号を選択します。

  6. データのプロパティを指定するには、[プロパティ インスペクター] を開きます。[シンボル] ペインで、シンボルの行を右クリックして [探索] を選択します。詳細については、データ プロパティの設定を参照してください。

Stateflow エディター メニューを使用したデータの追加

  1. Simulink モデルの Stateflow チャートで、追加するデータのスコープに対応するメニュー オプションを選択します。これらのオプションの詳細については、スコープを参照してください。

    スコープメニュー オプション
    入力

    [モデル化] タブの [データの設計] で、[データ入力] を選択します。

    出力

    [モデル化] タブの [データの設計] で、[データ出力] を選択します。

    ローカル

    [モデル化] タブの [データの設計] で、[ローカル] を選択します。

    定数

    [モデル化] タブの [データの設計] で、[定数] を選択します。

    パラメーター

    [モデル化] タブの [データの設計] で、[パラメーター] を選択します。

    データ ストア メモリ

    [モデル化] タブの [データの設計] で、[データ ストア] を選択します。

  2. [データ] ダイアログ ボックスで、データ プロパティを指定します。詳細については、データ プロパティの設定を参照してください。

モデル エクスプローラーによるデータの追加

Simulink モデルの Stateflow チャートに関数またはステートを親とするデータを追加するには、モデル エクスプローラーを使用します。

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

  2. [モデルの階層構造] ペインで、可視化対象の新規データがある Stateflow 階層のオブジェクトを選択します。選択したオブジェクトは、新しいデータの親になります。

  3. モデル エクスプローラーのツールストリップで、[データの追加] ボタンを選択します。あるいは、モデル エクスプローラーのメニューで、[追加][データ] を選択します。既定の定義が設定された新しいデータが、モデル エクスプローラーの [コンテンツ] ペインに表示されます。

  4. [データ] ペインで、データのプロパティを指定します。詳細については、データ プロパティの設定を参照してください。

チャートでデータを使用する場合のベスト プラクティス

Simulink ブロックから出力データ プロパティを継承することは避ける

Stateflow 出力データが出力信号からプロパティを継承するよう設定することは避けてください。この設定では、値が Simulink ブロックから逆伝播され、予期しない結果が返される可能性があります。

マシンを親とするデータの使用を制限する

マシンを親とするデータの使用は避けてください。マシンを親とするデータとは、Stateflow 階層の最上位に定義されるデータです。マシンを親とするデータでは、モデルで生成コードの再利用やその他のコードの最適化を使用できません。マシンを親とするデータは、多くの Simulink 機能や Stateflow 機能とも互換性がありません。

たとえば、次の機能ではマシンを親とするデータがサポートされていません。

  • 列挙データ

  • Simulink 関数

  • チャートの操作点

  • 暗黙的な変更イベント

  • 未使用データの検出

  • ベース ワークスペース内の Simulink.Parameter オブジェクトにバインドするパラメーター

  • モデル参照 (モデル参照の要件と制限 (Simulink)を参照)

  • Embedded Coder® により生成されたコードでのコード置換ライブラリの使用。詳細については、Code You Can Replace From Simulink Models (Embedded Coder)を参照してください。

  • Simulink PLC Coder™ ソフトウェアでのコード生成

  • Simulink Design Verifier™ ソフトウェアでの解析

Stateflow データをモデルの他のチャートやブロックからアクセスできるようにするには、スコープが [データ ストア メモリ] のチャートを親とするデータを使用します。詳細については、チャートからのデータ ストア メモリへのアクセスを参照してください。

メモ

マシンを親とするデータは将来のリリースではサポートされません。マシンを親とするデータについては、アップグレード アドバイザーを使用してチャートを親とするデータ ストア メモリに変換してください。詳細については、アップグレード アドバイザーの使用 (Simulink)およびマシンを親とするデータのチェック (Simulink)を参照してください。

関連するトピック