OPC DA 服务器的设计与实现
OPC 客户端对在进行数据访问时,是以组为单位的,每个组中可以加入客户端需要访问的数据项,具体的访问交互过程如下:
(1) OPC DA 客户端查找并访问一个OPC DA 服务器,此时在OPC DA 服务器端,创建一个Server 对象,并返回一个接口指针;
(2) 客户端由返回的指针找到接口IOPCServer,通过IOPCServer::AddGroup()函数添加一个Group;服务器端则生成一个Group 对象,返回一个该Group 对象的接口指针;
(3) 客户端利用该指针查找IOPCItemMgt 接口,调用函数AddItem()在服务器添加一个或多个item 数据项item 对象,然后便可对该组对象中的数据项进行存取等操作;
(4) 同步访问:查找Group 对象的IOPCSyncIO 接口,直接调用Read(),Write()函数;异步访问:a)注册,查找Group 对象的IConnnectionContianer 接口,找到一个支持OPCDataCallback 接口的连接点对象,客户端生成IOPCDataCallback 对象并在连接点IConnectionPoint 上注册;b)查找IAsyncIO 接口,客户端调用该接口的Read,Write,Refresh等函数,然后直接返回;c)完成数据存取后,服务器回调已经注册的IOPCDataCallback 接口的相关函数,如OnDataChange 等,此时客户端可以通过回调函数获到返回的结果; (5) 清理现场,释放接口指针并返回;
4 结束语
OPC 标准在硬件和软件厂商之间建立了规范的联系,其工控领域得到了广泛的应用,成为一个事实上的软件总线。可适配的OPC DA 服务器则是将其上层进行了封装,对下层数据源存取进行了接口抽象,将数据采集同具体的数据源分离,从而降低了数据访问的耦合性。采用可适配模式的OPC DA 服务器,可以针对不同的数据采集模式,依照具体采集卡情况实现适配接口,从而缩短软件整体开发的周期,提高实际应用的速度。
评论