Zebra RW420正在打印ZPL命令以获取TID

问题描述

我正在尝试从ZPL命令打印TID

获得JJL179464

谁能告诉我 这个字符是什么

解决方法

部分回答您的问题:

您正在读取ASCII编码的数据吗?因为您的结果:“ JJL179464” 看起来不是有效的RFID标签数据,除非它是ASCII格式。 RFID标签中编码的数据以二进制编码。根据阅读器的设置,数据可以二进制,十六进制或ASCII格式输出。根据前三个符号“ JJL”来判断,您的阅读器已设置为输出ASCII数据,或者您的代码中有错误。

尝试回答以下问题:

  • 您要达到什么目标?
  • 向我们提供您的代码。 (完整,结构化)
  • 您使用什么设备读取RFID标签?
  • 为我们提供您的阅读设备设置。 (除非它们是代码的一部分)
  • 您知道您要读取的RFID标签的数据内容吗?也就是说,您可以验证阅读是否成功吗?

编辑:

谢谢您的代码:

^XA

^FN1^RFR,H,12,2^FS^FH_^HV1,256^FS

^XZ

似乎您的代码中可能存在几个问题。

首先,您的^ HV命令不完整。它缺少3个参数。第一个(第三个参数)设置数据前缀。下一个数据终止。最后一个指定何时返回数据。您应该将所有这些都包括在^ HV命令中。

已经有一个很好的示例,说明如何设置^ HV命令: ^RFR,^FN1,^HV1 not sending output to computer

第二个问题,至少我认为这是一个问题,但是我没有办法验证它,是您正在使用^ FH_命令。您的代码中没有用于编码特殊字符的十六进制值,因此使用它没有意义。所以我会尝试忽略它。

此外,我不确定命令的顺序。 ^ FN1命令应该在^ RFR之后,在^ FS命令之前。

尝试以下代码:

^XA

^RFR,2^FN1^FS^HV1,256,HEADER,TERMINATION,L^FS

^XZ

这应该为您提供以下格式的输出:

HEADERhexadecimaldataTERMINATION

它有点难以阅读,但如果可以使用,则可以很好地对其进行格式化。 HEADER和TERMINATION一词用作^ RFR命令中数据的前缀和后缀。因此,如果可行,您可以将其替换为括号或任何适合您的需求。

我还担心两件事:

  • 要读取的字节数-12。通常为8,但取决于RFID标签的类型和数据格式而有所不同。我并不是说这是一个错误,对我来说是不常见的。
  • ^ HV1命令中的最后一个参数可能是“ F”而不是“ L”。 “ F”是默认值,在您的情况下似乎正在使用它。至少您得到了一些输出,所以也许应该是“ F”。但是,尝试使用“ L”获得每个标签的响应。 “ F”表示在完成整个工作后得到响应。

我希望这会起作用。目前,我们处于锁定状态,我没有办法在真实设备上进行验证。但从理论上讲,它应该有所帮助。 请让我知道结果。