新闻中心

EEPW首页 > 测试测量 > 设计应用 > LabVIEW中远程数据采集的实现

LabVIEW中远程数据采集的实现

作者:时间:2017-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所示,采集数据为一个带噪声的方波电压波形信号。

本文引用地址:http://www.eepw.com.cn/article/201701/336575.htm
图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所示。
上一页 1 2 下一页

评论


技术专区

关闭