通訊協(xié)議048——全網(wǎng)獨有的OPC HDA知識一之接口(三)IOPCHDA_Server

本文簡單介紹OPC HDA規(guī)范的IOPCHDA_Server接口方法,更多通信資源請登錄網(wǎng)信智匯(wangxinzhihui.com)。
?
1)HRESULT ?GetItemAttributes(pdwCount , ppdwAttrID, ppszAttrName, ppszAttrDesc, ppvtAttrDataType)
此函數(shù)返回服務(wù)器支持的項屬性。也支持供應(yīng)商特定的屬性。供應(yīng)商提供的屬性可用于允許客戶端訪問和顯示供應(yīng)商特定信息。屬性數(shù)據(jù)類型旨在允許在瀏覽項目ID時進行查詢篩選。
?
2)HRESULT ?GetAggregates(pdwCount , ppdwAggrID, ppszAggrName, ppszAggrDesc)
此函數(shù)返回服務(wù)器支持的聚合列表。還支持供應(yīng)商特定的聚合。供應(yīng)商提供的聚合是可用的,以允許客戶端使用其特定服務(wù)器可用的所有功能。如果服務(wù)器不支持聚合,則所有指針都為NULL。
?
3)HRESULT ?GetHistorianStatus(pwStatus, pftCurrentTime, pftStartTime, pwMajorVersion, pwMinorVersion, pwBuildNumber, pdwMaxReturnValues, ppszStatusString, ppszVendorInfo)
此函數(shù)返回有關(guān)服務(wù)器當前狀態(tài)的信息。開始時間是可選的,可以作為NULL指針返回。
?
4)HRESULT ?GetItemHandles(dwCount, pszItemID, phClient, pphServer, ppErrors)
此函數(shù)返回特定HDA項的服務(wù)器句柄和客戶端句柄之間的關(guān)聯(lián)。
?
5)HRESULT ?ReleaseItemHandles(dwCount, phServer, ppErrors)
此函數(shù)釋放特定HDA項目的服務(wù)器句柄和客戶端句柄之間的關(guān)聯(lián)。
?
6)HRESULT ?ValidateItemIDs(dwCount, pszItemID, ppErrors)
此函數(shù)驗證服務(wù)器是否知道特定的HDA項目ID。
?
7)HRESULT? CreateBrowse(dwCount, pdwAttrID, pOperator, vFilter, pphBrowser, ppErrors)
此函數(shù)返回一個指向OPCHDA_BROWSER接口的指針。過濾器將應(yīng)用于對該瀏覽器實例的所有方法調(diào)用。服務(wù)器應(yīng)驗證篩選器陣列。服務(wù)器必須支持單個客戶端同時訪問多個瀏覽接口。篩選是服務(wù)器的可選行為。如果服務(wù)器不支持篩選,或者只支持對某些請求的屬性進行篩選,則服務(wù)器應(yīng)向瀏覽器返回一個接口,該接口只對接受的屬性進行過濾。不支持過濾的服務(wù)器應(yīng)返回指向未過濾瀏覽器接口的指針。過濾操作是相加的。若要成功通過篩選條件,項目必須成功滿足所有篩選條件。
過濾和瀏覽的實現(xiàn)是特定于服務(wù)器的,但預(yù)計具有分層名稱空間的服務(wù)器可能只對葉應(yīng)用過濾器,導(dǎo)致它們返回沒有滿足標準的葉的分支。預(yù)計客戶端可以創(chuàng)建一個瀏覽器來定位層次結(jié)構(gòu)的特定區(qū)域,使用GetBranchPosition獲得完全限定的分支名稱,然后將該分支名稱傳遞給使用不同過濾器集的另一個瀏覽器。
服務(wù)器可以選擇支持字符串過濾器的通配符。為了表示單個字符,應(yīng)使用“?”。為了表示多個字符,應(yīng)使用“*”。
過濾器由三個參數(shù)pdwAttrID、pOperator和vFilter定義。如果屬性值與篩選器值的關(guān)系與篩選器運算符匹配,則篩選器表達式為true。如果給定了多個篩選器表達式,則它們必須全部為true才能包含要包含的項。
未完待續(xù)。更多通信資源請登錄網(wǎng)信智匯(wangxinzhihui.com)。