新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > OPC DA 服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)

OPC DA 服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2010-10-25 來源:網(wǎng)絡(luò) 收藏

  3 與客戶端數(shù)據(jù)訪問的交互過程

   客戶端對在進(jìn)行數(shù)據(jù)訪問時(shí),是以組為單位的,每個(gè)組中可以加入客戶端需要訪問的數(shù)據(jù)項(xiàng),具體的訪問交互過程如下:

  (1) 客戶端查找并訪問一個(gè)OPC ,此時(shí)在OPC DA 端,創(chuàng)建一個(gè)Server 對象,并返回一個(gè)接口指針;

  (2) 客戶端由返回的指針找到接口IOPCServer,通過IOPCServer::AddGroup()函數(shù)添加一個(gè)Group;服務(wù)器端則生成一個(gè)Group 對象,返回一個(gè)該Group 對象的接口指針;

  (3) 客戶端利用該指針查找IOPCItemMgt 接口,調(diào)用函數(shù)AddItem()在服務(wù)器添加一個(gè)或多個(gè)item 數(shù)據(jù)項(xiàng)item 對象,然后便可對該組對象中的數(shù)據(jù)項(xiàng)進(jìn)行存取等操作;

  (4) 同步訪問:查找Group 對象的IOPCSyncIO 接口,直接調(diào)用Read(),Write()函數(shù);異步訪問:a)注冊,查找Group 對象的IConnnectionContianer 接口,找到一個(gè)支持OPCDataCallback 接口的連接點(diǎn)對象,客戶端生成IOPCDataCallback 對象并在連接點(diǎn)IConnectionPoint 上注冊;b)查找IAsyncIO 接口,客戶端調(diào)用該接口的Read,Write,Refresh等函數(shù),然后直接返回;c)完成數(shù)據(jù)存取后,服務(wù)器回調(diào)已經(jīng)注冊的IOPCDataCallback 接口的相關(guān)函數(shù),如OnDataChange 等,此時(shí)客戶端可以通過回調(diào)函數(shù)獲到返回的結(jié)果;  (5) 清理現(xiàn)場,釋放接口指針并返回;

  4 結(jié)束語

  OPC 標(biāo)準(zhǔn)在硬件和軟件廠商之間建立了規(guī)范的聯(lián)系,其工控領(lǐng)域得到了廣泛的應(yīng)用,成為一個(gè)事實(shí)上的軟件總線。可適配的OPC DA 服務(wù)器則是將其上層進(jìn)行了封裝,對下層數(shù)據(jù)源存取進(jìn)行了接口抽象,將數(shù)據(jù)采集同具體的數(shù)據(jù)源分離,從而降低了數(shù)據(jù)訪問的耦合性。采用可適配模式的OPC DA 服務(wù)器,可以針對不同的數(shù)據(jù)采集模式,依照具體采集卡情況適配接口,從而縮短軟件整體開發(fā)的周期,提高實(shí)際應(yīng)用的速度。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉