s7-200 modbus做从站时,首地址只能从vw0开始

我用施耐德的m200plc(主站)与s7-200(从站)用modbus通信,读取从站s7-200 vw1000开始的8个字 放在 施耐德m200plc mw200开始8个字里面,两个plc 程序 地址 波特率 奇偶校验等都正确,但s7-200报故障 错误代码是9  用modscan32检测从站也连接不上,只有把vw1000换成vw0开始时,两台plc才能正常通信,也就是把首地址换成&vb0  为什么会这样呢  还有不知道什么原因用modscan32测试从站
s7 200时 总不成功!

问题补充:
1L说的不对吧 首地址从哪都可以不一定非要从vb0开始

钻石用户推荐最佳答案

错误代码9的解释为:请求中有非法存储区地址。将你程序中的HoldStart设置为&VB1000,将MaxHold的参数设置大于等于8.还有你主站读取西门子从站的地址是不是读错了,VW1000对应的MODBUS的地址为40501,不是41001.
参数MaxHold设置可以使用的V存储器字保持寄存器的个数,相应于Modbus地址4xxxx。例如,要允
许主站访问2000字节的V存储器,则设置MaxHold为1000字(保持寄存器)。
参数HoldStart是V存储器的保持寄存器的起始地址。通常设为VB0,所以参数HoldStart设为&VB0
(VB0的地址)。也可以将其它的V存储器地址指定为保持寄存器的起始地址,以便使VB0可以在项
目中用作其它目的。Modbus主站可以访问起始地址为HoldStart,字数为MaxHold的V存储器。

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc370414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午4:09
下一篇 2021年7月5日 下午4:09

相关推荐

发表回复

登录后才能评论