Stateflow.Data
チャート、ステート、ボックス、または関数内のデータ
説明
Stateflow.Data
オブジェクトは、Stateflow® 階層の特定レベルで表示される値を保存するために使用します。詳細については、Stateflow データの追加およびデータ プロパティの設定を参照してください。
作成
入力引数
新しいデータ オブジェクトの親。次のいずれかのタイプの Stateflow API オブジェクトとして指定します。
プロパティ
Stateflow API オブジェクトには、Stateflow エディターで設定した値に対応するプロパティがあります。プロパティにアクセスするかプロパティを変更するには、ドット表記を使用します。複数の API オブジェクトの複数のプロパティにアクセスするか、それらを変更するには、関数 get
および関数 set
をそれぞれ使用します。詳細については、Stateflow オブジェクトのプロパティの変更と関数の呼び出しを参照してください。
インターフェイス
データ オブジェクトの名前。string スカラーまたは文字ベクトルとして指定します。
データ オブジェクトのスコープ。次のいずれかの値として指定します。
"Local"
"Input"
"Output"
"Constant"
"Parameter"
"Data Store Memory"
"Temporary"
"Imported"
"Exported"
詳細については、スコープを参照してください。
データ オブジェクトの端子インデックス。整数スカラーとして指定します。このプロパティは、入出力データに対してのみ適用されます。詳細については、端子を参照してください。
データ オブジェクトを更新する方法。"Discrete"
または "Continuous"
として指定します。このプロパティは、データを含むチャートの ChartUpdate
プロパティが "CONTINUOUS"
である場合にのみ適用されます。詳細については、Stateflow の連続時間モデルを参照してください。
データ オブジェクトの値を初期化する方法。データのスコープに依存する string スカラーまたは文字ベクトルとして指定します。
ローカル データおよび出力データの場合は、
"Expression"
または"Parameter"
を使用。定数データの場合は、
"Expression"
を使用。入力データ、パラメーター、データ ストア メモリの場合は、
"Not Needed"
を使用。
データ オブジェクトの初期値を指定するには、Props.InitialValue
プロパティを使用します。
詳細については、初期化メソッドを参照してください。
シミュレーションの最後にデータ オブジェクトの値を MATLAB® ベース ワークスペースの同名の変数に保存するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。このプロパティは、C をアクション言語として使用するチャート内のデータにのみ適用されます。詳細については、最終値をベース ワークスペースへ保存を参照してください。
データ オブジェクトが調整可能なパラメーターかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。調整可能なパラメーターのみが、シミュレーション中に変更可能です。このプロパティは、パラメーター データに対してのみ適用されます。
データ仕様
データ オブジェクトの型。データ オブジェクトの 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 を使用したチャートの作成のデータの追加セクションを参照してください。
データ仕様のプロパティ。以下のプロパティをもつ 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"
である場合にのみ適用されます。詳細については、バス信号へのアクセスを参照してください。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 データの単位の指定を参照してください。
この プロパティ は読み取り専用です。
コンパイラによって決定されるデータ サイズ。文字ベクトルとして指定します。
この プロパティ は読み取り専用です。
コンパイラによって決定されるデータ型。文字ベクトルとして指定します。
アクティブ ステートの出力
この プロパティ は読み取り専用です。
データ オブジェクトによって監視されるステートまたはチャート。空の配列、あるいは Stateflow.AtomicSubchart
、Stateflow.Chart
、Stateflow.SimulinkBasedState
、Stateflow.State
、Stateflow.StateTransitionTableChart
のいずれかのオブジェクトとして指定します。詳細については、アクティブ ステート データによるステート アクティビティの監視を参照してください。
信号ログとテスト ポイントの監視
データ オブジェクトに対する信号のログのプロパティ。次のプロパティをもつ 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 ワークスペースに保存されます。詳細については、Log Simulation Output for States and Dataを参照してください。
例: data.LoggingInfo.DataLogging = true;
データ オブジェクトをテスト ポイントとして設定するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。シミュレーション時にテストポイントをフローティング スコープで監視できます。テスト ポイントの値を MATLAB ワークスペースにログ記録することも可能です。詳細については、テスト ポイントとしての信号の設定 (Simulink)を参照してください。
デバッグ
データ オブジェクトに対するデバッガーのプロパティ。次のプロパティをもつ Stateflow.DataDebug
オブジェクトとして指定します。
Watch
— ブレークポイントと監視ウィンドウでデータ オブジェクトの値を追跡するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。詳細については、ブレークポイントと監視ウィンドウでのデータの表示を参照してください。
例: data.Debug.Watch = true;
階層
この プロパティ は読み取り専用です。
データ オブジェクトを含むマシン。Stateflow.Machine
オブジェクトとして指定します。
この プロパティ は読み取り専用です。
モデルの階層構造におけるデータ オブジェクトの親の場所。文字ベクトルとして指定します。
識別
データ オブジェクトの説明。string スカラーまたは文字ベクトルとして指定します。
データ オブジェクトのドキュメント リンク。string スカラーまたは文字ベクトルとして指定します。
データ オブジェクトのユーザー定義のタグ。任意の型のデータとして指定します。
この プロパティ は読み取り専用です。
セッションに依存しない識別子。整数スカラーとして指定します。このプロパティを使用して、データ オブジェクトをその親チャート内の他のオブジェクトと区別します。
この プロパティ は読み取り専用です。
一意の識別子。整数スカラーとして指定します。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 = 2×2 cell
{'On' } {'y = x;'}
{'Off'} {'y = 0;'}
チャート出力の Name
プロパティを "z"
に変更し、チャート内のその出力への参照を更新します。
renameReferences(data,"z")
data.Name
ans = 'z'
チャート出力を参照するステートの名前と変更された entry アクションを表示します。
get(states,{"Name" "EntryAction"})
ans = 2×2 cell
{'On' } {'z = x;'}
{'Off'} {'z = 0;'}
バージョン履歴
R2006a より前に導入オブジェクト関数 getReferences
および renameReferences
は、チャートがデータ オブジェクトの名前を参照している場所 (ステート アクションや遷移アクションなど) を特定して更新します。
オブジェクト関数
getReferences
は、チャートがデータ名を参照している場所を返します。オブジェクト関数
renameReferences
は、データ オブジェクトの名前を変更し、チャート内のそのデータ名への参照をすべて更新します。
関数 Stateflow.Data
は、タイプ Stateflow.Machine
の引数をサポートしません。マシンペアレント データがモデルに存在する場合、生成コードの再利用とその他のコード最適化ができなくなります。この種類のデータは、多くの Simulink® 機能や Stateflow 機能とも互換性がありません。Stateflow データをモデルの他のチャートやブロックからもアクセスできるようにするには、データ ストア メモリを使用します。詳細については、チャートからのデータ ストア メモリへのアクセスを参照してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)