Main Content

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

データ プロパティの設定

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

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

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

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

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

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

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

  2. [モデルの階層構造] ペインで、データ オブジェクトの親を選択します。

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

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

これらのプロパティは、Stateflow.Data オブジェクトを使用してプログラムで変更することもできます。Stateflow プログラム インターフェイスの詳細については、Stateflow API の概要を参照してください。

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

Stateflow のデータ プロパティ

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

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

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

名前

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

スコープ

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

設定説明
ローカル

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

定数

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

パラメーター

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

入力

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

出力

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

データ ストア メモリ

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

一時的

関数の実行中のみ存続するデータ。C をアクション言語として使用するチャート内のグラフィカル関数、真理値表、または MATLAB 関数の一時データのみを定義できます。

端子

データ オブジェクトに関連付けられた端子のインデックス。このプロパティは、入出力データに対してのみ適用されます。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 チャートでの可変サイズ データの宣言を参照してください。

実数/複素数

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

設定説明
オフデータ オブジェクトは複素数値を受け入れません。
オンデータ オブジェクトは複素数値を受け入れます。
継承データ オブジェクトは実数/複素数の設定を Simulink ブロックから継承します。

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

最初のインデックス

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

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

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

メモ

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

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

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

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

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

初期値

データ オブジェクトの初期値。定数データの場合、このプロパティは [定数値] と呼ばれます。このプロパティを指定するオプションは、データ オブジェクトのスコープに応じて異なります。

スコープ初期値として指定する内容
ローカル

Stateflow 階層、MATLAB ベース ワークスペース、または Simulink のマスク サブシステムで定義された式またはパラメーター。[初期値] フィールドを空白のままにした場合に初期値を指定するには、モデル エクスプローラーまたは [データ プロパティ] ダイアログ ボックスを開き、[初期値] ドロップダウン リストを [式] または [パラメーター] に設定します。

  • — 数値データは既定値 0 に解決されます。列挙データの場合、既定値は通常、定義の enumeration セクションのリストに最初に表示されている値です。定義の methods セクションで、列挙型に対して異なる既定値を指定できます。詳細については、列挙データ型の定義を参照してください。

  • パラメーター — データ オブジェクトは同じ名前を持つベース ワークスペースの変数に関連付けられます。

既定の設定は [式] です。

定数

定数値または定数式。式は、チャートの更新時に評価されます。結果の値は、チャートを実行するための定数として使用されます。

[定数値] フィールドを空白のままにすると、数値データは既定値 0 に解決されます。列挙データの場合、既定値は通常、定義の enumeration セクションのリストに最初に表示されている値です。定義の methods セクションで、列挙型に対して異なる既定値を指定できます。詳細については、列挙データ型の定義を参照してください。

パラメーター値を入力することはできません。パラメーターから初期値が継承されます。
入力値を入力することはできません。チャートは、指定された端子の Simulink 入力信号から初期値を継承します。
出力

Stateflow 階層、MATLAB ベース ワークスペース、または Simulink のマスク サブシステムで定義された式またはパラメーター。[初期値] フィールドを空白のままにした場合に初期値を指定するには、モデル エクスプローラーまたは [データ プロパティ] ダイアログ ボックスを開き、[初期値] ドロップダウン リストを [式] または [パラメーター] に設定します。

  • — 数値データは既定値 0 に解決されます。列挙データの場合、既定値は通常、定義の enumeration セクションのリストに最初に表示されている値です。定義の methods セクションで、列挙型に対して異なる既定値を指定できます。詳細については、列挙データ型の定義を参照してください。

  • パラメーター — データ オブジェクトは同じ名前を持つベース ワークスペースの変数に関連付けられます。

既定の設定は [式] です。

データ ストア メモリ値を入力することはできません。解決されている Simulink データ ストアから初期値が継承されます。

初期化の時間は、データの親および Stateflow データ オブジェクトのスコープによって異なります。

データの親

スコープ

初期化時間

チャート

入力

適用不可

出力、ローカル

シミュレーション開始時または Enabled Simulink Subsystem の一部として再初期化されたとき

ヒストリ ジャンクションをもつステート

ローカル

シミュレーション開始時または Enabled Simulink Subsystem の一部として再初期化されたとき

ヒストリ ジャンクションをもたないステート

ローカル

ステート Entry

関数 (グラフィカル関数、真理値表関数、MATLAB 関数)

入力、出力

関数呼び出し時点

ローカル

シミュレーション開始時または Enabled Simulink Subsystem の一部として再初期化されたとき

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

制限範囲

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

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

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

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

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

メモ

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

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

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

Data Type Assistant showing the fields used to specify fixed-point data.

符号属性

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

語長

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

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

    • 入力

    • 出力

    • パラメーター

    • データ ストア メモリ

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

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

スケーリング

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

設定説明
2 進小数点

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

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

Schematic showing the relationship between the word length and fraction length properties for fixed-point data.

勾配とバイアス

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

[勾配] には任意の正の実数を指定できます。既定値は 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 と表示されます。

Fixed-point details subpane showing the maximum and minimum values for the data object data.

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

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

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

Fixed-point details subpane showing two specification errors because the data object has invalid maximum and minimum values.

Maximum のラベルが付いた行は、[最大値] プロパティで指定した値が固定小数点データ型で表現できないことを示しています。エラーを修正するには、以下のいずれかの変更を行って、固定小数点データ型で最大値を表現できるようにします。

  • [最大値] プロパティの値を減らします。

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

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

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

ログのプロパティ

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

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

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

信号データのログ

信号のログを有効にするかどうか。信号のログでは、シミュレーション中にデータ オブジェクトの値が MATLAB ワークスペースに保存されます。詳細については、ステートとデータのシミュレーション出力のログを参照してください。

ログ名

データ オブジェクトのログの記録に使用する信号名。

  • データ オブジェクトの名前を使用するには、[信号名を使用] (既定) を選択します。

  • 別の名前を指定するには、[カスタム] を選択してカスタムのログ名を入力します。

データ点の制限

ログに記録するデータ点の数を指定した最大数までに制限するかどうか。たとえば、データ点の最大数を 5000 に設定すると、チャートではシミュレーションで生成された最後の 5000 データ点のみがログに記録されます。

間引き

指定した間引き間隔を使用してサンプルをスキップすることでログ データの量を制限するかどうか。たとえば、間引き間隔を 2 に設定すると、チャートでサンプルが 1 つおきにログに記録されます。

テスト ポイント

シミュレーション時にフローティング スコープで監視できるテスト ポイントとしてデータ オブジェクトを設定するかどうか。テスト ポイントの値を MATLAB ワークスペースにログ記録することも可能です。詳細については、Stateflow チャートのテスト ポイントの監視を参照してください。

追加のプロパティ

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

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

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

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

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

単位

データ オブジェクトに関連付けられている測定単位。このフィールドの単位は、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データ オブジェクトのサイズを返す
タイプtypeデータ オブジェクトの型を返す
fixdt (Simulink)固定小数点または浮動小数点のデータ型を記述した Simulink.NumericType オブジェクトを返す
fi (Fixed-Point Designer)固定小数点数値オブジェクトを返す
最小値min配列の最小の要素を返す
最大値max配列の最大の要素を返す

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

参考

オブジェクト

関数

ツール

関連するトピック