针对“打印速度”和“打印吞吐量”这两个参数,如何提高的问题?我们通过拿Zebra条码打印机来做例子进行说明,其他品牌型号的条码打印机也类似。
首先让我们对“打印速度”和“打印吞吐量”做一个定义,看看它们之间有何区别。
◆ “打印速度”是打印机打印标签时标签移动的速度,Zebra条码打印机“打印速度”是由ZPL命令中的^PR决定的。最低的打印速度通常是2英寸/秒,可高可达12英寸/秒,取决于您正在使用的打印机型号。
◆ “打印吞吐量”是指打印一个给定数量的标签所需的总时间。这种测量方法结合了传输数据的时间、打印机创建图像位图的时间和打印标签的时间。这通常才是用户最关心的一个参数,也将是本文讨论的重点。
有几种方法可以确保斑马打印机的吞吐量最大化。这取决于您所选的打印机型号、应用程序、打印机可用DRAM内存和修改ZPL编程语言的能力。
下面是影响您应用中打印吞吐量的几个可能原因:
● 您的系统数据传输速率是否最大化?
● 是否有足够的内存让“format while printing”的功能?
● 您是否可以利用图像储存和图像加载功能? (^IS,^IL)
● 大型图形文件是否被发送到打印机?
● 您是否可以限制在应用程序中使用的字体的数量?
● 如果您使用的是可缩放的字体,您可以使用cache命令? (^COY)(对于105sl,当catche>6400357时^COY不起作用;对于Zx
M+和Xi+、PAX4打印机,catche是自动处理的)
● 您需要在应用程序中使用TrueType字体吗?
● 具有60.14.x或后版本Firmware的打印机,一个新的字体引擎功能是默认启用的,在某些应用中这可能会影响吞吐量。
下面分别对影响应用程序“打印吞吐量”的因素进行分析说明:
1、数据速率
打印机尽可能在最短的时间内获得ZPL数据的一种能力。ZPL数据传输到打印机往往是通过一个串行或并行接口。(ZebraNet使用并行接口)。串行(RS232)接口应用程序尽量设置最高波特率。如果您有选择,尽量使用并行接口。
在网络环境中,你可能会受管理员设置的影响。
在某些应用程序中关闭双向通讯可能会提高打印机吞吐量。
应用程序通常使用一个独立的电脑连接到打印机,如果您怀疑网络或系统影响吞吐量,您可以从网络中移除打印机,然后尝试从一台笔记本电脑或其他独立主机上加载文件发送ZPL数据。这将有助于隔离可疑的系统问题。
2、format while printing
打印机解释接收到的ZPL命令,并把它转换图像到打印机位图存储器(DRAM),然后打印出的标签。只有图像转换完毕打印机才会打印标签,当标签被打印后,位图存储器为了下一个图像将被清除。当第一个标签正在打印而有足够的内存空间去转换第二张标签的特征被称作“format while printing”。你可以使用一个简单的方法来验证你的打印机是否具有“format while printing”功能,当打印机处于暂停状态时,发送两个不同的标签格式,等待几秒钟,然后去除暂停状态,如果两个标签打印不停止,那说明你正在利用“format while printing”功能。可以通过扩充内存来使用“format while printing”功能。
3、ZPL-图像保存,图像下载
如果您可以自己写ZPL指令或者您软件上面有可以使用^IS/^IL的选项,那么您也能够增加打印吞吐量。您必须有足够的内存来支持“格式同时打印”功能,因为您将需要在DRAM中有两个位图区域。其中一个是保存模板图像和,另一个保存打印图像。
注:如果您想知道为什么尽量避免使用存储的格式^XF/^DF,因为ZPL命令仍然需要解释和转换。在大多数情况下,打印吞吐量并不能使用这种方法得到改善。
创建一个格式,包含了所有的固定的信息,并使用^IS命令将它命名。该图像作为图形被保存在内存中。
|
^XA
^LH0.0^FS
^FO78,72^A0N,38,33^FDDate:^FS
^FO372,70^A0N,38,33^FDTime:^FS
^FO84,150^A0N,38,33^FDTo:^FS
^FO54,38^GB623,292,7^FS
^FO56,132^GB617,0,6^FS
^FO350,44^GB0,92,6^FS
^ISTEMPLATE,N^FS
|
现在,创建一个包含所有剩余可变信息的格式和包括回调图像。 (^IL)发送给打印机,并且将打印一张标签。
|
^XA
^ILTEMPLATE^FS
^FO166,74^A0N,38,33^FD12/1/98^FS
^FO466,70^A0N,38,33^FD10:01^FS
^FO160,156^A0N,38,33^FDCustomer Number 1^FS
^FO164,204^A0N,38,33^FDAddress^FS
^FO162,250^A0N,38,33^FDCity,State Zip^FS
^XZ
|
有必要的话,重复新的变量信息。
|
^XA
^ILTEMPLATE^FS
^FO166,74^A0N,38,33^FD12/1/98^FS
^FO466,70^A0N,38,33^FD10:01^FS
^FO160,156^A0N,38,33^FDCustomer Number 2^FS
^FO164,204^A0N,38,33^FDAddress^FS
^FO162,250^A0N,38,33^FDCity,State Zip^FS
^XZ
|
当您使用完模板后,可以使用^ID命令清除它
^XA
^IDTEMPLATE^FS
^XZ
4、大图形文件
一些驱动程序和软件包发送,包括条码和文本的大图形文件。在可能的情况下,使用打印机驻留字体(内部)和驻留条形码(内部)来进行标签设计。优化驱动程序和S/W设置来使用打印机驻留字体和驻留条形码。
5、字体选择
当设计标签时使用内部位图字体,打印机是最有效率的。通过^Ax指令,其中x的取值范围是A到G。
如果您使用内部平滑缩放字体^A0,尽量限制其大小。这将减少打印前成像到内存中的执行处理时间。
6、字体缓冲
如果您的应用程序需要使用大号缩放字体,您可能需要增加默认的字体缓存内存。这将扩大可缩放字体的创建区域,导致整体的吞吐量增加。可增加的缓冲大小就被限制在打印机可用DRAM内存内。增加字体缓存超出现有的DRAM内存,会导致打印机错误(LCD显示器上显示)或标签上的图像截断。
默认的字体缓存的大小是22K。
字体缓冲详细信息:
^CO(Cache On)指令是用来改变的字符缓存的大小。根据定义,一个“字符缓存”(简称为缓存)是一个为存储可缩放字符而保留的DRAM部分。所有的打印机都有一个默认的22K缓存,并且始终是打开的。最大的单个字符在没有改变缓存大小的情况仍然能够被存储,是450 dots× 450 dots。
Zebra条码打印机使用的有两种类型字体:位图字体和可缩放字体。字母、数字、符号是位图字体,是有固定大小的。比如,10 points、12 points、14 points等等。而可缩放的字体是不固定大小的,它们的大小是用户可选择的。位图字体因为大小是固定的,所以可以快速移动到标签。相比之下,可缩放的字体要慢得多,因为每个字符在移动到标签前都需要重新创建,通过把缩放字符存放在一个“缓存”中可以以更快的速度被回调。
可以存储在缓存中的字符数取决于两个因素;缓存的大小和字符大小。字体点尺寸越大,它使用的缓存空间也越多。默认的缓存存储使用在标签上的每一个可缩放字符。如果使用相同的字符(具有相同的旋转和大小),它就能够快速的从缓冲中检索到。但一段时间后打印缓存可能被充满,一旦发生这种情况打印机将消除现有字符占用的打印缓存,多长时间来消除已存在的字符是由系统自动完成的。
一个打印缓存字符的最大尺寸为1500点×1500点。它需要缓存为300K的空间。当所需格式相对缓冲来说太大时,小字符可以显示,但大字符将不能够显示,如有可能,增加缓存的大小。
注:缓存的大小根据需要可以调整。缓冲中的任何字符当它被重新调整后都将丢失。增加缓存会降低标签位图、图形、字体下载所用的可用空间。
^CO指令的格式是:
^COa,n
其中:
^CO = Cache On
a = 打开缓冲:Y=Yes,N=No,默认值为Y
n = 被添加缓冲区大小(以K为单位),没有指定时默认值为40
下面是使用^CO指令的一个例子。要调整打印缓存为62K:
^COY 40K(默认内存)+22K(现有的缓存)=62K
要调整打印缓存为100K:
^XA^COY,78^XZ
78K(被添加的内存)+ 22K(现有的缓冲)= 100K
7、USFT字体引擎 - 支持TrueType字体
USFT(Universal Scalable Font Technology),大多数的斑马打印机都具有此功能。此功能允许您在应用程序中转换、下载、使用Windows的TrueType字体。通过Ztools工具进行字体的转换,USFT功能会影响打印机的吞吐量。
8、字体引擎功能 - 60.14.X Firmware的新功能
此功能允许使用的全球打印解决方案,使用由Zebra提供的Unicode字体包。如果不使用这个功能,它可以被禁用。
^ZC0 = 全球打印引擎开(默认)
^ZC2 = 全球打印引擎关
以下字符串发送到打印机,可以使全球打印引擎关
^XA^ZC2^JUS^XZ
阅读本文的人还阅读:
◆条码打印机选型
◆上海条码打印机-销售与精品服务
◆条码打印机原理是什么?解析条码打印机工作原理
|