霍尼韦尔 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 条形码并验证它们是否正确编码。它不是官方应用程序,更像是粉丝应用程序或自定义研究应用程序,但它可以为您提供快速结果,而且我使用它很长时间以来都没有让我失望。
我正在使用 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 条形码并验证它们是否正确编码。它不是官方应用程序,更像是粉丝应用程序或自定义研究应用程序,但它可以为您提供快速结果,而且我使用它很长时间以来都没有让我失望。