LabVIEW中用于串行通信的节点实际上是VISA节点,为了方便用户使用LabVIEW将这些VISA节点单独组成一个子选板,包括8个节点,分别实现配置串口、串口写入、出口读取、关闭串口、检测串口缓冲区和设置串口缓冲区等。10表示停止位为1位,15表示停止位为1.5位,20表示停止位为2位。图11-11 VISA清空I/O缓冲区的节点图标及端口定义屏蔽:指明要清空的缓冲区。......
2023-11-26
UDP用于执行计算机各进程间简单、低层的通信。将数据报发送到目的计算机或端口即完成了进程间的通信。端口是发送数据的出入口。IP用于处理计算机到计算机的数据传输。当数据报到达目的计算机后,UDP将数据报移动到其目的端口。如果目的端口未打开,UDP将放弃该数据报。
对传输可靠性要求不高的程序可使用UDP。例如,程序可能十分频繁地传输有信息价值数据,以至于遗失少量数据段也不成问题。
UDP不是基于连接的协议,如TCP,因此无须在发送或接收数据前先建立与目的地址的连接。但是,需要在发送每个数据报前指定数据的目的地址。操作系统不报告传输错误。
UDP函数在函数选板>>“数据通信”>>“协议”>>“UDP”子选板中,如图11-68所示。
图11-68 UDP子选板
使用打开UDP函数,在端口上打开一个UDP套接字。可同时打开的UDP端口数量取决于操作系统。“打开UDP”函数用于返回唯一指定UDP套接字的网络连接句柄。该连接句柄可在以后的VI调用中引用这个套接字。
写入UDP函数用于将数据发送到一个目的地址,读取UDP函数用于读取该数据。每个写操作需要一个目的地址和端口。每个读操作包含一个源地址和端口。UDP会保留为发送命令而指定的数据报的字节数。
理论上,数据报可以任意大小。然而,鉴于UDP可靠性不如TCP,通常不会通过UDP发送大型数据报。
当端口上所有的通信完毕,可使用关闭UDP函数以释放系统资源。
例11-6:UDP通信实例。
该例子使用UDP实现双机通信。图11-69和图11-70所示是实现UDP通信发送端的前面板和程序框图。图11-71和图11-72所示是实现UDP通信接收端的前面板和程序框图。(www.chuimin.cn)
UDP函数通过广播与单个客户端(单点传送)或子网上的所有计算机进行通信。如需与多个特定的计算机通信,则必须配置UDP函数,使其在一组客户端之间循环。LabVIEW向每个客户端发送一份数据,同时需维护一组对接受数据感兴趣的客户端,这样便造成了双倍的网络报文量。
多点传送用于网上单个发送方与多个客户端之间的通信,无须发送方维护一组客户端或向每个客户端发送多份数据。如要从一个多点传送的发送方接收数据广播,所有的客户端需要加入一个多点传送组。但发送方无须为发送数据而加入这个组。发送方指定一个已定义多点传送组的多点传送IP地址。多点传送IP地址的范围是224.0.0.0到239.255.255.255。若客户机想要加入一个多点传送组,它便接受了该组的多点传送IP地址。一旦接受多点传送组的传送地址,客户端便会收到发送至该多电传送IP地址的数据。
图11-69 UDP发送端前面板
图11-70 UDP发送端程序框图
图11-71 UDP接收端前面板
图11-72 UDP接收端程序框图
有关LabVIEW 2012中文版虚拟仪器从入门到精通的文章
LabVIEW中用于串行通信的节点实际上是VISA节点,为了方便用户使用LabVIEW将这些VISA节点单独组成一个子选板,包括8个节点,分别实现配置串口、串口写入、出口读取、关闭串口、检测串口缓冲区和设置串口缓冲区等。10表示停止位为1位,15表示停止位为1.5位,20表示停止位为2位。图11-11 VISA清空I/O缓冲区的节点图标及端口定义屏蔽:指明要清空的缓冲区。......
2023-11-26
例11-3:DataSocket应用实例一。图11-33 DataSocket客户机VI前面板注意在利用上述两个VI进行DataSocket通信之前,必须首先运行DataSocket Server。但是现在的LabVIEW版本中提供了另外一种更加简单的方法来完成DataSocket通信。这样不需要编程,这个前面板对象就可以直接进行DataSocket通信了。当小方框为灰色时,表示该对象没有连接到DataSocket Server上,当小方框为绿色时,表示该对象已经连接到DataSocket Server上。将波形图控件的绑定为DataSocket通信节点后,可以看出框图程序非常简单。......
2023-11-26
同步组将在程序执行完毕前始终保持活动状态。如要向一个同步组添加一个已属于另一同步组的定时结构,LabVIEW将把该定时结构从前一个组中移除,添加到新组。中止定时结构的执行,使用定时结构停止VI可通过程序中止定时结构的执行。将字符串常量或控件中的结构名称连接至定时结构停止VI的名称输入端,指定需要中止的定时结构的名称。例如,以下程序框图中,低定时循环含有定时结构停止VI。......
2023-11-26
在图7-34的右图中,程序先让两组的输入输出在For循环的边框通道上形成数组,然后打包,用一个二维数组送到XY图中显示,这种方法比较直观。要求使用XY图绘制出两者随次数增加的变化曲线。图7-40 例7-2的程序框图图7-41 例7-2的前面板显示图7-42 例7-2错误的程序框图图7-43 例7-2错误的前面板显示对于前面板中的两个曲线的显示,可以在XY图的属性中自行设置,如图7-44所示。图7-44 XY图的图形属性......
2023-11-26
图4-14 移动的对象位置4.改变对象的大小几乎每一个LabVIEW对象都有8个尺寸控制点,当对象操作工具位于对象上时,这8个尺寸控制点会显示出来,用对象操作工具拖动某个尺寸控制点,可以改变对象在该位置的尺寸,如图4-15所示。“取消锁定”的功能是解除对象的锁定状态。当用户已经编辑好一个VI的前面板时,建议用户利用“组合”或者“锁定”功能将前面板中的对象组合并锁定,防止由于误操作而改变了前面板对象的布局。......
2023-11-26
如需将文本字符串写入文本文件,可用写入文本文件函数自动打开和关闭文件。例8-1:文本文件的写入。文本文件的读取由读取文本文件VI来完成,本实例演示读取文本文件VI的使用方法。程序中,读取文本文件VI有两个重要的输入数据端口,分别是文件和计数。在实例中,读取文本文件VI读取D盘根目录下的data文件,该文件中的数据由实例8-1的程序存入,并将读取的结果在文本框中显示出来。......
2023-11-26
如果将字符串转换为数值,LabVIEW仅可以转换用于表示数值的字符串,而仍将其其余值保存为字符串。同样由于浮点算术运算可能存在四舍五入误差,因此浮点数不能作为选择器标签的值,若将一个浮点数连接到条件分支,LabVIEW将对其进行舍入到最近的偶数值。图5-26 求平方根的程序框图分支1图5-27 求平方根的程序框图分支2图5-28 显示错误LabVIEW的条件结构与其他语言的条件结构相比,简单明了,结构简单,不但相当于Switch语句,还可以实现if…......
2023-11-26
波形图用于将测量值显示为一条或多条曲线。如图7-2所示,使用波形图显示40个随机数的情况。图7-3 波形图的使用图7-4 波形图的使用波形图显示的每条波形,其数据都必须是一个一维数组,这是波形图的特点,所以要显示n条波形就必须有n组数据。本题的做法是同上一例类似,将形成的二维数组进行打包,然后送入波形。......
2023-11-26
相关推荐