iFIX在監(jiān)控系統(tǒng)中的集成設計
陳紅濤 / 李宏凱 / 馮小園 (中國人民解放軍91515部隊, 海南 三亞 572016)
摘要組態(tài)軟件廣泛運用于各行各業(yè)的控制系統(tǒng)中,但缺乏對其統(tǒng)一集成技術的研究。以某工廠SCADA系統(tǒng)畫面的制作、軟件編程及調(diào)試工作為研究背景,通過實際案例研究了組態(tài)軟件iFIX的統(tǒng)一集成技術。
關鍵詞組態(tài)軟件 iFIX OPC ODBC VBA
AbstractConfiguration software were widely used in control systems for various industries, however, unified and integrated technology research associated with configuration software was barely investigated. The integration of iFIX configuration software technology is illustrated through cases based on the background concluding the HMI production, software programming and commissioning work of a factory SCADA system.
Keywordsconfiguration software, iFIX, OPC, ODBC, VBA
0引言
組態(tài)軟件是一類用于數(shù)據(jù)采集與過程控制(即SCADA,Supervisory Control And Data Acquisition)的專用軟件,位于自動控制系統(tǒng)監(jiān)控層。作為用戶快速構建工業(yè)自動控制監(jiān)控系統(tǒng)的軟件工具,組態(tài)軟件起源于DCS,發(fā)展壯大于PLC[1]。筆者曾參與某工廠SCADA系統(tǒng)安裝、調(diào)試工作,歷時三年。擬設計建造一座緊跟時代發(fā)展的智能工廠,相關工藝及節(jié)能指標要求監(jiān)測控制以下系統(tǒng):
1)給排水系統(tǒng):包括冷卻塔、水庫、排污泵、污水處理裝置等。
2)供配電系統(tǒng):包括自動化應急電站、變配電所、照明系統(tǒng)等。
3)通風空調(diào)系統(tǒng):包括風閥、風機、除濕機、空調(diào)機、溫濕度傳感器等。
4)其他系統(tǒng):如消防噴淋、空壓機等。
以上硬件設備的集成設計是本文的研究重點,不難看出,各系統(tǒng)設備種類繁多,差異很大,但組態(tài)軟件iFIX對其集成技術不外乎OPC(Object Linking and Embedding for Process Control)、ODBC(Open Database Connectivity)和VBA(Visual Basic for Applications)三種。
1OPC技術的應用
1.1概述
OPC技術,即過程控制的對象鏈接和嵌入,是為解決應用軟件與各種設備驅動程序的通信而產(chǎn)生的一項工業(yè)技術規(guī)范和標準。它采用客戶/服務器體系,基于Microsoft的OLE/COM技術,為硬件供應廠商和應用軟件開發(fā)廠商提供了一套標準的接口[2]。OPC是一個工業(yè)標準,包括一整套接口、屬性和方法的標準集,提供給用戶用于過程控制和工業(yè)自動化應用。它由很多規(guī)范組成:數(shù)據(jù)訪問規(guī)范Data Access、歷史數(shù)據(jù)存取規(guī)范Historical Data Access、報警和事件規(guī)范Alarm & Events等。
OPC技術的實現(xiàn)由服務器和客戶端兩部分組成。服務器是實現(xiàn)OPC通訊技術的核心和關鍵,在OPC數(shù)據(jù)交換過程中起著重要作用。OPC服務器由三個對象組成:服務器對象、組對象和項對象。三者之間的組織關系如圖1所示[3]。
圖1 OPC服務器組織結構關系圖
1)服務器對象(Server):OPC服務器對象除負責維護服務器自身的相關信息外,還作為多個OPC組對象的包容器完成對組對象的動態(tài)創(chuàng)建和釋放任務。一個服務器對應一個OPC Server,即一種設備的驅動程序,如MBE和S7A驅動的Channel。每個服務器對象可以包含一個或者多個組對象。
2)組對象(Group):OPC組對象類似于Server,除處理和維護與自身相關的信息外,還作為包容器來管理和組織項對象。組對象分為公有和私有兩種:公有組可供多個客戶端程序共同使用,私有組只可以被一個指定的客戶端程序使用,如MBE和S7A驅動的Device。
3)項對象(Item):OPC項是讀寫數(shù)據(jù)的最小邏輯單位,只能指向服務器中數(shù)據(jù)的地址,而不是真正的數(shù)據(jù)源,如MBE和S7A驅動的Data Block。
1.2應用實例
工廠供水系統(tǒng)是OPC技術縱向集成的典型案例,其由消防應急供水、空調(diào)冷卻供水、冷卻塔回水三部分組成。由西門子S7-200 PLC分別控制每個供水子系統(tǒng),現(xiàn)場使用CPU226模塊,該CPU的一個通信口用于與水閥的聯(lián)動使用,另一個通信口用于就地觸摸屏控制使用。每個CPU附帶一個EM277擴展模塊,通過PROFIBUS現(xiàn)場總線集成到綜合泵房的S7-300 PLC。綜合泵房使用CPU315-2DP模塊,同時附帶一個CP343-1以太網(wǎng)通信模塊,用于與上層組態(tài)軟件通信。中控室的iFIX組態(tài)軟件基于以太網(wǎng),通過OPC接口集成現(xiàn)場數(shù)據(jù)。工廠的其他系統(tǒng)如污水處理、通風空調(diào)等也是通過圖2方式集成,西門子S7-200與300系列PLC間的通信不僅能通過PROFIBUS現(xiàn)場總線實現(xiàn),也能通過MPI協(xié)議(Multipoint Interface,多點接口)、工業(yè)以太網(wǎng)等技術來實現(xiàn),這幾種通訊方式的硬件組態(tài)配置要點和軟件編程技術相似[4]。這時組態(tài)軟件iFIX是OPC客戶端,S7A驅動程序是OPC服務器,整個配置體現(xiàn)了OPC技術的C/S(Client/Server)架構模式。軟件包中的Intellution.OPCIFIX也可將過程數(shù)據(jù)庫數(shù)據(jù)轉換成OPC服務,供其他組態(tài)軟件訪問讀取,此時iFIX作為OPC服務器使用。
圖2 工廠供水系統(tǒng)集成
2ODBC技術的應用
2.1概述
關系型數(shù)據(jù)庫是建立在關系模型基礎上的數(shù)據(jù)庫,借助于集合代數(shù)等數(shù)學概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù)。當前主流的關系型數(shù)據(jù)庫有Oracle、Microsoft SQL Server、Sybase、MySQL和DB2等。ODBC是建立在各種數(shù)據(jù)庫管理系統(tǒng)底層驅動程序之上的一個標準層,它對數(shù)據(jù)庫的底層作了封裝,允許應用程序用統(tǒng)一的訪問數(shù)據(jù)標準SQL(Structured Query Language,結構化查詢語言),來訪問數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù)[5]。SQL作為關系型數(shù)據(jù)庫使用的標準語言,用來檢索、更新和管理數(shù)據(jù)。
iFIX借助自身的PDB和HMI組件,將現(xiàn)場數(shù)據(jù)采集傳輸?shù)竭^程計算機。與工廠其他部分的連接(如MIS系統(tǒng)),則由其他功能組件完成,如OLE DB和ODBC。OLE DB通訊方式在iFIX工作臺上實現(xiàn),而ODBC方式則是在過程數(shù)據(jù)庫實現(xiàn)。
iFIX ODBC由SQL觸發(fā)塊(SQT)、SQL 數(shù)據(jù)塊(SQD)、SQL任務(WSQLODC)三部分組成,組態(tài)軟件iFIX中實時過程數(shù)據(jù)庫和關系型數(shù)據(jù)庫數(shù)據(jù)的傳輸過程如圖3如示[6]。
圖3 iFIX實時過程數(shù)據(jù)庫和關系型數(shù)據(jù)庫數(shù)據(jù)傳輸過程
市面上還有第三方應用程序,如Automation Technology公司的OpenRDA,提供較強的C/S結構關系數(shù)據(jù)庫連接,可以跨平臺脫離iFIX將實時數(shù)據(jù)或歷史數(shù)據(jù)傳輸。這種方案有點類似OPC的架構方式,此程序還可以提供更多的SQL命令支持,可以在一條SQL命令中讀取多個節(jié)點的數(shù)據(jù),還支持數(shù)據(jù)分析命令如JOIN,也可以讀取指定網(wǎng)絡上的任意一個iFIX節(jié)點上的歷史數(shù)據(jù)文件中的數(shù)據(jù)[7]。
2.2應用實例
工廠變電站綜合自動化系統(tǒng)采用北京德威特電力系統(tǒng)自動化有限公司的DVPS-600N系列產(chǎn)品。DVPS-600系列分散式微機保護監(jiān)控裝置是專門為變電站進行成套設計、面向用戶的開放式軟硬件系統(tǒng),分布式安裝的變電所綜合自動化系統(tǒng)。
DVPS-3000是一個按照面向對象設計方法,貫穿面向對象分析(OOA)、面向對象設計(OOD)及面向對象編程(OOP)全過程的全新的面向電力系統(tǒng)對象設計的電網(wǎng)信息管理系統(tǒng)平臺,它包含從數(shù)據(jù)采集、數(shù)據(jù)庫管理、系統(tǒng)管理到圖形界面在內(nèi)的作為支撐系統(tǒng)的所有功能[8],該軟件包括三個主要部分:出廠參數(shù)配置系統(tǒng),所有型號的裝置模版都在這兩個模塊里添加;裝置數(shù)據(jù)采集系統(tǒng),所有裝置的采集配置都在這部分設置;實時數(shù)據(jù)轉發(fā)及顯示系統(tǒng),裝置采集的數(shù)據(jù)傳送界面、數(shù)據(jù)轉發(fā)調(diào)度和集控站在這個部分完成。這種軟件架構方式與iFIX的I/O驅動、過程數(shù)據(jù)庫和工作臺三層架構類似。不同之處在于iFIX三層結構中均使用了OPC開放技術,而DVPS-3000是電力監(jiān)控軟件,使用的都是具有較強電力行業(yè)特征的規(guī)范,如CDT(Cycle Distance Transmission,循環(huán)遠動規(guī)約)、101規(guī)約等。
工廠中控室實現(xiàn)對變電站的集成就是基于ODBC技術,德威特軟件系統(tǒng)DVPS-3000將實時數(shù)據(jù)寫在本地數(shù)據(jù)庫Access中,中控室HP服務器的SQL Server 2008通過ODBC接口采集變電站的數(shù)據(jù)。iFIX提供了實時ODBC驅動FIX Dynamics RealTime Driver,通過它讀取關系型數(shù)據(jù)庫SQL Server的數(shù)據(jù)并寫入iFIX過程數(shù)據(jù)庫的標簽中,其集成畫面如圖4所示。
圖4為變電站高壓變電室監(jiān)控畫面:兩路10kV高壓進線,互為備用;單母線分段,該系列微機監(jiān)控產(chǎn)品通過CAN總線集成。低壓配電室的直流屏、電流表、電度表、變壓器溫度控制器等則通過串口通信方式集成,采用MODBUS-RTU通信規(guī)約;通訊信息傳輸為異步方式并以字節(jié)為單位,采用10bit字格式,1bit起始位,8bit數(shù)據(jù)位,1bit停止位,無奇偶校驗位,通訊波特率為9 600bps[9]。
圖4 變電站監(jiān)控圖
OPC、ODBC兩種技術皆是通過底層編程而實現(xiàn)的通信接口,其中OPC技術多用于實時數(shù)據(jù)的傳輸和顯示,ODBC則多用于歷史數(shù)據(jù)的記錄和存儲。
3VBA技術的應用
3.1概述
VBA是VB的子集,全稱Visual Basic for Application,實際上是“寄生于”VB應用程序的一個版本。VBA和VB的區(qū)別:VB設計用于創(chuàng)建標準的應用程序,它具有自己的開發(fā)環(huán)境,開發(fā)出的應用程序是可執(zhí)行文件(*.EXE)。而VBA是使已有的應用程序(iFIX)自動化,它開發(fā)的程序必須依賴于它的“父”應用程序(iFIX)10]。iFIX的VBA是完全內(nèi)置的一個強有力編程工具,可以快速方便地生成相關操作任務和自動化解決方案,它提供了對iFIX組件和外部數(shù)據(jù)無限制的讀取和擴展能力。與VBA關聯(lián)的應用程序稱為主應用程序,iFIX的主應用程序就是WorkSpace。Intellution Dynamics獨一無二的結構極大地增強了VBA的性能和速度,而iFIX通過功能強大的VBA腳本,擴充了產(chǎn)品的功能,有效地建立了系統(tǒng)的應用擴展,使系統(tǒng)更為開放。
在程序設計中,每個應用程序都可以分為若干個基本組件,從而簡化應用程序的開發(fā)及維護。這種以組件為基礎的開發(fā)技術和堆積木有點像,用多個組件組合起來,用以幫助程序員管理軟件開發(fā)持續(xù)增長的復雜性。COM是一種二進制和網(wǎng)絡技術標準,定義了一個組件如何訪問由另一個組件提供的服務。ActiveX技術建立在COM基礎上,并允許組件通過一個或多個接口提供服務,這些接口是組件所說明的公共屬性和方法[11]。
3.2應用實例
以工廠弱電監(jiān)控系統(tǒng)為例,設備監(jiān)控與火災報警、安全防范系統(tǒng)通常相對獨立運行。但是系統(tǒng)間需要適當?shù)娜诤虾吐?lián)動:如中控室遠程啟動柴油發(fā)電機組時,考慮到人身及設備安全,需調(diào)用安全防范系統(tǒng)的攝像機實時圖像;又如工廠車間著火時,火災報警系統(tǒng)檢測到該信號,通過與設備監(jiān)控系統(tǒng)的聯(lián)動,控制此區(qū)域通風空調(diào)系統(tǒng)停止運行。通過系統(tǒng)集成克服了火災報警、安全防范等系統(tǒng)獨立運行的缺點,消除了信息孤島,實現(xiàn)了智能化工廠信息的全面共享及流通。眾所周知,實時視頻圖像通過OPC或ODBC接口傳送難度非常大甚至無法實現(xiàn),而通過VBA技術封裝的ActiveX控件實現(xiàn)則非常簡單。
以中控室要實現(xiàn)遠程啟動柴油發(fā)電機組功能為例,考慮到安全因素,需編程從前端??低暰W(wǎng)絡視頻服務器獲取實時圖像。某工廠使用DS-6100系列產(chǎn)品,該設備內(nèi)置WEB網(wǎng)頁訪問功能,用戶可以直接通過IE瀏覽器進行訪問,只需在IE的地址欄中輸入設備IP地址,默認值為192.0.0.64,第一次訪問會提示安裝控件NetVideoActiveX23.CAB,完成上述操作后就可以從服務器獲取視頻信息。
實驗臺通過??低暤囊曨l設備獲取某網(wǎng)站信息,效果如圖5所示。
圖5 iFIX基于ActiveX控件集成攝像機實時圖像
在iFIX工作臺中編寫首次運行的腳本函數(shù),在畫面首次顯示時連接網(wǎng)絡視頻服務器,代碼如下:
1)登錄視頻服務,參數(shù)分別為IP,端口,用戶名,密碼
NetVideoActiveX.Login(“192.0.0.64”,8000,admin,12345)
2)啟動實時播放,參數(shù)分別為通道號,連接方式,流類型
NetVideoActiveX.StartRealPlay(0,0,0)
4結束語
本文通過工程案例研究了iFIX在監(jiān)控系統(tǒng)中的集成技術,組態(tài)軟件的應用場合雖廣泛,但綜合來看,集成技術不外乎OPC、ODBC、VBA三種。文章結合工程內(nèi)基于現(xiàn)場總線技術的供水系統(tǒng)、基于德威特DVPS-600的變電站系統(tǒng)、基于??低暰W(wǎng)絡視頻服務器的安防系統(tǒng)集成等案例來探討上述技術。通過類比,可以看出三種集成技術的不同應用領域。其實OPC、ODBC技術都是通過底層編程實現(xiàn)的通信接口,可將其近似看成是VBA的特殊封裝。OPC、ODBC、VBA三種集成技術可以說是異曲同工,這些集成技術不僅適用于iFIX,其他工業(yè)組態(tài)軟件如西門子的WinCC也與此類似。
參考文獻
[1]鐘震.大型火電廠燃料輸送現(xiàn)場總線控制系統(tǒng)的研究[D].浙江:浙江大學,2007.
[2]沈立. 智能建筑能源監(jiān)測系統(tǒng)的設計與實現(xiàn)[D].四川:電子科技大學,2010.
[3]高昆侖.OPC通訊技術研究與應用[D].河南:鄭州大學,2012.
[4]廖常初.西門子工業(yè)通信網(wǎng)絡組態(tài)編程與故障診斷[M].北京:機械工業(yè)出版社,2009.
[5]高飛.基于ODBC的iFIX工控組態(tài)軟件與關系數(shù)據(jù)庫通訊探討[J].南鋼科技與管理,2007,32(03):40-42.
[6]胡靜,方彥軍.基于ODBC的iFIX工控組態(tài)軟件與關系數(shù)據(jù)庫通訊探討[J].微計算機信息,2003,20 (02):19-20.
[7]iFIX系統(tǒng)配置指南[EB/OL].百度文庫,2010-12-14.
[8]金雄文.電力監(jiān)控技術在高速公路中的應用[J].中國交通信息產(chǎn)業(yè),2005,07 (01):116-117.
[9]順特變壓器溫控器通訊協(xié)議[EB/OL].百度文庫,2012-8-20.
[10]柳青,劉渝妍,何文華.Visual Basic程序設計教程[M].北京:高等教育出版社,2004.
[11]朱前飛,高芒.COM組件和ActiveX技術在B/S體系結構中的應用[J].計算機工程與設計,2005,26(3):654-656.
[12]??低暱蛻舳薙DK使用手冊V2.20[EB/OL].百度文庫,2011-06-04.