「Kp を 0.1 刻みで変えて、振動が収まるまでひたすらトライ&エラー」――そんなPIDチューニング、まだ続けてる?
制御盤の前でパラメータを打ち替え、ステップ応答の波形を眺め、また微修正。ヒーターの温度制御やバルブの流量制御で、この地道な作業を繰り返した経験があるエンジニアは多いはずだ。Ziegler-Nichols法やCHR法の公式は教科書に載っているのに、いざ計算しようとするとExcelで関数を組むのが面倒で、結局カンに頼ってしまう。
このPID制御チューニングシミュレーターは、プラントモデルのパラメータ(K, T, L)を入れるだけで、4つの古典的チューニング手法のゲインを一括算出し、ステップ応答グラフまでブラウザ上で即座に比較できるツールだ。MATLABもExcelも不要。スマホからでもサッと確かめられる。
なぜ作ったのか――MATLAB不要のチューニング環境が欲しかった
大学や高専の制御工学の授業でPID制御を学んでも、実際に手を動かしてゲイン調整を試せる環境は限られている。MATLABのControl System Toolboxは強力だが、個人ライセンスは年間数万円。SciLabやPythonのcontrolライブラリは無料だが、環境構築のハードルがある。「ブラウザを開いたら、すぐにKp・Ti・Tdが出てきて、応答波形が見えるツール」が欲しかった。
現場のフィールドエンジニアにとっても事情は同じだ。PLCにPIDファンクションブロックを設定するとき、初期値をどこに置くかで迷う。教科書の公式を手計算するか、過去の似たプラントの設定値をコピーするか――どちらもリスクがある。特にむだ時間が大きいプロセスでは、Ziegler-Nichols法だとオーバーシュートが激しくなることがあり、CHR法やCohen-Coon法との比較が不可欠になる。
このツールを作った一番の動機は「4手法のゲインを並べて、応答波形を重ねて見たい」というシンプルな欲求だった。Excelで個別に計算していた時代は、手法を切り替えるたびにセルを書き換えてグラフを更新する手間があった。ワンクリックで手法を切り替えて即座にグラフが変わる体験は、一度味わうともう戻れない。
PID制御とは何か――比例・積分・微分の3要素で「ちょうどよく」制御する仕組み
PID制御 わかりやすく解説
PID制御は、目標値と現在値の「ずれ(偏差)」を使って出力を調節するフィードバック制御の基本形だ。名前の由来は3つの要素の頭文字にある。
- P(Proportional / 比例): 偏差に比例した出力を出す。偏差が大きいほど強く修正する。車の運転でいえば「カーブで膨らんだ分だけハンドルを切る」感覚に近い。
- I(Integral / 積分): 偏差の累積に比例した出力を出す。小さなずれでも時間が経てば修正力が蓄積される。「いつまでも微妙にずれているなら、じわじわ修正する」役割だ。
- D(Derivative / 微分): 偏差の変化速度に比例した出力を出す。急激な変化を先読みしてブレーキをかける。「目標値に近づくスピードが速すぎたら、行き過ぎる前に抑える」動きになる。
1次遅れ+むだ時間モデル とは
実際のプラント(制御対象)をPID制御するには、まずプラントの特性をモデル化する必要がある。最も広く使われる簡易モデルが「1次遅れ+むだ時間」だ。伝達関数で書くとこうなる。
G(s) = K × e^(-Ls) / (Ts + 1)
- K(プロセスゲイン): 入力を1変えたとき、最終的に出力がいくつ変わるか。ヒーターなら「電力1kW増やしたら温度が何℃上がるか」。
- T(時定数): 最終値の63.2%に達するまでの時間。大きいほど応答がのんびりしている。
- L(むだ時間): 入力を変えてから出力が動き始めるまでの遅れ。配管の輸送遅れや熱の伝播遅れが原因になる。
この3つのパラメータさえ分かれば、古典的なチューニング則でPIDゲインを算出できる。ステップ応答試験でS字カーブを取得し、接線法や2点法でK・T・Lを読み取るのが基本的なアプローチだ。
Ziegler-Nichols法・CHR法・Cohen-Coon法の違い
PIDゲインの算出法は複数存在し、それぞれ設計思想が異なる。
- Ziegler-Nichols法(1942年): 最も有名な手法。減衰比1/4(振動が1周期で1/4に減る)を目標に設計されている。応答は速いがオーバーシュートが大きくなりがち。Ziegler-Nichols法 - Wikipedia
- CHR法(Chien-Hrones-Reswick, 1952年): 「0%オーバーシュート」と「20%オーバーシュート」の2モードを選べる。オーバーシュートを嫌う温度制御プロセスでよく使われる。
- Cohen-Coon法(1953年): むだ時間比(L/T)が比較的大きいプロセスに強い。1次遅れ+むだ時間モデルへの近似精度が高い場合に有利だ。
どの手法を選ぶかは「オーバーシュートをどこまで許容するか」と「むだ時間の大きさ」で決まる。このツールなら手法を切り替えるだけで即座に比較できる。
なぜPIDチューニングが重要か――不適切なゲインが招く振動・暴走・品質低下
PIDゲイン 調整不足のリスク
PID制御は産業界で最も広く使われている制御方式だが、「とりあえず動いているからOK」と放置されているケースが非常に多い。ある調査では、工場のPIDループの約30%が手動モードのまま運転されており、自動モードのループでも半数以上が最適なチューニング状態にないと報告されている。
ゲインが不適切だと何が起きるか。具体例を挙げよう。
- Kpが大きすぎる: 応答は速くなるが、オーバーシュートが激しくなり、最悪の場合は発振(振動が収まらない状態)に陥る。化学プラントの温度制御で振動が起きると、反応温度の急上昇による暴走反応のリスクがある。
- Kpが小さすぎる: 応答が遅く、目標値になかなか到達しない。ボイラーの蒸気圧制御で応答が鈍いと、負荷変動に追従できず品質がばらつく。
- Ti(積分時間)が短すぎる: 積分の効きが強くなり、ワインドアップ(積分値の暴走)を起こす。バルブが全開のまま戻らない現象はTiの不適切な設定が原因であることが多い。
- Td(微分時間)が大きすぎる: ノイズに過敏になり、出力がバタついて機器を傷める。
JIS B 3706(プロセスオートメーション用PID調節計)では、PID制御器の性能評価にステップ応答特性を用いることが規定されている。チューニング結果をステップ応答で検証する習慣は、規格の裏付けもある正統なアプローチだ。
むだ時間比 L/T が大きいプロセスほどチューニングは難しい。L/T > 1.0 になると、従来のPIDチューニング則は性能が急速に劣化し、スミス補償器やモデル予測制御(MPC)といった高度な手法の検討が必要になる。このツールではL/Tが1.0を超えると警告を表示するようにしている。
活躍する場面 ―― PIDチューニングシミュレーターが力を発揮する4つのシーン
1. 新規装置の立ち上げ時
FAラインやプラントの新規立ち上げで、PIDパラメータの初期値をどこに設定するか。実機でいきなり試行錯誤すると、振動や暴走で機器を壊すリスクがある。このツールで事前にシミュレーションして「安全な範囲」のゲインを把握してから実機に入れれば、立ち上げ時間を大幅に短縮できる。
2. 制御工学の学習・教育
大学や高専の授業で「Ziegler-Nichols法の公式はこうです」と教わっても、実際にゲインを変えたときの応答波形を体感しないと理解は浅いままだ。このシミュレーターなら、KpやTiをスライダーで変えながら波形がどう変わるかリアルタイムに確認できる。教科書の公式が「なぜその値なのか」を直感的に理解する助けになる。
3. 既存設備のリチューニング
「最近、温度のハンチングがひどい」「流量制御の追従が遅い」――こうした現場の声に対し、現在のPIDゲインをこのツールに入力してステップ応答を確認し、別の手法のゲインと比較検討する使い方ができる。実機で変更する前にシミュレーションで見当をつけておくことで、作業時間とリスクを最小化できる。
4. 複数手法の一括比較
4つのチューニング手法のうち「このプラントにはどれが合うのか」を判断するには、全手法の応答を並べて見るのが一番だ。比較モードをONにすれば、SVGグラフ上に全手法の応答曲線が重ね描きされるので、立ち上がり速度・オーバーシュート量・整定時間の違いが一目でわかる。
基本の使い方 ―― 3ステップでPIDゲインを算出
ステップ1: プラントモデルを入力
プリセット(ヒーター、バルブ、タンクなど)から選ぶか、プロセスゲインK・時定数T・むだ時間Lの3パラメータを直接入力する。ステップ応答試験の結果がある場合は、S字カーブから読み取った値をそのまま入力すればよい。
ステップ2: チューニング手法を選択
P / PI / PID の制御タイプを選んだ後、Ziegler-Nichols・CHR(0%/20%オーバーシュート)・Cohen-Coon・手動設定の中からチューニング手法を選ぶ。迷ったらまずZiegler-Nichols法で試し、オーバーシュートが気になればCHR法に切り替えるのが定番の流れだ。
ステップ3: 結果を確認・微調整
PIDゲイン(Kp, Ti, Td)と応答性能指標(立ち上がり時間、整定時間、オーバーシュート、定常偏差)が即座に表示される。ステップ応答グラフで波形を確認し、「全手法を比較表示」をONにすれば手法間の違いを視覚的に比較可能。手動設定に切り替えれば、Kp・Ti・Tdを微調整しながら応答の変化をリアルタイムに追える。
具体的な使用例 ―― 6つのケースで計算結果を検証
ケース1: 温度制御(ヒーター)× Ziegler-Nichols法
電気ヒーターの温度制御を想定。ステップ応答試験から読み取ったパラメータは K=2.0, T=60s, L=10s。
- 手法: Ziegler-Nichols PID
- 計算: Kp = 1.2 × 60 / (2.0 × 10) = 3.600、Ti = 2 × 10 = 20.00 s、Td = 0.5 × 10 = 5.00 s
ヒーターのような時定数が大きく、むだ時間比 L/T = 0.167 と小さいプロセスでは、Ziegler-Nichols法のオーバーシュートは比較的穏やかに収まる。温度制御でオーバーシュートが許容できない場合は、次のCHR法を検討しよう。
ケース2: 流量制御(バルブ)× CHR法(0%オーバーシュート)
制御弁による流量制御。K=1.5, T=5s, L=1s。オーバーシュートをゼロにしたいケースだ。
- 手法: CHR 0% PID
- 計算: Kp = 0.6 × 5 / (1.5 × 1) = 2.000、Ti = 5 = 5.00 s、Td = 0.5 × 1 = 0.50 s
CHR法の0%モードはオーバーシュートを抑える設計なので、流量が目標値を超えてほしくない用途(薬液の定量注入など)に向いている。Ziegler-Nichols法と比べてKpが低く、応答はやや遅いがオーバーシュートは格段に小さい。
ケース3: 圧力制御(タンク)× Cohen-Coon法
タンクの圧力制御。K=3.0, T=30s, L=5s。むだ時間比 L/T = 0.167。
- 手法: Cohen-Coon PID
- r = L/T = 5/30 = 0.1667
- 計算: Kp = (1.35 / (3.0 × 5/30)) × (1 + 0.18 × 0.1667) = 2.70 × 1.030 = 2.781
- Ti = 5 × (2.5 + 0.46 × 0.1667) / (1 + 0.62 × 0.1667) = 12.88 / 1.103 = 11.68 s
- Td = 0.37 × 5 / (1 + 0.185 × 0.1667) = 1.85 / 1.031 = 1.794 s
Cohen-Coon法はZiegler-Nichols法より積分時間Tiが長めに出る傾向がある。これにより振動が抑えられ、圧力制御のようにハンチングを嫌うプロセスに適している。
ケース4: 液位制御 × Ziegler-Nichols法
大型タンクの液位制御。K=1.0, T=120s, L=20s。時定数・むだ時間ともに大きいプロセスだ。
- 手法: Ziegler-Nichols PID
- 計算: Kp = 1.2 × 120 / (1.0 × 20) = 7.200、Ti = 2 × 20 = 40.00 s、Td = 0.5 × 20 = 10.00 s
L/T = 0.167 でむだ時間比は同程度だが、絶対値としてのむだ時間が20sと長いため、実機では応答開始までに体感で「動かない」と焦る場面が出てくる。チューニング後も実機でゆっくり変化を確認する忍耐が必要なケースだ。
ケース5: 速度制御(モーター)× CHR法(20%オーバーシュート)
DCモーターの速度制御。K=0.8, T=0.5s, L=0.05s。非常に応答が速いプロセスだ。
- 手法: CHR 20% PID
- 計算: Kp = 0.95 × 0.5 / (0.8 × 0.05) = 11.875
- Ti = 1.357 × 0.5 = 0.679 s
- Td = 0.473 × 0.05 = 0.024 s
むだ時間比 L/T = 0.1 と小さく、Kpが非常に大きくなる。モーター制御では多少のオーバーシュート(20%程度)を許容して応答速度を優先する場面が多い。CHR 20%法はその要求にうまく合致する。ただしKp=11.9と高ゲインになるため、ノイズ対策(微分フィルタ)が重要になる。
ケース6: 圧力制御(タンク)× Ziegler-Nichols法(ケース3と比較)
ケース3と同じタンク(K=3.0, T=30s, L=5s)を、今度はZiegler-Nichols法でチューニングしてみる。
- 手法: Ziegler-Nichols PID
- 計算: Kp = 1.2 × 30 / (3.0 × 5) = 2.400、Ti = 2 × 5 = 10.00 s、Td = 0.5 × 5 = 2.50 s
Cohen-Coon法(ケース3: Kp=2.781, Ti=11.68s)と比較すると、ZN法はKpが低く、Tiが短い。ZN法のTi=10sに対しCohen-Coon法のTi=11.68sだから、ZN法のほうが積分の効きが強く、定常偏差の収束は速いがオーバーシュートは大きくなる傾向がある。同じプラントでも手法によってゲインバランスが変わるのが面白いところだ。比較モードで両者のステップ応答を重ねて見ると、その違いを直感的に把握できる。
仕組み・アルゴリズム ―― 4つのチューニング手法と数値シミュレーション
手法比較: なぜ4手法を搭載したのか
PIDチューニングの古典的手法は数多く存在するが、本ツールでは実務で最も使われる4手法を選定した。
| 手法 | 設計目標 | 得意なプロセス | 弱点 |
|---|---|---|---|
| Ziegler-Nichols | 減衰比 1/4 | L/Tが小さい標準的なプロセス | オーバーシュートが大きい |
| CHR 0% | オーバーシュートゼロ | オーバーシュート厳禁の温度・薬液制御 | 応答が遅い |
| CHR 20% | オーバーシュート20%以下 | 速応性とオーバーシュートのバランス | 中途半端になることも |
| Cohen-Coon | 1次遅れ+むだ時間の高精度近似 | L/Tがやや大きいプロセス | 高次系への適用精度が落ちる |
MATLABのPID Tunerのような最新ツールはH-infinity最適化やIMC(Internal Model Control)ベースの手法を使うが、これらはブラックボックス的で「なぜその値になるのか」が見えにくい。古典4手法なら公式が明快で、計算過程を追える。教育用途でも実務の初期値設定でも、透明性の高い手法のほうが信頼を得やすい。
チューニング公式の実装
各手法のPIDゲイン算出公式を以下に示す。すべて1次遅れ+むだ時間モデル G(s) = K・e^(-Ls)/(Ts+1) のパラメータ(K, T, L)から算出する。
`
Ziegler-Nichols PID
Kp = 1.2 × T / (K × L)
Ti = 2 × L
Td = 0.5 × L
CHR 0% オーバーシュート PID Kp = 0.6 × T / (K × L) Ti = T Td = 0.5 × L
CHR 20% オーバーシュート PID Kp = 0.95 × T / (K × L) Ti = 1.357 × T Td = 0.473 × L
Cohen-Coon PID(r = L / T)
Kp = (1.35 / r) × (1 + 0.18r)
Ti = L × (2.5 + 0.46r) / (1 + 0.62r)
Td = 0.37 × L / (1 + 0.185r)
`
P制御やPI制御では、不要な項(TdやTi)をゼロまたは無限大に設定する。
ステップ応答の数値シミュレーション
ステップ応答はオイラー法による時間領域シミュレーションで計算している。
`
シミュレーション手順:
- 刻み幅 dt = min(L/100, T/100) で時間を離散化
- むだ時間はリングバッファで実装 → 現在の制御出力を L/dt ステップ後にプラント入力として反映
- 各タイムステップで: a. 偏差 e(t) = 目標値 - 現在出力 b. PID出力 u(t) = Kp × (e + (1/Ti)×∫e dt + Td × de/dt) c. プラント更新: dy/dt = (-y + K × u_delayed) / T d. 出力が10×目標値を超えたら不安定と判断し打ち切り
- 500点の応答データを生成しSVGグラフに描画
`
計算例: ヒーター(K=2, T=60, L=10)をZN法でチューニング
`
入力: K=2.0, T=60, L=10, 手法=Ziegler-Nichols PID
Step 1: ゲイン算出 Kp = 1.2 × 60 / (2.0 × 10) = 72 / 20 = 3.600 Ti = 2 × 10 = 20.00 s Td = 0.5 × 10 = 5.00 s
Step 2: シミュレーション dt = min(10/100, 60/100) = 0.1 s むだ時間バッファ長 = L / dt = 100 ステップ シミュレーション時間 = 10 × T = 600 s
Step 3: 応答性能の評価
→ 目標値に対する立ち上がり時間、整定時間、オーバーシュート量を算出
→ ±2%整定帯域内に収まった時点を整定時間とする
`
このようにチューニング公式で初期値を求め、数値シミュレーションで応答を確認し、必要なら手動モードで微調整する――というのがこのツールの基本フローだ。候補手法としてはIMC法やラムダチューニングも検討したが、パラメータ数が増える割に古典手法との差が出にくい領域(L/T < 1のプロセス)が主要ターゲットのため、まずは4手法に絞った。
MATLAB不要?ブラウザ完結のPIDシミュレーターという選択肢
PID制御のチューニングツールといえば、まず思い浮かぶのはMATLAB/Simulinkだろう。Control System Toolboxを使えば、ボーデ線図からナイキスト線図まで何でも描ける。ただし、年間ライセンスは個人で手が出る価格帯ではないし、会社のPCにしか入っていないケースも多い。
一方、Excelで手計算する方法もある。Ziegler-Nichols法の公式をセルに入れてKp・Ti・Tdを出すだけなら簡単だが、ステップ応答のグラフを描こうとすると途端に面倒になる。オイラー法で500点もの数値シミュレーションをスプレッドシートで回すのは、率直に言って苦行だ。
本ツールはその中間を狙っている。K・T・Lの3パラメータを入れるだけで、4つのチューニング手法を一括比較し、ステップ応答グラフまで即座に表示する。MATLABほどの汎用性はないが、1次遅れ+むだ時間モデルのPIDチューニングに限れば、ブラウザを開いた3秒後には結果が出る。
| 比較項目 | MATLAB/Simulink | Excel手計算 | 本ツール |
|---|---|---|---|
| 導入コスト | 年間数十万円 | 無料 | 無料 |
| セットアップ | インストール必要 | 不要 | 不要(ブラウザのみ) |
| 対応モデル | 任意の伝達関数 | 手動で拡張可 | 1次遅れ+むだ時間 |
| ステップ応答グラフ | 高機能 | 手動作成 | 自動表示(SVG) |
| チューニング手法 | pidtune等多数 | 1手法ずつ手入力 | ZN/CHR/CC 4パターン一括 |
| 手法比較 | スクリプト記述が必要 | 困難 | ワンクリック |
Pythonの control ライブラリも有力な選択肢だが、環境構築(pip install, Jupyter起動)のステップが入る。「今すぐゲインの目安を知りたい」という場面では、URLを開くだけで使える即時性が強みになる。
PID制御の歴史 — 船の操舵から始まった100年の技術
PID制御の理論的な基礎を築いたのは、ロシア系アメリカ人の数学者ニコラス・ミノルスキー(Nicolas Minorsky)だ。1922年、彼は米海軍の軍艦の自動操舵システムに関する論文を発表し、比例・積分・微分の3要素を組み合わせた制御則を提唱した。船が波や風で進路を乱されたとき、現在の偏差(P)、過去の偏差の蓄積(I)、偏差の変化速度(D)を使って舵角を決める——この発想は、100年経った今もまったく同じ形で使われている。
Ziegler-Nichols法の登場(1942年)
PID制御が産業界で広く使われるようになったのは、ジョン・G・ジーグラーとナサニエル・B・ニコルズが1942年にASME(米国機械学会)の論文誌で発表したチューニング則がきっかけだ。それまでは職人的な勘と経験に頼っていたゲイン調整を、プラントのステップ応答から機械的にパラメータを決められるようにした画期的な手法だった。
Ziegler-Nichols method - Wikipedia
ただし、ZN法はオーバーシュートが25%前後になるように設計されている。これは当時の化学プラントでは許容範囲だったが、精密な位置決めや温度制御では大きすぎる場合がある。そこで登場したのが、1953年のCHR法(Chien-Hrones-Reswick)だ。0%オーバーシュートと20%オーバーシュートの2パターンを提供し、用途に応じた選択を可能にした。
なぜ100年経っても現役なのか
現代の制御工学にはモデル予測制御(MPC)やH∞制御といった高度な手法がある。それでもPID制御が産業用制御器の90%以上を占めると言われるのは、構造が単純で、現場のエンジニアが直感的にパラメータを調整できるからだ。3つのゲインそれぞれが応答に与える影響が明確で、トラブル時の原因切り分けもしやすい。この「わかりやすさ」こそが、PID制御が生き残り続ける最大の理由だろう。
PIDチューニング 実践Tips
1. L/T比でチューニング手法を使い分ける
むだ時間比 r = L/T の値によって、各手法の得意・不得意が変わる。
- r < 0.1(むだ時間が小さい): どの手法でも良好な結果が得られる。Ziegler-Nichols法で十分
- 0.1 < r < 0.5(標準的な範囲): Cohen-Coon法がバランスの良い結果を出しやすい
- 0.5 < r < 1.0(むだ時間が大きい): CHR法(0%オーバーシュート)で保守的に設定するのが安全
- r > 1.0(むだ時間支配): 従来のPIDチューニング則では限界がある。スミス予測補償器の導入を検討してみて
2. まずPI制御で試し、必要ならDを足す
微分動作(D)はノイズに敏感だ。センサーからの信号にノイズが多い環境では、Td を入れた瞬間に制御出力が暴れることがある。まずPI制御で整定性を確認し、オーバーシュートが許容範囲を超える場合にのみTdを追加するのが実務的なアプローチだ。
3. 比較モードで「落としどころ」を探る
本ツールの「全手法を比較表示」をONにすると、4つの手法の応答曲線が重なって表示される。ZN法は速いが振動的、CHR-0%は安定だが遅い——こうした特性を一目で把握し、プロセスの要求仕様(オーバーシュート上限、整定時間の制約)に合う手法を選べる。
4. 手動モードで微調整する技術
自動算出されたゲインはあくまで出発点だ。実機では以下の手順で微調整する。
- Kpを算出値の80%に下げてスタート(安全マージン確保)
- Tiを1.5倍に伸ばし、積分動作をゆるくする
- 応答を見ながらKpを少しずつ上げ、目標の速応性を得る
- オーバーシュートが出始めたらTdを追加して抑制
5. アンチワインドアップを忘れない
シミュレーションでは理想的な応答が出ても、実機ではアクチュエータ(バルブ、ヒーターなど)に出力上下限がある。積分項が飽和すると復帰が遅れる「ワインドアップ」現象が起きるため、実装時には必ずアンチワインドアップ処理を入れること。本ツールの結果を実機に適用する際の重要な注意点だ。
PIDチューニング よくある質問
Q: むだ時間比 L/T が1を超えると警告が出るが、計算結果は使えないのか?
使えないわけではないが、精度が大きく低下する。Ziegler-Nichols法やCohen-Coon法は L/T < 1 の範囲で導出された経験則であり、むだ時間が支配的なプロセスでは過大なゲインを算出しがちだ。L/T > 1 の場合は、算出値を50〜70%に減じて保守的に使うか、スミス予測補償器など別のアプローチを検討してほしい。
Q: P制御で定常偏差が出るのはなぜ? Kpを大きくすれば消えないのか?
P制御の出力は「偏差 × Kp」だ。出力が一定値で釣り合うためには偏差がゼロでない必要がある——つまり構造的に定常偏差が残る。Kpを大きくすれば偏差は小さくなるが、同時に振動しやすくなり、系が不安定に近づく。定常偏差をゼロにするには積分動作(I)が不可欠で、これがPI制御やPID制御を使う最大の理由だ。
Q: 2次遅れ系や非線形プラントにも使えるか?
本ツールは1次遅れ+むだ時間モデル G(s) = K・e^(-Ls) / (Ts + 1) に特化している。2次遅れ系(振動要素を含むモデル)や非線形プラントには対応していない。ただし、多くの産業プロセスはステップ応答試験から K, T, L を近似的に求められるため、初期チューニングの出発点としては十分実用的だ。より高精度なモデルが必要な場合は MATLAB/Simulink や Python の control ライブラリを検討してほしい。
Q: 入力したプラントパラメータはサーバーに送信されるのか?
一切送信されない。すべての計算はブラウザ内のJavaScriptで完結しており、サーバー通信は発生しない。入力値はブラウザのメモリ上にのみ存在し、ページを閉じれば消える。社外秘のプラントデータでも安心して使える。
Q: CHR法の「0%オーバーシュート」と「20%オーバーシュート」はどう使い分ける?
0%オーバーシュートは、目標値を一度も超えてはならないプロセス向けだ。たとえば化学反応の温度制御で、オーバーシュートが暴走反応を引き起こすリスクがある場合に選ぶ。一方、20%オーバーシュートは多少の行き過ぎを許容する代わりに、整定時間を短縮したい場合に適している。流量制御やタンク液位のように、一時的な行き過ぎが問題にならないプロセスではこちらのほうが効率的だ。
まとめ — PIDチューニングの第一歩をブラウザで
K・T・Lの3つのパラメータさえわかれば、Ziegler-Nichols・CHR・Cohen-Coonの各手法でPIDゲインを即座に算出し、ステップ応答を視覚的に比較できる。MATLABを開くほどではないが、手計算では面倒——そんな場面でこそ活躍するツールだ。
制御設計の別の切り口として、電気設備の設計には電線管サイズ判定シミュレーターも用意している。電線占有率の計算から管サイズの推奨まで、こちらもブラウザだけで完結する。
ツールへの要望やバグ報告はX (@MahiroMemo)から気軽にどうぞ。