利用五个字符串输入框,填写MODBUS的站号、功能码、寄存器地址、读取数量和校验码,通过16进制数字符串转数值,然后拼接程一个字节数组,再将字节数组转换为字符串然后给VISA写入的写入缓冲区,接收串口数据是先通过属性节点(Bytes at Port)获取当前串口可用的字节数,给VISA读取的字节总数,得到VISA读取的读取缓冲区,通过字符串至字节数组转换转换为字节数组,然后选择数组中需要解析的数组元素,通过数值至十六进制字符串转换得到两个十六进制字符串,通过连接字符串将两个十六进制字符串连接为一个字符串,通过十六进制数字符串至数值转换得到需要读取的值,MODBUS中注意检验位的高低顺序,是地位在前,高位在后,同时一个值是用两个字节组成的,所以有前面的字符串连接工作。
一个Labview程序可以同时使用若干个串口的VISA,下图是三个串口VISA,可以同时采集三个串口的数据,这里使用的是电脑虚拟的串口和虚拟的MODBUS服务器,
下面是三个电脑虚拟的MODBUS服务器
下面是用虚拟串口软件创建的三组虚拟串口
可以通过串口调试软件来获取传感器返回的报文,用于编写报文解析的程序
模拟一个RS485串口连接多个MODBUS通信协议的仪器,
在while循环结构的第一个顺序结构里
在while循环结构的第二个顺序结构里
前面板
模拟从站1和从站2