微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > LabVIEW中远程数据采集的实现

LabVIEW中远程数据采集的实现

时间:01-05 来源:互联网 点击:
1. 基于B/S和C/S模式的网络通信技术

(1)TCP与UDP

TCP与UDP为传输层协议,当需要保证数据传输的完整性与可靠性时,TCP为当然的选择;UDP则适合于大量的连接和高速度传输。。LabVlEW 中对这两种协议的编程进行了高度集成,将Winsock DLL封起来,形成TCP与UDP图形化编程节点与VI。

(2)DataSocker

DataSocket是NI提供的一种编程工具,借助它可以在不同的应用程序和数据源之间传递数据。。DataSocket可以访问本地文件以及HTTP和FTP服务器上的数据。DataSocket为低层通讯协议提供了一致的API,编程者无需为不同的数据格式和通信协议编写具体的程序代码,而且这些数据源可以分布在不同的计算机上。使用一种增强数据类型来交换仪器类型的数据,这种数据类型包含数据特性和实际测试数据。用类似于Web中的统一资源定位器(URL)定位数据源,URL不同的前缀表示了不同的数据类型。

(3)VI Server

VI Server是LabVlEW 独有的一项技术。利用VI Server技术用户可以编程动态控制位于本地或远程计算机上的LabVlEW Vls,但不能在本地打开位于远程计算机上的VI前面板。

使用VI Server,首先需要对VI Server进行设置,设置内容有三项:Configuration、TCP/IP Access、Exported VIs;接着利用LabVlEW 定义好的Application类和VI类的属性和方法进行编程来控制应用程序和VI。

(4)Remote Panels
LabVlEW 提供的Web Server,可构建两种网络通信方法:一种是将已被载人服务器内存的VI前面板图像嵌入网页;另一种方法是利用Remote Panels技术,实现用户可直接在本地计算机上打开并操作位于远程计算机上VI的前面板,甚至在网页
中打开并操作它。也可以开发与服务器端的数据采集应用程序进行TCP/UDP/DSTP通信的ActiveX控件,并将其嵌入网页,用Web服务器提供Web服务,客户端通过下载的ActiveX控件与服务器端的数据采集程序通信。

2. 远程数据采集实现

基于NI PCI-6221的简单采集VI如图1所示,采集数据为一个带噪声的方波电压波形信号。

图1(a)前面板

图1(b)框图程序

图1 DAQ.vi前面板和框图程序

下文基于LabVIEW 的上述四种通信方式分别以此DAQ.vi做为子程序,将电压信号进行网络通信,从而实现远程数据采集。

2.1 基于TCP/IP通信的数据采集

图2 TCP远程采集服务器端前面板及框图程序

图3 TCP远程采集客户端前面板及框图程序

利用TCP进行双机通信实现远程数据采集如图2和图3所示。运行这两个程序,若首先运行服务器端VI,高亮运行可以观察到VI不进入循环,直到运行客户端VI时,服务器端VI才采集数据,同时服务器端和客户端显示数据。两台PC显示器上的波形图数据一致,表明远程数据采集成功。关闭时若先关闭客户端,服务器端继续采集;若关闭服务器,则客户端停止数据显示。

2.2 基于DataSocket技术的数据采集

DataSocket通信的三要素为:Publisher、DataSocket Server和Subscriber。Publisher将数据写到DataSocket中,而Subscriber读出数据。

利用DataSocket分别编写服务器端和客户端软件,可以实现客户端与服务器端运行状态完全相同,即客户端不仅可以显示服务器前面板上的数据和控件状态,而且可以控制服务器端面板上的控件动作,因此也是一种实现网络测控的方法。

创建客户端程序,只需将服务器端前面板的所有控件复制到一个新的VI中,即客户端前面板与服务器端前面板完全相同。由于DataSocket只能传递控件对应变量的值,而不能传递控件的属性,因此客户端需要对控件值的变化而引起的控件属
性的变化进行编程。利用DataSocket通信实现远程数据采集的程序如图4所示。

运行时,客户端和服务器端都打开DataSocket Server。首先运行服务器VI,服务器端开始采集数据并显示,若再运行客户端VI,此VI获得服务器端数据,从自身运行时开始与服务器端几乎同步显示。若先关闭客户端,服务器端继续采集数据。

a)服务器端框图程序

b) 客户端框图程序

图4 DataSocket服务端和客户端框图程序

2.3 基于VI Server的数据采集

服务器端安装并运行LabVIEW,VI Server的设置为:1)VI服务器:配置对话框中的TCP/IP项确保选中;2)VI 服务器:机器访问对话框中若没有设置所有计算机(用“*”表示)有访问权,须添加指定客户机的名称;3)VI 服务器:导出VI对话框若没有设置所有VI,须添加特定的VI名称。

填人远程计算机名或lP地址,客户端就能调用服务器端硬盘中(或内存中,只需要稍加修改)的DAQ.Vi数据采集程序。

利用Vl Server实现远程数据采集的程序如图5所示。

图5 Vl Server客户端前面板殛框图程序

2.4 Remote Panels
LabVlEW 的远程面板技术使得客户机可以在LabVlEW 环境中操作远程面板,亦可用浏览器在网页中操作远程面板。LabVlEW 默认的远程面板客户端数目是一个,要让更多的客户同时使用远程面板功能,需要向Nl公司购买授权。当有多个客户端授权时,服务器端需要使用“远程面板连接管理器”工具来监控客户端的连接。
实现远程面板的简单步骤是:① 配置LabVlEW 的Web Server;② 在服务器端计算机中打开DAQ.vi前面板;③在客户端LabVIEW 中选择"操作->连接远程前面板...”在弹出的对话框中设置服务器端计算机的IP地址、域名或计算机名;单击“Connect”,即可。
通过网页浏览器在网页中操作Remote Panels,只需在网页浏览器的地址栏中输入http://PcName:Port/ViName.htm(局域网)或http://IpAddr:Port/ViName.htm(Internet),本例:http://192.168.1.111/DAQ.htm。

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

网站地图

Top