OPC DA 服務器的設計與實現(xiàn)
OPC 客戶端對在進行數據訪問時,是以組為單位的,每個組中可以加入客戶端需要訪問的數據項,具體的訪問交互過程如下:
(1) OPC DA 客戶端查找并訪問一個OPC DA 服務器,此時在OPC DA 服務器端,創(chuàng)建一個Server 對象,并返回一個接口指針;
(2) 客戶端由返回的指針找到接口IOPCServer,通過IOPCServer::AddGroup()函數添加一個Group;服務器端則生成一個Group 對象,返回一個該Group 對象的接口指針;
(3) 客戶端利用該指針查找IOPCItemMgt 接口,調用函數AddItem()在服務器添加一個或多個item 數據項item 對象,然后便可對該組對象中的數據項進行存取等操作;
(4) 同步訪問:查找Group 對象的IOPCSyncIO 接口,直接調用Read(),Write()函數;異步訪問:a)注冊,查找Group 對象的IConnnectionContianer 接口,找到一個支持OPCDataCallback 接口的連接點對象,客戶端生成IOPCDataCallback 對象并在連接點IConnectionPoint 上注冊;b)查找IAsyncIO 接口,客戶端調用該接口的Read,Write,Refresh等函數,然后直接返回;c)完成數據存取后,服務器回調已經注冊的IOPCDataCallback 接口的相關函數,如OnDataChange 等,此時客戶端可以通過回調函數獲到返回的結果; (5) 清理現(xiàn)場,釋放接口指針并返回;
4 結束語
OPC 標準在硬件和軟件廠商之間建立了規(guī)范的聯(lián)系,其工控領域得到了廣泛的應用,成為一個事實上的軟件總線??蛇m配的OPC DA 服務器則是將其上層進行了封裝,對下層數據源存取進行了接口抽象,將數據采集同具體的數據源分離,從而降低了數據訪問的耦合性。采用可適配模式的OPC DA 服務器,可以針對不同的數據采集模式,依照具體采集卡情況實現(xiàn)適配接口,從而縮短軟件整體開發(fā)的周期,提高實際應用的速度。
評論