在之前的文章中,我们介绍过 PROFIBUS DP 总线轮询周期时间与波特率,从站个数和通讯字节数之间的关系。除此之外,在 DP 网络中有 2 个超时时间,一个是从站响应超时,一个是看门狗超时。他们是如何工作的呢?
主站侧监测超时
- 主站使用Tslot时间来监视从站的响应。Tslot时隙时间,是主站发送请求帧的最后一个bit位之后到接收到从站应答帧第一个字符间的最大时间。
- 如果主站在 Tslot 时间内没有收到从站的响应,主站将尝试重试(重复)或继续执行其他操作。
- Tslot 时间在主站配置工具中设置。
与此相关的,就是重试次数。从报文中具体看一下其作用:
重试次数是 1,当从站没有在 Tslot 时间内发送响应报文时,主站会再发送一次重复报文给从站,如果从站没有响应或者响应错误,主站将认为该设备丢失,从而执行其他操作。
重试次数是 3,当从站没有在 Tslot 时间内发送响应报文时,主站最多会重复发送 3 次报文,如果在这期间从站都没有正确响应,主站将认为从站设备丢失,从而执行其他操作。很显然,重试次数的增加会影响总线时间。
在 1.5Mbps 波特率时,组态工具中重试次数默认是 1。很多工程项目中,工程师常常将其调整为 3,以提高系统的抗干扰性,但是不建议调整的更高。
从站侧监测超时
-
从站设备通过看门狗定时器监测来自主站的信息。从站在收到主站的消息后启动看门狗定时器,在看门狗时间内,从站需要再次收到来自主站的信息。否则,从站将退出数据交换状态。
-
如果设备支持 Fail_Safe 功能,在看门狗超时后从站退出数据交换,并将输出设置为故障安全状态。故障安全状态是将输出设置为关闭或预设状态。
-
看门狗定时器时间远远大于总线轮询周期,在主站配置工具中设置/计算的,启动时主站通过 “Set Parameters”报文帧将看门狗时间发送给所有配置的从站设备。如下图报文中所示,看门狗时间 W a t c h d o g = 10 m s × 02 × 02 = 40 m s Watchdog=10ms\times 02\times 02=40ms Watchdog=10ms×02×02=40ms
-
可以在主站配置工具激活或者关闭设备的看门狗功能。关闭后从站将无法通过看门狗定时器监测主站信息。
本文中的报文使用 Anybus 诊断产品 ProfiTrace 捕获。