摘要: 基于B&R 2005 系列可編程計算機控制器(PCC) 設計了一種水輪機組現地控制系統。系統
以具有高速數據處理能力和強通信能力的PCC 為控制核心, 采用ANSI C 語言編寫控制程序, 基于
最小二乘法對機組模擬量進行濾波, 實現機組的開停機控制、模擬量采集、故障報警等功能, 同時,基于幀驅動器實現控制系統同各種智能設備以及上位機的數據通信, 以將各監控單元采集到的數據經過處理送到上位機監控系統以及人機界面, 實現了系統的遠程與現地監控。同時, 介紹了系統結構及軟件設計方案。該監控系統已在實際中應用, 性能可靠穩定, 驗證了方案的可行性。
關鍵詞: 可編程計算機控制器;分時多任務系統;最小二乘法;幀驅動器;PVI;OPC
0 引言
水電站計算機監控系統的優劣在一定意義上代表著該水電站的自動化控制水平, 它直接影響機組的運行安全、電能質量以及生產效益等[1-2]。
從目前水電站自動化水平的發展需求看, 可編程邏輯控制器PLC( Programmable Logic Controller) 在高速數據處理、網絡通信以及系統擴展等方面的能力已經不能滿足要求, 而新一代的可編程計算機控制器PCC( Programmable Computer Controller ) 不僅擁有PLC 穩定可靠的優點, 同時也具備了工業控制計算機強大的數據處理及通信能力、豐富的編程語言, 諸多優點已使其能夠勝任大型的集散控制以及復雜的控制過程[3]。
本文介紹的系統基于B&R 2005 系列PCC, 采用ANSI C 語言編制控制程序, 同時以最小二乘
法對機組模擬量進行濾波, 并基于幀驅動器以及OPC Server 實現了PCC 控制系統同外部智能設備及上位機的通信, 組成了一個較先進的適用于中小型水電站的開放式監控系統。
1 系統監控方式與組成結構
以計算機為基礎的監控方式CBSC( Computer-Based Supervisory Control ) 是目前國內外水電廠普遍采用的計算機監控方式[4]。CBSC 模式的主要特點是電廠的主要監控功能全部由計算機實現, 大大簡化常規控制裝置, 僅留一部分現地操作設備以備特殊情況[5] , 但由于位于監控系統較底層的現地控制單元LCU( Local Control Unit) 一般都以PLC 作為其控制核心, 在數據處理、通信上功能不夠強大,用戶如要擴展或升級系統就需要相當大的投入, 而PCC 則依靠其豐富靈活的通信模塊成功解決了這一問題, 使CBSC 監控方式更加靈活有效。
結合廣西宜州拉浪水電站的實際情況, 本系統基于B&R 2005 系列中型PCC 并以CBSC 方式設計監控系統。該系統控制核心PCC 由一系列獨立封裝的盒式模塊組成, 基本模塊包括電源模塊和CPU 模塊, 擴展模塊包括I /O 模塊、通信模塊等。
在該系統中, 調速器、電量儀及溫度巡檢儀等智能設備能夠穩定地同PCC 通信并將數據送入PCC,而PCC 則通過以太網( 基于TCP / IP 協議) 同上位機監控終端通信, 同時也將數據送至位于LCU 上的人機界面顯示。這種模式彌補了設備分散帶來的不足, 使運行人員可以在上位機或人機界面上監控機組運行狀態, 實現真正的集散式監控系統。該系統結構如圖1 所示。

圖1 系統結構
2 現地控制單元程序設計
2.1 控制程序設計
2.1.1 任務層設計
PCC 的操作系統是一個分時多任務操作系統,該系統可使控制系統得以優化, 擁有更好的穩定性和實時性①。在控制程序中, 各個任務程序模塊依據其自身的重要性、實時性要求, 分別位于優先級不同的任務層下, 完成不同的功能。例如, 事故故障處理直接影響水輪機組的安全運行, 因此, 該模塊被置于任務層Cyclic #1 中; 而對實時性要求相對不高的模塊如通信程序模塊, 則被置于任務層Cyclic # 4中。圖2 為控制程序各個任務程序模塊的任務層分布( 括號內時間分別表示不同任務層的循環時間) 。

圖2 程序模塊的任務層分布
2.1.2 模擬量處理程序設計
機組模擬量如壓力、溫度等對整個水輪機組的正常運行起著至關重要的作用, 因此需要對模擬量進行濾波以保證數據的準確性。以PLC 為核心的控制系統對模擬量值的濾波一般是通過將模/ 數轉換器得到的數值進行平均N 次得以實現, 存在著可靠性差等缺點。該程序則基于最小二乘法對模擬量數據進行擬合處理, 并可根據傳感器特性的變化調整參數, 提高了數據的可靠性。最小二乘法[6]即: 選擇適當的a, b, 使式( 1) 中的ε最小。
(1)
因為ε是a, b 的函數, 用求極值的方法可知應滿足:
(2)
解出a,b:
(3)
(4)
式中Yi 為第i 個模擬量通道的數據處理結果; Xi為從傳感器讀取的第i 個模擬量通道的初始
值; a i, bi 為對應該通道的參數; n 為平均次數,程序中一般取20 次。
模擬量處理模塊部分程序如下:
int AnalogueFilter( unsigned int No, int AValue)
{IValue=AValue*ACoefficientA[No] +ACoefficientB[No];∥最小二乘法濾波
IValue=FlatFilter (No, IValue, 1);∥平均值濾波if( ( IValue>=AValueMin[No] ) &&( IValue<=AValue Max[No] ) ){EValue=EValue+ALog[No] [i] ;
FValue=( EValue+IValue) / 20;}}
2.2 通信程序設計
LCU 與外部設備如電量儀等的通信基于幀驅動器。幀驅動器是一種介于應用程序和硬件接口之間的軟件工具箱, 它使幀以字節流的形式進行發送與接收, 無需驅動器對這些幀進行操作[7]。
a. 初始化。通信開始時, 通過幀命令FRM_xopen(enbale, device, mode) 初始化端口, 其參數定義了接口設備、接口參數以及數據傳輸狀態等。
b. 數據發送與接收。函數FRM_xopen( ) 初始化完成后返回緩沖區的地址及其長度, 然后調用memcpy( ) 將數據寫入緩沖區, 并將數據發送出去。數據接收的過程與發送基本相反, 幀驅動器首先調用FRM_read( ) 讀取1 幀數據并把它放在緩沖區中,然后由memcpy( ) 讀出該緩沖區的內容。
通信模塊部分程序如下:
void OpenComPortProc(void) ∥ 端口初始化{strcpy( StringDevice,"SL3.SS1.IF2");∥ 3 號槽的子模塊上的第2 個接口
strcpy( StringMode,"RS485, 9600, N, 8, 1") ;∥通信參數
FramexOpenStruct..device=(UDINT)StringDevice;
FramexOpenStruct.mode=(UDINT) StringMode;
FRM_xopen(&FramexOpenStruct);
Ident=&FramexOpenStruct.ident;}
3 上位機監控實現
3.1 OPC 服務器
上位機監控功能是借助OPC(OLE for Process Control) 服務器為橋梁實現上位機組態軟件對機組數據信息的共享的。OPC 是一個工業標準, 它為不同廠商的硬件設備、軟件和系統定義了公共的接口, 使過程控制和工廠自動化中的不同系統、設備和軟件之間能夠互相連接、通信、操作。監控系統采用OPC協議與其他現場設備通信的優點在于: 不管硬件設備是否使用標準的通信協議, 制造商只需要提供1套OPC 服務器, 就可以支持大部分的監控等軟件,也不需要將自己的通信協議細節提供給軟件商[8]。
OPC 服務器軟件主要分為OPC 服務器對象模塊、服務器界面模塊和OPC 驅動程序模塊, 3 個模塊通過同一塊主內存數據區共享數據, 通過線程的同步和互斥等技術的使用, 可解決共享數據的保護問題。在該系統中, 上位監控計算機啟動后, 系統自動加載一個被B&R 稱之為"PVI"的系統模塊, 同時PVI 啟動同封裝在PCC 操作系統中的OPC 服務器的通信(在本系統中基于TCP / IP 協議) 。PVI 的核心部分為"PVI manager", 在"PVI manager"中用戶可根據需要選擇性定義從OPC 服務器傳輸的數據。B&R PVI 的基本構成( 見B&R 2005 User's Manual,2004) 如圖3 所示。

圖3 PVI 基本構成
3.2 組態程序設計
該系統的組態程序采用北京亞控"組態王6.03"設計。"組態王6.03"有比較完善的報警和事件系統、報表系統及支持Windows 標準的Active X 控件, 同時全面支持OPC 標準, 可以通過PVI 很方便地實現同PCC OPC Server 的數據共享, 完成諸如開關量監視記錄和事件順序記錄、事故追憶和故障錄波、自動發電控制(AGC) 、自動電壓控制(AVC) 等監控功能。
4 結語
本文結合發展迅速的PCC 技術, 介紹了一種新型高效的水電站計算機監控系統。該系統基于B&R 2005 系列PCC, 在以最小二乘法對機組模擬量進行濾波的基礎上, 實現了機組的各種控制與保護功能,并基于幀驅動器以及OPC Server 實現了PCC 控制系統同外部智能設備及上位機的通信, 組成了一個較先進的適用于中小型水電站的開放式監控系統。該監控系統自現場安裝調試完畢至今, 已安全可靠地穩定運行了將近1 年。PCC 可能將會依靠其強大的性能逐漸取代PLC, 成為水電廠自動化改造中不可或缺的一部分。
參考文獻:
[1] 侯代平, 潘啟俊. 格強水電站計算機監控系統設計[J] . 廣西水利水電, 2005(3) : 69-71.
[2] 汪軍, 鄭冬梅, 方輝欽, 等. 第3 代水電廠計算機監控系統及其在水口電廠的應用[J] . 水電自動化與大壩檢測,2004, 28( 2) : 13-16.
[3] 楊君. 基于PCC 的步進式水輪機雙調整調速器的研制[D] . 西安: 西安理工大學, 2004.
[4] 官貴朝. 白水峪電站計算機監控系統改造[J] . 水電自動化與大壩檢測, 2005, 29( 5) : 14-16, 39.
[5] 伍奎, 李潤方, 蔣衛, 等. 水電站計算機監控系統的模糊PID功率調節[J] . 重慶大學學報: 自然科學版, 2004, 27( 5) :17-20.
[6] 李潤求. 基于Matlab 的離散模型參數識別[J] . 兵工自動化, 2005, 24( 1) : 62-64.
[7] 齊蓉, 陳楊, 樊惠芳, 等. 可編程計算機控制器教程[M] .西安: 西北工業大學出版社, 2002.
[8] 余峰, 喻道遠. Kingview6.5 的報表功能在遠程監控系統中的應用[J] . 自動化技術與應用, 2005, 24( 8) : 39-41.
作者: 徐惠攀( 1982 , 男, 河南新密人, 碩士研究生, 主要研究方向為自動控制理論及自動化技術 )1
王典洪( 1957 , 男, 湖北仙桃人, 教授, 博士研究生導師, 主要研究方向為計算機圖像處理以及計算機應用) 1
孔令彬( 1962 , 男, 遼寧沈陽人, 教授, 主要研究方向為微光學及紅外熱成像技術)1
章 潞( 1962 , 男, 湖北武漢人, 高級工程師, 主要研究方向為水電廠自動化 )2
1.中國地質大學機電學院, 湖北武漢430074;
2. 武漢東興自動控制技術有限公司, 湖北 武漢430077