概要:
本文主要介紹勝利油田集輸公司下屬的大型站庫的實時數(shù)據(jù)采集及WEB發(fā)布系統(tǒng)的建設(shè),包括整個系統(tǒng)建設(shè)的方案設(shè)計、所應(yīng)用到的技術(shù)介紹、碰到的問題以及解決的方法。采用的上位組態(tài)軟件是北京三維力控的PCAUTO,應(yīng)用的主要技術(shù)有OPC、DDE、NETDDE、分布式實時數(shù)據(jù)庫、RS485總線讀智能表。
關(guān)鍵字: 數(shù)采系統(tǒng) PCAUTO OPC DDE
1.1基本情況介紹
集輸公司下屬的孤島壓氣站,年處理天然氣2億立方米,年產(chǎn)輕烴約一萬三千噸以上,是一個比較大型的壓氣站。下設(shè)50萬、SW64、二次增壓、離心機、配氣、熱煤爐、配電等崗位。其中:50萬崗位是用的霍尼威爾HOWNIWELL的S9000型號的DCS控制系統(tǒng)、上位組態(tài)是IFix6.0、操作系統(tǒng)是WIN98; SW64崗位是用的美國庫伯公司的RR控制器、上位組態(tài)軟件是INTouch、操作系統(tǒng)是WINNT4.0; 二次增壓崗位是用的日本Omron的控制器,上位組態(tài)是IFix6.0、操作系統(tǒng)是WIN98;離心機崗位是用的恒河的CS1000型號的DCS控制系統(tǒng)、上位是用恒河自帶的組態(tài)軟件、操作系統(tǒng)是WINNT4.0;配氣崗位是用的美國SIXNET公司的ST-GT-1210控制器、上位組態(tài)軟件是北京三維力控的PCAUTO、操作系統(tǒng)是WIN2000;熱煤爐崗位控制系統(tǒng)是三菱的PLC,上位組態(tài)軟件是北京昆侖通態(tài)的MCGS、操作系統(tǒng)是WIN2000;配電崗位設(shè)有許繼的配電保護系統(tǒng)以及監(jiān)控系統(tǒng)。
1.2實時數(shù)采系統(tǒng)功能設(shè)計
采用北京三維力控公司的PCAUTO做為數(shù)采系統(tǒng)的組態(tài)軟件,把各個崗位控制系統(tǒng)的實時數(shù)據(jù)通過架設(shè)的以光纖為傳輸介質(zhì)的站內(nèi)局域網(wǎng)采集到位于壓氣站調(diào)度室的力控服務(wù)器上,這臺服務(wù)器裝有雙網(wǎng)卡,同時連接著勝利油田廣域網(wǎng),在油田網(wǎng)上,然后進行實時數(shù)據(jù)的WEB發(fā)布,同時還可以把實時的數(shù)據(jù)定點存儲到油田正在建設(shè)的源頭數(shù)據(jù)系統(tǒng)里,生成各種報表。
1.3數(shù)采系統(tǒng)功能、方案設(shè)計
選用北京三維力控的PCAUTO做為系統(tǒng)的組態(tài)軟件。負(fù)責(zé)采集IFix、INTouch、MCGS、恒河CS1000、許繼、力控PCAUTO等組態(tài)軟件以及支持485的智能儀表讀數(shù);系統(tǒng)功能網(wǎng)絡(luò)拓樸圖如下;
1.4系統(tǒng)應(yīng)用技術(shù)介紹
1.4.1OPC介紹
OPC是以Microsoft公司的OLE/COM技術(shù)為基礎(chǔ),采用客戶/服務(wù)器模型,制定的一種工業(yè)控制領(lǐng)域的開放式標(biāo)準(zhǔn)。OPC在工業(yè)控制設(shè)備與應(yīng)用軟件之間建立了統(tǒng)一的軟件接口標(biāo)準(zhǔn)。主要解決監(jiān)控程序與其數(shù)據(jù)源的交互問題。
利用OPC技術(shù),可以對現(xiàn)場設(shè)備及其驅(qū)動程序進行封裝,形成OPC服務(wù)器。OPC服務(wù)器向下對設(shè)備數(shù)據(jù)進行采集,向上與OPC客戶應(yīng)用程序通信完成數(shù)據(jù)交換,如圖1所示。OPC服務(wù)器屏蔽了現(xiàn)場層的設(shè)備驅(qū)動程序;客戶應(yīng)用程序開發(fā)人員看到的,只是OPC服務(wù)器提供的統(tǒng)一接口,而不必再去關(guān)心現(xiàn)場設(shè)備的驅(qū)動程序。只要客戶應(yīng)用程序符合OPC接口規(guī)范,就可以與OPC服務(wù)器進行數(shù)據(jù)交換。
同樣地,硬件廠商只需要為生產(chǎn)的硬件設(shè)備開發(fā)一個驅(qū)動程序,然后按照OPC標(biāo)準(zhǔn)編寫一個OPC服務(wù)器,那么,所有按照OPC標(biāo)準(zhǔn)開發(fā)的客戶應(yīng)用程序都可以與該硬件設(shè)備進行數(shù)據(jù)交互,而無須編寫額外的設(shè)備驅(qū)動程序。
這樣,在工業(yè)現(xiàn)場的監(jiān)測控制系統(tǒng)中,過程或設(shè)備監(jiān)控程序(或者是監(jiān)控組態(tài)軟件),通過工業(yè)以太網(wǎng),可以方便地與現(xiàn)場設(shè)備的OPC服務(wù)器進行數(shù)據(jù)交互,獲得所需的現(xiàn)場數(shù)據(jù)。一方面,監(jiān)控程序可以讀取OPC服務(wù)器緩沖區(qū)(Cache)中的數(shù)據(jù),獲得過程或設(shè)備運行參數(shù),實施有效地監(jiān)視;另一方面,對于實時性要求比較高的設(shè)備數(shù)據(jù),監(jiān)控程序可以直接讀取設(shè)備(Device)中的數(shù)據(jù)。如果用戶需要擴充監(jiān)控軟件的功能,可以直接將定制的OPC軟件包組態(tài)進現(xiàn)有軟件中,而不必?fù)?dān)心底層的設(shè)備驅(qū)動程序,使軟件的布署變得更加容易。
1.4.2 DDE介紹
動態(tài)數(shù)據(jù)交換(DDE),即Dynamic Data Exchange的縮寫。它是又微軟公司提出的,目前主要還是應(yīng)用在win98和winnt4.0的操作系統(tǒng)上,在新的操作系統(tǒng)上只是給予了兼容。DDE是基于WINDOWS的消息機制,兩個WINDOWS應(yīng)用程序通過相互之間傳遞消息進行“對話”,從而完成數(shù)據(jù)的請求、應(yīng)答、傳輸,這兩個程序分別被稱為“Server”和“Client”。Server是數(shù)據(jù)的提供者,Client是數(shù)據(jù)的請求和接受者。DDE的Server是一個維護著其他WINDOWS程序可能使用的數(shù)據(jù)的程序,而DDE的Client則是從Server獲得這些數(shù)據(jù)的程序。
一旦“Server”和“Client”建立了連接關(guān)系,則當(dāng)“Server”中的數(shù)據(jù)發(fā)生變化后就會馬上通知“Client”。通過DDE方式建立的數(shù)據(jù)連接通道是雙向的,即“Client”不但能讀取“Server”中的數(shù)據(jù),還能對其進行修改。
DDE方式的通訊,主要是建立在2個WINDOWS應(yīng)用程序之間,當(dāng)前的大多數(shù)基于Windows應(yīng)用程序仍然支持DDE,但是DDE的缺點也很明顯,那就是通信效率低下,當(dāng)通信數(shù)據(jù)量大時數(shù)據(jù)的刷新慢。
1.4.3力控區(qū)域?qū)崟r數(shù)據(jù)庫的分布式應(yīng)用。
實時數(shù)據(jù)庫是組態(tài)軟件的核心部件,實時數(shù)據(jù)庫運行系統(tǒng)完成對數(shù)據(jù)庫的各種操作,包括:實時數(shù)據(jù)處理、歷史數(shù)據(jù)存儲、統(tǒng)計數(shù)據(jù)處理、報警處理、數(shù)據(jù)服務(wù)請求處理等。力控 的實時數(shù)據(jù)庫系統(tǒng)同時也是一個分布式數(shù)據(jù)庫系統(tǒng)。由于許多情況要求將數(shù)據(jù)庫存儲在地理上分布在不同位置的不同計算機上,通過計算機網(wǎng)絡(luò)實現(xiàn)物理上分布,邏輯上集中的數(shù)據(jù)庫,即具有分布式的透明性。用力控創(chuàng)建的數(shù)據(jù)庫,數(shù)據(jù)在物理上分布在不同的地理位置或同一位置的不同的計算機上,但在用戶操作時感覺不到數(shù)據(jù)的分布。用戶看到的似乎不是一個分散的數(shù)據(jù)庫,而是一個數(shù)據(jù)模式為全局?jǐn)?shù)據(jù)模式的集中式數(shù)據(jù)庫。在構(gòu)建力控分布式數(shù)據(jù)庫時,力控系統(tǒng)支持的網(wǎng)絡(luò)通信方式有:TCP/IP網(wǎng)絡(luò)、串行通信(RS232/422/485)、電話撥號網(wǎng)絡(luò)等。
力控的數(shù)據(jù)庫及管理系統(tǒng)的性能介紹:
真正的分布式結(jié)構(gòu),同時支持C/S 、B/S應(yīng)用;分布式數(shù)據(jù)庫結(jié)構(gòu)可任意組建各種規(guī)模的企業(yè)應(yīng)用;實時數(shù)據(jù)庫系統(tǒng)具有高可靠性和數(shù)據(jù)的完整性;提供功能強大的企業(yè)級實時信息系統(tǒng)客戶端應(yīng)用工具;靈活的擴展結(jié)構(gòu)可滿足用戶的各種需求;告訴的數(shù)據(jù)存儲和檢索功能;實時數(shù)據(jù)庫是單獨的進程,可以與HMI分離運行;實現(xiàn)了毫秒級數(shù)據(jù)采集和采集器的時間同步;以高壓縮比保存數(shù)據(jù),實現(xiàn)了歷史數(shù)據(jù)的海量存儲;支持OPC、DDE、ODBC、ActiveX等標(biāo)準(zhǔn);可以從DCS、PLC、以及其他SCADA系統(tǒng)中讀寫過程數(shù)據(jù)。
1.4.4 RS485總線上的智能儀表數(shù)據(jù)讀取
有些崗位安裝了許多的智能儀表,比如氣體流量計等,這類儀表內(nèi)部集成了數(shù)字電路,可以完成部分的數(shù)據(jù)處理功能,并把數(shù)據(jù)保存在儀表的寄存器里,并支持RS485方式的數(shù)據(jù)傳輸,所以我們就把這類智能儀表分類組成一個或幾個485網(wǎng)絡(luò),把力控服務(wù)器也連在485網(wǎng)絡(luò)里,做為485網(wǎng)絡(luò)的主機,總線上的其它儀表,做為從機,主機通過總線按照通訊協(xié)議向從機發(fā)命令,把從機寄存里里的數(shù)據(jù)讀過來。如果485網(wǎng)絡(luò)超過2個的話,就在服務(wù)器上安裝多串口卡來解決。
然后在力控PCAUTO里設(shè)置智能儀表的I/O驅(qū)動,如果找不到這類儀表的驅(qū)動,可以按照儀表廠家提供的RS485通訊協(xié)議,仿照力控提供的驅(qū)動格式,自己編寫儀表的驅(qū)動。然后就可以在力控PCAUTO里簡單的進行組態(tài)設(shè)置,讀取智能儀表的讀數(shù)。
1.5系統(tǒng)建設(shè)過程
1.5.1 橫河CS1000系統(tǒng)取數(shù)
OPC客戶和OPC服務(wù)器進行數(shù)據(jù)交互有2種訪問方式:同步和異步方式。同步方式實現(xiàn)較為簡單,客戶向服務(wù)器發(fā)出讀寫請求,然后等待服務(wù)器返回信息,當(dāng)客戶數(shù)據(jù)較少而且同服務(wù)器交互的數(shù)據(jù)量比較少的時候可以采用這種方式,然而當(dāng)網(wǎng)絡(luò)堵塞或大量客戶訪問時,會造成系統(tǒng)的性能效率下降。
異步方式實現(xiàn)較為復(fù)雜,客戶向服務(wù)器發(fā)出讀寫請求后,服務(wù)器立刻返回信息表示請求已接受,客戶可以進行其他處理,當(dāng)服務(wù)器完成讀寫操作后,通過調(diào)用回調(diào)函數(shù),通知客戶程序操作完成,并傳遞相應(yīng)的信息,因此異步方式的效率更高,能夠避免多客戶大數(shù)據(jù)請求的阻塞,并可以最大限度地節(jié)省CPU和網(wǎng)絡(luò)資源。
橫河的opc數(shù)據(jù)交互屬于異步方式,需要在客戶端計算機上注冊幾個相關(guān)的動態(tài)連接庫文件到操作系統(tǒng),這樣才能完成opc的Client和Server的數(shù)據(jù)交互。
然后在力控PCAUTO里定義I/O設(shè)備,添加一個OPC的Client,配好IP地址后,刷新就可以找到對應(yīng)IP的CS1000的計算機系統(tǒng)里的OPC Server,配置過程如下圖:
配置好OPC的Client后,在力控的數(shù)據(jù)庫組態(tài)里面,添加相應(yīng)的數(shù)據(jù)點,如下圖:
這樣就完成了橫河CS1000的OPC在力控PCAUTO里的配置,可以同步橫河CS1000系統(tǒng)里的數(shù)據(jù)了。
完成組態(tài)后的畫面之一如下
1.5.2熱媒爐崗三菱PLC的OPC取數(shù)過程
三菱的PLC比較通用,支持這個硬件的OPC Server程序很多,我們選擇的是KepServer軟件。這個程序支持很多硬件,可以在和硬件建立通訊后,把底層設(shè)備實時的數(shù)據(jù)取數(shù)以O(shè)PC Server的形式發(fā)布和其它軟件進行數(shù)據(jù)交互,完成上位監(jiān)控、參數(shù)設(shè)置等功能。
配置過程如下圖:
配置好OPC Server后,同樣在力控PCAUTO里面添加I/O設(shè)備
再在力控PCAUTO的實時數(shù)據(jù)庫組態(tài)里面添加數(shù)據(jù)庫點。
組態(tài)完成后的畫面如下:
1.5.3DDE方式取IFIX的數(shù)
IFIX軟件支持微軟的DDE動態(tài)數(shù)據(jù)交換,我們設(shè)計的是在崗位的從監(jiān)控機上安裝一套力控,用力控通過DDE方式和IFIX進行數(shù)據(jù)交互,然后利用力控PCAUTO的網(wǎng)絡(luò)數(shù)據(jù)源功能,從服務(wù)器上間接取到IFIX的實時數(shù)據(jù)。
首先必須啟動IFIX里面的一個DDE Server模塊,把這個模塊設(shè)置成隨IFIX同時啟動,這樣IFIX才能在運行中,支持DDE的程序。
然后在力控PCAUTO里面添加一個DDE的I/O設(shè)備:
再在力控PCAUTO的實時數(shù)據(jù)庫組態(tài)里面添加數(shù)據(jù)庫點。
組態(tài)完成后的畫面如下:
1.5.4NETDDE方式取INTouch的數(shù)據(jù)
Netdde是通過網(wǎng)絡(luò)借助DDE進行數(shù)據(jù)交互的一種方式,在使用Netdde之前,必須對2臺計算機進行DDE的一些相關(guān)配置,添加DDE共享、信任共享設(shè)置等,具體設(shè)置見下圖:
再在力控PCAUTO的實時數(shù)據(jù)庫組態(tài)里面添加數(shù)據(jù)庫點。
組態(tài)完成后的畫面如下:
1.5.5取智能儀表的讀數(shù)
取智能儀表讀數(shù)的關(guān)鍵是找到合適I/O驅(qū)動,如果是比較常見的儀表,力控一般都支持,然后在力控的I/O設(shè)備里添加此儀表的驅(qū)動,然后在數(shù)據(jù)庫里面組點即可。有一些不常見的儀表,可以找到它的485通訊協(xié)議原文,按照力控提供的驅(qū)動開發(fā)SDK包,自己進行開發(fā)。
下面是我們通過485方式讀取的幾塊電表的相關(guān)參數(shù)圖:
1.6參考文獻(xiàn)
《監(jiān)控組態(tài)軟件及其應(yīng)用》 馬國華 著
OPC技術(shù)在監(jiān)控系統(tǒng)中的應(yīng)用 司紀(jì)剛 徐潔