Main Content

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

Stateflow.Data

チャート、ステート、ボックス、または関数内のデータ

    説明

    Stateflow.Data オブジェクトは、Stateflow® 階層の特定レベルで表示される値を保存するために使用します。詳細については、Stateflow データの追加およびデータ プロパティの設定を参照してください。

    作成

    説明

    data = Stateflow.Data(parent) は、親であるチャート、ステート、ボックス、または関数内に Stateflow.Data オブジェクトを作成します。

    入力引数

    すべて展開する

    新しいデータ オブジェクトの親。次のいずれかのタイプの 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" である場合にのみ適用されます。詳細については、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 データの単位の指定を参照してください。

    この プロパティ は読み取り専用です。

    コンパイラによって決定されるデータ サイズ。文字ベクトルとして指定します。

    この プロパティ は読み取り専用です。

    コンパイラによって決定されるデータ型。文字ベクトルとして指定します。

    アクティブ ステートの出力

    この プロパティ は読み取り専用です。

    データ オブジェクトによって監視されるステートまたはチャート。空の配列、あるいは Stateflow.AtomicSubchartStateflow.ChartStateflow.SimulinkBasedStateStateflow.StateStateflow.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 ワークスペースに保存されます。詳細については、ステートとデータのシミュレーション出力のログを参照してください。

    例: data.LoggingInfo.DataLogging = true;

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

    デバッグ

    データ オブジェクトに対するデバッガーのプロパティ。次のプロパティをもつ Stateflow.DataDebug オブジェクトとして指定します。

    例: 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 の名前を変更し、その出力への参照を更新します。

    api_rectify_chart_05.png

    モデルを開き、チャート出力 yStateflow.Data オブジェクトにアクセスします。

    open_system("sfRectifyAPIExample")
    data = find(sfroot,"-isa","Stateflow.Data",Scope="Output");
    data.Name
    ans = 
    'y'
    

    チャートがチャート出力を参照している場所を特定します。

    references = getReferences(data)
    references=2×1 object
      2x1 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 より前に導入

    すべて展開する