读写标签命令
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 |