摘要:可編程計(jì)算機(jī)控制器(PCC) 作為一種新型的控制裝置,在工業(yè)生產(chǎn)中有著廣闊的應(yīng)用空間,其優(yōu)越的控制效果得到了廣泛的肯定。本文簡(jiǎn)要介紹了PCC 在硬件和軟件上的特點(diǎn),采用其提供的高級(jí)編程語(yǔ)言(ANSI C) 實(shí)現(xiàn)了水輪機(jī)協(xié)聯(lián)運(yùn)行的編程。
關(guān)鍵詞:可編程計(jì)算機(jī)控制器(PCC) ;硬件特點(diǎn);軟件特點(diǎn);水輪機(jī);協(xié)聯(lián)
0 引 言
隨著工業(yè)生產(chǎn)水平的提高,生產(chǎn)規(guī)模的不斷擴(kuò)大,其復(fù)雜程度也越來(lái)越高。相應(yīng)地對(duì)工業(yè)控制技術(shù)也提出了更高的要求,控制系統(tǒng)正進(jìn)一步向智能化方向發(fā)展。為了適應(yīng)工業(yè)生產(chǎn)的要求,近年來(lái)奧地利B&R 公司推出了新一代控制器---可編程計(jì)算機(jī)控制器(PCC) 。其不僅實(shí)現(xiàn)了硬件和軟件上的模塊化,為進(jìn)一步擴(kuò)展提供了空間。而且其提供了分時(shí)多任務(wù)的操作系統(tǒng)和多種高級(jí)編程語(yǔ)言,使得PCC 擔(dān)任復(fù)雜任務(wù)的控制成為可能。本文簡(jiǎn)要介紹了PCC 在硬件和軟件上的特點(diǎn)。然后利用其提供的高級(jí)編程語(yǔ)言實(shí)現(xiàn)了對(duì)水輪機(jī)協(xié)聯(lián)運(yùn)行的編程。
1 PCC 的硬件特點(diǎn)
1. 1 模塊式結(jié)構(gòu)
可編程計(jì)算機(jī)控制器( PCC) 的硬件都是模塊式結(jié)構(gòu)。以B&R2003 為例,系統(tǒng)模塊可分為4 大組:控制器模塊,CPU 模塊, I/ O 模塊和旋入式模塊。其各組模塊又可進(jìn)一步細(xì)分,例如I/ O 模塊,分別提供了數(shù)字量輸入輸出模塊和模擬量輸入輸出模塊。并且各模塊又有多種型號(hào)可供選擇。用戶可以根據(jù)需要選擇適合的模塊組合,以達(dá)到理想的控制效果。
1. 2 采用多處理器結(jié)構(gòu)
PCC 硬件的另一個(gè)特點(diǎn)是采用多處理器結(jié)構(gòu)。除了主CPU 外[1] ,系統(tǒng)還提供了輸入輸出處理器( I/O-Processor) ,其主要負(fù)責(zé)獨(dú)立于CPU 的數(shù)據(jù)的輸入輸出。雙向口控制器(DPR-Controller) 主要擔(dān)任系統(tǒng)管理和網(wǎng)絡(luò)聯(lián)系。這三個(gè)處理器通過(guò)DPR (DUALPORTED RAM) 相互關(guān)聯(lián)。正是這種多處理器結(jié)構(gòu),減輕了CPU 的負(fù)擔(dān),提高了系統(tǒng)的運(yùn)行速度。它們之間的相互關(guān)系如圖1 所示。

1. 3 存儲(chǔ)器
PCC 在硬件上還有一大特點(diǎn)是擁有大容量、分門別類的存儲(chǔ)器[2] 。并且實(shí)現(xiàn)了模塊化。這樣為用戶開發(fā)軟件提供了硬件上的保證。各存儲(chǔ)器簡(jiǎn)要介紹如下:
(1) 系統(tǒng)ROM。用于存儲(chǔ)CPU 的操作系統(tǒng),其不能被用戶編程或擦除。
(2) 用戶ROM。帶有緩沖區(qū)的用戶ROM( EPROM或Flash - PROM) 用于存儲(chǔ)各應(yīng)用程序(循環(huán)和非循環(huán)任務(wù),數(shù)據(jù)模塊等) 。
(3) 系統(tǒng)RAM。其首先為操作系統(tǒng)使用,同時(shí)所有參數(shù)也可以保持在其中。用戶根據(jù)需要使用系統(tǒng)RAM的空閑空間。通過(guò)設(shè)置將其分為暫存區(qū)和模塊區(qū)。暫存區(qū)用于用戶在各任務(wù)中快速地訪問(wèn)無(wú)緩沖區(qū)的內(nèi)存。模塊區(qū)用于存儲(chǔ)操作系統(tǒng)下載的B&R 模塊。
(4) 雙口RAM(DPR) 。用于保存應(yīng)用程序中使用的所有變量(內(nèi)部變量與I/ O 數(shù)據(jù)) ,它可以被CPU和I/ O 處理器訪問(wèn)。
(5) 用戶RAM。用于存儲(chǔ)應(yīng)用程序(循環(huán)和非循環(huán)任務(wù)、數(shù)據(jù)模塊等) 。
1. 4 網(wǎng)絡(luò)開放性
由于PCC 的硬件采用模塊式結(jié)構(gòu),從而為進(jìn)一步擴(kuò)展提供了可能,使其具有較強(qiáng)的網(wǎng)絡(luò)開放性。以B&R 的2005 和2010 系列為例,其不僅具有本地?cái)U(kuò)展,同時(shí)還具備遠(yuǎn)程擴(kuò)展的功能。通過(guò)標(biāo)準(zhǔn)的RS2485總線,可以將1 個(gè)主站與121 個(gè)從站聯(lián)系起來(lái),其最遠(yuǎn)距離可以達(dá)到4800m ,點(diǎn)數(shù)可達(dá)十萬(wàn)多點(diǎn)。
正是由于具有上述硬件特點(diǎn),為其優(yōu)越的功能提供了保障。
2 PCC 的軟件特點(diǎn)
2. 1 分時(shí)多任務(wù)操作系統(tǒng)
作為新一代可編程計(jì)算機(jī)控制器在軟件的最大特點(diǎn)就是采用分時(shí)多任務(wù)的操作系統(tǒng),同時(shí)具有很強(qiáng)的實(shí)時(shí)性。一個(gè)復(fù)雜的項(xiàng)目可以分成幾個(gè)相對(duì)獨(dú)立的任務(wù),各個(gè)任務(wù)模塊化的控制方法,體現(xiàn)了PCC 在軟件上模塊化的特點(diǎn),為系統(tǒng)的進(jìn)一步擴(kuò)展提供了軟件上的支持。與此同時(shí),根據(jù)任務(wù)的具體要求可以劃分為循環(huán)任務(wù)和非循環(huán)任務(wù),其中循環(huán)任務(wù)又可分為兩種不同的任務(wù)層:標(biāo)準(zhǔn)任務(wù)層(Cyclic) 和高速任務(wù)層(Timer) 。其中高速任務(wù)層是由硬件定時(shí)觸發(fā)的,標(biāo)準(zhǔn)任務(wù)層是由系統(tǒng)管理器來(lái)激發(fā)的。對(duì)于各循環(huán)任務(wù)的循環(huán)時(shí)間可以由用戶根據(jù)需要來(lái)定義。這些任務(wù)可以根據(jù)其重要程度和具體要求,分別給它們定義不同的任務(wù)等級(jí),其中優(yōu)先級(jí)高的可以中斷任務(wù)級(jí)別低的任務(wù)。從Cyclic1 到Cyclic4 , 從Timer1 到Timer4 的優(yōu)先級(jí)依次遞減,其中高速任務(wù)層(Timer) 的優(yōu)先級(jí)高于標(biāo)準(zhǔn)任務(wù)層(Cyclic) 。從而保證了重要任務(wù)優(yōu)先執(zhí)行。與此同時(shí)也體現(xiàn)了其實(shí)時(shí)性。下面以一個(gè)例子來(lái)說(shuō)明多個(gè)任務(wù)的循環(huán)運(yùn)行過(guò)程[2 ] (以四個(gè)不同任務(wù)層的任務(wù)為例,各任務(wù)的具體情況如表1 所示) 。
表1 系統(tǒng)運(yùn)行任務(wù)

各任務(wù)的循環(huán)執(zhí)行情況如圖2 所示。

2. 2 多種編程語(yǔ)言
PCC 在軟件上的另一個(gè)特點(diǎn)是為用戶提供了多種編程語(yǔ)言[2] 。其中既有面向一般技術(shù)人員的梯形圖(LAD) ,結(jié)構(gòu)文本(ST) 、指令表( IL) 、順序功能圖、SFC 等編程語(yǔ)言,又有B&R Automation Basic 和標(biāo)準(zhǔn)C語(yǔ)言兩種高級(jí)語(yǔ)言。使得更加復(fù)雜的任務(wù)在編程語(yǔ)言上得以實(shí)現(xiàn)。用戶可以根據(jù)任務(wù)的需要和自己編程習(xí)慣選擇適合的編程語(yǔ)言。
3 水輪機(jī)協(xié)聯(lián)運(yùn)行的實(shí)現(xiàn)
由于水輪機(jī)協(xié)聯(lián)運(yùn)行是一個(gè)實(shí)時(shí)性較強(qiáng),控制較為復(fù)雜的過(guò)程。本文討論的正是利用PCC 在軟件上提供的實(shí)時(shí)性很強(qiáng)的分時(shí)多任務(wù)操作系統(tǒng)和高級(jí)的編程語(yǔ)言---C 語(yǔ)言實(shí)現(xiàn)了對(duì)水輪機(jī)協(xié)聯(lián)運(yùn)行的編程。
3. 1 微機(jī)調(diào)節(jié)器的協(xié)聯(lián)關(guān)系分析[3]
對(duì)于軸流轉(zhuǎn)槳式機(jī)組,其微機(jī)調(diào)節(jié)器內(nèi)槳葉接力器行程(Z) 由當(dāng)前的運(yùn)行水頭(H) 和導(dǎo)葉接力器行程(Y) 所確定。其依據(jù)是效率試驗(yàn)標(biāo)繪的協(xié)聯(lián)曲線。如圖3 所示。
3. 2 微機(jī)調(diào)節(jié)器內(nèi)槳葉接力器行程的確定[3]
由于導(dǎo)葉接力器行程( Y) 是由PID 調(diào)節(jié)求取出來(lái)的,根據(jù)其值與運(yùn)行的水頭(H) ,由圖3 所提供的協(xié)聯(lián)曲線可以求得與之對(duì)應(yīng)的槳葉接力器行程(Z) 。由于電站根據(jù)其運(yùn)行特點(diǎn)所提供的水頭節(jié)點(diǎn)和導(dǎo)葉接力器行程節(jié)點(diǎn)有限(即提供的是一個(gè)插值節(jié)點(diǎn)表) 。在不少情況下是不能直接從插值節(jié)點(diǎn)表查出所對(duì)應(yīng)的槳葉接力器行程Z ,需要插值確定??紤]到協(xié)聯(lián)曲線較為平坦,并且在變化急劇的區(qū)段采用縮短節(jié)點(diǎn)間距的方法,故采用二元線性插值方法,其具體插值過(guò)程如下:
(1) 根據(jù)計(jì)算所得的導(dǎo)葉接力器行程Y和運(yùn)行水頭H 確定其范圍:Yj ≤Y≤Yj + 1 ,Hi ≤H ≤Hi + 1 。
(2) 根據(jù)Yj ,Yj + 1 ,Hi ,Hi + 1找到對(duì)應(yīng)的接力器行程:Zi ,j ,Zi ,j + 1 ,Zi +1 ,j ,Zi + 1 ,j + 1 ,如圖3 所示。

(3) 對(duì)水頭插值,可以求得:

(4) 對(duì)微機(jī)調(diào)節(jié)器槳葉接力器行程插值:

3. 3 程序?qū)崿F(xiàn)
本程序采用PCC 提供的高級(jí)編程語(yǔ)言---C 語(yǔ)言編寫。以給定10 個(gè)水頭節(jié)點(diǎn)和10 個(gè)導(dǎo)葉接力器行程節(jié)點(diǎn)為例。
(1) 定義變量:
- GLOBAL int i , j ;
- GLOBAL REAL H ,Y,Z ,Z1 ,Z2 ,M;
- GLOBAL REAL h[10 ] ,y[10 ] ;
static REAL z[10 ] [10 ] ;
(2) 初始化。
在初始化程序中,實(shí)現(xiàn)將插值表中的值輸入到對(duì)應(yīng)的數(shù)組中, (其中h[10 ] ,y[10 ]分別用于存放運(yùn)行水頭和導(dǎo)葉接力器行程的節(jié)點(diǎn)值,z [ 10 ] [ 10 ]用于存放與之對(duì)應(yīng)的槳葉接力器行程的節(jié)點(diǎn)值) 。同時(shí)建立變量i 和h[ i ] ;j 和y[ j ] ;i ,j 和z[ i ] [ j ]的對(duì)應(yīng)關(guān)系。例如:i = 2 ,j = 3 對(duì)應(yīng)于h[2 ] ,y[3 ]和z[2 ] [3 ] 。
(3) 循環(huán)程序。
在循環(huán)程序中通過(guò)定義和運(yùn)行水頭同類型的變量M 用于存放上次循環(huán)的水頭值。在循環(huán)程序開始時(shí)首先判別前后兩次水頭差值是否小于規(guī)定的值,若小于則將上次循環(huán)的水頭值賦給當(dāng)前的水頭值。從而可以消除水頭波動(dòng)對(duì)插值計(jì)算的影響。具體程序如圖4所示。

3. 4 運(yùn)行結(jié)果簡(jiǎn)述
根據(jù)水輪機(jī)協(xié)聯(lián)運(yùn)行實(shí)時(shí)性的要求設(shè)置了合適的循環(huán)時(shí)間。通過(guò)可編程計(jì)算機(jī)控制器( PCC) 和微型計(jì)算機(jī)連接后的在線觀測(cè),其運(yùn)行結(jié)果完全滿足要求,所占有系統(tǒng)的時(shí)間也在允許的范圍
內(nèi)。最后將其嵌入調(diào)節(jié)器的主控程序,能夠做到相互協(xié)同運(yùn)行,能夠承擔(dān)微機(jī)調(diào)節(jié)器協(xié)聯(lián)運(yùn)行的任務(wù)。
4 結(jié)束語(yǔ)
可編程計(jì)算機(jī)控制器作為一種自動(dòng)化和可靠性較高的控制裝置,適應(yīng)了工業(yè)生產(chǎn)對(duì)控制技術(shù)的更高要求。代表了現(xiàn)代工業(yè)控制技術(shù)的一種發(fā)展趨勢(shì),其優(yōu)良的控制效果將會(huì)被越來(lái)越多的工控行業(yè)所采用。
參考文獻(xiàn):
[1 ] 廖為宏. PCC 技術(shù)在水電廠監(jiān)控中的應(yīng)用[J ] . 浙江電力,2001 (5) :31.
[2 ] 齊蓉. 可編程計(jì)算機(jī)控制器原理及應(yīng)用[M] . 西安:西北工業(yè)大學(xué)出版社,2002.
[3 ] 魏守平. 現(xiàn)代水輪機(jī)調(diào)節(jié)技術(shù)[M] . 武漢:華中科技大學(xué)出版社,2002. 52~54.2004 年第11 期田少?gòu)?qiáng)等:基于PCC 技術(shù)的水輪機(jī)協(xié)聯(lián)運(yùn)行的實(shí)現(xiàn)113
作者:田少?gòu)?qiáng)(1977) ,男,四川成都人,河海大學(xué)碩士研究生,研究方向:水電站自動(dòng)化;
廖忠(1962) ,男,湖南加禾人,副教授,河海大學(xué)博士研究生,研究方向:水電機(jī)組智能控制;
沈祖詒(1936) ,男,浙江湖州人,河海大學(xué)教授,研究方向:水力發(fā)電教學(xué)和科研;
鄧?yán)?1977) ,男,江西奉新人,河海大學(xué)碩士研究生,研究方向:水力機(jī)組控制與仿真。