[西门子] 【原创分享】三菱Q系列和FX2N系列进行CC-Link通讯(主站和...

[复制链接]
查看22448 | 回复0 | 2024-1-29 09:46:27 | 显示全部楼层 |阅读模式


CC-Link(Control &Communication Link,控制与通信链路系统),是三菱电机推出的开放式现场总线,其数据容量大,通信速度多级可选择,而且它是一个以设备层为主的网络,同时也可覆盖较高层次的控制层和较低层次的传感层。一般情况下,CC-Link整个一层网络可由 1 个主站和 64 个从站组成。网络中的主站由 PLC 担当,从站可以是远程I/O模块 、特殊功能模块 、带有CPU和PLC本地站、人机界面、变频器及各种测量仪表 、阀门等现场仪表设备 。且可实现从CC-Link到 AS-I 总线的联接。CC-Link具有高速的数据传输速度,最高可达 10 M b/ s 。CC-Link的底层通信协议遵循 RS485, 一般情况下,CC-Link 主要采用广播-轮询的方式进行通信,CC-Link也支持主站与本地站 、智能设备站之间的瞬间通信 。

CC-Link 的通信形式可分为 2 种方式:循环通讯和瞬时传送。循环通讯意味着不停地进行数据交换 。除了循环通信,CC-Link还提供主站 、本地站及智能装置站之间传递信息的瞬时传送功能。瞬时传送需 要由专用指令FROM/ TO来完成,瞬时传送不会影响循环通信的时间。

主站与远程设备站之间具有相应的通信关系。主站与远程设备站之间的通信原理如下:

(1)PLC系统电源接通时,PLC CPU中的网络参数传送到主站,CC-Link系统自动启动;

(2)远程设备站的远程输入 RX 自动储存在主站的“远程输入 RX”缓冲存储器中;

(3)储存在“远程输入 RX” 缓冲存储器中的输入状态储存到用自动刷新参数设置的 CPU 软元件中;

(4)用自动刷新参数设置的CPU软元件开/关数据存储在“远程输出 RY”缓冲存储器中;

(5)根据“远程输出 RY”缓冲存储器中存储的输出状态 ,远程输出 RY 自动设定为开/关(每次链接扫描的时候);

(6)用自动刷新参数设置的CPU软元件的传送数据存储在“远程寄存器 RWw”缓冲存储器中;

(7)存储在“远程寄存器 RWw”缓冲存储器中的数据自动送到每个远程设备站的远程寄存器 RWw 中;(8)远程设备站的远程寄存器 RW r 的数据自动存储在主站的“远程寄存器 RWr”缓冲存储器中;

(9)存储在“远程寄存器 RWr” 缓冲存储器中的远程设备站的远程寄存器 RW r 数据存储在用自动刷新参数设置的 CPU 软元件中 。

然后再讲一下CC-Link电缆知识点



注意:站间的电缆长度



注意:(2)这个部分



注意:与CC-Link的连结



注意:传输传送距离



注意:本地站



注意:侧面





注意:最大传送距离





注意:FX2N CPU、接口模块、主站模块Q系列



好了,图基本上都上完了,这些东西都是摘自三菱官方手册里的东西,如果大家细心点的话,都是可以自己找到了,没有那么难。讲这些只是想给大家一个自主学习的思路,养成一个自主学习的习惯。如何利用手上的资源,更好地完成工作。

本例讲的是主站与智能设备站的通讯,也就是Q系列和FX系列的通讯。

原料:

Q系列PLC一套带(QJ61BT11N主站模块)

FX2n系列PLC一套带(FX2N-32CCL接口模块)

硬件部分已经配置好了,如图一。我的通讯模块并没有加终端电阻,终端电阻的作用是:防止当电缆长时,在信号在终端会信号反射,影响通讯信号。专业术语,我也记不太清了。



图一

然后是软件部分,配置一下主站吧,Q系列我是新建了一个简单的工程,还有一种形式是结构化工程,当然哪种都行的,如图二。



图二

分配一下I/O的地址如,如果在线的话,可以PLC数据读取,自动分配。然后点击设置结束,如图三。



图三

再然后设置CCLINK网络参数,如图四。因为只有两个站所以我,分配的随意点。



图四

在CCLINK设置界面(图四)找到站信息如图五。FX2N是智能设备站,占用4站,128点。设置结束。



图五

硬件配置完成,然后就是软件了,开始编程。

这里讲一下硬件配置完成并下载完后,当然,硬件拨码不能错,设备一上点就开始进行数据交互了,这也是我最喜欢的地方,你只要知道知道数据在哪个BFM区就是在程序里读写了。以下开始举例啦。下图为通讯架构(所以没有标号噢)



如图,主站写数据到W100,w100对应的主张缓冲BFM寄存器的1E0(16进制) 480(十进制),如图六图七。





图七(主站缓冲开始于480地址十进制)

不明白吗?好那就再上图清楚点,在线监控一下如图八。是不是很清晰了,w100的数据写到了主站模块的1E0(16进制)480(十进制)的BFM区。



图八

再下来该怎么搞了?该搞智能设备站了。(FX2n)数据写过去了,我要怎么读出来呢。。。。。

接下来我们来看看数据在智能设备站是怎样被读出来的。还是上图,如图九,就是通过一条指令(FROM K0 K8 D30 K1)读出来的。

问题又来了,这个指令什么意思,我来讲下:

1、FROM就是读缓存区的操作;

2、K0就是指的32CCL接口模块的位置标号,这个位置标号,就是cpu右侧第一个,从0开始,如果再有有一个模块,那新增的这个模块的位置标号就是1,以此类推。读我教程,你得语文好,不然就只能猜了,开玩笑的。

3、k8这个就有点意思了,继续上图吧,如图十;

4、D30就是你的数据放到哪里,就是说数据读出来了,那数放在了这(D30)可以自由设置。

5、k1就是点数,一般我理解为一个字,16个BIT位。如果是k2就是从BFM区读出了两天个字分别放在了D30,和D31中。然后以此类推。。。

来看看FX2n读出的数据也是250,这个数,看下图九。



图九

接上文,看下图十。看到没,#8缓冲区,这个就是32CCL的缓冲区,就是FX2n旁边的接口模块。



图十

监控一下FX的缓冲区第#8号位置是不是250啊,

清楚了吧,如图十一。



图十一

接下来捋下思路吧,主站CPU把通过MOV D100 W100 这条指令,把D100的数据(250)到了W100中,w100在配置中对应的是主站模块QJ61BT11N缓冲寄存器的BFM -1E0(16进制地址)然后这个数据被询到了FX2N的接口模块32ccl的缓冲寄存器BFM-#8中,再接力棒就交到了FX2nCPU,它通过指令FROM K0 K8 D30 K1 把数据读到了它内部寄存器D30中(数据250)

然后哩,FX如何写数据到Q主站呢?为了满足大家尽力做全套哈,上图,如图十二。通过T0 K0 K0  K4M0 K1把数据写到32ccl的缓冲存储器。



图十二

这里就TO K0 K0 K4M0 K1讲一下:

1、TO:就是写指令啦

3、K0:就是32ccl接口模块的缓冲寄存器BFM的#0(图)

4、k4m0就是m寄存器从M0开始K1就是四个BIT位,K2就是八个BIT位,K3就是十二个BIT位,这里是K4就是十六个BIT位,也就是一个字(D)的长度

5、K1为点数,上文讲过的

6、m8013为FX的秒脉冲特殊继电器

接下来监控一下32ccl的BFM-#0区,会看到0到1的变化,(由于M8013在变化所以M0也在变化,根据TO K0 K0 K4M0 K1是把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变化的。



图十七

那么主站缓冲寄存器找到了,看看程序里怎么写的吧,如图十八。



图十八

监控看到X150一直在变化,驱动了实际输出Y0C1

这个X150就是由32cclBFM#0刷新到主站模块QJ61BT11的E0区(远程RX)

是不是有点疑惑,无法把X150和这联系起来,或许你忘了CC-Link设置界面啦。上图看看,如图十九。



图十九

看到了吧,其实QJ61BT11主站模块的E0区是和x150对应的,就是说E0区如果最低位刷新的话,x150也变化,E0区的第2位变化,x151也变化,以此类推,直达第F位,从0到F共16位,一个字的长度。。。是不是清晰点了。。。

Review一下:FX的cpu通过TO指令写32ccl的#0缓冲寄存器,(TO K0 K0 K4M0 K1),    32CCL的BFM#0区对应QJ61BT11主站模块的E0缓冲寄存器,通过链接扫描的方式,实时刷新,再然后Q系列CPU就能直接读出数据了。。。

其实前期铺垫那么多,是想大家多去看些手册,因为三菱系的资料特别的多,而却实用性很强,你学会了看一本手册就有了一些思路,这个思路我个人理解为学习方法,要懂得如何去看手册,才能更好更快地解决问题。

特别喜欢一句话,(不要轻易的去问别人问题,因为人家的时间是宝贵的,你不但占用了别人的时间,还失去了一次学习的机会)。

最后,祝大家技术更上一层楼啦,升值加薪哈哈哈。See you next time!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则