Main Content

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

モデル スライサーを使用した Simulink パラメーターの影響の確認

モデル スライサーを使用して、パラメーターがモデルに与える影響を確認します。

この例では、SLSlicerAPI.ParameterDependenceクラスのparametersAffectingBlockblocksAffectedByParameterの各メソッドをそれぞれ使用して、ブロックに影響を与えるパラメーター (オプション 1) とパラメーターの影響を受けるブロック (オプション 2) を表示するモデル スライサーの機能を説明します。

モデルを開き、ParameterDependence クラスを初期化

1.モデル sldvSliceCruiseControl を開きます。

model = 'sldvSliceCruiseControl';
open_system(model);

2.ParameterDependence クラスのオブジェクトを作成します。

slicerObj = slslicer(model);
pd = slicerObj.parameterDependence;

オプション 1: ブロックに影響を与えるパラメーターを見つける

1.以下を入力して、DriverSwRequest サブシステムの Switch3 ブロックに影響を与えるパラメーターを表示します。

params = parametersAffectingBlock(pd, 'sldvSliceCruiseControl/DriverSwRequest/Switch3')
params=1×49 object
  1x49 VariableUsage array with properties:

    Name
    Source
    SourceType
    Users

Switch3 ブロックに影響を与えるパラメーターが 49 個あることが分かります。個々のパラメーターの詳細を表示するには、配列の各要素を確認します。

params(1)
ans = 
  VariableUsage with properties:

          Name: 'CountValue'
        Source: 'sldvSliceCruiseControl/DriverSwRequest/decrement/counter'
    SourceType: 'mask workspace'
         Users: {'sldvSliceCruiseControl/DriverSwRequest/decrement/counter/Constant'}

オプション 2: パラメーターの影響を受けるブロックの取得

1.パラメーターの影響を確認するには、そのパラメーターの Simulink.VariableUsage オブジェクトを作成します。

param = Simulink.VariableUsage('CountValue','sldvSliceCruiseControl/DriverSwRequest/decrement/counter');

2.param の影響を受けるすべてのブロックを表示するには、次を行います。

affectedBlocks = blocksAffectedByParameter(pd, param)
affectedBlocks = 1×153
103 ×

    0.0130    0.0200    0.0210    0.0510    0.0520    0.0530    0.0630    0.0840    0.0850    0.0860    0.0870    0.0960    0.0970    0.0980    0.0990    0.1250    0.1260    0.1270    0.1280    0.1290    0.1340    0.1380    0.1410    0.1520    0.1530    0.1600    0.1610    0.1620    0.1630    0.1640    0.1650    0.1940    0.2010    0.2100    0.2110    0.2390    0.2430    0.2440    0.2480    0.2490    0.2500    0.2670    0.2700    0.2710    0.2980    0.3020    0.3030    0.3110    0.3120    0.3130

find_systemがサポートする同じオプションを使用して、影響を受けるブロックをさらに調整できます

affectedOutports = blocksAffectedByParameter(pd, param, 'blockType', 'Outport')
affectedOutports = 1×5

  948.0001  947.0001  949.0001  950.0001  951.0001

オプション手順: モデルでのモデル スライサーを使用した結果の強調表示

モデル スライサーの強調表示を使用して、解析したモデルのアクティブなセクションを表示できます。

slicerObj.highlight(slicerObj.ActiveConfig);

クリーン アップ

解析後、モデル スライサーはモデルをコンパイルされた状態で維持します。モデルを閉じるには、slicerObj オブジェクトを終了します。

slicerObj.terminate;