关于MODBUS写指令问题

用300作主站,200做从站,通过modbus协议通讯,当用到写功能,比较困惑。问题如下:
假设想把200的M0.0写成1,那么必须把VW0导入到MW0中(因为写功能只能写VW的地址,而且最小单位为字),即V0.1-V1.7对应M0.1-M1.7。当我要写M0.0时。那么就要300发送写数据:00000000 00000001到200的VW0中,然后再将VW0导入MW0,这样M0.0才为1。但当我接着写M0.1时,即发送00000000 00000010时,就会把之前写的M0.0覆盖成0了。请问各位应怎样解决?谢谢!
我自己想了一个方法。M寄存器的每一位对应V的一个字,即M0.0对应VW0。M0.1对应VW2,这样就不怕被覆盖了。但这很浪费内存,是下策。求更高明的办法。谢谢!

最佳答案

你一个问题还要发两次呀!看你的300/400中的解答。

提问者对于答案的评价:
谢谢,为提高关注率,发了两次。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:31
下一篇 2020年11月1日 下午4:31

相关推荐