由于项目需要实现labview通过UDP通信收发十六进制数据(非十六进制数据的字符串),通过研究学习labview有关例程现将学习心得做些整理。
1、UDP通信
labview中 “数据通信” 类别中的 “协议” 中支持多种通信方式,以前常用TCP和串口,理论上UDP结构与TCP差别不大,labview中的UDP只有“打开”、“发送”、“接收”、“关闭”几个块,用法大致与TCP相同,但连接时程序框图相对简单。
labview的UDP不分服务器或客户端,仅绑定好端口即可进行收发。发送方先绑定一个端口号(任意)然后打开UDP连接,生成连接ID:
后面连接“发送”块,此时发送块需要指定接收方的IP和远程端口号即可进行数据发送,若发送方还需要接收则后接“接收”块即可。
对于数据接收方,也需要先“打开”指定端口号的UDP,注意,此处指定的端口号要与发送方发送块程序中指定的远程端口号相同,后面连接“接收”即可接收数据,同时“接收”块会返回发送方的IP及端口,可用来区别多个发送方数据,若接收方需要发送配置与发送方类似即可。
由此可见,labview中的UDP通信的双方没有明显的服务器或客户端区分,若双方都采用双向通信则程序结构相同,仅本地端口号和远程端口号交叉相同