下面这段是在PIC给的历程里面找的PI程序比较简单,但是一直有一个疑问请教大家!
;void CalcPI( tPIParm *pParm)
;{
; Err = InRef - InMeas
; U = Sum + Kp * Err
; if( U > Outmax )
; Out = Outmax
; else if( U < Outmin )
; Out = Outmin
; else
; Out = U
; Exc = U - Out
; Sum = Sum + Ki * Err - Kc * Exc
;}
;
;
;void InitPI( tPIParm *pParm)
;{
; Sum = 0
; Out = 0
;}
在整个程序中不管是速度环还是电流环都用到了整个程序,我的疑问是如果避免Sum这个变量不会乱套,也就是说速度环计算的不会和电流环计算的掺和到一起去? |