ドキュメンテーション

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

データ プロパティの設定

Simulink® で Stateflow® チャートを作成するときに、プロパティ インスペクターまたはモデル エクスプローラーで、データのプロパティを指定できます。

  • プロパティ インスペクター

    1. [ツール表示][シンボル] を選択して、[シンボル] ウィンドウを開きます。

    2. [ツール表示][プロパティ インスペクター] を選択して、プロパティ インスペクターを開きます。

    3. [シンボル] ウィンドウで、データ オブジェクトを選択します。

    4. プロパティ インスペクターで、データのプロパティを編集します。

  • モデル エクスプローラー

    1. [ツール表示][モデル エクスプローラー] を選択して、モデル エクスプローラーを開きます。

    2. [コンテンツ] ペインで、データ オブジェクトを選択します。

    3. [データ] ペインで、データのプロパティを編集します。

プロパティは、データ オブジェクトのスコープと型に応じて変化します。多くのデータ プロパティでは、式やパラメーター値を入力できます。単一のパラメーターを変更して複数のプロパティを更新できるため、パラメーターを使用して多数のデータ オブジェクトのプロパティを設定すると、モデルの保守が簡素化されます。

Stateflow のデータ プロパティ

これらのデータ プロパティは以下で設定できます。

  • プロパティ インスペクターのメイン セクションと [詳細設定] セクション

  • モデル エクスプローラーの [一般] タブ

名前

データ オブジェクトの名前。詳細については、Stateflow オブジェクトの命名ルールを参照してください。

スコープ

メモリ内に配置されているデータの場所 (親との相対位置)。

設定説明
ローカル

現在のチャートでのみ定義されたデータ。

定数

Stateflow オブジェクトとその子で認識される読み取り専用定数値。

パラメーター

MATLAB® ベース ワークスペースで値が定義された定数、または親がマスク サブシステムで定義および初期化した Simulink ブロック パラメーターから値が派生した定数。Stateflow データ オブジェクトには、MATLAB 変数または Simulink パラメーターと同じ名前を設定しなければなりません。詳細については、Simulink および MATLAB ワークスペースとのパラメーターの共有を参照してください。

入力

親がグラフィカル関数、真理値表または MATLAB 関数である場合は、関数の入力引数。その他の場合は、Simulink モデルによって Stateflow ブロックの入力端子を介してチャートにデータが提供されます。詳細については、Simulink との入出力データの共有を参照してください。

出力

親がグラフィカル関数、真理値表または MATLAB 関数である場合は、関数の戻り値。その他の場合は、チャートによって Stateflow ブロックの出力端子を介して Simulink モデルにデータが提供されます。詳細については、Simulink との入出力データの共有を参照してください。

データ ストア メモリ

Simulink データ ストアにバインドされたデータ オブジェクトであり、グローバル変数と似た役割を果たす信号。モデル内のすべてのブロックがこの信号にアクセスできます。このバインドにより、チャートによる Simulink データ ストアの読み取りと書き込みが可能になり、グローバル データがモデルと共有されます。Stateflow オブジェクトには、Simulink データ ストアと同じ名前を設定しなければなりません。詳細については、チャートからのデータ ストア メモリへのアクセスを参照してください。

一時的

関数の実行中のみ存続するデータ。C チャートでは、グラフィカル関数、真理値表または MATLAB 関数のみの一時データを定義できます。

エクスポート

Stateflow 階層内に定義された外部コードで使用できるよう設定された Simulink モデルのデータ。エクスポート データは、Stateflow マシンに対してのみ定義できます。

インポート

Stateflow マシンに組み込まれた外部コードで定義される Simulink モデルを親とするデータ。インポート データは、Stateflow マシンに対してのみ定義できます。

端子

データ オブジェクトに関連付けられた端子のインデックス。このプロパティは、入出力データに対してのみ適用されます。Simulink との入出力データの共有を参照してください。

更新方法

離散時間と連続時間のどちらで変数を更新するかを指定します。このプロパティは、チャートが連続時間シミュレーション用に設定されている場合にのみ適用されます。Stateflow の連続時間モデルを参照してください。

データを信号オブジェクトに関連付ける

出力データまたはローカル データが MATLAB ベース ワークスペースまたは Simulink モデルのワークスペースに含まれる同じ名前の Simulink.Signal オブジェクトからプロパティを明示的に継承するように指定します。データは以下のプロパティを継承できます。

  • サイズ

  • 実数/複素数

  • データ型

  • 単位

  • 最小値

  • 最大値

  • 初期値

  • ストレージ クラス

  • サンプリング モード (Truth Table ブロック出力データ用)

このオプションは、モデル コンフィギュレーション パラメーター [信号の関連付け][なし] 以外の値に設定している場合にのみ使用可能です。詳細については、Simulink の信号オブジェクトからのデータ プロパティの解決を参照してください。

サイズ

データ オブジェクトのサイズ。サイズには、スカラー値または値の MATLAB ベクトルを指定できます。スカラーを指定するには、[サイズ] プロパティを 1 に設定するか、空白のままにします。MATLAB ベクトルを指定するには、多次元配列を使用します。次元数は、ベクトル長と、各ベクトル要素の値に対応する各次元のサイズに等しくなります。

指定可能なサイズは、データ オブジェクトのスコープによって決まります。Stateflow データ ストア メモリには、バインドされている Simulink データ ストアから、サイズなどのプロパティがすべて継承されます。その他のスコープでは、サイズにはスカラー、ベクトル、または n 次元の行列を指定できます。

詳細については、Stateflow データのサイズの指定を参照してください。

可変サイズ

データ オブジェクトの次元がシミュレーション中に変化するように指定します。このオプションは、チャート プロパティ [可変サイズの配列をサポート] を有効にした場合にのみ入出力データに使用できます。詳細については、Stateflow チャートでの可変サイズ データの宣言を参照してください。

実数/複素数

複素数値がデータ オブジェクトに受け入れられるかどうかを指定します。

設定説明
Off複素数値は受け入れられません。
On複素数値は受け入れられます。
継承実数/複素数の設定が Simulink ブロックから継承されます。

既定値は [オフ] です。詳細については、Stateflow チャートの複素数データを参照してください。

最初のインデックス

データ配列の先頭要素のインデックス。最初のインデックスには任意の非負の整数を指定できます。既定値は 0 です。このプロパティは C チャートでのみ使用可能です。

データ オブジェクトのデータ型。データ型を指定するには、次を行います。

  • [データ型] ドロップダウン リストから、組み込み型を選択する。

  • [データ型] フィールドに、データ型として評価される式を入力する。

  • [データ型アシスタント] を使用してデータの [モード] を指定してから、そのモードに基づいてデータ型を指定する。データ型アシスタントを表示するには、モデル エクスプローラーで、[データ型アシスタントを表示] ボタン をクリックします。[データ型アシスタント] は、モデル エクスプローラーでのみ使用できます。

詳細については、Stateflow データの型の指定を参照してください。

メモ

固定小数点データ型用に式を入力した場合は、スケーリングを明示的に指定しなければなりません。たとえば、fixdt(1,16) などの不完全な仕様は [データ型] フィールドに入力できません。スケーリングを明示的に指定しなかった場合は、モデルをシミュレーションしようとするとエラーが表示されます。

データ型を固定小数点ツールに対しロックする

現在の固定小数点型が、固定小数点ツール (Fixed-Point Designer)で選択されているオートスケールされた型に置き換えられないようにします。詳細については、固定小数点ツールを使用したオートスケーリング (Fixed-Point Designer)を参照してください。

単位 (m、m/s^2、N*m など)

入出力データの物理単位を指定します。詳細については、Stateflow データの単位の指定を参照してください。

初期値

データ オブジェクトの初期値。値を初期化するオプションは、データ オブジェクトのスコープに応じて異なります。

スコープ初期値として指定する内容
ローカルStateflow 階層、MATLAB ベース ワークスペース、または Simulink のマスク サブシステムで定義された式またはパラメーター。
Constant定数値または定数式。式は、チャートの更新時に評価されます。結果の値は、チャートを実行するための定数として使用されます。
パラメーター値を入力することはできません。パラメーターから初期値が継承されます。
入力値を入力することはできません。指定された端子の Simulink 入力信号から初期値が継承されます。
出力Stateflow 階層、MATLAB ベース ワークスペース、または Simulink のマスク サブシステムで定義された式またはパラメーター。
Data Store Memory値を入力することはできません。解決されている Simulink データ ストアから初期値が継承されます。

値を指定しない場合、数値データの既定の値は 0 です。列挙型データの場合、定義の methods セクションで別途指定しない限り、既定値は、定義の enumeration セクションのリストに最初に表示されている値になります。詳細については、データ プロパティの式とパラメーターの入力を参照してください。

パラメーターへの初期値の関連付けを許可

ローカル データ、定数データまたは出力データが、MATLAB ベース ワークスペースの Simulink パラメーターから初期値を継承するように指定します。詳細については、MATLAB ベース ワークスペースからのデータの初期化を参照してください。

[制限範囲] プロパティ

このデータ オブジェクトの許容される値の範囲。Stateflow チャートでは、この範囲を使用して、シミュレーション時にデータ オブジェクトを検証します。

  • [最小値]: シミュレーション時に、データ項目に対して許容される最小値。数値のスカラー値として評価される式またはパラメーターを入力できます。

  • [最大値]: シミュレーション時に、データ項目に対して許容される最大値。数値のスカラー値として評価される式またはパラメーターを入力できます。

[最小値] に設定できる最も小さい値は -inf です。[最大値] に設定できる最も大きい値は inf です。詳細については、データ プロパティの式とパラメーターの入力を参照してください。

メモ

Simulink モデルでは [制限範囲] プロパティに基づいて、固定小数点データ型に対して最適な精度のスケーリング値が計算されます。[最高精度のスケーリングを計算] を選択する前に、最小値または最大値を指定してください。詳細については、最高精度のスケーリング値を計算を参照してください。

監視ウィンドウに追加

Stateflow ブレークポイントと監視ウィンドウでのデータ値の監視を有効にします。詳細については、Stateflow データ値の監視を参照してください。

固定小数点データのプロパティ

モデル エクスプローラーで、[データ型アシスタント] の [モード][固定小数点] に設定した場合は、[データ型アシスタント] に、固定小数点データに関するその他の情報を指定するためのフィールドが表示されます。

符号付き/なし

固定小数点データが [符号付き][符号なし] かを指定します。符号付きデータでは正の値と負の値を表すことができます。符号なしデータは正の値のみを表します。既定の設定は、[符号付き] です。

語長

量子化された整数をもつ語のビット サイズを指定します。長い語長は短い語長に比べてよい精度で大きな値を表します。既定値は 16 です。

  • 以下のスコープのチャートレベル データの場合、取り得る語長は 0 ~ 128 の任意の整数です。

    • 入力

    • 出力

    • パラメーター

    • Data Store Memory

  • 他の Stateflow データの場合、取り得る語長は 0 ~ 32 の任意の整数です。

スケーリング

オーバーフローを避け、量子化エラーを最小限に抑えるための固定小数点データのスケーリング方法を指定します。既定の方法は、[2 進小数点] スケーリングです。

設定説明
2 進小数点

このモードを選択した場合は、[データ型アシスタント] に、2 進小数点の位置を指定する [小数部の長さ] フィールドが表示されます。

[小数部の長さ] には任意の整数を指定できます。既定値は 0 です。正の整数を入力すると、その値に応じて 2 進小数点は右端のビットの左側に配置されます。負の整数を入力すると、2 進小数点は右端のビットのさらに右側に配置されます。

勾配とバイアス

このモードを選択した場合は、[データ型アシスタント] に、固定小数点エンコード スキームの [勾配][バイアス] の入力フィールドが表示されます。

[勾配] には任意の正の実数を指定できます。既定値は 1.0 です。

[バイアス] には任意の実数を指定できます。既定値は 0.0 です。

勾配とバイアスは、MATLAB ベース ワークスペースで定義したパラメーターを含む式として入力できます。

可能な限り、2 進小数点のスケーリングを使用すると、生成コードでの固定小数点データの実装を簡素化できます。2 進小数点のスケーリングによる固定小数点データの操作は単純なビット シフトで実行されるため、別々の勾配値とバイアス値で必要とされるコード実装の手間が省けます。固定小数点のスケーリングについての詳細は、スケーリング (Fixed-Point Designer)を参照してください。

データ型のオーバーライド

このモデルに適用される固定小数点ツールのデータ型オーバーライドの設定を継承するかどうかを指定します。データがモデル全体の設定を継承しない場合、指定されたデータ型が適用されます。固定小数点ツールの詳細については、fxptdlg を参照してください。

最高精度のスケーリング値を計算

[制限範囲] セクションの [最小値] フィールドと [最大値] フィールドの値に基づいて、[2 進小数点][勾配とバイアス] のスケーリングの最高精度値を計算するかどうかを指定します。

最高精度のスケーリング値を計算するには、次を行います。

  1. [制限範囲] プロパティを指定します。

  2. [最高精度のスケーリングを計算] をクリックします。

Simulink ソフトウェアがスケーリング値を計算し、[小数部の長さ] フィールドまたは [勾配] フィールドと [バイアス] フィールドにそれらを表示します。詳細については、最高精度のための定数のスケーリング (Fixed-Point Designer)を参照してください。

メモ

[制限範囲] プロパティは、[定数][パラメーター] のスコープには適用されません。[定数] の場合は、Simulink ソフトウェアは [初期値] 設定に基づいてスケーリング値を計算します。ソフトウェアは [パラメーター] スコープのデータに対する最適な精度のスケーリング値を計算できません。

固定小数点の詳細表示

[データ型アシスタント] で定義された固定小数点データ型の情報を表示します。

  • MinimumMaximum に表示される値は、[制限範囲] セクションの対応する [最小値] フィールドと [最大値] フィールドに表示される値と同じです。

  • Representable minimumRepresentable maximum および Precision は、固定小数点データ型で表現可能な最小値、最大値および精度を表示します。

モデルを最初にコンパイルしなければフィールドの値を決定できない場合は、[固定小数点の詳細] サブペインの値は Unknown と表示されます。

[固定小数点の詳細] サブペインに表示された値は、固定小数点データ型を定義する値を変更しても、自動的に更新 "されません"[固定小数点の詳細] サブペインに表示された値を更新するには、[詳細の更新] をクリックします。

[詳細の更新] をクリックしても、モデルは変更されません。表示のみが変更されます。表示された値を適用するには、[適用] または [OK] をクリックします。

[固定小数点の詳細] サブペインは、固定小数点データ型を指定した結果発生したエラーを示します。たとえば、以下の図には 2 つのエラーが表示されています。

Maximum のラベルが付いた行は、[制限範囲] セクションの [最大値] フィールドで指定した値が固定小数点データ型で表現できないことを示しています。エラーを修正するには、以下のいずれかの変更を行って、固定小数点データ型で最大値を表現できるようにします。

  • [制限範囲] セクションの [最大値] フィールドの値を減らします。

  • [語長] を増やします。

  • [小数部の長さ] を減らします。

Minimum というラベルが追加された行には、[制限範囲] セクションの [最小値] フィールドで指定した式 MySymbol を評価した結果、適切な数値が返されなかったので、エラー Cannot evaluate が表示されています。式が正常に評価されなかった場合、[固定小数点の詳細] サブペインには、無効な値の代わりに未評価の式が表示されます (必要な場合は 10 文字に切り捨て)。このエラーを修正するため、ベース ワークスペースで MySymbol を定義して数値を指定します。[詳細の更新] をクリックすると、エラーのインジケーターと説明が削除され、未評価のテキストの代わりに MySymbol の値が表示されます。

ログのプロパティ

データのログのプロパティは以下で設定できます。

  • プロパティ インスペクターの [ログ] セクション

  • モデル エクスプローラーの [ログ] タブ

信号データのログ

シミュレーション中にデータの値を MATLAB ベース ワークスペースに保存します。詳細については、ステートとデータのシミュレーション出力のログを参照してください。

テスト ポイント

データをテスト ポイントとして指定します。テスト ポイントとは、モデルの Floating Scope ブロックで観察可能な信号です。以下の場合に、データ オブジェクトをテスト ポイントに設定できます。

  • スコープが [ローカル] である。

  • 親が Stateflow マシンでない。

  • データ型が [ml] でない。

詳細については、Stateflow チャートのテスト ポイントの監視を参照してください。

ログ名

ログ信号データに関連付ける名前を指定します。Simulink ソフトウェアでは、既定で信号名がログ名として使用されます。カスタムのログ名を指定するには、リスト ボックスから [カスタム] を選択し、隣にある編集フィールドに新しい名前を入力します。

データ点の制限

ログを作成するデータを最新のサンプル分に制限。

間引き

サンプルをスキップすることでログを作成するデータ量を制限。たとえば、間引き係数を 2 に指定すると、サンプルが 1 つおきに保存されます。

追加のプロパティ

追加のデータ プロパティは以下で設定できます。

  • プロパティ インスペクターの [情報] タブ

  • モデル エクスプローラーの [説明] タブ

最終値をベース ワークスペースへ保存

シミュレーションの最後にデータ項目の値を MATLAB ベース ワークスペースの同名の変数に代入します。このオプションは、C チャート用のモデル エクスプローラーでのみ使用できます。詳細については、モデル ワークスペース (Simulink)を参照してください。

単位

データ オブジェクトに関連付けられている測定単位。このフィールドの単位は、Stateflow 階層内にデータ オブジェクトとともに配置されます。このプロパティは、C チャート用のモデル エクスプローラーでのみ使用できます。

説明

データ オブジェクトの説明。階層内のデータの簡単な説明を入力できます。

ドキュメント リンク

データ オブジェクトのオンライン ドキュメンテーションへのリンク。適切なオンライン形式 (HTML ファイルや MATLAB コマンド ウィンドウのテキストなど) でドキュメンテーションを表示する、Web の URL アドレスまたは MATLAB コマンドを入力できます。[ドキュメント リンク] ハイパーリンクをクリックすると、Stateflow でリンクが評価され、ドキュメンテーションが表示されます。

データ プロパティの式とパラメーターの入力

プロパティ インスペクターおよびモデル エクスプローラーでは、以下のプロパティの値として式を入力できます。

式には、パラメーター、定数、算術演算子、および MATLAB 関数の呼び出しの組み合わせを含めることができます。

データ プロパティの既定値

式またはパラメーターのフィールドを空白のままにすると、Stateflow では既定値が使用されます。

フィールド既定値
初期値0.0
最大値inf
最小値inf
語長16
勾配1.0
バイアス0.0
2 進小数点0
最初のインデックス0
サイズ

−1 (継承)、入力、パラメーター、および関数の出力に対応

1 (スカラー)、他のデータ オブジェクトに対応

式でのパラメーターの使用

式にはパラメーターを含めることができます。パラメーターは、以下に該当する定数値です。

  • MATLAB ベース ワークスペースでの定義が可能。

  • 親がマスク サブシステムで定義および初期化する Simulink ブロック パラメーターから派生させることが可能。

式には、この両方のタイプのパラメーターを組み合わせて使用できます。詳細については、Simulink および MATLAB ワークスペースとのパラメーターの共有を参照してください。

式での定数の使用

[データ] プロパティ ダイアログ ボックスの式には、適切な型とサイズの数値定数を使用できます。これらの式では Stateflow 定数を使用しないでください。

式での算術演算子の使用

[データ] プロパティ ダイアログ ボックスでは、以下の算術演算子を式で使用できます。

  • +

  • *

  • /

式での関数および演算子の呼び出し

式が入力できるフィールドでは、Stateflow 階層、MATLAB ベース ワークスペース、Simulink のマスク サブシステムで定義された他の変数のプロパティ値を返す関数を呼び出せます。たとえば、以下の関数は、[データ] プロパティ ダイアログ ボックスで指定されたフィールドに適切な値を返すことが可能です。

関数戻り値フィールド
Stateflow 演算子 type入力データのデータ型データ型
Simulink 関数 fixdt固定小数点または浮動小数点のデータ型を記述した Simulink.NumericType オブジェクトデータ型
MATLAB 関数 min入力配列の最小要素最小値
MATLAB 関数 max入力配列の最大要素最大値

関連するトピック