LabVIEW中远程数据采集的实现
(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。
中打开并操作它。也可以开发与服务器端的数据采集应用程序进行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
填人远程计算机名或lP地址,客户端就能调用服务器端硬盘中(或内存中,只需要稍加修改)的DAQ.Vi数据采集程序。
利用Vl Server实现远程数据采集的程序如图5所示。
图5 Vl Server客户端前面板殛框图程序
2.4
LabVIEW远程数据采 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)