基于OPC实现的LabVIEW与组态王的数据通信

时间:2022-08-27 08:07:34

基于OPC实现的LabVIEW与组态王的数据通信

摘 要:在大规模、复杂的工业应用中,常常会用到不同的软、硬件平台,如何实现不同平台的数据共享、汇总和透明访问,是经常需要解决的问题。该文针对LabVIEW和组态王这两种被广泛使用的软件平台之间的跨机器数据通信问题,提出了一种基于OPC的解决方案,并阐述了具体的实现步骤。

关键词:OPC Server LabVIEW 组态王

中图分类号:TP273 文献标识码:A 文章编号:1674-098X(2015)06(c)-0058-01

LabVIEW是美国国家仪器有限公司提供的一套软件开发平台,广泛应用于数据采集、监控、自动化测试测量领域[1]。

组态王是一款优秀的国产组态软件,由亚控科技开发。组态王功能强大、运行稳定,在国内的工业监控领域得到了广泛应用。

OPC(OLE for Process Control)是一组标准接口,由OPC 基金会制定及修改。该文阐述的主要内容是以OPC为基础实现的LabVIEW与组态王之间的数据通信。

1 系统架构

该文以某企业数据采集与监控系统项目为背景。该项目中,上位机服务器运行组态王软件,完成各个分系统的数据汇总等功能;下位机作为客户端,运行由LabVIEW开发的软件,负责向上位机提供采集的数据,同时接收上位机控制指令。

LabVIEW和组态王运行在局域网不同的工控机上,软件之间借助OPC实现互联互通。通过为LabVIEW安装DSC模块,使得LabVIEW既能作为OPC客户端,又能创建OPC服务器;组态王软件内置OPC服务器,也可以作为OPC客户端使用。

2 软件实现

本方案,使用LabVIEW DSC模块中的OPC Server软件作为OPC服务器。

2.1 创建OPC Server

首先使用NI OPC Server软件创建Simulator驱动类型的服务器通道,然后依次创建设备、标签组和标签(变量)。

需要注意的是:

(1)变量类型。

NI OPC Server支持多种变量类型,包括各类单数值类型,如WORD,DOUBLE等,字符串类型,还有各种数组类型。一般来说,变量类型一致时使用数组是最合适的,数据更新速率一定的情况下,数组能够显著提高更新的数据量,但是组态王并不支持数组类型变量,因此本项目中只能将多个变量分别创建为单值类型。

(2)寄存器地址.

选用不同数据类型时,内存地址段是不同的,需要参考帮助文档来确定。

(3)更新速率。

OPC适用于中、低速的数据更新,一般应在500ms以上。本项目中的OPC Server基于Simulator驱动,实际的数据读写发生在下位机内部内存之间和上、下位机内存之间,因此更新速率可适当提高。

2.2 创建LabVIEW客户端

LabVIEW 8.0以后的版本引入了共享变量[2],这使得基于DSC模块对OPC Server的访问更加简单便捷。共享变量可以与本地或网络上任何一个电脑的OPC标签绑定,继而实现数据读写。

与OPC Server标签的绑定步骤:

(1)在LabVIEW项目中新建一个 I/O Server,类型选择为OPC Client;

(2)浏览到本机OPC Server,选择National Instruments.NIOPCServers.V5;

(3)保存I/O Server,右键创建绑定型的共享变量。

(4)至此完成了LabVIEW客户端的创建工作,在LabVIEW中创建的一组共享变量分别绑定到OPC Server的各个标签。在LabVIEW中只需读写相应的共享变量,就能实现对OPC Server标签的访问[3]。

2.3 创建组态王客户端

组态王的开发环境中,有自带的OPC服务器选项,创建OPC客户端的步骤如下。

(1)查看并选择OPC服务器。

首先填入“网络节点名”,点击查找,在刷新后的OPC服务器列表中选择National Instruments.NIOPCServers.V5。

(2)创建变量。

变量类型必须是I/O类型;

连接设备选择上一步骤中选择的OPC Server;

点击“寄存器”条目右侧的下拉菜单,依次展开即可选择相对应的OPC Server标签;

数据类型须与OPC Server标签的数据类型一致;

(3)至此已完成组态王OPC客户端的创建工作,后续只需读写以上步骤创建的变量,就能实现组态王对NI OPC Server的访问。

2.4 数据通信

通过分别创建OPC Server、LabVIEW OPC客户端、组态王OPC客户端,实现了两个客户端对服务器的分别访问,本质上,实现了两个客户端之间的数据传输和共享。OPC Server起到了统一接口和数据桥接的作用。

3 结语

在大规模、复杂的工业应用中,常常会用到不同的软、硬件平台,如何实现不同平台的数据共享、汇总和透明访问,是经常需要解决的问题。该文针对LabVIEW和组态王这两种被广泛使用的软件平台之间的跨机器数据通信问题,阐述了基于OPC技术的解决方案和具体的实现步骤。OPC为解决典型的跨硬件、跨软件的数据共享与通信问题,提供了很好的解决途径,值得在今后的项目中推广使用。

参考文献

[1] Elliott C.National instruments LabVIEW: a programming environment for laboratory automation and measurement[J].Journal of the Association for Laboratory Automation,2007,12(1):17-24.

[2] 罗文锋.基于LabVIEW与PLC的船舶电站监控系统的研究[D].武汉:武汉理工大学,2009.

[3] 王建群,甬金瑞,孙逢春,等.基于LabVIEW的数据采集系统的实现[J].计算机工程与应用,2003,21(2):122-125.

上一篇:酒钢集团筹资风险问题的研究与分析 下一篇:混凝土配合比调整与质量控制