Main Content

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

データ プロパティの設定

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

  • プロパティ インスペクターを使用するには、次を行います。

    1. [モデル化] タブの [データの設計] で、[[シンボル] ペイン] および [プロパティ インスペクター] を選択します。

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

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

  • モデル エクスプローラーを使用するには、次を行います。

    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 に設定するか、フィールドを空白のままにする。

  • n 行 1 列の列ベクトルを指定するには、[サイズ] プロパティを n に設定する。

  • 1 行 n 列の行ベクトルを指定するには、[サイズ] プロパティを [1 n] に設定する。

  • nm 列の行列を指定するには、[サイズ] プロパティを [n m] に設定する。

  • n 次元配列を指定するには、[サイズ] プロパティを [d1 d2dn] に設定する。ここで di は、i 番目の次元のサイズです。

  • Stateflow データ オブジェクトがそのサイズを、対応する Simulink 信号から、またはチャート内の定義から継承するように設定するには、サイズを –1 に指定する。

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

データ サイズを指定するには、有効なサイズ指定として評価される MATLAB 式を使用できます。詳細については、式を使用したデータ サイズの指定MATLAB 式を使用したデータ プロパティの指定を参照してください。

可変サイズ

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

実数/複素数

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

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

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

最初のインデックス

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

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

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

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

また、モデル エクスプローラーで、[データ型アシスタントを表示] ボタン をクリックしてデータ型アシスタントを開くこともできます。データの [モード] を指定してから、そのモードに基づいてデータ型を指定します。詳細については、Stateflow データの型の指定を参照してください。

データ型を指定するには、有効な型指定として評価される MATLAB 式を使用できます。詳細については、他のデータ オブジェクトからのデータ型の派生MATLAB 式を使用したデータ プロパティの指定を参照してください。

メモ

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

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

現在の固定小数点型が、Fixed-Point Tool (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 です。列挙型データの場合、既定値は通常、定義の enumeration セクションのリストに最初に表示されている値です。定義の methods セクションで、列挙型に対して異なる既定値を指定できます。詳細については、列挙データ型の定義を参照してください。

初期値を指定するには MATLAB 式を使用できます。詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。

制限範囲

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

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

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

[最小値] に設定できる最も小さい値は -inf です。[最大値] に設定できる最も大きい値は inf です。

最小値と最大値は MATLAB 式により指定できます。詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。

メモ

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

監視ウィンドウに追加

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

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

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

符号属性

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

語長

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

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

    • 入力

    • 出力

    • パラメーター

    • Data Store Memory

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

語長は MATLAB 式により指定できます。詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。

スケーリング

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

設定説明
2 進小数点

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

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

勾配とバイアス

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

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

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

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

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

[小数部の長さ][勾配] および [バイアス] を指定するには、MATLAB 式を使用できます。詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。

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

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

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

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

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

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

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

最高精度のスケーリング値が、[小数部の長さ] フィールドまたは [勾配] および [バイアス] フィールドに表示されます。詳細については、精度の最大化 (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 チャート用のモデル エクスプローラーでのみ使用できます。詳細については、モデル ワークスペースを参照してください。

単位

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

説明

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

ドキュメント リンク

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

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

プロパティ フィールドを空白のままにした場合、Stateflow では既定値が使用されます。

プロパティ既定値
サイズ

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

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

最初のインデックス0
初期値0.0
制限範囲最小値-inf
 最大値inf
固定小数点データのプロパティ語長16
 小数部の長さ0
 勾配1.0
 バイアス0.0

MATLAB 式を使用したデータ プロパティの指定

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

式には、数値、定数、パラメーター、変数、算術演算、パラメーター、算術演算子、および MATLAB 関数の呼び出しの組み合わせを含めることができます。たとえば、以下の関数を使ってデータ プロパティを指定できます。

プロパティ 関数説明
サイズsizeデータ オブジェクトのサイズを返す
fi (Fixed-Point Designer)固定小数点数値オブジェクトを返す
タイプtypeデータ オブジェクトの型を返す
fixdt固定小数点または浮動小数点のデータ型を記述した Simulink.NumericType オブジェクトを返す
最小値min配列の最小の要素を返す
最大値max配列の最大の要素を返す

詳細については、式を使用したデータ サイズの指定他のデータ オブジェクトからのデータ型の派生を参照してください。

参考

| | | | (Fixed-Point Designer)

関連するトピック