我自己编了一个PI控制的程序(S7-200自带的PID指令不能防饱和),而且我用的是增量式的,带积分分离的PI算法(没有用微分),如下:
U(k)=U(K-1)+Kc*[e(k)-e(k-1)]+Ki*e(k).
式中U(k)为当前PI运算后的输出量,U(k-1)为前一次的输出量。e(k)为当前偏差,e(k-1)为前一次的偏差。
因为我用到了积分分离,也就是说当偏差e(k)太大时,积分项调为零,只用比例项。可是现在问题是在一个采样周期内(我设的是100ms)内,e(k)和e(k-1)是完全相等的,即比例项输出也为零了。所以在系统刚运行的时候输出为U(k0),即系统从手动转为自动那一个上升沿时刻e(k-1)不等于e(k),之后就是e(k)=e(k-1)导致没有增量输出。请问如何解决?(千万不要让我不用积分分离,因为我现在就是要用到积分分离,有高手用过自编的这种PI程序吗?)