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

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

各任務的循環執行情況如圖2 所示。

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

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

(4) 對微機調節器槳葉接力器行程插值:

3. 3 程序實現
本程序采用PCC 提供的高級編程語言---C 語言編寫。以給定10 個水頭節點和10 個導葉接力器行程節點為例。
(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) 初始化。
在初始化程序中,實現將插值表中的值輸入到對應的數組中, (其中h[10 ] ,y[10 ]分別用于存放運行水頭和導葉接力器行程的節點值,z [ 10 ] [ 10 ]用于存放與之對應的槳葉接力器行程的節點值) 。同時建立變量i 和h[ i ] ;j 和y[ j ] ;i ,j 和z[ i ] [ j ]的對應關系。例如:i = 2 ,j = 3 對應于h[2 ] ,y[3 ]和z[2 ] [3 ] 。
(3) 循環程序。
在循環程序中通過定義和運行水頭同類型的變量M 用于存放上次循環的水頭值。在循環程序開始時首先判別前后兩次水頭差值是否小于規定的值,若小于則將上次循環的水頭值賦給當前的水頭值。從而可以消除水頭波動對插值計算的影響。具體程序如圖4所示。

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