微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > OPC技术在LabVIEW 8.0 DSC模块中的运用

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

时间:01-06 来源:互联网 点击:

首先枚举计算机上USB相机设备:程序框图中右击空白处,视觉与运动->IMAQ USB->

这个函数输出的是一维数组,所以要提取数组中的元素,使用数组->

于采用了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所示。

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

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

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

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

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

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

图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系统能够实现通用组态软件无法实现或很难实

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top