上一篇文章描述了CC-Link从站上电建立连接的过程,本篇我们描述CC-Link从站和主站进行数据交换的过程。
按照以前文章的习惯,我们先列出数据交换过程使用的报文格式,如下:
在数据交换阶段,即:refresh cycle主站会依次查询从站,轮询的方式体现出了CC-Link的独特的地方。
首先我们看一下当前的PLC中CC-Link参数配置情况:
- 当前采用CCLink V2版本;
- 配置了两个从站;
- 第一个从站为基于北京骥远Xone的Ver.2 远程设备站,占用1个内存站,4倍扩展周期;
- 第二个从站为基于MFP3的Ver.1 远程设备站,占用2个内存站;
下面我们通过协议文档,并结合抓取的报文,分析正常的数据交换过程。
如上图:主站和两个从站1、2在交换数据。在wireshark中显示为“M->S:1”,“S:1->M”。
如下图:对于第一个从站,主站采用了polling&refresh data的方式,即:请求该从站数据,同时把所有从站的数据广播出来,所有从站此时要将整个数据报文接收,然后将属于自己的数据存储下来。
对于第二个从站,主站采用了polling的方式,仅仅是告诉第二个从站,此时它可以回复数据了。
在每个refresh cycle结束,主站都会发送refresh cycle end报文,并且会发送两次。通过FA格式的帧报文发送,可以看到发送的第二个字节为当前最后一个正常从站的地址。