?? d178.bmp.txt
字號:
5.3.2關鍵技術與開發步驟
圖5-18數據項操作菜單
客戶端程序開發的主要思想與實例8類同,需要連接OPC服務器、添加組和數據項、
讀寫數據項的值等幾大步驟,主要區別是讀取數據的接口和方法不同。本例使用讀取數據的
第三種方法,使用接口IOPCCallback的OnDataChange,數據變化時服務器自動通知客戶。
按照OPC數據存取2.0規范,客戶端需要實現兩個接口:IOPCShutdown、IOPCDataCallback,
如圖5-19所示,本例使用ATL(ActiveX模板庫)實現這兩個接口,讀者必須熟悉C++程序
設計和COM原理,才能理解所提供的技術,下面重點介紹兩個接口的實現方法。
┏━━━━━━━━━━━┳━┳━━━━━━━━┓
┃ 客戶端 ┃ ┃ 服務器對象 ┃
┣━┳━━━━━━━━━┫ ┃ ┃
┃ ┃ IOPCShutdaown I= ┃ ┃ ┃
┣━┻━━━━━━━━━╋━┫ ┃
┃ ┃ ┃ ┃
┣━┳━━━━━━━━━┫ ┣━━━━━━┳━┫
┃ ┃IOPCDataChange l: ┃ ┃! 組對象 ┃ ┃
┣━┻━━━━━━━━━╋━╋━━━━━━┻━┫
┃ ┃ ┃ ┃
┗━━━━━━━━━━━┻━┻━━━━━━━━┛
圖5-19客戶端接口示意圖
1)實現接口OPCCallback和OPCShutdown。
在頭文件中,定義類OPCCallback和OPCShutdown。
178
#ifndef _CONNECT_POINT
#define _CONNECT_POINT
extem CComModule _Module;//后面有定義,atlcom.h中耍用到此全局對象。
#include <atlcom.h>
class OPCCallback:,,實現接口OPCCallback的類
public IOPCDataCallback,
public CComObjectRootEx<CComMultiThreadModel>//管理組件的引用計數
{
public:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -