APP下载

基于MCGS触摸屏、三菱PLC与RFID无线射频模块的通讯应用

2020-05-14朱重阳

机电工程技术 2020年3期
关键词:三菱触摸屏报文

朱重阳

(中山市中等专业学校,广东中山 528400)

0 引言

随着工业物联网的发展,借助于控制终端,现实数据的无线采集、设备的自动运行、过程的远程监控,逐渐成为工控领域的发展方向。随着技术的成熟,智能制造的概念正在工业生产中成为现实。构建由触摸屏、PLC、RFID无线射频模块组成的工控系统,实现三者之间的数据互联互通,信息的识别与处理,有效地诠释智能制造的新方向。

本文设计出基于MCGS触摸屏、三菱FX3U_PLC及CY-14443N系列射频读写模块组成的工控系统,完成三者之间的数据传输、联机控制。可在电梯、门禁、自动售货机等领域中应用。系统构架如图1所示。

图1 系统组成

1 MCGS触摸屏与三菱PLC之间的通讯设置

1.1 通讯方式选择

在三菱FX3U_PLC基本单元中,已内置了RS422及RS485两种通讯端口。其中,RS422通讯端口,常应用于三菱PLC程序的下载与传输;RS485通讯接端口常用于外围设备的交互。触摸屏与PLC的通讯,既可以通过RS485通讯端口,依托于FX3U-485BD实现,完成数据的传输与监控;也可以借助于RS422端口来完成。本文通过RS422编程端口来完成二者之间的通讯。编程口驱动通讯方式如表1所示。

表1 编程口驱动方式

此方法在硬件连接方面,实际操作起来较为简单,通过市场上常规PLC程序下载即可实现。当然也可以根据接线结构自作通讯电缆,其端口连接方式如图2所示。

图2 三菱FX系列RS422通讯电缆

1.2 编程口通讯参数设置

在触摸屏与PLC通讯中,触摸屏作为父设备,PLC作为子设备。在MCGS软件中的“设备窗口”中,需要添加父设备,并将“三菱_FX系列编程口”作为子设备,下挂其中[1]。尤其需要注意的是父设备的属性,默认参数为9600、7、1、偶校验,一般不要做更改。子设备的属性一般根据实际使用PLC的型号来设定;但其兼容性比较广泛,根据多次的工程实践,可以不做更改。三菱PLC端默认设置与此协议一致,可不做设置。触摸屏端通讯设置如图3所示。

图3 MCGS触摸屏与三菱PLC通讯参数设置

2 RFID无线射频模块与三菱PLC的通讯设置

基于三菱PLC基本单元通讯端口的组成,RFID无线射频模块与三菱PLC的通讯则由RS485端口完成。RFID无线射频模块的读写控制端,分别于RS485端口读写端相连。借助于FX3U_485BD模块,将RFID无线射频模块的信号传送给PLC端。其接线示意图如图4所示。

图4 RFID无线射频模块与三菱PLC通讯接线示意图

2.1 参数设定

RFID无线射频模块与三菱PLC的通讯,难点在于通讯协议的设置,在将指定的通讯格式转化成PLC的机器语言之前,需要二者的通讯格式进行统一。在RFID无线射频模块端的通讯格式如表2所示。

表2 RFID无线射频模块通讯格式

在三菱PLC端,需要依据RFID无线射频模块端的通讯格式,设定通讯格式字D8120,并保证完全一致,同时要对PLC重启上电操作。也可以通过设置PLC参数,进行格式设定,如图5所示。

2.2 格式设定

RFID与PLC两者之间通讯,有统一的命令格式即:前导头+通讯长度+地址码+命令字+数据域+校验码[2]。

(1)前导头:0×AA 0×BB 2个字节(0×表示该值为1个16进制数)。

(2)通讯长度:不包括前导头在内的其他字节数(含通讯长度字节本身)。

(3)地址码:0×00 0×01 2个字节。

图5 PLC端参数设定

其中地址码的存储比较特殊,高位在后,低位在前。在本例中,高位是01,低位是00,实际上表示十六进制数值0100[3],也就是十进制数值256,这个命令是发给地址为256的模块的,其他地址的模块不会响应这个命令。

尤其需要注意的是RFID读写控制器模块上有4个DIP拨码开关,DIP1、DIP2和DIP3用于设置该模块的通讯地址码,其中前3个拨码开关作为地址拨码有效,按照二进制方式最多可添加8个RFID读写控制器模块,通讯报文中地址码的值要与DIP拨码设置值保持一致,DIP4用于设置通讯的终端电阻。

(4)命令字:RFID读写控制器模块用户可用命令如表3所示。

表3 RFID模块读写控制命令

(5)数据域:需要发送的数据。

(6)校验码:是一个异或的结果,异或处理的对象是去掉前导头和校验码字节之外,所有通讯字节[5]。

(7)返回值:当CPU发送命令帧之后,需要等待读取返回值,其返回值的格式如下。

正确:前导头+通讯长度+地址码+上次所发送的命令字+数据域+校验码[6]。

错误:前导头+通讯长度+地址码+上次所发送的命令字的取反+校验码[6]。

2.3 通讯范例

范例:读数据(下面的数据均以十六进制为例)

命令格式:AA BB 0C 01 00 21 00 01 FF FFFFFFFFFF 2D

【AA】【BB】:表示命令头;

【0C】:表示12个字节的数据长度(0C 01 00 21 00 01 FF FFFFFFFFFF);

【01】【00】:表示地址码低位在前,高位在后,本例中低位是01,高位是00,表示0x01,转换为十进制地址也是为1,也就是这个命令是发给地址是1的模块的,其他地址的模块不会响应这个命令;

【21】:查表3可以看出,读数据的命令码为0x21;

【00】:表示密钥类型;

【01】:块号,表示将数据写入块号为1的存储地址中;

【FF】【FF】【FF】【FF】【FF】【FF】:表示密钥,因为是原始卡片,密钥6个FF;

【2D】:校验位,把所有数据除开[AA][BB]的数据异或值。

若要读取当前电子标签中的数据时,PLC需要向RFID读写模块发送读数据的报文,例如报文数据为:AA BB 0C 01 00 21 00 01 FF FFFFFFFFFF 2D。在样例程序中,用RS指令设置的输入输出地址和点数如图6所示。

图6 设置发送和接收数据地址及点数

所以将发送的报文存储在以D100地址为开头的连续若干个地址中。因为在PLC中的D寄存器是16位的寄存器,而RFID的数据报文是以8位数据为单位的,所以,将报文数据中的2个8位数据组合存储到相对应的PLC寄存器中,如图7所示。

图7 发送数据对应的PLC存储地址

需要特别注意的是在数据的传送过程中,报文2个字节的数据是低位在前,高位在后,所以在传送数据的过程中[7],注意高低位数据的前后位置,例如把AA BB传送给D100的地址时,梯形图程序应该写成【MOV HBBAA D100】,以此类推。在图7中可以看出,PLC发送该段报文的数据长度为(D100~D107)8个字,所以D10的值设置为K8。

在实际的编程中,需要计算出该段报文最后1个字节的校验值,程序计算过程如图8所示。

图8 校验码程序计算过程

3 MCGS、PLC与RFID通讯调试

MCGS、PLC与RFID三者之间的通讯调试,需要在硬件搭建的基础,完成MCGS组态界面设计与三菱PLC程序设计。MCGS组态端在添加“设备窗口”的基础上,需要添加三菱PLC对应的数据对象,并在“用户窗口”按照组态规范绘制相应的界面,并将PLC的数据添加到组态对象中。具体如图9所示。

图9 MCGS组态界面设置

三菱PLC端,在完成PLC参数设定的基础上,编写RFID读写程序。其中程序分为3部分RFID读数据操作、RFID写数据操作及相关提示信息,程序如图10所示。

图10 RFID读数据程序、写数据程序、信息提示程序

4 结束语

通过多次的工程实践,MCGS触摸屏、三菱PLC与RFID无线射频模块搭建的工控系统,借助于控制终端,构建由触摸屏、PLC、RFID无线射频模块组成的工控系统,实现信息的传输与处理,着力实现信息深度自感知、智慧优化自决策、精准控制自执行[8]。可以对产品的生产、存储、运维全流程监控与反馈。有效实现了数据互联互通,信息的识别与处理,诠释智能制造的新方向。

猜你喜欢

三菱触摸屏报文
基于J1939 协议多包报文的时序研究及应用
三菱日联银行
CTCS-2级报文数据管理需求分析和实现
三菱日联银行
利用三菱PLC在老设备上的改造应用
PLC和触摸屏在卫生间控制系统的应用
浅析反驳类报文要点
浅析投射式多点触控电容触摸屏
皮肤“长”出触摸屏
ATS与列车通信报文分析