LabVIEW具有强大的远程数据采集能力,实现方法主要有主要4种:方法一, 软件操作界面共享方式, 利用RemotePanels技术实现远程数据采集;方法二, DAQ 设备共享方式,采用RDA 技术实现DAQ 设备的远程控制;方法三,数据发布方式,利用TCP技术实现远程数据采集 ;方法四,数据共享方式,利用DataSocket技术实现远程数据采集。无论采用哪种方式,系统都由通过网络连接的客户机(Client)和服务器( Server)构成,其中DAQ设备安装在服务器上,客户机通过网络控制服务器上的DAQ设备完成数据采集。系统组成如图1所示。
利用Remote Panels技术实现远程数据采集
从LabV IEW 6. 1 开始, LabV IEW 集成了RemotePanels技术, 允许用户直接在客户端计算机上打开并操作位于服务器端计算机上的V I的前面板, 甚至可以将LabV IEW V Is的前面板窗口嵌入到一个网页中并在网页中直接操作它, 这是一种软件操作界面共享方式。按照常规方式编写服务器端软件, 控制DAQ设备完成数据采集, 通过一定的设置将服务器端软件的前面板发布到客户机中, 这样, 用户在客户机上就可以直接操作位于服务器上的软件, 实现远程数据采集。在LabV IEW中设定并使用Remote Panels仅需两个步骤:
第一步,在LabV IEW Web Server端的计算机上开启LabV IEW Web Server服务:在客户端使用Remote Panels之前,必须首先在Server计算机上运行LabV IEW, 并利用LabV IEW 的Op tions配置对话框配置Web Server的文件路径和网络参数、客户机访问权限和V Is访问权限。为了提供网页浏览器访问,必须在配置服务器时利用Web Publish Tool将网页发布出去。
第二步,在客户端计算机上连接并运行RemotePanels。有两种方式可以实现Remote Panels操作:方式一:在LabV IEW 环境中利用Connect to Remote Panels工具可以直接操作Remote Panels。方式二:利用网页浏览器在网页中直接操作Remote Panels。若在客户端的网页浏览器的地址栏中输入服务器的网址,即可实现在网页中直接操作RemotePanels。在局域网内, 网址格式是: http: / /PcName:Port/ViName. htm;在Internet互联网上,网址格式为:http: / / IpAddr: Port/ViName. htm。当Remote Panels出现在浏览器上时,通过右键下拉菜单可以获得RemotePanels的控制权。利用网页浏览器操作Remote Panels不需要安装LabV IEW,只需安装一个LabV IEW Run-Time Engine即可。图2所示的是在IE浏览器中打开的一个位于服务器上的虚拟仪器前面板。
LabV IEW的Remote Panels不仅可以观看,而且可以在LabV IEW的环境中或浏览器上加以控制。这个强大的功能让开发人员可以轻松的创建远程应用程序,使用户在周末的时侯坐在家中的计算机前轻松的监控办公室、实验室甚至生产线上的各种情况。这种方式的缺点是在客户端不能得到测试数据。
利用RDA技术实现远程数据采集
利用RDA (Remote Device Access)技术共享服务器上的设备,在客户机上编程直接控制服务器上的DAQ设备,实现远程数据采集。RDA在编程方面与使用本机DAQ 设备完全一样。在LabV IEW中利用RDA技术实现远程数据采集的步骤如下:
第一步,配置RDA 服务器。RDA 服务器需要安装N I-DAQ6. 0 (或更高版本)以及DAQ设备,设置服务器的IP地址,例如192. 168. 0. 1,其子网掩码为255.255. 255. 0。然后启动服务器上的RemoteDevice Access Server即可。若有必要,可以在DAQ设备的属性对话框中设置RDA访问密码。
第二步,设置客户机。RDA客户端应安装与服务器相同版本的N I-DAQ,否则DAQ设备会无法连接。设置客户机的IP地址,例如192. 168. 0. 2,其子网掩码为255. 255.255. 0。RDA客户机的设置比较复杂,通常按照下列步骤进行:
在客户机的MAX (Measurement &Automation Exp lorer) 左侧目录树中的De-vices and Interfaces项的右键弹出菜单中选择“Create New.。 . ”,在Create New窗口选择RDA /Ethernet Device。
至此,就完成了客户机上RDA设备的添加,客户机的MAX左侧目录树中会出现这个RDA设备。从此以后,用户可以像在本地一样操作该设备。在客户机上直接编写DAQ软件,实现远程数据采集。 LabVIEW提供了一系列用于实现网络数据传输的TCP节点(功能函数)。编写服务器端软件,控制DAQ设备完成数据采集,然后利用TCP节点编程将数据发布到网络上。在客户端软件中利用TCP节点接收这些数据即可实现远程数据采集。双机通信的流程如图3所示。该方法实际上是通过编程实现测试数据的传输。
服务器端软件的框图程序如图4所示,客户机端软件的前面板及框图程序如图5所示。
DataSocket是NI公司推出的一项基于TCP/IP标准的面向测量和自动化工程的网上实时高速数据交换的新技术,可用于一个计算机内或者网络中多个应用程序之间实时数据的共享和发布。DataSocket利用dstp(DataSocket Transfer Protocol)协议、通用资源定位符URL进行网络通信。DataSocket摒除了较为复杂的TCP/IP底层编程,克服了传输速率较慢的缺点,大大简化甚至免除了Internet编程。
LabVIEW6i以上的LabVIEW版本中,所有控件都增加了一个叫做DataSocket Connection的特殊属性,利用这个属性,可以实现不同计算机上相对应的两个甚至多个同类别控件之间的DataSocket通信。
在控件的DataSocket Connection属性的配置对话框中可以设置该控件的DataSocket URL地址,地址的格式如下:dstp://servername/dataname,例如:dstp://lht/wave。如果为两台计算机中的两个类型相同的LabVIEW控件设置相同的DataSocket ConnectionURL地址(例如都是dstp://lht/wave),并且其连接类型(Connection Type)都设为Publish and Subscribe,这两个控件就由DataSocket连接起来,这两个控件的值会完全保持同步,其中一个控件发生了变化,另一个控件也会同步发生同样的变化。
利用DataSocket的这种特性,就可实现远程数据采集:利用服务器端软件控制DAQ设备完成数据采集,将测试数据放到一个数组控件中,在客户机端软件中利用同样的数组控件通过DataSocket Server接收这些数据,然后通过进一步的编程对这些数据进行相关处理。这种方法实际上就是利用DataSocket的数据共享获得服务器端的数据。
与方法三相比,方法四不需要专门编写用于发送和接收数据的程序,但是需要在服务器和客户机上额外安装一个DataSocket Server软件。 使用Remote Panels、RDA、TCP和DataSocket等4种技术都可实现远程数据采集,它们各有特点,表1对这4种技术进行了比较。
Remote Panels技术通过共享软件界面的方式使用户通过IE浏览器直接操作服务器上的DAQ软件,适用于在客户机上进行现场监控。RDA技术通过共享硬件的方式使用户直接控制网络上的远端DAQ设备成为可能。TCP技术通过编程实现数据发布和传输,编程稍为复杂,但灵活。DataSocket技术通过数据共享的方式传送测控参数,是一种简单易用的数据传输方法,其最大的特点是高速的实时数据的发布。上述4种技术各有优缺点,用户可以根据它们各自的特点,灵活使用这些技术构建功能强大的远程虚拟仪器。