读写标签命令
cmd_inventory
缓存模式:读写器收到此命令后,进行多标签识别操作。标签数据存入读写器缓存区,使用提取缓存指令可获得标签数据,详见:2.4缓存操作命令。
上位机指令数据包:
| Head | Len | Address | CMD | Ant | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x07 | 0x80 | 4byte | ||
| 参数说明 | Ant | 每1Byte对应天线的使能位使能,2位以上使能表示天线轮询。 | |||
◆操作成功:
读写器返回数据包:
| Head | Len | Address | CMD | TagCount | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x05 | 0x80 | 2byte | ||
| 参数说明 | TagCount | 识别标签的总数量,根据EPC号来区分标签,相同EPC号的标签将被视为同一张标签。若未清空缓存,标签数量为多次盘存操作的数量累加。 | |||
◆操作失败:
读写器返回数据包:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x80 | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_real_time_inventory
实时模式(Auto):读写器收到此命令后,进行多标签识别操作。标签数据实时上传,不存入读写器缓存区。此命令一轮盘存耗时较长,适用于大批量标签读取。
上位机指令数据包:
| Head | Len | Address | CMD | Ant | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x89 | |||
| 参数说明 | Ant | 盘存是用的天线。 | |||
如有标签应答,返回如下数据包(多条):
| Head | Len | Address | CMD | Ant | PC | EPC | RSSI | Freq | Check |
|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x89 | 2byte | Nbyte | 4byte | 4byte | ||||
| 参数说明 | |||||||||
| Ant | 此字节是天线号。 | ||||||||
| PC | 标签的PC ,固定两个字节。 | ||||||||
| EPC | 标签的EPC号,长度可变化。 | ||||||||
| RSSI | 标签的实时RSSI。 | ||||||||
| Freq | 读回标签的频率。 | ||||||||
命令完成,读写器返回如下数据包:
◆操作失败:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x89 | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_customized_session_target_inventory
推荐使用的盘存指令
实时模式(Session):读写器收到此命令后,按照指定的session和inventoried flag进行多标签识别操作。标签数据实时上传,不存入读写器缓存区。普通盘存推荐使用此命令S1模式。
关于S0~S1模式,详见:EPC RFID Protocols_Class1_Gen2_V1.1.0->6.3.2.2 Sessions and inventoried flags
上位机指令数据包:
| Head | Len | Address | CMD | Session | Target | Check | ||
|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x06 | 0x8B | ||||||
| 参数说明 | ||||||||
| Session | 指定盘存的session。00为S0,01为S1,02为S2,03为S3。 | |||||||
| Target | 指定盘存的Inventoried Flag,00为A,01为B。 | |||||||
◆操作成功:
如有标签应答,返回如下数据包(多条):
| Head | Len | Address | CMD | Ant | PC | EPC | RSSI | Freq | Check |
|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x8B | 2byte | Nbyte | 4byte | 4byte | ||||
| 参数说明 | |||||||||
| Ant | 此字节是天线号。 | ||||||||
| PC | 标签的PC ,固定两个字节。 | ||||||||
| EPC | 标签的EPC号,长度可变化。 | ||||||||
| RSSI | 标签的实时RSSI。 | ||||||||
| Freq | 读回标签的频率。 | ||||||||
命令完成,读写器返回如下数据包:
◆操作失败:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x8B | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_read
上位机指令数据包:
| Head | Len | Address | CMD | MemBank | WordAdd | WordCnt | PassWord | Check | |
|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x0A | 0x81 | 4byte | ||||||
| 参数说明 | |||||||||
| MemBank(标签存储区域) | 0x00 | RESERVE | |||||||
| 0x01 | EPC | ||||||||
| 0x02 | TID | ||||||||
| 0x03 | USER | ||||||||
| WordAdd(读取数据首地址) | 取值范围请参考标签规格。 | ||||||||
| WordCnt(读取数据长度) | 字长,WORD(16 bits)长度。 取值范围请参考标签规格书。 | ||||||||
| PassWord | 标签访问密码,4字节。 | ||||||||
◆操作成功:
读写器返回数据包:此数据可能返回多条。数量等于读取的标签数量(无重复数据)。
| Head | Len | Address | CMD | TagCount | DataLen | Data | ReadLen | AntID | ReadCount | Check |
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x81 | 2byte | Nbyte | |||||||
| 参数说明 | ||||||||||
| TagCount | 成功操作的标签总数。16 bits。 | |||||||||
| DataLen | 所操作标签的有效数据长度。(PC+CRC+EPC+读取的标签数据)。 单位是字节。 | |||||||||
| Data | 所操作标签的有效数据。 PC (2字节) + EPC (根据标签规格) + CRC (2字节) + 读取的数据。 (PC(2字节) + EPC + CRC(2字节) 即EPC存储区域中的全部内容。) | |||||||||
| ReadLen | Read操作的数据长度。单位是字节。 | |||||||||
| AntID | 高6位是第一次读取的频点参数,低2位是天线号。 | |||||||||
| ReadCount | 该标签被成功操作的次数。 | |||||||||
◆操作失败:
读写器返回数据包:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x81 | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_write
上位机指令数据包:
| Head | Len | Address | CMD | PassWord | MemBank | WordAdd | WordCnt | Data | Check | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x82 | 4byte | WordCnt*2 | |||||||
| 参数说明 | ||||||||||
| PassWord | 标签访问密码,4字节。 | |||||||||
| MemBank(标签存储区域) | 0x00 | RESERVE | ||||||||
| 0x01 | EPC | |||||||||
| 0x02 | TID | |||||||||
| 0x03 | USER | |||||||||
| WordAdd(读取数据首地址) | WORD(16 bits)地址。 写入EPC存储区域一般从02开始,该区域前四个字节存放PC+CRC。 | |||||||||
| WordCnt(读取数据长度) | 字长,WORD(16 bits)长度。 取值范围请参考标签规格书。 | |||||||||
| Data | 要写入的数据 | |||||||||
或者使用Block Write:
| Head | Len | Address | CMD | PassWord | MemBank | WordAdd | WordCnt | Data | Check | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x0A | 0x94 | 4byte | WordCnt*2 | ||||||
| 参数说明 | ||||||||||
| PassWord | 标签访问密码,4字节。 | |||||||||
| MemBank(标签存储区域) | 0x00 | RESERVE | ||||||||
| 0x01 | EPC | |||||||||
| 0x02 | TID | |||||||||
| 0x03 | USER | |||||||||
| WordAdd(读取数据首地址) | WORD(16 bits)地址。 写入EPC存储区域一般从02开始,该区域前四个字节存放PC+CRC。 | |||||||||
| WordCnt(读取数据长度) | 字长,WORD(16 bits)长度。 取值范围请参考标签规格书。 | |||||||||
| Data | 要写入的数据 | |||||||||
◆操作成功:
读写器返回数据包:此数据可能返回多条。数量等于写入的标签数量(无重复数据)。
| Head | Len | Address | CMD | TagCount | DataLen | Data | ErrCode | AntID | WriteCount | Check |
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x82(or0x94) | 2byte | Nbyte | |||||||
| 参数说明 | ||||||||||
| TagCount | 成功操作的标签总数。16 bits。 | |||||||||
| DataLen | 所操作标签的有效数据长度。(PC+CRC+EPC)。 单位是字节。 | |||||||||
| Data | 所操作标签有效数据。 PC(2字节) + EPC (根据标签规格) + CRC (2字节) ( PC(2字节) + EPC + CRC (2字节) 即EPC存储区域 中的全部内容。) | |||||||||
| ErrCode | 所操作标签的操作结果,即错误代码。 | |||||||||
| AntID | 高6位是第一次读取的频点参数,低2位是天线号。 | |||||||||
| WriteCount | 该标签被操作的次数。 | |||||||||
◆操作失败:
读写器返回数据包:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x82 (或者0x94) | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_lock
上位机指令数据包:
| Head | Len | Address | CMD | PassWord | MemBank | LockType | Check | |||
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x09 | 0x83 | 4byte | |||||||
| 参数说明 | ||||||||||
| PassWord | 标签访问密码,4字节。 | |||||||||
| MemBank(标签存储区域) | 0x01 | User Memory | ||||||||
| 0x02 | TID Memory | |||||||||
| 0x03 | EPC Memory | |||||||||
| 0x04 | Access Password | |||||||||
| 0x05 | Kill Password | |||||||||
| LockType(锁定操作类型) | 0x00 | 开放 | ||||||||
| 0x01 | 锁定 | |||||||||
| 0x02 | 永久开放 | |||||||||
| 0x03 | 永久锁定 | |||||||||
◆操作成功:
读写器返回数据包:此数据可能返回多条。数量等于锁定的标签数量(无重复数据)。
| Head | Len | Address | CMD | TagCount | DataLen | Data | ErrCode | AntID | LockCount | Check |
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x83 | 2byte | Nbyte | |||||||
| 参数说明 | ||||||||||
| TagCount | 成功操作的标签总数。16 bits。 | |||||||||
| DataLen | 所操作标签的有效数据长度。(PC+CRC+EPC)。 单位是字节。 | |||||||||
| Data | 所操作标签有效数据。 PC(2字节) + EPC (根据标签规格) + CRC (2字节) ( PC(2字节) + EPC + CRC (2字节) 即EPC存储区域 中的全部内容。) | |||||||||
| ErrCode | 所操作标签的操作结果,即错误代码。 | |||||||||
| AntID | 高6位是第一次读取的频点参数,低2位是天线号。 | |||||||||
| LockCount | 该标签被操作的次数。 | |||||||||
◆操作失败:
读写器返回数据包:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x83 | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_kill
上位机指令数据包:
| Head | Len | Address | Cmd | PassWord | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x07 | 0x84 | 4 Bytes | ||
| 参数说明 | PassWord | 标签销毁密码 |
◆操作成功:
读写器返回数据包:
此数据可能返回多条。数量等于销毁的标签数量(无重复数据)。
| Head | Len | Address | CMD | TagCount | DataLen | Data | ErrCode | AntID | KillCount | Check |
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x84 | 2byte | Nbyte | |||||||
| 参数说明 | ||||||||||
| TagCount | 成功操作的标签总数。16 bits。 | |||||||||
| DataLen | 所操作标签的有效数据长度。(PC+CRC+EPC)。 单位是字节。 | |||||||||
| Data | 所操作标签有效数据。 PC(2字节) + EPC (根据标签规格) + CRC (2字节) ( PC(2字节) + EPC + CRC (2字节) 即EPC存储区域 中的全部内容。) | |||||||||
| ErrCode | 所操作标签的操作结果,即错误代码。 | |||||||||
| AntID | 高6位是第一次读取的频点参数,低2位是天线号。 | |||||||||
| KillCount | 销毁标签的操作只能为1。 | |||||||||
◆操作失败:
读写器返回数据包:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x84 | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_Select
上位机指令数据包:
| Head | Len | Address | CMD | ID | Target | Action | MemBank | Addr | Length | Value | Check |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x98 | ||||||||||
| 参数说明 | |||||||||||
| ID | 0x01-0x08:过滤ID标号,对应不同的过滤配置,如后面无参数,则代表清除过滤设置 | ||||||||||
| 0x20:查询过滤设置。 | |||||||||||
| Target | 指定盘存的session。00为S0,01为S1,02为S2,03为S3 | ||||||||||
| Action | 具体参数查看EPC RFID Protocols_Class1_Gen2_V2.0.0->Table6.30 Tag response to Action parameter | ||||||||||
| MemBank | |||||||||||
| 0x01 | EPC | ||||||||||
| 0x02 | TID | ||||||||||
| 0x03 | USER | ||||||||||
| Addr | 取值范围请参考标签规格 | ||||||||||
| Length | 过滤参数的长度 | ||||||||||
| Value | 过滤的参数 | ||||||||||
◆操作成功:
读写器返回数据包:
此数据可能返回多条。数量等于设置的过滤数量。
| Head | Len | Address | CMD | ID | Target | Action | MemBank | Addr | Length | Value | Check |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x98 | ||||||||||
| 参数说明 | |||||||||||
| ID | 0x01-0x08:过滤ID标号,对应不同的过滤配置,如后面无参数,则代表清除过滤设置 | ||||||||||
| 0x20:查询过滤设置。 | |||||||||||
| Target | 指定盘存的session。00为S0,01为S1,02为S2,03为S3 | ||||||||||
| Action | 具体参数查看EPC RFID Protocols_Class1_Gen2_V2.0.0->Table6.30 Tag response to Action parameter | ||||||||||
| MemBank | |||||||||||
| 0x01 | EPC | ||||||||||
| 0x02 | TID | ||||||||||
| 0x03 | USER | ||||||||||
| Addr | 取值范围请参考标签规格 | ||||||||||
| Length | 过滤参数的长度 | ||||||||||
| Value | 过滤的参数 | ||||||||||
◆操作失败:
读写器返回数据包:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x98 | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_set_access_epc_match
上位机指令数据包:
| Head | Len | Address | CMD | Mode | EpcLen | Epc | Check | |||
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x85 | |||||||||
| 参数说明 | ||||||||||
| MOde | 0x01:EPC匹配一直有效,直到下一次刷新。 | |||||||||
| 0x01:清除EPC匹配。 | ||||||||||
| EpcLen | EPC长度。 | |||||||||
| Epc | EPC号,由EpcLen个字节组成。 | |||||||||
读写器返回数据包:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x85 | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_get_access_epc_match
上位机指令数据包:
| Head | Len | Address | Cmd | Check |
|---|---|---|---|---|
| 0xA0 | 0x86 |
读写器返回数据包:
| Head | Len | Address | CMD | Status | EpcLen | Epc | Check | |||
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x86 | |||||||||
| 参数说明 | ||||||||||
| MOde | 0x01:有匹配。 | |||||||||
| 0x01:无匹配。 | ||||||||||
| EpcLen | 匹配的EPC号长度,无匹配时不返回此数据。 | |||||||||
| Epc | 匹配的EPC号,无匹配时不返回此数据。 | |||||||||
cmd_get_inventory_buffer
上位机指令数据包:
| Head | Len | Address | Cmd | Check |
|---|---|---|---|---|
| 0xA0 | 0x03 | 0x90 |
◆操作成功:
读写器返回数据包:
此数据可能返回多条。数量等于缓存中的标签数量(无重复数据)。
| Head | Len | Address | CMD | DataLen | Data | RSSI | Freq | Ant | InvCount | Check |
|---|---|---|---|---|---|---|---|---|---|---|
| 0xA0 | 0x89 | Nbyte | 4byte | 3byte | ||||||
| 参数说明 | ||||||||||
| DataLen | 所操作标签的有效数据长度。(PC+CRC+EPC)。 单位是字节。 | |||||||||
| Data | 所操作标签有效数据。 PC(2字节) + EPC (根据标签规格 + CRC (2字节)) ( PC(2字节) + EPC + CRC (2字节) 即EPC存储区域中的全部内容。) | |||||||||
| RSSI | 第一次读到该标签时的信号强度。 | |||||||||
| Freq | 第一次读到该标签时的频率。 | |||||||||
| Ant | 第一次读取的天线号。 | |||||||||
| InvCount | 该标签成功读取的次数,如果该值为0xFF,则说明成功读取次数 >= 255次。 | |||||||||
注意:
★命令完成后,缓存中的数据并不丢失,可以多次提取。
★若再次运行cmd_inventory 命令,则盘存到的标签将累计存入缓存。
★若再次运行其他的18000-6C命令,缓存中的数据将被清空。
◆操作失败:
读写器返回数据包:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x90 | |||
| 参数说明 | ErrorCode | 错误代码 |
cmd_get_and_reset_inventory_buffer
数据格式请参考cmd_get_inventory_buffer命令。
命令成功完成后,缓存中的数据将被全部清空。
cmd_get_inventory_buffer_tag_count
上位机指令数据包:
| Head | Len | Address | Cmd | Check |
|---|---|---|---|---|
| 0xA0 | 0x03 | 0x92 |
◆操作成功:
读写器返回数据包:
| Head | Len | Address | Cmd | TagCount | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x05 | 0x92 | 2 Bytes | ||
| 参数说明 | TagCount | 缓存中标签数据数量。无重复数据。 |
cmd_reset_inventory_buffer
上位机指令数据包:
| Head | Len | Address | Cmd | Check |
|---|---|---|---|---|
| 0xA0 | 0x03 | 0x93 |
读写器返回数据包:
| Head | Len | Address | Cmd | ErrorCode | Check |
|---|---|---|---|---|---|
| 0xA0 | 0x04 | 0x93 | CommandSuccess |