锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

三菱fx2n做从站的modbus通讯_三菱Q系列和FX2N系列进行CC-Link通讯(主站和智能设备站的通讯)...

时间:2023-01-29 01:30:00 电阻100w100krx2系列电阻

本例是关于主站与智能设备站的通信,即Q系列和FX系列的通讯。

原料:

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

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

硬件部分已经配置好了,如图1所示。我的通信模块没有添加终端电阻。终端电阻的功能是防止电缆长时间在终端反射信号,影响通信信号。我不记得专业术语了。

87f1c3391a5dca90204d918399a9e8c9.png

图一

然后是软件部分,配置主站,Q我新建了一个简单的项目,另一种形式是结构化项目。当然,任何一个都可以,如图2所示。

图二

分配一下I/O例如,如果是在线可以PLC数据读取,自动分配。点击设置结束,如图3所示。

图三

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

图四

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

图五

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

在这里,我们来谈谈硬件配置完成并下载后,当然,硬件拨码不能错。设备开始数据交互,这也是我最喜欢的地方。只要你知道数据在哪里BFM区域是在程序中读写的。以下是一个例子。下图为通信架构(所以没有标号)

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

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

你不明白吗?好吧,然后上图清楚点,在线监控如图8所示。很清楚吗?w100的数据写在主站模块的1E480(16进制)BFM区。

图八

下一步该怎么办?该搞智能设备站了。(FX2n)数据写完了,我该怎么读?

接下来我们来看看智能设备站的数据是怎么读出来的。或者上图,如图9所示,是通过指令(FROM K0 K8 D30 K1)读出来。

问题又来了。这个指令是什么意思?我来说说:

1、FROM读缓存区的操作;

2、K0就是指的32CCL接口模块的位置标记是cpu右边的第一个,从0开始,如果有另一个模块,新模块的位置标签是1,以此类推。读我的教程,你必须用好的中文,否则你只能猜,开玩笑。

3、k这有点有趣。继续上图,如图10所示;

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

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

来看看FX2n读取的数据也是250,这个数字,看下图9。

图九

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

图十

监控一下FX缓冲区第#8号位置是250吗?

清楚了,如图11所示。

图十一

接下来,我们来看看主站的想法。CPU把通过MOV D100 W100 这个指令,把D100数据(250)到达W100中,w配置中对应的100是主站模块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在变化所以M根据0也在变化TO K0 K0 K4M0 K1是把m0到m写下15的状态BFM#0 所以M0 变化BFM0 实时刷新)。

看图13会发现32CCL的BFM#0区的最低位置以每秒钟赫兹的频率发生变化。说明这个区域已经写了数据,然后主站是怎么读出来的简单!如图13所示。

图十三

监控主站的通信模块QJ61BT11,然后。。。问题来了。我想监控哪里,主站哪个区?上法宝,搬手册!我想你会问这本手册在哪里?

首先,你必须了解你的数据写在哪里,32CCL接口模块的BFM#0区,#0区的功能是什么?哦,我看了一眼,写着远程输入RX00-RX0F(设置站),如图14所示。

图十四

现在有了想法,从功能上确认。所以32CCL的BFM#0对应的QJ61bt11的BFM的E0(16进制),如图15所示。

图十五

找到主站地址后,监控验证,如图17所示。当然,我在这里捕捉截图。事实上,它已经改变了0-1。

图十七

然后找到主站缓冲寄存器,看看程序是怎么写的,如图18所示。

图十八

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

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

是不是有点疑惑,不能把X150与此联系,也许你忘记了CC-Link设置界面。看上图,如图19所示。

图十九

看,其实QJ61BT11主站模块的E0区是和x150对应,也就是说E如果0区最低刷新,x150也变化,E0区第二位变化,x151也发生了变化,以此类推,直位,从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!

来源/中国工控网,请注明转载来源

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章