请教一下,6个modbus RTU通讯的站地址一致,寄存器地址连续,那可以用1个查询指令代替6个查询指令吗?
有一个触摸屏,和一个电路板进行485通讯,用串口调试助手读取数据,发现通讯格式是modbus RTU。
屏发送查询指令01 03 00 07 00 06 74 09,电路板返回数据01 03 0C 00 A0 B3 33 00 00 00 00 01 07 01 08 96 F0;
屏发送01 03 00 0E 00 06 A4 0B ,电路板返回01 03 0C 01 07 80 00 00 00 00 00 01 04 01 07 73 40 ;
屏发送01 03 00 15 00 06 D4 0C ,电路板返回01 03 0C 06 0B 33 30 00 00 00 00 01 00 01 00 1A C1 ;
屏发送01 03 00 1C 00 06 04 0E ,电路板返回01 03 0C 04 CF 80 00 00 00 00 00 00 FF 01 07 D9 22 ;
屏发送01 03 00 23 00 06 34 02 ,电路板返回01 03 0C 01 3C 99 9A 00 00 00 00 00 FC 00 FE EB A7 ;
屏发送01 03 00 2A 00 06 E4 00 ,电路板返回01 03 0C 05 FE E6 68 00 00 00 00 01 02 01 00 22 B0 ;
屏发送的第一组查询指令中01是站地址,03是功能码,00 07是寄存器的首地址,00 06是读取数据的长度,最后的74 09是校验码。
电路板返回数据01是站地址,03是功能码,0C是返回数据的长度,00 A0 B3 33 00 00 00 00 01 07 01 08是要读取的变量,96 F0是校验码。
屏发送的第二组查询指令中寄存器的首地址是0E,是读0E~13H这几个地址的变量;第三组中寄存器首地址是15,第四组是1C,第五组是23,第六组是2A,这些地址之间相差的长度是7。
目前想用200 Smart代替触摸屏读取电路板的变量,如果按照原协议需要调用6次MBUS_MSG;如果我只调用1次MBUS_MSG可以吗?就是plc自带的串口发送01 03 00 07 00 42 XX XX(XX是校验码),梯形图如下所示,这样可以吗?
