LabVIEW在两台计算机之间传输数据

简介: LabVIEW在两台计算机之间传输数据

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开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。


相关文章
|
Java 数据库
若依框架---模板生成
若依框架---模板生成
426 0
|
新零售 Java C++
java脚本引擎的设计原理浅析
本人在阿里巴巴长期担任和负责规则引擎、流程引擎相关的技术开发,另外还负责开发和维护开源项目:https://github.com/alibaba/QLExpress QLExpress是一个脚本引擎工具,类似Groovy,JRuby等,是为了解决当时电商规则动态编译、表达式高精度计算、复杂布尔运算、自定义函数和操作符号、语法树生成等需求而设计的。
16960 0
|
数据安全/隐私保护 Windows
LabVIEW项目中使用库
LabVIEW项目中使用库
392 1
|
API Windows
LabVIEW使用共享变量在两台计算机之间进行通信
LabVIEW使用共享变量在两台计算机之间进行通信
515 0
|
UED
产品经理-用户体验五要素 - AxureMost
《用户体验五要素》介绍了构建成功用户体验设计的五个层面:战略层、范围层、结构层、框架层和表现层。战略层明确产品目标与用户需求;范围层定义功能和内容需求;结构层规划交互与信息架构;框架层设计界面、导航和信息布局;表现层则通过视觉设计创造感知体验。每一层都依赖于其下一层,形成自下而上的连锁效应,确保各要素相互作用,共同实现用户体验目标。
1319 13
|
网络协议 开发者 Python
Socket如何实现客户端和服务器间的通信
通过上述示例,展示了如何使用Python的Socket模块实现基本的客户端和服务器间的通信。Socket提供了一种简单且强大的方式来建立和管理网络连接,适用于各种网络编程应用。理解和掌握Socket编程,可以帮助开发者构建高效、稳定的网络应用程序。
624 10
|
存储
LabVIEW使用VI Package Manager(VIPM)下载和管理附加组件
LabVIEW使用VI Package Manager(VIPM)下载和管理附加组件
1181 1
|
存储 Java C++
JVM 运行时数据区
Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存区域划分为若干个不同的数据区域。这 些区域都有各自的用途,以及创建和销毁的时间,有些区域随着虚拟机进程的启动而存在,有些区 域则是依赖线程的启动和结束而建立和销毁。Java 虚拟机所管理的内存被划分为如下几个区域 程序计数器(Program Counter Register):当前线程所执行的字节码的行号指示器,字节码解 析器的工作是通过改变这个计数器的值,来选取下一条需要执行的字节码指令,分支、循环、跳 转、异常处理、线程恢复等基础功能,都需要依赖这个计数器来完成; 为什么要线程计数器?因为线程是不具备记忆功能 Java 虚拟机
|
安全 物联网
物联网卡不能更换设备使用吗
物联网卡(IoT SIM卡)是否允许更换设备使用,这主要取决于物联网服务提供商的具体政策和服务条款。通常,物联网卡是为特定设备或应用场景设计的,因此一些服务提供商会限制卡的更换使用,主要是出于安全、管理、网络优化和避免滥用等考虑
|
监控 测试技术 持续交付
设计通用灵活的LabVIEW自动测试系统
设计通用灵活的LabVIEW自动测试系统
456 0