请教一下,6个modbus RTU通讯的站地址一致,寄存器地址连续,那可以用1个查询指令代替6个查询指令吗?

已锁定

李毫

西门子1847工业学习平台

  • 帖子

    336
  • 精华

    3
  • 被关注

    24

论坛等级:侠圣

注册时间:2011-04-27

普通 普通 如何晋级?

请教一下,6个modbus RTU通讯的站地址一致,寄存器地址连续,那可以用1个查询指令代替6个查询指令吗?

1188

6

2021-04-14 10:58:31

请教一下,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是校验码),梯形图如下所示,这样可以吗?



请教一下,6个modbus RTU通讯的站地址一致,寄存器地址连续,那可以用1个查询指令代替6个查询指令吗? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9141条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。