三菱 PLC CC-LINK 通讯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三菱A 系列PLC PLC CC CC CC--LINK 通讯方法的实现通讯方法的实现
三菱PLC 网络通讯主要有:CC-LINK 通讯,H 网通讯及以太网通讯三种,下面分别简单介绍这三种通讯实现的方法。
这里只是介绍一些基本的通讯方法和注意事项,其它如站设定的详细方法请参看其相应模块的手册。
一、基本知识
CC-LINK 中站的类型:
远程I/O 站:作为子站,只处理I/O 开关量的站点,如:AJ65BTB1-16D (16点输入模块);
远程装置(设备)站:能处理开关量和数字量的模块,如:AJ65BT-64AD (A/D 转换模块);
本地站:具有CPU 能和主站或其它本地站通讯的模块,如:A3NCPU; 主站:控制远程I/O 站,装置站和本地站的站点。
二、A 系列PLC CC-LINK 通讯的实现
A 系列PLC CC-LINK 的通讯相比Q 系列PLC 来说要麻烦一点,在Q 系列PLC 中实现CC-LINK 通讯只要在软件中组态就可以了,而A 系列PLC 则需要在程序中编程实现。
实际上,在编程时,只有搞清以下两方面就可以了:一是CC-LINK 的I/O 信号,二是CC-LINK 模块用于和CPU 交换数据的缓冲区(BFM),尤其是后者更为重要。
下面分别来说明:
1、CC-LINK 模块的I/O 信号
CC-LINK 模块的I/O 信号分是为了主CPU 联系用的,用来指明CC-LINK 模块的状态、通讯状态等一些开关量,可以被主CPU 直接使用,从而针对不同的情况让主CPU 做出不同的处理。
I/O 的名称和具体含义在这时里不在详述,
可以参看A系列CC-LINK模块手册。
需要说明的是,这些信号的X和Y信号都是针对于主CPU来说的,X信号是从CC-LINK模块传送到主CPU的信号(对于CC-LINK模块来说是输出信号),Y信号是从主CPU到CC-LINK模块的信号(针对CC-LINK模块来说是输入信号),这点要注意区分,不要混淆。
2、CC-LINK内存缓冲区(BFM)
BFM是为了便于和远程模块联系而在CC-LINK模块中开辟的一片内存区。
对于A系列CC-LINK模块来说,其和远程I/O开关量输入(RX和RY)及远程寄存器(RWw和RWr)的地址是固定的,具体如下:
远程输入RX:E0H~15FH(共128个16位的字,每个站占2个字,可以有64个站)。
下面是每个站所占有的RX在BFM中的情况:
表1:远程输入RX和站号的对应关系
远程输出RY:160H~1DFH,和RX一样,也是每个站占两个字。
下面是每个站所占有的RY在BFM中的情况:
表2:远程输出RY和站号的对应关系
需要说明以下2点:
★ 无论是远程I/O站,还是远程装置站或本地站,只有是远程开关量,都是依据以上两来定义开关量的地址,详细见以下例程。
★ 如一个站只有物理上的输入开关量,而没输出量,在分配远程RX和RY 也有同时分配这两者,如1#站是16位输入模块,2#站是32位输出模块,则1#站对应的远程输入RX的地址是E0H(E1H空闲未用),2#站的RY是162H~163H,前一个160H~161H是给1#站分配的(虽然1#站不可以用到)。
这显然造成了内存资源上浪费。
RWw:1E0H~2DFH,每个站占4个字,共256个字,可以让64个站使用。
RWw地址和站号对应关系如下表所示:
RWr:2E0H~3DFH,每个站占4个字,其和站号的对应关系如下表所示:
表4:远程寄存器RWr和站号的对应关系
和RX、RY同样,无论某个站用不用到寄存器,每个站对应的远程寄存器者是固定的,不能随便使用。
三、A系列PLC CC-LINK编程举例
1、远程I/O
(1)系统构成如下:
说明:
1#站:16点输入模块
2#站:32点输入模块
3#站:16点输出模块
4#站:16点输入/输出模块(8点输入/8点输出)
5#站:32点输出模块
(2)RX和RY和BFM的对应关系
从表1和表2可以找到各站远程输入和输出在CC-LINK模块BFM中的对
应关系如下:
(3)指令方法
从RX、RY和BFM的对应关系可以看出,在主站CPU读远程I/O站的输入RX时,只要用FROM指令就可以了;同样,主站输出远程信号RY时,只要使用TO指令把控制信号写入BFM中去就行了。
如:主站读取远程1#站的输入信号时(存于M15~M0),FROM指令的格式如下:
其中H0A是CC-LINK模块在主站位置(模块的每16点占一个位置),H00E0是BFM对应1#站远程输入RX的内存区。
再如:利用主站M51~M20的信号控制远程输入3#站,使用TO指令格式如下:
有关FROM和TO指令的使用方法和含义详见《》,此处不再缀述。
在这里要注意5#站所占用的BFM的内存地址,因为5#站是8点远程输入和8点远程输出,所以它所占用的MFB的内存是H0008的7~0位(RX)和H0168的第15~8位。
2、远程装置站
(1)系统构成如下:
远程装置站是指不仅有远程I/O量(RX和RY),而且还有远程寄存器(RWw 和RWr)的站点。
(2)远程I/O量(RX和RY)和BFM的对应关系
远程装置站的远程I/O量RX(RX0F~RX00,RX1F~RX10)和RY (RY0F~RY00,RY1F~RY10)各占32位,都有其特定的含义,详细请参看其使用手册。
还需要说明的是,因为1#站和3#站都占2个站点,所以在BFM中,1#站的远程输入RX占用的是E3H~E0H,2#站占用的是E7H~E4H,远程输出也同样1#站占163H~160H,2#站占167H~164H。
这一点要区分实际的物理远程站和BFM内存分配站点间的关系,这时,如果第2个远程站点AJ65BT-64DA V定义为2#站(在其站号设定中设置),其所占有的BFM对应的地址和定义为3#站时的一样。
远程装置站远程I/O指令的使用和远程I/O站的使用方法一样,不再缀述。
(3)远程寄存器(RWw和RWr)和BFM的对应关系
和远程I/O一样,RWw和RWr信号传输方向的方义是相对于主站CPU 来说的,如RWw是主站CPU的输出寄存器(w是wr ite的简写),RWr是主站CPU的输入寄存器(r是r ead的简写)。
对于本系统来说,RWw和RWr和BFM内存地址的对应关系如下:
远程寄存器的编程指令也是FROM和TO,如读取1#站CH1通道的A/D 转换结果,并保存到D10中,指令如下:
同样,当设置1#站的平均处理方法时,使用TO指令的格式如下(提前把设定保存在D20中):
3、远程本地站
(1)系统构成
由于本地站本身具有CPU和CC-LINK模块,也具有处理指令的能力,因此,其和远程主站对应的远程输入输出(RX和RY)和远程寄存器(RWw和RWr)的关系复杂一些。
(2)远程输入输出(RX和RY)
★ 对应关系
从以上的对应关系可以看出:
(a)无论是在主站,还是在本地站,在自身带的CC-LINK模块中为其它的站点分配的BFM不变;
(b)主站和本地站间的通讯规则如下:本地站的RX内存区和主站的RY 内存相对应(本地站RX 主站RY),主站的RY内存区和本地站的RX内存区相对应(主站RY 本地站RX)。
(c)本地站和本地站的通讯规则如下:本地站1#的RY内存区和本地站2#的RY内存区(本地站1#RY 本地站2#RY)。
注:此处的双箭头指不对的站,对于某一站只能是单方向的。
例如:1#本地站的可以控制2#本地站,也可以由2#本地站控制1#本地站(说见下)。
(d)在主站和本地站都有编程才能实现主站和本地站或本地站和本地站间的通讯。
★ 编程方法
理顺了上述的对应关系,下面通过几个例子来说明编程方法。
例1:1#本地的M15~M0写入主站的M35~M20
1#本地站的程序:
该指令实现的功能是把M15~M0放入1#本地站H0160中。
主站程序:
该指令实现的功能是把H00E0中的各位放到M35~M20中。
这样,通过两条指令就实现了本地站点控制主站的目的(可以用M35~M20控制主站的输出等元件)。
例2:主站把M15~M0各位写入到1#本地站的M35~M20中。
主站程序:
1#本地站的程序:
例3:1#本地站的M15~M0写入到2#本地站的M35~M20中。
1#本地站程序:
2#本地站程序:
(2)远程寄存器(RWw和RWr)
★ 对应关系
★ 编程方法
弄清了以上的对应关系,编程很容易实现,不再缀述。
4、混合系统的CC-LINK编程
所谓混合系统,是指在一个CC-LINK通讯系统中,包括各种远程站,如远
程I/O站,装置站和本地站。
只要在编程时,注意弄清各个站点所对应的BFM
区就可以了,编程方法同各个单独的站点时的方法相同。
这是我自己的总结,仅供参考!
全文完!。