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