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服务器或客户程序。

相关文章
|
9月前
电力规约DL/T 654 2007多功能电表通信协议 调试工具
电力规约DL/T 654 2007多功能电表通信协议 调试工具
119 1
|
9月前
|
存储 编译器 程序员
汽车电子行业的 C 语言编程标准
汽车电子行业的 C 语言编程标准
197 0
汽车电子行业的 C 语言编程标准
|
存储 监控 C++
OPC服务器与客户程序设计
OPC服务器与客户程序设计
|
XML 网络协议 安全
|
7月前
|
监控 BI 数据处理
LabVIEW与欧陆温控表通讯的实现与应用:厂商软件与自主开发的优缺点
LabVIEW与欧陆温控表通讯的实现与应用:厂商软件与自主开发的优缺点
61 0
|
9月前
|
存储 传感器 内存技术
嵌入式硬件系统的基本组成部分
嵌入式硬件系统的基本组成部分
173 1
|
9月前
|
机器学习/深度学习 传感器 监控
深入解析汽车MCU的软件架构
一、背景知识 电动汽车(EV)正在成为首选的交通方式,为传统内燃机汽车提供了一种可持续发展的环保型替代方案。在电动汽车复杂的生态系统中,众多电子控制单元(ECU)在确保其高效运行方面发挥着至关重要的作用。电机控制单元(MCU)就是这样一个 ECU,它是电机性能背后的大脑。在这篇综合文章中,我们将探索电机控制单元的世界,研究它们的功能、组件以及影响汽车 MCU 领域的最新趋势。 了解电动汽车使用的电机 在深入研究电动汽车电机控制单元的复杂性之前,有必要了解电动汽车常用的各种电机类型。最常见的两种类型是无刷直流(BLDC)电机和永磁同步(PMS)电机。 无刷直流电机又称电子换向电机,无需电
136 1
|
9月前
|
安全 算法 中间件
深入浅出SOME/IP协议规范:车载通信的关键技术
深入浅出SOME/IP协议规范:车载通信的关键技术
810 0
|
9月前
|
安全 网络协议 测试技术
网络工程设计教程系统集成方法第3版-第1章 网络工程设计概述
网络工程设计教程系统集成方法第3版-第1章 网络工程设计概述
220 0
|
编解码 监控 安全
SCADA人机界面组态软件设计
SCADA人机界面组态软件设计