CN102893252A - 可配置的标记设备 - Google Patents

可配置的标记设备 Download PDF

Info

Publication number
CN102893252A
CN102893252A CN2011800140660A CN201180014066A CN102893252A CN 102893252 A CN102893252 A CN 102893252A CN 2011800140660 A CN2011800140660 A CN 2011800140660A CN 201180014066 A CN201180014066 A CN 201180014066A CN 102893252 A CN102893252 A CN 102893252A
Authority
CN
China
Prior art keywords
operation behavior
processor
behavior script
script
equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800140660A
Other languages
English (en)
Other versions
CN102893252B (zh
Inventor
卡梅隆·罗伯特·爱德佳
史蒂文·杰弗里·卢克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Domino Printing Sciences PLC
Original Assignee
Domino Printing Sciences PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=42261674&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN102893252(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Domino Printing Sciences PLC filed Critical Domino Printing Sciences PLC
Publication of CN102893252A publication Critical patent/CN102893252A/zh
Application granted granted Critical
Publication of CN102893252B publication Critical patent/CN102893252B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00965Input arrangements for operating instructions or parameters, e.g. updating internal software using a plug-in memory module, e.g. memory card, memory stick
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00323Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a measuring, monitoring or signaling apparatus, e.g. for transmitting measured information to a central location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0082Image hardcopy reproducer

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Stored Programmes (AREA)

Abstract

一种用于将讯息应用至物品的标记设备,所述设备包括:处理器,所述处理器被安排成产生用于应用至物品的讯息且通过至少部分地执行通过使用脚本语言形成的操作行为脚本而控制所述标记设备的操作;和打印装置,所述打印装置用于将产生的讯息应用至物品。

Description

可配置的标记设备
技术领域
本发明涉及一种标记设备,以及一种使用标记设备的方法。
背景技术
工业标码(marking and coding)设备是公知的技术。在移动流水线上传送的物品(或产品或商品)移动经过一操作台,在该操作台处,该标码设备将标记应用在物品上。通常,通过某种类型的喷墨工艺(诸如连续喷墨打印)或通过激光(诸如激光打印)来应用标记。
在下文中,标记将被称为讯息。众所周知,讯息可包含一串字符或符号,通常为数字、字母或字母和数字的组合,但也可以使用其他的符号。此外,讯息可包含固定的(预定的)数据和可变数据。作为示例,典型的讯息具有这样的格式:“BEST BEFORE 10 MAY 2007”。该讯息的“BEST BEFORE”部分是固定的,而“10 MAY 2007”部分将根据讯息被应用到物品上的日期而变化。
上述的工业标码设备经常被称为术语“初级编码打印机”。此外,这类工业标码设备经常被称为术语“产品标识打印机”,但是应当理解,由产品标识打印机应用到物品上的标记/讯息不必须是实际识别该物品的标记/讯息,而如上所述,可以是任何其他类型的讯息(诸如指示应该使用或消费该物品的截止日期的讯息)。
根据用户基础、环境和市场行业,工业标码设备用在广大范围的不同的标记应用中。这些应用可以在限定用于何时打印/标记的规则集或标准集方面、或在标码设备的一般行为操作方面有所不同。这种行为上的不同通常受物理参数和功能参数所影响,所述参数包括离散的I/O(输入/输出)的数量、映射到该I/O的功能、数据速率、触发和同步机制、信号验证/核实以及定时等。
通常,这些类型的非标准行为操作往往随着时间而演变,且被作为“特殊的”硬连线的布局而管理。因此,经常出现这种情况,即这些布局与主流发展不同步且迁移路径成为限制因素。此外,如果用户的设备出现故障或“热插拔”,则用户经常会面临更换设备的难题。
发明内容
因此,本发明的目的在于为标码设备提供更灵活的且动态的行为配置。本发明利用操作行为脚本来配置打印机的操作行为。通过提供相对少数的关键构建块来以动态的、数据驱动的方式(而不是形成硬连线的‘专门’产品功能)表达不同行为操作的能力在标码设备的配置上提供了高度灵活性。其提供了一种用于后期定制的方式,该方式允许针对用户进行特定剪裁,且确保核心产品及其功能保持一致(这意味着其保持为更稳定、更可靠的和可升级的平台)。
根据本发明的一个方面,提供一种用于将讯息应用至物品的标记设备,该设备包括:处理器,该处理器被安排成产生用于应用至物品的讯息,并且通过至少部分地执行使用脚本语言形成的操作行为脚本来控制该标记设备的操作;和打印装置,该打印装置用于将产生的讯息应用至物品。
通过该处理器执行操作行为脚本可使得该处理器控制打印装置。
该处理器可被安排成向该设备提供默认功能,并且通过该处理器执行操作行为脚本可使得该处理器向该设备提供用户配置的功能。
通过该处理器执行操作行为脚本可至少部分地控制对待应用讯息的物品的检测。
通过该处理器执行操作行为脚本可至少部分地控制何时该处理器产生应用至物品的讯息。
通过该处理器执行操作行为脚本可至少部分地控制何时该处理器产生警报或警告。
通过该处理器执行操作行为脚本可至少部分地控制确定何时事件或动作已经超时。
通过该处理器执行操作行为脚本,可使得该处理器提供作为来自该设备的输出的数据。
通过该处理器执行操作行为脚本可使得该处理器确定一系列事件是否已经按正确的顺序或以正确的定时进行,并且根据该系列事件是否已经按正确的顺序或以正确的定时进行而采取行动。
通过该处理器执行操作行为脚本可使得该处理器检测特定事件是否已经发生,并且根据该特定事件是否已经发生而采取行动。
通过该处理器执行操作行为脚本可使得该处理器确定特定事件发生的速率,并且根据该确定的速率来采取行动。
该设备可包括计时器,且通过该处理器执行操作行为脚本可使得该处理器使用该计时器的输出来执行基于时间的动作或计算。
该设备可包括缓冲器,且通过该处理器执行操作行为脚本可使得该处理器使用存储在该缓冲器中的数据。
该设备可包括数据输入端,该数据输入端用于接收来自在该设备外部的源的数据,于是,通过该处理器执行操作行为脚本可取决于通过该数据输入端接收的数据。通过该处理器执行操作行为脚本可使得该处理器使用通过该数据输入端所接收到的数据来确定何时将讯息应用至物品、和/或在将讯息应用至物品后采取的行动。
通过该处理器执行操作行为脚本可使得该处理器确定当前条件对于将产生的讯息应用至物品是否有效。
该设备可包括存储器,该存储器存储用于通过该处理器执行的一个或多个操作行为脚本。该设备可包括输入端,该输入端允许用户选择存储在该存储器中的、用于通过该处理器执行的一个或多个操作行为脚本中的一个。
该设备可包括输入端,该输入端用于接收来自在该设备外部的源的一个或多个操作行为脚本。
该操作行为脚本可以是人可读的格式,该处理器被安排成通过执行用于解译该人可读的格式的解译程序来执行所述操作行为脚本。
该操作行为脚本可以是机器可读的格式,该处理器被安排成执行所述机器可读的格式。
根据本发明的另一方面,提供一种系统,该系统包括:如上文所述的标记设备;和数据源,所述数据源处于所述标记设备的外部,且被安排成通过所述标记设备的数据输入端向所述标记设备提供数据以供所述标记设备的处理器在执行所述操作行为脚本时使用。
该数据源可包括传感器,该传感器用于确定该物品的一个或多个属性。
根据本发明的另一方面,提供一种使用标记设备以将讯息应用至物品的方法,其中,该设备包括处理器和打印装置,该打印装置用于将讯息应用至物品,该方法包括:该处理器产生用于应用至物品的讯息;该处理器通过至少部分地执行使用脚本语言所形成的操作行为脚本来控制该标记设备的操作;以及该打印装置将所产生的讯息应用至物品。
在一个实施方式中,执行该操作行为脚本使得该处理器控制该打印装置。
在一个实施方式中,该处理器被安排成向该设备提供默认功能,并且执行该操作行为脚本使得该处理器向该设备提供用户配置的功能。
在一个实施方式中,执行该操作行为脚本至少部分地控制对待应用讯息的物品的检测。
在一个实施方式中,执行该操作行为脚本至少部分地控制何时该处理器产生用于应用至物品的讯息。
在一个实施方式中,执行该操作行为脚本至少部分地控制何时该处理器产生警报或警告。
在一个实施方式中,执行该操作行为脚本至少部分地控制确定何时事件或动作已经超时。
在一个实施方式中,执行该操作行为脚本使得该处理器提供作为来自该设备的输出的数据。
在一个实施方式中,执行该操作行为脚本使得该处理器确定一系列事件是否已经按照正确的顺序或以正确的定时进行,并且根据该一系列事件是否已经按照正确的顺序或以正确的定时进行来采取行动。
在一个实施方式中,执行操作行为脚本使得该处理器检测特定事件是否已经发生,并且根据该特定事件是否已经发生来采取行动。
在一个实施方式中,执行操作行为脚本使得该处理器确定特定事件发生的速率,并且根据所确定的速率来采取行动。
在一个实施方式中,该设备包括计时器,且执行操作行为脚本使得该处理器使用该计时器的输出以执行基于时间的动作或计算。
在一个实施方式中,该设备包括缓冲器,且执行操作行为脚本使得该处理器使用存储在该缓冲器中的数据。
在一个实施方式中,该设备包括数据输入端,所述数据输入端用于接收来自在所述设备外部的源的数据,且执行该操作行为脚本使得该处理器使用通过该数据输入端接收的数据。在一个实施方式中,执行操作行为脚本使得该处理器使用通过该数据输入端接收的数据,以确定何时将讯息应用至物品、和/或在将讯息应用至物品后采取的行动。
在一个实施方式中,执行操作行为脚本使得该处理器确定该当前条件对于将产生的讯息应用至物品是否有效。
在一个实施方式中,该方法包括选择由该设备存储的多个操作行为脚本中的一个操作行为脚本,作为待被该处理器执行的操作行为脚本。
在一个实施方式中,该方法包括接收来自在所述设备外部的源的一个或多个操作行为脚本。
在一个实施方式中,该操作行为脚本为人可读的格式,其中,执行该操作行为脚本包括执行用于解译该人可读的格式的解译程序。
在一个实施方式中,该操作行为脚本为机器可读的格式,其中,执行该操作行为脚本包括执行该机器可读的格式。
根据本发明的另一方面,提供一种计算机程序,当计算机执行该程序时,该计算机程序执行上述方法中的任一方法。该计算机程序可承载在数据承载介质上。
附图说明
参考附图,现将仅以示例方式描述本发明的实施方式,其中:
图1示意性地示出使用产品标识打印机的系统;
图2示意性地更详细示出根据本发明的实施方式的图1的系统;
图3示意性地在高层上示出根据本发明的实施方式的各种数据流;以及
图4示意性地示出根据本发明的实施方式的方法。
具体实施方式
在以下描述和附图中,描述了本发明的某些实施方式。然而,应当理解,本发明不限于所描述的实施方式,并且一些实施方式可以不包括以下描述的特征中的所有特征。然而,很明显,在不脱离所附权利要求提出的本发明较广泛的精神和范围的情况下,可以做出各种变型和改动。
图1示意性地示出使用产品标识打印机102的系统100。可将未标记的物品104朝向产品标识打印机102移动(例如,通过运输装置或传送装置106或任何其他合适的传送机构,诸如转盘)。产品标识打印机102将标记/讯息应用/打印到未标记的物品104上,以生产已标记的物品110。如将在下面更详细描述的,可以有一个或多个装置112(诸如传感器、编码器、监控设备等),作为打印过程的部分,所述装置112向产品标识打印机102提供输入(数据、信号、触发事件等)。然而,应该理解,可使用用于将讯息应用于物品的其他装置/配置。如将在下面更详细描述的,在远离产品标识打印机102的计算机120上(下文被称作远程计算机),用户/操作者可创建操作行为脚本150(或行为配置脚本)。该操作行为脚本150可接着被传送到产品标识打印机102,以用于控制产品标识打印机102(或至少部分地控制或影响产品标识打印机102的操作行为),从而使该产品标识打印机102可标记物品104。该传送可以是传送已编译的操作行为脚本150(如果远程计算机120被安排成将操作行为脚本编译成机器可读的格式)或未编译的操作行为脚本150(例如,如果打印机102被安排成执行解译程序以解译人可读的格式的未编译的操作行为脚本)。
图2示意性地更详细示出根据本发明的实施方式的系统100。
远程计算机120可以为适合于产生操作行为脚本150的任何形式的计算装置(诸如个人计算机/台式计算机、膝上型电脑、个人数字助理等)。远程计算机120包括非易失性存储器(只读存储器)212、易失性存储器214(诸如随机存取存储器)、处理器216、存储介质218(诸如硬盘驱动器)和接口220。用户可通过一个或多个输入装置(诸如键盘222和鼠标224,但还可使用其他输入装置,或者作为替代,可以使用其他输入装置)向处理器216提供指令/输入。通过处理器216控制显示器226(诸如液晶LCD屏/液晶LCD监视器),远程计算机120可向用户提供可视化显示。
非易失性存储器212和/或存储介质218可存储一个或多个文件/模块228,该一个或多个文件/模块228具有程序指令,形成待由远程计算机120的处理器216执行的操作系统。此外,非易失性存储器212和/或易失性存储器214和/或存储介质218可存储一个或多个文件230(或模块),所述一个或多个文件230(或模块)一起形成一个或多个可由处理器216执行的软件应用程序或计算机程序,并且用户可与所述一个或多个文件230(或模块)交互以创建、保存、可能编译和输出操作行为脚本150。已经创建的和/或修改的操作行为脚本150可由远程计算机120存储,例如在存储介质218上存储。
由用户在远程计算机220上创建的操作行为脚本150(或编译的操作行为脚本)可以以多种方式传送或传输到打印机102。例如,接口220可包括USB端口232,通过该USB端口232,处理器216可将(编译的)操作行为脚本150存储/保存到USB存储装置233上。USB存储装置233然后可用于将操作行为脚本150加载到打印机102上。此外或可替选地,接口220可包括网络端口234,通过该网络端口234,处理器216可通过网络235(诸如因特网、局域网、广域网、城域网、以太网等)将数据(包括(编译的)操作行为脚本150)传输至打印机102。此外或可替选地,接口220可包括串行的或并行的接口236,通过该串行的或并行的接口236,处理器216可通过串行的或并行的通信链路(诸如RS232链路)将(编译的)操作行为脚本150传输至打印机102。然而,应该理解,该远程计算机120可通过任何合适的方法将操作行为脚本150传输给打印机102,该任何合适的方法可为无线方法或有线方法,并且可包括或不包括使用另外的存储介质。
打印机102包括接口252、处理器254、非易失性存储器和/或存储介质256(诸如只读存储器和/或硬盘驱动器)和易失性存储器258(诸如随机存取存储器)。
接口252提供用于接收来自远程计算机110的(编译的)操作行为脚本150的合适的机构。例如,如果要通过USB存储装置233将操作行为脚本150传输至打印机102,则接口252包括USB端口260,通过该USB端口260,处理器254可以获取来自USB存储装置233的操作行为脚本150,并将该操作行为脚本150存储在易失性存储器258和/或存储介质256中。优选地,打印机102的操作系统被安排成在USB存储装置233上的要放置操作行为脚本150的特定位置中查找与操作行为脚本150关联的特定文件扩展名,从而打印机102可自动检测操作行为脚本150并自USB存储装置233上载操作行为脚本150。另外地和/或可替选地,如果要通过网络235将操作行为脚本150传输至打印机102,则接口252包括网络端口262,通过网络端口262,处理器254可通过网络235获取操作行为脚本150,并将操作行为脚本150存储在易失性存储器258和/或存储介质256中。另外地和/或可替选地,如果要通过串行的或并行的通信链路将操作行为脚本150传输至打印机102,则接口252包括串行的或并行的通信端口264,通过串行的或并行的通信端口264,处理器254可以获取操作行为脚本150并将该操作行为脚本150存储在易失性存储器258和/或存储介质256中。和远程计算机120一样,应该理解,打印机102可通过任何合适的方法接收操作行为脚本150,该任何合适的方法可以为无线方法或有线方法,且可包括或不包括使用另外的存储介质。处理器254可对接收的操作行为脚本(例如脚本的名称、应用、格式、大小等)进行检查,以确保这些脚本对于打印机102中的后续使用有效。
非易失性存储器和/或存储介质256可存储一个或多个文件/模块266,一个或多个文件/模块266具有程序指令,形成由打印机102的处理器254执行的操作系统。此外,非易失性存储器和/或存储介质256和/或易失性存储器258可存储一个或多个文件268(或模块),所述一个或多个文件268(或模块)一起形成一个或多个可由处理器254执行的软件应用程序或计算机程序,并且所述一个或多个文件268(或模块):(i)可允许打印机102的用户选择操作行为脚本150;以及(ii)执行编译的操作行为脚本150或解译未编译的操作行为脚本150,以控制打印机102(或至少部分地控制或影响打印机的操作行为)。因此,打印机102可包括输入机构272(诸如键盘)以及显示器270(诸如液晶显示屏),通过该输入机构272,用户可与打印机102交互且向处理器254提供输入(诸如脚本选择),该显示器270用于将信息可视化地提供给用户(诸如操作行为脚本150的列表)。显示器270和输入机构272可以组合,诸如通过使用触摸屏。
打印机102还可包括计时器274(诸如实时计时器),处理器254在处理操作行为脚本150时可使用该计时器,以确定并使用基于时间的信息(诸如当前时间和日期)。例如,处理器254可使用计时器274的输出来确定触发事件,或确定基于时间的触发事件,或计算何时事件或动作已经超时等。处理器254可使用计时器274的输出来确定与用于打印机102的期望的操作行为关联的时间参数以触发事件。
此外,为了实际执行打印,打印机102包括打印机引擎276和打印机头278(打印机引擎和打印机头一起可被认为是打印装置)。打印机引擎276接收来自处理器254的讯息数据(产生的打印讯息),该讯息数据限定要打印在物品104上的讯息108,并且,响应于接收讯息数据(或响应于检测“打印进行(print go)”事件),打印机引擎276控制打印机头278实际执行将讯息108打印在物品104上以形成带标记的物品110。打印装置可利用任何合适的打印技术/方法,诸如连续喷墨打印、按需喷墨打印、激光打印等。
打印机102可包括用于接收其他外部输入/激励的输入端280(例如,作为接口252的部分)。例如,输入端280可接收来自打印机102外部的装置的数据,使得处理器254可根据接收的数据使讯息108适于打印(例如通过将接收的数据插入到输出打印讯息108中)。这类装置的示例包括一个或多个可监控打印过程或某其他过程的传感器(未示出)(诸如用于传送带106的监控器或检测特定类型的未标记的物品104的传感器,由此使得能够将这种类型的物品104的指示插入到讯息108的内容中)。该装置可包括检测或确定物品104的一个或多个属性或性质的传感器。例如,秤(未示出)可被安排成例如通过输入端280的RS232接口提供重量值,从而允许处理器254将物品104的重量插入到讯息108中,以打印到物品104上。作为另一示例,在输入端280处可接收来自传送带机构106的数据或来自生产线上的开关装置(未示出)的数据,该数据然后可被处理器254使用以产生讯息108,该讯息108具有追踪信息和/或分类信息,由此允许标记的物品110被分类或被追踪。输入端280可具有其自己的存储器(未示出,但是例如可作为移位寄存器实现,外部装置可将数据插入到该移位寄存器中,且处理器254可从该移位寄存器读取数据),或者可利用易失性存储器258。
打印机102可包括用于输出数据的输出端282(例如,作为接口252的部分)。输出端282可与输入端280集成在一起。例如,输入端280/输出端282可包括具有一个或多个插脚(物理的或虚拟的)的端口,通过所述一个或多个插脚,用户或装置可设置状态(待由打印机102解译)和/或打印机机102或处理器254可设置状态(待由用户和/或连接至输出端282的装置解译)。
输入端280和/或输出端282可作为移位寄存器或缓冲器实现,数据可被读写到移位寄存器或缓冲器。
系统100可包括一个或多个这样的传感器(未示出):被安排成检测未标记的物品104何时处于打印机102应当开始利用讯息108标记该物品104的位置(或何时已到达该位置)。传感器可将“产品检测”信号提供给打印机102的输入端280,以指示已经检测到物品104。例如,这类传感器可以为光电池,当物品104到达非常接近于打印机头278的预定位置时,启动该光电池。如本技术领域已知,其他类型的产品检测传感器可用来将产品检测信号提供给输入端280。
另外地或可替选地,系统100可包括编码器(未示出),该编码器被安排成输出指示物品104沿着传送装置106的传送速率的信号(例如,详细说明传送带移动得多快的数据),或者,更一般地,输出指示物品104朝向打印机102移动的速度的信号。例如,该编码器可通过轴联接至传送装置106,当传送装置朝向打印机102移动物品104时,该轴转动,然后该编码器可输出指示该轴的转动速率的信号(例如一系列脉冲)。可替选地,编码器可测量传送移动的线性速率,并且相应地输出信号(该信号也可为一系列脉冲)。则连续脉冲之间的时间可指示传送的速率。其他类型的编码器可用来监控/检测传送装置106提供的传送的速率。编码器可将信号提供给打印机102的输入端280。接着打印机102可利用该信号以确保用于待打印到物品104上的讯息108的打印位置和打印宽度保持固定,而与传送速度的任何变化无关。
特别地,打印装置通常被配置成通过一连串的“笔画(stroke)”将讯息108打印在物品104上,其中笔画为打印的列、或带或行(即一系列的相邻的墨点),其通常与传送装置106提供的传送方向垂直。打印在物品104上的该系列笔画组成讯息108。产生/应用笔画的速率(被称为“笔画进行速率(stroke go rate)”)可为固定的速率,但可替选地,可取决于来自编码器的信号输出,在这种情形下,将笔画应用至物品104的定时将取决于物品104多快地通过打印机头278。在一些实施方式中,打印机102和/或编码器可包括或利用所谓的“数字变速箱”,该“数字变速箱”被安排成按比例放大或按比例缩小来自编码器的指示传送速率的信号输出,例如,通过将编码器输出的脉冲频率乘以预定的量或除以预定的量。该数字变速箱可用于使编码器脉冲速率与期望的笔画进行速率匹配或同步。
如上所述,在远程计算机102处的用户可使用在远程计算机102处执行的应用程序(或软件工具或开发环境)形成(或创建和/或编辑)操作行为脚本150。使用脚本语言形成操作行为脚本150(或以脚本语言编写操作行为脚本150)。一个示例的脚本语言为开放源Lua脚本语言(http://www.lua.org/home.html),但应该理解,作为替代,也可使用其它脚本语言(诸如VBScript和PERL)。脚本语言可为用户提供一批构建块(诸如逻辑运算和算术运算)、一批数据类型和预定的语法,以允许用户产生操作行为脚本150。例如,数据类型可包括下列中的一个或多个:(a)数字-Lua使用实数和浮点数作为数字数据类型,但是也支持其他;(b)字符串-字符数组;(c)布尔型-真或假;(d)表-在Lua,表为聚集数据类型,表示项目列表或项目数组-例如字符串列表或数字数组;(e)Userdata(用户数据)-特定于用户而定制的数据类型。
因此,本文中使用的术语“脚本”旨在表示一组用于执行逻辑运算和算术运算的人可读的指令。脚本可包括过程逻辑的一个或多个集合或序列,以形成一个或多个程序功能和/或程序流程。因此,操作行为脚本150为可以由人编写和理解的(文本)文件,该文件包括待被打印机102的处理器254解译的指令。随后,脚本的指令可由处理器254整合、编译或解译,以创建控制打印机102的机器函数。这些函数的性质/目的将在以后更详细地描述。
现在将参考图3,图3示意性地在高层上示出根据本发明实施方式的各种数据流。
如上所述,一个或多个文件268(或模块)一起形成软件应用程序或计算机程序(如图3所示的“核心应用程序”300),以由打印机102的处理器254执行。核心应用程序300为打印机102提供核心功能,即,核心应用程序300的执行为打印机102提供默认操作行为,即非定制的、非特殊用途的功能。然而,核心应用程序300可执行编译的操作行为脚本150、或解译未编译的操作行为脚本150,以控制打印机102(或至少部分地控制或影响打印机102的操作行为)。特别地,操作行为脚本150可包括一个或多个所谓的“回调”函数(或简称回调)-回调为可执行的/可解译的代码的引用,其可作为参数被传递到其他代码;这允许较低层的软件层(核心应用程序300)调用在较高层的软件层(操作行为脚本150)中定义的函数,通常响应于特殊事件发生。核心应用程序300可调用操作行为脚本150的回调函数中的一个或多个,以提供改进的行为/打印活动。换句话说,核心应用程序300可利用操作行为脚本150以还提供除了核心应用程序300通常提供的默认功能之外的功能、或提供取代核心应用程序300通常提供的默认功能的功能。因此,由于操作行为脚本150,打印机102的操作行为150得到改变和/或扩展或变得非标准。操作行为脚本150的应用改变或影响了与打印讯息108的产生以及将其应用到物品有关的标准。通过使用操作行为脚本150可如何提高打印机102的功能的具体示例将在下文描述。通过行为配置脚本150可进行以特定行为配置打印机102,而不必更新或改变核心应用程序300。
当操作行为脚本150首次被加载到处理器254上时,处理器254可检查操作行为脚本150的有效性以确保操作行为脚本150有意义且在打印周期期间可正确地执行/解译操作行为脚本150。例如,这可包括确保操作行为脚本150符合所使用的具体脚本语言所规定的所有的规则和/或语法。如果在操作行为脚本150中检测到任何错误或问题,打印机102可输出警告。然而,尽管存在错误,核心应用程序300可尽最大努力继续且尝试使用操作行为脚本150。然而,如果核心应用程序300在检测到操作行为脚本150中的错误时不可继续,则核心应用程序300可忽略操作行为脚本150且核心应用程序300可恢复到出厂默认行为并发出警报(错误状态)。该警报可以为可配置的,从而如果需要的话,用户可改变其严重性以使打印机102停止打印。
当操作行为脚本150由处理器254初始运行或加载时,处理器254可注册操作行为脚本150的各种回调。处理器254还可执行任何需要的初始化(例如以初始化配置参数-见后文)。
回调示例包括:
●CBUserPortPin-当核心应用程序300检测到用户端口插脚(例如,输入端280上的插脚)改变状态时,该核心应用程序300可调用此函数。因此,在操作行为脚本150中定义的CBUserPortPin回调可向打印机102提供预定的功能,使得打印机102可对特定的用户输入作出响应。可实现类似的回调函数,以在接收到提供给打印机102的数据(例如,如通过缓冲器或移位寄存器在输入端280处接收的数据)变化时,供核心应用程序300调用。
●CBProductDetect-当打印机102接收到产品检测信号时,核心应用程序300可调用此函数。因此,在操作行为脚本150中定义的CBProductDetect回调可向打印机102提供预定的功能,使得打印机102可以以可配置的方式对检测到要标记的新物品作出响应。可实现类似的回调函数,以在检测到任何其它类型的信号或事件时供核心应用程序300调用。
●CBPrintEnable-当打印机102接收到打印启动信号时,核心应用程序300可调用此函数。打印启动信号指示是启动还是禁止打印。如果打印启动未生效(即禁止),则不论打印机是否接收到打印进行事件,将防止打印-只有当印启动信号生效时,才将重新开始打印。
当然,待由这些回调提供的实际功能将根据操作行为脚本150的编者把哪些指令包含在用于这些回调的操作行为脚本150中而变化。以这种方式,通过操作行为脚本150,打印机102的功能是用户可配置的。应该理解,在操作行为脚本150中可提供其它回调以供核心应用程序使用。
操作行为脚本150还可包括其他函数,诸如以下:
●将来自核心应用程序300的信息返回到操作行为脚本150的函数。示例包括:
○GetUserPortPin-获取用户端口插脚(例如输入端280上的插脚)的状态。
○GetEncoderRunningPosition-获取编码器位置(即来自编码器的输出)。
●将来自操作行为脚本150的信息发送到核心应用程序300的函数,或将来自操作行为脚本150的指令发送到核心应用程序300以供核心应用程序300执行具体动作的函数。示例包括:
○SetTriggerPrint-设定引起打印进行事件的打印触发(即,用以命令打印装置在物品104上实际执行打印操作)。
○SetUserPortPin-设定用户端口插脚(例如输出端282上的插脚)的状态。
○SetRaiseAlert-发出警报/警告。则核心应用程序300可将警告输出到存储在存储介质256和/或易失性存储器258中的日志文件,可通过显示器270输出警告,或通过接口252(例如通过网络端口262或输出端282)输出警告。
●Print-允许文本输出到标准输出端(例如通过输出端282),用于调试目的。
●与配置变量相关的函数(即刻将更详细地描述配置变量)。示例包括:
○GetConfVarsNr-获取配置变量的数目;
○GetConfVarInfo-获取所有配置变量的细节;
○GetConfVars-获取所有配置变量的当前值;
○SetConfVars-设定所有配置变量的值;
○SetDefConfVars-将所有配置变量的值设定为默认值。这些默认值可在操作行为脚本150中定义。
因此,如图3所示,核心应用程序300可通过以下来与操作行为脚本150交互:调用操作行为脚本150的回调函数,响应于来自操作行为脚本150的请求向操作行为脚本150提供数据,以及对操作行为脚本150所调用的动作作出响应(诸如事件的触发)。核心应用程序300还可接收来自打印机102的用户/操作者的输入(例如通过输入机构272),诸如要使用的特定的操作行为脚本150的选择、用于标记物品104的特定讯息类型的选择、用于配置变量的值的输入等。核心应用程序300还可向打印机102的用户/操作者提供输出(例如通过显示器270),诸如用于选择的可利用的操作行为脚本150的列表、配置变量的当前值(或关于配置变量的其他信息)等。核心应用程序300还可接收以输入数据和/或事件(例如产品检测信号、来自编码器的数据、来自与接口252相连接的其他装置的数据、通过输入端280由用户确定的数据等)形式的输入。核心应用程序300还可提供以打印触发(或打印进行事件)形式的输出,以使得打印装置执行对物品104的标记。还可通过输出端282输出其他数据,诸如调试数据或日志文件。
操作行为脚本150可包括一个或多个属性或参数,所述一个或多个属性或参数还被称作“配置变量”,其限定或配置由操作行为脚本150提供的功能(通过这些变量所具有的值)。操作行为脚本150可允许该操作行为脚本150在由处理器254执行/解译时改变其自身的行为。例如,这可以通过将来自外部源的更新的数值或文本值应用到限定操作行为的一个或多个属性。该外部源可以为人类操作者(通过人-机接口,诸如输入机构272和显示器270)或在打印机102外部的装置(通过接口252,诸如来自网络连接上的计算机)。另外地或可替选地,特定的配置变量可被限定为只读属性,在这种情形下,这将提供这样一种机制:当操作行为脚本150在处理器254上执行时,允许操作者查看但不能动态地改变关于操作行为脚本150的内部状态的一些信息。通过指示可操控/修改配置变量的方式的信息以及指示应当将配置变量显示给任何外部装置或用户接口的方式的信息,配置变量可在操作行为脚本150内被描述。
操作行为脚本150还可提供一个机制,利用该机制,所有的配置变量恢复到默认值以将行为配置重设到已知的状态。
在一个实施方式中,以预定的格式描述配置变量。特别地,每一配置变量与一(脚本语言)变量相关,且由该变量(及其值)限定。格式还可规定配置变量由以下的一个或多个限定:
●相关的默认值;
●文本名称,该文本名称用于通过显示器270向操作者标识该配置变量;
●访问标志,该访问标志指示配置变量是只读还是读写—例如,关于以下的一指示:配置变量是只能被输出到显示器270,还是,除此之外,还可通过输入机构272或其他一些装置接收输入以操控该配置变量的值。
●配置变量可以采用的可能值的描述—对于采取数字值的配置变量,这可以是最大值和/或最小值,且对于采取文本字符串值的配置变量,这可为可能的字符串值的列表。
如上所述,操作行为脚本150可实现这样的函数:可用于获取关于所有可利用的配置变量的信息、读取特定的配置变量的值以及设定特定的配置变量的值。当这些配置变量中的任一个配置变量的值通过这些函数(例如根据响应于用户的输入的、来自核心应用程序300的指令)被修改时,打印机102的行为配置可相应地被动态修改。
图4示意性地示出根据本发明的实施方式的方法400。
在步骤S402,远程计算机120的一个或多个用户使用脚本语言(如上描述)编写操作行为脚本150。
在一个实施方式中,所有的行为配置是利用一个主(主要的)操作行为脚本150和用于与该主操作行为脚本150结合使用的(待由该主操作行为脚本150调用的)零个或多于零个可选的支持脚本编写的。主操作行为脚本150的名称可以用作显示给用户以标识配置的名称。优选地,所有的支持脚本在远程计算机120处和/或USB存储装置233上和/或打印机102处被存储在与主操作行为脚本150具有相同名称的文件夹中。可在远程计算机120处和/或USB存储装置233上和/或打印机102处限定一公共区域/文件夹以包含所有脚本。可以有预定的最大数目个不同的配置(即不同的主操作行为脚本150和相关子文件夹),诸如32个配置。每个配置所允许的脚本(包括主操作行为脚本150)可具有预定的最大数目,诸如8个脚本。对于每一脚本而言,可具有预定的最大尺寸,诸如32kB。
步骤S402可包括编译操作行为脚本150(和任何相关的支持脚本)。
在步骤S404中,操作行为脚本150(和任何相关的支持脚本)-可以以已编译的形式-被传送到打印机102(如上文所描述的)。
在步骤S406中,打印机102的操作者可从显示器270上显示的、存储在打印机102上的操作行为脚本150的列表中选择要用于当前打印运行的具体的操作行为脚本150。操作者可通过输入机构272做出选择。优选地,在任何一个时间只有一个操作行为脚本150可以被启用。如果操作者选择一操作行为脚本150供打印机102使用,并且当前有另外一个操作行为脚本150在起作用,则该当前在起作用的脚本可被禁用且不再起作用,然后应用新选择的操作行为脚本150并且使新选择的操作行为脚本150有效(在以下的步骤S408),且如果成功的话,则启用该新选择的操作行为脚本150。该停用/启用过程不需要打印机重启以利用下载的脚本配置打印机的行为。如果没有选择操作行为脚本150且没有操作行为脚本150起作用,则打印机102的行为是默认行为,如同没有加载脚本一样,即仅由核心应用程序300提供的默认行为。
可以允许操作者从打印机102的存储器中删除操作行为脚本150。如果该操作行为脚本150当前在起作用,则操作者可被警告,当前不可以进行该删除。如果该操作行为脚本150没有起作用,则从打印机102的存储器中移除该操作行为脚本。
一旦操作者已经如上所述地选择操作行为脚本150,则打印机102可保持配置有该在起作用的操作行为脚本150,直到操作者选择不同的操作行为脚本150。
在步骤S408,打印机102(通过处理器254且可以通过核心应用程序300)使接收的操作行为脚本150(和任何相关的支持脚本)有效,并且向该核心应用程序300注册回调函数(如上文已描述的)。
在步骤S410,执行打印运行以利用讯息108标记物品104。
步骤S410包括步骤S412,在步骤S412中,处理器254执行核心应用程序300。
假定已经选择操作行为脚本150并且该操作行为脚本150在起作用,则步骤S410还包括步骤S414,在步骤S414中,处理器254在核心应用程序300的控制下解译和/或执行该操作行为脚本150(如上文已描述的)。
步骤S410还可包括步骤S416,在步骤S416中,可接收至打印机102和/或至核心应用程序300和/或至操作行为脚本150的输入(例如打印检测信号、来自编码器的信号、用户或其它装置通过输入端280所提供的数据)。核心应用程序300和/或操作行为脚本150可对输入作出响应,或使用接收的数据-这方面的示例将在下文给出。
最后,步骤S410包括步骤S418,步骤S418执行利用讯息108实际标记物品104。核心应用程序300控制讯息的产生,并且命令打印机引擎276(通过打印进行事件)实际执行打印。在共同未决的申请PCT/GB/2008/002256中描述了讯息的产生。通过核心应用程序300利用操作行为脚本150提供的功能,可控制标记物品的定时和/或条件。
应该理解,步骤S412、步骤S414、步骤S416和步骤S418通常在打印运行步骤S410期间异步地执行。
以下为可在操作行为脚本150内被编码且由该操作行为脚本150提供的操作功能/操作行为的示例。然而,通常,打印机102的操作行为涉及打印机102如何(即在怎样的条件下、何时以及对什么标准或激励做出响应)对事件/触发做出响应和/或产生事件/触发、输入到打印机102的数据的性质和从打印机102输出的数据的性质(诸如当产生警告的时候,如何产生日志)等。换句话说,操作行为脚本150可控制讯息108如何产生和应用至物品104,以及讯息108何时产生和应用至物品104(但不必须精确地控制打印的内容,即,不必须控制讯息108的内容)。操作行为脚本150还可控制打印机102如何对各种激励做出响应(诸如元件故障、来自用户的请求、或更一般地,当特定事件发生时如何做出响应)。操作行为脚本150使信号/事件/触发/数据/其他激励映射为配置的专用函数和程序,以能够向打印机102提供预定的定制行为和性能。
一些操作功能可涉及检测(以通过配置行为脚本150所配置的方式)特定的事件或动作(或特定的系列的事件或动作)是否已经发生(且可能地,其是否已经以合适的/正确的顺序发生)。相应地基于检测到(或未检测到)事件,一些操作功能可涉及产生或触发事件,或采取其他动作(例如产生警报或警告)。例如:
●操作行为脚本150可包括用以触发产品检测事件(即向处理器254或向核心应用程序300指示—已检测到待标记的物品104的事件)的函数。
执行此的一个示例方式为:自上次产品检测事件以来,在已经自数字变速箱之前的编码器接收到‘n’个编码器脉冲时,产生产品检测事件(其中,n可以是预定的值或者可以是配置变量)。因此,例如,当接收到来自编码器的脉冲时,核心应用程序300可调用操作行为脚本150的用于通知操作行为脚本150已经接收到编码器脉冲的回调函数。如果该函数接着确定自上次产品检测事件以来已经接收到n个编码器脉冲,则该函数可触发新的产品检测事件。当待由打印机102使用的产品检测信号源于编码器的输入时(而不是来自独立传感器的离散的产品检测信号),这是有用的。这特别适用于这样的环境:其中,产品检测传感器不能非常接近于打印机头278安装,或者,在距离和编码器转动之间具有相关性以得出产品检测信号(例如在转台上)。在原始的编码器脉冲串通过数字变速箱被成倍放大或缩小前,具有“分接(tap-off)”原始编码器脉冲串的能力是有利的特征。
以与上述相似的方式,操作行为脚本150可包括用以在每接收到来自数字变速箱之后的编码器的‘n’个编码器脉冲时则触发产品检测事件(即向处理器254指示-或向核心应用程序300指示-已经检测到待标记的物品104的事件)的函数。
●操作行为脚本150可包括用以这样的函数:如果定时事件的序列是按照不正确的顺序或者以彼此之间太接近的方式被接收,则禁用打印(或不打印当前讯息108或采取某其他合适的动作)。核心应用程序300可调用操作行为脚本150的用于通知操作行为脚本150该事件/这些事件已经发生的回调函数,并且该函数接着可确定是否已经以不正确的顺序或以彼此太接近的方式接收到这些事件。例如,如果在打印进行事件的‘x’ms之内接收到编码器脉冲,则可禁用打印(其中,x可为预定的值或可为配置变量)。这种类型的功能适合于处理打印中的关于打印条件变得无效的情形。例如,如果用以确定何时打印的输入信号为变化的且受一个或多个源的外部影响,则所述输入信号可异步出现,且操作行为脚本150可用来定义一预定组的时域驱动规则,该预定组的时域驱动规则可应用于限定被视为有效的输入标准的内容,以如果不满足这些时域驱动规则,则防止发生不正确打印。
●操作行为脚本150可包括用以监控产品检测速率和基于确定的速率采取合适的动作的函数。因此,例如,在接收到产品检测信号时,核心应用程序300可调用操作行为脚本150的用于通知操作行为脚本150已经接收到产品检测信号的回调函数。该函数可计算(使用计时器274)产品检测的速率,并且如果该速率在一时间段中(该时间段可以是预定的或该时间段可以由配置变量限定)高于和/或低于阈值(该阈值可以是预定的或该阈值可以由配置变量限定),则该函数可采取合适的动作(诸如发出配置警报和/或使用户定义的信号生效)。这尤其适合于处理打印中的这样的情形:其中,打印机102被供以来自输入传感器的可变的外部产品检测速率,并且该产品检测速率变化使得产品检测速率移动到限定的操作窗口之外。
类似地,可以由操作行为脚本提供用以针对其他速率(诸如笔画进行速率)进行监控(和采取合适的行动)的功能,。
●操作行为脚本150可包括用以提供可配置的超时以在没有接收到或没有检测到某些信号或事件(诸如在整个打印过程的中途没有接收到打印进行信号)的一时间段后,触发一动作的函数。因此,操作行为脚本150的该函数可用于检测持久的停止时间并且触发一个或多个事件发生(诸如定相或一些形式或再校准或发出警报),使得当打印重新开始时,已经满足了环境中的任何变化的需要。
例如,这可用于确保定相不随时间漂移,在打印可能中途变成停止一段时间(例如20分钟)的情况中,这是有利的特征。在该事件中,定相可漂移,导致当打印过程再次开始时,对于最初的一些打印而言,产生劣质打印。“定相”的概念在本技术领域中是已知的,因此在下文中仅进行了简单描述。充电电压可应用至从连续喷墨打印机的喷嘴排放的墨滴,通过依靠墨滴和充电电压之间的时间-相位的关系来改变置于墨滴上的充电电压的相位,可控制该电压。过程是已知的,且用于自动追踪和调整该时间-相位关系以维持良好的打印质量。这被称为定相。
通过操作行为脚本150的物品104的检测和/或事件的超时和/或其他条件的检测可用于控制何时操作行为脚本150实际产生用于应用到物品104的讯息108的定时。
一些操作功能可涉及能够将多个打印机102联接在一起,例如用于在多个打印机102之间协调打印,或者当一个印刷机102中发生故障时使另一个印刷机102变得起作用。例如,操作行为脚本150可包括用于使两台打印机102一起握手并提供交替的打印功能的函数。该函数可监控另一打印机102,且如果打印机102中的一台发生故障,则该函数可使另一台打印机102接替当前发生故障的打印机102的打印任务。在一个实施方式中,该函数可被安排成使得打印机102中的一台提供在可利用的打印机102之间交替的打印进行事件/指令,从而多个打印机102可一起工作以在它们之间交替进行打印序列。
一些操作功能可为预定的功能,该预定的功能处理从用户或从装置接收的某数据或对从用户或从装置接收的某数据做出响应和/或将某数据作为输出提供给用户或装置。例如:
●操作行为脚本150可包括用以显示当前打印速度和/或当前线速度的函数。例如,当接收到产品检测信号时,核心应用程序300可调用操作行为脚本150的用于通知操作行为脚本150产品检测信号已经接收的回调函数。利用计时器274,根据对一定数目(其可为预定数目或可由配置变量设定)的样本所获得的平均时间,该函数可监控产品检测信号的速率且报告该速率(例如通过显示器270报告给用户)。
●操作行为脚本150可包括用以取决于打印的讯息108(例如用于照相机系统)的取向来使得一用户端口输出插脚生效(或向用户或装置提供某其他形式的输出数据)的函数,例如,如果讯息108以反向打印。输出数据的形式可通过操作行为脚本150配置。
●操作行为脚本150可包括用以在用于物品104的打印结束时使一用户输出端口插脚生效(或向用户或装置提供某其他形式的输出数据)的函数。输出数据的形式可通过操作行为脚本150配置。例如,在转盘系统中,这可用来确定转盘何时可移动至下一物品104,从而使该下一物品104可处于合适位置以标记。
●操作行为脚本150可包括用以将已打印在物品104上的讯息108的副本(或版本)作为输出(例如通过输出端282)提供的函数。该函数可用作核心应用程序300在检测到打印进行事件时使用的回调函数的部分。副本/版本的实际形式和使用的格式可通过操作行为脚本150配置。这可适合于验证过程,在所述验证过程中,外部验证装置接收讯息108的副本/版本,并对讯息108的副本/版本做出语法分析,以确保已经打印的内容为所期望打印的内容。
●操作行为脚本150可包括用以当在另一插脚上接收到事件时将用户可配置的信号插脚的状态记录入缓冲区(例如FIFO缓冲区)和/或自缓冲区(例如FIFO缓冲区)取消记录的可配置的信号插脚的状态的函数。该函数可将自缓冲区取消记录的该元件的状态作为软件打印进行信号供给打印机102的其余部分(而不是使用物理的打印进行信号)。这可用于促进可配置的‘移位寄存器’机构捕获本身可用于打印的数据(作为打印元件的输入数据)或用于控制和/或掩盖打印操作的数据。
●操作行为脚本150可包括用以基于警报状态将确认(ack)/否定确认(nack)事件在通信通道上(例如通过接口252)发送的函数。这可适用于这样的情况:其中,打印机102被集成到较大的系统中,该较大的系统能够监控打印机102的状态。因此,打印机102可被配置成:如果打印机102的状态变化,例如从‘准备打印’状态变为‘错误状态’,则将事件发送给监控系统;可替选地,打印机102可被配置成定期地报告其当前状态(例如每5秒报告或每次打印时报告)。
●操作行为脚本150可包括用以在用于打印过程的两个或更多个讯息108之间改变或交替的函数。例如,当接收到产品检测信号时,核心应用程序300可调用操作行为脚本150的用于通知操作行为脚本150已经接收到产品检测信号的回调函数。该函数接着可在两个或更多个讯息108之间改变或交换以打印在下一物品104上。
●操作行为脚本150可包括用于根据通过输入端280接收的数据(例如通过用户缓冲区提供的数据)改变讯息108的内容的函数。例如,当检测到输入端280处的数据的变化时,核心应用程序300可调用操作行为脚本150的用于通知操作行为脚本150已经接收新的输入数据的回调函数。接着,该函数可相应地改变讯息108的内容。
在一个实施方式中,系统100可被安排成允许存储在打印机102中的操作行为脚本150从打印机102传送到远程计算机120,以在远程计算机120处进行后续编辑。该传送可以以与操作行为脚本150从远程计算机120被传送到印刷机120的方式(如上文描述)类似的方式实现。
如上所述,从远程计算机120传送到打印机102的操作行为脚本150通常为人可读的形式。这是因为打印机102执行操作行为脚本150的速度通常不是关键因素-照此,由打印机102的处理器254执行操作行为脚本150可涉及处理器254执行解译程序以解译操作行为脚本150。脚本解译程序可被编译到核心应用程序300中。然而,如果期望较高的传送速度和/或降低的执行/处理时间,则打印机102的处理器254可被安排成执行编译程序以编译并接着存储打印机102接收的操作行为脚本150,使得已编译的操作行为脚本150准备好由处理器254执行。可替选地,远程计算机102可被安排成执行编译程序以在将操作行为脚本150发送至打印机102之前编译该操作行为脚本150。
应该理解,本发明的实施方式可使用多种不同的信息处理系统来实现。特别地,尽管图2及其讨论提供了示例性的计算和打印架构,但这仅仅是为了在讨论本发明的不同的方面中提供有用的参考而提出。毫无疑问,出于讨论的目的已经简化了该架构的描述,并且其仅仅是可以用于本发明的实施方式的许多不同类型的架构中的一种架构。应该理解,逻辑框之间的边界只是示例性的,并且替选的实施方式可合并逻辑框或元件,或可将功能性的替换分解赋予到各种逻辑框或元件上。
如上所述,系统100包括远程计算机120。远程计算机102可为任何类型的计算机系统,诸如个人计算机系统、大型计算机、小型计算机、服务器、工作站、笔记本、个人数字助理和移动电话,且可包括多个这类装置,所述多个这类装置互连以形成计算系统。
应该理解,在本发明的实施方式由计算机程序实现的情况下,存储介质和承载计算机程序的传送介质构成本发明的多个方面。该计算机程序可具有一个或多个程序指令或程序代码,当计算机执行程序指令或程序代码时,该程序指令或程序代码实现本发明的实施方式。本文中使用的术语“程序”可为针对在计算机系统上执行而设计的一系列指令,并且可包括子程序、函数、过程(procedure)、对象方法、对象实现、可执行的应用程序、小应用程序、小服务程序、源代码、目标代码、共享程序库、动态链接库、和/或针对在计算机系统上执行而设计的其他系列的指令。存储介质可为磁盘(诸如硬盘或软盘)、光盘(诸如CD-ROM、DVD-ROM、或蓝光光盘)、或存储器(诸如ROM、RAM、EEPROM、EPROM、闪存或便携存储设备/可移动存储设备)等。传输介质可为在两个或多个计算机之间的通信信号、数据广播、通信链路等。

Claims (45)

1.一种用于将讯息应用至物品的标记设备,所述设备包括:
处理器,所述处理器被安排成产生用于应用至物品的讯息且通过至少部分地执行使用脚本语言形成的操作行为脚本来控制所述标记设备的操作;和
打印装置,所述打印装置用于将产生的讯息应用至物品。
2.如权利要求1所述的设备,其中,通过所述处理器执行所述操作行为脚本使得所述处理器控制所述打印装置。
3.如上述权利要求中任一项所述的设备,其中,所述处理器被安排成向所述设备提供默认功能,并且,其中,通过所述处理器执行所述操作行为脚本使得所述处理器向所述设备提供用户配置的功能。
4.如上述权利要求中任一项所述的设备,其中,通过所述处理器执行所述操作行为脚本至少部分地控制对待应用讯息的物品检测。
5.如上述权利要求中任一项所述的设备,其中,通过所述处理器执行所述操作行为脚本至少部分地控制何时所述处理器产生用于应用至物品的讯息。
6.如上述权利要求中任一项所述的设备,其中,通过所述处理器执行所述操作行为脚本至少部分地控制何时所述处理器产生警报或警告。
7.如上述权利要求中任一项所述的设备,其中,通过所述处理器执行所述操作行为脚本至少部分地控制确定何时事件或动作已经超时。
8.如上述权利要求中任一项所述的设备,其中,通过所述处理器执行所述操作行为脚本使得所述处理器提供作为来自所述设备的输出的数据。
9.如上述权利要求中任一项所述的设备,其中,通过所述处理器执行所述操作行为脚本使得所述处理器确定一系列事件是否已经按照正确的顺序或以正确的定时进行且根据所述一系列事件是否已经按照正确的顺序或以正确的定时进行而采取行动。
10.如上述权利要求中任一项所述的设备,其中,通过所述处理器执行所述操作行为脚本使得所述处理器检测特定事件是否已经发生,并且根据所述特定事件是否已经发生而采取行动。
11.如上述权利要求中任一项所述的设备,其中,通过所述处理器执行所述操作行为脚本使得所述处理器确定特定事件发生的速率,并且根据所确定的速率而采取行动。
12.如上述权利要求中任一项所述的设备,所述设备包含计时器,其中,通过所述处理器执行所述操作行为脚本使得所述处理器使用所述计时器的输出来执行基于时间的动作或计算。
13.如上述权利要求中任一项所述的设备,所述设备包含缓冲器,其中,通过所述处理器执行所述操作行为脚本使得所述处理器使用存储在所述缓冲器中的数据。
14.如上述权利要求中任一项所述的设备,所述设备包含数据输入端,所述数据输入端用于接收来自在所述设备外部的源的数据,其中,通过所述处理器执行所述操作行为脚本依赖于通过所述数据输入端接收的数据。
15.如权利要求14所述的设备,其中,通过所述处理器执行所述操作行为脚本使得所述处理器使用通过所述数据输入端接收的数据,以确定何时将讯息应用至物品和/或在将讯息应用至物品之后采取的行动。
16.如上述权利要求中任一项所述的设备,其中,通过所述处理器执行所述操作行为脚本使得所述处理器确定当前条件对于将产生的讯息应用至物品是否有效。
17.如上述权利要求中任一项所述的设备,所述设备包含存储器,所述存储器存储用于由所述处理器执行的一个或多个操作行为脚本。
18.如权利要求17所述的设备,所述设备包含输入端,所述输入端允许用户选择存储在所述存储器中的用于由所述处理器执行的一个或多个操作行为脚本中的一个操作行为脚本。
19.如上述权利要求中任一项所述的设备,所述设备包含输入端,所述输入端用于接收来自在所述设备外部的源的一个或多个操作行为脚本。
20.如上述权利要求中任一项所述的设备,其中,所述操作行为脚本为人可读的格式,所述处理器被安排成通过执行用于解译所述人可读的格式的解译程序来执行所述操作行为脚本。
21.如权利要求1至19中任一项所述的设备,其中,所述操作行为脚本为机器可读的格式,所述处理器被安排成执行所述机器可读的格式。
22.一种系统,所述系统包括:
如权利要求14所述的标记设备;和
数据源,所述数据源在所述标记设备的外部,且被安排成通过所述标记设备的所述数据输入端向所述标记设备提供数据,以供所述标记设备的处理器在执行所述操作行为脚本时使用。
23.如权利要求22所述的系统,其中,所述数据源包括传感器,所述传感器用于确定所述物品的一个属性或多个属性。
24.一种使用标记设备将讯息应用至物品的方法,其中,所述设备包括处理器和打印装置,所述打印装置用于将讯息应用至物品,所述方法包括:
所述处理器产生用于应用至物品的讯息;
所述处理器通过至少部分地执行使用脚本语言形成的操作行为脚本,来控制所述标记设备的操作;和
所述打印装置将所产生的讯息应用至物品。
25.如权利要求24所述的方法,其中,执行所述操作行为脚本使得所述处理器控制所述打印装置。
26.如权利要求24至25中任一项所述的方法,其中,所述处理器被安排成向所述设备提供默认功能,并且,其中,执行所述操作行为脚本使得所述处理器向所述设备提供用户配置的功能。
27.如权利要求24至26中任一项所述的方法,其中,执行所述操作行为脚本至少部分地控制对待应用讯息的物品检测。
28.如权利要求24至27中任一项所述的方法,其中,执行所述操作行为脚本至少部分地控制何时所述处理器产生用于应用至物品的讯息。
29.如权利要求24至28中任一项所述的方法,其中,执行所述操作行为脚本至少部分地控制何时所述处理器产生警报或警告。
30.如权利要求24至29中任一项所述的方法,其中,执行所述操作行为脚本至少部分地控制确定何时事件或动作已经超时。
31.如权利要求24至30中任一项所述的方法,其中,执行所述操作行为脚本使得所述处理器提供作为来自所述设备的输出的数据。
32.如权利要求24至31中任一项所述的方法,其中,执行所述操作行为脚本使得所述处理器确定一系列事件是否已按照正确的顺序或以正确的定时进行,并且根据所述一系列事件是否已按照正确的顺序或以正确的定时进行而采取行动。
33.如权利要求24至32中任一项所述的方法,其中,执行所述操作行为脚本使得所述处理器检测特定事件是否已经发生,并且根据所述特定事件是否已经发生而采取行动。
34.如权利要求24至30中任一项所述的方法,其中,执行所述操作行为脚本使得所述处理器确定特定事件发生的速率,并且根据所述所确定的速率而采取行动。
35.如权利要求24至31中任一项所述的方法,其中,所述设备包括计时器,其中执行所述操作行为脚本使得所述处理器使用所述计时器的输出来执行基于时间的动作或计算。
36.如权利要求24至32中任一项所述的方法,其中,所述设备包括缓冲器,其中执行所述操作行为脚本使得所述处理器使用存储在所述缓冲器中的数据。
37.如权利要求24至30中任一项所述的方法,其中,所述设备包括数据输入端,所述数据输入端用于接收来自在所述设备外部的源的数据,其中,执行所述操作行为脚本使得所述处理器使用通过所述数据输入端所接收的数据。
38.如权利要求37中所述的方法,其中,执行所述操作行为脚本使得所述处理器使用通过所述数据输入端所接收的数据,以确定何时将讯息应用至物品和/或在将讯息应用至物品后采取的行动。
39.如权利要求24至38中任一项所述的方法,其中,执行所述操作行为脚本使得所述处理器确定当前条件对于将产生的讯息应用至物品是否有效。
40.如权利要求24至39中任一项所述的方法,所述方法包括选择由所述设备存储的多个操作行为脚本中的一个操作行为脚本,作为待被所述处理器执行的所述操作行为脚本。
41.如权利要求24至40中任一项所述的方法,所述方法包括接收来自在所述设备外部的源的一个或多个操作行为脚本。
42.如权利要求24至41中任一项所述的方法,其中,所述操作行为脚本为人可读的格式,其中,执行所述操作行为脚本包括执行用于解译所述人可读的格式的解译程序。
43.如权利要求24至42中任一项所述的方法,其中,所述操作行为脚本为机器可读的格式,其中,执行所述操作行为脚本包括执行所述机器可读的格式。
44.一种计算机程序,当计算机执行所述计算机程序时,所述计算机程序执行如权利要求24至43中任一项所述的方法。
45.一种数据承载介质,所述数据承载介质承载如权利要求44所述的计算机程序。
CN201180014066.0A 2010-03-16 2011-03-10 可配置的标记设备 Active CN102893252B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1004369A GB2478750A (en) 2010-03-16 2010-03-16 Configurable marking apparatus
GB1004369.3 2010-03-16
PCT/GB2011/000341 WO2011114093A1 (en) 2010-03-16 2011-03-10 Configurable marking apparatus

Publications (2)

Publication Number Publication Date
CN102893252A true CN102893252A (zh) 2013-01-23
CN102893252B CN102893252B (zh) 2017-02-15

Family

ID=42261674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180014066.0A Active CN102893252B (zh) 2010-03-16 2011-03-10 可配置的标记设备

Country Status (5)

Country Link
US (1) US9635208B2 (zh)
EP (1) EP2548108B2 (zh)
CN (1) CN102893252B (zh)
GB (1) GB2478750A (zh)
WO (1) WO2011114093A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5338964B1 (ja) 2012-11-28 2013-11-13 富士ゼロックス株式会社 制御装置、画像形成システムおよびプログラム
JP2015222872A (ja) * 2014-05-22 2015-12-10 キヤノン株式会社 画像処理装置とその制御方法、及びプログラム
US20160189067A1 (en) * 2014-12-31 2016-06-30 The City And County Of San Francisco Application-based commercial ground transportation management system
US20170014945A1 (en) * 2015-07-17 2017-01-19 Laserax Inc. Methods and systems for laser marking an identifier on an industrial product
JP7328049B2 (ja) * 2019-07-26 2023-08-16 キヤノン株式会社 情報処理装置、制御方法、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1426362A (zh) * 2000-05-08 2003-06-25 艾斯普拉工厂有限公司 标签打印机
US20030189727A1 (en) * 2002-04-09 2003-10-09 Nexpress Solutions Llc Method and apparatus for using fields of data to organize variable data print jobs
CN1734474A (zh) * 2004-04-15 2006-02-15 普林昌尼克斯股份有限公司 Epc数据管理器
WO2009004328A1 (en) * 2007-06-30 2009-01-08 Domino Printing Sciences Plc Improvements in or relating to marking and/or coding

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6039426A (en) 1996-08-09 2000-03-21 Hewlett-Packard Company Simplified print mode selection method and apparatus
US7444394B2 (en) * 1997-02-03 2008-10-28 Canon Kabushiki Kaisha Network data base control device and method thereof
US6193054B1 (en) * 1998-07-31 2001-02-27 Fki Industries, Inc., Mathews Conveyor Division Modular accumulator conveyor system
KR100341323B1 (ko) * 1999-11-20 2002-06-21 윤종용 습식 전자사진방식 칼라 인쇄기의 용지 이송 제어방법
US6592035B2 (en) * 2001-09-27 2003-07-15 Arthur Blank & Co. Method and apparatus for rapid, serial transaction item fabrication
JP2005047264A (ja) 2003-07-14 2005-02-24 Ricoh Co Ltd 画像形成装置、画像形成方法、及び画像形成システム
US7620948B1 (en) * 2003-08-29 2009-11-17 Adobe Systems Incorporated Client side software updating
US7114655B2 (en) 2004-04-15 2006-10-03 Printronix EPC data manager
US7114654B2 (en) 2004-04-15 2006-10-03 Printronix RFID encoder and verifier
US7855799B2 (en) 2007-01-16 2010-12-21 Shah Pradip K Print workflow automation
US20080250385A1 (en) * 2007-04-09 2008-10-09 Sanchez Elton R Automating the deployment of applications
JP2009088701A (ja) * 2007-09-27 2009-04-23 Fuji Xerox Co Ltd 情報処理装置、プログラム、及び保安システム
US20100058321A1 (en) * 2008-09-04 2010-03-04 Anderson Greg L Approach for deploying software to network devices
JP5693235B2 (ja) 2008-10-27 2015-04-01 サトーホールディングス株式会社 プログラムスクリプト言語を用いたラベル/タグプリンタapi
US8724141B2 (en) * 2009-07-10 2014-05-13 Lexmark International, Inc. Method for receiving a change-mode command while printing on a plurality of media sheets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1426362A (zh) * 2000-05-08 2003-06-25 艾斯普拉工厂有限公司 标签打印机
US20030189727A1 (en) * 2002-04-09 2003-10-09 Nexpress Solutions Llc Method and apparatus for using fields of data to organize variable data print jobs
CN1734474A (zh) * 2004-04-15 2006-02-15 普林昌尼克斯股份有限公司 Epc数据管理器
WO2009004328A1 (en) * 2007-06-30 2009-01-08 Domino Printing Sciences Plc Improvements in or relating to marking and/or coding

Also Published As

Publication number Publication date
US9635208B2 (en) 2017-04-25
EP2548108A1 (en) 2013-01-23
CN102893252B (zh) 2017-02-15
WO2011114093A1 (en) 2011-09-22
GB2478750A (en) 2011-09-21
GB201004369D0 (en) 2010-04-28
US20130003102A1 (en) 2013-01-03
EP2548108B2 (en) 2022-04-06
EP2548108B1 (en) 2016-05-11

Similar Documents

Publication Publication Date Title
CN102893252A (zh) 可配置的标记设备
Littlewood et al. Software reliability and dependability: a roadmap
Greenberg A Computer-Assisted Analysis System for Mathematical Programming Models and Solutions: A User’s Guide for ANALYZE©
JP2018147080A (ja) 情報処理装置及び情報処理プログラム
CN102473067A (zh) 帮助信息提供装置以及帮助信息提供方法
US7099029B2 (en) Method for aligning two or more independent printing systems with a single control unit and intelligent print controllers
He et al. Practical considerations and strategies for executing adaptive clinical trials
CN101720458B (zh) 对于标记和/或编码的改进或与其相关的改进
CN102592188A (zh) 生产管理系统和生产管理方法
CN102609225A (zh) 控制装置、记录系统和控制装置的控制方法
JP2006231873A (ja) 画像形成装置
CN106406884A (zh) 基于.net mvc模式web后台管理应用系统应用的基础开发框架
CN102722308A (zh) 显示方法和电子设备
CN103826023A (zh) 显示装置、图像形成装置和显示装置的控制方法
CN101927616A (zh) 酒瓶激光防伪码标刻装置和方法及具有激光防伪码的酒瓶
CN102446075A (zh) 电子设备、打印机、电子设备的状态管理方法以及记录介质
CN105034613A (zh) 负载估算装置,激光照射系统以及负载估算方法
JP2009065659A (ja) 使用状況に応じてドキュメント処理装置の動作を制御するシステムおよび方法
JP4513405B2 (ja) ステータス監視装置、ステータス監視方法、およびステータス監視プログラム
US9195897B2 (en) Media processing device, media processing system, and control method of a media processing device
JP2015041341A (ja) 画像形成装置の再生産システム
CN203381351U (zh) 防伪打标装置
CN1996230A (zh) 字体大小改变和打印方法、及其主机和打印机
Sheikh Configuration Manual
US8249913B2 (en) Systems and methods for detecting suspect meter reads in a print environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant