Main Content

getReferences

シンボル名への参照の特定

R2023a 以降

説明

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

すべて折りたたむ

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

入力引数

すべて折りたたむ

制限

  • 関数 getReferences と関数 renameReferences は、他のチャート、Atomic サブチャート、または Function Caller (Simulink) ブロック内にあるエクスポートされた関数への参照の特定や更新は行いません。

バージョン履歴

R2023a で導入