技术论坛

 Modbus RTU由于某一个从站掉站引起的轮询周期时间延长,如何减小此影响

返回主题列表
作者 主题
若年
侠客

经验值:702
发帖数:73
精华帖:2
楼主    2021-03-08 19:42:54
主题:Modbus RTU由于某一个从站掉站引起的轮询周期时间延长,如何减小此影响 精华帖 

系统架构:S7-1200通过CM1241(RS485/422)模块,以modbus Rtu的方式和5台三菱变频器FR840通讯链                   接。

                 5台变频器使用逻辑上要求相互独立的。  

                 程序上是以轮询的方式进行通讯的。


问题:        当其中一台变频器掉站(变频器故障或断电),其它几台变频器的控制延迟很严重(>5s);


原因分析:

  1. MB_COMM_LOAD背景数据块,从站响应时间RESP_TO参数;

    设置单次连接从站的可响应时间,范围为5ms到65535ms(默认值为1000ms);即如从站在此时间段内未作出响应,则MB_MASTER将在发送指定次数的重试请求后终止请求并提示错误信息80C8;

    需要注意:Modbus从站的执行频率须至少小于RESP_TO设置的响应时间(需要考虑响应延迟时间),才可以正常通讯。


  2. MB_COMM_LOAD的背景数据块中,可设置重试次数RETRIES参数;

    主站在返回无响应错误代码 0x80C8 之前的重试次数。(默认值为2次)

    注意:此参数表示初次连接无响应后,再次连接的次数;即以默认2次为例,实际尝试连接次数为3次

  3. MB_Master的背景数据块中提供了主站定时参数Blocked_Proc_Timeout(范围0S到5.5S,默3S)

    此前的RESP_TO 是针对从站响应时间的,而Blocked_Proc_Timeout则是针对主站的定时时间,此功能参数用于防止单个MB_Master 指令独占或锁定对端口的访问。


结果:修改过”原因分析“的几个参数后,即使有变频器断电或掉站,其它变频器的控制延迟也可以控制在至少1s以内。

一切源于梦想
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。