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

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










