霍尼韦尔 Dolphin CT60 无法扫描 gs128 条码

gs128 barcode not able to scan with Honeywell Dolphin CT60

我正在使用 zpl 语言生成 gs128 条码。 这是我的 zpl 代码。

^XA ^BY2,2.5,145^FO100,343^BC,Y,N,N,D^FD(01)200588612>8(21)0000410549>8(10)ABC123^FS ^XZ

这里是通过上面的zpl代码生成的条形码。

enter image description here

我假设您指的是 GS1-128 条形码。 如果您想使用 GS1 标准对数据进行编码,那么您不能只以原始格式传递数据。您需要根据标准对它们进行编码。

如果是 GS1-128 代码,您需要使用特殊的起始字符 FNC1。它用于初始化 GS1 字符串并指示可变长度字符串的结尾。这是一个非常有趣(且广泛)的话题。以下是一些有用的链接:

Zebra 关于编码 GS1-128 和 GS1-DataMatrix 代码的文章: https://www.zebra.com/us/en/support-downloads/knowledge-articles/creating-gs1-barcodes-with-zebra-printers-for-data-matrix-and-code-128-using-zpl.html

Zebra ZPL说明书,128码 https://www.zebra.com/content/dam/zebra/manuals/printers/common/programming/zpl-zbi2-pm-en.pdf#G20.1037065

GS1通用规范(Application Identifiers中FNC1的要求) https://www.gs1.org/docs/barcodes/GS1_General_Specifications.pdf#page=148&zoom=100,66,138 实际上,如果您打算使用 GS1 标准,整个文档很有用。

关于编码GS1-128条码的Barcodefaq文章(类似于Zebra的,我更喜欢Zebra的文章,因为它更清晰) https://www.barcodefaq.com/1d/gs1-128/

所以,回到你的代码。

您将此参数用于您的 128 代码:

^BC,,Y,N,N,D

我会省略最后一个参数 (D),因为它限制你只能输入 18 个字符,即你必须输入 18 个字符。而且我不确定它如何在代码中使用多个应用程序标识符。我建议让它使用默认值。

您的代码的另一个问题是,您使用的是 GTIN。根据规范,GTIN 必须以其 14 位版本传递。 (如 GS1 通用规范)。这很容易通过在它前面加上零来完成。

因此,在这些编辑之后,您的代码如下所示:

^XA 
^BY2,2.5,145^FO100,33^BCN,,Y,N,N
^FD>;>80100000200588612210000410549>810>6ABC123^FS 
^XZ

其中:

;>80100000200588612210000410549>810>6ABC123

可以分解为:

>;  // Start code C
>8 // FNC1
01 // AI (Application identificator) for GTIN
00000200588612 // GTIN-14
21 // AI for Serial Number 
0000410549 // Serial Number
>8 // FNC1 because Serial Number have variable length
10 // AI for Batch
>6 // switch to B-code for alpha-numerics
ABC123 // Batch

希望对您有所帮助。我真的建议你看看上面那些文章。

另一个有用的工具: http://labelary.com/viewer.html 在那里您可以看到您的代码如何实时转换为标签。 (有一些限制......一些代码类型尚未实现。)

*编辑 另一个有用的应用程序是 barValid - android 智能手机应用程序,可以读取 GS1 条形码并验证它们是否正确编码。它不是官方应用程序,更像是粉丝应用程序或自定义研究应用程序,但它可以为您提供快速结果,而且我使用它很长时间以来都没有让我失望。