私が持っているこのpidコードを実装します。主に、関数に渡す必要がある情報です。渡す変数は 6 つありますが、何を入力すればよいかわかりません。少し背景を説明すると、私は自家醸造所を自動化しています。それはすべて稼働していますが、RIM の温度制御はいたるところにあります。RIM とは何かに慣れていない方のために説明すると、これは浸されている穀物が非常に一定の温度に保たれるようにする方法です。これは、ポンプと加熱要素を使用して浸漬容器の底から液体を加熱し、加熱要素を通過させ、必要に応じて液体を加熱することによって行われます。現在実行しているコードは馬鹿げているので、PID などのよりインテリジェントなものに置き換える必要があります。
わかりましたので、コードを持っています。それを使用する方法です! vb.net を使用して、スタンドアロンの Windows フォーム プロジェクトで起動して実行したいと考えています。アプリケーションに合うように PID 値をいじる必要があることはわかっていますが、何を入力すればよいのでしょうか?
助けてくれてありがとう!
Public Function PID_output(ByVal process As Double, ByVal setpoint As Double, ByVal Gain As Double, _
ByVal Integ As Double, ByVal deriv As Double, ByVal deltaT As Double)
Dim Er As Double
Dim Derivative As Double
Dim Proportional As Double
Static Olderror As Double
Static Cont As Double
Static Integral As Double
Static Limiter_Switch As Double
Limiter_Switch = 1
Er = setpoint - process
If ((Cont >= 1 And Er > 0) Or (Cont <= 0 And Er < 0) Or (Integ >= 9999)) Then
Limiter_Switch = 0
Else
Limiter_Switch = 1
End If
Integral = Integral + Gain / Integ * Er * deltaT * Limiter_Switch
Derivative = Gain * deriv * (Er - Olderror) / deltaT
Proportional = Gain * Er
Cont = Proportional + Integral + Derivative
Olderror = Er
If (Cont > 1) Then
Cont = 1
End If
If (Cont < 0) Then
Cont = 0
End If
Return (Cont)
End Function