我在使用modbus实现s7200与pc通讯时,将200设置为从站,并添加MBUS_INIT,参数
MaxHold设置为100,Holdst-设置为&VB4000,请高手指点,我这个地址对应的s7200中的变量(v4000--4199),那些是pc读取的,那些是pc能够写入的,数据怎么交换,我不太明白,应该怎么定义,依据是什么?
最佳答案
HoldStart处填写的就是保持寄存器V起始地址,
如果是&vb100, 那么保持寄存器(V)第一个地址就是VW100,
如果是&vb1000,那么保持寄存器(V)第一个地址就是VW1000,
MaxHold处填写的是可供主站读写的保持寄存器VW的数量
如果HoldStart=&vb100,MaxHold=10,那么地址对应如下:
VW100 40001
VW102 40002
VW104 40003
VW106 40004
VW108 40005
VW110 40006
VW112 40007
VW114 40008
VW116 40009
VW118 40010
共10个
如果HoldStart=&vb300,MaxHold=100,那么地址对应如下:
VW300 40001
VW302 40002
VW304 40003
...
VW498 40100
共100个
如果你做modbus从站,那么你可以将主站需要的数据,存放在保持寄存器里(HoldStart=&vb300)
如果VW300是A相电压,VW302是B相电压,VW304是C相电压,VW306是A相电流,VW308是B相电流,VW310是C相电流,那么你告诉对方如下的通讯协议:
40001 A相电压
40002 B相电压
40003 C相电压
40004 A相电流
40005 B相电流
40006 C相电流
其他的字符格式以及从站地址和对方约定一下即可。
提问者对于答案的评价:
很好,
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc316828.html