RS232(MODBUS RTU)通信协议工业自动化RFID读卡器|读写器CK-FR03-B01开发手册
RS232(MODBUS RTU)通信协议工业自动化RFID读卡器|读写器CK-FR03-B01,是华翔天诚科技推荐的一款基于RS232、MODBUS RTU通信协议、支持ISO15693协议的高频读卡器,可支持多台读卡器联网工作,广泛应用于各类工业自动化,自动化制造领域,如刀具自动化生产管理、汽配装配线自动生产管理。产品提供完善的开发手册与代码案例及测试工具,集成方便,操作简单,稳定性能好,支持PLC设备联调与通信,深受系统集成商喜爱。
1、LED指示灯
LED指示灯:标签检测指示灯
读卡器工作过程:
读卡器接上电源后,读卡器进入自动调谐状态并进行自检,自检成功后绿色LED闪烁,随后进入工作状态,指示灯熄灭。读卡器检测到RFID标签存在时,绿色LED长亮。
2、接线说明
CK-FR03-B01接线端子定义如下:
CK-FR03-B01:
接线端子序号 |
接口 |
说明 |
1 |
VCC |
读卡器电源24V |
2 |
TXD |
RS232通信口TXD端 |
3 |
GND |
读卡器0V |
4 |
RXD |
RS232通信口RXD端 |
CK-FR03-B01单机工作时,接线如下:
4、读卡器寄存器地址分配
读卡器部分寄存器用于设置设备地址、通信波特率、通信校验方法以及读卡器的工作模式,部分寄存器用于显示RFID卡检测状态以及显示命令执行是否正常
读卡器可设置的寄存器设置后设置值掉电保存,读卡器重新上电后将以当前设置值工作。
寄存器0x0000用于保存设备的Slave ID,当要改变设备地址时,向寄存器写入相应的ID号,比如设备地址为0x01,则写入0x01。
- ID=0为广播地址,任何设备都可以接收ID。
- 如果该寄存器的数据为0xffff,则为默认的的出厂设备地址0x02。
- 使用MODUBUS功能码:03 06 16,其他功能码返回错误码。
- 出厂默认值:Slave ID =0x0002.
向该寄存器写入不同数值以改变不同波特率,波特率与数值的对用关系为:
波特率与寄存器设置值对应表
波特率 |
寄存器数值(H) |
4800 |
0001 |
9600 |
0002 |
19200 |
0003 |
38400 |
0004 |
115200 |
0005 |
115200 |
FFFF |
无效 |
其他值 |
- 如果该寄存器的数据为0xffff,则为默认的出厂波特率115200。
- 使用MODUBUS功能码:03 06 16,其他功能码返回错误码。
- 出厂默认值:波特率=115200pbs。
向该寄存器写入不同数值以设置校验方式,校验方式与数值的对用关系为:
奇偶校验与寄存器设置值对应表
校验方法 |
寄存器数值(H) |
无校验 |
0001 |
偶校验 |
0002 |
奇校验 |
0003 |
无校验 |
FFFF |
无效 |
其他值 |
- 使用MODUBUS功能码:03 06 16,其他功能码返回错误码。
- 出厂默认值:无校验位。
向该寄存器写入不同数值以设置不同的模式,模式与数值的对用关系为:
读卡器工作模式与设置值对应表
读卡模式 |
寄存器数值(H) |
标准MODBUS |
0001 |
Continue Read Mode |
0003 |
Read Once Mode |
0004 |
标准MODBUS |
FFFF |
无效 |
其他值 |
模式功能定义:
- 标准MODBUS:标准的MODBUS RTU通信模式,一应一答
- Continue Read Mode:设置为这种模式后,从设备只要收到一次MODBUS查询指令,从设备会一直执行该指令,并且从设备将会发送成功读取到的数据,直到发命令改变这种模式。
- Read Once Mode:设置为这种模式后,从设备只要收到一次MODBUS查询指令,从设备会一直执行该指令,并且从设备将会发送成功读取到的数据,直到发命令改变这种模式。但同一张RFID卡只能连续读取一次,即读取到A卡,发送读取到数据,再读取A卡,不再发送数据,直到读取B卡后,方可继续读取A卡。
- 使用MODUBUS功能码:03 06 16,其他功能码返回错误码。
- 出厂默认值模式:标准MODBUS
4.5、RFID标签状态标志寄存器 add=0x0004
RFID标签状态寄存器
RFID状态 |
寄存器数值(H) |
读卡范围内存在标签 |
0001 |
读卡范围内没有标签 |
0000 |
标签状态标志寄存器用于快速查询读卡器的感应范围内是否存在可读的RFID标签。
- 如果该寄存器值为0x0001,则读卡器感应区内有标签;
- 如果寄存器值为0x0000,则读卡器感应范围内没有标签。
注:在感应范围内没有标签时,如果对标签进行读写操作,读卡器将无法正常完成操作。如没有标签时,读操作后会返回的寄存器数值为0。
读写状态寄存器
读写状态 |
寄存器数值(H) |
读写操作无误 |
0000 |
读操作出错 |
0001 |
写操作出错 |
0002 |
读写状态寄存器用于显示读写操作后的状态变化,该寄存器只读。如果进行读操作,读操作过程出错则该寄存器值为0x0001,如果进行写操作,写操作过程出错则寄存器值为0x0002。如果读写操作过程均无误,则寄存器值为0x0000。
其中,单独发送读写操作查询命令(02 03 00 05 00 01 94 38),即只查询该寄存器时,读卡器返回的寄存器状态为上一次读写操作的状态,而不显示该查询命令的读写状态。
读写状态查询命令
操作 |
状态 |
寄存器数值(HEX格式) |
发送 |
查询命令 |
02 03 00 05 00 01 94 38 |
接收 |
读错误 |
02 03 02 00 01 3D 84 |
写错误 |
02 03 02 00 02 7D 85 |
|
读写无误 |
02 03 02 00 00 FC 44 |
当读操作错误时,返回的寄存器数值均为0,如发送指令02 03 00 06 00 04 A4 3B查询卡ID时,如果无卡则为02 03 08 00 00 00 00 00 00 00 00 9A 93。
其中当读操作中包含读写状态寄存器时,返回的数值中,读写状态寄存器状态为上一次读写操作(非读写操作查询命令操作)的状态。
相关的读操作查询读写状态寄存器流程如下:
读操作查询读写状态寄存器流程
在进行相关的读操作时,接收回来的数据在若为0,则存在读操作产生错误,或者所读取的数据本身为0两种情况。通过发送查询读写状态寄存器状态指令,根据读取状态寄存器的值判断上一次读操作是否正确,读写状态寄存器值为0x00则表明读操作无误,值为0x01则表明读操作出现错误。
相关的写操作查询读写状态寄存器流程如下:
写操作查询读写状态寄存器流程
用户进行写数据操作时,接收读卡器应答后,可发送读写状态寄存器指令来获取上一次写操作是否正确执行,读写状态寄存器值为0x00则表明写操作无误,值为0x02则表明写操作出现错误。
5、RFID标签地址分配
RFID标签数据地址分配如下表:
RFID标签数据地址分配表
UID地址 |
addr=0x0006 |
addr=0x 0007 |
只读 |
addr=0x 0008 |
addr=0x 0009 |
||
用
|
addr=0x 000A |
addr=0x 000B |
读写 |
addr=0x 000C |
addr=0x 000D |
||
... |
... |
||
... |
... |
||
addr=0x 4103 |
addr=0x 4104 |
||
addr=0x 4105 |
addr=0x 4106 |
注:
- 最大可支持8K Byte容量标签的读写操作。标签根据不同型号有不同的容量值,具体可参考标签的数据手册。
- UID数据区RFID标签的出厂ID存放区,数据为只读,UID长度为8bytes,地址范围0x0006~0x0009。
- 地址addr=0x000A至addr=0x4106为用户数据寄存器,用户可对这些寄存器进行读写操作。
CK-FR03-B01机械尺寸如下:
结构示意图