表示相同数据的不同Code 128条形码符号

时间:2017-02-14 18:14:10

标签: barcode control-characters code128

我目前正在使用名为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产生的图片(我希望它看起来像这样)以及它当前在我们的贴标机上打印的内容。

This is what the barcode should like and is what is generated by the LineView software

This is what our labelling machine produces

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您想要的条形码是使用以下一系列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控制字符。