1.1、查询GID
该命令可查看指定GID的卡是否存在,可用于搜索字库卡;静默模式下仍回应;
发送:
SF | CTRL | DES | SRC | TID | CMD | CRC | EF |
2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 |
SF:起始符,该值为固定值,不可更改,参见文档首页说明;
CTRL:控制符,包含CRC使能和数据长度,参见文档首页说明;
CMD:请求命令,0x0001;
DES:目标地址;作为发送时,DES值必须满足一定条件,参看文档首页注3;
SRC:源地址,该地址标示发送端地址,此值可由用户自行定义,回应命令中的DES值会以该值填充;
TID:会话ID,参见文档首页说明;
CRC:CRC16校验值,参见文档首页说明;
EF:结束符,该值为固定值,不可更改,参见文档首页说明;
注:字库卡系统在接受到一段命令后,会先分析命令中DES值是否与自身GID值匹配,若匹配,字库卡系统会处理该段命令,并作出相应的回应命令;若不匹配,则对该命令不做处理;所以若用于查询指定GID的字库卡是否在线,DES值就设置为GID值,若需要查询当前在线字库卡GID,DES值就可设置为0xFFFF(两种情况会匹配,1是DES=GID,2是DES=0xFFFF,为0xFFFF时要求当前连接字库卡只有一个,否则串口连接情况下,返回数据会比较混乱);
回应:
SF | CTRL | DES | SRC | TID | CMD | RES | CRC | EF |
2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 | 2字节 |
SF:开始符,同发送命令中开始符;
CTRL:控制符,包含CRC使能和数据长度,由字库卡发出的数据包始终开启CRC校验,用户使用时可根据需要选择是否验证后面CRC值;具体CRC16计算方式见附件5中说明;
DES:等于发送命令中的SRC值;
SRC:字库卡自身GID;
TID:等于发送命令中TID值;
CMD:回应命令,0x8001;(作为回应命令时,CMD的最高位即15b必须为1,作为发送时为0,下同);
RES:操作结果,0表示成功,其他表示错误,可查看附件1中错误代码。
CRC:CRC16校验值,由字库卡发出的数据包均会开启CRC校验;
EF:结束符,同发送命令中结束符;
注:该回应命令中SRC值即为字库卡GID。DES值为请求命令中SRC的值,下同。
例:
发送命令:
AA A5 08 00 FF FF 00 00 B0 A1 01 00 00 00 5A 55
(DES=0xFFFF,用于搜索当前在线字库卡;TID=0xA1B0(注意此处,所有多字节数据均为低字节在前,高字节在后,所以在命令中以0xB0 0xA1出现)自定义,该值会在回应中以DES值出现,TID=0xA1B0,回应命令中TID等于该值,用于关联请求和回应命令,未开启CRC校验值,为0x0000)。注意数据长度的算法。
回应命令:
AA A5 0A 08 00 00 01 01 B0 A1 01 80 00 00 EC f9 5A 55
(DES=0x0000,为请求命令中SRC值,SRC为字库卡自身GID值,RES=0x0000标示请求命令执行成功),字库卡回应时,均开启了CRC16校验,使用者可根据自身使用环境决定是否检查该校验。