搜档网
当前位置:搜档网 › 三菱电机 Q 系列 PLC 与图尔克 RFID 串行通信说明

三菱电机 Q 系列 PLC 与图尔克 RFID 串行通信说明

三菱电机 Q 系列 PLC 与图尔克 RFID 串行通信说明
三菱电机 Q 系列 PLC 与图尔克 RFID 串行通信说明

三菱电机Q系列PLC与图尔克RFID串行通信说明

作者巢晓阳

实验对象:

三菱电机Q系列PLC:Q38B+Q61P+Q03UDECPU+QJ61BT11N+QJ71C24N

图尔克RFID:BL20-E-GW-RS-MB/ET(串口网关),BL20-2RFID-S(RFID模块),TN-Q80-H1147(RFID读写头),TW-R50-B128(RFID载码体)。

由于图尔克的该串口网关采用Modbus-RTU通信,所以此次QJ71C24N串口模块采用预定义协议方式来进行通信。

一.QJ71C24N串口模块的设置(GX Works2)

1.在“智能功能模块”上点击右键,并选择“添加新模块”。

2.在弹出的对话框中选择如下:

3.双击“开关设置”。

在弹出的对话框中设置如下(此次采用RS485通信,设置CH2如红框中所示):

其中,“通信协议设置”选择“通信协议”表示采用预定义协议方式。

4.双击“各种控制指定”并设置如下:

5.选择“工具”/“通信协议支持功能”/“串行通信模块”。

6.在弹出的窗口中选择“文件”/“新建”。

点击“添加”。

在弹出的对话框中设置如下(由于采用Modbus-RTU通信,“类型”选择“通信协议库”,“制造商”选择“Schneider Electric”,“型号”选择“MODBUS”):

根据此次通信的需要,添加以下2个协议:

1)Write Multiple Registers(功能代码:16)

2)Read Input Registers(功能代码:04)

7.选择“编辑”/“软元件批量设置”。

在弹出的对话框中设置如下:

8.在完成以上设置以后,选择“在线”/“模块写入”将协议设置数据写入到QJ71C24N串口模块中。

9.PLC程序编写(需要使用CPRTCL专用指令来执行预定义协议)

其中,专用指令CPRTCL中的第1个K2表示CH2,第2个K2表示连续执行2条协议,D302中指定的是第1个执行的协议编号为1,D303中指定的是第2个执行的协议编号为2。

二.图尔克串口网关(BL20-E-GW-RS-MB/ET)的设置

该串口网关的默认设置为:Modbus-RTU,数据位8位,偶校验,停止位1位。

另外,可以通过DIP开关进行地址号、波特率、RS232/RS485选择等项的设置。下图为DIP 开关的示意图:

此次实验中,地址号(ADDRESS:对应D0和D134)设为4(22拨到ON),波特率(Bps)设为9600bps(2个开关均为OFF),RS485(开关拨到ON)。

之前QJ71C24N串口模块的“开关设置”中也已按以上进行了相应的设置。

三.接线

四.Modbus通信说明

1.Modbus寄存器地址表(串口网关)

2.指令

1)Write Multiple Registers(功能代码:16)

根据之前在QJ71C24N串口模块中添加协议时所设置的软元件以及Modbus寄存器地址表,其中Head holding register number(对应D1)应为2048(十进制),由于每个RFID模块占用输出地址长度为24个字节,所以Write points(对应D2)应为12,Number of bytes(对应D3)应为24。Device data(对应D4~D15)中的具体内容将在第四项的“输出地址”中详细说明。

2)Read Input Registers(功能代码:04)

根据之前在QJ71C24N串口模块中添加协议时所设置的软元件以及Modbus寄存器地址表,其中Head input register number(对应D135)应为0,由于每个RFID模块占用输入地址长度为24个字节,所以Read points(对应D136)应为12。

正常情况下,将会返回以下数据:

Device data(对应D139~D150)中的具体内容将在第四项的“输入地址”中详细说明。

五.图尔克RFID通信具体说明

每个RFID模块(BL20-2RFID-S)有2个通道,可以连接2个读写头。共占用输入地址长度为24个字节,输出地址长度为24个字节,即每个通道占用输入地址12个字节,占用输出地址12个字节。

1.输入地址(对应D139~D150)的定义如下:

Done(对应D139.7):完成读写操作

Busy(对应D139.6):接收到读写命令,正在等待载码体

XCVR CON:读写头与模块正常通讯标志

XCVR_ON:读写头处于激活状态

Read Data(对应D141~D144):读出的数据(最多一次读8个字节)

TP(对应D139.2):载码体在读写头范围内

Error:当出现故障时,此位为1

2.输出地址(对应D4~D15)的定义如下:

XCVR(对应D4.7):激活读写头

TAG_ID:读取载码体的ID号

Read(对应D4.4):读命令

Write(对应D4.3):写命令

Reset:复位命令

Byte count 2,1,0(对应D4.A,D4.9,D4.8):一次读写的字节数 000=1、001=2、

010=3…111=8(最多一次读写8个字节)

Address high_byte:读写载码体内数据的起始字节数(高8位)

Address low_byte:读写载码体内数据的起始字节数(低8位)

Write Data(对应D6~D9):要写入载码体的数据(最多一次写8个字节)

1)激活读写头,使XCVR=1(输出)。

2)设置读写载码体的起始地址Address byte=0(输出),设置数据长度Byte Count(输出)为8个字节。

3)当进行读操作时,READ(输出)置1后再为0。当进行写操作时,WRITE(输出)置1后再为0。

六.具体PLC程序

以下程序会进行初始值的设定以及执行预定义协议专用指令。

以下程序会将D1200~D1203中的数据写入到RFID载码体中。

以下程序会将从RFID载码体中读取到的数据保存到D2200~D2203中。

相关主题