メインコンテンツ

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

setBlockParam

slTuner インターフェイス内の調整ブロックのパラメーター化を設定

説明

setBlockParam を使うと、slTuner インターフェイスで調整ブロックの既定のパラメーター化をオーバーライドできます。Subsystem ブロックや S-Function ブロックなどの、非アトミックなコンポーネントのパラメーター化を指定することもできます。

slTuner インターフェイスは、調整された各 Simulink® ブロックを、制御設計ブロックとして、または genmat タイプか genss タイプの一般化されたパラメトリック モデルとしてパラメーター化します。このパラメーター化では、systune などのコマンドに対し、調整された変数が指定されます。

setBlockParam(st,blk,tunable_mdl) は、slTuner インターフェイスの指定ブロックのパラメーター化として、調整可能なモデルを割り当てます。

setBlockParam(st,blk1,tunable_mdl1,...,blkN,tunable_mdlN) は、一度に複数のブロックにパラメーター化を割り当てます。

setBlockParam(st,blk) は、blk によって参照されるブロックで既定のパラメーター化へと戻し、そのブロックを Simulink の現在のブロック値で初期化します。

setBlockParam(st) は、st のすべての調整ブロックを、その既定のパラメーター化に戻します。

すべて折りたたむ

scdcascade モデルの slTuner インターフェイスを作成します。

open_system('scdcascade')
st = slTuner('scdcascade',{'C1','C2'});

C1C2 はどちらも PI コントローラーです。C1 の既定のパラメーター化を調べます。

getBlockParam(st,'C1')
Tunable continuous-time PID controller "C1" with formula:

             1 
  Kp + Ki * ---
             s 

and tunable parameters Kp, Ki.

Type "pid(ans)" to see the current value.

既定のパラメーター化は、調整可能な PI コントローラー (tunablePID) です。

C1 を比例コントローラーとして再パラメーター化します。比例ゲインを 4.2 に初期化して、パラメーター化をブロックに割り当てます。

G = tunableGain('C1',4.2);
setBlockParam(st,'C1',G);

これで、systune などの調整コマンドでは、stC1 ブロックに対するこの比例コントローラー パラメーター化が使用されるようになります。カスタマイズされたパラメーター化は、Simulink® ブロックの既定のパラメーター化と互換性があります。そのため、writeBlockValue を使用して、調整された値をブロックに書き戻すことができます。

setBlockParam を使用して、モデルを何度も再コンパイルすることなく複数のブロック パラメーター化を一度に設定することもできます。たとえば、C1C2 の両方を PID コントローラーとして再パラメーター化します。

C1PID = tunablePID('C1PID','PID');
C2PID = tunablePID('C2PID','PID');
setBlockParam(st,'C1',C1PID,'C2',C2PID);

scdcascade モデルの slTuner インターフェイスを作成します。

open_system('scdcascade')
st = slTuner('scdcascade',{'C1','C2'});

C2 のパラメーター化を調整可能なゲインとなるよう変更し、結果を調べます。

G = tunableGain('C2',5);
setBlockParam(st,'C2',G);
getBlockParam(st,'C2')
Tunable gain "C2" with 1 outputs, 1 inputs, and 1 tunable parameters.

Type "ss(ans)" to see the current value.

C2 のパラメーター化を既定の PI コントローラーに戻し、結果を調べます。

setBlockParam(st,'C2');
getBlockParam(st,'C2')
Tunable continuous-time PID controller "C2" with formula:

             1 
  Kp + Ki * ---
             s 

and tunable parameters Kp, Ki.

Type "pid(ans)" to see the current value.

入力引数

すべて折りたたむ

Simulink でモデル化された制御システムを調整するためのインターフェイス。slTuner インターフェイスとして指定します。

st の調整ブロックのリストにあるブロック。文字ベクトルまたは string として指定します。ブロックの絶対パスか、st の他の調整ブロックの中から該当ブロックを一意に識別できるブロックの部分パスを指定できます。

例: blk = 'scdcascade/C1', blk = "C1"

setBlockParam(st,blk) を使用して既定のブロック パラメーター化に戻す場合、blk を文字ベクトルの cell 配列または string 配列として指定すると、複数のブロックを戻すことができます。

例: {'C1','C2'}

ブロックのパラメーター化。以下のいずれかとして指定します。

詳細

すべて折りたたむ

バージョン履歴

R2011b で導入