OPC客户程序设计

简介: OPC客户程序设计

OPC客户程序设计

这里的客户程序设计主要是指客户程序中OPC接口部分的设计。客户程序本身可以完成很多复杂的数据处理、显示和控制等功能,但需要通过OPC接口部分访问OPC服务器,对现场数据进行存取。

在开发OPC客户程序前,要选择合适的开发环境,并对开发环境进行配置,如在Windows XP操作系统下用Visual C++开发客户程序前,要将OPC基金会提供的SDK包中的几个重要文件加载到应用程序中,包括“opccomn.h”(OPC公共接口定义头文件)、“opccomn_i.c”(OPC公共接口定义)、“opcda.h”(OPCDA规范2.0头文件)、“opcda_i.c”(OPC数据存取接口GUID),“opcda_cats.c”(OPC数据存取组件分类文件),这些主要给出了接口的定义等。“opcaaum”和“OPCEnum.exe”也是COM组件,用于枚举本地机,以及远程机上所有的OPC服务器。

OPC客户程序开发中首先要实现浏览OPC服务器的功能。客户程序需要创建OPC基金会提供的OPC服务器浏览器对象(OPCServerList),再通过该对象的IOPCServerList接口获得OPC服务器名称的列表。在此基础上,再创建OPC组对象、OPC项对象,确定数据访问接口方式并进行编程。

另外在客户程序中OPC接口部分如何与其他功能模块进行数据交换也是需要根据实际情况仔细考虑的。ServerList客户程序可以通过枚举注册表中包含OPC子键的程序名来浏览符合OPC数据存取规范1.0/2.0的服务器,但效率较低。OPC客户程序需要实现与OPC服务器进行交换的功能包括创建服务器对象、组对象,读/写数据等。设计时需要注意COM对象的引用计数问题、内存管理问题和处理错误返回代码问题。

由于一个OPC客户程序可能与多个OPC服务器相连,因此设计时也最好采用多线程,同时与多个OPC服务器程序进行交换以保证较高的通信效率。另外,客户程序中的OPC接口部分如何与其他功能模块进行数据交换也是需要根据实际情况仔细考虑的。


OPC软件工具包

由于开发OPC程序需要熟悉OPC规范和COM技术,而且符合同一OPC规范的服务器程序只是硬件接口部分不同,其余部分类似,因此,许多公司研制开发了OPC服务器的工具包软件。这些工具包将OPC对象和接口的实现封装起来,用户只需要开发与硬件相关的部分,并对界面进行简单设计。这些工具包还往往提供了与常用硬件连接的驱动程序,如与RS-232设备或以太网卡连接的I/O DLL。工具包的使用能提高OPC服务器程序的开发速度和质量。设计者不需过多了解OPC对象的实现细节,但是也必须对工具包本身比较熟悉。另外,由于工具包中某些实现部分是通过DLL的形式封装起来的,因而当用户需要增加某些特定功能时会受到一些限制。


互操作性测试

最初制定OPC规范的目的就是实现工控软件之间的无缝连接,提高控制系统的互操作性和适应性,因此OPC服务器和客户程序都需要进行互操作性测试。目前OPC基金会尚未制定权威的测试程序,也没有提供OPC软件产品的互操作性认证工作。但OPC基金会每年都在美国和欧洲举办两次互操作性测试研讨会,对来自OPC成员公司的服务器和客户程序进行测试。一些自动化厂商提供了测试OPC互操作性的工具。可以在相关网站上下载这些工具,并用它们对自己设计的OPC程序进行测试。另外,在OPC基金会的网站上也有关于互操作性的网页,对加入OPC基金会互操作研讨会的OPC产品,用户可以查找到能够与之连接的OPC服务器或客户程序。

相关文章
|
8月前
电力规约DL/T 654 2007多功能电表通信协议 调试工具
电力规约DL/T 654 2007多功能电表通信协议 调试工具
112 1
|
存储 监控 C++
OPC服务器与客户程序设计
OPC服务器与客户程序设计
|
XML 网络协议 安全
|
5G 网络架构 芯片
5G 标准的制定过程 | 带你读《5G 无线系统设计与国际标准》之三
ITU 在开发移动通信无线接口标准方面有着悠久的历史,包括制定 IMT-2000 和IMT-Advanced 在内的国际移动通信(IMT)标准框架,贯穿了整个 3G 和 4G 行业发展。
5G 标准的制定过程  | 带你读《5G 无线系统设计与国际标准》之三
|
8月前
|
存储 传感器 移动开发
嵌入式系统中详解 Modbus 通信协议(清晰易懂)
嵌入式系统中详解 Modbus 通信协议(清晰易懂)
1390 1
|
安全 5G 网络性能优化
无线接口 | 带你读《5G 无线系统设计与国际标准》之五
本节对物理层、数据链路层和网络层基本功能相关内容进行一些讨论。
无线接口  | 带你读《5G 无线系统设计与国际标准》之五
|
存储 索引
西门子S7-200 SMART USS通信,变频器通信程序如何编写?
今天我们继续来学习西门子S7-200 SMART USS通信,本篇我们来介绍如何编写与变频器通信的程序。打开STEP7 Micro/WIN SMART编程软件,双击项目树下的系统块设置,RS485端口地址设置为2,波特率设置为9.6kbps。
西门子S7-200 SMART USS通信,变频器通信程序如何编写?
|
存储 索引
西门子S7-200 SMART USS通信,编写与变频器通信程序
今天我们继续来学习西门子S7-200 SMART USS通信,本篇我们来介绍如何编写与变频器通信的程序。
西门子S7-200 SMART USS通信,编写与变频器通信程序
|
C++ 索引
简单设计并开发一个移动通信程序
网络越来越好,手机之间的互动已经是常态,王者荣耀、微信实时视频等,已经将多屏互动推到各到各种应用场景。 为了让大家能清楚地了解多屏互动,我将结合实例对移动设备实时通信进行研究,并系统性地呈现一些解决方案。 最开始,我尝试给大家展示如何建立一个最简单的点对点通信。 万事开头难,先假定一下需求: 局域网内通信。 写一个你看我画的程序。 纯客户端(一开始,我不打算让服务器参与)。 下面
1216 0
|
数据库
SIP业务基本知识
1、SIP业务基本知识 1.1 业务介绍会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始、管理和终止网络中的语音和视频会话,具体地说就是用来生成、修改和终结一个或多个参与者之间的会话。
2060 0

热门文章

最新文章

下一篇
开通oss服务