このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
setBlockValue
slTuner
インターフェイス内の調整ブロックのパラメーター化の値を設定
説明
例
調整ブロックのパラメーター化の値の設定
scdcascade
モデルに対して slTuner
インターフェイスを作成し、いずれかの調整ブロックのパラメーター化の値を設定します。
slTuner
インターフェイスを作成します。
open_system('scdcascade') st = slTuner('scdcascade',{'C1','C2'});
C1
と C2
はどちらも 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.
既定のパラメーター化は、2 つの調整可能パラメーター Kp
と Ki
をもつ PI コントローラーです。
C1
のパラメーター化の値を設定します。
C = pid(4.2);
setBlockValue(st,'C1',C);
C1
のパラメーター化の値を調べます。
getBlockValue(st,'C1')
ans = Kp = 4.2 Name: C1 P-only controller.
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.
現在のブロック値は P のみのコントローラーになっていますが、ブロック パラメーター化は PI コントローラーのままである点に留意してください。
複数の調整ブロック パラメーター化の値を設定
slTuner
インターフェイスを作成します。
open_system('scdcascade') st = slTuner('scdcascade',{'C1','C2'});
ブロック値の構造体を作成し、フィールド名が st
での調整可能なブロックに対応するようにします。
blockValues = getBlockValue(st); blockValues.C1 = pid(0.2,0.1); blockValues.C2 = pid(2.3);
st
における調整可能なブロックのパラメーター化の値を、定義した構造体を使用して設定します。
setBlockValue(st,blockValues);
入力引数
st
— Simulink でモデル化された制御システムを調整するためのインターフェイス
slTuner
インターフェイス
Simulink でモデル化された制御システムを調整するためのインターフェイス。slTuner
インターフェイスとして指定します。
blk
— ブロック
文字ベクトル | string
st
の調整ブロックのリストにあるブロック。文字ベクトルまたは string として指定します。ブロックの絶対パスか、st
の他の調整ブロックの中から該当ブロックを一意に識別する部分パスを指定できます。
例: blk = 'scdcascade/C1'
, blk = "C1"
メモ
setBlockValue
では、blk
のパラメーター化の全体的な値のみを変更できます。一般化状態空間モデルなど、カスタム ブロック パラメーター化内にある要素の値を変更するには、setTunedValue
を使用します。
value
— ブロック パラメーター化の値
数値 LTI モデル | 制御設計ブロック
ブロック パラメーター化の値。数値 LTI モデル、または tunableGain
や tunablePID
などの制御設計ブロックとして指定します。value
の値は、blk
のパラメーター化に対応していなければなりません。たとえば、blk
を PID コントローラーとしてパラメーター化する場合、value
は PID コントローラーを表す tunablePID
ブロック、数値 pid
モデルまたは数値 tf
モデルでなければなりません。
setBlockValue
は、value
のパラメーターに基づいて調整ブロックのパラメーターの値を更新します。setBlockValue
を使用すると、調整ブロックのパラメーター化の構造体は変更されません。blk
のパラメーター化を変更するには、setBlockParam
を使用します。たとえば、setBlockParam
を使用して、ブロック パラメーター化を tunablePID
から 3 極の tunableTF
モデルに変更できます。
blkValues
— 複数ブロックのパラメーター化の値
構造体
複数ブロックのパラメーター化の値。数値 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
により、調整ブロックのリストを変更できます。
調整ブロックを対話的に操作するには、以下を使用します。
調整ブロックのパラメーター化とその現在の値にアクセスするには、
getBlockParam
、getBlockValue
およびgetTunedValue
。調整ブロックのパラメーター化とその値を変更するには、
setBlockParam
、setBlockValue
およびsetTunedValue
。調整ブロックのパラメーター化の現在の値で Simulink モデルのブロックを更新するには、
writeBlockValue
。
調整された変数
slTuner
インターフェイス内では、"調整された変数" は、調整された Simulink ブロックのパラメーター化に直接関与する、あるいは一般化されたパラメトリック モデルを通して関与する任意の制御設計ブロックです。調整された変数は、systune
などの調整コマンドで操作されるパラメーターです。
一般化モデルまたは調整可能な曲面によりパラメーター化された Simulink ブロックでは、次のことが該当します。
getBlockValue
により、ブロック パラメーター化の全体的な値にアクセスできます。ブロック パラメーター化内の調整された変数の値にアクセスするには、getTunedValue
を使用します。setBlockValue
は、ブロック値の変更には使用できません。ブロック パラメーター化内の調整された変数の値を変更するには、setTunedValue
を使用します。
制御設計ブロックによりパラメーター化された Simulink ブロックでは、ブロック自体が調整された変数です。ブロック値を変更するには、setBlockValue
か setTunedValue
のいずれかを使用できます。同様に、ブロック値は getBlockValue
か getTunedValue
のいずれかを使用して取得できます。
バージョン履歴
R2011b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)