Main Content

getMappingForSymbol

Atomic サブチャート、Atomic ボックス、または Simulink ベースのステート内のシンボルに対するマッピングを取得

R2022b 以降

説明

chartSymbol = getMappingForSymbol(subsystem,subsystemSymbol) は、サブシステム シンボル subsystemSymbol のマッピング先であるメイン チャート シンボルを返します。ここで、subsystem は Atomic サブチャート、Atomic ボックス、または Simulink® ベースのステートです。詳細については、Atomic サブチャートおよびボックスでの変数のマッピングおよびSimulink ベースのステートに対する変数のマッピングを参照してください。

[chartSymbol,expression] = getMappingForSymbol(subsystem,subsystemSymbol) は、サブシステム シンボルのマッピング先であるメイン チャート シンボルと自明ではない式を返します。

すべて折りたたむ

A という Atomic サブチャート内で、サブチャートの入力 u1 のマッピングを変更します。

モデル sf_atomic_iodata_fixed.slx を開きます。

open_system("sf_atomic_iodata_fixed")

Atomic サブチャート AStateflow.AtomicSubchart オブジェクトにアクセスします。

subsystem = find(sfroot,"-isa","Stateflow.AtomicSubchart", ...
    Name="A");

Subchart プロパティを使用して、サブチャートの入力 u1Stateflow.Data オブジェクトにアクセスします。

subsystemSymbol = find(subsystem.Subchart, ...
    "-isa","Stateflow.Data",Name="u1");

Chart プロパティを使用して、チャートの入力 u2Stateflow.Data オブジェクトにアクセスします。

chartSymbol = find(subsystem.Chart, ...
    "-isa","Stateflow.Data",Name="u2");

サブチャートの入力 u1 のマッピングをチェックします。

getMappingForSymbol(subsystem,subsystemSymbol).Name
ans = 
'u1'

サブチャートの入力 u1 をチャートの入力 u2 にマッピングします。

setMappingForSymbol(subsystem,subsystemSymbol,chartSymbol)
getMappingForSymbol(subsystem,subsystemSymbol).Name
ans = 
'u2'

サブチャートの入力 u1 のマッピングをクリアします。

clearMappingForSymbol(subsystem,subsystemSymbol)
getMappingForSymbol(subsystem,subsystemSymbol).Name
ans = 
'u1'

R2023a 以降

Locked という Simulink ベースのステート内で、出力 we のマッピングを変更します。

モデル sf_clutch.slx を開きます。

open_system("sf_clutch.slx")

Simulink ベースのステート Locked の Stateflow.SimulinkBasedState オブジェクトにアクセスします。

subsystem = find(sfroot,"-isa","Stateflow.SimulinkBasedState",  ...
    Name="Locked");

Simulink ベースのステートの出力 we のマッピングをチェックします。

getMappingForSymbol(subsystem,"we").Name
ans = 
'we'

Simulink ベースのステートの出力 we をチャートの出力 wv にマッピングします。

setMappingForSymbol(subsystem,"we","wv")
getMappingForSymbol(subsystem,"we").Name
ans = 
'wv'

Simulink ベースのステートの出力 we のマッピングをクリアします。

clearMappingForSymbol(subsystem,"we")
getMappingForSymbol(subsystem,"we").Name
ans = 
'we'

A という Atomic サブチャート内で、パラメーター T がマッピングされている式を見つけます。

モデル sf_atomic_parameter_fixed.slx を開きます。

open_system("sf_atomic_parameter_fixed")

Atomic サブチャート AStateflow.AtomicSubchart オブジェクトにアクセスします。

subsystem = find(sfroot,"-isa","Stateflow.AtomicSubchart", ...
    Name="A");

Subchart プロパティを使用して、サブチャートのパラメーター TStateflow.Data オブジェクトにアクセスします。

subsystemSymbol = find(subsystem.Subchart, ...
    "-isa","Stateflow.Data",Name="T");

サブチャートのパラメーター T のマッピングをチェックします。

[~,expression] = getMappingForSymbol(subsystem,subsystemSymbol)
expression = 
'-1'

入力引数

すべて折りたたむ

Atomic サブチャート、Atomic ボックス、または Simulink ベースのステート。Stateflow.AtomicSubchartStateflow.AtomicBoxStateflow.SimulinkBasedState のいずれかのオブジェクトとして指定します。

サブシステム シンボル。Stateflow.Data オブジェクト、Stateflow.Event オブジェクト、string スカラー、文字ベクトルのいずれかとして指定します。

メモ

subsystem 引数が Stateflow.SimulinkBasedState オブジェクトの場合、この引数は string スカラーまたは文字ベクトルでなければなりません。

出力引数

すべて折りたたむ

メイン チャート シンボル。Stateflow.Data オブジェクト、Stateflow.Event オブジェクト、または空の配列 [] として返されます。subsystemSymbol が自明ではない式にマッピングされる場合、chartSymbol は空の配列です。

マッピング式。文字ベクトルとして返されます。この式で以下を指定できます。

  • Stateflow® 構造体のフィールド

  • ベクトルまたは行列の要素

  • 構造体のフィールドまたは行列のインデックスの任意の組み合わせ

subsystemSymbol がメイン チャート シンボルにマッピングされる場合、expression は空の文字ベクトル '' です。

バージョン履歴

R2022b で導入

すべて展開する