このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
データ プロパティの設定
Simulink® で Stateflow® チャートを作成するときに、[プロパティ インスペクター] またはモデル エクスプローラーでデータのプロパティを変更できます。
[プロパティ インスペクター] を使用するには、次を行います。
[モデル化] タブの [データの設計] で、[[シンボル] ペイン] および [プロパティ インスペクター] を選択します。
[シンボル] ペインで、データ オブジェクトを選択します。
[プロパティ インスペクター] で、データのプロパティを編集します。
モデル エクスプローラーを使用するには、次を行います。
[モデル化] タブの [データの設計] で、[モデル エクスプローラー] を選択します。
[モデルの階層構造] ペインで、データ オブジェクトの親を選択します。
[コンテンツ] ペインで、データ オブジェクトを選択します。
[ダイアログ] ペインで、データのプロパティを編集します。
これらのプロパティは、Stateflow.Data
オブジェクトを使用してプログラムで変更することもできます。Stateflow プログラム インターフェイスの詳細については、Stateflow API の概要を参照してください。
プロパティは、データ オブジェクトのスコープと型に応じて変化します。多くのデータ プロパティでは、式やパラメーター値を入力できます。単一のパラメーターを変更して複数のプロパティを更新できるため、パラメーターを使用して多数のデータ オブジェクトのプロパティを設定すると、モデルの保守が簡素化されます。
Stateflow のデータ プロパティ
これらのデータ プロパティは以下で設定できます。
[プロパティ インスペクター] の [プロパティ] タブ。
モデル エクスプローラーの [一般] タブ
名前
データ オブジェクトの名前。詳細については、Stateflow オブジェクトの命名のガイドラインを参照してください。
スコープ
メモリ内に配置されているデータの場所 (親との相対位置)。
設定 | 説明 |
---|---|
ローカル | 現在のチャートでのみ定義されたデータ。 |
定数 | Stateflow オブジェクトとその子で認識される読み取り専用定数値。 |
パラメーター | MATLAB® ベース ワークスペースで値が定義された定数、または親がマスク サブシステムで定義および初期化した Simulink ブロック パラメーターから値が派生した定数。Stateflow データ オブジェクトには、MATLAB 変数、Simulink データ ディクショナリ エントリ、または 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
]n
行m
列の行列を指定するには、[サイズ] プロパティを[
に設定する。n
m
]n
次元配列を指定するには、[サイズ] プロパティを[
に設定する。ここでd1
d2
⋯dn
]di
は、i
番目の次元のサイズです。Stateflow データ オブジェクトがそのサイズを、対応する Simulink 信号から、またはチャート内の定義から継承するように設定するには、サイズを
–1
に指定する。
指定可能なサイズは、データ オブジェクトのスコープによって決まります。Stateflow データ ストア メモリには、バインドされている Simulink データ ストアから、サイズなどのプロパティがすべて継承されます。その他のスコープでは、サイズにはスカラー、ベクトル、または n 次元の行列を指定できます。詳細については、Stateflow データのサイズの指定を参照してください。
データ サイズを指定するには、有効なサイズ指定になる MATLAB 式を使用できます。詳細については、式を使用したデータ サイズの指定とMATLAB 式を使用したデータ プロパティの指定を参照してください。
可変サイズ
データ オブジェクトのサイズがシミュレーション中に変化するように指定します。このオプションは、チャート プロパティ [可変サイズの配列をサポート] を有効にした場合にのみ使用できます。詳細については、Stateflow チャートでの可変サイズ データの宣言を参照してください。
実数/複素数
複素数値がデータ オブジェクトに受け入れられるかどうかを指定します。
設定 | 説明 |
---|---|
オフ | データ オブジェクトは複素数値を受け入れません。 |
オン | データ オブジェクトは複素数値を受け入れます。 |
継承 | データ オブジェクトは実数/複素数の設定を Simulink ブロックから継承します。 |
既定値は [オフ]
です。詳細については、Stateflow チャートの複素数データを参照してください。
最初のインデックス
データ配列の先頭要素のインデックス。最初のインデックスには任意の整数を指定できます。既定値は 0
です。このプロパティは C チャートでのみ使用可能です。
型
データ オブジェクトのデータ型。データ型を指定するには、次を行います。
[型] ドロップダウン リストから、組み込み型を選択する。
[型] フィールドに、データ型になる式を入力する。次のいずれかの式を使用します。
固定小数点または浮動小数点のデータ型を記述した
Simulink.NumericType
(Simulink) オブジェクトを作成するための関数fixdt
(Simulink) の呼び出し。固定小数点データの指定を参照してください。事前定義されたデータ型を指定するための
type
演算子の呼び出し。他のデータ オブジェクトからのデータ型の派生を参照してください。MATLAB ベース ワークスペースでデータ型エイリアスを定義する
Simulink.AliasType
(Simulink) オブジェクト。Simulink エイリアスを使用したデータ型の指定を参照してください。
詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。
また、モデル エクスプローラーで、[データ型アシスタントを表示] ボタン をクリックしてデータ型アシスタントを開くこともできます。データの [モード] を指定してから、そのモードに基づいてデータ型を指定します。詳細については、Stateflow データの型の指定を参照してください。
メモ
固定小数点データ型用に式を入力した場合は、スケーリングを明示的に指定しなければなりません。たとえば、fixdt(1,16)
などの不完全な仕様は [型] フィールドに入力できません。スケーリングを明示的に指定しなかった場合は、モデルをシミュレーションしようとするとエラーが表示されます。
データ型を固定小数点ツールに対しロックする
現在の固定小数点型が、固定小数点ツール (Fixed-Point Designer)で選択されているオートスケールされた型に置き換えられないようにします。詳細については、固定小数点ツールを使用した固定小数点の反復的変換 (Fixed-Point Designer)を参照してください。
単位 (m、m/s^2、N*m など)
入出力データの物理単位を指定します。詳細については、Stateflow データの単位の指定を参照してください。
初期値
データ オブジェクトの初期値。定数データの場合、このプロパティは [定数値] と呼ばれます。このプロパティを指定するオプションは、データ オブジェクトのスコープに応じて異なります。
スコープ | 初期値として指定する内容 |
---|---|
ローカル | Stateflow 階層、MATLAB ベース ワークスペース、または Simulink のマスク サブシステムで定義された式またはパラメーター。[初期値] フィールドを空白のままにした場合に初期値を指定するには、モデル エクスプローラーまたは [データ プロパティ] ダイアログ ボックスを開き、[初期値] ドロップダウン リストを
既定の設定は |
定数 | 定数値または定数式。式は、チャートの更新時に評価されます。結果の値は、チャートを実行するための定数として使用されます。 [定数値] フィールドを空白のままにすると、数値データは既定値 0 に解決されます。列挙データの場合、既定値は通常、定義の |
パラメーター | 値を入力することはできません。パラメーターから初期値が継承されます。 |
入力 | 値を入力することはできません。チャートは、指定された端子の Simulink 入力信号から初期値を継承します。 |
出力 | Stateflow 階層、MATLAB ベース ワークスペース、または Simulink のマスク サブシステムで定義された式またはパラメーター。[初期値] フィールドを空白のままにした場合に初期値を指定するには、モデル エクスプローラーまたは [データ プロパティ] ダイアログ ボックスを開き、[初期値] ドロップダウン リストを
既定の設定は |
データ ストア メモリ | 値を入力することはできません。解決されている Simulink データ ストアから初期値が継承されます。 |
初期化の時間は、データの親および Stateflow データ オブジェクトのスコープによって異なります。
データの親 | スコープ | 初期化時間 |
---|---|---|
チャート | 入力 | 適用不可 |
出力、ローカル | シミュレーション開始時または Enabled Simulink Subsystem の一部として再初期化されたとき | |
ヒストリ ジャンクションをもつステート | ローカル | シミュレーション開始時または Enabled Simulink Subsystem の一部として再初期化されたとき |
ヒストリ ジャンクションをもたないステート | ローカル | ステート Entry |
関数 (グラフィカル関数、真理値表関数、MATLAB 関数) | 入力、出力 | 関数呼び出し時点 |
ローカル | シミュレーション開始時または Enabled Simulink Subsystem の一部として再初期化されたとき |
式を使用して初期値を指定する方法の詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。
制限範囲
このデータ オブジェクトの許容される値の範囲。Stateflow チャートでは、この範囲を使用して、シミュレーション時にデータ オブジェクトを検証します。
[最小値]: シミュレーション時に、データ項目に対して許容される最小値。数値のスカラー値になる式またはパラメーターを入力できます。
[最大値]: シミュレーション時に、データ項目に対して許容される最大値。数値のスカラー値になる式またはパラメーターを入力できます。
[最小値] に設定できる最も小さい値は -inf
です。[最大値] に設定できる最も大きい値は inf
です。
最小値と最大値は MATLAB 式により指定できます。詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。
メモ
Simulink モデルで、[最大値] プロパティと [最小値] プロパティを使用して、固定小数点データ型に対して最高精度のスケーリングが計算されます。[最高精度のスケーリングを計算] を選択する前に、最小値または最大値を指定してください。詳細については、最高精度のスケーリングを計算を参照してください。
固定小数点データのプロパティ
モデル エクスプローラーで、[データ型アシスタント] の [モード] を [固定小数点]
に設定した場合は、[データ型アシスタント] に、固定小数点データに関するその他の情報を指定するためのフィールドが表示されます。
符号属性
固定小数点データが [符号付き]
か [符号なし]
かを指定します。符号付きデータでは正の値と負の値を表すことができます。符号なしデータは正の値のみを表します。既定の設定は、[符号付き]
です。
語長
量子化された整数をもつ語のビット サイズを指定します。長いワード サイズは短いワード サイズに比べてよい精度で大きな値を表します。既定値は 16 です。
以下のスコープのチャートレベル データの場合、取り得る語長は 0 ~ 128 の任意の整数です。
入力
出力
パラメーター
データ ストア メモリ
他の Stateflow データの場合、取り得る語長は 0 ~ 32 の任意の整数です。
語長は MATLAB 式により指定できます。詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。
スケーリング
オーバーフローを避け、量子化エラーを最小限に抑えるための固定小数点データのスケーリング方法を指定します。既定の方法は、[2 進小数点]
スケーリングです。
設定 | 説明 |
---|---|
2 進小数点 | このモードを選択した場合は、[データ型アシスタント] に、2 進小数点の位置を指定する [小数部の長さ] フィールドが表示されます。 [小数部の長さ] には任意の整数を指定できます。既定値は 0 です。正の整数を入力すると、その値に応じて 2 進小数点は右端のビットの左側に配置されます。負の整数を入力すると、2 進小数点は右端のビットのさらに右側に配置されます。
|
勾配とバイアス | このモードを選択した場合は、[データ型アシスタント] に、固定小数点エンコード スキームの [勾配] と [バイアス] の入力フィールドが表示されます。 [勾配] には任意の正の実数を指定できます。既定値は 1.0 です。 [バイアス] には任意の実数を指定できます。既定値は 0.0 です。 勾配とバイアスは、MATLAB ベース ワークスペースで定義したパラメーターを含む式として入力できます。 |
可能な限り、2 進小数点のスケーリングを使用すると、生成コードでの固定小数点データの実装を簡素化できます。2 進小数点のスケーリングによる固定小数点データの操作は単純なビット シフトで実行されるため、別々の勾配値とバイアス値で必要とされるコード実装の手間が省けます。固定小数点のスケーリングについての詳細は、スケーリング (Fixed-Point Designer)を参照してください。
[小数部の長さ]、[勾配] および [バイアス] を指定するには、MATLAB 式を使用できます。詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。
データ型オーバーライド
このモデルに適用される固定小数点ツールのデータ型オーバーライドの設定を継承するかどうかを指定します。データがモデル全体の設定を継承しない場合、指定されたデータ型が適用されます。
最高精度のスケーリングを計算
[最小値] プロパティと [最大値] プロパティの値に基づいて、[2 進小数点]
と [勾配とバイアス]
のスケーリングの最高精度値を計算するかどうかを指定します。
最高精度のスケーリング値を計算するには、次を行います。
[最大値] プロパティと [最小値] プロパティを指定します。
[最高精度のスケーリングを計算] をクリックします。
最高精度のスケーリング値が、[小数部の長さ] フィールドまたは [勾配] および [バイアス] フィールドに表示されます。詳細については、精度の最大化 (Fixed-Point Designer)を参照してください。
メモ
[最大値] プロパティと [最小値] プロパティは、[定数]
と [パラメーター]
のスコープには適用されません。[定数]
の場合は、Simulink ソフトウェアは [初期値] 設定に基づいてスケーリング値を計算します。ソフトウェアは [パラメーター]
スコープのデータに対する最適な精度のスケーリング値を計算できません。
固定小数点の詳細
[データ型アシスタント] で定義された固定小数点データ型の情報を表示します。
Minimum
とMaximum
に表示される値は、[最小値] プロパティと [最大値] プロパティで指定した値と同じです。Representable minimum
、Representable maximum
およびPrecision
は、固定小数点データ型で表現可能な最小値、最大値および精度を表示します。
モデルを最初にコンパイルしなければフィールドの値を決定できない場合は、[固定小数点の詳細] サブペインの値は Unknown
と表示されます。
[固定小数点の詳細] サブペインに表示された値は、固定小数点データ型を定義する値を変更しても、自動的に更新 "されません"。[固定小数点の詳細] サブペインに表示された値を更新するには、[詳細の更新] をクリックします。
[詳細の更新] をクリックしても、モデルは変更されません。表示のみが変更されます。表示された値を適用するには、[適用] または [OK] をクリックします。
[固定小数点の詳細] サブペインは、固定小数点データ型を指定した結果発生したエラーを示します。たとえば、以下の図には 2 つのエラーが表示されています。
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 では既定値が使用されます。
プロパティ | 既定値 | |
---|---|---|
サイズ |
| |
最初のインデックス | 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 | 配列の最大の要素を返す |
詳細については、式を使用したデータ サイズの指定と他のデータ オブジェクトからのデータ型の派生を参照してください。
参考
オブジェクト
Stateflow.Data
|Simulink.AliasType
(Simulink) |Simulink.NumericType
(Simulink)
関数
ツール
- モデル エクスプローラー (Simulink)