求modbus rtu通讯对应的地址 点击:285 | 回复:17



匀升

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:132
  • 历史总积分:213
  • 注册:2025年7月02日
发表于:2026-06-07 11:12:48
楼主
求助帖30分-已结帖

现在的问题是40001对应的vd404,40003对应vd414,40005对应vd424,40007对应vd434,40009对应vd444,但是我中间在vb450加了报警点位,那我modbus地址应该怎么读取,豆包说读40012的低位,我有点想不明白,是不是vd450读取不了呀



楼主最近还看过



郭远林

  • [版主]
  • 精华:3帖
  • 求助:11帖
  • 帖子:119帖 | 2446回
  • 年度积分:759
  • 历史总积分:47959
  • 注册:2011年10月21日
发表于:2026-06-07 13:16:12
1楼

那个品牌的  MODBUS 通讯地址查看

回复本条

    

郭远林

  • [版主]
  • 精华:3帖
  • 求助:11帖
  • 帖子:119帖 | 2446回
  • 年度积分:759
  • 历史总积分:47959
  • 注册:2011年10月21日
发表于:2026-06-07 13:22:27
2楼

image.png

读取的寄存器地址就是40001-40003,读取连续的4个字节或2个字,暂存到某个V区或DB区的寄存器,再从寄存器中取出对应的位即可

回复本条

    
  • 匀升楼主

    西门子200smartst60,做从站通讯

    2026-06-07 13:55:36回复

  • 匀升楼主

    前面寄存器都读取到了,我是想在450加一组点位,但是感觉跟前面的规律对不上,是不是读取不了呀

    2026-06-07 14:19:31回复

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:629帖 | 9089回
  • 年度积分:17
  • 历史总积分:371050
  • 注册:2011年4月25日
发表于:2026-06-08 08:40:02
3楼

看一下是不是低字节高地址,需要转换的

回复本条

    

121111115

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 637回
  • 年度积分:889
  • 历史总积分:37667
  • 注册:2016年1月20日
发表于:2026-06-08 09:09:44
4楼

你前面读到了我也很奇怪为什么会读到,从站的起始地址对应着40001,那么后面的地址也应该是连续的,怎么会跨度那么大?40001对应着VW404,那么40003就是VW408,40005就是VW412,40007就是VW416······你这个对应关系我理解不了。

如果你真读到了,说明你的从站起始地址就不是VW404,就是你从站块那里填的&VBxxxx,那就是起始地址,然后你要做的操作就是吧你VD4xx的数据往起始地址的对应位置MOV,这样你的40001,40003······读到的才是你想要的值,如果是这样的话,你只需要把VD450的数据传到缓存地址的对应位置,然后用4xxxx的对应地址去读就可以了。

回复本条

    

关育谋

  • [版主]
  • 精华:6帖
  • 求助:23帖
  • 帖子:831帖 | 5894回
  • 年度积分:14
  • 历史总积分:103584
  • 注册:2004年5月28日
发表于:2026-06-08 14:00:40
5楼

现在的问题是40001对应的vd404,40003对应vd414,40005对应vd424,40007对应vd434,40009对应vd444,但是我中间在vb450加了报警点位,那我modbus地址应该怎么读取,豆包说读40012的低位,我有点想不明白,是不是vd450读取不了呀

40001应该对应的是一个字,而不是双字

像你说的40001对应VD404,VD404是双字,

回复本条

    

匀升

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:110
  • 历史总积分:191
  • 注册:2025年7月02日
发表于:2026-06-09 10:26:37
6楼

回复内容:

对:121111115 你前面读到了我也很奇怪为什么会读到,从站的起始地址对应着40001,那么后面的地址也应该是连续的,怎么会跨度那么大?40001对应着VW404,那么40003就是VW408,40005就是VW412,40007就是VW416······你这个对应关系我理解不了。如果你真读到了,说明你的从站起始地址就不是VW404,就是你从站块那里填的&VBxxxx,那就是起始地址,然后你要做的操作就是吧你VD4xx的数据往起始地址的对应位置MOV,这样你的40001,40003······读到的才是你想要的值,如果是这样的话,你只需要把VD450的数据传到缓存地址的对应位置,然后用4xxxx的对应地址去读就可以了。     内容的回复:

是的,指针地址是&400,前面数据是真读到了,后面加了一个450不知道该怎么读

回复本条

    

匀升

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 8回
  • 年度积分:110
  • 历史总积分:191
  • 注册:2025年7月02日
发表于:2026-06-09 10:27:33
7楼

回复内容:

对:请叫我王老湿 看一下是不是低字节高地址,需要转换的     内容的回复:

这个不是,就是主机读plc不需要转换,该转换的在plc内部转换了

回复本条

    

xiaoqiao520

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 4回
  • 年度积分:25
  • 历史总积分:1599
  • 注册:2015年7月13日
发表于:2026-06-09 11:04:03
8楼

现在的问题是40001对应的vd404,40003对应vd414,40005对应vd424,40007对应vd434,40009对应vd444,但是我中间在vb450加了报警点位,那我modbus地址应该怎么读取,豆包说读40012的低位,我有点想不明白,是不是vd450读取不了呀

这个都不对,40001 对应vd404(vb404-vb407) 40003应该是vd408(vb408-vb411),40005 —>vd412,40007 —>vd416
40009 —>vd420,
这样应该才是对的

回复本条

    

匀升

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:108
  • 历史总积分:189
  • 注册:2025年7月02日
发表于:2026-06-29 10:19:05
9楼

忘记回复帖子了,问题找到了,不是我这边的问题,是他们厂家中控软件网关设置的问题,我这边就提供的正常modbus地址就可以了,感谢各位师傅帮忙

回复本条

    

热门招聘
相关主题

官方公众号

智造工程师