LabVIEW在两台计算机之间传输数据
有几种网络协议可用于完成此任务。使用正确的网络协议白皮书将完成为应用选择正确协议的任务。它涵盖了控制和监视应用中最常用的通信模型,并根据配置、性能、易用性等推荐最适合每种情况的网络协议。
参考的白皮书重点介绍了三种通信模型:
基于命令或消息的通信:由特定事件触发的不频繁信息传输。
过程数据通信:定期传输过程变量的最新值。
流/缓冲通信:流数据,大量信息连续发送,但不一定是实时的。
在下面您可以访问有关将任何这些协议与LabVIEW配合使用的详细信息:
TCP和UDP:LabVIEW中的基本TCP/IP通信。
网络发布的共享变量:使用网络发布的共享变量在系统之间进行通信
网络流:与网络流的无损通信:组件、体系结构和性能
Web服务:创建和访问LabVIEWWeb服务。
VI服务器:
网际协议(IP)、用户数据报协议(UDP)和传输控制协议(TCP)是网络通信的基本工具。TCP/IP这一名称来自于两个最著名的互联网协议集——传输控制协议和网际协议。通过TCP/IP可实现单个网络内部或互联网(因特网)间的通信。
TCP/IP通信提供简单的用户界面,在降低复杂度的同时确保了网络通信的可靠性。关于TCP/IP通信工作原理的更多信息,请参考下文链接的“LabVIEW在TCP/IP和UDP中的应用”。
使用函数»数据通信»协议»TCP选板上的TCP/IP函数,在LabVIEW中实现TCP通信。与DAQ、仪器和文件I/O通信一样,该过程涉及打开连接、读取和写入信息,最后关闭连接。
对于大多数I/O通信,处理器总是发起与磁盘驱动服务器、外部仪器服务器或DAQ板卡服务器的连接的客户端。通过TCP/IP连接,计算机可作为客户端或服务器。以下程序框图中的客户端应用程序通过“TCP打开连接”发起与远程服务器的连接。服务器(又称伺服机)侦听远程连接并进行适当响应。
LabVIEW用户可开发用于TCP/IP通信的自定义应用程序。程序员同时负责开发客户端和服务器。关于通过LabVIEW创建TCP客户端的更多信息,请参考下文链接的“LabVIEW在TCP/IP和UDP中的应用”。
因为任何人都可发起与服务器的连接,所以您可能需要服务器访问控制。以下程序框图显示服务器如何使用“TCP侦听”VI的远程地址输出值来确定远程客户端是否具有访问服务器的权限。
开发通信应用
多数应用程序不只是写入和读取单个值。通信是一个涉及协议的持续过程。例如,假设客户端将以下4条命令以8位整数的形式发送至服务器:
1 =获取数据并确认
2 =发送数据
3 =获得状态
4 =关闭连接
在以下程序框图中,While循环包裹住了VI的其余部分。如此一来,VI就可处理多个顺序连接,而不必在每个连接关闭后重新启动。VI无法处理多个同步连接。外部的条件结构判断是否发生了有效连接。若无,则不作反应。若发生有效连接,VI将进入While循环,从TCP/IP端口读取一个字节。该字节包含来自客户端的命令1~4。若在读取超时时间内未收到命令,则内部条件结构的默认分支会向内部While循环的继续接线端发送TRUE值,以保持连接处于活动状态。
以下程序框图显示了内部条件语句的其他4个分支。每个分支处理一种服务器发送的特定命令。每个分支都向继续接线端发送信息,决定是否继续循环。需要注意的是,“退出”分支总是返回FALSE值。离开循环后,服务器关闭与客户端的连接。
这种类型的服务器架构可助您开发灵活的服务器,用于更加复杂的网络通信过程。您开发的协议可能比前文中的范例更加复杂。
需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。