用于宽场矩阵激光打标的符号分组和条带化

文档序号:1401202 发布日期:2020-03-06 浏览:7次 >En<

阅读说明:本技术 用于宽场矩阵激光打标的符号分组和条带化 (Symbol grouping and striping for wide field matrix laser marking ) 是由 安德鲁·约恩 于 2019-08-06 设计创作,主要内容包括:用于在产品上激光打印产品代码的系统和方法包括:在至少一个方面,一种系统包括:激光标记装置,其引导激光束在不同位置停留以在产品上形成标记;控制器,其获取要打印的代码,根据代码中离散符号的位置将代码中的离散符号彼此分为独立符号组,在垂直于产品运动的方向上将每个符号组中的符号组织成一个或多个条带,在至少一个独立符号组中的条带之间增加额外的距离或延时,以防止激光打标设备由于激光打标设备的打印孔径对符号进行剪切,以及使激光打标设备根据独立符号组引导激光束。(A system and method for laser printing a product code on a product includes: in at least one aspect, a system comprises: a laser marking device that directs a laser beam to dwell at different locations to form a mark on the product; a controller that obtains a code to be printed, groups discrete symbols in the code into independent symbol groups from each other according to locations of the discrete symbols in the code, organizes symbols in each symbol group into one or more strips in a direction perpendicular to a direction of product movement, adds an additional distance or delay between the strips in at least one of the independent symbol groups to prevent the laser marking device from shearing symbols due to a print aperture of the laser marking device, and causes the laser marking device to direct a laser beam according to the independent symbol groups.)

用于宽场矩阵激光打标的符号分组和条带化

背景技术

本说明书涉及工业打印系统,尤其涉及在制造或分配设施中产品包装上激光打印产品代码的系统和技术。

各种工业打印技术已为人所知,能够在包装上打印重要信息(例如,保质期)。点阵型激光打标设备已用于在商业产品上打印识别码。这些代码很容易在诸如汽水罐、化妆品、宠物食品容器等常见产品上观察到。一些政府监管机构,例如美国的食品和药品管理局,可能要求某些产品具有这样的代码。这些代码通常包括产品生产时间和地点所特有的信息。例如,许多代码传达与产品相关联的批号。许多代码还指出制造的实际时间和日期。因为一些代码涉及独特的制造参数(例如,时间和日期),所以一些代码不能预先打印在产品的标签上。因此,通常在制造产品之后才在标签上打印代码。美国专利No.7,046,267描述了一种激光打印系统,其将图像组织成用于激光打印的一系列“条带”,以便提供字符和符号的有效打印顺序,该系统可以通过使用更多的激光曝露窗口(孔)并减少标记操作之间的激光偏转运动量来改善打印。

本说明书描述了涉及工业打印系统,尤其涉及在制造或分配设施中的产品包装上激光打印产品代码的系统和技术。

通常,本说明书中描述的主题的一个或多个方面可以体现在一种或多种方法中,所述方法包括:通过激光打标设备获得要在一个或多个产品上打印的代码,该激光打标设备被配置成在两个正交方向上引导激光束以在不同位置之间移动并在不同位置停留以在一个或多个产品上形成标记;基于代码中离散符号的位置,将代码中的离散符号彼此分为独立符号组;在垂直于产品线中的一个或多个产品运动的方向上,将每个符号组中的一个或多个符号组织成一个或多个条带,所述产品线被配置为通过设施移动产品;在至少一个独立符号组中的条带之间增加额外距离或延时,以防止激光打标设备由于激光打标设备的打印孔而对符号进行剪切;使激光打标设备根据独立的符号组引导激光束,包括使用至少在一个独立符号组中的条带之间的额外距离或延时。这些和其他实施方案可选地包括下列一个或多个特征。

所述方法可以包括:根据每个符号组进入激光打标设备的打印孔的时间,将组打印优先级分配给独立符号组;以及根据每个条带进入激光打标设备的打印孔的时间,为每个具有两个或更多个条带的独立符号组的两条或更多个条带分配条带打印优先级;其中,使激光打标设备根据独立的符号组引导激光束包括:使激光打标设备引导激光束按组打印优先级的顺序打印独立符号组并按条带打印优先级的顺序打印符号组内的两个或更多个条带。

所述方法可以包括:在与产品线中的一个或多个产品的运动方向垂直的方向上,将独立符号组组织成条带组,所述产品线被配置为通过该设施移动产品;其中,分配组打印优先级包括将每个条带组视为用于优先级分配的单个组。被组织成条带组的独立符号组可包括至少四个独立符号组。通过激光打标设备获得要在一个或多个产品上打印的代码包括:接收要打印的图像;接收对应于两个正交方向的X和Y坐标;根据X和Y坐标复制图像以形成要打印的代码。

对所述代码中的离散符号进行分组可包括:基于所述离散符号彼此的接近度,对所述代码中的所述离散符号进行分组。将代码中的离散符号分组可包括:为代码中的每个离散符号定义包含边界;以及对包含边界相互重叠的离散符号进行分组。每个离散符号的包含边界可被设置为直径等于符号大小的1.5倍的圆。可根据用户输入设置每个离散符号的包含边界。

可以使用计算机可读介质来实现一种或多种方法,所述计算机可读介质对可操作指令编码以使数据处理装置执行一种或多种方法的操作。此外,一种系统包括:产品线,所述产品线被配置为通过设施移动产品;激光打标设备,所述激光打标设备相对于产品线设置并且被配置为在两个正交方向上引导激光束以在不同位置之间移动并且在不同位置停留从而在产品上形成标记;以及激光打标设备控制器,所述激光打标设备控制器与激光打标设备通信耦合,激光打标设备控制器被配置为获得要在产品上打印的代码,基于代码中的离散符号的位置将代码中的离散符号彼此分成独立符号组,在垂直于产品线中的产品运动的方向上,将每个符号组中的一个或多个符号组织成一个或多个条带,在至少一个独立符号组的条带之间增加额外距离或延时,以防止激光打标设备由于激光打标设备的打印孔而对符号进行剪切,以及使激光打标设备根据独立符号组引导激光束,包括使用在至少一个独立符号组中的条带之间的额外距离或延时。这些和其他实施方案可选地包括下列一个或多个特征。

所述激光打标设备控制器可被配置为根据每个符号组进入激光打标设备的打印孔的时间,将组打印优先级分配给独立符号组,根据每个条带进入激光打标设备的打印孔的时间,为每个具有两个或更多个条带的独立符号组的两个或更多个条带分配条带打印优先级;并使激光打标设备引导激光束以组打印优先级的顺序打印独立符号组,并按条带打印优先级的顺序打印符号组内的两个或更多个条带。

所述激光打标设备控制器可被配置为在垂直于所述产品线中的一个或多个产品运动的方向上将所述独立符号组组织成条带组,所述产品线被配置为通过设施移动产品,并将每个条带组视为用于优先级分配的单个组。被组织成条带组的独立符号组可包括至少四个独立符号组。所述激光打标设备控制器可被配置为,通过接收要打印的图像,接收对应于所述两个正交方向的X和Y坐标,并根据X和Y坐标复制图像以形成要打印的代码,通过激光打标设备获得要在一个或多个产品上打印的代码。

所述激光打标设备控制器可被配置为基于所述离散符号彼此的接近度对所述代码中的离散符号进行分组。所述激光打标设备控制器可被配置为通过为所述代码中的每个离散符号定义包含边界,并对包含边界彼此重叠的离散符号进行分组,来对所述代码中的离散符号进行分组。每个离散符号的包含边界可被设置为直径等于符号大小的1.5倍的圆。可根据用户输入设置每个离散符号的包含边界。所述激光打标设备控制器可包括:与激光打标设备集成的电子装置;以及与激光打标设备分离的计算机。所述设施是产品制造设施,所述产品线是产品包装系统。

可实施本说明书中所描述的主题的各种实施例以实现以下一个或多个优点。可以增加激光打标设备的曝光窗口(孔)的有效使用,并且可以减少停留位置(标记制作处)之间的激光束偏转运动量。对于宽场激光打标应用,例如代码矩阵打标应用,代码条带技术可以采用符号分组技术,通过确定复杂代码/图像不同部分的有效打印顺序来减少打印时间和/或提高打印质量。在某些情况下,在宽视场代码矩阵激光打标应用中的典型图像上,可以缩短高达25%的打印时间。

可以使用代码的条带来实现剪切校正,以便在不需要控制产品线上产品的速度时,在慢速和快速移动的产品以及速度变化的产品上成功地打印(无剪切)代码。此外,所描述的系统和技术对于在激光打印操作期间静止的产品也是可用的(且有益的)。例如,如果产品暂时静止固定在激光打印站的产品线上以进行代码的整个打印,则所描述的系统和技术仍然可以通过优化镜子移动以最小化跳转距离来改善激光打印。这样减少了整体打印时间,从而提高产品线的生产能力。

在附图和以下描述中阐述了本说明书中描述主题的一个或多个实施例的细节。根据说明书、附图及权利要求,本发明的其他特征、方面和优点将变得显而易见。

附图说明

图1A显示了可用于在产品上打印代码的激光打标系统的一个示例;

图1B显示了可用于在宽视场上打印代码的激光打标设备的示例;

图2A显示了要通过激光孔打印的代码的示例;

图2B显示了为图2A中代码创建的条带的示例;

图2C显示了为要通过激光孔打印的较大矩阵代码创建的条带的示例;

图3显示了用于宽场矩阵激光打标的符号分组和条带化的过程的示例;

图4A显示了为图2C中代码创建的组的示例;

图4B显示了图4A的组被组织成条带的示例;

图4C显示了在条带组内已被组织成额外条带的符号。

图5A显示了基于邻近度将代码中的离散符号分为独立符号组的示例。

图5B显示了基于邻近度将代码中的离散符号分为独立符号组的另一示例。

各附图中相同的标记和名称表示相同的元件。

详细说明

图1A显示了一种可用于在产品上打印代码的激光打标系统100的示例。系统100包括产品线,该产品线被配置成通过设施使产品110移动,该设施可包括一个或多个传送带105和/或一个或多个其他产品移动机构。该设施可以是产品制造设施、产品分配设施和/或其他工业/商业设施/构造,并且,产品线可以包括产品包装系统、产品分类系统和/或其他产品处理/管理系统。

在一些实施方式中,系统100包括通过网络130与一个或多个控制计算机125通信耦合的一个或多个产品交互单元120。产品交互单元120可包括各种系统和设备,例如打印机或用于在产品110上编码信息的RFID(射频识别)站、用于称量产品110的秤、用于以特定方式移动产品110的各种机械致动器等。网络130可以是专用网络、公共网络、虚拟专用网络等,且网络130可以包括有线和/或无线网络。关于产品线配置的系统和技术的其他细节,参见2007年3月13日公布的名称为“动态线配置”的美国专利No.7,191,019。

系统100包括至少一个激光打标设备140,其被配置和布置在产品线附近,以根据系统操作员的期望用代码标记产品110。注意,“产品”110可以是单独的消费者单元、用于分配的单元箱(分派单元)、和/或单元或盒子的整个货板,以及任何前述物的包装或标签。因此,在一些实施方式中,激光打标设备140是控制激光束以在标签上打印代码的设备,然后标签被提供给将标签施加到产品的标签施加器。在任何情况下,激光打标设备140用产品代码标记产品110(例如,产品标签)并且接近产品线,因为它足够接近以直接在商品单元、商品单元的包装或商品单元的标签上打印代码。

激光打标设备140包括:激光源142,被配置成产生激光打印光束148;以及光学组件144,被配置成根据电子装置146的控制信号例如使用X和Y振镜在两个正交方向上引导激光束148。电子装置146可以包括执行控制激光打标设备140的操作的指令(例如,存储在电子装置146中的存储器中)的一个或多个处理器。合适的处理器包括但不限于:微处理器、数字信号处理器(DSP)、微控制器、集成电路、专用集成电路(ASIC)、逻辑门阵列和交换阵列。电子装置146还可以包括一个或多个存储器,用于存储由一个或多个处理器执行的指令和/或用于存储在激光打标设备140的运行期间产生的数据。合适的存储器包括但不限于随机存取存储器(RAM)、闪存RAM和电子只读存储器(例如,ROM,EPROM或EEPROM)。

电子装置146控制激光源142和光学组件144的运行。光学组件144(除了将激光束148重定向到产品110之外)可包括可用于(在电子装置146控制下)在产品110上的位置之间控制激光束148并在这些位置停留以标记产品110的低角度光学器件和反向光学器件。可以根据产品110和激光源142调整“停留时间”以确保在产品110上产生适当的标记。注意,“停留时间”可以包括在要标记的位置附近减慢激光束148,而不是要求激光束148完全停止。在任何情况下,电子装置146使激光束148在不同的停留位置之间快速移动,例如,使得激光束148不会在产品110的这些位置之间留下明显的标记。

电子装置146还可以与一个或多个传感器135通信。这些传感器135可以向电子装置146提供与激光打标设备140要在其上打印的产品110有关的信息。例如,传感器135可以当移动的产品110已经停止时及当产品110处于要打印的正确位置时,指示产品110相对于激光打标设备140的位置、产品110移动的方向、移动产品110的速度。合适的传感器135可包括但不限于用于检测正在移动的产品110的速度和/或方向的速度传感器(例如,编码器和旋转变压器)和用于指示产品110何时位于传感器135前方的位置传感器(例如,由光束发生器和光传感器形成的打印触发器,其中产品110阻挡光束指示产品110处于打印位置,或者启动产品110处于打印位置之前的延时倒计时,例如,将使代码打印在产品110上的期望位置的代码位置延时倒计时)。

此外,在一些实施方式中,可以使用止动机构暂停利用激光束148进行打印的产品110。这种机构可以包括机械止动件,即使传送带105是移动的,其也可以防止产品110移动,或可以包括功能控制止动件,其可暂停传送带105(或其他产品移动系统),从而停止产品110。产品可以在整个代码打印过程中保持固定,或者产品可以仅在激光代码打印的部分时间固定,例如在打印中间停止产品,或者在打印开始时或打印结束时停止产品。此外,在一些实施方式中,激光打标设备140可以采用像素优先化和运动校正的停留位置数据生成技术在移动产品110上进行打印,该技术例如是在2007年1月23日公布的名称为“在产品上打印代码”美国专利No.7,167,194中所描述的,该专利通过引用并入本文中。

激光源142可以是连续波(CW)或脉冲激光光源、基模或多模激光光源、CO2或CO激光光源或上述光源的组合。由激光源142形成的激光束148具有足够的功率,以在激光束148停留在一个位置时改变产品110的光学特性以形成光点。打印激光束148可以改变产品110的各种光学特性。例如,打印光束148可以使一层或多层材料被烧蚀,因此使得下面的层可见。由于材料的上层通常具有在纸上的油墨层,因此油墨层的消除便留下了一个点,在该点处纸相对于周围的油墨层是可见的。材料的折射特性也可以改变。例如,打印光束148可用于在诸如软饮料瓶的塑料上打印代码。打印光束改变了塑料的折射特性。代码很容易被看到,因为眼睛可以识别具有对比折射特性的部分。

另外,打印光束可以蚀刻某些材料,或者产品110可以包括响应于激光而改变(例如,颜色)的相变材料。因此,取决于待打标的产品110的性质,可以在激光打标设备140中使用各种各样的激光源142。这可以包括低功率激光器,例如CO 2空气冷却激光器,例如25W的CO2激光器、20W的CO2激光器、15W的CO2激光器或13W的CO2激光器。注意,对于低功率激光器,通常可以根据需要增加停留时间以确保在产品110上形成足够的标记。

产品110上的位置可以被布置为使得光点形成产品上代码的符号(例如,字母数字代码的像素)。代码的符号可以是字母数字字符(例如,用户指定的文本或时间/日期信息)、标志或图形、条形码(例如,一维(1D)或二维(2D)条形码),或者前述符号的组合。例如,电子装置146可以控制光学组件144以引导激光打印光束148停留在产品110上的不同位置,以根据从控制计算机125(例如计算机150)接收的指令来标记产品。

计算机150包括处理器152和存储器154,并且计算机150可以直接或通过网络130(如图所示)与激光打标设备140耦合。处理器152可以是一个或多个硬件处理器,每个硬件处理器可以包括多个处理器核。存储器154可以包括易失性和非易失性存储器,例如RAM和闪存RAM。计算机150可以包括各种类型的可包括存储器154的计算机存储介质和设备,以存储在处理器152上运行的程序指令。

在一些实施方式中,程序156在计算机150的显示设备160上呈现用户界面(UI)162,可以使用计算机150的一个或多个输入设备158(例如,键盘和鼠标)来操作用户界面。注意,尽管在图1中显示为独立的设备,显示设备160和/或输入设备158还可以彼此集成和/或与计算机150集成,例如在平板计算机中,其中一个或多个输入设备158可以是触摸屏显示器的一部分。因此,计算机150可以是用作激光打标设备140的手持控制器的无线平板设备。

程序156可以包括符号分组和条带化激光打标程序156。尽管如图1A所示,程序被一起包括在计算机150的程序中,但也可能是其他的程序配置和分配。可以使用两个单独的程序156:符号分组程序156和条带化激光打标程序156。此外,如上所述,电子装置146可以包括处理器和存储器,例如处理器152和存储器154等,程序156也可以包括在电子装置146中。在一些实施方式中,符号分组程序156设于在计算机150处以提供用户界面162,以帮助构建产品代码以及定义产品代码的组;条带化激光打标程序156位于激光打标设备140中的电子装置146处。

因此,例如,通过完全在打印机电子装置146内完成所有条带创建,不需要向计算机150提供关于与产品线一起使用的产品代码打印方向的任何信息。在所示的示例中,产品代码包括保质期164和2D条形码166(例如,QR(快速响应)码)。注意,图1中使用的示例(例如保质期164对应的“08-05-18”)是任意的,因为产品代码中包括的信息将取决于特定产品及其制造/分配的时间和/或位置。其他代码也是可能的,例如包含标志或图形和1D条形码的代码。

因为产品110在移动的产品线上,以及产品110本身可能在激光打印期间移动,所以用于每个产品打印的时间有限。此外,随着激光器视场的增加,为了能够在每个代码打印序列的多个产品上打印代码,可用时间进一步受到限制。例如,图1B显示了在打标站处并排安装的两个激光打标设备140A,其中每个激光打标设备140A被配置为在宽场中沿两个正交方向(X和Y)引导其激光束以对将要贴到产品包装上的宽幅箔110A打标。

注意,增加激光打标设备140A和宽幅箔110A之间的距离(Z)就增大了用于打标的有效激光孔,这允许使用由用于每个单独的产品遮盖标签110C的子代码164A组成的单个大矩阵代码对更宽片材110B和更多产品遮盖标签进行标记。对于给定类型的激光和激光束控制的速度,该单个大矩阵代码的尺寸上限取决于被标记的材料(即在不同位置之间需要多长的停留时间以形成组成代码的标记)和打标位置的选定顺序(即,激光束需要多少跳转距离才能标记代码)。为了处理这种更宽场的激光打标应用,代码条带化技术采用符号分组技术来管理打印时间和质量。

图2A显示了要通过激光孔210打印的代码200的示例。该示例中的代码200是两行文本:“1234”及其上的“ABCD”。孔210(此处仅为了说明目的而显示为非常小)是激光(例如,图1A中的激光束148)可以有效打印的区域。尽管该孔210可以是物理窗口,但是该孔210通常是光学组件(例如,图1A中的光学组件144)限制的结果。通常,受控激光束打标设备的孔限定一个区域,在此区域中,光学组件将允许打印装置在没有不期望的打印质量损失的情况下(例如,在图1A中的移动产品110上)进行打印。因此,在所示示例中,并不是代码200的所有符号都可以通过孔210同时打印,例如,当符号“B”和“C”位于孔内时,符号“A”202和符号“D”204在孔210之外。

为了解决这些问题,可以使用例如美国专利No.7,167,194中所描述的像素优先化和运动校正的停留位置数据生成技术。这样,代码200的每个符号可以由像素/点形成,且考虑到孔210的空间限制和在孔210下方移动产品的时间限制,这些像素/点的标记顺序可被改变。而且,可以调整用于将激光束引导到选定和安排的停留位置(用于标记像素/点)的数据集,以考虑移动的产品,程序还可以调整打标位置以补偿由光学组件中的镜片引入至激光束路径的任何变形。

另外,可以对代码200采用条带化技术。图2B显示了为图2A中代码200创建的条带220的示例。条带化是指将由符号组成的代码(例如,激光束的控制点列表,具有要标记控制点的顺序)组织成多个条带或由这些符号形成的数据集的片段。程序(例如,例如在电子装置146中的程序156)在垂直于产品运动的方向上将代码200组织成条带220。在这个例子中,条带对于水平移动的产品是垂直的,但条带对于垂直移动的产品也可以是水平的。

在所示示例中,第一条带222包括符号“D”和符号“4”,第二条带224包括符号“C”和符号“3”,第三条带226包括符号“B”和符号“2”,第四条带228包括符号“A”和符号“1”。在此例中用于激光束控制的运行顺序(如图2B中的单箭头所示)如下:在定义符号“D”204的位置进行打标开始第一条带222,跳转到在第一条带222中的下一个符号“4”的位置进行打标,然后继续打标第二条带224,接着是第三条带226,并以第四条带228结束。如图所示,激光束跳转的距离应该尽可能地减少,因此打标操作在从条带220的顶部开始到从条带的底部开始之间交替。这样,在该示例中打标的最后一个符号是符号“A”202。

在一些实施方式中,基于尺寸、位置、像素数量和打印条带的时间,为每个条带220分配参数,诸如打印顺序和“权重”。在一些实施方式中,通过在条带之间添加额外距离或延时来将条带校正技术(例如,前沿剪切校正和后沿剪切校正)用于条带,以避免由激光打标设备的打印孔导致的符号被激光打标设备剪切。关于剪切校正技术的进一步细节,参见2006年5月16日公布的名称为“条带和剪切校正”的美国专利No.7,046,267的第17栏第1行至第23栏第56行,该专利通过引用并入本文中,。

如上所述,对于宽场激光打标应用,激光孔将大得多,允许打印更大的代码。因此,在图2B的示例中,代码200可以被理解为是垂直间隔距离230的两个子代码(“ABCD”和“1234”)。随着该距离230增加,由于控制激光束的镜片移动增加,打印时间也增加,并且由于在代码的第一部分和代码的第二部分之间跳转时,镜子移动速度非常快,打印质量会降低。注意,图2B仅仅是一个简单的例子,随着代码复杂性的增加,打印时间和打印质量的问题变得更加重要。

图2C显示了为要通过激光孔打印的较大矩阵代码240创建的条带的示例。在该示例中,代码240可以被理解为在激光打标设备的宽视场上被复制的四个子代码242,244,246,248。在该示例中的激光束控制具有与上述相同的在垂直距离230上的跳转较大的问题,并且在该示例中的激光束控制还须在水平距离250上跳转,其中该距离250也可能增加。注意示例代码240中跨越距离230的垂直跳转数量;这些跳转的绝对数量和大小可能会对打印时间和打印质量产生负面影响。另请注意,在大的跳转之后打印符号之前,高速跳转可能需要缓慢减速和稳定速度,这可能导致大的跳转后符号的打印质量较差。

此外,在条带被狭窄地限定以要求符号在指定方向(在该示例中为垂直方向,参见美国专利No.7,046,267中的图13B)上彼此精确对齐的情况下,可能会出现更多问题。如果用户需要转动要打标的代码/图像以补偿产品线上的机械错位,则代码240的各个符号可能不再彼此精确对齐,从而导致为代码240的三十二个单独符号中的每个符号创建独立的“条带”,这可能导致激光束控制的更大跳转。

为了解决这些问题,可以将符号分组技术与条带化相结合。图3显示了用于宽场矩阵激光打标的符号分组和条带化过程的示例。该过程开始于激光打标设备(例如,激光打标设备140,140A)获得要在产品(例如,产品标签)上打印的代码,该激光打标设备被配置为在两个正交方向上引导激光束以在不同位置之间移动,以及在这些不同位置停留以形成标记。这可以包括接收305图像、文本、用于条形码生成的数据等或其某种组合,然后使用所接收的输入形成310用于宽场激光打标系统的代码。例如,用户可以通过用户界面(例如,UI162)输入305文本,通过使用所选字体定义的程序(例如,程序156)将该文本转换310到打标位置。作为另一示例,可以通过用户界面(例如,UI 162)输入305数据,由使用已知的条形码生成技术的程序(例如,程序156)将该数据转换310到1D或2D条形码的打标位置。

在一些实施方式中,可(例如通过UI 162)提供305图像,然后处理310图像以确定激光将停留的打标位置。对于标志或图形图像,这可以包括使用如2005年10月25日公布的名称为“填充用激光在材料上打标的图像的区域”的美国专利No.6,958,762中所描述的轮廓描绘技术。这种方法也可以用于字母数字字符的图像,和/或可以(例如由程序156)使用光学字符识别技术。在一些实施方式中,子代码中的一些或全部将在产品矩阵(例如,具有6×4产品标签矩阵的薄片110B)上重复,因此当形成310用于宽场激光打标系统的代码时,用户界面可以包括便于这种子代码重复的功能。

如从标准图形应用已知的,这可以包括复制、剪切和粘贴功能。附加地或替代地,可以提供针对激光打标设备定制的更简单的用户界面选项。例如,可以沿着对应于两个正交方向的X和Y坐标(即,例如为纸张110B所示的6×4子代码矩阵的矩阵代码的单位尺寸)接收305要打印的图像,然后,可以根据X和Y坐标复制310接收的图像,以形成要打印的代码。因此,例如,图1中的UI 162可以被用来通过允许用户选择矩阵大小(例如,5x5或其他相等或不同的矩阵单元)、矩阵网格的每个单元的大小来创建要打印的多个图像代码,然后设计第一个单元。然后,程序在默认情况下将内容复制到矩阵网格的每个单元中,并且用户还可以使用提供UI 162的程序来定制每个单元格的内容以使其具有独特的内容。

用户可以继续处理代码直到代码被准备好315。一旦代码准备好被打印,基于代码整个图像区域内的离散符号的位置,代码中的离散符号被彼此分组320成独立符号组。在一些实施中,使用例如在下面结合图5A进一步详细描述的存储在代码图像描述中的元数据来完成代码中离散符号的分组320。在一些实施方式中,代码中离散符号的分组320是基于代码整个图像区域内的离散符号彼此之间的接近度来完成的,例如在下面结合图5B进一步详细描述的通过使用邻近度度量来创建组。其他聚类算法也可用于对代码中的离散符号进行分组。此外,分组320的结果可以是定义组的元数据,并被存储在代码图像描述中。

图4A显示了为图2C中代码240而创建的组402,404,406,408的示例。然后可以例如根据代码的分组元数据在整体级别将条带化算法应用于组402,404,406,408,这些组在条带化过程中被视为单独的符号。可以将此理解为整体级条带化。图4B显示了图4A中的组402,404,406,408被组织成条带412,414的示例。如图3所示,在垂直于产品运动的方向上将独立符号组组织325成条带组。

程序和/或电子装置将每个符号组设置在一个条带中,并且不将符号组划分到多个条带。此外,程序和/或电子装置避免将(在该示例中沿着一水平线的)多于一个符号组设置到单个垂直条带中。在一些实施方式中,离散符号组由定义离散符号的分组的元数据代表。

如果符号组例如在垂直于产品运动的方向上彼此对齐,则将符号组放入相同的整体级条带中。在一些实施方式中,该对齐不包括公差余量,因此仅当一组离散符号组的边界框/边界彼此100%对齐时,才将这些离散符号组组织到一个条带;如果边界框/边框甚至仅偏离一个像素,也会创建一个新条带。应该注意,离散符号组的这种对齐将在矩阵打标应用中频繁发生。在其他实施方式中,在系统中建立了用于创建条带的公差级别。例如,如果离散符号组至少99%相互对齐、至少98%相互对齐、至少97%相互对齐或者至少96%相互对齐,则仍然只创建一个整体级条带。

在将独立符号组组织325成条带之后,在垂直于产品运动的方向上,将每个相应符号组中的符号组织330成一个或多个条带。程序和/或电子装置将每个符号设置在一个条带中的组内而不将符号分到多个条带。此外,程序和/或电子设备避免将(在该示例中沿着一水平线的)多于一个符号设置到单个垂直条带中。在一些实施方式中,离散符号由定义打标位置的分组的元数据代表。

如果符号例如在垂直于产品运动的方向上彼此对齐,则将符号放入相同的条带中。在一些实施方式中,该对齐不包括公差余量,因此仅当一组离散符号的边界框/边界彼此100%对齐时,才将这些离散符号组织到同一个条带;如果边界框/边框甚至仅偏离一个像素,也会创建一个新条带。在其他实施方式中,在系统中建立了用于创建条带公差级别。例如,如果离散符号至少99%相互对齐、至少98%相互对齐、至少97%相互对齐或者至少96%相互对齐,则仍然可以只创建一个符号级条带。

图4C显示了条带组412,414内的符号,这些符号已被组织成额外的条带。因此,条带组412包含被组织成四个条带422的符号组404和被组织成四个条带424的符号组408。同样,条带组414包含被组织成四个条带428的符号组402和被组织成四个条带426的符号组406。另外,条带已被优先用于打印。因此,图4B显示了激光在打印条带414之前先开始并完成条带412,图4C显示了激光在打印整体条带中的下一组前,先以分配的顺序开始并完成一组内的每个条带,然后打印下一个整体条带。如前所述,单头箭头表示激光束控制的操作顺序。将图4C与图2C进行对比,可以看出,实质上使用非常少的激光束大跳转(三个而不是九个)来标记相同的代码,例如,减少大的高速检流计的跳转数改善了打印质量,并且,减少或消除长的来回的检流计的跳转数提高了打印速度。因此,可以更有效地使用激光控制镜,以及即使代码图像稍微转动(例如,以补偿机械错位),符号的整体组仍将减少激光束跳转数,从而改善打印时间和打印质量。

返回如图3所示,该过程可以包括根据每个符号组进入激光打标设备打印孔的时间将组打印优先级分配335给独立符号组,对具有两个或更多个条带的每个独立符号组,根据每个条带进入激光打标设备打印孔的时间,给这两个或更多个条带分配335条带打印优先级。如上所述,除了权重之外,例如,权重=(条带中的像素数/点数)*(每个像素/点的停留时间),每个条带可以被分配打印顺序,,并且所分配的打印顺序除考虑打印孔外还要考虑权重。

在一些实施方式中,符号分组和打印优先级可以被显示340给用户(例如,通过UI162),例如图4A-4C中所示,然后要求用户确认分组和打印优先级。在一些实施方式中,在使用所定义的条带和打印优先级进行剪切校正之前,不使用用户交互来确认符号分组和打印优先级。在一些实施方式中,可以向用户显示340符号分组(例如,通过UI 162),然后要求用户确认分组,但是可以在没有用户交互的情况下例如实时地在激光打印机电子装置上执行条带化期间的打印优先级的分配,并使用所定义的条带和打印优先级(例如,队列中的符号级条带,其中队列中的条带的顺序表示打印优先级)进行剪切校正。

通常,剪切校正包括在条带之间增加350额外距离或延迟,以避免由激光打标设备的打印孔导致的(符号或符号组)被激光打标设备剪切。这些条带可以是由符号组形成的条带,在每组符号内形成的条带,或两者都有。在一些实施方式中,在符号级条带而非整体级条带上执行剪切校正350。此外,应该注意的是,所描述的多于一级的条带化可以递归地应用并且可以扩展到两个级别以上,其中整体条带的级别有助于定义低级符号条带的打标顺序,并且剪切校正技术仍然可以应用于将代码组织成条带的各种方式。

可以使激光打标设备355根据独立符号组引导激光束,包括使用条带之间的额外距离或延时以避免剪切。因此,例如图4B和4C中所示,可以使激光打标设备355引导激光束以组打印优先级的顺序打印独立符号组,以及按条带打印优先级的顺序打印每个符号组内的条带。此外,可以根据需要在条带之间添加额外距离和/或延时,以避免前沿剪切和后沿剪切。

当(a)产品快速移动经过激光打印窗口(孔)时,可能发生前沿剪切,且激光不能完成其打印,和/或当(b)打印系统需要长的激光停留时间来打印产品材料上的每个像素/点时,可能发生前沿剪切,激光也无法完成打印。因此,代码的尾部被激光孔的前沿“剪切”,这限制了激光束到达移动产品上的期望位置。换句话说,当试图在快速移动的产品上打印时或者当需要长的停留时间时,打印系统“耗尽”孔。关于前沿剪切的进一步细节,参见美国专利No.7,046,267的图15A-15E和第18栏第17行至第21栏第56行。

在使355激光打标设备控制激光束以标记代码时,在条带之间增加350额外距离可以防止前沿剪切。在一些实施方式中,剪切校正模块使用触发器输入(例如,来自图1A中的传感器135)来感测产品的前沿以用于下一个打印作业,其可被放入剪切校正处理队列中。剪切校正模块可以轮询队列并在准备打印的下一个作业上运行剪切校正。在一些实施方式中,剪切校正模块仅使用条带和速度,而不计算时间。使用这样的队列允许剪切校正模块针对先前触发的打印作业运行剪切校正的同时接收触发,这可有助于激光打标期间的实时剪切校正。

此外,如上所述,编码器和/或旋转变压器可以用作产品速度传感器。在一些实施方式中,激光打标设备的打印例程/驱动器使用编码器跟踪产品移动的距离以确定何时开始打印。编码器(例如,通过有线或无线连接与电子装置146耦合的传感器135)跟踪速度和距离(包括触发传感器和激光孔中心之间的距离)。在一些实施方式中,用户考虑产品上的打印区域期望位置设置触发距离,当产品的位置已经移动了触发距离(由用户设置)减去剪切校正模块从触发位置设置的起始偏移量时,激光将开始打印。在其他实施方式中,产品的尺寸/长度由系统感测,或者由系统知道,并且触发距离是自动确定的。

另外,编码器提供的速度信息可以使用如下。剪切校正模块可以使用在触发输入被接收到时已知的产品距离,以及以下等式中的输入速度来计算产品在激光孔前面的时间:

产品速度=产品距离变化/时间变化。

对于条带n:

条带打印时间n=(电子装置的地址空间中的点数)*(条带中每点的停留时间)“条带打印时间”可用于获得“条带移动距离”:

条带移动距离=条带打印时间*速度

“条带移动距离”可用于获得条带的“后沿剪切位置”和“前沿剪切位置”:

TECn(条带n的后沿剪切位置)=条带静态TEC位置+Σ(从i=0到i=(n-1))[条带移动距离i]

LECn(条带n的前沿剪切位置)=TECn-条带宽度n-条带移动距离n

如果整个代码以零速度在孔中打印,则“条带静态TEC位置”是条带的后沿。这意味着每个条带的“条带移动距离”为零。

“LEC”可用来获得“起始偏移”:

起始偏移(孔中整个打印的起始位置)=最大LEC-孔大小

“剪切校正值”可以计算如下:

剪切校正值=Σ(从k=0直到k=(条带总数-2))[Σ(从j=(条带总数-1)降到j=k)[(LECj-TECK-孔大小)/(j-k)]]

其中Σ表示对j的求和,k表示公式中的整数变量。当k=0且j=(条带总数-1)时,该等式加上(LECj-TECk-孔大小)/(j-k)的结果,当k=0且j=((条带总数-1)-1)时,等式加上(LECj-TECk-孔大小)/(j-k)的结果,依此类推,直到j=k=0。该等式取该值并将其加到k=1时的同一过程的结果中。等式这样重复直到k达到(条带总数-2)。

剪切校正模块可以使用(a)条带权重(时间)和(b)来自速度传感器(例如,编码器135)的速度输入(速度=距离/时间)来计算在连续/相邻打印条带之间的最小展开量,以适应产品上期望打印区域中的每个条带。时间乘以(距离/时间)的结果是距离。当产品通过孔时,展开允许每个条带打印在产品上。展开可以在相邻条带之间增加相等的视觉空间,使得相邻条带在整个打印图像上是等距的。请注意,展开的原因是在打印时将所有条带打印区域按照一个相等的量推回到孔中。这可以防止条带进入孔壁并进行剪切。将条带的打印区域推回到孔中会导致在产品上可见条带之间产生视觉空间。在一些实施方式中,剪切校正模块计算所需的最小空间,以适应期望打印区域中所有条带,并使用产品上尽可能小的空间。

使用起始偏移作为输入,打印例程/驱动器跟踪编码器以知道何时开始打印。起始偏移值将使打印程例/驱动器较“触发距离”(例如,由用户设置的)早于与起始偏移相等的量开始打印。剪切修正模块还可以向实时打印例程/驱动器输出另一个值:剪切校正值,该值指示条带中间的偏移以在打印时调整剪切。因此,代码打印图像可以水平展开以避免剪切,但它仍然是可读的。

当打印系统试图(a)在缓慢移动通过激光打印窗口(孔)的产品上打印图像时,和/或(b)在产品上打印长图像,例如图像的总长度比孔长时,可能发生后沿剪切。产品上用于打印代码符号的期望打印位置不按预期及时进入孔径,且孔的“后沿”限制打印光束到达产品上的期望位置。结果,代码的一个或多个(或部分)符号被打印在产品上的错误位置,或者符号被打印在彼此之上(重叠符号)。关于后沿剪切的进一步细节,参见美国专利No.7,046,267的图16A-16C和第19栏第54行至第23栏第8行。

在条带之间增加350额外时间可以避免使激光打标设备控制激光束以标记代码时的后沿剪切。在一些实施方式中,剪切校正模块提供实时后沿剪切校正以在以慢速移动的产品上打印条带或者打印比孔长的代码条带。后沿剪切校正会关闭激光(或将激光重定向到光束收集器)以及延迟打印直到产品上的适当位置(条带打印区域)进入孔。剪切校正模块可以使用以下公式来获得当期望打印区域进入孔时的延时:

延时=(孔外距离)/产品速度

在一些实施方式中,当期望条带位置基本上在孔中心时,剪切校正模块增加开始打印条带的延时。

另外,在一些实施方式中,在产品的前沿移动过触发器之后,剪切校正模块或实时打印例程/驱动器重新评估每个打印条带之间的速度输入。如果产品的速度发生变化,剪切校正模块会实时更新剪切校正值。例如,如果剪切校正模块在激光打印给定条带时或之后感测到产品的速度已经增加,则剪切校正模块可以更新(即增加)剪切校正值以增加展开。这样,条带之间的空间不必相等。此外,如果产品的速度降低,则剪切校正模块在打印下一个条带之前增加等待期望打印区域进入孔的延时。关于该更新剪切校正的进一步细节,参见美国专利No.7,046,267的图14D-14E和第23栏第9-56行。

如上所述,条带化、前沿剪切校正、后沿剪切校正和更新剪切校正可以在激光打标设备的运行期间实时执行。在一些实施方式中,这些中的一个或多个在特定打印作业之前完成。此外,可以使用软件、固件、硬件及其组合来实现上述技术。例如,在一些实施方式中,图像处理模块将代码图像组织成条带并将条带发送到剪切校正模块。

在一些实施方式中,激光打印机处的条带化模块根据一个或多个整体(分组的符号)条带化级别,例如根据存储在代码的图像描述中的元数据,来生成来自计算机的代码的符号级条带,。条带化模块将条带发送到由剪切校正模块访问的先进先出队列;条带化模块按照符号组的整体条带确定的顺序将符号级条带传送到队列。剪切校正模块接收条带、用于开始打印的触发器输入和速度输入,并将剪切校正值输出到实时打印例程/驱动器,该例程/驱动器使用该值来控制激光打标设备例如在移动的产品上的打印。此外,剪切校正模块或打印例程/驱动器可以判断产品的速度是否已经改变,并且当判断结果为是时,剪切校正模块确定新的剪切校正值。

另外,如上所述,打标位置附近场(以及因此符号)的分组320可以使用存储在代码图像描述中的元数据来完成,或者可以例如使用一个接近度度量创建分组自动地完成。图5A显示了基于由为代码生成的元数据所定义的位置将代码中离散符号分组320成各符号组的示例,其。如可以在图1A中UI 162使用的那样,显示了UI屏幕500的示例。

在此UI屏幕500的示例中,用户选择图像大小并创建要打印的图像510。在UI中使用矩阵选项,用户还定义要打印的整个代码的X和Y(宽度和高度)坐标。程序(例如,程序156)然后在代码的所有维度上复制图像510以创建矩阵代码。在该示例中,矩阵代码是3×3的,即图像510(包含“123”及其上的“ABC”的代码)被复制八次以填充3×3产品矩阵。

图5B显示了基于由程序和/或用户确定的位置将代码中的离散符号分组成独立符号组的另一示例,其中使用位置的接近度以形成这些组。如可在图1A中UI 162中使用的那样,显示了UI屏幕550的示例。在UI屏幕550的示例中,用户手动将要打印的每个图像放置到代码区域(宽度和高度)中。然后,通过自动化过程,程序(例如,程序156)通过为每个离散符号定义包含边界并对包含边界彼此重叠的离散符号进行分组来确定分组。每个离散符号的包含边界可以具有各种形状,例如圆形,如图5B所示。

因此,例如,程序(例如,程序156)可以识别图像区域中的每个字符,例如字符560,562,564,566,568,以及在每个字符周围设置固定大小的假想圆圈。在该示例中,圆的直径等于字符大小的一倍半,但是圆也可能是其他尺寸(或其他包含形状),只要形状的大小大于字符。在一些实施方式中,每个离散符号的包含边界的大小(以及可能的形状)根据用户输入来设置。

在设置包含边界的情况下,程序(例如,程序156)将包含边界相重叠的任何字符进行分组。不具有与另一个包含边界重叠(直接或通过一个或多个中间包含边界)的包含边界的字符被视为不同的组。因此,在所示的示例中,识别字符560,562包括在符号组570中,因为它们的包含边界560A,562A重叠,并且识别的字符564,566,568包括在符号组575中,因为它们的包含边界重叠。注意,识别字符564具有不与识别的字符568的包含边界直接重叠的包含边界,但是它通过识别字符566间接地重叠。此外,符号组575显示在偏离于通常矩阵代码的位置,以强调这种方法允许在代码区域内随机放置符号,程序将自动识别代码中适当的符号组。

本说明书中描述的主题和功能操作的实施例可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其等同结构,或者其中一个或多个的组合。本说明书中描述主题的实施例可以使用在计算机可读介质上编码的一个或多个计算机程序指令模块来实现,计算机程序指令模块由数据处理装置执行,或者被执行以控制数据处理装置的运行。计算机可读介质可以是制造的产品,例如计算机系统中的硬盘驱动器或通过零售渠道销售的光盘,或嵌入式系统。计算机可读介质可被单独获取并随后用计算机程序指令的一个或多个模块进行编码,例如通过有线或无线网络传送计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备,机器可读存储基板,存储器设备或它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如一个可编程处理器、一个计算机或多个处理器或计算机,术语“计算机可读介质”表示有形(非暂时性)介质,可由数据处理装置在该介质上编码和读取指令。

计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言,声明性或过程性语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序并不必然对应于文件系统中的一个文件。程序可以存储在文件的一部分中,该文件保存有其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点的多个计算机上或在分布在多个站点并通过通信网络互连的多个计算机上执行。

本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,专用逻辑电路例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。

作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个存储数据的大容量存储设备,和/或还将被可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,大容量存储设备例如是磁盘、磁光盘或光盘。但是,计算机不需要这样的设备。此外,计算机可以嵌入在另一个设备中,仅举几例,例如嵌入在移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM(可擦除可编程只读存储器),EEPROM(电子可擦除可编程只读存储器)和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本说明书中描述主题的实施例可以在具有用于向用户显示信息的显示设备、以及键盘和定点设备的计算机上实施,显示设备例如是LCD(液晶显示器)显示设备、OLED(有机发光二极管)显示设备或另一个监视器,,定点设备例如是鼠标或轨迹球,通过键盘和定点设备用户可以向计算机提供输入。也可使用其他类型的设备以提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;以及可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。

虽然本说明书包含许多实施细节,但是这些不应被解释为是对本发明的范围或权利要求保护范围的限制,而是作为对本发明的特定实施例特定特征的描述。本说明书中在各实施例上下文中描述的某些特征也可以在单个实施例中组合实现。反过来,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可能在前面被描述为以某些组合起作用,甚至最初如此声明保护,但是在某些情况下可以从权利要求所要求保护的组合中删除来自权利要求所要求保护的组合的一个或多个特征,并且权利要求所要求保护的组合可以指向子组合或子组合的变体。因此,除非另有明确说明,或者除非本领域普通技术人员的知识明确指出,否则上述实施例的任何特征可以与上述实施例的任何其他特征组合。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按前后顺序执行这些操作或者要求执行所有示出的操作才能实现所期望的结果。在某些情况下,多任务和/或并行处理可能是有利的。此外,上面描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,而应该理解为,所描述的程序组件和系统通常可以集成在单个软件产品中或打包到多个软件产品中。

因此,已经描述了本发明的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行且仍然实现期望的结果。

具体实施方式

图1A显示了可用于在产品上打印代码的激光打标系统的一个示例;

图1B显示了可用于在宽视场上打印代码的激光打标设备的示例;

图2A显示了要通过激光孔打印的代码的示例;

图2B显示了为图2A中代码创建的条带的示例;

图2C显示了为要通过激光孔打印的较大矩阵代码创建的条带的示例;

图3显示了用于宽场矩阵激光打标的符号分组和条带化的过程的示例;

图4A显示了为图2C中代码创建的组的示例;

图4B显示了图4A的组被组织成条带的示例;

图4C显示了在条带组内已被组织成额外条带的符号。

图5A显示了基于邻近度将代码中的离散符号分为独立符号组的示例。

图5B显示了基于邻近度将代码中的离散符号分为独立符号组的另一示例。

各附图中相同的标记和名称表示相同的元件。

详细说明

图1A显示了一种可用于在产品上打印代码的激光打标系统100的示例。系统100包括产品线,该产品线被配置成通过设施使产品110移动,该设施可包括一个或多个传送带105和/或一个或多个其他产品移动机构。该设施可以是产品制造设施、产品分配设施和/或其他工业/商业设施/构造,并且,产品线可以包括产品包装系统、产品分类系统和/或其他产品处理/管理系统。

在一些实施方式中,系统100包括通过网络130与一个或多个控制计算机125通信耦合的一个或多个产品交互单元120。产品交互单元120可包括各种系统和设备,例如打印机或用于在产品110上编码信息的RFID(射频识别)站、用于称量产品110的秤、用于以特定方式移动产品110的各种机械致动器等。网络130可以是专用网络、公共网络、虚拟专用网络等,且网络130可以包括有线和/或无线网络。关于产品线配置的系统和技术的其他细节,参见2007年3月13日公布的名称为“动态线配置”的美国专利No.7,191,019。

系统100包括至少一个激光打标设备140,其被配置和布置在产品线附近,以根据系统操作员的期望用代码标记产品110。注意,“产品”110可以是单独的消费者单元、用于分配的单元箱(分派单元)、和/或单元或盒子的整个货板,以及任何前述物的包装或标签。因此,在一些实施方式中,激光打标设备140是控制激光束以在标签上打印代码的设备,然后标签被提供给将标签施加到产品的标签施加器。在任何情况下,激光打标设备140用产品代码标记产品110(例如,产品标签)并且接近产品线,因为它足够接近以直接在商品单元、商品单元的包装或商品单元的标签上打印代码。

激光打标设备140包括:激光源142,被配置成产生激光打印光束148;以及光学组件144,被配置成根据电子装置146的控制信号例如使用X和Y振镜在两个正交方向上引导激光束148。电子装置146可以包括执行控制激光打标设备140的操作的指令(例如,存储在电子装置146中的存储器中)的一个或多个处理器。合适的处理器包括但不限于:微处理器、数字信号处理器(DSP)、微控制器、集成电路、专用集成电路(ASIC)、逻辑门阵列和交换阵列。电子装置146还可以包括一个或多个存储器,用于存储由一个或多个处理器执行的指令和/或用于存储在激光打标设备140的运行期间产生的数据。合适的存储器包括但不限于随机存取存储器(RAM)、闪存RAM和电子只读存储器(例如,ROM,EPROM或EEPROM)。

电子装置146控制激光源142和光学组件144的运行。光学组件144(除了将激光束148重定向到产品110之外)可包括可用于(在电子装置146控制下)在产品110上的位置之间控制激光束148并在这些位置停留以标记产品110的低角度光学器件和反向光学器件。可以根据产品110和激光源142调整“停留时间”以确保在产品110上产生适当的标记。注意,“停留时间”可以包括在要标记的位置附近减慢激光束148,而不是要求激光束148完全停止。在任何情况下,电子装置146使激光束148在不同的停留位置之间快速移动,例如,使得激光束148不会在产品110的这些位置之间留下明显的标记。

电子装置146还可以与一个或多个传感器135通信。这些传感器135可以向电子装置146提供与激光打标设备140要在其上打印的产品110有关的信息。例如,传感器135可以当移动的产品110已经停止时及当产品110处于要打印的正确位置时,指示产品110相对于激光打标设备140的位置、产品110移动的方向、移动产品110的速度。合适的传感器135可包括但不限于用于检测正在移动的产品110的速度和/或方向的速度传感器(例如,编码器和旋转变压器)和用于指示产品110何时位于传感器135前方的位置传感器(例如,由光束发生器和光传感器形成的打印触发器,其中产品110阻挡光束指示产品110处于打印位置,或者启动产品110处于打印位置之前的延时倒计时,例如,将使代码打印在产品110上的期望位置的代码位置延时倒计时)。

此外,在一些实施方式中,可以使用止动机构暂停利用激光束148进行打印的产品110。这种机构可以包括机械止动件,即使传送带105是移动的,其也可以防止产品110移动,或可以包括功能控制止动件,其可暂停传送带105(或其他产品移动系统),从而停止产品110。产品可以在整个代码打印过程中保持固定,或者产品可以仅在激光代码打印的部分时间固定,例如在打印中间停止产品,或者在打印开始时或打印结束时停止产品。此外,在一些实施方式中,激光打标设备140可以采用像素优先化和运动校正的停留位置数据生成技术在移动产品110上进行打印,该技术例如是在2007年1月23日公布的名称为“在产品上打印代码”美国专利No.7,167,194中所描述的,该专利通过引用并入本文中。

激光源142可以是连续波(CW)或脉冲激光光源、基模或多模激光光源、CO2或CO激光光源或上述光源的组合。由激光源142形成的激光束148具有足够的功率,以在激光束148停留在一个位置时改变产品110的光学特性以形成光点。打印激光束148可以改变产品110的各种光学特性。例如,打印光束148可以使一层或多层材料被烧蚀,因此使得下面的层可见。由于材料的上层通常具有在纸上的油墨层,因此油墨层的消除便留下了一个点,在该点处纸相对于周围的油墨层是可见的。材料的折射特性也可以改变。例如,打印光束148可用于在诸如软饮料瓶的塑料上打印代码。打印光束改变了塑料的折射特性。代码很容易被看到,因为眼睛可以识别具有对比折射特性的部分。

另外,打印光束可以蚀刻某些材料,或者产品110可以包括响应于激光而改变(例如,颜色)的相变材料。因此,取决于待打标的产品110的性质,可以在激光打标设备140中使用各种各样的激光源142。这可以包括低功率激光器,例如CO 2空气冷却激光器,例如25W的CO2激光器、20W的CO2激光器、15W的CO2激光器或13W的CO2激光器。注意,对于低功率激光器,通常可以根据需要增加停留时间以确保在产品110上形成足够的标记。

产品110上的位置可以被布置为使得光点形成产品上代码的符号(例如,字母数字代码的像素)。代码的符号可以是字母数字字符(例如,用户指定的文本或时间/日期信息)、标志或图形、条形码(例如,一维(1D)或二维(2D)条形码),或者前述符号的组合。例如,电子装置146可以控制光学组件144以引导激光打印光束148停留在产品110上的不同位置,以根据从控制计算机125(例如计算机150)接收的指令来标记产品。

计算机150包括处理器152和存储器154,并且计算机150可以直接或通过网络130(如图所示)与激光打标设备140耦合。处理器152可以是一个或多个硬件处理器,每个硬件处理器可以包括多个处理器核。存储器154可以包括易失性和非易失性存储器,例如RAM和闪存RAM。计算机150可以包括各种类型的可包括存储器154的计算机存储介质和设备,以存储在处理器152上运行的程序指令。

在一些实施方式中,程序156在计算机150的显示设备160上呈现用户界面(UI)162,可以使用计算机150的一个或多个输入设备158(例如,键盘和鼠标)来操作用户界面。注意,尽管在图1中显示为独立的设备,显示设备160和/或输入设备158还可以彼此集成和/或与计算机150集成,例如在平板计算机中,其中一个或多个输入设备158可以是触摸屏显示器的一部分。因此,计算机150可以是用作激光打标设备140的手持控制器的无线平板设备。

程序156可以包括符号分组和条带化激光打标程序156。尽管如图1A所示,程序被一起包括在计算机150的程序中,但也可能是其他的程序配置和分配。可以使用两个单独的程序156:符号分组程序156和条带化激光打标程序156。此外,如上所述,电子装置146可以包括处理器和存储器,例如处理器152和存储器154等,程序156也可以包括在电子装置146中。在一些实施方式中,符号分组程序156设于在计算机150处以提供用户界面162,以帮助构建产品代码以及定义产品代码的组;条带化激光打标程序156位于激光打标设备140中的电子装置146处。

因此,例如,通过完全在打印机电子装置146内完成所有条带创建,不需要向计算机150提供关于与产品线一起使用的产品代码打印方向的任何信息。在所示的示例中,产品代码包括保质期164和2D条形码166(例如,QR(快速响应)码)。注意,图1中使用的示例(例如保质期164对应的“08-05-18”)是任意的,因为产品代码中包括的信息将取决于特定产品及其制造/分配的时间和/或位置。其他代码也是可能的,例如包含标志或图形和1D条形码的代码。

因为产品110在移动的产品线上,以及产品110本身可能在激光打印期间移动,所以用于每个产品打印的时间有限。此外,随着激光器视场的增加,为了能够在每个代码打印序列的多个产品上打印代码,可用时间进一步受到限制。例如,图1B显示了在打标站处并排安装的两个激光打标设备140A,其中每个激光打标设备140A被配置为在宽场中沿两个正交方向(X和Y)引导其激光束以对将要贴到产品包装上的宽幅箔110A打标。

注意,增加激光打标设备140A和宽幅箔110A之间的距离(Z)就增大了用于打标的有效激光孔,这允许使用由用于每个单独的产品遮盖标签110C的子代码164A组成的单个大矩阵代码对更宽片材110B和更多产品遮盖标签进行标记。对于给定类型的激光和激光束控制的速度,该单个大矩阵代码的尺寸上限取决于被标记的材料(即在不同位置之间需要多长的停留时间以形成组成代码的标记)和打标位置的选定顺序(即,激光束需要多少跳转距离才能标记代码)。为了处理这种更宽场的激光打标应用,代码条带化技术采用符号分组技术来管理打印时间和质量。

图2A显示了要通过激光孔210打印的代码200的示例。该示例中的代码200是两行文本:“1234”及其上的“ABCD”。孔210(此处仅为了说明目的而显示为非常小)是激光(例如,图1A中的激光束148)可以有效打印的区域。尽管该孔210可以是物理窗口,但是该孔210通常是光学组件(例如,图1A中的光学组件144)限制的结果。通常,受控激光束打标设备的孔限定一个区域,在此区域中,光学组件将允许打印装置在没有不期望的打印质量损失的情况下(例如,在图1A中的移动产品110上)进行打印。因此,在所示示例中,并不是代码200的所有符号都可以通过孔210同时打印,例如,当符号“B”和“C”位于孔内时,符号“A”202和符号“D”204在孔210之外。

为了解决这些问题,可以使用例如美国专利No.7,167,194中所描述的像素优先化和运动校正的停留位置数据生成技术。这样,代码200的每个符号可以由像素/点形成,且考虑到孔210的空间限制和在孔210下方移动产品的时间限制,这些像素/点的标记顺序可被改变。而且,可以调整用于将激光束引导到选定和安排的停留位置(用于标记像素/点)的数据集,以考虑移动的产品,程序还可以调整打标位置以补偿由光学组件中的镜片引入至激光束路径的任何变形。

另外,可以对代码200采用条带化技术。图2B显示了为图2A中代码200创建的条带220的示例。条带化是指将由符号组成的代码(例如,激光束的控制点列表,具有要标记控制点的顺序)组织成多个条带或由这些符号形成的数据集的片段。程序(例如,例如在电子装置146中的程序156)在垂直于产品运动的方向上将代码200组织成条带220。在这个例子中,条带对于水平移动的产品是垂直的,但条带对于垂直移动的产品也可以是水平的。

在所示示例中,第一条带222包括符号“D”和符号“4”,第二条带224包括符号“C”和符号“3”,第三条带226包括符号“B”和符号“2”,第四条带228包括符号“A”和符号“1”。在此例中用于激光束控制的运行顺序(如图2B中的单箭头所示)如下:在定义符号“D”204的位置进行打标开始第一条带222,跳转到在第一条带222中的下一个符号“4”的位置进行打标,然后继续打标第二条带224,接着是第三条带226,并以第四条带228结束。如图所示,激光束跳转的距离应该尽可能地减少,因此打标操作在从条带220的顶部开始到从条带的底部开始之间交替。这样,在该示例中打标的最后一个符号是符号“A”202。

在一些实施方式中,基于尺寸、位置、像素数量和打印条带的时间,为每个条带220分配参数,诸如打印顺序和“权重”。在一些实施方式中,通过在条带之间添加额外距离或延时来将条带校正技术(例如,前沿剪切校正和后沿剪切校正)用于条带,以避免由激光打标设备的打印孔导致的符号被激光打标设备剪切。关于剪切校正技术的进一步细节,参见2006年5月16日公布的名称为“条带和剪切校正”的美国专利No.7,046,267的第17栏第1行至第23栏第56行,该专利通过引用并入本文中,。

如上所述,对于宽场激光打标应用,激光孔将大得多,允许打印更大的代码。因此,在图2B的示例中,代码200可以被理解为是垂直间隔距离230的两个子代码(“ABCD”和“1234”)。随着该距离230增加,由于控制激光束的镜片移动增加,打印时间也增加,并且由于在代码的第一部分和代码的第二部分之间跳转时,镜子移动速度非常快,打印质量会降低。注意,图2B仅仅是一个简单的例子,随着代码复杂性的增加,打印时间和打印质量的问题变得更加重要。

图2C显示了为要通过激光孔打印的较大矩阵代码240创建的条带的示例。在该示例中,代码240可以被理解为在激光打标设备的宽视场上被复制的四个子代码242,244,246,248。在该示例中的激光束控制具有与上述相同的在垂直距离230上的跳转较大的问题,并且在该示例中的激光束控制还须在水平距离250上跳转,其中该距离250也可能增加。注意示例代码240中跨越距离230的垂直跳转数量;这些跳转的绝对数量和大小可能会对打印时间和打印质量产生负面影响。另请注意,在大的跳转之后打印符号之前,高速跳转可能需要缓慢减速和稳定速度,这可能导致大的跳转后符号的打印质量较差。

此外,在条带被狭窄地限定以要求符号在指定方向(在该示例中为垂直方向,参见美国专利No.7,046,267中的图13B)上彼此精确对齐的情况下,可能会出现更多问题。如果用户需要转动要打标的代码/图像以补偿产品线上的机械错位,则代码240的各个符号可能不再彼此精确对齐,从而导致为代码240的三十二个单独符号中的每个符号创建独立的“条带”,这可能导致激光束控制的更大跳转。

为了解决这些问题,可以将符号分组技术与条带化相结合。图3显示了用于宽场矩阵激光打标的符号分组和条带化过程的示例。该过程开始于激光打标设备(例如,激光打标设备140,140A)获得要在产品(例如,产品标签)上打印的代码,该激光打标设备被配置为在两个正交方向上引导激光束以在不同位置之间移动,以及在这些不同位置停留以形成标记。这可以包括接收305图像、文本、用于条形码生成的数据等或其某种组合,然后使用所接收的输入形成310用于宽场激光打标系统的代码。例如,用户可以通过用户界面(例如,UI162)输入305文本,通过使用所选字体定义的程序(例如,程序156)将该文本转换310到打标位置。作为另一示例,可以通过用户界面(例如,UI 162)输入305数据,由使用已知的条形码生成技术的程序(例如,程序156)将该数据转换310到1D或2D条形码的打标位置。

在一些实施方式中,可(例如通过UI 162)提供305图像,然后处理310图像以确定激光将停留的打标位置。对于标志或图形图像,这可以包括使用如2005年10月25日公布的名称为“填充用激光在材料上打标的图像的区域”的美国专利No.6,958,762中所描述的轮廓描绘技术。这种方法也可以用于字母数字字符的图像,和/或可以(例如由程序156)使用光学字符识别技术。在一些实施方式中,子代码中的一些或全部将在产品矩阵(例如,具有6×4产品标签矩阵的薄片110B)上重复,因此当形成310用于宽场激光打标系统的代码时,用户界面可以包括便于这种子代码重复的功能。

如从标准图形应用已知的,这可以包括复制、剪切和粘贴功能。附加地或替代地,可以提供针对激光打标设备定制的更简单的用户界面选项。例如,可以沿着对应于两个正交方向的X和Y坐标(即,例如为纸张110B所示的6×4子代码矩阵的矩阵代码的单位尺寸)接收305要打印的图像,然后,可以根据X和Y坐标复制310接收的图像,以形成要打印的代码。因此,例如,图1中的UI 162可以被用来通过允许用户选择矩阵大小(例如,5x5或其他相等或不同的矩阵单元)、矩阵网格的每个单元的大小来创建要打印的多个图像代码,然后设计第一个单元。然后,程序在默认情况下将内容复制到矩阵网格的每个单元中,并且用户还可以使用提供UI 162的程序来定制每个单元格的内容以使其具有独特的内容。

用户可以继续处理代码直到代码被准备好315。一旦代码准备好被打印,基于代码整个图像区域内的离散符号的位置,代码中的离散符号被彼此分组320成独立符号组。在一些实施中,使用例如在下面结合图5A进一步详细描述的存储在代码图像描述中的元数据来完成代码中离散符号的分组320。在一些实施方式中,代码中离散符号的分组320是基于代码整个图像区域内的离散符号彼此之间的接近度来完成的,例如在下面结合图5B进一步详细描述的通过使用邻近度度量来创建组。其他聚类算法也可用于对代码中的离散符号进行分组。此外,分组320的结果可以是定义组的元数据,并被存储在代码图像描述中。

图4A显示了为图2C中代码240而创建的组402,404,406,408的示例。然后可以例如根据代码的分组元数据在整体级别将条带化算法应用于组402,404,406,408,这些组在条带化过程中被视为单独的符号。可以将此理解为整体级条带化。图4B显示了图4A中的组402,404,406,408被组织成条带412,414的示例。如图3所示,在垂直于产品运动的方向上将独立符号组组织325成条带组。

程序和/或电子装置将每个符号组设置在一个条带中,并且不将符号组划分到多个条带。此外,程序和/或电子装置避免将(在该示例中沿着一水平线的)多于一个符号组设置到单个垂直条带中。在一些实施方式中,离散符号组由定义离散符号的分组的元数据代表。

如果符号组例如在垂直于产品运动的方向上彼此对齐,则将符号组放入相同的整体级条带中。在一些实施方式中,该对齐不包括公差余量,因此仅当一组离散符号组的边界框/边界彼此100%对齐时,才将这些离散符号组组织到一个条带;如果边界框/边框甚至仅偏离一个像素,也会创建一个新条带。应该注意,离散符号组的这种对齐将在矩阵打标应用中频繁发生。在其他实施方式中,在系统中建立了用于创建条带的公差级别。例如,如果离散符号组至少99%相互对齐、至少98%相互对齐、至少97%相互对齐或者至少96%相互对齐,则仍然只创建一个整体级条带。

在将独立符号组组织325成条带之后,在垂直于产品运动的方向上,将每个相应符号组中的符号组织330成一个或多个条带。程序和/或电子装置将每个符号设置在一个条带中的组内而不将符号分到多个条带。此外,程序和/或电子设备避免将(在该示例中沿着一水平线的)多于一个符号设置到单个垂直条带中。在一些实施方式中,离散符号由定义打标位置的分组的元数据代表。

如果符号例如在垂直于产品运动的方向上彼此对齐,则将符号放入相同的条带中。在一些实施方式中,该对齐不包括公差余量,因此仅当一组离散符号的边界框/边界彼此100%对齐时,才将这些离散符号组织到同一个条带;如果边界框/边框甚至仅偏离一个像素,也会创建一个新条带。在其他实施方式中,在系统中建立了用于创建条带公差级别。例如,如果离散符号至少99%相互对齐、至少98%相互对齐、至少97%相互对齐或者至少96%相互对齐,则仍然可以只创建一个符号级条带。

图4C显示了条带组412,414内的符号,这些符号已被组织成额外的条带。因此,条带组412包含被组织成四个条带422的符号组404和被组织成四个条带424的符号组408。同样,条带组414包含被组织成四个条带428的符号组402和被组织成四个条带426的符号组406。另外,条带已被优先用于打印。因此,图4B显示了激光在打印条带414之前先开始并完成条带412,图4C显示了激光在打印整体条带中的下一组前,先以分配的顺序开始并完成一组内的每个条带,然后打印下一个整体条带。如前所述,单头箭头表示激光束控制的操作顺序。将图4C与图2C进行对比,可以看出,实质上使用非常少的激光束大跳转(三个而不是九个)来标记相同的代码,例如,减少大的高速检流计的跳转数改善了打印质量,并且,减少或消除长的来回的检流计的跳转数提高了打印速度。因此,可以更有效地使用激光控制镜,以及即使代码图像稍微转动(例如,以补偿机械错位),符号的整体组仍将减少激光束跳转数,从而改善打印时间和打印质量。

返回如图3所示,该过程可以包括根据每个符号组进入激光打标设备打印孔的时间将组打印优先级分配335给独立符号组,对具有两个或更多个条带的每个独立符号组,根据每个条带进入激光打标设备打印孔的时间,给这两个或更多个条带分配335条带打印优先级。如上所述,除了权重之外,例如,权重=(条带中的像素数/点数)*(每个像素/点的停留时间),每个条带可以被分配打印顺序,,并且所分配的打印顺序除考虑打印孔外还要考虑权重。

在一些实施方式中,符号分组和打印优先级可以被显示340给用户(例如,通过UI162),例如图4A-4C中所示,然后要求用户确认分组和打印优先级。在一些实施方式中,在使用所定义的条带和打印优先级进行剪切校正之前,不使用用户交互来确认符号分组和打印优先级。在一些实施方式中,可以向用户显示340符号分组(例如,通过UI 162),然后要求用户确认分组,但是可以在没有用户交互的情况下例如实时地在激光打印机电子装置上执行条带化期间的打印优先级的分配,并使用所定义的条带和打印优先级(例如,队列中的符号级条带,其中队列中的条带的顺序表示打印优先级)进行剪切校正。

通常,剪切校正包括在条带之间增加350额外距离或延迟,以避免由激光打标设备的打印孔导致的(符号或符号组)被激光打标设备剪切。这些条带可以是由符号组形成的条带,在每组符号内形成的条带,或两者都有。在一些实施方式中,在符号级条带而非整体级条带上执行剪切校正350。此外,应该注意的是,所描述的多于一级的条带化可以递归地应用并且可以扩展到两个级别以上,其中整体条带的级别有助于定义低级符号条带的打标顺序,并且剪切校正技术仍然可以应用于将代码组织成条带的各种方式。

可以使激光打标设备355根据独立符号组引导激光束,包括使用条带之间的额外距离或延时以避免剪切。因此,例如图4B和4C中所示,可以使激光打标设备355引导激光束以组打印优先级的顺序打印独立符号组,以及按条带打印优先级的顺序打印每个符号组内的条带。此外,可以根据需要在条带之间添加额外距离和/或延时,以避免前沿剪切和后沿剪切。

当(a)产品快速移动经过激光打印窗口(孔)时,可能发生前沿剪切,且激光不能完成其打印,和/或当(b)打印系统需要长的激光停留时间来打印产品材料上的每个像素/点时,可能发生前沿剪切,激光也无法完成打印。因此,代码的尾部被激光孔的前沿“剪切”,这限制了激光束到达移动产品上的期望位置。换句话说,当试图在快速移动的产品上打印时或者当需要长的停留时间时,打印系统“耗尽”孔。关于前沿剪切的进一步细节,参见美国专利No.7,046,267的图15A-15E和第18栏第17行至第21栏第56行。

在使355激光打标设备控制激光束以标记代码时,在条带之间增加350额外距离可以防止前沿剪切。在一些实施方式中,剪切校正模块使用触发器输入(例如,来自图1A中的传感器135)来感测产品的前沿以用于下一个打印作业,其可被放入剪切校正处理队列中。剪切校正模块可以轮询队列并在准备打印的下一个作业上运行剪切校正。在一些实施方式中,剪切校正模块仅使用条带和速度,而不计算时间。使用这样的队列允许剪切校正模块针对先前触发的打印作业运行剪切校正的同时接收触发,这可有助于激光打标期间的实时剪切校正。

此外,如上所述,编码器和/或旋转变压器可以用作产品速度传感器。在一些实施方式中,激光打标设备的打印例程/驱动器使用编码器跟踪产品移动的距离以确定何时开始打印。编码器(例如,通过有线或无线连接与电子装置146耦合的传感器135)跟踪速度和距离(包括触发传感器和激光孔中心之间的距离)。在一些实施方式中,用户考虑产品上的打印区域期望位置设置触发距离,当产品的位置已经移动了触发距离(由用户设置)减去剪切校正模块从触发位置设置的起始偏移量时,激光将开始打印。在其他实施方式中,产品的尺寸/长度由系统感测,或者由系统知道,并且触发距离是自动确定的。

另外,编码器提供的速度信息可以使用如下。剪切校正模块可以使用在触发输入被接收到时已知的产品距离,以及以下等式中的输入速度来计算产品在激光孔前面的时间:

产品速度=产品距离变化/时间变化。

对于条带n:

条带打印时间n=(电子装置的地址空间中的点数)*(条带中每点的停留时间)“条带打印时间”可用于获得“条带移动距离”:

条带移动距离=条带打印时间*速度

“条带移动距离”可用于获得条带的“后沿剪切位置”和“前沿剪切位置”:

TECn(条带n的后沿剪切位置)=条带静态TEC位置+Σ(从i=0到i=(n-1))[条带移动距离i]

LECn(条带n的前沿剪切位置)=TECn-条带宽度n-条带移动距离n

如果整个代码以零速度在孔中打印,则“条带静态TEC位置”是条带的后沿。这意味着每个条带的“条带移动距离”为零。

“LEC”可用来获得“起始偏移”:

起始偏移(孔中整个打印的起始位置)=最大LEC-孔大小

“剪切校正值”可以计算如下:

剪切校正值=Σ(从k=0直到k=(条带总数-2))[Σ(从j=(条带总数-1)降到j=k)[(LECj-TECK-孔大小)/(j-k)]]

其中Σ表示对j的求和,k表示公式中的整数变量。当k=0且j=(条带总数-1)时,该等式加上(LECj-TECk-孔大小)/(j-k)的结果,当k=0且j=((条带总数-1)-1)时,等式加上(LECj-TECk-孔大小)/(j-k)的结果,依此类推,直到j=k=0。该等式取该值并将其加到k=1时的同一过程的结果中。等式这样重复直到k达到(条带总数-2)。

剪切校正模块可以使用(a)条带权重(时间)和(b)来自速度传感器(例如,编码器135)的速度输入(速度=距离/时间)来计算在连续/相邻打印条带之间的最小展开量,以适应产品上期望打印区域中的每个条带。时间乘以(距离/时间)的结果是距离。当产品通过孔时,展开允许每个条带打印在产品上。展开可以在相邻条带之间增加相等的视觉空间,使得相邻条带在整个打印图像上是等距的。请注意,展开的原因是在打印时将所有条带打印区域按照一个相等的量推回到孔中。这可以防止条带进入孔壁并进行剪切。将条带的打印区域推回到孔中会导致在产品上可见条带之间产生视觉空间。在一些实施方式中,剪切校正模块计算所需的最小空间,以适应期望打印区域中所有条带,并使用产品上尽可能小的空间。

使用起始偏移作为输入,打印例程/驱动器跟踪编码器以知道何时开始打印。起始偏移值将使打印程例/驱动器较“触发距离”(例如,由用户设置的)早于与起始偏移相等的量开始打印。剪切修正模块还可以向实时打印例程/驱动器输出另一个值:剪切校正值,该值指示条带中间的偏移以在打印时调整剪切。因此,代码打印图像可以水平展开以避免剪切,但它仍然是可读的。

当打印系统试图(a)在缓慢移动通过激光打印窗口(孔)的产品上打印图像时,和/或(b)在产品上打印长图像,例如图像的总长度比孔长时,可能发生后沿剪切。产品上用于打印代码符号的期望打印位置不按预期及时进入孔径,且孔的“后沿”限制打印光束到达产品上的期望位置。结果,代码的一个或多个(或部分)符号被打印在产品上的错误位置,或者符号被打印在彼此之上(重叠符号)。关于后沿剪切的进一步细节,参见美国专利No.7,046,267的图16A-16C和第19栏第54行至第23栏第8行。

在条带之间增加350额外时间可以避免使激光打标设备控制激光束以标记代码时的后沿剪切。在一些实施方式中,剪切校正模块提供实时后沿剪切校正以在以慢速移动的产品上打印条带或者打印比孔长的代码条带。后沿剪切校正会关闭激光(或将激光重定向到光束收集器)以及延迟打印直到产品上的适当位置(条带打印区域)进入孔。剪切校正模块可以使用以下公式来获得当期望打印区域进入孔时的延时:

延时=(孔外距离)/产品速度

在一些实施方式中,当期望条带位置基本上在孔中心时,剪切校正模块增加开始打印条带的延时。

另外,在一些实施方式中,在产品的前沿移动过触发器之后,剪切校正模块或实时打印例程/驱动器重新评估每个打印条带之间的速度输入。如果产品的速度发生变化,剪切校正模块会实时更新剪切校正值。例如,如果剪切校正模块在激光打印给定条带时或之后感测到产品的速度已经增加,则剪切校正模块可以更新(即增加)剪切校正值以增加展开。这样,条带之间的空间不必相等。此外,如果产品的速度降低,则剪切校正模块在打印下一个条带之前增加等待期望打印区域进入孔的延时。关于该更新剪切校正的进一步细节,参见美国专利No.7,046,267的图14D-14E和第23栏第9-56行。

如上所述,条带化、前沿剪切校正、后沿剪切校正和更新剪切校正可以在激光打标设备的运行期间实时执行。在一些实施方式中,这些中的一个或多个在特定打印作业之前完成。此外,可以使用软件、固件、硬件及其组合来实现上述技术。例如,在一些实施方式中,图像处理模块将代码图像组织成条带并将条带发送到剪切校正模块。

在一些实施方式中,激光打印机处的条带化模块根据一个或多个整体(分组的符号)条带化级别,例如根据存储在代码的图像描述中的元数据,来生成来自计算机的代码的符号级条带,。条带化模块将条带发送到由剪切校正模块访问的先进先出队列;条带化模块按照符号组的整体条带确定的顺序将符号级条带传送到队列。剪切校正模块接收条带、用于开始打印的触发器输入和速度输入,并将剪切校正值输出到实时打印例程/驱动器,该例程/驱动器使用该值来控制激光打标设备例如在移动的产品上的打印。此外,剪切校正模块或打印例程/驱动器可以判断产品的速度是否已经改变,并且当判断结果为是时,剪切校正模块确定新的剪切校正值。

另外,如上所述,打标位置附近场(以及因此符号)的分组320可以使用存储在代码图像描述中的元数据来完成,或者可以例如使用一个接近度度量创建分组自动地完成。图5A显示了基于由为代码生成的元数据所定义的位置将代码中离散符号分组320成各符号组的示例,其。如可以在图1A中UI 162使用的那样,显示了UI屏幕500的示例。

在此UI屏幕500的示例中,用户选择图像大小并创建要打印的图像510。在UI中使用矩阵选项,用户还定义要打印的整个代码的X和Y(宽度和高度)坐标。程序(例如,程序156)然后在代码的所有维度上复制图像510以创建矩阵代码。在该示例中,矩阵代码是3×3的,即图像510(包含“123”及其上的“ABC”的代码)被复制八次以填充3×3产品矩阵。

图5B显示了基于由程序和/或用户确定的位置将代码中的离散符号分组成独立符号组的另一示例,其中使用位置的接近度以形成这些组。如可在图1A中UI 162中使用的那样,显示了UI屏幕550的示例。在UI屏幕550的示例中,用户手动将要打印的每个图像放置到代码区域(宽度和高度)中。然后,通过自动化过程,程序(例如,程序156)通过为每个离散符号定义包含边界并对包含边界彼此重叠的离散符号进行分组来确定分组。每个离散符号的包含边界可以具有各种形状,例如圆形,如图5B所示。

因此,例如,程序(例如,程序156)可以识别图像区域中的每个字符,例如字符560,562,564,566,568,以及在每个字符周围设置固定大小的假想圆圈。在该示例中,圆的直径等于字符大小的一倍半,但是圆也可能是其他尺寸(或其他包含形状),只要形状的大小大于字符。在一些实施方式中,每个离散符号的包含边界的大小(以及可能的形状)根据用户输入来设置。

在设置包含边界的情况下,程序(例如,程序156)将包含边界相重叠的任何字符进行分组。不具有与另一个包含边界重叠(直接或通过一个或多个中间包含边界)的包含边界的字符被视为不同的组。因此,在所示的示例中,识别字符560,562包括在符号组570中,因为它们的包含边界560A,562A重叠,并且识别的字符564,566,568包括在符号组575中,因为它们的包含边界重叠。注意,识别字符564具有不与识别的字符568的包含边界直接重叠的包含边界,但是它通过识别字符566间接地重叠。此外,符号组575显示在偏离于通常矩阵代码的位置,以强调这种方法允许在代码区域内随机放置符号,程序将自动识别代码中适当的符号组。

本说明书中描述的主题和功能操作的实施例可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,包括本说明书中公开的结构及其等同结构,或者其中一个或多个的组合。本说明书中描述主题的实施例可以使用在计算机可读介质上编码的一个或多个计算机程序指令模块来实现,计算机程序指令模块由数据处理装置执行,或者被执行以控制数据处理装置的运行。计算机可读介质可以是制造的产品,例如计算机系统中的硬盘驱动器或通过零售渠道销售的光盘,或嵌入式系统。计算机可读介质可被单独获取并随后用计算机程序指令的一个或多个模块进行编码,例如通过有线或无线网络传送计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备,机器可读存储基板,存储器设备或它们中的一个或多个的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如一个可编程处理器、一个计算机或多个处理器或计算机,术语“计算机可读介质”表示有形(非暂时性)介质,可由数据处理装置在该介质上编码和读取指令。

计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言,声明性或过程性语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序并不必然对应于文件系统中的一个文件。程序可以存储在文件的一部分中,该文件保存有其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本),存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。可以部署计算机程序以在一个计算机上或在位于一个站点的多个计算机上或在分布在多个站点并通过通信网络互连的多个计算机上执行。

本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,专用逻辑电路例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。

作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个存储数据的大容量存储设备,和/或还将被可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,大容量存储设备例如是磁盘、磁光盘或光盘。但是,计算机不需要这样的设备。此外,计算机可以嵌入在另一个设备中,仅举几例,例如嵌入在移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM(可擦除可编程只读存储器),EEPROM(电子可擦除可编程只读存储器)和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,本说明书中描述主题的实施例可以在具有用于向用户显示信息的显示设备、以及键盘和定点设备的计算机上实施,显示设备例如是LCD(液晶显示器)显示设备、OLED(有机发光二极管)显示设备或另一个监视器,,定点设备例如是鼠标或轨迹球,通过键盘和定点设备用户可以向计算机提供输入。也可使用其他类型的设备以提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;以及可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。

虽然本说明书包含许多实施细节,但是这些不应被解释为是对本发明的范围或权利要求保护范围的限制,而是作为对本发明的特定实施例特定特征的描述。本说明书中在各实施例上下文中描述的某些特征也可以在单个实施例中组合实现。反过来,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可能在前面被描述为以某些组合起作用,甚至最初如此声明保护,但是在某些情况下可以从权利要求所要求保护的组合中删除来自权利要求所要求保护的组合的一个或多个特征,并且权利要求所要求保护的组合可以指向子组合或子组合的变体。因此,除非另有明确说明,或者除非本领域普通技术人员的知识明确指出,否则上述实施例的任何特征可以与上述实施例的任何其他特征组合。

类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按前后顺序执行这些操作或者要求执行所有示出的操作才能实现所期望的结果。在某些情况下,多任务和/或并行处理可能是有利的。此外,上面描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离,而应该理解为,所描述的程序组件和系统通常可以集成在单个软件产品中或打包到多个软件产品中。

因此,已经描述了本发明的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行且仍然实现期望的结果。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于印刷线路板的转印法油墨加工工艺

相关技术

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类