上一篇文章描述了CC-Link从站在正常状态下数据交换的过程,本篇我们继续CC-Link从站和主站进行数据交换的过程,但会重点关注某个从站异常情况下的交换过程。
该部分用到的数据报文和上一篇类似,这里不再列出。
首先我们列出当前PLC的硬件组态配置。如下图:
首先我们给出正常通信时的报文如下:
如下图所示,红色部分表示两个refresh cycle,也就是两个数据交换周期。从报文中可以看到主站首先采用FF格式报文,刷新所有从站数据,并同时请求2号从站数据。然后主站依次请求4号从站和1号从站,采用FE格式报文,4号(1号)从站在接收到主站请求时进行回复。
那么,如果在正常运行中,一个从站断电了,然后又上电,CC-Link会是怎样一个过程了?
我们可以通过抓取报文进行分析,如下图:
上图中,我们在系统正常运行时,将4号从站的电源切断。可以看到主站针对4号从站发出的Polling data没有应答,在连续请求4次后(因为在PLC硬件组态配置中,设置了重试次数为3),主站继续请求1号从站数据。
如下图:主站在监控4号从站未在线,达到1s左右的时间,不再继续针对4号从站进行Polling data,转而每隔一段时间在return cycle阶段,通过test polling的方式查询4号从站。
如下图所示,恢复4号从站的供电。4号从站经过如下的过程,重新进入到数据交换周期。
- 4号从站在接收到PLC主站的Test polling data时,进行应答。PLC会每隔一段时间在return cycle中,通过test polling data的方式查询掉线的从站。
- 主站在经过两个数据交换周期(refresh data cycle)后,开始和4号从站进行正常的数据交换报文。