本文简单介绍OPC HDA规范的IOPCHDA_Server接口方法,更多通信资源请登录网信智汇(wangxinzhihui.com)。
1)HRESULT GetItemAttributes(pdwCount , ppdwAttrID, ppszAttrName, ppszAttrDesc, ppvtAttrDataType)
此函数返回服务器支持的项属性。也支持供应商特定的属性。供应商提供的属性可用于允许客户端访问和显示供应商特定信息。属性数据类型旨在允许在浏览项目ID时进行查询筛选。
2)HRESULT GetAggregates(pdwCount , ppdwAggrID, ppszAggrName, ppszAggrDesc)
此函数返回服务器支持的聚合列表。还支持供应商特定的聚合。供应商提供的聚合是可用的,以允许客户端使用其特定服务器可用的所有功能。如果服务器不支持聚合,则所有指针都为NULL。
3)HRESULT GetHistorianStatus(pwStatus, pftCurrentTime, pftStartTime, pwMajorVersion, pwMinorVersion, pwBuildNumber, pdwMaxReturnValues, ppszStatusString, ppszVendorInfo)
此函数返回有关服务器当前状态的信息。开始时间是可选的,可以作为NULL指针返回。
4)HRESULT GetItemHandles(dwCount, pszItemID, phClient, pphServer, ppErrors)
此函数返回特定HDA项的服务器句柄和客户端句柄之间的关联。
5)HRESULT ReleaseItemHandles(dwCount, phServer, ppErrors)
此函数释放特定HDA项目的服务器句柄和客户端句柄之间的关联。
6)HRESULT ValidateItemIDs(dwCount, pszItemID, ppErrors)
此函数验证服务器是否知道特定的HDA项目ID。
7)HRESULT CreateBrowse(dwCount, pdwAttrID, pOperator, vFilter, pphBrowser, ppErrors)
此函数返回一个指向OPCHDA_BROWSER接口的指针。过滤器将应用于对该浏览器实例的所有方法调用。服务器应验证筛选器阵列。服务器必须支持单个客户端同时访问多个浏览接口。筛选是服务器的可选行为。如果服务器不支持筛选,或者只支持对某些请求的属性进行筛选,则服务器应向浏览器返回一个接口,该接口只对接受的属性进行过滤。不支持过滤的服务器应返回指向未过滤浏览器接口的指针。过滤操作是相加的。若要成功通过筛选条件,项目必须成功满足所有筛选条件。
过滤和浏览的实现是特定于服务器的,但预计具有分层名称空间的服务器可能只对叶应用过滤器,导致它们返回没有满足标准的叶的分支。预计客户端可以创建一个浏览器来定位层次结构的特定区域,使用GetBranchPosition获得完全限定的分支名称,然后将该分支名称传递给使用不同过滤器集的另一个浏览器。
服务器可以选择支持字符串过滤器的通配符。为了表示单个字符,应使用“?”。为了表示多个字符,应使用“*”。
过滤器由三个参数pdwAttrID、pOperator和vFilter定义。如果属性值与筛选器值的关系与筛选器运算符匹配,则筛选器表达式为true。如果给定了多个筛选器表达式,则它们必须全部为true才能包含要包含的项。
未完待续。更多通信资源请登录网信智汇(wangxinzhihui.com)。