魏軍朋 孫玉勝 孟昕元
(鄭州輕工業(yè)學(xué)院1,河南 鄭州 450002;河南機電高等專科學(xué)校2,河南 新鄉(xiāng) 453000)
?
UPS集中監(jiān)控系統(tǒng)的研發(fā)與應(yīng)用
魏軍朋1孫玉勝1孟昕元2
(鄭州輕工業(yè)學(xué)院1,河南 鄭州450002;河南機電高等??茖W(xué)校2,河南 新鄉(xiāng)453000)
針對大型分布式工業(yè)控制系統(tǒng)中不間斷電源(UPS)位置分散、無法集中管理等特點,采用串口服務(wù)器聯(lián)網(wǎng)技術(shù),構(gòu)建了UPS集中監(jiān)控網(wǎng)絡(luò)??紤]到系統(tǒng)中存在不同品牌的UPS設(shè)備,協(xié)議各不相同,開發(fā)了基于C#的UPS集中監(jiān)控系統(tǒng)。工程應(yīng)用表明,系統(tǒng)實現(xiàn)了工業(yè)現(xiàn)場中多個UPS電源設(shè)備的監(jiān)控,并提供了短信報警功能;同時,通過OPC技術(shù)實現(xiàn)了與組態(tài)軟件的數(shù)據(jù)交互,以便操作人員及時掌握企業(yè)UPS電源運行信息。
不間斷電源(UPS)監(jiān)控OPCC#WinCCDCS多線程報警組態(tài)軟件數(shù)據(jù)交互串口通信
在大規(guī)模分布式工業(yè)控制系統(tǒng)中,特別是化工、電力等行業(yè)的DCS控制系統(tǒng),供電系統(tǒng)的穩(wěn)定性和可靠性將直接影響整個控制運行的穩(wěn)定性[1]。不間斷電源(uninterruptable power system,UPS)作為電力供應(yīng)設(shè)備[2],往往會分布在工業(yè)現(xiàn)場的多個位置。如無法實現(xiàn)對這些UPS電源的有效、集中監(jiān)控,將會給工業(yè)控制系統(tǒng)的穩(wěn)定性帶來很大的隱患。
本文采用串口服務(wù)器聯(lián)網(wǎng)技術(shù),實現(xiàn)了企業(yè)UPS電源聯(lián)網(wǎng),使用C#語言開發(fā)了UPS監(jiān)控系統(tǒng),集中監(jiān)控系統(tǒng)中分布的UPS電源運行狀況。
我國的電網(wǎng)發(fā)電及用電情況比較復(fù)雜,設(shè)備建設(shè)相對滯后、管理不善等問題造成企業(yè)使用的交流電質(zhì)量較差、電壓波動范圍大。同時,由于企業(yè)工業(yè)設(shè)備會帶來大量嚴(yán)重的電磁和諧波干擾,也會破壞我國電網(wǎng)環(huán)境。
在工業(yè)現(xiàn)場中,供電系統(tǒng)出現(xiàn)嚴(yán)重問題時,會發(fā)生設(shè)備斷電、損壞、誤操作、工作性能變差、軟件數(shù)據(jù)丟失或錯誤、網(wǎng)絡(luò)數(shù)據(jù)傳輸率降低、計算機網(wǎng)絡(luò)不能正常運行等狀況。例如工業(yè)供電電壓波動過大會造成DCS不能正常運行,電力系統(tǒng)除了遭受一定的經(jīng)濟損失外,也產(chǎn)生了電廠鍋爐安全性的巨大危機。UPS作為保護性的電源設(shè)備,可有效解決電源安全性問題。穩(wěn)定、可靠的UPS電源對工業(yè)控制系統(tǒng)非常重要[3]。
基于C#語言的UPS監(jiān)控系統(tǒng)主要包括兩個部分:底層為使用串口服務(wù)器連接UPS,核心為C#語言開發(fā)的UPS監(jiān)控系統(tǒng)。
當(dāng)前,UPS電源大量應(yīng)用了控制技術(shù)、計算機技術(shù)進行各種異常保護、信號檢測、電池管理等操作,可以通過UPS電源通信接口(RS-232/RS-485/SNMP卡),對交流輸入電壓、電流、頻率、直流輸出電壓、總負(fù)載電流、蓄電池充放電電流、整流模塊狀態(tài)、逆變模塊狀態(tài)、靜態(tài)開關(guān)模塊狀態(tài)等信息進行集中監(jiān)控。
由于UPS電源主機都支持RS-232通信,本系統(tǒng)中使用串口服務(wù)器將UPS的RS-232串口轉(zhuǎn)換為TCP/IP網(wǎng)絡(luò)接口,使得UPS電源設(shè)備能夠立即具備TCP/IP網(wǎng)絡(luò)接口功能,以便連接到就近的以太網(wǎng)中,從而實現(xiàn)多個UPS電源的快速組網(wǎng)。
系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖Fig.1 Architecture of system
2.1UPS電源串口通信
UPS電源都預(yù)留有RS-232接口,而其他類型通信則需要另外購買相關(guān)硬件。此外,在工業(yè)控制系統(tǒng)中會出現(xiàn)多個不同品牌的UPS設(shè)備,雖然其通信協(xié)議不同,但在硬件上都是基于RS-232接口的,只是在命令格式和數(shù)據(jù)報文上有所差異[4]。例如廈門科華電子的UPS,串口通信傳輸速率為 2 400 bit/s,設(shè)備通信采用主從式的工作方式,上位機呼叫機內(nèi)監(jiān)控單元下發(fā)命令,等待下位機應(yīng)答;若無應(yīng)答或應(yīng)答無效,則進行下一次呼叫;若連續(xù)10 s無應(yīng)答,則認(rèn)為通信鏈路中斷;UPS內(nèi)的監(jiān)控單元在接收到上位機的請求命令后,對命令進行判斷并作出正確響應(yīng)。
系統(tǒng)通過RS-232接口采集UPS電源運行信息,可以最大程度地集成工廠中的UPS設(shè)備。在系統(tǒng)硬件安裝之前,需要根據(jù)UPS設(shè)備通信手冊,使用串口調(diào)試工具檢測UPS設(shè)備串口硬件狀況。
2.2串口轉(zhuǎn)以太網(wǎng)設(shè)備
串口服務(wù)器提供串口轉(zhuǎn)網(wǎng)絡(luò)功能,能夠?qū)S-232/485/422串口轉(zhuǎn)換成TCP/IP網(wǎng)絡(luò)接口,實現(xiàn)這些串口與TCP/IP網(wǎng)絡(luò)接口的數(shù)據(jù)雙向、透明傳輸。串口設(shè)備具備TCP/IP網(wǎng)絡(luò)接口功能,可連接網(wǎng)絡(luò)進行數(shù)據(jù)通信,極大程度地擴展了串口設(shè)備的通信距離。
串口聯(lián)網(wǎng)服務(wù)器產(chǎn)品提供了直接通過網(wǎng)絡(luò)訪問工業(yè)設(shè)備的解決方案。傳統(tǒng)串口設(shè)備因此可以被轉(zhuǎn)換為通過局域網(wǎng)甚至互聯(lián)網(wǎng)實現(xiàn)監(jiān)測和控制的以太網(wǎng)設(shè)備。常見的串口聯(lián)網(wǎng)服務(wù)器工作模式包括協(xié)議轉(zhuǎn)換、Real COM(實時串口)驅(qū)動、TCP操作模式。本系統(tǒng)選用了MOXA NPort系列串口設(shè)備聯(lián)網(wǎng)服務(wù)器,可根據(jù)現(xiàn)場的實際情況,靈活地選擇支持1個或多個串口的設(shè)備。
圖2為MOXA NPort設(shè)備串口接口定義圖。
圖2 MOXA與NPort串口接口定義圖Fig.2 MOXA NPort serial port interface definition
2.3基于C#的OPC數(shù)據(jù)通信
用于過程控制的對象連接嵌入(object linking and embedding for process cortrol,OPC)以 OLE/COM/DCOM 技術(shù)為基礎(chǔ),采用客戶/服務(wù)器模式,為工業(yè)自動化軟件面向?qū)ο蟮拈_發(fā)提供了統(tǒng)一的標(biāo)準(zhǔn)。
這個標(biāo)準(zhǔn)定義了應(yīng)用 Microsoft 操作系統(tǒng)在基于 PC 的客戶機之間交換自動化實時數(shù)據(jù)的方法。OPC主要包含自定義接口和自動化接口,自定義接口是服務(wù)商必須提供的,而自動化接口則是可選的。同時,OPC 基金會提供了OpcRcw 動態(tài)鏈接庫、OPC NET COM 包裝器和OPC NET API,將 OPC 復(fù)雜的規(guī)范封裝成簡單易用的C# 類,從而可以比較容易地實現(xiàn)OPC數(shù)據(jù)訪問。
在運行的過程中,組態(tài)軟件本身也可以作為OPC Server,為其他OPC客戶端提供運行數(shù)據(jù)。其他軟件可以通過OPC技術(shù)與組態(tài)軟件系統(tǒng)實現(xiàn)數(shù)據(jù)交互,例如SIEMENS WinCC組態(tài)軟件在運行的時候,提供OPCServer.WinCC服務(wù)器,作為數(shù)據(jù)外部訪問接口。
本文在基于C# 實現(xiàn)UPS監(jiān)控系統(tǒng)的過程中,系統(tǒng)內(nèi)置了OPC客戶端,可以通過OPC配置實現(xiàn)和其他組態(tài)軟件的互連。
3.1串口服務(wù)器配置
MOXA NPort系列串口服務(wù)器驅(qū)動程序支持Windows的Real COM和Linux的終端設(shè)備通信。串口服務(wù)器可通過IP映射,建立主機和串行設(shè)備之間的透明傳輸。其中,Real COM模式最多支持4個設(shè)備同時連接,以便多臺主機連接同一個串行設(shè)備并從中收發(fā)數(shù)據(jù)。使用Real COM模式的最大益處是,可以像真實存在的串口一樣,使用串口通信軟件通過以太網(wǎng)和串口設(shè)備進行通信。
MOXA針對串口聯(lián)網(wǎng)服務(wù)器,開發(fā)了軟件NPort Administrator,便于用戶配置。在NPort Administrator管理界面內(nèi),點擊COM Mapping項,進入串口映射界面,在右邊的列表內(nèi)會列出所有的串口及相關(guān)設(shè)置,點擊應(yīng)用當(dāng)前的設(shè)置。在列表內(nèi)雙擊某一項可以修改其配置(例如修改port1映射COM1),修改完畢后,點擊應(yīng)用當(dāng)前的配置。此時,需記住Nport設(shè)備的串口名所映射的COM Port的對應(yīng)關(guān)系,例如port1映射COM1、port2映射COM2,依次類推,以便在軟件中使用COM口將數(shù)據(jù)發(fā)送到顯示屏。
3.2程序設(shè)計
串口服務(wù)器配置完成后,UPS監(jiān)控系統(tǒng)才能穩(wěn)定運行。UPS監(jiān)控系統(tǒng)的程序設(shè)計主要由串口數(shù)據(jù)處理、報警數(shù)據(jù)分析、OPC數(shù)據(jù)傳輸這三個方面組成。
程序流程圖如圖3所示。
圖3 程序流程圖Fig.3 Flowchart of program
C#語言支持通過多線程并行地執(zhí)行代碼,每個線程都有它獨立的執(zhí)行路徑,能夠與其他線程同時運行,適當(dāng)使用多線程能提高系統(tǒng)性能[5]。程序啟動后,完成數(shù)據(jù)庫配置、系統(tǒng)設(shè)置、數(shù)據(jù)庫初始化等任務(wù),以串口數(shù)據(jù)讀取線程為主線程,再創(chuàng)建報警處理線程與OPC數(shù)據(jù)傳輸線程,由這三個線程協(xié)同完成UPS監(jiān)控系統(tǒng)任務(wù)。
串口數(shù)據(jù)讀取線程的主要任務(wù)是從命令緩沖區(qū)讀取命令[6],并將相關(guān)命令發(fā)送到UPS設(shè)備;然后接收UPS設(shè)備信息并寫入數(shù)據(jù)庫中。報警處理線程首先從數(shù)據(jù)庫讀取報警設(shè)置信息和設(shè)備運行信息,對UPS設(shè)備狀況進行智能分析,判斷是否需要報警;如果需要,就通過短信模塊聯(lián)系相關(guān)責(zé)任人。OPC數(shù)據(jù)傳輸線程根據(jù)所連接OPC服務(wù)器提供的變量信息,并通過讀取數(shù)據(jù)庫報警設(shè)置信息和設(shè)備運行信息,實現(xiàn)監(jiān)控系統(tǒng)與組態(tài)軟件數(shù)據(jù)的交互。
3.3程序界面
UPS監(jiān)控系統(tǒng)程序包括運行總覽、網(wǎng)絡(luò)狀態(tài)、報警信息、數(shù)據(jù)庫設(shè)置、系統(tǒng)設(shè)置和OPC設(shè)置功能。運行總覽能夠快速查看所有的UPS設(shè)備運行信息,點擊子菜單可以查看單個UPS電源的詳細(xì)信息。網(wǎng)絡(luò)狀態(tài)是根據(jù)NPort串口服務(wù)器的聯(lián)網(wǎng)運行數(shù)據(jù)顯示整個網(wǎng)絡(luò)信息。報警信息功能可及時查看最新和歷史故障及報警信息。數(shù)據(jù)庫設(shè)置功能可便于用戶備份和恢復(fù)監(jiān)控系統(tǒng)的數(shù)據(jù)。系統(tǒng)配置用于串口型號設(shè)置、報警參數(shù)設(shè)置、用戶及權(quán)限設(shè)置、蓄電池設(shè)置、短信模塊配置等相關(guān)配置。OPC配置可以與組態(tài)軟件及其他OPC服務(wù)器建立連接[7]。
在工業(yè)控制系統(tǒng)中,使用UPS電源可以為安裝有組態(tài)軟件的服務(wù)器和計算機以及現(xiàn)場設(shè)備提供穩(wěn)定、不間斷的電力供應(yīng),從而有效保護工業(yè)控制系統(tǒng)中的精密電子儀器,維持生產(chǎn)線持續(xù)運行,減少工業(yè)安全事故發(fā)生。
本文基于串口服務(wù)器聯(lián)網(wǎng)技術(shù),使用串口服務(wù)器將UPS的RS-232串口轉(zhuǎn)換為TCP/IP網(wǎng)絡(luò)接口,實參考文獻:
現(xiàn)了UPS電源快速組網(wǎng)。同時,使用C#語言開發(fā)了UPS監(jiān)控系統(tǒng),可集中監(jiān)控企業(yè)中多個UPS電源的運行信息,并提供了短信報警功能;采用OPC技術(shù)與組態(tài)軟件進行數(shù)據(jù)交互,實現(xiàn)了與企業(yè)監(jiān)控系統(tǒng)項目集成。
[1] 郝偉.DCS系統(tǒng)設(shè)計及在電廠熱工控制系統(tǒng)的應(yīng)用[J].科技創(chuàng)新與應(yīng)用,2014(31):140-140.
[2] 周波,劉春玉,王毅.UPS實時監(jiān)控系統(tǒng)的設(shè)計[J].武漢理工大學(xué)學(xué)報(信息與管理工程版),2013,35(1):32-35.
[3] 郭亞杰,相有桓,韓慧奇.UPS網(wǎng)絡(luò)集中監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù),2013(10):26-28.
[4] 王天夫,侯春杰,關(guān)俊武,等.基于云終端的UPS電池遠(yuǎn)程監(jiān)測系統(tǒng)軟件設(shè)計[J].信息技術(shù),2015(9):184-186.
[5] 王小科.C#開發(fā)實戰(zhàn)1200例[M].北京:清華大學(xué)出版社,2011.
[6] 馮慶東,楊麗.C#項目開發(fā)全程實錄[M].3版.北京:清華大學(xué)出版社,2013.
[7] 陸會明.OPC服務(wù)器開發(fā)設(shè)計與應(yīng)用[M].北京:機械工業(yè)出版社,2010.
R&D and Application of Centralized Monitoring System of UPS
According to the features of disperse location and unable to centrally manage of the uninterruptable power system(UPS) in the large-scale distributed industrial control system,a centralized monitoring network for UPS is built based on the serial port server networking technology.Considering that different brands of UPS equipment exist in the system and the agreements are different,the UPS centralized monitoring system based on C# is developed.Practical application shows that the system can monitor multiple UPS equipment in the industrial field,and provide SMS alarm function,in addition,data interaction with configuration software is implemented through the OPC technology,so as the operators can grasp the running information of the UPS in enterprise on time.
Uninterruptable power system(UPS)Monitoring and controlOPCC#WinCCDCSMultithreadingAlarmConfiguration softwareData interactionSerial communication
魏軍朋(1987—),男,現(xiàn)為鄭州輕工業(yè)學(xué)院電氣工程專業(yè)在讀碩士研究生;主要從事微控制器應(yīng)用、電機電器方向的研究。
TH865;TP273
ADOI:10.16086/j.cnki.issn 1000-0380.201610026
修改稿收到日期: 2016-03-08。