主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

マルチループ制御システムの調整

この例では,systuneコマンドを使ってカスケードアーキテクチャの内側と外側のループを一緒に調整する方法を説明します。

カスケード式のPIDループ

カスケード制御は,多くの場合,高速な外乱の抑制による滑らかな追従を実現するために使用されます。非常にシンプルなカスケードアーキテクチャには,次のブロック線図に示すように,2つの制御ループ(内側および外側)が含まれています。内側のループを外側のループよりも高速にして,外乱が外側のループに伝播する前に抑制するのが一般的です(仿金宝app真软件®はMATLAB®在线ではサポートされていません)。

open_system (“rct_cascade”

プラントモデルと帯域幅の要件

この例では,内側のループのプラントG2は次のようになります。

$$ G_2(s) = $ frac{3}{s+2

外側のループのプラントG1は次のとおりです。

$ G_1(s) = $ frc {10}{(s+1)^3

G2 = zpk([]、2、3);G1 = zpk([],[-1 -1],10);

ここでは,内側のループではπコントローラーを使用し,外側のループではPIDコントローラーを使用します。外乱の抑制を適切に行うために,外側のループの帯域幅は少なくとも0.2 rad / s,内側のループの帯域幅はその10倍にしなければなりません。

systuneによるPIDコントローラーの調整

金宝app仿真软件でモデル化された制御システムの場合は,仿真软件控制设计™のslTunerインターフェイスを使用して調整タスクを設定します。調整可能なブロックをリストし,信号rおよびd2を対象の入力としてマークし,信号日元およびy2を開ループ伝達を測定してループ整形を指定する位置としてマークします。

ST0 = slTuner (“rct_cascade”, {“C1”C2的});addPoint (ST0, {“r”“d2”“日元”“日元”})

金宝app仿真软件モデルのC1およびC2の現在の値は,showTunableを使用してクエリできます。金宝app仿真软件モデルをシミュレーションして確認すると,この制御システムがこれらの初期値に対して不安定であることがわかります。

showTunable (ST0)
Block 1: rct_cascade/C1 = 1 Kp + Ki *——s with Kp = 0.1, Ki = 0.1名称:C1 parallel form连续时间PI控制器。----------------------------------- 块2:rct_cascade / C2 = 1 + Ki *——年代Kp = 0.1, Ki = 0.1名称:C2连续时间比例积分控制器并联形式。

次に,“LoopShape”要件を使用して,内側と外側のループの目的の帯域幅を指定します。外側のループについては,ターゲットのループ整形として/ s $ 0.2美元を使用して,ゲイン交差周波数を0.2 rad / sとする積分動作を適用します。

%外环路带宽= 0.2s =特遣部队(“年代”);Req1 = TuningGoal。LoopShape (“日元”, 0.2 / s);在y1处测量的%环路传输Req1。Name =“外循环”

内側のループについては,2美元/ s $を使用して,外側のループの10倍の速さ(より高い帯域幅)にします。内側のループ伝達を制約するために,必ずループ開始点として日元を指定して外側のループを開きます。

%内环带宽= 2Req2 = TuningGoal。LoopShape (“日元”2 / s);在y2处测量的%环路传输Req2。机会=“日元”%,外循环在y1处打开Req2。Name =“内循环”

これで,systuneを使用してC1およびC2のPIDゲインを調整できます。

圣= systune (ST0 [Req1 Req2]);
Final: Soft = 0.86, Hard = -Inf, Iterations = 61

調整後のPIDゲインを表示するには,showTunableを使用します。

showTunable (ST)
Block 1: rct_cascade/C1 = 1s Kp + Ki *——+ Kd * -------- s Tf*s+1, Kp = 0.052, Ki = 0.0187, Kd = 0.0471, Tf = 0.0124名称:C1 parallel form连续时间pid控制器----------------------------------- 块2:rct_cascade / C2 = 1 + Ki *——年代Kp = 0.721, Ki = 1.24名称:C2连续时间比例积分控制器并联形式。

設計の検証

最終値は1未満であり,systuneで両方のループ整形要件が正常に満たされたことがわかります。これを確認するために,viewGoalを使って調整後の制御システムを検査します。

viewGoal ([Req1, Req2],圣)

内側と外側のループのゲイン交差周波数が目的の値になっていることに注目してください。設計をさらに詳しく検証するために,ステップコマンドrおよびステップ外乱d2に対する調整後の応答をプロットします。

%对步骤命令的响应H = getIOTransfer(圣,“r”“日元”);clf、步骤(H, 30)、标题(“命令”

对阶跃干扰的响应H = getIOTransfer(圣,“d2”“日元”);步骤(H, 30)、标题(“扰动步”

線形解析で満足な結果が得られたら,writeBlockValueを使用して調整後のPIDゲインを仿真软金宝app件ブロックに書き戻します。これにより,金宝app仿真软件でより詳細な検証を実行できるようになります。

writeBlockValue (ST)

MATLABでの同等のワークフロー

制御システムの仿金宝app真软件モデルがない場合は,プラントのLTIモデルと制御設計ブロックを使用して同じ手順を実行し,調整可能な要素をモデル化することができます。

図1:カスケードアーキテクチャ

まず,調整可能なπコントローラーとPIDコントローラーのパラメトリックモデルを作成します。

C1 = tunablePID (“C1”“pid”);C2 = tunablePID (C2的“π”);

次に”解析ポイント”ブロックを使用して,ループ開始位置日元およびy2をマークします。

LS1 = AnalysisPoint (“日元”);LS2 = AnalysisPoint (“日元”);

最後に,各フィードバックループを閉じて,制御システム全体の閉ループモデルT0を作成します。その結果は,調整可能な要素C1およびC2に依存する一般化状態空間モデルです。

InnerCL =反馈(LS2 * G2 * C2, 1);T0 =反馈(G1 * InnerCL * C1, LS1);T0。InputName =“r”;T0。OutputName =“日元”

これで,systuneを使用してC1およびC2のPIDゲインを調整できます。

T = systune (T0, [Req1 Req2]);
Final: Soft = 0.86, Hard = -Inf, Iterations = 125

前と同様,getIOTransferを使用して,ステップコマンドrおよび位置y2に入るステップ外乱に対する調整後の応答を計算し,プロットします。

%对步骤命令的响应H = getIOTransfer (T)“r”“日元”);clf、步骤(H, 30)、标题(“命令”

对阶跃干扰的响应H = getIOTransfer (T)“日元”“日元”);步骤(H, 30)、标题(“扰动步”

また,内側と外側のループの開ループゲインをプロットして帯域幅要件を検証することもできます。負のフィードバックの開ループ伝達を計算するための1の符号に注目してください。

L1 = getLoopTransfer (T)“日元”1);%交叉应在。2L2 = getLoopTransfer (T)“日元”, 1“日元”);%交叉应在2bodemag (L1, L2,{1飞行,1 e2}),网格传奇(“内循环”“外循环”

参考

|

関連するトピック