CC-Link(ControlCommunicationLink,控制与通信链路系统),是三菱电机推出的开放式现场总线,其数据容量大,通信速度多级可选择,而且它是一个以设备层为主的网络,同时也可覆盖较高层次的控制层和较低层次的传感层。一般情况下,CC-Link整个一层网络可由1个主站和64个从站组成。网络中的主站由PLC担当,从站可以是远程I/O模块、特殊功能模块、带有CPU和PLC本地站、人机界面、变频器及各种测量仪表、阀门等现场仪表设备。且可实现从CC-Link到AS-I总线的联接。CC-Link具有高速的数据传输速度,最高可达10Mb/s。CC-Link的底层通信协议遵循RS,一般情况下,CC-Link主要采用广播-轮询的方式进行通信,CC-Link也支持主站与本地站、智能设备站之间的瞬间通信。
CC-Link的通信形式可分为2种方式:循环通讯和瞬时传送。循环通讯意味着不停地进行数据交换。除了循环通信,CC-Link还提供主站、本地站及智能装置站之间传递信息的瞬时传送功能。瞬时传送需要由专用指令FROM/TO来完成,瞬时传送不会影响循环通信的时间。
主站与远程设备站之间具有相应的通信关系。主站与远程设备站之间的通信原理如下:
(1)PLC系统电源接通时,PLCCPU中的网络参数传送到主站,CC-Link系统自动启动;
(2)远程设备站的远程输入RX自动储存在主站的“远程输入RX”缓冲存储器中;
(3)储存在“远程输入RX”缓冲存储器中的输入状态储存到用自动刷新参数设置的CPU软元件中;
(4)用自动刷新参数设置的CPU软元件开/关数据存储在“远程输出RY”缓冲存储器中;
(5)根据“远程输出RY”缓冲存储器中存储的输出状态,远程输出RY自动设定为开/关(每次链接扫描的时候);
(6)用自动刷新参数设置的CPU软元件的传送数据存储在“远程寄存器RWw”缓冲存储器中;
(7)存储在“远程寄存器RWw”缓冲存储器中的数据自动送到每个远程设备站的远程寄存器RWw中;(8)远程设备站的远程寄存器RWr的数据自动存储在主站的“远程寄存器RWr”缓冲存储器中;
(9)存储在“远程寄存器RWr”缓冲存储器中的远程设备站的远程寄存器RWr数据存储在用自动刷新参数设置的CPU软元件中。
然后再讲一下CC-Link电缆知识点
注意:站间的电缆长度
注意:(2)这个部分
注意:与CC-Link的连结
注意:传输传送距离
注意:本地站
注意:侧面
注意:最大传送距离
注意:FX2NCPU、接口模块、主站模块Q系列
好了,图基本上都上完了,这些东西都是摘自三菱官方手册里的东西,如果大家细心点的话,都是可以自己找到了,没有那么难。讲这些只是想给大家一个自主学习的思路,养成一个自主学习的习惯。如何利用手上的资源,更好地完成工作。
本例讲的是主站与智能设备站的通讯,也就是Q系列和FX系列的通讯。
原料:
Q系列PLC一套带(QJ61BT11N主站模块)
FX2n系列PLC一套带(FX2N-32CCL接口模块)
硬件部分已经配置好了,如图一。我的通讯模块并没有加终端电阻,终端电阻的作用是:防止当电缆长时,在信号在终端会信号反射,影响通讯信号。专业术语,我也记不太清了。
图一
然后是软件部分,配置一下主站吧,Q系列我是新建了一个简单的工程,还有一种形式是结构化工程,当然哪种都行的,如图二。
图二
分配一下I/O的地址如,如果在线的话,可以PLC数据读取,自动分配。然后点击设置结束,如图三。
图三
再然后设置CCLINK网络参数,如图四。因为只有两个站所以我,分配的随意点。
图四
在CCLINK设置界面(图四)找到站信息如图五。FX2N是智能设备站,占用4站,点。设置结束。
图五
硬件配置完成,然后就是软件了,开始编程。
这里讲一下硬件配置完成并下载完后,当然,硬件拨码不能错,设备一上点就开始进行数据交互了,这也是我最喜欢的地方,你只要知道知道数据在哪个BFM区就是在程序里读写了。以下开始举例啦。下图为通讯架构(所以没有标号噢)
如图,主站写数据到W,w对应的主张缓冲BFM寄存器的1E0(16进制)(十进制),如图六图七。
图七(主站缓冲开始于地址十进制)
不明白吗?好那就再上图清楚点,在线监控一下如图八。是不是很清晰了,w的数据写到了主站模块的1E0(16进制)(十进制)的BFM区。
图八
再下来该怎么搞了?该搞智能设备站了。(FX2n)数据写过去了,我要怎么读出来呢。。。。。
接下来我们来看看数据在智能设备站是怎样被读出来的。还是上图,如图九,就是通过一条指令(FROMK0K8D30K1)读出来的。
问题又来了,这个指令什么意思,我来讲下:
1、FROM就是读缓存区的操作;
2、K0就是指的32CCL接口模块的位置标号,这个位置标号,就是cpu右侧第一个,从0开始,如果再有有一个模块,那新增的这个模块的位置标号就是1,以此类推。读我教程,你得语文好,不然就只能猜了,开玩笑的。
3、k8这个就有点意思了,继续上图吧,如图十;
4、D30就是你的数据放到哪里,就是说数据读出来了,那数放在了这(D30)可以自由设置。
5、k1就是点数,一般我理解为一个字,16个BIT位。如果是k2就是从BFM区读出了两天个字分别放在了D30,和D31中。然后以此类推。。。
来看看FX2n读出的数据也是,这个数,看下图九。
图九
接上文,看下图十。看到没,#8缓冲区,这个就是32CCL的缓冲区,就是FX2n旁边的接口模块。
图十
监控一下FX的缓冲区第#8号位置是不是啊,
清楚了吧,如图十一。
图十一
接下来捋下思路吧,主站CPU把通过MOVDW这条指令,把D的数据()到了W中,w在配置中对应的是主站模块QJ61BT11N缓冲寄存器的BFM-1E0(16进制地址)然后这个数据被询到了FX2N的接口模块32ccl的缓冲寄存器BFM-#8中,再接力棒就交到了FX2nCPU,它通过指令FROMK0K8D30K1把数据读到了它内部寄存器D30中(数据)
然后哩,FX如何写数据到Q主站呢?为了满足大家尽力做全套哈,上图,如图十二。通过T0K0K0K4M0K1把数据写到32ccl的缓冲存储器。
图十二
这里就TOK0K0K4M0K1讲一下:
1、TO:就是写指令啦
3、K0:就是32ccl接口模块的缓冲寄存器BFM的#0(图)
4、k4m0就是m寄存器从M0开始K1就是四个BIT位,K2就是八个BIT位,K3就是十二个BIT位,这里是K4就是十六个BIT位,也就是一个字(D)的长度
5、K1为点数,上文讲过的
6、m为FX的秒脉冲特殊继电器
接下来监控一下32ccl的BFM-#0区,会看到0到1的变化,(由于M在变化所以M0也在变化,根据TOK0K0K4M0K1是把m0到m15的状态写到了BFM#0所以M0变化BFM0也在实时刷新)。
看图十三会发现32CCL的BFM#0区最低位在以一秒一赫兹的频率在变化。说明数据已经写到这个区,然后就是主站怎么读出来啦,简单吧!如图十三。
图十三
监控一下主站的通讯模块QJ61BT11,再然后。。。问题来了我要监控哪里呢,主站的哪个区呢?上法宝,搬手册!我觉得你又会问这个手册看哪里啊?
首先你要明白你的数据写到哪了了,是不是32CCL接口模块的BFM#0区,#0区的功能是什么呢?噢,我看了一眼是这么写的“远程输入RX00-RX0F(设定站)”,如图十四。
图十四
现在思路有了,从功能上来确认。所以32CCL的BFM#0对应的QJ61bt11的BFM的E0(16进制),如图十五。
图十五
主站地址找到了,那监控验证一下,如图十七。当然了,我这里是捕捉截图,其实它是一直0-1变化的。
图十七
那么主站缓冲寄存器找到了,看看程序里怎么写的吧,如图十八。
图十八
监控看到X一直在变化,驱动了实际输出Y0C1
这个X就是由32cclBFM#0刷新到主站模块QJ61BT11的E0区(远程RX)
是不是有点疑惑,无法把X和这联系起来,或许你忘了CC-Link设置界面啦。上图看看,如图十九。
图十九
看到了吧,其实QJ61BT11主站模块的E0区是和x对应的,就是说E0区如果最低位刷新的话,x也变化,E0区的第2位变化,x也变化,以此类推,直达第F位,从0到F共16位,一个字的长度。。。是不是清晰点了。。。
Review一下:FX的cpu通过TO指令写32ccl的#0缓冲寄存器,(TOK0K0K4M0K1),32CCL的BFM#0区对应QJ61BT11主站模块的E0缓冲寄存器,通过链接扫描的方式,实时刷新,再然后Q系列CPU就能直接读出数据了。。。
其实前期铺垫那么多,是想大家多去看些手册,因为三菱系的资料特别的多,而却实用性很强,你学会了看一本手册就有了一些思路,这个思路我个人理解为学习方法,要懂得如何去看手册,才能更好更快地解决问题。
特别喜欢一句话,(不要轻易的去问别人问题,因为人家的时间是宝贵的,你不但占用了别人的时间,还失去了一次学习的机会)。
最后,祝大家技术更上一层楼啦,升值加薪哈哈哈。Seeyounexttime!
来源/中华工控网,转载请注明出处
文章推荐
FX5UPLC跳转指令做手动切换功能应用讲解 -05-09 西门子PLC中FB和FC区别、管脚定义、临时变量引起的麻烦 -05-09 查缺补漏必备三菱西门子学员知识问答汇总(技成周报1-34期) -05-08 周报34期
三菱、西门子TCP/RS通讯等问题解答 -05-07 PLC梯形图的识别方法与步骤大全 -05-07 一文搞懂PLC的进制转换 -05-06
我知道你“在看”哟~
预览时标签不可点收录于话题#个上一篇下一篇