0

我目前正在使用名为 LineView 的软件。它为我们的工厂生产线生成停机原因代码。操作员使用 RS232 扫描仪扫描条形码并将其输入我们的 XL 板系统。

该软件本身会在互联网浏览器中生成条形码,但我正在尝试制作它,以便我们自己的贴标机也可以打印出条形码。但是,贴标机(以及我尝试过的许多在线条形码生成器)生成的条形码看起来更长并且不起作用。

我试图复制的示例 128 条码的数据是 [SOH]1[STX]65;1067[ETX]。

根据手册:

- 标头字符开始 (ASCII 0x01) 开始 XL 命令包。

1 - XL 设备的序列地址(默认为 1)。

- 传输开始字符 (ASCII 0x02) 标志着实际命令的开始。

65; - 生产状态的 ID > 设置原因代码命令。

原因代码 ID(其范围可以从 1 到 999 用于系统原因或 1000 到 1999 用于用户定义的原因)。就我而言,它是 1067

- 传输结束字符 (ASCII 0x03) 结束 XL 命令包。

我已经附上了 LineView 产生的图片(这是我希望它看起来的样子)以及它当前在我们的贴标机上打印的样子。

这是条码应有的样子,也是 LineView 软件生成的

这是我们的贴标机生产的

当我扫描它们时,尽管它们看起来不同,但它们都提出了 [SOH]1[STX]65;1067[ETX] 代码。

对此的任何帮助将不胜感激。

4

1 回答 1

1

您的预期条形码是使用以下一系列 Code 128 代码字在内部构建的,这些代码字正确表示 ASCII 控制字符:

103  Start-in-Mode-A  (Upper-case and control characters)
 65  [SOH]            (ASCII 1)
 17  1
 66  [STX]            (ASCII 2)
 22  6
 21  5
 27  ;
 99  Switch-to-Mode-C  (Double-density numeric)
 10  10
 67  67
101  Switch-to-Mode-A
 67  [ETX]             (ASCII 3)
 67  Check-digit
106  Stop

您的标签打印机正在[SOH]1[STX]65;1067[ETX]使用以下内部代码字打印表示不带 ASCII 控制字符(即左括号、S、O、H、右括号...)的文字字符串的条形码:

104  Start-in-Mode-B  (Mixed-case)
 59  [
 51  S
 47  O
 40  H
 61  ]
 17  1
 59  [
 51  S
 52  T
 56  X
 61  ]
 22  6
 21  5
 27  ;
 99  Switch-to-Mode-C  (Double-density numeric)
 10  10
 67  67
100  Switch-to-Mode-B
 59  [
 37  E
 52  T
 56  X
 61  ]
 57  Check-digit
106  Stop

因此,您需要弄清楚如何在贴标机的输入中正确指定 ASCII 控制字符。

于 2017-02-14T22:05:02.450 回答