[PLC]S7-1200 MODBUS通讯连接超时参数

连接超时参数

S7-1200 Mobus RTU通信网络中包含多个从站站点时,由于轮询的网络特性,只能同时读或写一个站点数据。因此有如下因素,会影响到最终整体的轮询时间:

1. 通信速率(波特率)设置时间

2. 每个站点的通信数据量

3. 站点数量

4. 通信距离

5. 各站点连接时间

无论是由于信号干扰,硬件质量引起的从站掉站或是由于工程需要暂时关闭站点,此时都会由于各站点连接时间的增加而使通信系统的轮询时间大大延长。在S7-1200Modbus RTU通信中,主要有三个参数与各站点连接时间的设置相关。

1. 从站响应时间 RESP_TO

如图1所示,V2.x版本的MB_COMM_LOAD初始化块可设置从站响应时间RESP_TO参数:

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

wps1 

1. RESP_TO参数设置

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

wps3 

2. 从站响应时间

2.重试次数 RETRIES

在初始化功能块MB_COMM_LOAD的背景数据块中,可设置重试次数RETRIES参数:

主站在返回无响应错误代码 0x80C8 之前的重试次数。(默认值为2次) 
wps4
注意:此参数表示初次连接无响应后,再次连接的次数;即以默认2次为例,实际尝试连接次数为3次。

wps5 

3 RETRIES参数设置

wps6注意:在更改RETRIES参数后,需要重新使能MB_COMM_LOAD功能块的REQ管脚,否则更改参数不生效。

3. 主站定时参数 Blocked_Proc_Timeout

当由于某些原因(如已发出主站请求,但在彻底完成该请求前停止调用主站功能块时),造成DoneError均没有置1时,需要提供一个定时时间,在时间到达后置位,以便执行下一个功能块或轮询下一个站点。

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

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

wps7 

4. Blocked_Proc_Timeout参数设置

常问问题:

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

通常,S7-1200可同时调整两个参数:从站响应时间 RESP_TO和重试次数 RETRIES,用于减小Modbus从站掉站或暂时关闭而增大的轮询周期时间。
例:系统默认的尝试连接次数为3次,每次1S,总计3S
可根据项目实际工况适当减小从站响应时间RESP_TO。这一时间无法估算,建议多次测试,确认每个从站都能够正常稳定连接情况下,将此时间设置的尽量小。
以设置500ms为例。再将RETRIES设置为0。即对于每个从站,主站只尝试连接一次,总计耗时500ms

wps9MB_MASTER报错8200(端口正忙于处理传送请求),如何处理?

此情况是由于MB_MASTERDONEERROR均未置位从而与后续MB_MASTER冲突导致。确保接通下一个MB_MASTER的时间大于Blocked_Proc_Timeout的设定时间(默认3S)。

 

posted @ 2023-04-13 22:06  shenxiang_  阅读(1125)  评论(0编辑  收藏  举报