メインコンテンツ

getBlockValue

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

説明

getBlockValue を使うと、調整ブロックのパラメーター化の現在値に slTuner インターフェイスでアクセスできます。

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

value = getBlockValue(st,blk) は、調整可能なブロック blk のパラメーター化の現在値を slTuner インターフェイスで返します。

[val1,val2,...] = getBlockValue(st,blk1,blk2,...) は、st の 1 つ以上の調整ブロックについてパラメーター化の現在値を返します。

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

すべて折りたたむ

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

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

調整ブロックの 1 つについて現在のパラメーター化の値を調べます。

val = getBlockValue(st,'C1')
val =
 
             1 
  Kp + Ki * ---
             s 

  with Kp = 0.158, Ki = 0.042
 
Name: C1
Continuous-time PI controller in parallel form.

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

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

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

[valPI1,valPI2,valPI3] = getBlockParam(st,'PI1','PI2','PI3');

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

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

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

blockValues = getBlockValue(st)
blockValues = 

  struct with fields:

    C1: [1×1 pid]
    C2: [1×1 pid]

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

入力引数

すべて折りたたむ

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

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

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

出力引数

すべて折りたたむ

ブロック パラメーター化の現在の値。pidss または tf などの数値 LTI モデルとして返されます。

Simulink モデルへの調整結果の適用に writeBlockValue が使用されていない場合、getBlockValue で返される値は、実際の Simulink ブロックの値と異なる場合があります。

メモ

ブロック パラメーター化の値を Simulink モデル内の実際のブロック値と揃えるには、writeBlockValue を使用します。

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

この構造体を使用すると、調整された値を 1 つの slTuner インターフェイスから同じ調整ブロックのパラメーター化をもつ別の slTuner インターフェイスに転送できます。

S = getBlockValue(st1);
setBlockValue(st2,S);

詳細

すべて折りたたむ

バージョン履歴

R2011b で導入