Main Content

getBlockParam

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

説明

getBlockParam を使うと、調整ブロックの現在のパラメーター化を slTuner インターフェイスで取得できます。

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

blk_param = getBlockParam(st,blk) は、Simulink ブロック blk の調整に使用されるパラメーター化を返します。

[blk_param1,...,blk_paramN] = getBlockParam(st,blk1,...,blkN) は、指定された 1 つ以上のブロックのパラメーター化を返します。

S = getBlockParam(st) は、st の調整ブロックすべてのパラメーター化を含む構造体を返します。

すべて折りたたむ

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

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

いずれかの調整ブロックのブロック パラメーター化を調べます。

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

             1 
  Kp + Ki * ---
             s 

and tunable parameters Kp, Ki.

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

ブロック C1 は PID Controller ブロックです。したがって、その st におけるパラメーター化は tunablePID 制御設計ブロックです。

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

open_system('scdhelicopter')
st = slTuner('scdhelicopter',{'PI1','PI2','PI3','SOF'});

モデルの PI コントローラーについてのパラメーター化を取得します。

[parPI1,parPI2,parPI3] = getBlockParam(st,'PI1','PI2','PI3');

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

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

st における両方の調整ブロックのパラメーター化を取得します。

blockParams = getBlockParam(st)
blockParams = 

  struct with fields:

    C1: [1x1 tunablePID]
    C2: [1x1 tunablePID]

blockParams は、st における調整可能なブロックの名前に対応するフィールド名をもつ構造体です。C1C2 はどちらも PID Controller ブロックであるため、blockParams のフィールド値は tunablePID モデルです。

入力引数

すべて折りたたむ

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

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

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

出力引数

すべて折りたたむ

指定の調整ブロックのパラメーター化。次のいずれかで返されます。

  • 調整可能な制御設計ブロック

  • 調整可能な genss モデル、調整可能な genmat 行列または tunableSurface (setBlockParam を使用して blk にこのようなパラメーター化を指定した場合)。

  • 空の配列 [] (slTunerblk をパラメーター化できない場合)。そのようなブロックのパラメーター化は、setBlockParam で指定できます。

st におけるすべての調整ブロックのパラメーター化。構造体として返されます。S のフィールド名は、st における調整ブロックの名前です。対応するフィールド値は、blk_param で説明されているブロック パラメーター化です。

詳細

すべて折りたたむ

調整ブロック

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 で導入