S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢

S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢,伺服使能十几秒才能有反应,有的MBUS-MSG下一个通了但上一个没复位,比方说第2个MBUS-MSG都通了但前一个还没复位,等第3个通了,前两个一起灭了,造成部分间断性的6号错误。波特率正确 无干扰 伺服没坏 参数对,请问这是什么毛病?

问题补充:
我补充了部分程序的图片,这是一个轴,有时候短时间的6号错误。

图片说明:

S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢    S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢    S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢    S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢    S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢    S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢    S7-200Modbus RTU通信控制5个从站伺服,通信轮询速度非常慢   

最佳答案

从站数量太多的话通讯是很慢,你可以将两者的通讯波特率改到最大再去通讯,提高通讯效率可以用每条指令的Doen置位为1时接通下一条指令同时复位上一条指令,这样的话就可以提高通讯速率和避免你上面说的上一条指令没有复位下一条指令有接通了。参考一下下面的通讯指令和例子。
S7-200 Modbus RTU 通信:http://www.ad.siemens.com.cn/service/article/S7-200/S7-200modbus/Default.aspx
关于补充问题回答:6的错误是Modbus正在忙于其它请求。你的程序轮训没有做好。以你图2和图3的程序为例,来作说明。你图2的doen的为M0.2,你不要用M0.2直接作为图3的启动条件,用M0.2的接通一个脉冲来置位一个M继电器,在用M继电器来作为图三的启动条件,这样就不会出现同时启动多个指令的情况,用doen作为启动下一个M继电器同时复位上一个M继电器,这样来做轮训,后面的程式也是这样做就可以了。

提问者对于答案的评价:
谢谢

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc366573.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午2:18
下一篇 2021年7月5日 下午2:18

相关推荐

发表回复

登录后才能评论