S7-200 MODBUS从站通讯地址?
刘玉蓉
发布于2014-11-07 17:36
498
0
标签:
问一个问题:是不是S7-200 MODBUS通讯:00001 至 0*x 对应 开关量输出 QX.X ,10001 至 1*x 对应 开关量输入 IX.X,30001 至 3*x 对应 模拟量输入 AIW.X ,40001 至 4*x 对应 模拟量输出 AQW.X,这些MODBUS 地址与西门子的I/O模块的数据地址是不是固定的?如果这样的话我只能把0-32000的数据传给上位机,给上位机处理了?我如想把VD32中的数值传给上位机该怎么做?设备的启M0.0 和停M0.1该如何传给上位机?
佳答案
1.00001 至 0*x 对应 开关量输出 QX.X ,10001 至 1*x 对应 开关量输入 IX.X,30001 至 3*x 对应 模拟量输入 AIW.X ,40001 至 4*x 对应 模拟量输出 AQW.X,这些MODBUS 地址与西门子的I/O模块的数据地址是不是固定的?
你的理解不能说对的,0、1、3、4四种地址是针对施耐德PLC中的地址进行定义的,也就是你所说的,0对应开出和中间线圈、1对应开入,以此类推。但是对于西门子PLC来说没有Modbus地址编码这一说,也就是说不支持0、1、3、4这几种地址,因此,0、1、3、4并不对应开出、开入等地址。
2. 把VD32中的数值传给上位机该怎么做?设备的启M0.0 和停M0.1该如何传给上位机?
在做Modbus通讯时,DataPtr的地址为&VB,也就是说所有数据全部打包到VB中,因此,不论任何数据,打包到VB实现数据中进行发送和接收。因此,如果需要将M、或VD数据送到上位,只需Move到VB中即可。