S7-200modbus主站指令中MBUS_CTRL指令中的参数Timeout,是设定等待从站响应的时间。如果从站在该时间范围内完成响应,那该时间对整个程序运行,比如扫描周期,就没有影响?只有在从站相应超过设定时间时,该时间才起作用,超时后重新发送请求?那这个时间准确吗?如果超时时间设定为100ms,那能够在100ms时重新发送请求,还是受扫描周期影响?不是严格的100ms。
最佳答案
1.如果从站在该时间范围内完成响应,那该时间对整个程序运行,比如扫描周期,就没有影响?
没有影响。
2.只有在从站相应超过设定时间时,该时间才起作用,超时后重新发送请求?那这个时间准确吗?
相对准确。
3.如果超时时间设定为100ms,那能够在100ms时重新发送请求,还是受扫描周期影响?不是严格的100ms。
受扫描周期影响,有误差 。不像定时中断那样准确。
Timeout 超时:
主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒),允许设置的范围为 1 - 32767。
注意: 这个值必须设置足够大以保证从站有时间响应。
常见的错误:
如果多个 MBUS_MSG 指令同时使能会造成 6 号错误
从站 delay 参数设的时间过长会造成主站 3 号错误
从站掉电或不运行,网络故障都会造成主站 3 号错误
提问者对于答案的评价:
谢谢!
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc351384.html