南水北調中線工程跨越長江、黃河、淮河、海河四大流域,是解決京、津、華北地區(qū)缺水問題的重大戰(zhàn)略基礎設施,擔負著北京、天津、石家莊、鄭州等數十座城市供水任務[1]。水量調度系統(tǒng)是南水北調中線工程自動化調度系統(tǒng)的核心組成部分,是實現統(tǒng)一調度、集中控制的基礎[2]。
摘要:水量調度系統(tǒng)是南水北調中線工程自動化調度系統(tǒng)的核心組成部分,由閘站監(jiān)控系統(tǒng)采集的水位、流量、閘門開度等監(jiān)測數據反映了輸水干渠水量調度控制的實時狀態(tài),是水量調度系統(tǒng)中控制指令生成必不可少的輸入參數。因此,需要建立水量調度系統(tǒng)與閘站監(jiān)控系統(tǒng)之間的數據通信。根據OPC基本原理和數據訪問規(guī)范,提出了基于OPC技術的系統(tǒng)集成方案,即在水量調度系統(tǒng)中開發(fā)OPC客戶端應用程序,用于實時獲取閘站監(jiān)控系統(tǒng)采集的監(jiān)測數據,并將指令發(fā)送到閘站監(jiān)控系統(tǒng)。實踐表明,基于OPC技術的集成方案能夠很好地實現兩個應用系統(tǒng)之間的數據傳遞,降低了系統(tǒng)集成的成本,增強了系統(tǒng)的穩(wěn)定性和靈活性。
關鍵詞:農業(yè)現代化研究投稿,OPC,南水北調中線,自動化調度,水量調度,閘站監(jiān)控,數據,系統(tǒng)集成
水量調度系統(tǒng)的重要任務之一,就是利用各節(jié)制閘、分水口、退水閘實時的監(jiān)測數據,計算出正常運行狀態(tài)、冰期運行以及應急狀態(tài)下的閘門控制指令[3-6]。閘站監(jiān)控系統(tǒng)則負責采集并為水量調度系統(tǒng)提供監(jiān)測數據,再根據接收到的控制指令,對節(jié)制閘、分水口、退水閘等進行遠程控制[7]。因此,需要在水量調度系統(tǒng)與閘站監(jiān)控系統(tǒng)之間建立數據通信,完成大量的實時數據傳遞任務。基于OPC技術可以建立彼此獨立的應用系統(tǒng)之間實時數據通信的橋梁,能有效克服應用系統(tǒng)之間的不兼容問題,實現系統(tǒng)集成應用。
1OPC簡介
OPC(OLEforProcessControl,過程控制對象連接與嵌入技術)是OPC基金會組織推廣的工業(yè)控制和生產自動化領域中的硬件和軟件之間的標準接口[8-9]。OPC以組件對象模型為基礎,采用客戶端/服務器模式,允許各種不同設備之間以相同的方式進行通信。OPC是應用程序之間交換實時數據的一種方法,既可以應用于軟件系統(tǒng)之間的集成,也可以應用于軟件系統(tǒng)與硬件系統(tǒng)之間的集成[10-15]。
1.1OPC的組成
OPC服務器由三類對象構成[8]:OPC服務器(OPCServer)、OPC組(OPCGroup)和OPC項(OPCItem)。OPC服務器提供數據源以及數據訪問接口,并負責維護有關OPC服務器的相關信息,OPC服務器是組對象的容器,可以包含一個或多個組對象;OPC組提供了一種容納和組織OPC數據項的機制,從邏輯上完成對數據項的管理,組可以包含一個或多個數據項;項是最小的對象單元,由數據值(Value)、數據質量(Quality)、時間戳(TimeStamp)等構成,代表著與OPC服務器的數據連接。OPC包含兩種標準接口:自定義接口和自動化接口,自定義接口是一組COM接口,由OPCServer服務商提供;自動化接口是一組OLE接口,主要用于OPC客戶端應用程序開發(fā)。OPC體系結構見圖1。
1.2OPC數據存取方式
OPC服務器與OPC客戶端之間數據交互包括兩個方面:OPC客戶端從OPC服務器端讀取數據和OPC客戶端向OPC服務器端寫入數據。OPC客戶端數據讀取有三種方式:同步、異步、訂閱[11],而OPC客戶端向OPC服務器寫數據只有兩種方式:同步寫和異步寫。
同步數據存取包括同步讀和同步寫。OPC客戶端通過接口函數向OPC服務器發(fā)出數據存取請求,OPC服務器執(zhí)行相應的請求操作,當OPC服務器對應的響應全部完成后才能返回,在此期間,OPC客戶程序一直處于等待狀態(tài)。同步數據存取時,如果有大量數據進行操作或有很多OPC客戶程序對OPC服務器進行讀操作時,必然造成OPC客戶程序的阻塞現象。因此,同步數據存取適用于OPC客戶程序較少,數據量較小的場合。
異步數據存取包括異步讀和異步寫。OPC客戶端程序向OPC服務器端發(fā)出請求后立刻返回,不用等待OPC服務器的響應,即可進行其它操作。OPC服務器完成響應后再通知OPC客戶程序。相對于同步數據存取,異步數據存取的效率更高。
訂閱式數據讀取是指OPC客戶程序對OPC服務器發(fā)送請求后立刻返回,不用等待OPC服務器的操作,即可進行其它操作。OPC服務器在數據發(fā)生改變時,會自動根據更新周期刷新相應的客戶端數據?蛻舳酥幌騉PC服務發(fā)送一次請求,之后不再對服務器請求。相比于同步數據存取和異步數據存取,訂閱式數據訪問方式可以有效降低客戶端訪問服務器的次數,最大程度地避免網絡阻塞。
OPC客戶端利用數據訪問接口,以統(tǒng)一的方式訪問OPC服務器,無需了解服務器端的底層細節(jié)及硬件設備驅動,易于實現應用系統(tǒng)之間或軟硬件系統(tǒng)之間的集成。OPC實現了遠程調用,使得應用程序與系統(tǒng)硬件的分布無關,便于系統(tǒng)硬件配置。OPC降低了系統(tǒng)集成的成本,基于COM規(guī)范的語言無關性簡化了OPC客戶端系統(tǒng)開發(fā),用戶可以選擇熟悉的二次開發(fā)語言,以及各種商業(yè)開發(fā)軟件包,OPC客戶端不必考慮硬件設備驅動的問題;贠PC的上述優(yōu)點,本文采用OPC技術實現水量調度系統(tǒng)與閘站監(jiān)控系統(tǒng)之間的集成。
2南水北調中線工程自動化系統(tǒng)
2.1南水北調中線工程自動化調度系統(tǒng)簡介
南水北調中線工程自動化系統(tǒng)包括六大應用系統(tǒng),分別是:水量調度系統(tǒng)、閘站監(jiān)控系統(tǒng)、閘站視頻監(jiān)視系統(tǒng)、工程安全監(jiān)測自動化系統(tǒng)、水質監(jiān)測系統(tǒng)、三維仿真系統(tǒng)。
水量調度系統(tǒng)是整個自動化調度系統(tǒng)的大腦,是實現統(tǒng)一調度、集中控制的基礎。通過該系統(tǒng),實現正常調度、應急調度、冰期運行等不同工況下水量調度計劃制定、閘門控制指令制定及發(fā)送等功能。閘站監(jiān)控系統(tǒng)是全線集中控制方式的執(zhí)行系統(tǒng),可以在調度中心對全線所有節(jié)制閘、分水口、退水閘、工作閘等進行遠程自動控制,系統(tǒng)主要功能包括閘站控制、運行狀態(tài)實時監(jiān)測、告警、模擬、趨勢分析、查詢統(tǒng)計、系統(tǒng)管理等。
閘站視頻監(jiān)視系統(tǒng)主要用于監(jiān)視閘門及啟閉機運行狀態(tài)、水流狀態(tài)、機房設備運行狀態(tài)、園區(qū)安防等情況,同時可進行遠程操作維護指導,能夠起到“事前發(fā)現、事中處理、事后取證”的作用。
工程安全監(jiān)測自動化系統(tǒng)將預埋在渡槽、隧洞、倒虹吸等建筑物及特殊渠段的監(jiān)測儀器數據自動采集,上傳至調度中心,在調度中心能夠針對異常情況進行報警,主要功能包括監(jiān)測信息管理、在線綜合分析、離線綜合分析、綜合查詢、報表制作等。
水質監(jiān)測系統(tǒng)通過固定、移動、自動等監(jiān)測手段實現水質信息的采集并上傳至調度中心,水質不達標或發(fā)生污染時及時報警,并針對異常情況指揮現場進行處理。主要功能包括水質監(jiān)測數據采集與管理、水質站網管理、水質分析評價、水質監(jiān)測資料整理匯編、水質預測預報、水質信息查詢、水質會商支持、水質信息發(fā)布等。
三維仿真系統(tǒng)通過數字化手段把中線干線工程裝進計算機,能夠形象地展示工程全貌,同時可展示工程沿線社會經濟環(huán)境。三維仿真系統(tǒng)是實現“數字中線”的基礎。
2.2水量調度系統(tǒng)與閘站監(jiān)控系統(tǒng)的集成
水量調度系統(tǒng)集成了供水計劃生成模型、總干渠水力學模型、冰期輸水控制模型、應急預案模型。為了提高數據共享,保證數據一致性,系統(tǒng)構建統(tǒng)一的模型參數數據庫,閘門控制指令計算模型的輸入包括兩類參數:一類是模型參數,包括水工建筑物的設計參數,如渠段長度、底寬、設計水位、設計流量,以及模型自身的參數,如水位最大降速、閘門開度步長等;另一類參數是反映供水調度實時狀態(tài)的監(jiān)測數據,如閘前閘后水位、閘門開度、過閘流量等。模型參數從本地模型數據庫中獲取,監(jiān)測數據則利用OPC技術從閘站監(jiān)控系統(tǒng)獲取,同時,生成的控制指令也通過OPCClient發(fā)送到閘站監(jiān)控系統(tǒng)。系統(tǒng)體系結構見圖2。
3OPC技術在水量調度系統(tǒng)中的應用
3.1南水北調中線水量調度規(guī)則
水量調度就是根據各用水戶的用水需求,通過改變一系列控制閘門的啟閉狀態(tài),適時、適量地將水送到用水戶的過程。南水北調中線水量調度以總干渠水力學模擬模型為基礎,采用前饋加反饋的控制策略[16]。根據渠道初始及目標狀態(tài)的流量、水位、渠道水體體積等參數指標,初步制定節(jié)制閘流量變化過程及閘門開度變化過程,稱為前饋控制策略;根據渠道水力響應的實測數據,對過閘流量及閘門開度進行修正,以保證節(jié)制閘流量變化過程與前饋控制策略制定的流量過程一致,稱為反饋控制策略。典型的控制指令生成流程見圖3。
3.2基于OPC技術的閘站監(jiān)測數據獲取與控制指令發(fā)送
反映渠道輸水控制狀態(tài)的實時監(jiān)測數據是閘門控制指令修正計算的重要依據?紤]到監(jiān)測數據量大,采集頻率高等特點,水量調度系統(tǒng)只在計算控制指令時才建立與OPCServer端的連接,一旦獲取到數據后即斷開與OPCServer端的連接。同樣,系統(tǒng)在每一個設定的時間間隔都會生成控制指令,但只是在需要調整閘門時才將相應的控制指令發(fā)送到閘站監(jiān)控系統(tǒng)執(zhí)行。本文采用C#語言開發(fā)OPCClient端應用程序,實現監(jiān)測數據獲取與控制指令發(fā)送。數據獲取與指令發(fā)送的基本步驟如下。
3.2.1連接OPCServer
OPCServer由閘站監(jiān)控系統(tǒng)提供,負責提供數據源。在OPCClient端建立與OPCServer的連接時,需要提供OPCServer的名稱與IP地址。服務器端的OPCServer可能有多個,在具體實現時,采用OPCServer枚舉算法,根據提供的OPCServer名稱和IP地址,找到指定的OPCServer,使用OPCServer對象提供的Connect方法建立連接。
3.2.2創(chuàng)建OPCGroup和添加OPCItem
OPCServer作為OPCGroup對象的容器,提供了創(chuàng)建和添加組的方法,使用OPCServer對象提供的CreateSubscription可創(chuàng)建OPCGroup對象。需要注意的是,使用該方法創(chuàng)建的對象,本身已經添加到OPCServer對象中,不需要使用AddGroup方法添加。在創(chuàng)建OPC組對象時,需要設置組對象的更新頻率(UpdateRate)、更新死區(qū)(Deadband)、是否激活(Active)等屬性,這些屬性涉及到數據更新方式,應根據數據訪問的實際需要設置。OPCItem由OPCGroup管理,創(chuàng)建OPCItem時需要指定ItemName、ClientHandle等屬性,其中ItemName必須與OPC服務器端的Item項名稱一致,這樣在客戶端進行請求時,才能獲取服務器端對應的數據項的值。
3.2.3異步方式讀取監(jiān)測數據
數據訪問是OPCClient端程序實現的一個重要環(huán)節(jié),鑒于南水北調中線工程干線供水調度實測數據量大,數據種類多,系統(tǒng)采用訂閱的方式,當監(jiān)控設備采集到的數據有變化時,自動觸發(fā)數據變化事件函數,通知客戶端。
3.2.4向閘站監(jiān)控系統(tǒng)發(fā)送控制指令
發(fā)送控制指令是OPCClient端向OPCServer端寫入數據的過程。在水量調度系統(tǒng)中,向閘站監(jiān)控系統(tǒng)寫入的開度指令遠比獲取的監(jiān)測數據少,另外,根據南水北調中線水量調度的業(yè)務要求,在每次對閘門進行控制時,應保證閘門控制操作的同時性。因此,在OPCClient端開發(fā)過程中,采用同步寫的方式,利用OPCServer對象提供的Write方法,實現向閘站監(jiān)控系統(tǒng)發(fā)送控制指令。
3.2.5斷開OPCServer
OPC的連接資源有限,在使用完成后,需要及時斷開與OPCServer的連接,使用OPCServer對象提供的Disconnect方法可斷開連接并釋放資源。4實例
南水北調中線一期工程京石段水量調度系統(tǒng)部署在總調中心,通過控制專網與閘站監(jiān)控系統(tǒng)連接,OPCServer端部署在閘站監(jiān)控系統(tǒng),負責提供數據源供OPCClient端訪問。OPCClient端應用程序部署在水量調度系統(tǒng),負責從閘站監(jiān)控系統(tǒng)讀取水位、流量、開度等監(jiān)測數據,保存到內存表,作為控制指令計算的輸入項,生成的指令也是通過OPC發(fā)送到閘站監(jiān)控系統(tǒng)。系統(tǒng)體系結構見圖2。
南水北調中線一期工程京石段水量調度系統(tǒng)運行總界面見圖4。系統(tǒng)提供了統(tǒng)一的水量調度操作界面,實現模型參數維護、模型計算軟件集成調用、成果管理、數據查詢與統(tǒng)計等功能?刂浦噶畎l(fā)送界面見圖5,采用顏色高亮顯示、閃爍等方式突出顯示開度發(fā)生變化的閘門,提醒運行調度操作人員需要執(zhí)行相應的控制指令。
京石段自動化調度系統(tǒng)目前尚處于試運行階段,軟硬件設備均處于調試狀態(tài)。系統(tǒng)與OPCServer端采取短連接的方式,即:在每次閘門控制指令計算時進行連接,獲取數據后立即斷開與OPCServer的連接,并釋放資源;在需要發(fā)送控制指令時,建立與OPCServer連接,指令發(fā)送完畢后斷開連接。短連接方式能有效降低閘站監(jiān)控系統(tǒng)OPCServer端軟件運行不穩(wěn)定對水量調度系統(tǒng)的影響,提高了系統(tǒng)的穩(wěn)定性。
5結語
作為南水北調中線工程自動化系統(tǒng)的大腦,水量調度系統(tǒng)負責實現正常調度、應急調度、冰期運行等不同工況下水量調度計劃制定、閘門控制指令生成等功能,是多個專題模型的集成系統(tǒng)。本文介紹了OPC技術的原理與數據訪問規(guī)范,并開發(fā)了OPCClient端應用程序,實現了南水北調中線工程京石段水量調度系統(tǒng)與閘站監(jiān)控系統(tǒng)之間的集成。實踐表明,采用OPC技術很好地實現了水量調度系統(tǒng)與閘站監(jiān)控硬件系統(tǒng)之間的數據通信,而無需了解閘站監(jiān)控數據采集設備底層的細節(jié),系統(tǒng)運行穩(wěn)定,開發(fā)相對簡單高效,集成成本低。
參考文獻:
[1]長江勘測規(guī)劃設計研究有限責任公司.南水北調中線一期工程總干渠供水調度方案研究及編制工作大綱[R].2006.
[2]長江勘測規(guī)劃設計研究有限責任公司.南水北調中線一期工程總干渠供水調度方案研究及編制實施報告[R].2007.
[3]李靜,魯小新.南水北調中線干線工程自動化調度與運行管理決策支持系統(tǒng)總體框架初討[J].南水北調與水利科技,2005,3(5):21-25.
[4]張忠波,張雙虎,蔣云鐘.南水北調中線一期工程水量調度方案制定分析[J].南水北調與水利科技,2011,9(6):5-10.
[5]侯召成,翟宜峰.南水北調中線干線自動化調度系統(tǒng)總體框架設計[J].水利信息化,2010,(1):40-45.
[6]翟宜峰,熊璋,侯召成,等.基于工作流的南水北調中線運營調度建管系統(tǒng)設計與實現[J].南水北調與水利科技,2008,6(5):4-7.
[7]齊予海,蔡捷,翟宜峰,等.南水北調中線干線工程閘站監(jiān)控系統(tǒng)組網方案研究[J].南水北調與水利科技,2007,5(1):19-21.
[8]OPCFOUNDATION.DataAccessCustomInterfaceSpecificationVersion2.05[Z].2001.
[9]鄭立.OPC應用程序入門[Z].日本OPC協(xié)會,1999.
[10]潘愛民.COM原理與應用[M].北京:清華大學出版社,1999.
[11]肖俊.OPC客戶端訂閱式數據采集的實現和研究[J].電氣傳動自動化,2012,34(4):52-54.
[12]喬加新.OPC客戶端與OPC服務器的交互方式的研究[J].信息技術,2005,(8):122-124.