通讯协议017——全网独有的OPC AE知识四之接口(一)

本文简单介绍OPC AE规范的接口相关知识,更多通信资源请登录网信智汇(wangxinzhihui.com)。OPC AE规范描述了OPC事件服务器应该实现的对象和接口,实现在多个OPC客户端间共享事件和警报条件。
任何支持IOPCEventServer接口的COM对象都是OPC事件服务器。在许多情况下,OPC DA服务器还将暴露一个OPCEventServer对象,具备数据服务器和事件服务器的角色。在其他情况下,通常是专用的OPC事件服务器,而不是具备OPC DA的事件服务器。
本规范定义了以下COM对象,下面将简要介绍这些对象:OPCEventServer、OPCEventSubscription和OPCEventAreaBrowser。

1、OPCEventServer对象

上图为OPC Event Server和IID_IOPCShutdown关闭对象的视图。这些对象是使用CoCreateInstance或CoCreateInstanceEx创建。如前所述,这可能是一个OPC DA服务器对象,它也实现IOPCEventServer接口。
IOPCCommon接口用于执行OPC服务器的通用功能,例如数据访问。例如:包括LocaleID的管理和检索错误字符串。
IOPCEventServer接口用于创建OPC事件订阅和OPC事件区域浏览器对象,查询事件类别和事件参数,并管理条件。
IConnectionPointContainer和IConnectionPoint接口是可连接对象的标准DCOM接口,用于处理服务器通知即将关闭客户端的回调。
2、OPCEventSubscription对象

上图为客户端使用IOPCEventServer::CreateEventSubscription方法时,OPC事件服务器创建的OPCEventSubscription和IID_IOPCEventSink对象的视图。
IOPCEventSubscriptionMgt接口用于配置OPC事件报告的过滤器和其他属性。
可选的IOPCEventSubscriptionMgt2接口用于设置或获取订阅的keep-alive时间。
IConnectionPointContainer和IConnectionPoint接口是的标准DCOM接口可连接对象,并用于处理事件通知的回调。
3、OPCEventAreaBrowser对象(可选)

上图是当客户端调用IOPCEventServer::CreateAreaBrowser方法时,由OPC事件服务器创建的OPCEventAreaBrowser对象的视图。
IOPCEventAreaBrowser接口为客户端提供了一种浏览由服务器实现的过程区域组织结构。服务器提供的事件条件被组织成一个或多个过程区域,并且客户端可以根据指定的过程区域筛选事件订阅。
此对象是可选的,简单事件服务器可能不支持该接口。
4、自定义接口开发注意
为了正确操作,枚举器是从对象上的方法创建和返回的,而不是而不是通过QueryInterface。
根据COM规范,客户端必须释放与“out”或“in/out”参数关联的所有内存。
根据COM规范,所有方法都必须在每个接口上实现。方法不需要的可以根据情况返回E_ NOTIMPL或S_OK。
COM不允许为Out或In/Out参数传递NULL。
更多通信资源请登录网信智汇(wangxinzhihui.com)。