📄 pid.txt
字号:
这是我们实验室计算机控制实验台的一个简单例程(PID子程序,位置式PID算法),用TC3写的,其实很简单(位置控制的)
Sample是当前采样值,Position是目标值
int PIDPro(float Sample, float Position)
{
int DAOut;
ErrPres=Position-Sample; //E(k)=R(k)-S(k)
PPro=Kp*ErrPres; //Pp(k)=Kp*E(k)
PInt=Ki*ErrPres+PIntPrev; //Pi(k)=Ki*E(k)+Pi(k-1)
PDif=Kd*(ErrPres-ErrPrev); //Pd(k)=Kd*[E(k)-E(k-1)]
VolOut=PPro+PInt+PDif; //P(k)=Pp(k)+Pi(k)+Pd(k)
ErrPrev=ErrPres; //P(k-1)=P(k)
PIntPrev=PInt; //Pi(k-1)=Pi(k)
DAOut=(int)VolOut;
if(DAOut>UpperLimit)
DAOut=UpperLimit; //Upper Limit
if(DAOut<LowerLimit)
DAOut=LowerLimit; //Low Limit
return DAOut;
}
返回值是12位D/A的转换器的输入量
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -