我目前正在使用名为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]代码,尽管它们看起来不同。
非常感谢任何帮助。
答案 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控制字符。