このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Stateflow.Data
チャート、ステート、ボックス、または関数内のデータ
説明
Stateflow.Data
オブジェクトは、Stateflow® 階層の特定レベルで表示される値を保存するために使用します。詳細については、Stateflow データの追加およびデータ プロパティの設定を参照してください。
作成
入力引数
parent
— 新しいデータ オブジェクトの親
Stateflow.Chart
オブジェクト | Stateflow.State
オブジェクト | Stateflow.Box
オブジェクト | Stateflow.Function
オブジェクト | ...
新しいデータ オブジェクトの親。次のいずれかのタイプの Stateflow API オブジェクトとして指定します。
プロパティ
Stateflow API オブジェクトには、Stateflow エディターで設定した値に対応するプロパティがあります。プロパティにアクセスするかプロパティを変更するには、ドット表記を使用します。複数の API オブジェクトの複数のプロパティにアクセスするか、それらを変更するには、関数 get
および関数 set
をそれぞれ使用します。詳細については、Stateflow オブジェクトのプロパティの変更と関数の呼び出しを参照してください。
インターフェイス
Name
— データ オブジェクトの名前
"data"
(既定値) | string スカラー | 文字ベクトル
データ オブジェクトの名前。string スカラーまたは文字ベクトルとして指定します。
Scope
— データ オブジェクトのスコープ
"Local"
(既定値) | "Input"
| "Output"
| "Constant"
| "Parameter"
| "Data Store Memory"
| "Temporary"
| "Imported"
| "Exported"
データ オブジェクトのスコープ。次のいずれかの値として指定します。
"Local"
"Input"
"Output"
"Constant"
"Parameter"
"Data Store Memory"
"Temporary"
"Imported"
"Exported"
詳細については、スコープを参照してください。
Port
— データ オブジェクトの端子インデックス
スカラー
データ オブジェクトの端子インデックス。整数スカラーとして指定します。このプロパティは、入出力データに対してのみ適用されます。詳細については、端子を参照してください。
UpdateMethod
— データ オブジェクトを更新する方法
"Discrete"
(既定値) | "Continuous"
データ オブジェクトを更新する方法。"Discrete"
または "Continuous"
として指定します。このプロパティは、データを含むチャートの ChartUpdate
プロパティが "CONTINUOUS"
である場合にのみ適用されます。詳細については、Stateflow の連続時間モデルを参照してください。
InitializeMethod
— データ オブジェクトを初期化する方法
"Expression"
(既定値) | "Parameter"
| "Not Needed"
データ オブジェクトの値を初期化する方法。データのスコープに依存する string スカラーまたは文字ベクトルとして指定します。
ローカル データおよび出力データの場合は、
"Expression"
または"Parameter"
を使用。定数データの場合は、
"Expression"
を使用。入力データ、パラメーター、データ ストア メモリの場合は、
"Not Needed"
を使用。
データ オブジェクトの初期値を指定するには、Props.InitialValue
プロパティを使用します。
このプロパティは、モデル エクスプローラーおよび [データ プロパティ] ダイアログ ボックスの [初期値] ドロップダウン リストと等価です。詳細については、初期値を参照してください。
SaveToWorkspace
— データ オブジェクトをワークスペース変数に保存するかどうか
false
または 0 (既定値) | true
または 1
シミュレーションの最後にデータ オブジェクトの値を MATLAB® ベース ワークスペースの同名の変数に保存するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。このプロパティは、C をアクション言語として使用するチャート内のデータにのみ適用されます。詳細については、最終値をベース ワークスペースへ保存を参照してください。
Tunable
— データ オブジェクトが調整可能なパラメーターかどうか
true
または 1 (既定値) | false
または 0
データ オブジェクトが調整可能なパラメーターかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。調整可能なパラメーターのみが、シミュレーション中に変更可能です。このプロパティは、パラメーター データに対してのみ適用されます。
データ仕様
DataType
— データ オブジェクトの型
"Inherit: From definition in chart"
(既定値) | "double"
| "single"
| "int32"
| "uint32"
| "boolean"
| ...
データ オブジェクトの型。データ オブジェクトの Props.Type.Method
プロパティに依存する string スカラーまたは文字ベクトルとして指定します。
データ オブジェクトの
Props.Type.Method
プロパティが"Inherit"
である場合、このプロパティの値は、ローカル データに対しては"Inherit: From definition in chart"
、入力データ、出力データ、パラメーター データに対しては"Inherit: Same as Simulink"
です。データ オブジェクトの
Props.Type.Method
プロパティが"Built-in"
である場合、このプロパティは次のいずれかのオプションを使って指定できます。"double"
"single"
"int8"
"int16"
"int32"
"int64"
"uint8"
"uint16"
"uint32"
"uint64"
"boolean"
"string"
"ml"
(C をアクション言語として使用するチャートでのみサポート)
それ以外の場合は、データ オブジェクトの
Props.Type
プロパティが、このプロパティの値を決定します。
詳細については、Stateflow API を使用したチャートの作成のデータの追加セクションを参照してください。
Props
— データ仕様のプロパティ
Stateflow.DataProps
オブジェクト
データ仕様のプロパティ。以下のプロパティをもつ Stateflow.DataProps
オブジェクトとして指定します。
Type.Method
— データ オブジェクトの型を設定する方法。string スカラーまたは文字ベクトルとして指定します。ローカル データ、入力データ、出力データ、またはパラメーター データの場合は、
"Inherited"
、"Built-in"
、"Bus Object"
、"Enumerated"
、"Expression"
、または"Fixed point"
を使用。定数データの場合は、
"Built-in"
、"Expression"
、または"Fixed point"
を使用。データ ストア メモリのデータの場合は、
"Inherited"
を使用。
このプロパティは、モデル エクスプローラーのデータ型アシスタントおよび [データ プロパティ] ダイアログ ボックスにおける [モード] フィールドと等価です。詳細については、Stateflow データの型の指定を参照してください。
Type.BusObject
— データ オブジェクトを定義するSimulink.Bus
オブジェクトの名前。string スカラーまたは文字ベクトルとして指定します。このプロパティは、データ オブジェクトのType.Method
プロパティが"Bus Object"
である場合にのみ適用されます。詳細については、Stateflow 構造体を介したバス信号へのアクセスを参照してください。Type.EnumType
— データ オブジェクトを定義する列挙型の名前。string スカラーまたは文字ベクトルとして指定します。このプロパティは、データ オブジェクトのType.Method
プロパティが"Enumerated"
である場合にのみ適用されます。詳細については、列挙データを使用した名前による値の参照を参照してください。Type.Expression
— データ オブジェクトのデータ型になる式。string スカラーまたは文字ベクトルとして指定します。このプロパティは、データ オブジェクトのType.Method
プロパティが"Expression"
である場合にのみ適用されます。詳細については、MATLAB 式を使用したデータ プロパティの指定を参照してください。Type.Signed
— 符号属性。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。このプロパティは、データ オブジェクトのType.Method
プロパティが"Fixed point"
である場合にのみ適用されます。詳細については、Stateflow チャートの固定小数点データを参照してください。Type.WordLength
— 語長 (ビット単位)。string スカラーまたは文字ベクトルとして指定します。このプロパティは、データ オブジェクトのType.Method
プロパティが"Fixed point"
である場合にのみ適用されます。詳細については、Stateflow チャートの固定小数点データを参照してください。Type.Fixpt.ScalingMode
— 固定小数点データ オブジェクトのスケーリング方法。"Binary point"
、"Slope and bias"
、または"None"
として指定します。このプロパティは、データ オブジェクトのType.Method
プロパティが"Fixed point"
である場合にのみ適用されます。詳細については、Stateflow チャートの固定小数点データを参照してください。Type.Fixpt.FractionLength
— 小数部の長さ (ビット単位)。string スカラーまたは文字ベクトルとして指定します。このプロパティは、Type.Method
プロパティが"Fixed point"
であり、Type.Fixpt.ScalingMode
プロパティが"Binary point"
である場合にのみ適用されます。Type.Fixpt.Slope
— 勾配。string スカラーまたは文字ベクトルとして指定します。このプロパティは、Type.Method
プロパティが"Fixed point"
であり、Type.Fixpt.ScalingMode
プロパティが"Slope and bias"
である場合にのみ適用されます。Type.Fixpt.Bias
— バイアス。string スカラーまたは文字ベクトルとして指定します。このプロパティは、Type.Method
プロパティが"Fixed point"
であり、Type.Fixpt.ScalingMode
プロパティが"Slope and bias"
である場合にのみ適用されます。Type.Fixpt.Lock
— 固定小数点ツール (Fixed-Point Designer)で選択されているオートスケールされた型によって固定小数点型が置き換えられるのを防止するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。このプロパティは、データ オブジェクトのType.Method
プロパティが"Fixed point"
である場合にのみ適用されます。Array.Size
— データ オブジェクトのサイズ。string スカラーまたは文字ベクトルとして指定します。詳細については、Stateflow データのサイズの指定を参照してください。Array.IsDynamic
— データ オブジェクトが可変サイズかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。このプロパティは、[プロパティ インスペクター]、モデル エクスプローラー、または [データ プロパティ] ダイアログ ボックスの [可変サイズ] チェック ボックスと等価です。詳細については、Stateflow チャートでの可変サイズ データの宣言を参照してください。Array.FirstIndex
— 配列データ オブジェクトの最初の要素のインデックス。string スカラーまたは文字ベクトルとして指定します。このプロパティは、C をアクション言語として使用するチャート内の配列データにのみ適用されます。詳細については、最終値をベース ワークスペースへ保存を参照してください。Complexity
— データ オブジェクトが複素数値を受け入れるかどうか。"On"
または"Off"
として指定します。詳細については、Stateflow チャートの複素数データを参照してください。InitialValue
— 初期値。string スカラーまたは文字ベクトルとして指定します。詳細については、初期値を参照してください。Range.Minimum
— 最小値。string スカラーまたは文字ベクトルとして指定します。詳細については、制限範囲を参照してください。Range.Maximum
— 最大値。string スカラーまたは文字ベクトルとして指定します。詳細については、制限範囲を参照してください。ResolveToSignalObject
— データ オブジェクトが、モデルまたはベース ワークスペースで定義されるSimulink.Signal
オブジェクトに解決されるかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。詳細については、Simulink の信号オブジェクトからのデータ プロパティの解決を参照してください。Unit.Name
— 測定単位。string スカラーまたは文字ベクトルとして指定します。このプロパティは、入出力データに対してのみ適用されます。詳細については、Stateflow データの単位の指定を参照してください。
CompiledSize
— コンパイラによって決定されるデータ サイズ
""
(既定値) | 文字ベクトル
この プロパティ は読み取り専用です。
コンパイラによって決定されるデータ サイズ。文字ベクトルとして指定します。
CompiledType
— コンパイラによって決定されるデータ型
"unknown"
(既定値) | 文字ベクトル
この プロパティ は読み取り専用です。
コンパイラによって決定されるデータ型。文字ベクトルとして指定します。
アクティブ ステートの出力
OutputState
— データ オブジェクトによって監視されるステートまたはチャート
[]
(既定値) | Stateflow.AtomicSubchart
オブジェクト | Stateflow.Chart
| Stateflow.SimulinkBasedState
オブジェクト | Stateflow.State
オブジェクト | Stateflow.StateTransitionTableChart
オブジェクト
この プロパティ は読み取り専用です。
データ オブジェクトによって監視されるステートまたはチャート。空の配列、あるいは Stateflow.AtomicSubchart
、Stateflow.Chart
、Stateflow.SimulinkBasedState
、Stateflow.State
、Stateflow.StateTransitionTableChart
のいずれかのオブジェクトとして指定します。詳細については、アクティブ ステート データによるステート アクティビティの監視を参照してください。
信号ログとテスト ポイントの監視
LoggingInfo
— 信号のログのプロパティ
Stateflow.SigLoggingInfo
オブジェクト
データ オブジェクトに対する信号のログのプロパティ。次のプロパティをもつ Stateflow.SigLoggingInfo
オブジェクトとして指定します。
DataLogging
— 信号のログを有効にするかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。DecimateData
— ログ データの量を制限するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。Decimation
— 間引き間隔。整数スカラーとして指定します。このプロパティは、DecimateData
プロパティがtrue
である場合にのみ適用されます。LimitDataPoints
— ログに記録するデータ点の数を制限するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。MaxPoints
— ログに記録するデータ点の最大数。整数スカラーとして指定します。このプロパティは、LimitDataPoints
プロパティがtrue
である場合にのみ適用されます。NameMode
— 信号名のソース。"SignalName"
または"Custom"
として指定します。LoggingName
— カスタム信号名。string スカラーまたは文字ベクトルとして指定します。このプロパティは、NameMode
プロパティが"Custom"
である場合にのみ適用されます。
信号のログでは、シミュレーション中にデータ オブジェクトの値が MATLAB ワークスペースに保存されます。詳細については、ステートとデータのシミュレーション出力のログを参照してください。
例: data.LoggingInfo.DataLogging = true;
TestPoint
— データ オブジェクトをテスト ポイントとして設定するかどうか
false
または 0 (既定値) | true
または 1
データ オブジェクトをテスト ポイントとして設定するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。シミュレーション時にテストポイントをフローティング スコープで監視できます。テスト ポイントの値を MATLAB ワークスペースにログ記録することも可能です。詳細については、Stateflow チャートのテスト ポイントの監視を参照してください。
デバッグ
Debug
— デバッガーのプロパティ
Stateflow.DataDebug
オブジェクト
データ オブジェクトに対するデバッガーのプロパティ。次のプロパティをもつ Stateflow.DataDebug
オブジェクトとして指定します。
Watch
— ブレークポイントと監視ウィンドウでデータ オブジェクトの値を追跡するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。詳細については、ブレークポイントと監視ウィンドウでのデータの表示を参照してください。
例: data.Debug.Watch = true;
階層
Machine
— データ オブジェクトを含むマシン
Stateflow.Machine
オブジェクト
この プロパティ は読み取り専用です。
データ オブジェクトを含むマシン。Stateflow.Machine
オブジェクトとして指定します。
Path
— モデルの階層構造における親の場所
文字ベクトル
この プロパティ は読み取り専用です。
モデルの階層構造におけるデータ オブジェクトの親の場所。文字ベクトルとして指定します。
識別
Description
— 説明
""
(既定値) | string スカラー | 文字ベクトル
データ オブジェクトの説明。string スカラーまたは文字ベクトルとして指定します。
Document
— ドキュメント リンク
""
(既定値) | string スカラー | 文字ベクトル
データ オブジェクトのドキュメント リンク。string スカラーまたは文字ベクトルとして指定します。
Tag
— ユーザー定義のタグ
[]
(既定値) | 任意のデータ型
データ オブジェクトのユーザー定義のタグ。任意の型のデータとして指定します。
SSIdNumber
— セッションに依存しない識別子
スカラー
この プロパティ は読み取り専用です。
セッションに依存しない識別子。整数スカラーとして指定します。このプロパティを使用して、データ オブジェクトをその親チャート内の他のオブジェクトと区別します。
Id
— 一意の識別子
スカラー
この プロパティ は読み取り専用です。
一意の識別子。整数スカラーとして指定します。SSIdNumber
とは異なり、このプロパティの値は新しい MATLAB セッションを開始するたびに再割り当てされ、オブジェクトが削除されるとリサイクルされる場合があります。
オブジェクト関数
getParent | オブジェクトの親の特定 |
getReferences | シンボル名への参照の特定 |
renameReferences | シンボル名の変更とそのシンボル名への参照の更新 |
dialog | プロパティ ダイアログ ボックスを開く |
view | 編集環境でオブジェクトを表示 |
例
チャートへのデータの追加
チャート ch
にデータ オブジェクトを追加します。名前、スコープ、データ型を指定します。
data = Stateflow.Data(ch); data.Name = "x"; data.Scope = "Input"; data.Props.Type.Method = "Built-in"; data.DataType = "single";
データ名の変更とチャート内の参照の更新
チャート出力 y
の名前を変更し、その出力への参照を更新します。
モデルを開き、チャート出力 y
の Stateflow.Data
オブジェクトにアクセスします。
open_system("sfRectifyAPIExample") data = find(sfroot,"-isa","Stateflow.Data",Scope="Output"); data.Name
ans = 'y'
チャートがチャート出力を参照している場所を特定します。
references = getReferences(data)
references=2×1 SymbolReference array with properties:
Position
WhereUsed
チャート出力を参照するステートの名前と entry アクションを表示します。
whereUsed = [references.WhereUsed]; classes = arrayfun(@class,whereUsed,UniformOutput=false); idx = (classes=="Stateflow.State"); states = whereUsed(idx); get(states,{"Name" "EntryAction"})
ans = 2x2 cell
{'On' } {'y = x;'}
{'Off'} {'y = 0;'}
チャート出力の Name
プロパティを "z"
に変更し、チャート内のその出力への参照を更新します。
renameReferences(data,"z")
data.Name
ans = 'z'
チャート出力を参照するステートの名前と変更された entry アクションを表示します。
get(states,{"Name" "EntryAction"})
ans = 2x2 cell
{'On' } {'z = x;'}
{'Off'} {'z = 0;'}
バージョン履歴
R2006a より前に導入R2023a: 新しいオブジェクト関数
オブジェクト関数 getReferences
および renameReferences
は、チャートがデータ オブジェクトの名前を参照している場所 (ステート アクションや遷移アクションなど) を特定して更新します。
オブジェクト関数
getReferences
は、チャートがデータ名を参照している場所を返します。オブジェクト関数
renameReferences
は、データ オブジェクトの名前を変更し、チャート内のそのデータ名への参照をすべて更新します。
R2021b: Stateflow での、マシンを親とするデータの作成のサポート終了
関数 Stateflow.Data
は、タイプ Stateflow.Machine
の引数をサポートしません。マシンを親とするデータがモデルに存在する場合、生成コードの再利用とその他のコード最適化ができなくなります。この種類のデータは、多くの Simulink® 機能や Stateflow 機能とも互換性がありません。Stateflow データをモデルの他のチャートやブロックからもアクセスできるようにするには、データ ストア メモリを使用します。詳細については、チャートからのデータ ストア メモリへのアクセスを参照してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)