如何在直接协议中打印GS1-Datamatrix,如何添加FNC1?

时间:2018-03-23 09:29:29

标签: thermal-printer intermec honeywell gs1-datamatrix

我需要使用GS1-Datamatrix通过串口向热敏打印机(intermec)发送direct protocol(代码值是动态的)。 GS1 DataMatrix是标准数据矩阵,但它应以FNC1(功能代码一)开头。

  

GS1 DataMatrix是通过添加形成的   FNC1代码字位于Data Matrix ECC 200版本的第一个位置。

标准数据矩阵的标签示例:

<xpml><page quantity='0' pitch='110.1 mm'></xpml>'Seagull:2.1:DP
INPUT OFF
VERBOFF
INPUT ON
SYSVAR(48) = 0
ERROR 15,"FONT NOT FOUND"
ERROR 18,"DISK FULL"
ERROR 26,"PARAMETER TOO LARGE"
ERROR 27,"PARAMETER TOO SMALL"
ERROR 37,"CUTTER DEVICE NOT FOUND"
ERROR 1003,"FIELD OUT OF LABEL"
SYSVAR(35)=0
OPEN "tmp:setup.sys" FOR OUTPUT AS #1
PRINT#1,"Printing,Media,Print Area,Media Margin (X),0"
PRINT#1,"Printing,Media,Print Method,No Ribbon (DT)"
PRINT#1,"Printing,Media,Media Type,Continuous Var Len"
PRINT#1,"Printing,Media,Start Adjust,0"
PRINT#1,"Printing,Media,Stop Adjust,240"
PRINT#1,"Printing,Media,Print Area,Media Width,779"
PRINT#1,"Printing,Media,Print Area,Media Length,881"
PRINT#1,"Printing,Print Quality,Darkness,75"
PRINT#1,"Printing,Print Quality,Print Speed,100"
PRINT#1,"Printing,Media,Media Calibration Mode,Fast"
PRINT#1,"Printing,Media,Length (Slow Mode),0"
PRINT#1,"Printing,Media,Clip Default,On"
CLOSE #1
SETUP "tmp:setup.sys"
KILL "tmp:setup.sys"
LTS& OFF
<xpml></page></xpml><xpml><page quantity='1' pitch='110.1 mm'></xpml>CLL
OPTIMIZE "BATCH" ON
PP318,533:AN7
BARSET "DATAMATRIX",1,1,8,144,0,5
PB "010000012300001710ABC123"
PP150,389:NASC 8
FT "Andale Mono",12,0,99
PT "010000012300001710ABC123"
LAYOUT RUN ""
PF
PRINT KEY OFF
<xpml></page></xpml><xpml><end/></xpml>

如何将PB "010000012300001710ABC123"添加到FNC1代码?

我试过了:

  1. 在打印GS1-128时添加与EAN-128代码一起使用的CHR$(128);,请参阅Programmer's Reference Manual Intermec Direct Protocol v8.60

  2. 使用Bartender-ultralite创建GS1-Datamatrix,然后使用直接协议驱动程序打印到文件。然而,这会在文件中创建一个图像,因此我无法动态更改代码。

1 个答案:

答案 0 :(得分:0)

我不了解Intermec,但是对于我所见过的大多数打印机而言,将它们用于等效用途的人们正在这样做: -使用NiceLabel软件创建遮罩(不确定是否必须使用,也许您也这样做了) -此掩码包含一个变量,该变量用于每次打印前可能要更改的序列号 -您应该在协议中有一条命令在需要时设置此变量

然后在变量中只需要按照您的期望进行格式化,并使用正确的FNC1分隔符(我不知道Intermec是哪个分隔符,听说它可能取决于打印机...)