通过modbus协议。将PLC作为从站,个人PC作为主站。协议中功能码06是指“写入单个保持寄存器”,想问下1:这个保持寄存器是什么?保持寄存器指的是V储存区么?:2:怎么通过modbus协议向V存储区写入数据呢?比如我想将VB200写入数据,该怎么实现呢?
最佳答案
1:这个保持寄存器是什么?
这个保持寄存器是S7-200 的 V 存储区。
S7-200 CPU 做为从站,那就要用到 MBUS_INIT 从站初始化指令。
该指令的 HoldStart 来定义MODBUS 保持寄存器在 V 区的起始地址,如果此处写的如果是 &VB200,则 VW200 就是从站保持寄存器的起始地址。就有如下的对应关系。
VW200 40001
VW202 40002
VW204 40003
什么意思,就是,主站向 40001 写数据,其实就是向 S7-200 的从站的VW200写数据。
主站读 40002 数据,其实就是读取 S7-200 的从站的 VW202 的数据。
2、怎么通过modbus协议向V存储区写入数据呢?比如我想将VB200写入数据,该怎么实现呢?
你是要自已用数据帧写,还是借助 MODSCAN 这样的第三方软件?
如果不借助,那还是有些困难的,我给出的建议是:借助。
你可以监视主站请求、以及 S7-200 从站的响应帧,注意一下 CRC 校验码的高低字节交换。然后查一些MODBUS RTU 协议资料,再自已写帧。
第二问真的不是一两句就能说清楚的。
参考资料
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart%20SMS/019.html
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc364105.html