内容发布更新时间 : 2024/12/23 18:00:10星期一 下面是文章的全部内容请认真阅读。
UHF电子标签读写模块UHFReader86用户手册V1.10
消息。
Pwd:四个字节,这四个字节是访问密码。32位的访问密码的最高位在Pwd的第一字节(从左往右)的最高位,访问密码最低位在Pwd第四字节的最低位,Pwd的前两个字节放置访问密码的高字。只有当读保留区,并且相应存储区设置为密码锁、且标签的访问密码为非0的时候,才需要使用正确的访问密码。在其他情况下,Pwd为零或正确的访问密码。
MaskMem:一个字节,掩码区。0x01:EPC存储区;0x02:TID存储区;0x03:用户存储区。其他值保留。若命令中出现了其它值,将返回参数出错的消息。
MaskAdr:两个字节,掩码的起始位地址(单位:Bits)。范围0~16383。
MaskLen:一个字节,掩码的位长度(单位:Bits)。
MaskData:掩码数据。MaskData数据字节长度是MaskLen/8。如果MaskLen不是8的整数倍,则MaskData数据字节长度为[MaskLen/8]取整再加1。不够的在低位补0。
注:当MaskMem、MaskAdr 、MaskLen、MaskData为空时表示以完整的EPC号掩膜。
应答: Len Adr reCmd Status Data[] CRC-16 0xXX 0xXX 0x15 0x00 Word1,Word2,… LSB MSB 参数解析: Word1, Word2...: 以字为单位。每个字都是2个字节,高字节在前。Word1是从起始地址读到的字,Word2是起始地址后一个字地址上读到的字,以此类推。
8.2.19 指定掩码扩展写数据
这个命令可以一次性往保留区、TID存储区或用户存储区中写入若干个字。
命令: Len Adr Cmd Data[] CRC-16 0xXX 0xXX 0x16 —— LSB MSB Data参数如下: Data[] WNum 0xXX Pwd 4Byte ENum 0xXX 0xXX EPC 变长 2Bytes Mem 0xXX 0xXX WordPtr 2Bytes 变长 Wdt 变长 MaskMem MaskAdr MaskLen MaskData 参数解析:
28
UHF电子标签读写模块UHFReader86用户手册V1.10
WNum:待写入的字个数,一个字为2个字节。这里字的个数必须和实际待写入的数据个数相等。WNum必须大于0,最大为32。若上位机给出的WNum为0或者WNum和实际字个数不相等,将返回参数错误的消息。
ENum:在(0x00~0x0f)范围内表示EPC号长度,以字为单位。EPC的长度在15个字以内。此时无MaskMem、MaskAdr 、MaskLen、MaskData参数项。ENum为0xff时有MaskMem、MaskAdr 、MaskLen、MaskData参数项,无EPC参数项。如果为其它值将返回参数错误信息。
EPC:要写入数据的标签的EPC号。长度由所给的EPC号决定,EPC号以字为单位。高字在前,每个字的高字节在前。这里要求给出的是完整的EPC号。
Mem:一个字节,选择要写入的存储区。0x00:保留区;0x01:EPC存储区;0x02:TID存储区;0x03:用户存储区。其他值保留。若命令中出现了其它值,将返回参数出错的消息。
WordPtr:两个字节,高字节在前,指定要写入数据的字起始地址。
Wdt:待写入的字,字的个数必须与WNum指定的一致。这是要写入到存储区的数据。每个字的高字节在前。Data[]中前面的字写在标签的低地址中,后面的字写在标签的高地址中。比如,WordPtr等于0x02,则Data[]中第一个字(从左边起)写在Mem指定的存储区的地址0x02中,第二个字写在0x03中,依次类推。
Pwd:4个字节的访问密码。32位的访问密码的最高位在Pwd的第一字节(从左往右)的最高位,访问密码最低位在Pwd第四字节的最低位,Pwd的前两个字节放置访问密码的高字。在写操作时,应给出正确的访问密码,当相应存储区未设置成密码锁时Pwd可以为零。
MaskMem:一个字节,掩码区。0x01:EPC存储区;0x02:TID存储区;0x03:用户存储区。其他值保留。若命令中出现了其它值,将返回参数出错的消息。
MaskAdr:两个字节,掩码的起始位地址(单位:Bits)。范围0~16383。
MaskLen:一个字节,掩码的位长度(单位:Bits)。
MaskData:掩码数据。MaskData数据字节长度是MaskLen/8。如果MaskLen不是8的整数倍,则MaskData数据字节长度为[MaskLen/8]取整再加1。不够的在低位补0。
注:当MaskMem、MaskAdr 、MaskLen、MaskData为空时表示以完整的EPC号掩膜。
应答: Len Adr reCmd Status Data[] CRC-16 0x05 0xXX 0x16 0x00 —— LSB MSB 29
UHF电子标签读写模块UHFReader86用户手册V1.10
8.2.20 带缓存询查
上位机发送该命令进行多标签识别操作,同时将标签数据存入读写模块缓存区。
和8.2.1“询查标签”命令不同的是,读写模块在预先设定好的询查时间内连续的盘询标签,将标签数据存储到内部的缓存区中(缓存区可以设定为EPC最大长度128bit或496bit两种格式),在询查时间到来后结束询查,并返回缓存区中标签总数和本次询查的标签次数(相同标签多次读到将被多次计数)。用户可以通过缓存数据提取、清空缓存和查询缓存区标签数量等命令来访问缓存中的数据。
询查时间的缺省值是1s,用户可以通过运行读写模块自定义命令设定询查时间命令来修改,也可以通过附带可选参数来临时设置。允许的范围是:3*100ms~255*100ms(实际的响应时间可能会比设定的值大0~75ms)。
询查时间如果设定的过短,可能会出现在规定时间内询查不到电子标签的情况。 注:上位机一旦执行8.2.1“询查标签”命令,之前缓存区的数据将被清空。
命令: Len 0xXX Adr 0xXX Cmd 0x18 Data[] —— CRC-16 LSB MSB Data参数如下: Data[] QValue Session MaskMem 0xXX Data[] Target Ant Scantime 0xXX 0x80 0xXX 参数解析:
QValue:1个字节,询查EPC标签时使用的初始Q值,Q值的设置应为场内的标签数量约等于2Q。Q值的范围为0~15,若命令中出现了其它值,将返回参数出错的消息。
Session:1个字节,询查EPC标签时使用的Session值。 0x00:Session使用S0; 0x01:Session使用S1; 0x02:Session使用S2; 0x03:Session使用S3。
其它值保留。若命令中出现了其它值,将返回参数出错的消息。
MaskMem:一个字节,掩码区。0x01:EPC存储区;0x02:TID存储区;0x03:用户存
30
MaskAdr MaskLen MaskData AdrTID LenTID 2Bytes 0xXX 变长 0xXX 0xXX 0xXX 0xXX UHF电子标签读写模块UHFReader86用户手册V1.10
储区。其他值保留。若命令中出现了其它值,将返回参数出错的消息。
MaskAdr:两个字节,掩码的起始位地址(单位:Bits)。范围0~16383。 MaskLen:一个字节,掩码的位长度(单位:Bits)。
MaskData:掩码数据。MaskData数据字节长度是MaskLen/8。如果MaskLen不是8的整数倍,则MaskData数据字节长度为[MaskLen/8]取整再加1。不够的在低位补0。
AdrTID:询查TID区的起始字地址。命令中有此参数和LenTID时表示询查的是TID而不是EPC号。
LenTID:询查TID区的数据字数。LenTID取值为0~15,若为其它参数将返回参数错误信息。命令中有此参数和AdrTID时表示询查的是TID而不是EPC号。
Target(可选参数):1个字节,询查EPC标签时使用的Target值。 0x00:Target值使用A。 0x01:Target值使用B。
其他值保留。若命令中出现了其它值,将返回参数出错的消息。
Ant(可选参数):1个字节,本次要进行询查的天线号。 0x80 – 天线1;
其他值保留。若命令中出现了其它值,将返回参数出错的消息。
ScanTime(可选参数):1个字节。本次命令询查时间。读写模块将会把询查命令最大响应时间设置为SanTime*100ms。
注:
①当MaskMem、MaskAdr 、MaskLen、MaskData为空时表示无掩膜条件。
②Target、Ant、ScanTime为可选参数,命令中必须同时带有这三个参数或同时不带这三个参数。当命令中没有带这三个参数时,设备使用预先设定的Target、Ant、ScanTime参数询查标签;当命令中带有这三个参数时,设备使用这三个指定的参数值询查标签。
应答: Len 0x09 Adr 0xXX reCmd 0x18 Status 0x00 Data[] BufferCount 2bytes TagNum 2bytes CRC-16 LSB MSB 参数解析: BufferCount:2个字节,缓存中记录的标签总数,相同 EPC/TID数据的标签将被视为同一张标签。若未清空缓存,标签数量为多次询查操作的数量累加。
TagNum:2个字节,本次询查中读取标签的次数,不区分是否多次读取同一张标签。
31
UHF电子标签读写模块UHFReader86用户手册V1.10
8.3读写模块自定义命令
8.3.1 读取读写模块信息
上位机发送该命令给读写模块,将获得读写模块的信息,这其中包括读写模块地址(Adr)、读写模块软件版本(Version)、读写模块类型代码、读写模块协议支持信息、读写模块的频率范围、读写模块的功率、询查时间、天线检测参数等信息。
命令: Len Adr Cmd Data[] CRC-16 0x04 0xXX 0x21 —— LSB MSB 应答: Len Adr reCmd Status Data[] CRC-16 Version,Type,Tr_Type,dmaxfre,dminfre,Power,0x11 0xXX 0x21 0x00 LSB MSB Scntm,Ant,Reserved, Reserved,CheckAnt 参数解析: 参数 长度(Byte) 说明 Version 2 版本号,高字节代表主版本号,低字节代表子版本号 Type 1 读写模块类型代号。0x0f代表UHFReader86。 读写模块支持的协议信息,Bit1为1表示支持18000-6cTr_Type 1 协议, Bit0为1表示18000-6B协议,其它位保留。。 Bit7-Bit6用于频段设置用;Bit5-Bit0表示当前读写模dmaxfre 1 块工作的最大频点。 Bit7-Bit6用于频段设置用;Bit5-Bit0表示当前读写模dminfre 1 块工作的最小频点。 Power 1 读写模块的输出功率。范围是0到26。 询查时间。读写模块收到询查命令后,在询查时间内,Scntm 1 会给上位机应答。 Ant 1 天线配置信息。 BeepEn 1 蜂鸣器开关信息。 Reserved 1 保留。 Reserved 1 保留。 频段设置如下表: MaxFre(Bit7) MaxFre(Bit6) MinFre(Bit7) MinFre(Bit6) FreqBand 0 0 0 0 保留 0 0 0 1 Chinese band2 0 0 1 0 US band 0 0 1 1 Korean band 0 1 0 0 EU band
32