通訊協(xié)議030——全網(wǎng)獨(dú)有的OPC HDA知識一之基本概念(一)

本文簡單介紹OPC HDA規(guī)范的基本概念,更多通信資源請登錄網(wǎng)信智匯(wangxinzhihui.com)。
目前,大多數(shù)歷史數(shù)據(jù)系統(tǒng)都使用自己的專有接口對外提供數(shù)據(jù)服務(wù),不能與任何其他系統(tǒng)互操作。OPC HDA規(guī)范旨在提供歷史數(shù)據(jù)訪問的標(biāo)準(zhǔn)接口,促進(jìn)用C和C++開發(fā)用于歷史數(shù)據(jù)訪問的OPC服務(wù)器/客戶端應(yīng)用程序。規(guī)范中描述的接口的體系結(jié)構(gòu)和設(shè)計(jì)旨在支持其他語言的OPC服務(wù)器的開發(fā)。
OPC HDA規(guī)范與其他OPC規(guī)范之間存在松散的綁定。此OPC規(guī)范不是從另一個OPC規(guī)范派生而來,也不是從其繼承接口。OPC HDA規(guī)范的接口提供時間序列歷史數(shù)據(jù)。如果需要實(shí)時數(shù)據(jù),則應(yīng)使用OPC DA接口。
OPC HDA規(guī)范描述了OPC COM對象及其由OPC歷史服務(wù)器實(shí)現(xiàn)的接口。OPC客戶端可以連接到一個或多個供應(yīng)商提供的OPC歷史服務(wù)器。供應(yīng)商也可以提供其他OPC服務(wù)器。下圖說明了可能的OPC供應(yīng)商服務(wù)器配置:
? ? ? ? ? ? ? ? ? ?

任何供應(yīng)商,甚至是不提供服務(wù)器的供應(yīng)商,都可以提供客戶端??蛻舳藨?yīng)該能夠與任何服務(wù)器一起工作。如果需要另一個OPC服務(wù)器(如數(shù)據(jù)訪問服務(wù)器)才能實(shí)現(xiàn)全部功能,則客戶端仍應(yīng)能夠在沒有其他OPC服務(wù)器的情況下對歷史數(shù)據(jù)進(jìn)行操作。
?
1、 歷史數(shù)據(jù)服務(wù)器類型
1)簡單的趨勢數(shù)據(jù)服務(wù)器。這些服務(wù)器只提供簡單的原始數(shù)據(jù)存儲。(數(shù)據(jù)通常是可從OPC數(shù)據(jù)訪問服務(wù)器獲得的數(shù)據(jù)類型,通常以元組[時間、數(shù)值、質(zhì)量]的形式提供)。
2)復(fù)雜的數(shù)據(jù)壓縮和分析服務(wù)器。這些服務(wù)器提供數(shù)據(jù)壓縮以及原始數(shù)據(jù)存儲。它們能夠提供匯總數(shù)據(jù)或數(shù)據(jù)分析功能,如平均值、最小值和最大值等。它們可以支持?jǐn)?shù)據(jù)更新和更新歷史。它們可以支持注釋的存儲以及實(shí)際的歷史數(shù)據(jù)存儲。
這些不同的服務(wù)器都包含在OPC HDA規(guī)范的可選接口中。如果服務(wù)器不支持一組功能,則不需要實(shí)現(xiàn)該功能組的可選接口。
?
2、 數(shù)據(jù)源
OPC歷史數(shù)據(jù)服務(wù)器提供了一種訪問一組歷史數(shù)據(jù)源的方式??捎玫脑搭愋褪欠?wù)器實(shí)現(xiàn)的一個函數(shù)。

服務(wù)器可以實(shí)現(xiàn)為獨(dú)立的OPC歷史數(shù)據(jù)服務(wù)器,從OPC數(shù)據(jù)訪問服務(wù)器或另一數(shù)據(jù)源收集數(shù)據(jù)。它也可能是一組分層在現(xiàn)有專有歷史數(shù)據(jù)服務(wù)器之上的接口。引用OPC歷史數(shù)據(jù)服務(wù)器的客戶端可能是簡單的趨勢包,只需要給定時間范圍內(nèi)的值,也可能是需要多種格式數(shù)據(jù)的復(fù)雜報(bào)告。
?
3、 對象和接口概述
OPC歷史數(shù)據(jù)服務(wù)器對象提供從歷史服務(wù)器讀取數(shù)據(jù)和向歷史服務(wù)器寫入數(shù)據(jù)的能力。所有COM對象都是通過接口訪問的。客戶端只能看到接口。下圖概述了OPC對象及其接口。請注意,有些接口是可選的(如[]所示)。
下圖為Historian Server模型。

瀏覽器接口為客戶端提供了一種查看歷史記錄的地址空間的方法。預(yù)期該地址空間對于一些服務(wù)器可能是分層的,而對于其他服務(wù)器可能是平面的。此接口旨在支持分層視圖,其中平面地址空間表示為單層分層視圖。瀏覽器接口在大多數(shù)大型歷史數(shù)據(jù)服務(wù)器中是必不可少的,它允許客戶端以簡單的圖形方式查看地址空間。
OPC Historian Client應(yīng)用程序必須實(shí)現(xiàn)回調(diào)接口以支持關(guān)閉請求??蛻舳诉€可以實(shí)現(xiàn)用于服務(wù)器可以提供的各種異步連接的接口。如果客戶端希望使用(而服務(wù)器提供)特定的異步接口,則客戶端必須實(shí)現(xiàn)匹配的回調(diào)。
下圖為Historian Client模型。

關(guān)閉請求是允許OPC歷史數(shù)據(jù)服務(wù)器干凈關(guān)閉所必需的。當(dāng)HDA服務(wù)器訪問時,客戶端應(yīng)釋放服務(wù)器提供的內(nèi)存(請參閱自定義接口內(nèi)存部分)并終止所有連接。
?
4、 所需接口定義
OPC HDA服務(wù)器開發(fā)人員必須實(shí)現(xiàn)所需接口的所有方法,并且必須實(shí)現(xiàn)所述方法的所有功能。OPC歷史客戶端通過調(diào)用OPC所需接口的功能與OPC歷史數(shù)據(jù)服務(wù)器通信。對于所需接口上的可選方法,OPC歷史數(shù)據(jù)服務(wù)器可能會返回E_NOTIMPL。
?
5、可選接口定義
OPC HDA服務(wù)器開發(fā)人員可以實(shí)現(xiàn)可選接口的功能。當(dāng)OPC HDA服務(wù)器支持可選接口時,必須實(shí)現(xiàn)該可選接口中的所有功能,即使該功能僅返回E_NOTIMPL。希望使用可選接口功能的OPC歷史客戶端將向OPC HDA服務(wù)器查詢可選接口??蛻舳吮仨氃O(shè)計(jì)為不要求存在此可選接口。
未完待續(xù)。更多通信資源請登錄網(wǎng)信智匯(wangxinzhihui.com)。