Main Content

Stateflow.SymbolReference

シンボル名への参照

R2023a 以降

    説明

    Stateflow.SymbolReference オブジェクトは、Stateflow® チャートがシンボル名を参照している場所を示します。たとえば、Stateflow.SymbolReference オブジェクトは、シンボル名を含むステートまたは遷移アクションに対応できます。シンボルには、Stateflow.DataStateflow.EventStateflow.Message、および Name プロパティをもつその他の Stateflow オブジェクトが含まれます。

    作成

    Stateflow チャートは、各シンボルの Stateflow.SymbolReference オブジェクトの配列を保持します。この配列にアクセスするには、オブジェクト関数 getReferences を呼び出します。

    プロパティ

    すべて展開する

    Stateflow API オブジェクトには、Stateflow エディターで設定した値に対応するプロパティがあります。プロパティにアクセスするかプロパティを変更するには、ドット表記を使用します。複数の API オブジェクトの複数のプロパティにアクセスするか、それらを変更するには、関数 get および関数 set をそれぞれ使用します。詳細については、Stateflow オブジェクトのプロパティの変更と関数の呼び出しを参照してください。

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

    シンボル名を参照するオブジェクト。次のいずれかのタイプの Stateflow API オブジェクトとして指定します。

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

    シンボル名の位置。[start end] 形式の 2 要素整数ベクトルまたは空のベクトルとして指定します。

    • WhereUsedStateflow.State オブジェクトまたは Stateflow.Transition オブジェクトである場合、startend の値は、WhereUsedLabelString プロパティ内のシンボル名における最初と最後の文字の位置を示します。

    • WhereUsedStateflow.EMFunction オブジェクトである場合、startend の値は、WhereUsedScript プロパティ内のシンボル名における最初と最後の文字の位置を示します。

    • WhereUsed がその他のタイプのオブジェクトである場合、このプロパティは空のベクトルになります。

    すべて折りたたむ

    チャート出力 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 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;'}
    
    

    バージョン履歴

    R2023a で導入