ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

setBlockParam

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

setBlockParam を使うと、slTuner インターフェイスで調整ブロックの既定のパラメーター化をオーバーライドできます。

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

構文

  • setBlockParam(st,blk,tunable_mdl)
  • setBlockParam(st,blk)
  • setBlockParam(st)

説明

setBlockParam(st,blk,tunable_mdl) は、slTuner インターフェイスの指定ブロックのパラメーター化として、調整可能なモデルを割り当てます。Subsystem ブロックや S-Function ブロックなど、非 Atomic なコンポーネントのパラメーター化を指定できます。

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

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

すべて折りたたむ

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

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

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

getBlockParam(st,'C1')
ans = 

  Parametric continuous-time PID controller "C1" with formula:

             1 
  Kp + Ki * ---
             s 

  and tunable parameters Kp, Ki.

Type "pid(ans)" to see the current value and "get(ans)" to see all properties.

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

調整可能なパラメーターが Kp 1 つだけである比例コントローラーとして、C1 をパラメーター化します。

G = tunableGain('C1',4.2);

setBlockParam(st,'C1',G);

これで、systune などの調整コマンドでは、stC1 ブロックに対するこの比例コントローラー パラメーター化が使用されるようになります。

このカスタマイズされたパラメーター化は、Simulink® ブロックの既定のパラメーター化と互換性があります。そのため、writeBlockValue を使用して、調整された値をブロックに反映させることができます。

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

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

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

G = tunableGain('C2',5);
setBlockParam(st,'C2',G);
getBlockParam(st,'C2')
ans = 

  Parametric gain "C2" with 1 outputs, 1 inputs, and 1 tunable parameters.

Type "ss(ans)" to see the current value and "get(ans)" to see all properties.

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

setBlockParam(st,'C2');
getBlockParam(st,'C2')
ans = 

  Parametric continuous-time PID controller "C2" with formula:

             1 
  Kp + Ki * ---
             s 

  and tunable parameters Kp, Ki.

Type "pid(ans)" to see the current value and "get(ans)" to see all properties.

入力引数

すべて折りたたむ

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

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

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

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

例: {'C1','C2'}

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

詳細

すべて折りたたむ

調整ブロック

slTuner インターフェイスで使用される "調整ブロック" は、Simulink モデル内のブロックのうち、調整目標を満たすためにパラメーター調整を行うブロックを示します。ゲイン、伝達関数、状態空間モデルなどの線形要素を表現する Simulink ブロックは、ほとんどが調整可能です (調整がサポートされているブロックの完全なリストは、「調整された Simulink ブロックをパラメーター化する方法」を参照してください)。また、SubSystem ブロックや S-Function ブロックなど、より複雑なブロックも、等価の「調整可能な線形モデル」を指定することで調整可能です。

調整ブロックのパラメーターを調整するには、systune などの調整コマンドを使用します。

slTuner インターフェイスを作成する際に、調整ブロック (たとえば、C1C2) を指定しなければなりません。

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

addBlock および removeBlock により、調整ブロックのリストを変更できます。

調整ブロックを対話的に操作するには、以下を使用します。

調整された変数

slTuner インターフェイス内では、"調整された変数" は、調整された Simulink ブロックのパラメーター化に直接関与する、あるいは一般化されたパラメトリック モデルを通して関与する任意の「制御設計ブロック」です。調整された変数は、systune などの調整コマンドで操作されるパラメーターです。

一般化モデルまたは調整可能な曲面によりパラメーター化された Simulink ブロックでは、次のことが該当します。

  • getBlockValue により、ブロック パラメーター化の全体的な値にアクセスできます。ブロック パラメーター化内の調整された変数の値にアクセスするには、getTunedValue を使用します。

  • setBlockValue は、ブロック値の変更には使用できません。ブロック パラメーター化内の調整された変数の値を変更するには、setTunedValue を使用します。

制御設計ブロックによりパラメーター化された Simulink ブロックでは、ブロック自体が調整された変数です。ブロック値を変更するには、setBlockValuesetTunedValue のいずれかを使用できます。同様に、ブロック値は getBlockValuegetTunedValue のいずれかを使用して取得できます。

R2011b で導入

この情報は役に立ちましたか?