labview实现远程控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在LABVIEW中实现网络通信的几种方法

1 引言

随着计算机技术、大规模集成电路、通信技术等的飞速发展,仪器系统与计算机软件技术紧密结合,使得传统仪器的概念得以突破,出现了一种全新的仪器概念——虚拟仪器。1986年,美国国家仪器(national instruments, 简称NI)公司研发推出了图形化编程环境的开发平台——LabVIEW软件,随即就广泛地被工业界、学术界和研究实验室认可并接受,被公认为标准的数据采集和仪器控制软件,成为目前实现虚拟仪器软件设计最流行的工具之一。

同时随着网络的迅速发展,通过将网络技术和虚拟仪器相结合,构成网络化虚拟仪器系统,是自动测试仪器系统的发展方向之一。所以通过网络进行数据共享是各种软件的发展趋势,而LabVIEW软件平台正是适应了这一发展趋势,它具有强大的网络通信功能,使用LabVIEW实现网络通信有4大类方法:(1)使用网络通信协议编程实现网络通信,可以使用的通信协议类型包括TCP/IP协议、UDP、串口通信协议、无线网络协议等;(2)使用基于TCP/IP的数据传输协议DSTP的DataSocket技术实现网络通信;(3)使用共享变量实现网络通信;(4)通过远程访问来实现网络通信。

本文对以上各种实现方法进行探讨,最后简单地分析了各种方法的优缺点及应用场合。

2 网络协议通信

2.1 TCP通信技术

网络通信协议是网络中传递、管理信息的一些规范,是计算机之间相互通信需要共同遵守的一些规则[1]。网络通信协议通常被分为多个层次,每一层完成一定的功能,通信在对应的层次之间进行。LabVIEW 中支持的通信协议类型包括TCP/IP、UDP、串口通信协议、无线网络协议和邮件传输协议。TCP/IP协议体系是目前最成功, 使用最频繁的Internet协议,有着良好的实用性和开放性。它定义了网络层的网际互连协议IP,传输层的传输控制协议TCP、用户数据协议UDP等。

LabVIEW中为网络通讯提供了基于TCP/UDP的通讯函数供用户调用。这样用户可直接调用TCP模块中已发布的TCP VI及相关的子VI来完成流程的编写,而无需过多考虑网络的底层实现。在设计上采用C/S (客户端/服务器)通信模式,VI程序分为两部分:处理主机工作在Server模式,完成数据接收,并提供数据的相关处理;数据点计算机工作于Client模式,实现数据传送[5]。TCP传输数据过程如下:首先由发送端发送连接请求,接收端侦听到请求后回复并建立连接,然后开始传输,数据传输完成后关闭连接,传输过程结束。

2.2 利用TCP协议通信实例

以下通过C/S(客户端/服务器)通信模式实现的数据传输模式。

在服务器端,用“TCP Create Listener”节点创建侦听,“TCP Wait on Listener”节点等待客户机连接,通过循环产生100个正弦信号数据,用两个“TCP Write”节点来发送数据,第一个节点用来发送波

形数据的长度,第二个节点发送波形数据,最后,用“TCP Close Connection”节点结束连接。程序框图如图1所示:

图1 TCP服务器端程序框图

在客户端,用“TCP Open Connection”节点打开TCP连接,用两个“TCP Read”节点读取数据,第一个节点接收波形长度作为第二个节点的输入,第二个节点接收波形数据,最后,用“TCP Close Connection”节点结束连接。程序框图如图2所示:

图2 TCP客户端程序框图

运行程序,结果如下图3、4:

图3 服务器端显示结果

图4 客户端显示结果

3 DataSocket技术通信

3.1 DataSocket技术

DataSocket技术是一种面向测控领域的网上实时数据交换编程技术[9],DataSocket技术基于Microsoft的COM和ActiveX技术,对TCP/IP协议进行高度封装,它包括了DataSocket Server Manager、DataSocket Server和DataSocket API这几个工具软件,以及DSTP (DataSocket Transfer Protocol)协议、通用资源定位符URL (Uniform. Resource Locator)和文件格式等技术规范。它能大大简化Internet网上计算机之间测控数据交换的编程工作。同时,DataSocket也可用于一台计算机内或局域网中多个应用程序之间的数据交换。

DataSocket Server Manager是一个独立运行的应用程序,它的主要功能是设置DataSocket Server可连接的客户端程序的最大数目和可创建的数据项的最大数目,设置用户和用户组,设置用户可创建数据项和读写数据项的权限,未经授权的用户不能在DataSocket Server上创建或读写数据项,数据项实际上是

DataSocket Server中的数据文件。DataSocket Server也是一个独立运行的应用程序,它能为用户解决大部分网络通信方面的问题,它负责监管Manager中所设定的各种权限的用户组和客户端程序之间的数据交换,自动处理底层的网络连接及客户程序之间的数据交换,使网络连接对客户端保持透明。DataSocket Server与测控应用程序可安装在同一台计算机上,也可以分装在不同计算机上,后一种方法可增加整个系统的安全性,因为两台计算机之间可用防火墙加以隔离,而且,DataSocket Server程序不会占用测控计算机CPU的工作时间,从而使测控应用程序可以运行得更快。

DataSocket API 包含有Open 、Read、Write和Close等函数,其中的Read和Write函数又分为单个或数组形式的字符串型、布尔型、数值型和波形等多种类型。DataSocket技术可在C语言、VB和LabVIEW 等多种开发环境中应用,因此,这些函数有不同的形式,它们在C语言中是函数,在VB中是ActiveX控件,而在LabVIEW中则是功能模块,DataSocket的ActiveX控件还可以应用在VC、EXCEL、网页和其他支持ActiveX 技术的环境中。

3.2 利用DataSocket技术通信实例

以下通过DataSocket C/S模式实现数据的远程传输。

在服务器端对DataSocket Server Manager进行设置,也可采用默认值。然后运行应用程序DataSocket Server,打开DataSocket Server。和上例一样通过循环产生100个正弦信号数据,利用DataSocket Write 节点将数据发送到dstp格式指定的连接中。程序框图如图5所示:

图5 DataSocket服务器端程序框图

在客户端,使用DataSocket Read节点将数据从指定的地址读取数据,并显示波形。程序框图如图6所示:

相关文档
最新文档