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种技术进行了比较。