标签纸的打印方法及其应用的标签打印机与流程



1.本发明主要涉及打印领域,尤其涉及一种标签纸的打印方法及其应用的标签打印机。


背景技术:



2.市面上的标签纸张类型非常多,不同的标签纸在adc值(根据标签打印机中传感器获得的模数转换器的值)的反馈上有不同的特性,通过算法用于定位的依据也不一样。在现有技术中提出了一些通过单一维度的adc值进行定位的方式,这样的方式具有一定的缺陷。如果只用单一维度的adc阈值判断方法,通常只能支持定位一小部分标签纸,一些本身带颜的,纸张较暗,吸光能力强的标签纸通过单一维度的adc值常常无法兼容。另外,标签定位需要对已扫过标签纸的adc值做大量数据的存储和判断,因此,现有的通过adc值判断标签纸打印定位的方式占用ram空间较多,为标签打印机的配置带来了困扰。因此,如何提供一种通用性更强、占用空间更低的标签纸的打印方案是领域内亟待解决的问题。


技术实现要素:



3.本发明要解决的技术问题是提供一种标签纸的打印方法及其应用的标签打印机,可以实现标签纸打印的精准定位,适用更多种类的标签纸,并优化标签打印机内部的存储空间。
4.为解决上述技术问题,本发明提供了一种标签纸的打印方法,所述标签纸由多个打印纸和多个打印缝隙依次间隔拼接而成,所述标签纸通过打印机进行打印,所述打印机具有打印头、传感器、步进电机、处理器和存储单元,所述步进电机带动所述标签纸前进进行打印,所述打印方法包括在打印的初始状态时通过所述传感器进行检测,若检测到所述缝隙单元位于所述打印头之前且在所述传感器之上或之后则开始打印,否则在重新确定所述打印头对应的标签纸的位置后再进行打印,直至再回到所述打印的初始状态。
5.在本发明的一实施例中,还包括在所述打印的初始状态时,若所述缝隙单元位于所述打印头之前且在所述传感器之上或之后,则在所述开始打印之前执行如下的步骤:当所述缝隙单元位于所述打印头之前且在所述传感器之后,所述步进电机在前进第一剩余步进距离后开始打印,所述第一剩余步进距离为所述打印头至所述传感器之间的距离减去所述缝隙单元的边缘与所述传感器之间的距离;当所述缝隙单元位于所述打印头之前且在所述传感器之上,所述步进电机在前进第二剩余步进距离后开始打印,所述第二剩余步进距离为所述打印头至所述传感器之间的距离加上所述缝隙单元的长度再减去所述传感器在所述缝隙单元中已经前进的距离。
6.在本发明的一实施例中,所述重新确定所述打印头对应的标签纸的位置的步骤具体包括,同时执行斜率定位算法以及最大值定位算法从而确定adc值基准值,其中,所述斜率定位算法包括连续读取并记录预设数量的多个打印位置对应的adc值,并在所述adc值不断增大和减小的多个循环周期中持续的确定由斜率起始点和斜率结束点构成的多个斜率
区间;所述最大值定位算法包括连续读取多个打印位置对应的adc值,在所述adc值不断增大和减小的多个循环周期中确定多个adc值最大值,并根据所述adc值最大值确定最终定位点、或根据所述adc值最大值和所述多个斜率区间共同确定最终定位点,从而根据所述最终定位点计算所述adc值基准值。
7.在本发明的一实施例中,还包括在所述打印的初始状态前获取所述标签纸的缝隙单元的长度,若所述缝隙单元的长度大于缝隙长度阈值,再根据所述adc值最大值和所述多个斜率区间确定最终定位点,其中,所述缝隙长度阈值为3mm~8mm之间的常数。
8.在本发明的一实施例中,所述斜率定位算法进一步包括:在所述标签纸的打印过程中连续读取多个打印位置对应的adc值,并判断相邻的任意两个打印位置对应的adc值斜率值;根据多个所述adc值斜率值确定n组斜率起始点和斜率结束点;以及通过所述处理器将所述n组斜率起始点和所述斜率结束点缓存至所述存储单元中,其中n为大于0且小于或等于10的整数。
9.在本发明的一实施例中,所述最大值定位算法进一步包括:在所述标签纸的打印过程中连续读取多个打印位置对应的adc值,并在所述多个adc值不断增大和减小的多个循环周期中确定多个adc值最大值和多个adc值最小值;根据所述多个adc值最大值和多个adc值最小值确定备选定位点,其中,所述备选定位点对应任一adc值最大值;判断所述备选定位点是否落入任一组由所述斜率起始点和所述斜率结束点的斜率区间内,若判断结果为否,则直接将所述备选定位点确定为最终定位点,否则根据所述备选定位点所落入的所述斜率起始点和所述斜率结束点确定最终定位点;以及根据所述最终定位点对应的adc值计算所述adc值基准值并存储在所述存储单元中,以使所述处理器根据所述adc值基准值指令所述步进电机带动所述标签纸前进进行打印。
10.在本发明的一实施例中,根据所述多个adc值最大值和多个adc值最小值确定所述备选定位点的步骤进一步包括:计算多组相邻的adc值最大值和adc值最小值的差值;若任一组n1中的adc值最大值和adc值最小值的差值x超过差值阈值z,则判定所述组n1中的adc值最大值对应的打印位置为所述备选定位点。
11.在本发明的一实施例中,还包括在确定所述备选定位点后,使所述步进电机使由所述打印位置再前进80~120步至校正位置,并继续读取多个adc值,若在所述打印位置至所述校正位置之间获得任一组n2中的adc值最大值和adc值最小值的差值y超过所述差值x,则更新所述备选定位点至所述组n2中的adc值最大值所对应的打印位置。
12.在本发明的一实施例中,所述最大值定位算法的步骤进一步包括,判断所述备选定位点对应的adc值最大值a1与所述存储单元中存储的adc值基准值a0的数值大小,若所述a1与所述a0之间的差值超过所述a0的20%~60%且所述a1小于所述a0,则舍弃所述a1对应的备选定位点,并再次寻新的备选定位点。
13.在本发明的一实施例中,所述最大值定位算法进一步包括确定多个备选定位点,并计算所述多个备选定位点对应的打印位置之间距离的平均值d,并且,若所述a1与所述a0之间的差值超过所述a0的20%~60%且所述a1大于所述a0,判断所述a1对应的备选定位点所对应的打印位置与所述a0对应的备选定位点所对应的打印位置之间的距离dx,若所述距离dx与所述平均值d之间的差距大于所述平均值d的10%,则舍弃所述a1对应的备选定位点,并再次寻新的备选定位点。
14.在本发明的一实施例中,根据所述最终定位点对应的adc值计算所述adc值基准值的步骤进一步包括,将所述最终定位点对应的adc值最大值a1与所述存储单元中存储的adc值基准值a0取平均值后作为新的adc值基准值并存储在所述存储单元中。
15.本发明的一实施例还提出了一种标签打印机,所述打印机包括打印头、传感器、步进电机、处理器以及存储单元,所述处理器用于执行指令以实现上述的打印方法。
16.本发明的另一方面还提出了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现上述的打印方法。
17.与现有技术相比,本发明具有以下优点:
18.本发明在标签纸的定位过程中,实时记录打印头在纸张上的位置,以在打印内容较多的情况下,在每一次开始打印前都能够进行计算定位或重新定位的判断,经过定位后的打印内容能覆盖所有的标签纸,避免出现大量的走纸浪费现象;
19.本发明所提出的最大值定位算法可以有效解决打印标签或者缝隙上抖动较大的从而产生定位偏差的情况,提升定位的精准性;
20.本发明在每一次重新定位的学习过程中都能够获得针对正在打印的标签纸的特性参数,在定位时可以实时对adc值最大值对应的打印位置进行距离与adc值的校验,排除预印内容对定位结果的影响;以及
21.本发明无需再存储大量的adc值,只需要存储计算所需的特征点,极大的优化了存储空间,优化标签打印机定位功能的前提下也节省了成本。
附图说明
22.包括附图是为提供对本技术进一步的理解,它们被收录并构成本技术的一部分,附图示出了本技术的实施例,并与本说明书一起起到解释本发明原理的作用。附图中:
23.图1是本发明一实施例的一种标签纸的打印方法的流程示意图;
24.图2是本发明一实施例的一种标签打印机的结构框图;
25.图3是本发明一实施例的一种标签纸的打印方法中位置示意图;
26.图4是本发明一实施例的一种签纸的打印方法中关于adc值变化趋势的示意图;以及
27.图5是本发明一实施例的一种标签纸的打印方法中关于斜率定位算法和最大值定位算法的流程示意图。
具体实施方式
28.为了更清楚地说明本技术的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
29.如本技术和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备
也可能包含其他的步骤或元素。
30.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
31.在本技术的描述中,需要理解的是,方位词如“前、后、上、下、左、右”、“横向、竖向、垂直、水平”和“顶、底”等所指示的方位或位置关系通常是基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,在未作相反说明的情况下,这些方位词并不指示和暗示所指的装置或元件必须具有特定的方位或者以特定的方位构造和操作,因此不能理解为对本技术保护范围的限制;方位词“内、外”是指相对于各部件本身的轮廓的内外。
32.为了便于描述,在这里可以使用空间相对术语,如“在
……
之上”、“在
……
上方”、“在
……
上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在
……
上方”可以包括“在
……
上方”和“在
……
下方”两种方位。该器件也可以其他不同方式定位(旋转90度或处于其他方位),并且对这里所使用的空间相对描述作出相应解释。
33.此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本技术保护范围的限制。此外,尽管本技术中所使用的术语是从公知公用的术语中选择的,但是本技术说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本技术。
34.应当理解,当一个部件被称为“在另一个部件上”、“连接到另一个部件”、“耦合于另一个部件”或“接触另一个部件”时,它可以直接在该另一个部件之上、连接于或耦合于、或接触该另一个部件,或者可以存在插入部件。相比之下,当一个部件被称为“直接在另一个部件上”、“直接连接于”、“直接耦合于”或“直接接触”另一个部件时,不存在插入部件。同样的,当第一个部件被称为“电接触”或“电耦合于”第二个部件,在该第一部件和该第二部件之间存在允许电流流动的电路径。该电路径可以包括电容器、耦合的电感器和/或允许电流流动的其它部件,甚至在导电部件之间没有直接接触。
35.在现有技术对于标签打印的定位可以采用众数标签定位法,示例性的定位流程如下:
36.1.步进电机每走一步,采集一次adc值;
37.2.记录0~4095范围内,各adc值出现的次数,在走了10cm后,将出现次数最多的
adc值记录下来,作为接下来用于定位的参考值;
38.3.由于打印纸的长度远比缝隙的长度长,所以出现次数最多的adc也必然是打印纸,在这个参考值上加上增益,得到adc分界值;以及
39.4.定位过程中,若采集到的adc值大于该adc分界值,则认为是缝隙,若adc值小于adc分界值,则认为是标签纸。
40.这样的方式虽然可以在多数情况下实现标签纸的定位效果,但是具有如下的弊端:众数定位法需要记录每一个adc出现的次数,例如是0~4095的区间内就需要消耗至少8192bytes,在ram资源紧缺的mcu上,是一笔巨大的开销。通过估算得到的adc分界值与打印纸的adc值非常接近,这要求保证打印纸在打印过程中的抖动不得超过分界adc值,这不能保证大多数标签纸都有这样平滑的adc曲线,因此会导致某些抖动厉害的标签纸会经常性出现误判。另外对于预印纸,预印内容会使adc值产生突变,超出分界adc,导致定位到预印内容上,从而使得定位失效。最后,由于打印头与传感器不在同一水平线上,定位完成后,打印头并不在定位位置上,会标签纸上有一段区域无法覆盖打印,造成整卷的标签纸实际上印刷利用率低。
41.基于这些缺陷,本发明一实施例参照图1提出了一种标签纸的打印方法10(以下简称“打印方法10”),可以实现标签纸打印的精准定位,适用更多种类的标签纸,并优化标签打印机内部的存储空间。
42.为了更清楚的说明打印方法10,根据图2先介绍本发明一实施例提出的一种标签打印机20。在本发明包括图1的多个实施例中,打印方法所适于打印的标签纸由多个打印纸和多个打印缝隙依次间隔拼接而成,示例性的,在本发明的多个实施例中所提到的标签纸例如是超市称重台的可以打印出商品条目和重量等信息的标签纸。标签纸在外形上可以由打印纸和底板组成,打印后的标签纸可以将打印纸的部分撕下并黏贴在商品上。并且,打印纸和打印纸之间具有打印缝隙,便于间断地撕取打印纸。这样的标签纸通过如图2所示的签打印机20进行打印,标签打印机20具有打印头21、传感器22、步进电机23、处理器24和存储单元25。其中,步进电机23可以带动标签纸前进从而通过打印头21进行打印。传感器22示例性的通过反射获得正在打印的标签纸的信息。如图2所示的标签打印机20可以适用于本发明所提出的任一实施例中的标签纸的打印方法。下面对于本发明提出的标签纸的打印方法做出如下的说明。
43.首先参考图1,打印方法10包括如下的步骤:步骤11为在打印的初始状态时通过传感器进行检测;若在执行判断步骤110时检测到缝隙单元位于打印头之前且在传感器之上或之后则执行步骤12开始打印,否则执行步骤13在重新确定打印头对应的标签纸的位置后再进行打印。根据图1,无论是执行步骤12还是步骤13,流程最终指向步骤11,也即无论是直接开始打印后、还是在重新确定打印头对应的标签纸的位置再进行打印后,会继续等待下一个打印的初始状态,并再次执行步骤110的判断步骤,从而在打印的全过程中持续的校正打印位置。需要说明的是,本发明中所提到的打印的初始状态具体可以理解为每一次打印暂停后即将开始进行打印的时间节点。示例性的,如果是整卷的标签纸刚刚装入机器后是为打印的初始状态;而在打印过程中,有时是连续的打印多张打印纸或者每张纸间断的打印,而每一次将要打印下一张打印纸的时间节点都可以理解为本发明所述的打印的初始状态。
44.优选地,在本发明的一些实施例在图1示出的打印方法10的基础上有进一步优化改进,下面对这些变型和优选方案做出进一步说明。首先,在本发明的一些实施例中,根据图1的判断步骤110,在打印的初始状态时,若判断缝隙单元位于打印头之前且在传感器之上或之后,在执行步骤12正式开始打印之前还执行计算打印定位的步骤。为了更清楚的说明如何计算打印定位,图3给出了一个标签纸30的示例。根据图3,标签纸30由间断的打印纸31和底板300组成,相邻的打印纸31之间具有缝隙单元32,且标签纸30在打印过程的走纸方向为如图3所示的x方向。另外,如图2所示的标签打印机20中的传感器22和打印头21也示意性地展示在图3中,传感器22和打印头21之间固定存在间距d0。
45.为了更清楚的说明不同情况下的部件结构位置关系,在图3中将两种不同的位置关系示意性的展示在一段标签纸30中。虚线之下的部分为需要计算第一步进距离的情况,而虚线之上的部分为需要计算第二步进距离的情况。具体来说,先关注虚线之下的部分,当缝隙单元32位于打印头21之前且在传感器22之后,步进电机23会在前进第一剩余步进距离后开始打印。第一剩余步进距离的计算方式为打印头21至传感器22之间的距离d0减去缝隙单元32的边缘与传感器22之间的距离d1。另一方面参考虚线之上的部分,当缝隙单元32位于打印头21之前且在传感器22之上(即传感器22处于相邻打印纸31之间的缝隙位置),步进电机23会在前进第二剩余步进距离后开始打印。第二剩余步进距离的计算方式为d0加上缝隙单元的长度d2再减去传感器在缝隙单元中已经前进的距离d3。
46.根据图3可以看出的是,无论是计算第一剩余步进距离还是计算第二剩余步进距离的情况,通过上述的方式均可以在标签打印机20即将进行打印的时间节点对于打印头21的位置进行微调,以使其可以在相邻的下一张打印纸31上继续进行打印。从而在整卷标签纸打印的全过程中对于打印头21的位置进行持续的校正,从而提升打印过程的稳定性,并节省纸张。
47.上面介绍了可以满足直接开始打印的情况,下面介绍需要重新定位的情况。如图1所示的步骤13中关于重新确定打印头对应的标签纸的位置的步骤,本发明的不同实施例中具有特定的实现方式。示例性的,在本发明包括图1的多个实施例中,步骤13可以通过同时执行斜率定位算法以及最大值定位算法从而确定adc值基准值,以使得如图2所示的处理器24指示步进电机23按照adc值基准值带动标签纸前进从而进行打印。具体来说,斜率定位算法包括连续读取并记录预设数量的多个打印位置对应的adc值,并在adc值不断增大和减小的多个循环周期中持续的确定由斜率起始点和斜率结束点构成的多个斜率区间。而最大值定位算法包括连续读取多个打印位置对应的adc值,在adc值不断增大和减小的多个循环周期中确定多个adc值最大值,并根据adc值最大值确定最终定位点、或根据adc值最大值和多个斜率区间共同确定最终定位点,从而根据最终定位点计算adc值基准值。下面对于这样的方式做出进一步详细的说明。
48.首先参照图4,在标签纸的打印过程中,随着打印位置的向前推移,不同打印位置对应的adc值也会产生增大和减小的不断变化。例如参考图3所示,由于标签纸30中的打印纸31和打印缝隙300的参数特性不同,如是材质和厚度等等存在不同,传感器22经过打印纸31和打印缝隙300时,会通过传感器22反馈不同adc值。由于打印纸31和打印缝隙300顺序排列,从adc值的反馈结果上看,可以呈现如图4所示的周期性的上升、下降和平缓的变化曲线,在adc值较高的位置通常是打印缝隙300,而在adc值较低且平缓的位置通常是打印纸
31。在每一个上升后下降的变化过程中,均可以定位到adc值最大值对应的c点、adc值最小值对应的d点、adc值开始上升的a点以及adc值下降结束的b点。在后文将要说明的实施例中,a点和b点分别对应斜率起始点和斜率结束点,而c点为与adc值最大值对应的备选定位点。
49.图5中的流程图示出了本发明的一实施例中采用上述方式计算adc值基准值的更为具体的以及优选的实施方式。在图5所示的实施例中,斜率定位算法(具体包括步骤511~513)以及最大值定位算法(具体包括步骤521~526)在打印过程中同时进行,并适时的进行交互和配合,下面进行详细的说明。
50.首先,斜率定位算法进一步包括如下的步骤511~513。
51.步骤511为标签纸的打印过程中连续读取多个打印位置对应的adc值,并判断相邻的任意两个打印位置对应的adc值斜率值。如图4所示,对于相邻的具有先后顺序的两个打印位置,通过比较后者的adc值与前者的adc值即可以得到adc值斜率值,adc值持续上升时,该值为正;adc值持续下降时,该值为负;而adc值区域平缓时该值为0。通过adc值斜率值可以获得在打印过程中的adc值的变化趋势。
52.步骤512为根据多个adc值斜率值确定n组斜率起始点和斜率结束点。例如根据图4,每一个周期内均可以定位到斜率起始点a和斜率技术点b,此步骤512实施在打印过程中即确定一定数量的斜率起始点a和斜率技术点b,从而可以确定斜率区间,例如是区间[a,b]。
[0053]
最后,步骤513为通过处理器将n组斜率起始点和斜率结束点缓存至存储单元中。
[0054]
在斜率定位算法中,n为大于0且小于或等于10的整数。但是本发明不以此为限,在本发明的一些其他的实施例中,根据处理单元25的配置不同或者实际需求的不同,n还可以在大于10的范围内取整数。对于市面上常见的标签打印机,将n定位10左右即可以在满足斜率定位算法的同时,不过多的消耗存储单元25的空间。与现有技术中需要存储大量的adc值的方式不同,由于本发明的并不仅仅靠计算相邻打印位置对应的adc值的变化斜率来对于打印缝隙进行定位,因此无需在标签打印机20的存储单元25中存储全部的adc值数据。
[0055]
另一方面,在图5示出的实施例中,最大值定位算法进一步包括如下的步骤521~526。
[0056]
步骤521为在标签纸的打印过程中连续读取多个打印位置对应的adc值,并在多个adc值不断增大和减小的多个循环周期中确定多个adc值最大值和多个adc值最小值。参照图4所示,adc值最大点为c点,adc值最小值为d点。
[0057]
步骤522为根据多个adc值最大值和多个adc值最小值确定备选定位点,其中,备选定位点(例如是如图4所示的c点)对应任一adc值最大值。
[0058]
步骤523为判断备选定位点是否落入任一组由斜率起始点和斜率结束点的斜率区间内,例如是区间[a,b]。若判断结果为否,则执行步骤524直接将备选定位点确定为最终定位点,否则执行步骤525根据备选定位点所落入的斜率起始点和斜率结束点确定最终定位点,示例性的,可以采取对斜率起始点和斜率结束点分别对应的打印位置取平均值的方式确定最终定位点。
[0059]
最后,执行步骤526,将最终定位点对应的adc值计算adc值基准值并存储在存储单元中,以使处理器根据adc值基准值指令步进电机对标签纸进行打印。
[0060]
在图5示出的实施例的基础上,本发明在一些实施例对于最大值定位算法还有进一步的优化。首先,对于步骤522根据多个adc值最大值和多个adc值最小值确定备选定位点的步骤,在本发明的一些优选的实施例中,进一步包括如下的步骤:
[0061]
计算多组相邻的adc值最大值和adc值最小值的差值;
[0062]
若任一组n1中的adc值最大值和adc值最小值的差值x超过差值阈值z,则判定组n1中的adc值最大值对应的打印位置为备选定位点。示例性的,在本发明的一些实施例中,差值阈值可以通过多组差值的平均值进行确定,例如选定多组差值的平均值的18~25倍作为差值阈值。通过这样的方式可以筛选掉由于纸张等因素导致的adc值起伏抖动的情况,从而准确的到打印缝隙所在的位置。
[0063]
进一步的,在这样的实施例中,还包括在确定备选定位点后,使步进电机使由打印位置再前进80~120步至校正位置,并继续读取多个adc值,若在打印位置至校正位置之间获得任一组n2中的adc值最大值和adc值最小值的差值y超过差值x,则更新备选定位点至组n2中的adc值最大值所对应的打印位置。通过这样的方式,可以进一步的对adc值最大值进行筛选,以提高打印位置定位的精确度。
[0064]
另一方面,在本发明的一些实施例中,最大值定位算法的步骤进一步还包括,判断备选定位点对应的adc值最大值a1与存储单元中存储的adc值基准值a0的数值大小,若a1与a0之间的差值超过a0的20%~60%(例如是40%)且a1小于a0,则舍弃a1对应的备选定位点,并再次寻新的备选定位点。在这样的实施例中,对于单次的重新定位的流程并不局限于该次流程所到的备选定位点的结论,而是更加全局的与存储单元中已经存储的adc值基准值进行比较,从而可以提高打印全过程中的打印定位的准确性。
[0065]
在这样的实施例中,最大值定位算法进一步包括确定多个备选定位点,并计算多个备选定位点对应的打印位置之间距离的平均值d,并且,若a1与a0之间的差值超过a0的20%~60%(例如是40%)且a1大于a0,判断a1对应的备选定位点所对应的打印位置与a0对应的备选定位点所对应的打印位置之间的距离dx,若距离dx与平均值d之间的差距大于平均值d的10%,则舍弃a1对应的备选定位点,并再次寻新的备选定位点。这意味着,只有同时满足adc值条件和打印位置距离条件的备选定位点才被接受为可信的定位点。通过这样的方式,可以进一步消除纸张在打印过程中的抖动以及预印内容对于打印定位所带来的影响。
[0066]
进一步说明关于adc值基准值的计算。在一些实施例中,可以直接将选定的备选定位点(或优化后的最终定位点)所对应的adc值作为adc值基准值,而在本发明的一些优选的实施例中,如图5所示的步骤526根据最终定位点对应的adc值计算adc值基准值的步骤进一步包括,将最终定位点对应的adc值最大值a1与存储单元中存储的adc值基准值a0取平均值后作为新的adc值基准值并存储在存储单元中。通过这样的方式,可以更为有效的消除整卷的标签纸在打印过程中径向的厚度逐渐减小对于打印定位所带来的影响,从而在打印的全过程中提高打印的精确程度。
[0067]
在本发明的上述实施例中,通过最大值定位算法和斜率定位算法的配合,可以仅依据少量的特征点的斜率起始点和斜率结束点规划的斜率区间来实现备选定位点的选取。但是在本发明的一些特殊实施例中,还包括在打印的初始状态前获取标签纸的缝隙单元的长度,若缝隙单元的长度大于缝隙长度阈值,再根据adc值最大值和多个斜率区间确定最终
定位点,其中,缝隙长度阈值为3mm~8mm之间的常数。通常来说,如果缝隙长度在5mm以内,由于缝隙较短,经过大量的实验证明,通过最大值定位算法也可以获得较为合理和准确的adc值基准值,而不会有过大的偏差。而对于缝隙长度较大的情况,则往往需要斜率定位算法的辅助,以使得备选定位点的选取更加准确,提高定位的精确程度。
[0068]
现有算法(例如是众数标签定位法等方式)判断依据单一,无法提升对标签纸的支持广度,且会因为纸张的变化导致定位精度的下降。本方法用于实现标签纸的精确定位,并且兼容多种类的标签纸,甚至包括预印纸。同时,本发明优化内存空间的效果显著,例如在本发明的一些实施中,相较于现有技术中需要占用的约8192bytes的空间,本发明的方案通过只存储特征点而仅需占用239byte的空间。因此,无论从精确打印定位的效果、使用标签纸的种类还是内存空间,本发明的标签纸的打印方法及其应用的标签打印机均具有非常显著的优势。
[0069]
除此之外,本发明另一方面还提出了一种存储有计算机程序代码的计算机可读介质,计算机程序代码在由处理器执行时实现上述的标签纸的打印方法。
[0070]
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本技术的限定。虽然此处并没有明确说明,本领域技术人员可能会对本技术进行各种修改、改进和修正。该类修改、改进和修正在本技术中被建议,所以该类修改、改进、修正仍属于本技术示范实施例的精神和范围。
[0071]
同时,本技术使用了特定词语来描述本技术的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本技术至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本技术的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
[0072]
本技术中的附图使用了流程图用来说明根据本技术的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
[0073]
本技术的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dapd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器或者其组合。此外,本技术的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带
……
)、光盘(例如,压缩盘cd、数字多功能盘dvd
……
)、智能卡以及闪存设备(例如,卡、棒、键驱动器
……
)。
[0074]
计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使
用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
[0075]
同理,应当注意的是,为了简化本技术披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本技术实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本技术对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
[0076]
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本技术一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
[0077]
虽然本技术已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本技术,在没有脱离本技术精神的情况下还可作出各种等效的变化或替换,因此,只要在本技术的实质精神范围内对上述实施例的变化、变型都将落在本技术的权利要求书的范围内。

技术特征:


1.一种标签纸的打印方法,所述标签纸由多个打印纸和多个打印缝隙依次间隔拼接而成,所述标签纸通过打印机进行打印,所述打印机具有打印头、传感器、步进电机、处理器和存储单元,所述步进电机带动所述标签纸前进进行打印,其特征在于,所述打印方法包括:在打印的初始状态时通过所述传感器进行检测,若检测到所述缝隙单元位于所述打印头之前且在所述传感器之上或之后则开始打印,否则在重新确定所述打印头对应的标签纸的位置后再进行打印,直至再回到所述打印的初始状态。2.如权利要求1所述的打印方法,其特征在于,还包括在所述打印的初始状态时,若所述缝隙单元位于所述打印头之前且在所述传感器之上或之后,则在所述开始打印之前执行如下的步骤:当所述缝隙单元位于所述打印头之前且在所述传感器之后,所述步进电机在前进第一剩余步进距离后开始打印,所述第一剩余步进距离为所述打印头至所述传感器之间的距离减去所述缝隙单元的边缘与所述传感器之间的距离;当所述缝隙单元位于所述打印头之前且在所述传感器之上,所述步进电机在前进第二剩余步进距离后开始打印,所述第二剩余步进距离为所述打印头至所述传感器之间的距离加上所述缝隙单元的长度再减去所述传感器在所述缝隙单元中已经前进的距离。3.如权利要求1或2所述的打印方法,其特征在于,所述重新确定所述打印头对应的标签纸的位置的步骤具体包括,同时执行斜率定位算法以及最大值定位算法从而确定adc值基准值,其中,所述斜率定位算法包括连续读取并记录预设数量的多个打印位置对应的adc值,并在所述adc值不断增大和减小的多个循环周期中持续的确定由斜率起始点和斜率结束点构成的多个斜率区间;所述最大值定位算法包括连续读取多个打印位置对应的adc值,在所述adc值不断增大和减小的多个循环周期中确定多个adc值最大值,并根据所述adc值最大值确定最终定位点、或根据所述adc值最大值和所述多个斜率区间共同确定最终定位点,从而根据所述最终定位点计算所述adc值基准值。4.如权利要求3任一项所述的打印方法,其特征在于,还包括在所述打印的初始状态前获取所述标签纸的缝隙单元的长度,若所述缝隙单元的长度大于缝隙长度阈值,再根据所述adc值最大值和所述多个斜率区间确定最终定位点,其中,所述缝隙长度阈值为3mm~8mm之间的常数。5.如权利要求3所述的打印方法,其特征在于,所述斜率定位算法进一步包括:在所述标签纸的打印过程中连续读取多个打印位置对应的adc值,并判断相邻的任意两个打印位置对应的adc值斜率值;根据多个所述adc值斜率值确定n组斜率起始点和斜率结束点;以及通过所述处理器将所述n组斜率起始点和所述斜率结束点缓存至所述存储单元中,其中n为大于0且小于或等于10的整数。6.如权利要求3所述的打印方法,其特征在于,所述最大值定位算法进一步包括:在所述标签纸的打印过程中连续读取多个打印位置对应的adc值,并在所述多个adc值不断增大和减小的多个循环周期中确定多个adc值最大值和多个adc值最小值;根据所述多个adc值最大值和多个adc值最小值确定备选定位点,其中,所述备选定位
点对应任一adc值最大值;判断所述备选定位点是否落入任一组由所述斜率起始点和所述斜率结束点的斜率区间内,若判断结果为否,则直接将所述备选定位点确定为最终定位点,否则根据所述备选定位点所落入的所述斜率起始点和所述斜率结束点确定最终定位点;以及根据所述最终定位点对应的adc值计算所述adc值基准值并存储在所述存储单元中,以使所述处理器根据所述adc值基准值指令所述步进电机带动所述标签纸前进进行打印。7.如权利要求6所述的打印方法,其特征在于,根据所述多个adc值最大值和多个adc值最小值确定所述备选定位点的步骤进一步包括:计算多组相邻的adc值最大值和adc值最小值的差值;若任一组n1中的adc值最大值和adc值最小值的差值x超过差值阈值z,则判定所述组n1中的adc值最大值对应的打印位置为所述备选定位点。8.如权利要求7所述的打印方法,其特征在于,还包括在确定所述备选定位点后,使所述步进电机使由所述打印位置再前进80~120步至校正位置,并继续读取多个adc值,若在所述打印位置至所述校正位置之间获得任一组n2中的adc值最大值和adc值最小值的差值y超过所述差值x,则更新所述备选定位点至所述组n2中的adc值最大值所对应的打印位置。9.如权利要求7所述的打印方法,其特征在于,所述最大值定位算法的步骤进一步包括,判断所述备选定位点对应的adc值最大值a1与所述存储单元中存储的adc值基准值a0的数值大小,若所述a1与所述a0之间的差值超过所述a0的20%~60%且所述a1小于所述a0,则舍弃所述a1对应的备选定位点,并再次寻新的备选定位点。10.如权利要求9所述的打印方法,其特征在于,所述最大值定位算法进一步包括确定多个备选定位点,并计算所述多个备选定位点对应的打印位置之间距离的平均值d,并且,若所述a1与所述a0之间的差值超过所述a0的20%~60%且所述a1大于所述a0,判断所述a1对应的备选定位点所对应的打印位置与所述a0对应的备选定位点所对应的打印位置之间的距离dx,若所述距离dx与所述平均值d之间的差距大于所述平均值d的10%,则舍弃所述a1对应的备选定位点,并再次寻新的备选定位点。11.如权利要求6所述的打印方法,其特征在于,根据所述最终定位点对应的adc值计算所述adc值基准值的步骤进一步包括,将所述最终定位点对应的adc值最大值a1与所述存储单元中存储的adc值基准值a0取平均值后作为新的adc值基准值并存储在所述存储单元中。12.一种标签打印机,其特征在于,所述打印机包括打印头、传感器、步进电机、处理器以及存储单元,所述处理器用于执行指令以实现如权利要求1~11任一项所述的打印方法。13.一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如权利要求1-11任一项所述的打印方法。

技术总结


本发明提供了一种标签纸的打印方法及其应用的打印机,标签纸由多个打印纸和多个打印缝隙依次间隔拼接而成,标签纸通过打印机进行打印,打印机具有打印头、传感器、步进电机、处理器和存储单元,步进电机带动标签纸前进进行打印,其特征在于,打印方法包括:在打印的初始状态时通过传感器进行检测,若检测到缝隙单元位于打印头之前且在传感器之上或之后则开始打印,否则在重新确定打印头对应的标签纸的位置后再进行打印,直至再回到打印的初始状态。本发明的标签纸的打印方法及其应用的打印机可以实现标签纸打印的精准定位,适用更多种类的标签纸,并优化标签打印机内部的存储空间。并优化标签打印机内部的存储空间。并优化标签打印机内部的存储空间。


技术研发人员:

余日新 林喆

受保护的技术使用者:

深圳米开朗基罗科技有限公司

技术研发日:

2022.07.06

技术公布日:

2022/10/11

本文发布于:2024-09-23 20:20:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/22252.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   斜率   多个   最大值
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议