欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科技知识

labview实现网络通信方法与实例

科普小知识2022-04-12 23:09:03
...

点击学习>>《龙哥手把手教你学LabVIEW视觉设计》视频教程网络通信介绍:

网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。通信是人与人之间通过某种媒体进行的信息交流与传递。网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信。

网络通信中最重要的就是网络通信协议。当今网络协议有很多,局域网中最常用的有三个网络协议:MICROSOFT的NETBEUI、NOVELL的IPX/SPX和TCP/IP协议。应根据需要来选择合适的网络协议。

网络通信的工作原理:

TCP/IP协议的数据传输过程: TCP/IP协议所采用的通信方式是分组交换方式。所谓分组交换,简单说就是数据 在传输时分成若干段,每个数据段称为一个数据包,TCP/IP协议的基本传输单位是数 据包,TCP/IP协议主要包括两个主要的协议,即TCP协议和IP协议,这两个协议可以 联合使用,也可以与其他协议联合使用,它们在数据传输过程中主要完成以下功能:

1)首先由TCP协议把数据分成若干数据包,给每个数据包写上序号,以便接收端 把数据还原成原来的格式。

2)IP协议给每个数据包写上发送主机和接收主机的地址,一旦写上的源地址和目 的地址,数据包就可以在物理网上传送数据了。IP协议还具有利用路由算法进行路 由选择的功能。

3)这些数据包可以通过不同的传输途径(路由)进行传输,由于路径不同,加上其 它的原因,可能出现顺序颠倒、数据丢失、数据失真甚至重复的现象。这些问题都 由TCP协议来处理,它具有检查和处理错误的功能, 必要时还可以请求发送端重发。 简言之,IP协议负责数据的传输,而TCP协议负责数据的可靠传

labview实现网络通信

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 利用TCP协议通信实例

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

在服务器端,用“TCP Create Listener”节点创建侦听,“TCP Wait on Listener”节点等待客户机连接,通过循环产生100个正弦信号数据,用两个“TCP Write”节点来发送数据,第一个节点用来发送波形数据的长度,第二个节点发送波形数据,最后,用“TCP Close Connection”节点结束连接。程序框图如图1所示:

labview实现网络通信方法与实例

图1 TCP服务器端程序框图

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

labview实现网络通信方法与实例

图2 TCP客户端程序框图

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

labview实现网络通信方法与实例

图3 服务器端显示结果

labview实现网络通信方法与实例

图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所示:

labview实现网络通信方法与实例

图5 DataSocket服务器端程序框图

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

labview实现网络通信方法与实例

图6 DataSocket客户端程序框图

运行程序,结果和图3、4结果类似,波形相同,只是连接输入格式不一样。

4 共享变量通信

4.1 共享变量

共享变量是继DataSocket技术之后LabView为简化网络编程迈出的又一大步。通过共享变量,用户无需编程就可以在不同计算机之间方便的实现数据的共享。用户无需了解任何的底层复杂的网络通信,就能轻松地实现数据交换。用户建立和使用共享变量就如同操作全局变量一样方便。

4.2 利用共享变量通信实例

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

由于共享变量只能存在于工程项目中,建立一个共享变量之前先得建立一个工程,然后在工程目录下选择New︱Variable选项,然后根据提示一步一步即可完成设置,但需要注意的是要实现网络通信变量类型必须选择为“Network-Published”。这里在服务器中创建一个名为Server_Variable的共享变量,同样在客户端建立一个名为Client_Variable的变量,两变量其数据和变量类型一致,都为一维数组双精度和网络发布类型。在客户端其程序框图如图7所示:

labview实现网络通信方法与实例

图7 共享变量服务器端程序框图

在客户端只需把共享变量Client_Variable的Bind to Source设置为服务器中的Server_Variable即可,将其拖入程序框图。建立的程序框图如图8所示:

labview实现网络通信方法与实例

图8 共享变量客户端程序框图

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

5 远程访问

5.1 远程访问技术

在LabVIEW中,实现远程访问的方式有两种:远程面板控制和客户端浏览器访问,且在实施这两种访问之前都需要对服务器进行配置。

配置服务器包括3部分:服务器目录与日志配置、客户端可见VI配置和客户端访问权限配置。在LabVIEW中选择 “工具→选项”即可打开参数配置框,左侧分别可见“Web服务器:配置”、“Web服务器:浏览器访问”。其中“Web服务器:配置”是用来配置服务器目录和日志属性、“Web服务器:可见VI”用来配置服务器根目录下可见的VI程序,也即对客户端可操作的VI程序。“Web服务器:浏览器访问”用来设置客户端的访问权限。完成服务器配置以后,即可以选择远程控制面板或浏览器方式访问服务器、对服务器进行交互远程操作等。

5.2 利用浏览器访问通信实例

通过客户端浏览器访问时,首先需要在服务器端发布网页,然后才能从客户端访问,以实现远程通信。

在服务器端发布网页。在LabVIEW中选择“工具→Web发布工具。。。”打开“Web发布工具栏”,分别对其设置,最后确定即可,如图9所示:

labview实现网络通信方法与实例

图9 Web发布工具

在客户端通过网页浏览器访问服务器访问的页面。这样通过Web页面的发布就可实现网络的通信,且用户可与发布的前面板进行交互式操作,使用户可以通过Internet操作仪器设备。