モデル スライサーを使用した Simulink パラメーターの影響の確認
モデル スライサーを使用して、パラメーターがモデルに与える影響を確認します。
この例では、SLSlicerAPI.ParameterDependence
クラスのparametersAffectingBlock
とblocksAffectedByParameter
の各メソッドをそれぞれ使用して、ブロックに影響を与えるパラメーター (オプション 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 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.1760 0.3180 0.3230 0.3860 0.3900 0.3940 0.4080 0.4550 0.4600 0.4650 0.4700 0.4910 0.4950 0.4990 0.5030 0.5330 0.5380 0.5430 0.5480 0.5530 0.5690 0.5830 0.5920 0.6120 0.6190 0.6350 0.6390 0.6430 0.6470 0.6510 0.6550 0.6920 0.7060 0.7240 0.7280 0.7660 0.7780 0.7820 0.7920 0.7960 0.8000 0.8260 0.8340 0.8380 0.8800 0.8920 0.9000 0.9180 0.9220 0.9260
find_system
がサポートする同じオプションを使用して、影響を受けるブロックをさらに調整できます。
affectedOutports = blocksAffectedByParameter(pd, param, 'blockType', 'Outport')
affectedOutports = 1×5
103 ×
2.0630 2.0610 2.0650 2.0670 2.0690
オプション手順: モデルでのモデル スライサーを使用した結果の強調表示
モデル スライサーの強調表示を使用して、解析したモデルのアクティブなセクションを表示できます。
slicerObj.highlight(slicerObj.ActiveConfig);
クリーン アップ
解析後、モデル スライサーはモデルをコンパイルされた状態で維持します。モデルを閉じるには、slicerObj
オブジェクトを終了します。
slicerObj.terminate;