OPC通信原理在數采中的應用


 OPC通信原理在數采中的應用

  OPC是Object Linking and Embedding(OLE)for Process Control的縮寫,它是微軟公司的對象鏈接和嵌入技術在過程控制方面的應用。OPC以OLE/COM/DCOM技術為基礎,采用客戶/服務器模式,為工業自動化軟件面向對象的開發提供了統一的標准,這個標准定義了應用Microsoft操作系統在基於PC的客戶機之間交換自動化實時數據的方法。

在OPC數據存取規范中,一個OPC的數據存取服務器中包括幾類對象(OPC Server)、組(OPC Group)和項(OPC Item)。OPC服務器對象維護有關服務器的信息並作為OPC組對象的容器,而OPC組對象維護有關其自身的信息,提供包容OPC項的機制,並管理OPC項。

OPC服務器對象主要實現IUnknown和IOPCServer接口,OPC客戶通過OPC服務器的接口與OPC對象進行通信。IOPCServer接口為OPC客戶提供了方便有效的OPC組的方法。OPC組提供了客戶程序組織數據的手段,每個組中都可以定義一個或多個OPC項。組有兩種類型:公共組(Public)和局部組(Local),公共組可以被多個客戶共享,而局部組只能被一個客戶使用。OPC組中有以下幾個主要屬性:

Name—組的名字;

Active—組的激活狀態標志;

Update Rate OPC—服務器向客戶程序提交數據變化的刷新率;

Percent Deadband—數據死區,即能引起數據變化的最小數據百分比。                  

OPC項代表了與服務器中的數據的連接,它並不是數據源,而僅僅是與數據源的連接。

每個項都與以下主要屬性:

Active項的激活狀態;

Value項的數據,類型為VARIANT;

Quality項的品質,代表數值的可信度,類型為SHORT;

Time Stamp時間戳,代表數據的存取時間。

OPC規范包含了兩套接口:客戶化接口(Custom Interface)和自動化接口(Automation Interface)。客戶化接口是一個OPC服務器所必須實現的接口,它描述了OPC組件對象的接口和其中的方法,適合C++和PASCAL語言設計,並可實現最佳運行性能的客戶應用程序,客戶化接口沒有項的對象,它對項的操作都是通過包容此項的組對象進行的。自動化接口是可選接口,它提供的是一個自動配置和存取過程控制數據的接口,它方便了Visual Basic、Excel及其它可以使用OLE自動化的服務器應用程序接口的高級商業軟件使用。

服務器內安裝有數據采集卡(通用多串口卡,網卡),軟件安裝有OPC Server完成對現場各個設備檢測、監控、調節、診斷等功能。

考慮到系統對數據的實時性要求較高,在客戶端安裝的數據采集軟件,開發工具用VC++6.0,與OPC服務器的通訊采用OPC定制接口。該軟件包括兩個模塊:OPC數據采集和數據保存。模塊之間采用Win32的多線程技術進行通訊,OPC數據采集作為工作線程在后台運行,數據保存即寫系統主線程。工作線程的線程函數循環讀取OPC服務器中的數據,數據的變化不斷出發主線程的寫庫事件。此外為了保證數據的安全性,使用了信號燈同步對象,以協調兩個線程對共享資源的訪問。

裝置的DCS系統是日本橫河公司的CS3000,並有上位機軟件,CS3000支持OPC通訊方式,可通過OPC方式和CS3000軟件包的OPC Server進行通訊,取得實時數據。如下圖,用一台工控機來采集實時數據,數采機安裝兩塊網卡,其中一塊網卡和PLC工程師站(上位機)連接,另一塊通過交換機連接在廠內光纖網上。這樣,數采機就同時和兩個網絡通訊,先通過OPC方式從上位機取得實時數據,然后把實時數據發送到實時數據庫。

 

 

綜上所述,目前此裝置所采用的一些重要技術性指標有:

 

1.客戶與服務器之間,采用了客戶化接口和主動訪問通信方式;

2.客戶與服務器之間通信,也是進程間通道通信,不會占用CPU和內存過多資源;

3.客戶與服務器之間數據通信,是以只讀方式對服務器緩沖區數據的讀取;

4.采集位號為207個;

5.刷新頻率為20秒。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM