メインコンテンツ

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

Stateflow データのスコープと型の指定

データ型は、情報をコンピューター メモリに格納する際の形式を定義します。データ型は、Stateflow® チャートの 3 つの重要な点に影響します。

  • データに割り当てられるストレージ スペースの量。

  • データ値をバイナリ パターンに変換する方法。

  • データに対して実行できる一連の操作。

データ型を使用して、チャートのリソースの使用を最適化し、ソフトウェア アプリケーションでチャート データが確実に正しく操作されるようにします。

Stateflow では、データを型、スコープ、およびモードで定義します。データ型は、データをシステムに格納するための具体的な方法です。たとえば、double データ型や single データ型を指定できます。スコープは、Stateflow チャート内でのデータの動作です。たとえば、入力データは Simulink® が Stateflow に入力するデータで、ローカル データは Stateflow 内で発生してそこにとどまるデータです。モードは、選択できる型のサブセットを指定します。たとえば、モードが Inherited の場合、データはその情報を Simulink から取得しますが、モードが Expression の場合、データの情報は入力した式によって異なります。モードは、データ型アシスタントを使用する場合にのみ指定できます。

データ型は、[プロパティ インスペクター] で指定できます。[型] フィールドで、ドロップダウン リストから型を選択するか、データ型になる式を入力します。詳細については、データ プロパティの設定を参照してください。

Simulink オブジェクトからのデータ型の継承

[型] ドロップダウン リストを [継承: Simulink と同じ] に設定すると、スコープが [入力][出力][パラメーター][データ ストア メモリ] であるデータ オブジェクトは、データ型を Simulink オブジェクトから継承します。データを特定の型と見なす場合は、[型][継承: Simulink と同じ] に設定しないでください。

スコープ説明
入力チャートの対応する入力端子に接続された Simulink 入力信号から型を継承します。
出力

チャートの対応する出力端子に接続された Simulink 出力信号から型を継承します。

パラメーターマスク サブシステムの対応する MATLAB® ベース ワークスペース変数、Simulink データ ディクショナリ エントリ、または Simulink パラメーターからデータ型を継承します。
データ ストア メモリ対応する Simulink データ ストアからデータ型を継承します。

オブジェクトが継承するデータ型を特定するには、次を行います。

  1. Simulink モデルを作成します。

  2. モデル エクスプローラーを開きます。

  3. [コンテンツ] ペインで、[CompiledType] 列を調べます。

他のデータ オブジェクトからのデータ型の派生

type 演算子を使用すると、他の Stateflow データ オブジェクトからデータ型を派生させることができます。たとえば、モデル sf_bus_demo は、入力構造体 inbus のデータ型を使用してローカル構造体 counterbus_struct のデータ型を定義します。構造体は次の式を使用して定義されます。

type(inbus)

Property Inspector for sf_bus_demo.

inbus の型は Simulink.Bus オブジェクト COUNTERBUS から派生されるため、counterbus_struct のデータ型も COUNTERBUS から派生されます。

この例の詳細については、Stateflow チャートのカスタム構造体の統合を参照してください。

Simulink エイリアスを使用したデータ型の指定

Simulink データ型エイリアスを使用することで、Stateflow データのデータ型を指定できます。詳細については、Simulink.AliasType (Simulink) を参照してください。

たとえば、組み込みのデータ型 single に対応するデータ型エイリアス MyFloat を定義するとします。MATLAB コマンド プロンプトで、次のように入力します。

MyFloat = Simulink.AliasType;
MyFloat.BaseType = "single";

このエイリアスを使用してデータ型を指定するには、Stateflow チャートを開き、[シンボル] ペインでデータを選択します。その後、[プロパティ インスペクター][型]MyFloat に設定します。

モデルの作成後、モデル エクスプローラーの [CompiledType] 列には、コンパイル済みのシミュレーションで使用される型が表示されます。

参考

(Simulink) | (Simulink) | (Simulink)

トピック