?? d168.bmp.txt
字號:
序,終端用戶能夠定義數據項目,其他客戶應用程序通過連接此公共組訪問其中的信
息。由于只有一個客戶能夠創建并配置數據項目的屬性,因而保持了同一數據定義
的同步。
(3) OPC項對象接口
IOPCItemDisp接口是項對象的惟一接口,此接口提供了項目對象的屬性和方法。接口
中的讀方法從數據源讀取項目的有關屬性和數值;接口中的寫方法將數值寫到設備中。
除了以上COM擴展接口外,OPC規范還提供了許多對程序員很有幫助的內容。比如軟
件安裝事宜、數據類型、參數和結構、出錯代碼等。所有這些與OPC對象接口一起形成了
完整的OPC數據訪問標準。
5.1.3 0PC數據訪問機制
首先,OPC客戶連接到OPC服務器上,并建立OPC Group和OPC Item,這是OPC數據
訪問的基礎,如果沒有這個機制,數據訪問的其他機能不可能實現;其次,客戶通過對其建立
的Group和Item進行訪問實現對過程數據的訪問;然后,當服務器響應客戶的過程數據訪問
請求并處理完畢時通知客戶。以上三方面的機制是OPC數據訪問服務器必須要實現的。
客戶的過程數據訪問包括過程數據的讀取、更新、訂閱、寫入等,過程數據的讀/寫還
分同步讀/寫和異步讀/寫。建立OPC迮接后,客戶應用程序一般可以通過三種方式從OPC
服務器讀取數據。
(1)使用IOPCSyncl0接口同步讀寫
該方式簡單有效,當客戶數目較少而且同服務器交互的數據量也比較少時,可以采用這
種方式。這種方式下,當執行讀寫命令時,程序不能繼續執行下面的操作,直到讀寫操作結
束后,程序才能繼續往下執行,過程如圖5-7所示。
(2)使用IOPCASyncl02接口異步讀寫
該方式實現較為復雜,需要在客戶程序中實現服務器回調函數,然而當有大量客戶和大
量數據交互時,異步方式效率更高,能夠避免客戶數據請求的阻塞,并可以最大限度地節省
CPU和網絡資源。這種方式下,只要讀或寫的任務送達就馬上申請讀寫,同時程序繼續執行
后面的操作,并由OPC服務器返回回調函數的執行結果,過程如圖5-8所示。
Clien
┏━━━━━━┓
┃ Se1 ┃
┃圖 ㈨ 一 ┃
┣━━━━━━┫
┃ ┃
┣━━━━━━┫
┃蘿 腳時 ┃
┗━━━━━━┛
圖5-7 同步方式通信模式
Clien
┏━━┳━━━━━━━━┓
┃ ┃ ser ┃
┃蓬 ┃ Call 一 ┃
┣━━╋━━━━━━━━┫
┃鋈 ┃ 一I —Reply ┃
┣━━┻━━━━━━━━┫
┃ 一斟一 ┃
┗━━━━━━━━━━━┛
圖5-8異步方式通信模式
(3)使用IOPCCallback接口訂閱
使用該接口的“訂閱”功能OnChange,每當數據有變化時,服務器自動通知客戶。這
168
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -