OPC技术在LabVIEW 8.0 DSC模块中的运用

发布者:leader5最新更新时间:2015-09-15 来源: eefocus关键字:OPC技术  LabVIEW  DSC模块 手机看文章 扫描二维码
随时随地手机看文章
0 引言

随着工业控制系统中计算机的引入,应用于自动工业控制的软件和协议也越来越纷繁复杂。但任何纷繁复杂的技术最终都要走向统一的标准,因此全世界各大工业控制厂商联手推出了OPC标准,专门用于自动化工业控制。伴随而来的就是支持OPC技术的各种组态软件,美国国家仪器公司NI也不甘落后,在2006年推出了最新的LabVIEW 8.0 DSC模块用以支持OPC技术。由于LabVIEW作为开发软件,它具有普通组态软件不可比拟的编程灵活性,因此在工业测试和自动化领域方面,LabVIEW 8.0及其DSC模块弥补了普通组态软件的致命缺陷。

1 OPC技术简介

OPC(OLE for Process Control——用于过程控制的OLE)是一个工业标准,它是许多世界领先的自动化和软、硬件公司与微软公司合作的结晶。这个标准定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。传统的硬件与软件通讯都是直接在软件中编写自定义接口和驱动实现的,但是这样不仅价格昂贵而且硬件通用性不高。有了OPC技术作为通讯“中介”,这一切就变得很简单了。软件不再需要为每一种硬件都编写驱动,只需要做到的就是能与符合工业标准的OPC Server通讯。硬件提供商也不必再担心众多软件是否能支持他们的硬件,他们只需要提供支持硬件的符合标准的OPC Server就行了。因此OPC技术避免了重复开发,极大的降低了成本,加速了软件开发速度并提高了效率。如今OPC规范已经被上百家公司的上千个项目所应用。管理该标准的组织是OPC基金会。该基金会由1996的五家公司建立,如今全球已经有360个成员在促进和应用这项技术。

OPC的具体优势:

1) 采用标准的Windows体系接口,不管现场设备以何种形式存在,客户都以统一的方式去访问,从而实现系统的开放性,易于实现与其它系统的接口。

2) OPC规范以OLE/DCOM为技术基础,而OLE/DCOM支持TCP/IP等网络协议,因此可以将各个子系统从物理上分开,分布于网络的不同节点上。

3) 采用OPC规范,便于系统的组态,将系统复杂性大大简化,可以大大缩短软件开发周期,提高软件运行的可靠性和稳定性,便于系统的升级与维护。

2 LabVIEW 8.0 DSC模块简介

LabVIEW是一个业界领先的工业标准软件工具,用于开发测试、测量和控制系统。它是专为工程师和科学家而设计的直观的图形化编程语言。它将开发软件和各种不同的测量仪器硬件及计算机集成在一起,建立虚拟仪器系统,以形成用户自定义的解决方案。经过20年的演变和改进,在基于PC的测量自动化领域,LabVIEW确立了其主导地位,并成为业界的事实标准。最新推出的LabVIEW 8包含上百种新特性,更新力度超过任何一个前版本。其附加的DSC(Datalogging and Supervisory Control) 数据记录与监控模块专为SCADA系统设计。能轻松的与OPC Server通讯,也能生成自己的OPC Server。此外还有很多SCADA常用功能,例如基于配置的警报和事件,应用程序的用户级安全机制,分布式监测和控制的图形化开发,实时与历史数据追踪,内置联网便于与第三方设备的数据共享和集成,分布式数据记录的联网数据库等。由于DSC模块能与LabVIEW开发环境无缝集成,因此基于LabVIEW 8.0 及其DSC模块开发的SCADA系统能充分利用LabVIEW强大的数据处理与分析功能,具有传统SCADA组态软件无可比拟的优势。

图1描述基于OPC和LabVIEW DSC模块的SCADA系统的结构。

525800457

图1 基于OPC Server和LabVIEW 8.0 DSC模块的SCADA系统结构示意图

3 通过LabVIEW 8.0 DSC模块访问OPC Server

通过LabVIEW与OPC Server进行通讯有3种方法:1)通过ActiveX自动化接口实现对OPC Server的访问;2)通过NI的DataSocket技术实现与OPC Server的通讯;3)利用其DSC模块与OPC Server通讯。其中前两种方法只适合与少量点数的OPC标签连接。因为需要编写多段重复代码或是通过For循环来读写,因此当点数增多时会降低读写速度并让系统变得不利于维护。通过DSC模块内建的与OPC Server通讯的机制,编程就变得相当容易了,而且其编程规模和读写速度写不受点数限制。因此这里只详细介绍第三种方法,如果读者对前两种方法也感兴趣的话请参考LabVIEW 8.0用户手册。

3.1 OPC Server的安装与配置

大部分需要计算机采集控制的硬件设备提供厂商都为其设备提供了OPC Server。目前不少OPC Server供应商甚至开发了与ODBC数据源连接的OPC Server,用户通过它可以通过访问OPC Server来访问数据库。目前大部分的OPC Server都是在Windows下运行,也有少数的OPC Server可以在Linux下运行。按照提供商提供的手册安装就行了。由于采用了DCOM技术,通常情况下网络上其它计算机也能访问你的OPC Server。但是如果你的操作系统是WinXP SP2,你就必须做一些相应的设置才行,具体请参考相关文献。

大部分OPC Server都采用XML配置文件进行相关配置,例如硬件地址,相关参数等。配置好后,重新启动计算机,OPC Server作为Windows的服务在计算机启动时自动启动。使用任何一种OPC client都能实现对OPC Server的访问,浏览OPC标签信息。例如NI免费提供Server Explorer(可以在NI网站上免费下载)。

3.2 与OPC标签建立连接

通过LabVIEW 8.0 DSC模块与OPC标签的连接方法与前版本完全不同。LabVIEW 8.0引入了共享变量的概念。共享变量可以与本地或网络上任何一台电脑上的OPC标签绑定。当绑定好后,用户只需要把共享变量当作普通的变量一样操作就可以了,而不需要知道这个共享变量的底层到底在和哪台电脑的哪个OPC标签通讯。

与OPC标签的绑定非常简单。

1) 新建一个LabVIEW Library。

2) 在library里新建一个I/O Server,在建立过程中可以浏览到本机或网络上有哪些OPC Server可以连接,然后将I/O Server与你需要连接的OPC Server绑定。

3) 在Library中新建一个共享变量与I/O Server中列出的OPC 标签绑定。与此同时还可以设定该共享变量的一些其它属性,例如:是否存储,报警上下限,变量描述,用户获取权限等。

绑定完成后就可以把这个共享变量当作一个普通的变量在LabVIEW编程中使用了。通过共享变量读取OPC标签有三种方法。第一种方法是通过前面板直接绑定。直接把新建好的共享变量拖动到VI前面板,然后让该VI连续运行就可以实时获得OPC标签的值了。第一种方法最简单,但是当变量多时不容易管理。第二种方法是将新建好的共享变量拖动到VI后面板,然后就可以像使用一般的变量一样对它进行编程。这种方法也很简单,但是也不利于管理。下面着重介绍一下第三种方法。这种方法是利用DSC模块提供的事件方法。当连接到共享变量的OPC标签值发生变化时就会激发事件,通过对该事件的编程就能读到OPC标签的值了。由于采用了事件方法,程序不需要按轮询的方式去不断读取OPC标签的值,而是只有在OPC标签的值发生变化时才触发相应的处理程序。因此该方法效率最高,而且无论Library中有多少共享变量,程序都无需改动就能将所有的OPC标签值读取到同一个数组中去。该方法的LabVIEW程序如图2所示。

525457230

图2利用共享变量事件特性读取OPC标签数据

但是该事件只能在OPC标签的值发生变化时才激发,很多的OPC标签还用Quality来标志其当前值是否正确。例如当OPC Server与硬件连接中断时,其标签的Quality将显示为“bad”。因此当OPC标签的值由“good”变为“bad”时,上面的程序并不能发现。为解决这个问题,我们只有通过DataSocket的办法来实时读取其Quality的状态。如图3所示。

525426359
图3 利用DataSocket读取OPC标签的Quality

4.利用LabVIEW建立自己的OPC Server

当用户开发出自己的硬件设备或者某些硬件厂商不提供OPC Server时,编写该硬件设备的OPC Server就很重要了。但是专用的OPC Server开发工具一般价格昂贵,而且难于使用。而通过LabVIEW生成自己的OPC Server非常简单。我们可以首先通过LabVIEW来与硬件设备的驱动直接进行通讯。然后将读取的数据放在OPC Server中作为一个个的OPC标签发布即可。[page]

下面以一个模拟的水箱系统为例介绍如何生成自己的OPC Server。该水箱有一个进水口阀门和一个出水口阀门。用户可以通过滑动条对阀门流量大小进行调节,水箱根据这两个阀门的流量大小实时计算出当前水位。如图4所示。

525606205

图4 模拟水箱界面

接着在Library中新建一个I/O Server与模拟水箱VI连接。在建立过程中,LabVIEW自动获取模拟水箱程序中的控制控件和显示控件作为备选的OPC标签,用户可以选择其中的几个控件作为OPC标签。例如:Tank Volume、Input Flowrate、Tank Valve可以作为可读可写OPC标签,Tank Level,Tank Output Flowrate可以作为只读的OPC标签。I/O Server建立好后就可以作为一个真正的OPC Server运行了,在任何一种OPC client工具中都能浏览到这些标签。从此,你不必再为每一个用户都提供硬件驱动发愁了,你只需要提供一个符合标准的OPC Server就行了。

5. 总结

综上可见,通过LabVIEW 8.0 DSC模块可以非常容易的访问OPC Server,此外还能方便的生成自己的OPC Server。由于DSC模块能与LabVIEW无缝结合,因此利用LabVIEW 8.0强大的编程特性和丰富的硬件接口实现的SCADA系统能够实现通用组态软件无法实现或很难实现的一些功能,例如复杂逻辑处理,数据分析等。笔者参与的国家重点工程—北京正负电子对撞机二期工程中的慢控制系统就大量的采用了OPC与LabVIEW相结合的技术,不仅降低了成本,而且提高了开发速度和降低了维护难度。随着LabVIEW 8.0及其DSC模块的推广,相信它将会再计算机分布式监控领域扮演越来越重要的角色。

[转载]OPC技术在LabVIEW <wbr>8.0 <wbr>DSC模块中的运用[转载]OPC技术在LabVIEW <wbr>8.0 <wbr>DSC模块中的运用[转载]OPC技术在LabVIEW <wbr>8.0 <wbr>DSC模块中的运用[转载]OPC技术在LabVIEW <wbr>8.0 <wbr>DSC模块中的运用
 

关键字:OPC技术  LabVIEW  DSC模块 引用地址:OPC技术在LabVIEW 8.0 DSC模块中的运用

上一篇:Labview初学者常见问题及解答
下一篇:LABVIEW和LABWINDOWS区别

推荐阅读最新更新时间:2024-03-30 23:04

NIDays图形化系统设计盛会中国站圆满落幕
美国国家仪器有限公司2008年度 “NIDays全球图形化系统设计盛会”中国站于11月18日在上海国际会议中心圆满落幕。600余位工程师、11家国内外知名测试测量企业以及20多家行业媒体到会。围绕“工程师的奥林匹克——绿色应用,科技共享”的主题,本次NIDays技术盛会通过5大专题、18场技术讲座,逾40种案例演绎与新品展示等,向参会工程师全方位地展现了绿色应用和科技创新的完美结合。 NIDays展览会上人头攒动 作为一个连续第十年在中国地区举办的行业技术盛会,NIDays已经在业界具有权威的知名度和认可度。工程师和科研人员齐聚一
[测试测量]
NIDays图形化系统设计盛会中国站圆满落幕
LabVIEW编译器深层解析
编译程序设计是一个复杂的话题,即使对内行的软件工程师来说也要考虑很多专业知识。 NI LabVIEW软件是一种多规范的图形化编程环境,含有多种概念,包括数据流,面向对象,以及事件驱动编程。LabVIEW也是跨越多种平台的,能够很好地用于多种操作系统(OSs),芯片组,嵌入式设备,以及现场可编程门阵列(FPGAs)。LabVIEW编译程序是一种精密的系统,在过去的20年中具有令人瞩目的发展。探索NI公司的LabVIEW编译程序的处理过程以及近来编译程序的创新。 LabVIEW编译程序处理过程 首先一个VI的编译是类的扩展,主要负责将隐含的类解析为适于终端输出与检查句法错误的类型。在类扩展之后,VI从编辑模型转化为可以被编译程
[测试测量]
<font color='red'>LabVIEW</font>编译器深层解析
基于LabVIEW的设备远程监测系统研究
 一个典型的远程监测系统由硬件系统和软件系统两部分组成。   (1)硬件系统。监测系统硬件结构如图1所示。此系统的基本工作原理是,ZK-3VIC型振动实验台作为被测对象,加速度传感器将振动信号转换为电压信号,由于传感器拾取的信 号比较微弱,且常伴有噪声的干扰,所以要对信号进行滤波和放大,这些工作由INV多功能抗混频滤波放大器来完成,DAQCard-6062E将经滤波放大后的模拟信号转换为数字信号, 以便于微机处理,服务器和客户机为两台计算机。   (2)软件系统。软件是状态监测系统的核心,选择合适的软件开发平台,可以提高系统性能,缩短开发周期,降低开发费用。在此,采用LabVIEW 7 Express作为开发平台。利
[测试测量]
labview编程技巧-----数据库之如何调用数据库链接属性对话框
在设置ODBC和其他数据库操作时,WINDOWS自动调用数据库链接属性对话框 LABIVEW中如何自动调用它那,非常简单. 其中,AUTOMATION 选择
[测试测量]
<font color='red'>labview</font>编程技巧-----数据库之如何调用数据库链接属性对话框
LabVIEW下TDS1000-2000系列示波器API的简要说明
问题描述:在LabVIEW中有许多对波形数据进行处理的函数,而示波器一般屏幕比较小,不便于观察,LabVIEW里面的波形图很灵活,但是需要有强大的外部硬件采集设备支持才行。NI本身提供许多功能强大的采集卡,但是价格不菲。现在正好身边有个泰克TDS2024B示波器,示波器也是数据采集的作用,于是将两者结合起来发挥强大的测试测量功效。具体的使用与连接在另一篇中有详细介绍了,这里不再赘述。 一点说明:可以在LabVIEW中查看TDS系列示波器控制用的API,大概是在函数面板的仪器IO- Instruments- Tektronics下面,包括配置、初始化、数据、用户、关闭等几个部分,以下是其给出的Tree结构图:
[测试测量]
Labview编的子VI设定的密码忘了
Labview编写的子VI可以单独设置保护密码,从而保护程序框图不被他人看见,这无疑是保护自己的一些劳动成果的好方法。可这项功能也是一把双刃剑,若你忘了密码,那就麻烦了。 本人编写的某些子VI设置了密码,这些都是自己费了老大劲编写出来的,现在想打开来查看程序框图时居然记不起密码来了,直冒汗呀! 在网上搜寻可以破解子VI的方法,收获甚微,但也看到了些许曙光。Labview提供了VI的方法节点(锁定),若密码正确Error簇的Status元素就为FALSE(即没错误),利用此方法还是可以找出密码来的。 于是自己编了个穷举法的VI来破解设置了密码的子VI,无奈自己以前设定的密码长度基本上超过10位,更要命的是
[测试测量]
基于LabVIEW的车灯日行灯自动化测试
日行灯(Daytime RunNIng Light,DRL)是近年来兴起的一种信号灯具。一般安装在汽车前大灯中,其功效是为了使车辆在白天行驶时更容易被识别。据统计,开启日行灯可降低12.4%的车辆意外,以及降低26.45%的车祸死亡率。最初的生产线由人眼去识别日行灯的颜色异常和亮度异常,长时间的工作会对眼睛造成较大伤害,且也会造成良品率的下降。根据这一需求,设计一种自动测试系统。该系统由两个部分构成,一是拍摄一张标准日行灯图片作为模板,二是将需要测试的日行灯与之进行比较。前一部分主要完成窗口数量和位置的确定,以及窗口部分颜色特性的分析,并将这些参数保存下来。后一部分在实际测试中,在模板图片中模板窗口位置范围内寻找测试窗口、提取测试窗
[测试测量]
基于<font color='red'>LabVIEW</font>的车灯日行灯自动化测试
使用LabVIEW令“20岁”的机器人恢复活力
   Author(s):      Jonas Neubert - Imperial College London       Industry:      Research       Products:      CompactRIO, FPGA Module, Real-Time Module       The Challenge:      为已经丢失控制器的20岁工业机器人替换新的控制器,并对其进行扩展,使之具有现代机器人控制软件中的典型功能。创建可通过直观图形化用户界面(GUI)操作的、适于本科生实验课程的系统。       The Solution:      使用NI CompactRIO控制器作为机器人
[测试测量]
使用<font color='red'>LabVIEW</font>令“20岁”的机器人恢复活力
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
最新测试测量文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved