ユーザ用ツール

サイト用ツール


ja-jp_commands:pid

文書の過去の版を表示しています。


PID制御

コマンド 説明
IpidSet(id, kp, ki, kd, sampleMs, outMin, outMax) 係数、計算周期、出力範囲を設定します。
IpidRun(id, pv, sv) 現在値PVと設定値SVから出力を計算します。
IpidReset(id) 積分値と内部状態を初期化します。
IpidReverse(id, reverse) 正動作・逆動作を選択します。
IpidItermLimit(id, min, max) 積分項の範囲を制限します。
IpidOutput(id) 最後の出力値を返します。
void setup() { IpidSet(0, 2.0, 0.5, 0.1, 100, 0, 100); }
void loop() {
  float output = IpidRun(0, ntcReadf(0), 50.0);
  IanalogWritef(0, 0.0, 100.0, output);
}

コマンドのプロトタイプ

戻り型 コマンドのプロトタイプ
bool IpidSet(uint8_t id, float kp, float ki, float kd, unsigned long sampleMs, float outMin, float outMax)
float IpidRun(uint8_t id, float pv, float sv)
void IpidReset(uint8_t id)
void IpidReverse(uint8_t id, bool reverse)
void IpidItermLimit(uint8_t id, float iMin, float iMax)
float IpidOutput(uint8_t id)

PID計算は安全装置ではありません。センサ断線、過温度、出力固着、非常停止は別の回路とロジックで処理してください。

← 内蔵コマンド一覧

ja-jp_commands/pid.1788785588.txt.gz · 最終更新: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki