按照功能和優(yōu)先級的不同,PCC調速器的軟件被劃分為測頻程序、步進電機驅動程序、運算程序、主控程序、報警程序、通訊功能程序以及人機界面程序等程序模塊。各程序塊既相互獨立又互相關聯(lián),在分時多任務操作系統(tǒng)平臺上由主控程序統(tǒng)一調度來完成調節(jié)器的各項操作、控制、顯示和報警功能。這種程序結構充分發(fā)揮了PCC分時多任務操作系統(tǒng)的優(yōu)勢并且使得調速器程序得到了優(yōu)化。該系統(tǒng)的主控制程序流程如圖3所示。

圖3 主控制程序流程圖
5 調速器各項功能的軟件實現
5.1 頻率測量與濾波
PCC內部擁有高達6M Hz的計數基準頻率,因此它具有比普通PLC更高的測頻精度。經信號處理模塊整形后的機頻、網頻信號分別引入PCC的TPU通道1和2,利用時間測量功能塊LTXcpiC和LTXcpiD分別測量機頻和網頻脈沖信號的相鄰兩個上升沿之間的時間,然后根據該功能塊注釋中提供的計算公式可計算出實測頻率,即:
f=fe/DifCnt
fe為PCC內部晶振頻率(數值為6291667),DifCnt 為相鄰兩上升沿之間的計數值。
此外,為提高測頻回路的抗干擾能力,我們在該程序模塊里添加了具有濾波功能的程序段。該程序通過比較相鄰兩個波形的頻差是否超出正常頻差范圍(差值可由用戶設定)來判斷并過濾干擾信號。頻率測量及濾波(以機頻為例)的部分程序段如下所示:
……
Speed1 FUB LTXcpi1()
;alias call TPU FBK
Hz_real1=4000000.0/Speed0.DifCnt*Speed0.PCnt;Calculate Hz
delta1=Hz_real1-50.0
?。籆alculate the delta value
PT1=Speed0.PRest
……
如程序所示,我們將實測的機頻定義為臨時機頻(tempFj)而真正參與運算的機頻被定義為實際機頻(ActFj),二者的差值與頻差上限(FilterFj_Diff)相比較之后,如在頻差范圍以內說明后面的波形是實際的機頻信號,反之則說明遇到了干擾信號,這個波形應被過濾。
5.2 步進電機的驅動和控制
步進電機是高精度數字元件,它可以迅速且精確定位,用它來控制調速器的執(zhí)行機構是一個非常好的選擇。此外步進電機可與絲杠位移傳感器構成一個閉環(huán)系統(tǒng),這樣可以對因頻繁工作而丟步的步進電機進行零位校正。
5.3 運算程序
毫無疑問,數值運算是PCC調速器軟件的核心部分。一個好的算法不但能夠提高運算的速度和精度而且還能節(jié)省CPU資源。PCC操作系統(tǒng)在提供靈活多樣的編程語言的同時也提供了強大的浮點運算功能。簡單的邏輯處理仍然可以采用梯形圖的方式,但高級語言的應用則改變了以往PLC編寫運算程序相對比較困難的局面,以前需要許多句梯形圖語句才能完成的復雜計算過程如今只需定義變量后輸入公式即可。此外,一般普通的PLC只能進行整型變量運算,而PCC則可以進行浮點型變量運算,這使得運算精度得到大大提高。
以下是一段計算程序例子:
……
Fe=(Fc-Fx)/50.0
d_Yp=Kp*(Fe-Fe_1x)
d_Yi=Ki*Ts*(Fe-bp*(Y_pid-Pc_1x))
d_Yd=(Kd*(Fe-2*Fe_1x+Fe_2x))/(T0+Ts)+((T0*d_Ydtem)/(T0+Ts))
Y_pid=(Y_tem+d_Yp+d_Yi)+d_Yd+Pc_1x-Pc_2x
……
6 結束語
成都拜爾電力設備有限公司開發(fā)的基于可編程計算機控制器PCC技術的新型水輪機調速器采用奧地利貝加萊(B&R)公司的2003系列模塊作為控制核心部件,具有可靠性高、響應速度快、運算功能強大、人機界面友好和調節(jié)品質高等優(yōu)點,其各項靜態(tài)、動態(tài)指標全部滿足并且部分優(yōu)于國標GB/T9652-1997中的相關技術要求,經過實際長期應用,表現出良好的穩(wěn)定性,是行業(yè)技術的發(fā)展方向。










