制御,PIDの基本/controlホームQiitaブログ雑記ブログリンク集お問い合わせ制御の基本についてPID制御、安定性評価の基本についてまとめていきます。PIDの形は以下の基本形になります。設定値SP(t)と、測定値PV(t)の偏差E(t)=PV(t)-SP(t)とすると、制御出力MV(t)は、以下の式で表されます。上記の基本形:Ideal型の他にも以下Series型やPrallel型があります。PIDの基本形は連続時間における表現となっておりますが、実際にはDCSのスキャンタイムは通常0.5sec程度で固定されていますので、実際の制御を模擬する場合には上式を離散化する必要があります。スキャンタイムをΔtとすると、位置型は以下のようになります。E(t_n)-E(t_{n-1})$$速度型は以下のようになります。(E(t_n)-E(t_{n-1}))-(E(t_{n-1})-E(t_{n-2}))$$速度型は、前回の出力値に対して、現在時間における修正分ΔMVを足し合わせて出力値を求めます。このため、Manual⇒Autoへの切り替え時にも大きなバンプを抑えることができます。逆に位置型は、PV値が流量計のようにノイズを含みやすい場合に、安定的に制御することができます。Edition)PID型、I-PD型、P-ID型PIDは、1「設定値の変更に対して素早く追従すること」に加え、2「外乱が入ってきた際にも素早く制定できること」が望ましいです。1、2を1自由度で同時に満たすことは難しく、実用上、前述の基本形(PID型)に加え、以下の2つの制御方法があります。PV(t_n)-PV(t_{n-1})$$比例微分先行型は、目標値変更によるキックを抑制することができ、オーバーシュートも小さくすることができますが、目標値変更に対する追従性が遅いという問題があります。カスケード制御における2次ループのように、設定値変更に対する追従性を良くしたい場合は、微分先行型を採用した方が良いことになります。各プログラミング言語ごとの応答の確認はそれぞれ以下をご参照ください。Handbook8版の8章を参照に以下記載します。A成分が一定流量F[m3/sec]、濃度\(C_{in}\)[kg-mol/m3]で反応器に入り、反応速度定数k[1/sec]でB成分に変化する反応を考えます。ある時間における反応器内のA成分の濃度を$C_A$[kg-mol/m3]とすると、物質収支は以下となります。一定(F,V,k一定)とすると、両辺をF+kVで割り、$$\frac{V}{F+kV}\frac{dC_A}{dt}=\frac{F}{F+kV}C_{in}-C_A$$V/(F+kV)をτ、F/(F+kV)をKとすると、上式は以下となります。$$\tau\frac{dC_A}{dt}=KC_{in}-C_A$$上式でτが時定数、Kがプロセスゲインとなります。プロセスゲインKの1次遅れプロセスの伝達関数は以下となります。+1}$$1次応答プロセスに対するインパルス応答、ステップ応答は以下となります。$$f(t)=K(1-e^{-t/\tau})$$逆ラプラス変換については、こちらのサイトが非常に丁寧で分かりやすいです。限界感度法は無駄時間L/時定数Tが1より小さい範囲で適用します。無駄時間が支配的なプロセスや、セットポイントのトラッキングテスト等では有効な効果が得られません。(Tp・L/2)/(Tp+L/2)安定性評価についてBode線図Bode線図の基本をまとめていきます。以下のシンプルな伝達関数を例として、Bode線図の作成方法をご紹介します。j+1}$$実数部:G(Re)と虚数部:G(Im)を求めます。j}{25\omega^2+1}$$ゲイン、位相を求めます。\right)$$Nyquist線図Nyquist線図の基本をまとめていきます。Bode線図、Nyquist線図の作成(Scilab、Excelの活用)Matlab、Scilab、Excelを使ったBode線図、Nyquist線図の作成方法をまとめていきます。下図のように設定します。(2017/6/4現在、1次遅れのみの実装です)Bode線図が確認できます。各データの出力結果がテーブル形式で確認できます閉ループのBode線図、Nyquist線図も実装しました。(2017/6/4現在Impulse応答のみ対応しています)以下Matalbとの比較になります。例として以下の伝達関数の各線図を紹介します。当サイトに不具合、ご意見等ございましたらCEsolutionにお知らせください。