(宜科(天津)电子有限公司 天津市)
摘要: OPC 技术提供了工业控制领域的标准接口,实现了 OPC 服务器与客户端应用程序之间的数据通讯,解决了各种设备驱动的兼 容问题。利用该技术开发的电能数据采集系统,硬件上采用 RS - 485 接口进行连接,软件上通过 OPC 服务器软件,实现不同 设备的通讯,最后通过 VB 程序,对电能数据进行采集并生成报表。在实际应用中具有良好的适应性,能够完成设计功能,实现 数据采集的自动化。
关键字:OPC技术;线程数据;采集系统
在能源信息化集成过程中,环保局要求各热电 厂的锅炉实时数据进行上传,企业内部也需要通过 浏览器实时监控锅炉数据。 这些数据的传输从起点 到终点要经过现场工控机(配有 OPC 服务器)、OPC 客户端、UDP 传输层和监控主机, 其中 OPC 客户端 为分散于各处的生产数据与中央监控搭建了桥梁。 大部分热电厂都通过配置 OPC 服务器,向外提供符 合 OPC 标准的统一接口,但传统的 OPC 客户端都 是基于一个客户端访问一台服务器开发的。
为了 适应环保局对多个热电厂数据的同时采集,本系统 实现了单一客户端对多服务器的连接。 同时考虑到 每个连接应独立工作,当一个连接出现问题,不影 响其它服务器的访问,采用了多线程模型解决这一 问题。 另外,数据采集是长期的工作,由于网络环境 的不稳定性, 客户端与服务器的连接经常断开,因 此,系统提供了自动监控连接状态,断点续连的功 能,减少了操作人员的负担。
1 OPC技术
OPC(OLE for process control)是一个用于过程控制的技术标准,它基于微软的 OLE(现在的 Active X)、COM(部件对象模型)和 DCOM(分布式部件对 象模型)技术,采用客户/服务器模式,制定了关于数 据采集、历史趋势以及事件报警等接口标准。 只 要遵守这些标准,在客户机和服务器之间就可以交 换数据。OPC 逻辑对象模型中包括 3 种对象: 服务器 对 象 (OPCServer)、 组 对 象 (OPCGroup) 和 项 对 象 (OPCItem)。 这 3 种对象层次不同,每种对象都包括 一系列接口。
一个 OPCItem 对应实际 的硬件装置上的某一个 channel 或 port, 它包括值 (Value)、品质(Quality)、时间戳(Time Stamp)3 个基 本属性;一个 OPCGroup 则包含了许多的 OPCItem, 同时也定义了这些 OPCItem 更新的时间、 方式,并 提供读取 OPCItem 属性的接口; 而一个 OPCServer 则包含若干个 OPCGroup,同时提供操作这些 OPC- Group 的接口。 OPC 客户端若要从服务器中采集数 据,首先应得到服务器对象的引用,然后通过操作 组对象的接口动态创建组对象,最后通过组对象读 取项对象的属性值。
本系统以 Visual Studio 2010 为平台,应用 VB.Net 语言开发, 项目中引入了OPCAutomation.dll 组 件,其中封装了客户端与服务器交互的方法。 项目中建立了 3 个与功能相关的类,其中 Opc- ClientOperator 类主要表达了客户端与服务器一对 一的连接,并提供了采集数据方法;ThreadsOperator 类封装了 OpcClientOperator 类的对象数组, 每个对 象代表一个与服务器的连接,从而实现客户端与多 服务器的交互,这个类也定义了线程数组,它为每 个连接启动一个线程,避免了多连接情况下的相互 冲突;OpcClientObserver 类提供了异常处理以及修复。工作流程如图所示:
2 系统测试
系统测试工作在一个真实的环境下进行,应用该 OPC 客户端采集天津市滨能集团 5 组锅炉的参 数, 首先在各自的工控机上搭建 OPC 服务器环境, 应用的服务软件是西门子的 WinCC。 然后设置组和 项的参数,并将这些参数导出到配置文件供 OPC 客 户端使用,这些参数包括 OPC 服务器地址、类型、组 名、项变量名以及相关注释。 最后在一个远程主机 上启动客户端,开始访问这 5 个 OPC 服务器。 配置客户端的操作,列表框中导入 了所有服务器的地址,当选择某个地址时,文本框 中会显示该服务器类型和已添加的组。 当点击“导 入参数项”时,系统会读取配置文件中的项变量信 息,包括序号、变量名和标题。 启动客户端以后开始 采集所有服务器的项变量数据。
在列表中选择某个服务器地址,可以查看从该 服务器上接收的项变量的值、 质量和时间戳信息。 通过“重置线程”和“终止线程”,用户可以手动的重 启或停止当前线程,而不影响另外 4 个线程的采集 工作。 当重启某个 OPC 服务器时,连接发生异常,此 时断点续连机制生效,经过数次的重连、等待,连接 恢复,照常接收数据。
结束语
随 着 计 算 机 技 术 、通 信 技 术 和 控 制 技 术 的 发 展 ,生 产 过程的底层自动化控制系统逐渐得到了完善,形成了基于 集散控制系统、可编程控制器、现场总线控制系统等的各 种工业控制系统,但上述系统往往缺乏统一的接口标准, 难以实现各个厂家的设备互融互通及与上位机监控系统 的信息交互。OPC 是一种集高效性、可靠性、开放性、可 互操作性的即插即用的设备驱动程序。OPC 技术是不同 现场总线协议之间互连与互操作的一个重要手段,它将底 层硬件驱动程序和上层应用程序的开发有效地分隔开,使 用统一的接口实现不同总线协议间的数据互访。采用 OPC 技术后,能实现多现场总线控制系统的互操作,可以 实 现 并 优 化 多 现 场 控 制 系 统。 为了提高系统的可用性,系统实现了设备状态监控、 设备故障告警、服务治理、远程升级等运维功能系统,利用 由设备控制、视频处理、现场网络和基于 OPC 协议的软件 平台集成在一起的计算机可编程集中自动化控制系统,实 现采集数据与外部信息交换,系统监控、系统管理及配置 等基本业务功能。同时考虑到系统的先进性,实现了业务 负载均衡、动态事务补偿、数据报文加密传输、系统设备联动、服务及前端许可证管理、角色分离等特色功能。
本系统通过 OPC 技术,采用面向对象封装的思想, 充分利用 VB.NET 的多线程机制进行多服务器 的连接,动态地管理线程,提高了系统的稳定性,完 成了企业锅炉数据的采集与发送的开发。 系统提供 了便利的人机界面,方便了使用者的操作,在实际 应用过程中达到了预期的效果。
参考文献:
[1] 赵晓峰.基于OPC技术的Web工控系统的研究与实现[J].自动化与仪表,2016,31(2):62-64.
[2] 邹威林,王凌云,王建民等.SCADA系统数据采集接口技术研究和应用[J].自动化仪表,2012,33(6):32-35.DOI:10.3969/j.issn. 1000-0380.2012.06.010.
[3] 庄杰.基于OPC的实时数据库关键技术研究[D].西安石油大学,2015.
[4] 邹威林.SCADA系统数据采集接口技术研究与应用[D].华中科技大学,2012.
[5] 石凯.OPC在管控一体化中的应用——基于OPC的制造执行系统的研究与设计[D].西安建筑科技大学,2002.
论文作者:贾学永,李艳娇
论文发表刊物:《电力设备》2017年第14期
论文发表时间:2017/9/4
标签:服务器论文; 客户端论文; 数据论文; 系统论文; 对象论文; 线程论文; 接口论文; 《电力设备》2017年第14期论文;