OPC簡(jiǎn)介及OPC DA 服務(wù)器的設計與實(shí)現
0 引言
本文引用地址:http://dyxdggzs.com/article/148479.htmOPC 全稱(chēng)OLE for Process CONtrol,它是由OPC 基金會(huì )制定的自動(dòng)化領(lǐng)域過(guò)程控制標準。
實(shí)際上,OPC 代表一系列的標準,包括OPC 數據訪(fǎng)問(wèn)(OPC Data AccESS),OPC 報警與事件(Alarms Events ),歷史數據訪(fǎng)問(wèn)(OPC Historical Data Access),OPC XML-DA(1.0)等。目前,OPC 標準在現代工業(yè)控制領(lǐng)域,特別是在數據采集和軟實(shí)時(shí)控制方面已有很好的應用。
1 OPC 標準介紹
在 OPC 標準制定之前,工業(yè)軟件制造商需要為不同的硬件開(kāi)發(fā)各自獨立的驅動(dòng)接口。對于開(kāi)發(fā)典型監控程序軟件的技術(shù)人員來(lái)說(shuō),約有20%-30%的時(shí)間是用于編寫(xiě)通訊驅動(dòng)程序。當供應商提供一個(gè)新的硬件時(shí),應用軟件研發(fā)人員就不得不重新編寫(xiě)一個(gè)新的程序。
而OPC 標準的出現為此解決該問(wèn)題提供了一個(gè)方案,它制定了一系列的數據存取,事件,報警等規范,使得當有新的硬件出現時(shí),供應商只需提供實(shí)現的OPC 標準接口,而上層應用軟件則不需重新改寫(xiě)。這樣,在系統與設備之間,車(chē)間現場(chǎng)與信息管理之間,甚至更遠的距離上,都可以通過(guò)OPC 標準實(shí)現無(wú)縫通訊,而不必擔心設備升級帶來(lái)的不便和額外費用。
OPC 為不同的應用制定了不同的標準,OPC DA 是針對現場(chǎng)數據進(jìn)行存取的接口規范,該標準基于OLE / COM / DCOM / COM+技術(shù),采用Client / Server 模式。數據通過(guò)特定的采集卡或串口等,從現場(chǎng)設備中獲得,然后OPC DA 服務(wù)器將這些從數據源采集到的數據,以OPC 標準接口形式提供給外部應用程序,例如工控軟件,實(shí)時(shí)數據庫等。OPC 服務(wù)器可以通過(guò)本地或遠程服務(wù)服務(wù)器兩種方式,為依照OPC 標準實(shí)現的客戶(hù)端提供服務(wù)。
2 OPC DA 服務(wù)器的設計
本文通過(guò)使用 VC++編程實(shí)現的一個(gè)OPC DA 服務(wù)器框架,來(lái)介紹OPC DA 服務(wù)器設計中需要解決的主要問(wèn)題。在OPC 服務(wù)器的設計中,引入適配器模式,通過(guò)適配層將數據訪(fǎng)問(wèn)同具體的數據源操作相分離,以便針對不同的數據來(lái)源時(shí),進(jìn)行快速的二次開(kāi)發(fā)。實(shí)現 OPC DA 服務(wù)器,需要依照OPC 基金會(huì )提供的OPC DA 標準,將從數據源中采集數據,以標準規定的接口形式提供給外部。其中,OPC 規范為OPC 服務(wù)器規定了兩套接口方式:定制接口(Custom interface)和自動(dòng)化接口(AutomATIon Interface)。其中,前者是OPC 服務(wù)器必須實(shí)現的接口,后者則是為方便VB 等腳本語(yǔ)言而提供,可以選擇性實(shí)現。
2.1 OPC DA 服務(wù)器中的對象
根據 OPC 標準,在OPC DA 服務(wù)器中,主要包含三個(gè)層次的對象:服務(wù)器對象(Server),組對象(Group)和數據項(Item)。其中,服務(wù)器對象與組對象是一對多的關(guān)系,一個(gè)Server 對象可以包含0 到多個(gè)Group 對象,而一個(gè)組對象中可以包含0 到多個(gè)數據項。OPC DA 標準對Server 和Group 對象需要實(shí)現的接口,進(jìn)行了詳細的規定說(shuō)明。
在 OPC DA 標準中,客戶(hù)端對服務(wù)器的數據存取是以Group 為單位的,每次將需要存取的數據項item 加入一個(gè)Group,然后對該Group 進(jìn)行整體讀寫(xiě)操作。Group 對象通過(guò)標準定義的IOPCDataMgt 接口,對Item 進(jìn)行添加,刪除等相關(guān)的管理;而Server 對象則通過(guò)IOPCServer 接口對Group 對象進(jìn)行添加,刪除等管理。
2.2 OPC DA 服務(wù)器的結構
開(kāi)發(fā)一個(gè) OPC DA 服務(wù)器需要注意以下問(wèn)題:服務(wù)器的運行方式,各個(gè)接口與對象的相互關(guān)系,內部數據的組織形式,對外部數據源的訪(fǎng)問(wèn)等。在本實(shí)例中,OPC 數據存取服務(wù)器的框架結構如下圖所示

圖 1 OPC 服務(wù)器的結構
評論