PID上級
- 更新日2025-07-30
- 4分で読める
上級オプション機能を使用するPIDアルゴリズムを使用してPIDコントローラを実装します。上級PIDアルゴリズムには、PID VIが使用するアルゴリズムの機能の他、手動モード制御 (バンプレスな手動―自動切換)、非線形インテグラル動作、2自由度制御、2乗誤差制御があります。単一の制御ループを実装するには、このVIのDBLインスタンスを使用します。並列マルチループ制御を実装するには、DBL配列インスタンスを使用します。

この多態性VIのDBL配列インスタンスは、マルチループPID制御アプリケーションで使用できます。この場合、プロセス変数入力により、出力配列の長さが決まります。他の入力配列は、プロセス変数入力と同じである必要はありません。このVIは、以下のように他の入力配列をプロセス変数入力と同じ長さに変更します。
- 入力配列がプロセス変数入力よりも長い場合、入力配列はプロセス変数入力の長さで切り捨てられます。配列内の追加値は使用されません。
- 入力配列がプロセス変数入力よりも短い場合は、サイズがプロセス変数入力のサイズに一致するまで、入力配列の最後の値が繰り返されます。
こうすることで、各出力計算に使用する必要がある入力を、このVIに渡す配列で繰り返し指定する必要がなくなります。その代わりに、各出力計算に使用する単一値を配列に含めることができます。
バンプレスな手動‐自動転送
このVIは、バンプレスな手動‐自動転送をサポートします。これにより、制御モードが手動から自動に移行する間のスムーズなコントローラ出力が実現できます。
バンプレスな自動‐手動転送
このVIは、バンプレスな手動‐自動転送を実装できません。自動から手動の制御モードにスムーズに移行するには、制御モードが自動から手動に移行するときに手動出力値が制御出力値に一致するようにアプリケーションを設計する必要があります。これは、以下のブロックダイアグラムに示すように、手動制御用のローカル変数を使用することで実現できます。

サンプルプログラム
LabVIEWに含まれている以下のサンプルファイルを参照してください。
- labview\examples\control\PID\Manual-Automatic Control.vi