MATLAB ヘルプ センター
slTuner インターフェイス内の調整ブロックのパラメーター化の値を設定
slTuner
setBlockValue(st,blk,value)
setBlockValue(st,blkValues)
setBlockValue を使うと、slTuner インターフェイスにおける調整ブロックのパラメーター化の現在値を初期化あるいは変更できるようになります。
setBlockValue
slTuner インターフェイスは、調整された各 Simulink® ブロックを、制御設計ブロックとして、または genmat タイプか genss タイプの一般化されたパラメトリック モデルとしてパラメーター化します。このパラメーター化では、systune などのコマンドに対し、調整された変数が指定されます。
genmat
genss
systune
setBlockValue(st,blk,value) は、slTuner インターフェイス st におけるブロックのパラメーター化の現在値を設定します。
st
blk
value
例
setBlockValue(st,blkValues) は、構造体 blkValues を使用して複数のブロックのパラメーター化の値を更新します。
blkValues
すべて折りたたむ
scdcascade モデルに対して slTuner インターフェイスを作成し、いずれかの調整ブロックのパラメーター化の値を設定します。
scdcascade
slTuner インターフェイスを作成します。
open_system('scdcascade') st = slTuner('scdcascade',{'C1','C2'});
C1 と C2 はどちらも PI コントローラーです。C1 の既定のパラメーター化を調べます。
C1
C2
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.
既定のパラメーター化は、2 つの調整可能パラメーター Kp と Ki をもつ PI コントローラーです。
Kp
Ki
C1 のパラメーター化の値を設定します。
C = pid(4.2); setBlockValue(st,'C1',C);
C1 のパラメーター化の値を調べます。
getBlockValue(st,'C1')
ans = Kp = 4.2 Name: C1 P-only controller.
C1 のパラメーター化を調べます。
現在のブロック値は P のみのコントローラーになっていますが、ブロック パラメーター化は PI コントローラーのままである点に留意してください。
ブロック値の構造体を作成し、フィールド名が st での調整可能なブロックに対応するようにします。
blockValues = getBlockValue(st); blockValues.C1 = pid(0.2,0.1); blockValues.C2 = pid(2.3);
st における調整可能なブロックのパラメーター化の値を、定義した構造体を使用して設定します。
setBlockValue(st,blockValues);
Simulink でモデル化された制御システムを調整するためのインターフェイス。slTuner インターフェイスとして指定します。
st の調整ブロックのリストにあるブロック。文字ベクトルまたは string として指定します。ブロックの絶対パスか、st の他の調整ブロックの中から該当ブロックを一意に識別する部分パスを指定できます。
例: blk = 'scdcascade/C1', blk = "C1"
blk = 'scdcascade/C1'
blk = "C1"
メモ
setBlockValue では、blk のパラメーター化の全体的な値のみを変更できます。一般化状態空間モデルなど、カスタム ブロック パラメーター化内にある要素の値を変更するには、setTunedValue を使用します。
setTunedValue
ブロック パラメーター化の値。数値 LTI モデル、または tunableGain や tunablePID などの制御設計ブロックとして指定します。value の値は、blk のパラメーター化に対応していなければなりません。たとえば、blk を PID コントローラーとしてパラメーター化する場合、value は PID コントローラーを表す tunablePID ブロック、数値 pid モデルまたは数値 tf モデルでなければなりません。
tunableGain
tunablePID
pid
tf
setBlockValue は、value のパラメーターに基づいて調整ブロックのパラメーターの値を更新します。setBlockValue を使用すると、調整ブロックのパラメーター化の構造体は変更されません。blk のパラメーター化を変更するには、setBlockParam を使用します。たとえば、setBlockParam を使用して、ブロック パラメーター化を tunablePID から 3 極の tunableTF モデルに変更できます。
setBlockParam
tunableTF
複数ブロックのパラメーター化の値。数値 LTI モデルまたは制御設計ブロックとして指定されるフィールドをもつ構造体として指定します。フィールド名は、st におけるブロックの名前です。st と blkValues に共通のブロックのみが更新され、st における他のすべてのブロックは変更されないままとなります。
blkValues を指定するには、st からブロック パラメーター化の値の構造体を取得して変更します。
blkValues = getblockValue(st); blkValues.C1 = pid(0.1,0.2);
名前が有効なフィールド名でない Simulink ブロックの場合は、blkValues での対応するフィールド名を、ブロック パラメーター化で表示されるとおりに指定します。
blockParam = getBlockParam(st,'B-1'); fieldName = blockParam.Name; blockValues = struct(fieldName,newB1);
slTuner インターフェイスで使用される "調整ブロック" は、Simulink モデル内のブロックのうち、調整目標を満たすためにパラメーター調整を行うブロックを示します。ゲイン、伝達関数、状態空間モデルなどの線形要素を表現する Simulink ブロックは、ほとんどが調整可能です (調整がサポートされているブロックの完全なリストは、調整された Simulink ブロックをパラメーター化する方法を参照してください)。また、SubSystem ブロックや S-Function ブロックなど、より複雑なブロックも、等価の調整可能な線形モデルを指定することで調整可能です。
調整ブロックのパラメーターを調整するには、systune などの調整コマンドを使用します。
slTuner インターフェイスを作成する際に、調整ブロック (たとえば、C1 や C2) を指定しなければなりません。
st = slTuner('scdcascade',{'C1','C2'})
addBlock および removeBlock により、調整ブロックのリストを変更できます。
addBlock
removeBlock
調整ブロックを対話的に操作するには、以下を使用します。
調整ブロックのパラメーター化とその現在の値にアクセスするには、getBlockParam、getBlockValue および getTunedValue。
getBlockParam
getBlockValue
getTunedValue
調整ブロックのパラメーター化とその値を変更するには、setBlockParam、setBlockValue および setTunedValue。
調整ブロックのパラメーター化の現在の値で Simulink モデルのブロックを更新するには、writeBlockValue。
writeBlockValue
slTuner インターフェイス内では、"調整された変数" は、調整された Simulink ブロックのパラメーター化に直接関与する、あるいは一般化されたパラメトリック モデルを通して関与する任意の制御設計ブロックです。調整された変数は、systune などの調整コマンドで操作されるパラメーターです。
一般化モデルまたは調整可能な曲面によりパラメーター化された Simulink ブロックでは、次のことが該当します。
getBlockValue により、ブロック パラメーター化の全体的な値にアクセスできます。ブロック パラメーター化内の調整された変数の値にアクセスするには、getTunedValue を使用します。
setBlockValue は、ブロック値の変更には使用できません。ブロック パラメーター化内の調整された変数の値を変更するには、setTunedValue を使用します。
制御設計ブロックによりパラメーター化された Simulink ブロックでは、ブロック自体が調整された変数です。ブロック値を変更するには、setBlockValue か setTunedValue のいずれかを使用できます。同様に、ブロック値は getBlockValue か getTunedValue のいずれかを使用して取得できます。
R2011b で導入
slTuner | getBlockValue | setTunedValue | setBlockParam | writeBlockValue
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ