1200PLC modbus通信协议

分享到:
485
下一篇 >

菜鸟:

请教各位大侠,当使用1200的modbus指令时,是不是DATA_LEN=2,就只能接收2个字长度的信息;DATA_LEN=1,就只能接收1个字长度的信息呢?当设置DATA_LEN=2时,从站发回一个字的信息是不是1200PLC就收不到数据了呢?谢谢了啊


大虾:

DATA_LEN参数是指你需要读取从站的数据长度,比如DATA_LEN=1时,读取指定寄存器地址开始,读取1个字的数据,然后存储到指定的位置。当DATA_LEN=2时,读取指定寄存器地址开始,读取2个字的数据。正常来说,从站会事先规定可以读取的寄存器区域,读取的长度也是有一定的限制。如果是可以读取的区域,长度在允许范围内都是可以的,另外,1200存储的区域长度一定要大于或等于所读取的长度。


菜鸟:

谢谢,我感觉也是这样,但还是不确定,没用过这个指令,谢谢啊。要是从站发送的数据不是PLC要求的,是不是PLC就不能识别了呢?


大虾:

会报错的,查询错误状态字就能知道是什么错误。


菜鸟:

modbus是标准协议,所有支持modbus的设备都遵循这个协议的,主站既然发读取两个字的指令,从站就不可能只发回一个数据,除非这个从站就没有真正支持modbus协议


大虾:

DATA_LEN=2,不是说只能接收2个字长度的信息,而是我要读取2个字长度的信息(不含报头报尾),下位设备正常的话,要读你2个字节,不会只返回一个字节,读了MB不存在的寄存器的话,就返回错误信息



你可能感兴趣: 工控菜鸟园 自动化系统 SIMATIC S7-1200 Modbus PLC
无觅相关文章插件,快速提升流量