JPH06293158A - ハンドラベラー - Google Patents

ハンドラベラー

Info

Publication number
JPH06293158A
JPH06293158A JP5070463A JP7046393A JPH06293158A JP H06293158 A JPH06293158 A JP H06293158A JP 5070463 A JP5070463 A JP 5070463A JP 7046393 A JP7046393 A JP 7046393A JP H06293158 A JPH06293158 A JP H06293158A
Authority
JP
Japan
Prior art keywords
command
microprocessor
block
data
labeler
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
JP5070463A
Other languages
English (en)
Other versions
JP3332983B2 (ja
Inventor
Amy S Christopher
エス クリストファー エイミー
Donald A Morrison
エイ モーリソン ドナルド
Mark W Roth
ダブリュー ロース マーク
Rex D Watkins
ディー ワトキンズ レックス
Jr Dale E Lamprecht
イー ランプレクト ジュニア デイル
James E Globig
イー グロービッグ ジェームズ
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.)
Avery Dennison Retail Information Services LLC
Original Assignee
Monarch Marking Systems Inc
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=25328955&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH06293158(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Monarch Marking Systems Inc filed Critical Monarch Marking Systems Inc
Publication of JPH06293158A publication Critical patent/JPH06293158A/ja
Application granted granted Critical
Publication of JP3332983B2 publication Critical patent/JP3332983B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65CLABELLING OR TAGGING MACHINES, APPARATUS, OR PROCESSES
    • B65C11/00Manually-controlled or manually-operable label dispensers, e.g. modified for the application of labels to articles
    • B65C11/02Manually-controlled or manually-operable label dispensers, e.g. modified for the application of labels to articles having printing equipment
    • B65C11/0289Manually-controlled or manually-operable label dispensers, e.g. modified for the application of labels to articles having printing equipment using electrical or electro-mechanical means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65CLABELLING OR TAGGING MACHINES, APPARATUS, OR PROCESSES
    • B65C2210/00Details of manually controlled or manually operable label dispensers
    • B65C2210/0002Data entry devices
    • B65C2210/0013Keyboards; Touchscreens
    • B65C2210/0018Keyboards; Touchscreens permanent

Abstract

(57)【要約】 【目的】 アプリケーション・プログラムを形成するコ
マンドのシーケンスに従って動作するプログラム可能な
ハンドラベラーを提供する。 【構成】 ハンドラベラーで使用するアプリケーション
・プログラムは、このラベラーにダウンロードしてRA
Mに記憶することができる。各コマンドは、ROMに記
憶されている1組のコマンド・ルーチンから選択した1
つのコマンド・ルーチンと関連させる。このアプリケー
ション・プログラムのコマンドと関連するコマンド・ル
ーチンは、ラベラーのマイクロプロセッサによって実行
され、柔軟なデータの収集動作、データの処理動作及び
ラベル印刷動作を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ラベル印刷用の装置と
方法に関し、さらに詳しくは、ユーザが作成し、ラベラ
に転送されたアプリケーション・プログラムを形成する
一連のコマンドに従って動作するようにプログラムする
ことが可能なハンドラベラに関する。各コマンドは、ラ
ベラー内に記憶した対応する組のコマンド・ルーチンを
有するプログラム言語コマンドの組から選択し、これら
のコマンドとコマンド・ルーチンによって、ラベラーが
データの収集動作、データの処理動作およびラベルの印
刷動作を柔軟に実行することが可能になる。
【0002】
【従来の技術】ハンドラベラーは、ラベル上に情報を印
刷するものとして周知である。既知のラベラーは、デー
タ入力用のキーボード及び(または)光学式読取り装置
即ちスキャナを有し、このデータには、ラベル上に入力
情報を印刷するためにラベラーに対して走査されたバー
・コード情報が含まれる。
【0003】
【発明が解決しようとする課題】スキャナーを採用した
ラベラーの1つは、米国特許番号第4,652,317
号に示されている。しかし、このラベラーは、1つのバ
ー・コードを1つ以上のラベル上に印刷するために、こ
のバー・コードを一回に1つだけ読み取って記憶するこ
としかできないという点で制約がある。他のラベラーも
周知であり、このラベラーの場合、多数の異なったバー
・コードを有する走査した情報をラベラーに入力し、ま
たデータを獲得または印刷するために記憶することもで
きる。しかし、これらのラベラーは、このラベラーに入
力したデータを処理し、このデータをメモリ内に記憶し
てある他のいづれかのデータと関連させて移動すること
ができないという点で制約がある。さらに詳しくは、こ
れらの既存のラベラーは、一般的に固定的な方法でデー
タを関連させるルックアップ・テーブルを使用してい
る。もし第1片のデータが、ルックアップ・テーブル内
の第2片ののデータと関連しないなら、これらの既知の
ラベラーは、第1と第2データ片の両方を一緒にラベル
に印刷できないが、その理由は、このラベラーは、これ
ら2つのデータ片と関連するデータを処理することがで
きず、それ以外の場合には、関連しないデータ片を処理
できないからである。
【0004】更に、既存のラベラーは、一般的にRO
M、PROM等に記憶され、ラベラーの動作を固定的な
方法で形成するソフトウエア・プログラムを有し、これ
らのプログラムは、メモリを交換するか、または再プロ
グラムするためにラベラーからメモリを取り外し、再プ
ログラムしたこのメモリをこのラベラーに再挿入するこ
とによってしか変更することができない。ラベラーの動
作を定義するソフトウエア・プログラムを読みだし専用
メモリに記憶した1つのラベラーが知られているが、こ
のラベラーもまたプログラム可能メモリ内に情報を記憶
し、ラベラーの種々の動作をイネーブルまたはディスエ
ーブルしている。新しいイネーブ/ディスエーブル情報
をこのラベラーにダウン・ロードすることによって、こ
のラベラーの実行可能な動作を変更することができる。
このラベラーは他のラベラーよりも柔軟性があるが、動
作を実行する方法を変更したり可能な動作を実行する場
合の固定シーケンスを変更するために、ユーザが可能な
動作を再定義したり再プログラムすることができない。
更に、離れた場所からこのラベラーに情報をダウン・ロ
ードすることができるが、このラベラーは、印刷中この
遠隔地とのリアル・タイムでの対話をサポートすること
ができない。従って、もしラベラー内に記憶している特
定の情報によって決まる印刷動作が開始され、この特定
の情報がこのラベラーに記憶されていなければ、必要な
情報のこのラベラーに対するダウン・ロードを可能にす
るため、この印刷動作を打ち切る。その後、印刷動作は
最初から再開しなければならない。
【0005】更に、既知のラベラーは、特定の即ち選択
した印刷フォーマットと結合即ちリンクされるべきプリ
ンタに入力するデータを一般的に必要とする。更に詳し
くは、データ用の印刷フォーマットを先ず入力しない
と、一般的なラベラーにデータを入力することはできな
い。これらのプリンタの場合、同じデータを2つの異な
った印刷フォーマットに応じて印刷するためには、1回
目は一方の印刷フォーマットに従って、次に他方の印刷
フォーマットに従って、このデータを2回入力しなけれ
ばならない。また、これら既知のラベラーは、印刷しよ
うとするデータとは無関係にデータを収集することがで
きない。
【0006】
【課題を解決するための手段】本発明によれば、上述の
従来のハンドラベラーの欠点が克服される。本発明のハ
ンドラベラーは、ユーザが作成し、ラベラに転送された
アプリケーション・プログラムを形成する一連のコマン
ドに従って動作するようにプログラムすることが可能で
ある。このアプリケーション・プログラムの各コマンド
は、ラベラー内に記憶した対応する組のコマンド・ルー
チンを有するプログラム言語コマンドの組から選択し、
これらのコマンドとコマンド・ルーチンによって、ラベ
ラーがデータの収集動作、データの処理動作およびラベ
ルの印刷動作を柔軟に実行することが可能になる。
【0007】更に詳しくは、本発明のハンドラベラー
は、ラベラーの印刷動作を制御する印刷コマンド・ルー
チン、記憶したデータの処理を制御する複数のデータ処
理コマンド・ルーチン、及び動作を制御して上記のラベ
ラーに入力するデータを収集するデータ収集コマンド・
ルーチンを有する固定された組のコマンド・ルーチンを
記憶する第1メモリを有する。プログラム可能な第2メ
モリは、データとユーザによって発生され、アプリケー
ション・プログラムを形成するコマンドのシーケンスを
記憶する。上記のアプリケーション・プログラムの各コ
マンドは、実行のために第1メモリに記憶されている関
連するコマンド・ルーチンを選択する。上記の第2メモ
リ記憶されたアプリケーション・プログラムは、第1メ
モリに記憶された選択したコマンド・ルーチンを実行す
ることによってプロセッサによって実行され、上記のラ
ベラーの印刷動作、データ処理動作またはデータ収集動
作の少なくとも1つを制御する。新しいアプリケーショ
ン・プログラムをラベラーに転送すると、本発明のラベ
ラーは、第2メモリ内にこのアプリケーションを実行す
るために必要な全ての作業バッファを構築する。この特
徴によって、このラベラーの第2メモリを最も効率的な
方法で割り当てることが可能になり、これによって、こ
のラベラー内に最大量のデータを収集することが可能に
なる。
【0008】データ収集ルーチンとデータ処理コマンド
・ルーチンによって、キーボード、スキャナ及び通信ポ
ートを含む複数の入力ソースのいずれの組み合わせから
でもこのラベラーにデータを入力することが可能にな
り、更に、これらの入力ソースのいずれの組み合わせか
ら受け取ったデータもラベルを印刷することが可能にな
る。更に、印刷フォーマットとは無関係にこのラベラー
にデータを入力することができ、その結果、多数の異な
ったフォーマットに応じて印刷する場合、1回だけデー
タを入力すればよい。ユーザは、収集しようとするデー
タとは無関係に印刷しようとするデータを作成すること
もでき、その結果、必ずしもラベラーに入力するデータ
を全て収集する必要はなく、収集したデータを全て印刷
する必要もない。ラベラーに入力したデータを受け取っ
て記憶し、後で印刷することもできる。
【0009】このデータ処理ルーチンによって、第2メ
モリ内の全ての他の選択したデータと関連させて、選択
したデータをこの第2メモリに移動させることが可能に
なり、これによって、ラベル上に関連するデータを一緒
に印刷したり、またはこのデータを通信ポート即ちイン
タフェースと結合して遠隔地へアップロードすることも
可能になる。従って、ルックアップ・テーブルを遠隔地
からこのラベラーにダウンロードすることが可能にな
り、このデータ処理ルーチンによってこのルックアップ
・テーブルを変形し、再びこのルックアップ・テーブル
を遠隔地にアップロードして戻すことができる。このデ
ータ処理ルーチンによって、いずれかの入力ソースから
このラベラーへ入力されたデータをまた検査することが
できる。
【0010】本発明のラベラーは、通信ポート即ちイン
タフェースを介して 遠隔地とのリアル・タイムでの対
話をサポートする。これによって、、ラベラーは、アプ
リケーション・プログラムの要求に応じて、印刷動作や
データ収集動作を中断することなく、遠隔地から情報を
要求することができる。本発明のラベラーは、また少な
くとも1つのプログラム可能キーも有し、このきーはユ
ーザが定義可能であり、このプログラム可能キーを操作
することによっ、ユーザの定義した動作を行うことがで
きる。
【0011】本発明のこれらの目的と他の目的、及び利
点と新規は特徴並びに本発明の図示の実施例の詳細は、
以下の説明と図面からより完全に理解することができ
る。
【0012】
【実施例】図1に示すように、本発明によるハンドラベ
ラー10は、バー・コード・スキャナ12、キーボード
14及びラベラー10に情報を入力する通信ポート15
(図4)を有する。スキャナ12は光学的スキャナであ
ることが望ましいが、磁気スキャナのような他のスキャ
ナを使用し、このようなスキャナによって検出され、デ
ジタル情報に変換することのできるバー・コードを走査
することもできる。キーボード14は、英数字情報を入
力し、ラベラーに対する情報を制御する多数の固定走査
キーを有する。このキーボード14は、また5個のプロ
グラム可能キーを有し、これらのキーの各々は、ユーザ
によって定義可能であり、以下で詳細に説明するよう
に、このキーを操作することによって、ユーザの定義し
た動作を行うことができる。表示装置16は、ユーザに
プロンプトのような情報を伝えることができる。ラベラ
ーに記憶したアプリケーション・プログラムに従ってラ
ベラー10による印刷とラベル貼り動作を自動的に制御
することができるが、ユーザは、またトリガ・スイッチ
18を操作することによって印刷動作を開始することが
できる。このトリガ・スイッチは、便宜上ラベラー10
のハンドル20に取り付けられている。しかし、もし希
望すれば、印刷操作スイッチをキーボード14を形成す
るキー・スイッチの間に含めることもできる。
【0013】図2に示すように、ラベラー10は、フレ
ーム即ちハウジング22を有する。ラベル供給ロールR
がハウジング22に取り付けられ、このロールRは、カ
バー24によって埃のような周囲の条件から密閉されて
いる。このローラRは、満杯のロールを表す実線と殆ど
使い果たしたロールを表す陰影線の両方によって示す複
合ラベルのウェブCによって構成される。この複合ウェ
ブCは、シリコーンのような剥離材料のコーティングを
有する搬送用ウェブWを有し、ラベルLのような複数の
ラベルが感圧性接着剤によってこの搬送用ウェブBに剥
離可能に固定されている。この搬送用ウェブWの下側に
は印を設け、これらの印は、光学的センサ26によって
検出され、ラベラー10の種々の制御機能を果してもよ
い。
【0014】トリガ・スイッチ18または、ラベラーの
マイクロプロッセサからの印刷コマンドに応答して、電
気モータ28がこれに結合された駆動ロール30を回転
させ、この駆動ロール30は、アイドラ・ロール30と
協働して複合ウェブCをプリントヘッド34を通過させ
て前進させる。このプリントヘッド34は、先頭のラベ
ルLLがこの側を通過すると、このラベルに情報を印刷
する。更に詳しくは、複合ウェブCがロールRから巻き
戻されるのに従って、このウェブCは一対のガイドの間
を通過するが、このガイドは、一方36のみを図示す
る。ローラ38は、複合ウェブCがプリントヘッド34
とこれと協働するプラテン40の間を通過する場合に形
成する曲線に沿ってこの複合ウェブCを案内する。プリ
ントヘッド34は隆起印刷用のプリントヘッドであるこ
とが好ましいが他のプリントヘッドを使用することもで
きる。このプリントヘッド34は、狭い間隔を有する印
刷要素の直線を有し、これらの印刷要素は、複合ウェブ
Cの移動方向と直角に延びている。剥離器42は、プリ
ントヘッド34とプラテン40の間の圧力接触線の近傍
に位置する剥離ローラを有する。搬送用ウェブWは、剥
離器42の一部の近くを通過し、先頭ラベルLを剥離す
る。この先頭ラベルLは、次に貼り付けロール44に対
してラベルを貼り付ける関係になり、従って、この先頭
ラベルLを物品に貼り付けることができる。剥離器42
から、搬送用ウェブWは再びプラテン40と接触し、こ
のプラテン40からロール46によって駆動ロール30
とアイドラ・ロール32に導かれ、これらのロールの間
を通過する。ウェブWは、次に光学的センサ26を通過
し、ガイド48と50に沿ってハウジング22内の出口
開口部52に押し出される。
【0015】図3に示すように、ハウジング22は、表
示装置16と位置合わせされた長方形の孔56を含む上
部部材54を有する。この上部ハウジング部材54は、
キーボード14のキー・スイッチ60と位置合わせされ
た複数の円形の孔58を有する。または、キーボード全
体を収容するように1つの大きな孔を上部ハウジング部
材54に設けてもよい。一対の小さな長方形の孔62と
64がハウジング部材54に形成され、取り付けブラケ
ット70の各フランジ66と68を受け入れる。各フラ
ンジ66と68はリップ72を有し、このリップ72
は、ハウジング部材54の側壁74の内部表面と係合
し、上部ハウジング部材54に固定された取り付けブラ
ケット70を保持する。上部ハウジング部材54と取り
付けブラケット70には、各スロット76と78が形成
され、これらのスロットは位置合わせされ、これによっ
て、電気リボン・コネクタ80が光学的スキャナ12と
協働するプリント回路基板82からラベラーのハウジン
グ22内に内蔵されているデコーダ/パワー・ダウン・
チップ84に挿通される。デコーダ/パワー・ダウン・
チップ84は、光学的に走査され符号化された記号即ち
バー・コードを識別し、走査された符号を表すデジタル
信号メイン・プロセッサ・チップ102に転送する。光
学的スキャナを使用しない場合には、基板82上のパワ
ー・ダウン回路によって、光学的スキャナ12とチップ
84のデコーダ部の両方をオフし、電力を節約する。カ
バー86は、ねじ88と一対のフランジ90と92によ
って取り付けブラケット72に固定され、これらのフラ
ンジ90と92は、取り付けブラケット70内に形成さ
れた各スロット94と96を介して延びる。カバー86
は、光学的スキャナの本体98とプリント回路基板82
を取り囲み、一体的に形成されたラベラーと光学的走査
装置を提供する。取り付け板100は、表示装置16及
び上部にあるデコーダ/パワー・ダウン・チップ84と
接続されたマイクロプロセッサ・チップ102を支持す
る。キーボード14は、他の取り付け板104上に取り
付けられ、この取り付け板104の下部には、デコーダ
/パワー・ダウン・チップ84が配設される。
【0016】図4に示すように、マイクロプロセッサ・
チップ104に内蔵されているマイクロプロセッサ11
0は、好ましくはEPROMであるROM112に記憶
されている動作システムに従って動作し、ランダム・ア
クセス・メモリ、RAM114に記憶されているアプリ
ケーション・プログラム116を実行する。更に詳しく
は、このアプリケーション・プログラム116は、柔軟
性のあるデータの収集、データの処理及びラベル印刷動
作の実行を可能にするように設定されたプログラム言語
コマンドから選択した一連のコマンドによって形成され
る。EPROM112に記憶されたラベラー10の動作
システムは、図5‐41と関連して以下で詳細に論じる
ように多数のコマンド・ルーチンを有している。各コマ
ンド・ルーチンは、プログラム言語コマンドからのコマ
ンドと連動し、このプログラム言語コマンドは、アプリ
ケーション・プログラムを形成する一連の複数のコマン
ド内の各コマンドが実行のためにEPROM112に記
憶されているその関連するコマンドを選択するように設
定される。特に、マイクロプロセッサ110は、アプリ
ケーション・プログラム内の一連のコマンドによって選
択されたコマンド・ルーチンを実行することによって、
図38に示すアプリケーション・プログラムのインタプ
リタに従ってアプリケーション・プログラム116を実
行する。
【0017】このアプリケーション・プログラム116
は、ユーザによって離れた場所にあるパーソナル・コン
ピュータまたはホスト・コンピュータで発生される。ア
プリケーション・プログラム116は、通信ポートと即
ちインターフェース15を介して離れた場所からラベラ
ー10にダウンロードされる。通信用インターフェース
15は、RS323インターフェース、高周波、R.
F.、インターフェース等である。構成レコードは、ア
プリケーション・プログラムと共にダウンロードされ、
アプリケーションを実行するために必要な作業バッファ
の定義を与える。この作業バッファは、以下で詳細に論
じるようにRAM114内に動的に構築され、ここでこ
れらのバッファの定義は、各作業バッファに割り当てら
れるべきメモリの量を示す。更に詳しくは、一時的な作
業バッファ118、ルックアップ・テーブル用の作業バ
ッファ120、ヘッダ用の作業バッファ122、印刷用
の作業バッファ124、データ収集用の作業バッファ1
26、及びASCII文字列のテーブル128用の定義
がこの順序でラベラー10にダウンロードされ、もし必
要であれば、これに続いてアプリケーション・プログラ
ム116とルックアップ・テーブルの記録がダウンロー
ドされる。ルックアップ・テーブルの記録は、RAM1
14のファイル130に記録されている。全ての作業バ
ッファが構築され、アプリケーション・プログラムとル
ックアップ・テーブルが記憶された後、データ収集ファ
イル132は、残りのメモリからRAM114内に形成
される。従って、特定のルックアップ・テーブル、アプ
リケーション・プログラム及び関連する作業バッファの
サイズが与えられれば、このデータ収集ファイル132
は、できるだけ大きくなる。各作業バッファに対する構
成レコードは、特定のバッファまたはテーブルを識別す
る頭文字を有し、チェックサムがこれに続き、このバッ
ファ内の第1フィールドの長さとこの第1フィールドが
英字フィールドであるか数字フィールドであるかの指定
がこのチェック・サムに続き、この第1フィールドを定
義する情報の次にはバッファ/ファイルの残りのフィー
ルドを定義する同様の情報が続く。ダウンロードの処理
ルーチンとアプリケーション・プログラムのインタープ
リタは、EPROM112内に記憶されているラベラー
の動作システムに含まれていることに留意すること。
【0018】RAM114内に構築された作業バッファ
は、以下のような種々の種類のデータを記憶するために
使用する。一時作業バッファ118は、演算動作または
他の中間的なデータ処理動作を実行するためのデータを
記憶するために使用する。文字列テーブル128は、例
えば、表示装置16に出力され、ユーザにプロンプト等
のメッセージを表示するために出力される英字文字、数
字文字または英数字文字を記憶する。印刷バッファ12
4は、ラベルに印刷すべきデータの画像を記憶し、この
ラベルのイメージ・データは、マイクロプロセッサ11
0に制御されて印刷ドライバに接続され、この印刷ドラ
イバは、プリント・ヘッド34、モータ28等を有して
いる。ヘッダ用の作業バッファは、たまに使用され、デ
ータ収集用の作業バッファ126に記憶されている個々
のデータ片のグループと関連するまたはこれと連動する
ことのできるデータを記憶する。ヘッダ用の作業バッフ
ァ122内のヘッダ・データとデータ収集用作業バッフ
ァ126内に記憶されている個々のデータ片は、データ
収集ファイル132内で組み合わされる。ルックアップ
・テーブルのファイル130内に記憶されているルック
アップ・テーブルの各記録は、多数のフィールドを有し
ている。ルックアップ・テーブルは、1つの記録の複数
のフィールド内のデータと関連し、その結果、1つのフ
ィールド内のデータは、1つの関連するフィールド内の
データによってアクセスされることができる。本発明に
よれば、離れた場所からダウンロードされ、RAM11
4のファイル130に記憶されているルックアップ・テ
ーブルは、以下で論じるように、変更しこの離れた場所
にアップロードすることができる。
【0019】入力ソース12、14及び15からラベラ
ー10に入力された全てのデータは、入力バッファ13
4内に一時的に記憶される。この入力バッファ134に
記憶したデータは、ルックアップ・テーブルの作業バッ
ファ120、データ収集用作業バッファ126、ヘッダ
用作業バッファ122、一時的作業バッファ118及び
(または)印刷用バッファ124にコピーすることがで
きる。
【0020】同様に、文字列テーブル128に記憶され
ているデータは、ルックアップ・テーブルの作業バッフ
ァ120、データ収集用作業バッファ126、ヘッダ用
作業バッファ122、一時的作業バッファ118または
印刷用バッファ124にコピーすることができる。ルッ
クアップ・テーブルの作業バッファ120に記憶されて
いるデータは、データ収集用作業バッファ126、ヘッ
ダ用作業バッファ122、一時的作業バッファ118、
及び(または)印刷用バッファ124にコピーすること
ができる。データ収集用作業バッファ126のデータ
は、ルックアップ・テーブルの作業バッファ120、デ
ータ収集用ファイル132、ヘッダ用作業バッファ12
2、一時的作業バッファ118及び印刷用バッファ12
4にコピーすることができる。ヘッダ用作業バッファ1
22のデータは、データ収集用ファイル132、ルック
アップ・テーブルの作業バッファ120、データ収集用
作業バッファ126、一時的作業バッファ118及び
(または)印刷用バッファ124にコピーすることがで
きる。更に、一時的作業バッファのデータは、ルックア
ップ・テーブルの作業バッファ120、データ収集用バ
ッファ126、ヘッダ用作業バッファ122及び(また
は)印刷用バッファ124にコピーすることができる。
印刷用作業バッファ124は、書き込み専用バッファで
あることに留意すること。
【0021】ラベラー10に入力されたデータは、種々
の作業バッファとファイルの間で処理及び移動されて柔
軟な方法で選択したデータを共に関連させ、その結果、
これらの関連するデータは、ラベル上に印刷し、及び
(または)通信用インターフェース15を介して離れた
場所にアップロードすることができる。EPROM11
2に記憶されたデータ処理コマンドのルーチンと関連す
るデータ処理コマンドを使用してアプリケーション・プ
ログラムを発生する場合、所望のデータの処理は、ユー
ザによってプログラムすることができる。このデータ処
理コマンドのルーチン以外に、EPROM112に記憶
されている組のコマンド・ルーチンは、ラベラー10に
入力されたデータの受け取りを制御する入出力ルーチ
ン、即ち、印刷ルーチン及びアップロード・ルーチンの
ようなデータ収集ルーチンと出力ルーチンを含む。これ
らのコマンド・ルーチンは、図5‐図41を参照して以
下で説明する。
【0022】図5‐図17は、データの収集、通信及び
印刷のような動作を制御する入力/出力コマンドと関連
するコマンドのルーチンを示す。これらのルーチンは、
マイクロプロセッサ110がキーボード14、スキャナ
12及び通信用ポート15から入力されたデータの受信
を制御することを可能にするGetルーチンを有し、こ
の受信されたデータは、入力バッファ内に載置される。
スキャナの初期化ルーチンを使用して、所望のバー・コ
ードの符号を読み取る。Locateルーチンを使用し
て、カーソルを表示装置16上に位置決めする。Dow
nloadルーチンを使用して、新しいルックアップ・
ファイルをラベラー10にダウンロードする。新しいア
プリケーション・プログラムと構成レコードのダウンロ
ードは、図36に示し以下で詳細に論じるソフトウェア
・ルーチンによって制御されることに留意すること。ア
ップロード・ルーチンを使用して、ファイルを通信用ポ
ート15を介してホスト・コンピュータにアップロード
する。Printルーチンを使用して、印刷用フォーマ
ット・バッファ140から選択した特定のフォーマット
で印刷用バッファ124の内容を印刷する。Beepル
ーチンを使用して、ラベラー10の警報142を鳴ら
す。System Setルーチンを使用してラベラー
10の種々のパラメータを設定するが、これらのパラメ
ータには、スキャナのパラメータ、自動トリガのパラメ
ータ、自動入力のパラメータ、データ長のパラメータ、
複数ラベルのパラメータ、ラベル片のパラメータ、通貨
の符号のパラメータ、及び外国のプロンプトのパラメー
タが含まれる。System Checkルーチンを使
用して、ラベラーの電池の電圧水準またはRAM114
内の使用可能なスペースのような種々のシステムのパラ
メータの状態をチェックする。Move及びClear
のような他のデータ収集コマンドは、またデータ処理動
作を実行し、これらは、以下で詳細に論じることに留意
すること。
【0023】図5‐図6に示すように、Getコマンド
とルーチンは、キーボード14、スキャナ14及び通信
ポート15からラベラー10に入力されたデータの受け
取りを制御する。Getコマンドは、入力すべきデータ
が英数字であるか数字であるかを識別する情報を有し、
入力データのソース、即ち、スキャナ12、キーボード
14及び(または)通信ポート15と有効なデータ入力
の可能な最小と最大の文字数を識別する。Getコマン
ド・ルーチンに従ってGetコマンドを実行すると、マ
イクロプロセッサ110は、ブロック152でGetコ
マンドから入力データの1つまたは複数のソースを判定
する。その後、ブロック154でマイクロプロセッサ
は、特定の入力ソース、即ち、キーボードのみのルーチ
ン、スキャナのみのルーチン、キーボード/スキャナの
ルーチン及び通信ポートのみのルーチンと関連するルー
チンに進む。
【0024】キーボードのみのルーチンとキーボード/
スキャナのルーチンは実質的に同一であり、従って1つ
のルーチンとして説明することに留意のこと。もし入力
データのソースがキーボードまたはキーボードとスキャ
ナの組み合わせであれば、マイクロプロセッサ110
は、ブロック156で受け取るべきデータがGetコマ
ンドで特定されたように英数字であるか数字であるかを
判定し、それぞれのブロック158と160でこのマイ
クロプロセッサ110は、これに従って入力モードを設
定する。その後、マイクロプロセッサはブロック162
に進み、ここで表示装置16のカーソルの位置を読み込
んで記憶する。従って、ブロック164で、マイクロプ
ロセッサ110は、入力バッファ164のアドレスを入
手してブロック166に進む。ブロック166で、マイ
クロプロセッサは、モードがが英数字であるか数字であ
るかを判定する。もしモードが英数字であれば、マイク
ロプロセッサはブロック168に進み、グループ・セパ
レータを入力バッファの位置に設定する。もしマイクロ
プロセッサがブロック166でGetコマンドが数字モ
ードを指定したと判定すれば、ブロック170でマイク
ロプロセッサは記録セパレータを入力バッファの第1位
置に設定する。グループ・セパレータと記録セパレータ
は、入力バッファにに記憶されているデータの種類を識
別するために、他のコマンド・ルーチンによっても使用
される。マイクロプロセッサ110は、ブロック168
と170からブロック172に進み、Getコマンドか
ら最大フィールドの長さを取り出す。ブロック174
で、マイクロプロセッサは、ブロック172で入手した
最大フィールドの長さと、入力バッファのアドレスを入
力ルーチンに引き渡し、入力ルーチンに得るべき最大数
の文字と何処にこれらの文字を載置するかを伝える。入
力ルーチンはこの情報に応答し、特定の入力装置、例え
ば、キーボードまたはスキャナからの割り込みを予期
し、この割り込みを受けると、マイクロプロセッサ11
0は、この入力ルーチンに従ってデータを入力バッファ
134に移動する。この入力ルーチンは、またマイクロ
プロセッサ110に入力バッファ134に取り込まれた
データの実際の長さと例外キーが入力ルーチンの実行に
よって戻された値によって指示された通りに押されたか
どうかに関する情報を戻させる。ブロック175で、マ
イクロプロセッサ110は、「F」例外キーが操作され
たことを戻された値が示しているかどうかを判定し、も
しそうであれば、以下で論ずるように、0をアプリケー
ションのインタープリタに戻す。同様に、ブロック17
7と179で、マイクロプロセッサ110は、「L」例
外キーが操作されたかどうかまたは「/」例外キーが操
作されたかどうかを判定する。「F」例外キーは、Ge
tルーチンを直ちに抜けるために操作される。「L」例
外キーを使用することによって、オペレータは用紙の供
給を再ロードし、その後情報の「取得」を再開する。
「/」例外キーを操作すると、直ちにプログラム可能キ
ーの1つが操作される。もしマイクロプロセッサがブロ
ック179で「/」例外キーとプログラム可能キーが操
作されたと判定すれば、このマイクロプロセッサはブロ
ック182に進み、入力バッファの第2位置からいずれ
のプログラム可能キーが操作されたかを判定する。ラベ
ラー10は、「<」、「>」、「S」、「R」、及び
「L」の名称の付いた5個のプログラム可能キーを有す
るものとして図示されているが、このラベラーには、本
発明に従って5個以上または以下のプログラム可能キー
を設けてもよい。もしマイクロプロセッサ110がブロ
ック184で「<」のプログラム可能キーが操作された
と判定すれば、このマイクロプロセッサは、2の値をブ
ロック186でアプリケーション・プログラムのインタ
ープリタに戻す。もしマイクロプロセッサがブロック1
88で「>」の例外キーが操作されたと判定すれば、こ
のマイクロプロセッサは、ブロック190で3の値をア
プリケーション・プログラムのインタープリタに戻す。
もしマイクロプロセッサがブロック192で「S」のプ
ログラムされたキーが操作されたと判定すれば、このマ
イクロプロセッサは、ブロック194で4の値をアプリ
ケーション・プログラムのインタープリタに戻す。もし
マイクロプロセッサがブロック196で「R」のプログ
ラムされたキーが操作されたと判定すれば、このマイク
ロプロセッサは、5の値をブロック198でアプリケー
ション・プログラムのインタープリタに戻し、もしマイ
クロプロセッサがブロック200で「L」のプログラム
されたキーが操作されたと判定すれば、このマイクロプ
ロセッサは、6の値をブロック202でアプリケーショ
ン・プログラムのインタープリタに戻す。以下で詳細に
論じるように、アプリケーション・プログラムのインタ
ープリタはGetルーチンから戻された値に応答し、適
当なプログラム可能キーのルーチンの実行を制御する。
【0025】もしマイクロプロセッサ110がブロック
179でいずれの例外キーも操作されなかったと判定す
れば、このマイクロプロセッサはブロック204に進
み、入力ルーチンからGetコマンド・ルーチンに戻さ
れた長さの値がこのGetコマンドによって要求される
最小長さを満足するかどうかを判定し、もし一致すれ
ば、このマイクロプロセッサ110はブロック206に
進み、有効なリターンを示す1の値をアプリケーション
・プログラムのインタープリタに戻す。しかし、もしマ
イクロプロセッサ110がブロック204でGetコマ
ンドによって指定された最小長さに対する要求が満足さ
れなかったと判定すれば、このマイクロプロセッサ11
0は、ブロック208で表示装置16上のカーソルをこ
の表示装置のスタート位置に移動させ、ブロック162
に戻る。
【0026】もしマイクロプロセッサ110がブロック
154で入力ソースはスキャナ12のみであると識別さ
れると判定すれば、このマイクロプロセッサは、ブロッ
ク210でスキャナ用の入力モードを設定し、上で論じ
たように、ブロック162、164、168、170、
174、204、206、及び208の実行に進む。も
しマイクロプロセッサがブロック154で入力ソースは
通信ポート15のみであると判定すれば、上で論じたよ
うに、このマイクロプロセッサは、ブロック164、1
66、168及び170を実行する。その後マイクロプ
ロセッサ110はブロック212に進み、入力バッファ
のアドレスを通信ポート・ルーチンに引き渡し、この通
信ポート・ルーチンは、通信ポート15からのデータを
入力バッファ134に移動させ、アプリケーション・プ
ログラムのインタープリタに引き渡すべきリターン値を
戻す。
【0027】図10に示すように、スキャナの初期化コ
マンドとコマンド・ルーチンを使用し、スキャナ12を
初期化して所望のバー・コードの符号を読み取る。この
スキャナの初期化コマンドには、ラベラー10と一緒に
使用しているスキャナ12の種類と走査すべきバー・コ
ードの種類、即ち、例えば、このバー・コードがUPC
バー・コード、Code39のバー・コード等であるか
どうかを識別する情報が含まれている。このスキャナの
初期化コマンド・ルーチンに従って、マイクロプロセッ
サ110は、ブロック216でスキャナ初期化コマンド
で識別されたスキャナの種類に従ってこのスキャナの種
類を設定する。その後、ブロック218で、マイクロプ
ロセッサ110は、スキャナ初期化コマンドで識別した
バー・コードの種類にこのバー・コードの走査の種類を
設定する。最後に、ブロック220で、マイクロプロセ
ッサ110はスキャナ12を初期化し、このコマンドで
指定された種類のバー・コードを受け取る。
【0028】図11に示すように、Locateコマン
ドとコマンド・ルーチンは、このコマンドで指定された
表示装置16の行と列にこの表示装置上のカーソルを位
置させる。更に詳しくは、ブロック222で、マイクロ
プロセッサ110は、カーソルを表示装置16上のホー
ム・ポジションに移動させ、この場合、このホーム・ポ
ジションは、表示装置の第1行の第1列を表す。その
後、ブロック224で、マイクロプロセッサ210は、
Locateコマンドで指定された行と列の位置を入手
し、ブロック226でこのカーソルの表示装置16上の
位置を計算し、このカーソルを計算した位置に移動させ
る。
【0029】図12に示すDownloadコマンドと
コマンド・ルーチンを使用して、通信ポート15を介し
てホスト・コンピュータからラベラー10に新しいルッ
クアップ・テーブルをロードする。このルックアップ・
テーブルは、このコマンドによってダウンロードするこ
とが許されている唯一のファイルである。これ例外の全
ての他の情報をダウンロードしようとすれば、警報が発
せられ、無効経路が取られるダウンロードを成功させる
には、データ収集ファイル132が空でなければならな
い。もしこのデータ収集ファイルが空でなければ、警報
が発せられ、無効経路が取られる。ダウンロード・コマ
ンドによって、基本的にラベラー10は、受信モードに
設定される。更に詳しくは、ダウンロード・コマンドに
応答して、マイクロプロセッサ110は、ブロック22
8でこれはルックアップ・テーブルをダウンロードしよ
うとする試みであるかどうかを判定する。もしホスト・
コンピュータがルックアップ・テーブル以外のファイル
をダウンロードしようと試みていれば、マイクロプロセ
ッサ110は、ブロック228からブロック230に進
んで状態を無効に設定し、その結果、警報を発すること
ができる。もしマイクロプロセッサ110がブロック2
28でホスト・コンピュータがルックアップ・テーブル
をダウンロードしようと試みていると判定すれば、この
マイクロプロセッサ110は、ブロック232に進んで
データ収集ファイルが存在するかどうかを判定し、ブロ
ック236でこのデータ収集ファイルが空であるかどう
かを判定する。もしマイクロプロセッサ110がデータ
収集ファイルは存在しない、またはこのデータ収集ファ
イルは存在するが空ではないと判定すれば、このマイク
ロプロセッサは、各ブロック234または238に進
み、状態を無効に設定する。しかし、もしマイクロプロ
セッサ110がデータ収集ファイルが存在して空である
と判定すれば、このマイクロプロセッサ110は、ブロ
ック240で受け取ったルックアップ・ファイルをルッ
クアップ・テーブルのファイル130にセーブする。マ
イクロプロセッサ110は、ブロック240からブロッ
ク242に進み、リターン値を有効状態に設定する。も
しコマンドの動作が「有効」な方法または「無効」な方
法で行われれば、各コマンドは取るべきアプリケーショ
ン・プログラムの各経路を任意に識別することができる
ことに留意すること。もし「有効」及び「無効」な経路
がこのコマンド内で指定されれば、有効状態に設定され
た場合のリターン値は、取るべき有効な経路を識別し、
無効状態に設定された場合には、取るべき無効な経路を
識別する。リターン値は、アプリケーション・プログラ
ムのインタープリタと関連して以下で更に詳細に論じ
る。図13に示すUploadコマンドとアップロード
・コマンド・ルーチンを使用してデータ収集ファイル1
32またはルックアップ・テーブル・ファイル135を
通信ポート15を介してホスト・コンピュータにアップ
ロードする。このUploadコマンドには、データ収
集ファイルとルックアップ・ファイルを識別する情報が
含まれる。更に詳しくは、Uploadコマンドに応答
して、マイクロプロセッサ110は、ブロック256で
ルックアップ・テーブルをアップロードすべきかどうか
を判定する。もしそうであれば、マイクロプロセッサ1
10は、ブロック258でルックアップ・テーブル・フ
ァイル130からルックアップ・テーブルを入手し、ブ
ロック247に進む。ブロック247で、マイクロプロ
セッサ110は、アップロード用にルックアップ・テー
ブルをフォーマットし、ブロック249でこのルックア
ップ・テーブルを通信ポート15を介してホスト・コン
ピュータに送る。その後、ブロック244で、マイクロ
プロセッサ110は、このホスト・コンピュータからの
アップロードの状態を待機する。もしブロック246で
判定したように、このアップロードが成功したなら、マ
イクロプロセッサ110は、ブロック250でリターン
値を有効に設定する。もしマイクロプロセッサがブロッ
ク260でデータ収集ファイルをアップロードすべきで
あると判定すれば、このマイクロプロセッサは、ブロッ
ク262でRAM114からデータ収集ファイル132
を入手し、ブロック247と249を実行してデータ収
集ファイルを通信ポート15を介してホスト・コンピュ
ータにアップロードする。もしUploadコマンドで
ルックアップ・テーブルまたはデータ収集ファイルのい
ずれも指定されなければ、マイクロプロセッサ110
は、ブロック260からブロック252に進み、リター
ン値を無効に設定する。
【0030】図14、15に示すように、印刷コマンド
とコマンド・ルーチンによって、印刷バッファ124の
内容をこの印刷コマンドで指定されたフォーマットで印
刷することができる。更に詳しくは、この印刷コマンド
には、空フィールドをプロンプトするかどうかをマイク
ロプロセッサ110に指示する情報と印刷バッファ12
4内の情報をこれに従って印刷すべきフォーマットを識
別する情報が含まれ、使用可能なフォーマットは、印刷
フォーマット・バッファ140に記憶されている。印刷
コマンドを実行するため、マイクロプロセッサ110
は、ブロック264で印刷コマンドで指定されたフォー
マットの番号が有効であるかどうかを判定する。もしこ
のフォーマット番号が有効でなければ、ブロック265
で、マイクロプロセッサ110はシステム・エラーを発
生し、リターン値を無効に設定する。しかし、もし印刷
コマンドによって指定されたフォーマット番号が有効で
あれば、マイクロプロセッサ110は、ブロック226
からブロック264に進み、印刷バッファ124内のデ
ータをRAM114のシステム作業バッファに移動させ
る。その後、ブロック268で、マイクロプロセッサ1
10は、空フィールドがプロンプトされるべきであるか
否かを印刷コマンドが指示するかどうかを判定する。も
し空フィールド、即ち、抜けているデータがプロンプト
されるべきであれば、マイクロプロセッサは、ブロック
272に進んで入力モードを設定し、表示装置16を介
してこの抜けているデータに対してユーザをプロンプト
する。もし印刷コマンドが空フィールドはプロンプトさ
れるべきではないと指示すれば、マイクロプロセッサ
は、ブロック268からブロック270に進んで入力モ
ードを設定し、システム・バッファからデータを入手す
るが、抜けているデータを飛ばす。マイクロプロセッサ
は、ブロック272またはブロック270からブロック
270に進んでシステム・バッファからデータを入手
し、ブロック276で印刷すべきデータの画像を印刷ド
ライバ27に対して構築する。その後、マイクロプロセ
ッサ110は、ブロック278で例外キーが押されたか
どうかを判定し、もし押されれば、このマイクロプロセ
ッサは、ブロック280でこの例外キーは用紙再ロード
・キーであったかどうかを判定する。もしブロック28
0で判定されたように用紙再ロード例外キーが操作され
ていれば、マイクロプロセッサ110は、ブロック28
2に進んでラベラー102に用紙を再ロードし、その後
ブロック274に進み、用紙の再ロード後にラベルの印
刷を行わせる。もしマイクロプロセッサがブロック27
8でいずれの例外キーも操作されなかったと判定すれ
ば、このマイクロプロセッサはブロック279に進み、
「/」キーの後でプログラム可能キーが操作されたかど
うかを判定する。もしここプログラム可能キーが押され
ていたなら、マイクロプロセッサ110は、ブロック2
81でこのプログラム可能キーを戻し、その結果、この
キーを処理することができる。もし例外キーまたはプロ
グラム可能キーのいずれも操作されなかったなら、マイ
クロプロセッサ110はブロック284に進み、印刷ド
ラバ24にラベルを印刷させる。その後、マイクロプロ
セッサ110は、ブロック286でラベルが正しく印刷
されたかどうかを判定する。もしこのラベルが正しく印
刷されていたならマイクロプロセッサは、ブロック28
7でアプリケーション・プログラムのインタープリタに
対してリターン値を有効に設定し、もしこのラベルが正
確に印刷されていなかったなら、マイクロプロセッサ1
10は、このリターン値を無効に設定する。
【0031】図16に示すBeepコマンドとBeep
コマンド・ルーチンはラベラーの出力コマンドとコマン
ド・ルーチンである。更に詳しくは、マイクロプロセッ
サ110は、アプリケーション・プログラムのBeep
コマンドに応答し、ブロック290で0.5秒間警報器
142を鳴らす。図60、61に示すSystem S
etコマンドとコマンド・ルーチンを使用してラベラー
10の種々のシステム・パラメータを設定する。このS
ystem Setコマンドには設定すべき特定のパラ
メータを識別する情報が含まれ、このパラメータは、ス
キャナ、自動トリガ、自動入力、データ長、複数のラベ
ル、ラベル片、通貨の符号または外国のプロンプトであ
る。System Setコマンドがスキャナのパラメ
ータを識別する場合、このコマンドには、ラベラー10
と一緒に使用しているスキャナ12の種類と走査すべき
バー・コードの種類、即ち、例えば、このバー・コード
がUPCバー・コード、Code39のバー・コード等
であるかどうかを識別する情報がまた含まれている。S
cannerInitializeコマンドを使用する
のと同じ方法でSystem Setコマンドを使用し
てスキャナ12を初期化することができる。Syste
m Setコマンドが自動トリガのパラメータを識別す
る場合、自動トリガのオプションがイネーブルされるか
ディスエーブルされるかを示す情報をこのコマンドはま
た有している。もし自動トリガのオプションがイネーブ
ルされると、ラベルの画像が印刷バッファ内に構築され
るのと同時に、ラベラー10のトリガ18の操作を必要
とすることなくラベルが印刷される。同様に、Syst
em Setコマンドが自動入力のパラメータを識別す
る場合、このコマンドは、自動入力のオプションがイネ
ーブルされるかディスエーブルされるかを識別する情報
を有している。もし自動入力のオプションがディスエー
ブルされると、情報がスキャナ12によって走査された
後、ユーザは入力キーを操作しなければならない。Sy
stemSetコマンドがデータ長のパラメータを識別
する場合、このコマンドは、ラベラー10のシステム・
データの許容長をまた有している。System Se
tコマンドが複数のラベルのパラメータを識別する場
合、このコマンドは、ラベル上に示された連続番号がイ
ンクリメントされる前に印刷すべき同一のラベルの数を
識別する情報をまた有している。System Set
コマンドがラベル片のパラメータを識別する場合このコ
マンドは、ラベラー10によって印刷すべき複写ラベル
の数を識別する情報を有している。System Se
tコマンドが通貨の符号のパラメータを識別する場合、
使用すべき特定の通貨の符号、即ち、アメリカのドルの
符号、英国のポンドの符号等を識別する情報をまた有し
ている。System Setコマンドが外国のプロン
プトのパラメータを識別する場合、このコマンドはまた
プロンプトに使用すべき外国語を識別する情報をまた有
している。スペイン語、フランス語またはドイツ語のプ
ロンプトが英語のプロンプトと同様に使用可能である。
マイクロプロセッサ110は、SystemSetコマ
ンドに応答して、ブロック900でスキャナのパラメー
タがこのコマンドで指定されているかどうかを判定し、
もし指定されていれば、このマイクロプロセッサはブロ
ック901に進み、スキャナの初期化コマンドに関して
上で説明したのと同様の方法でスキャナ12を立ち上げ
る。もしマイクロプロセッサ110がブロック902で
System Setコマンドが自動トリガのパラメー
タを有していると判定すれば、このマイクロプロセッサ
はブロック903に進み、System Setコマン
ドで指定されるように自動トリガのオプションをイネー
ブルまたはディスエーブルする。自動入力のパラメータ
がSystemSetコマンドで指定されていると、も
しマイクロプロセッサ110がブロック904で判定す
れば、このマイクロプロセッサはブロック905に進
み、この命令で指定されたように自動入力のオプション
をイネーブルまたはディスエーブルする。System
Setコマンドで指定されたパラメータはデータ長の
パラメータであると、もしマイクロプロセッサがブロッ
ク906で判定すれば、このマイクロプロセッサはブロ
ック907に進み、この命令によって指定されたように
データ長を設定する。複数のラベルのパラメータがSy
stem Setコマンドで指定されていると、もしマ
イクロプロセッサがブロック908で判定すれば、この
マイクロプロセッサはブロック909に進み、この命令
によって指定されたように複数のラベルのカウントを設
定する。ラベル片のパラメータがSystem Set
コマンドで指定されていると、もしマイクロプロセッサ
がブロック910で判定すれば、このマイクロプロセッ
サはブロック911に進み、ラベル片の数をSyste
m Setコマンドで指定された数に設定する。通貨の
符号のパラメータがSystem Setコマンドで指
定されていると、もしマイクロプロセッサがブロック9
12で判定すれば、このマイクロプロセッサはブロック
913に進み、この命令によって指定されたように適当
な通貨の符号を設定する。同様に、外国のプロンプトの
パラメータがSystem Setコマンドで指定され
ていると、もしマイクロプロセッサ110が判定すれ
ば、このマイクロプロセッサは、ブロック915に進
み、外国のプロンプトをSystem Setコマンド
で指定された言語に設定する。
【0032】図17に示すSystem Checkコ
マンドとコマンド・ルーチンを使用して、ラベラーの電
池とRAM114の状態をチェックする。このSyst
emCheckコマンドには、電池またはRAM114
をチェックすべきであるかどうかを識別する情報が含ま
れている。マイクロプロセッサ110は、システム・チ
ェック・コマンドに応答し、ブロック292でこのSy
stem Checkコマンドが電池をチェックすべき
であると指定しているか否かを先ず判定する。もし電池
のシステム・チェックを実行すべきであれば、マイクロ
プロセッサ110はブロック294に進み、この電池の
電圧を読み取る。その後、このマイクロプロセッサ11
0はブロック296に進み、この電池の電圧が低いか否
かを判定する。もしこの電池の電圧が低いと判定すれ
ば、このマイクロプロセッサ110は、アプリケーショ
ン・プログラムのインタープリタに対してリターン状態
を無効に設定するが、もしこの電池の電圧が適当である
と判定されれば、マイクロプロセッサ110は、リター
ン状態を有効に設定する。System Checkコ
マンドによって指示されたようにRAM114のシステ
ム・チェックを行うべきであると、もしマイクロプロセ
ッサがブロック292とブロック298で判定すれば、
このマイクロプロセッサ110はブロック300に進
み、RAM114内の使用可能なスペースの量を読み取
る。もし使用可能なRAMのスペースの量がブロック3
02で判定されたように1Kバイトのメモリ未満であれ
ば、マイクロプロセッサ110は、アプリケーション・
プログラムのインタープリタに対してリターン値を無効
に設定する。これ以外の場合は、マイクロプロセッサ
は、このリターン値を有効に設定する。
【0033】ラベラー10のデータ処理コマンドとコマ
ンド・ルーチンによって、作業バッファとファイルを使
用してデータをソートし、RAM114に記憶されてい
る他のデータと関連させることが可能になる。幾くつか
の処理コマンドとコマンド・ルーチンは、このデータに
ついて更に演算を行う。他の処理とコマンド・ルーチン
を使用してこれらのデータ・ファイルを管理し、一方他
のコマンドとコマンド・ルーチンは、アプリケーション
・プログラム自身を制御する。このデータ処理コマンド
とコマンド・ルーチンによって、ユーザは、RAM11
4内のデータを再構成する場合に大きな柔軟性を有し、
その結果、入力ソース12、14及び15の内の種々の
ソースから入力されたデータは何時でも選択的に関連さ
せることが可能であり、これによって関連したデータを
一緒に印刷するか、または収集したデータを後でホスト
・コンピュータによって処理する必要性を最小にするた
め、これらの関連したデータを一緒にホスト・コンピュ
ータにアップロードすることが可能になる。図18‐図
41は、データ処理コマンドとコマンド・ルーチンを示
す。
【0034】図18に示すMoveコマンドとコマンド
・ルーチンを使用して、ソース・フィールドの内容に影
響を与えること無く、このソース・フィールドから行き
先のフィールドにデータをコピーする。Moveコマン
ドには、データのソース・フィールドを識別する情報が
含まれ、ここでソース・フィールドは、入力バッファ1
34、テーブル128に記憶されているASCII文字
列の番号、リテラル値、一時バッファ118内のフィー
ルド、データ収集作業バッファ126内のフィールド、
ルックアップ・テーブル作業バッファ120内のフィー
ルドまたはヘッダ作業バッファ122内のフィールドで
ある。Moveコマンドには、データの行き先を識別す
る情報がまた含まれ、この行き先は、入力バッファ13
4、印刷バッファ124内のフィールド、一時作業バッ
ファ118内のフィールド、データ収集作業バッファ1
26内のフィールド、ルックアップ・テーブル作業バッ
ファ120内のフィールドヘッダ・バッファ122内の
フィールド、スキャナ12通信ポート15または表示装
置16である。マイクロプロセッサ110はMoveコ
マンドに応答してブロック304でこのMoveコマン
ドからソース・フィールドのデータを先ず入手する。そ
の後、マイクロプロセッサ110はブロック306でM
oveコマンドで指定された行き先が表示装置かどうか
を判定し、もし表示装置であれば、マイクロプロセッサ
110はブロック308でこのコマンドで識別されたソ
ースから表示装置16にデータのフィールドを転送し、
アプリケーション・プログラムのインタープリタに対し
てリターン値を有効に設定する。もしマイクロプロセッ
サがブロック310でMoveコマンドで指定された行
き先がスキャナ12であると判定すれば、このマイクロ
プロセッサ110はブロック312でデータをスキャナ
12に転送し、リターン値を有効に設定する。同様に、
もしマイクロプロセッサ110がMoveコマンドで指
定された行き先が通信ポート15であると判定すれば、
このマイクロプロセッサはブロック314からブロック
316に進み、Moveコマンドで指定されたソースか
ら通信ポート15にデータを転送し、リターン値を有効
に設定する。もしMoveコマンドで指定された行き先
が、表示装置16、スキャナ12または通信ポート31
4のいずれでもなければ、マイクロプロセッサ110は
ブロック318に進む。ブロック318で、マイクロプ
ロセッサ110は指定されたソース・フィールドのデー
タを指定された行き先のフィールドにコピーする。その
後、ブロック320で、マイクロプロセッサ110は、
行き先のフィールドがソース・フィールドのデータにと
って十分大きいかどうかを判定する。もしそうであれ
ば、マイクロプロセッサ110はリターン値を有効に設
定するが、もしこの行き先のフィールドが十分大きくな
ければ、マイクロプロセッサ110はリターン値を無効
に設定する。
【0035】図19に示すValidateコマンドと
コマンド・ルーチンを使用して、フィールドのチェック
・ディジットを使用するこのデータのフィールドを検査
する。このValidateコマンドには、検査すべき
フィールドを識別する情報と使用されたチェック・ディ
ジットの種類が含まれる。マイクロプロセッサ110は
Validateコマンドに応答して、このフィールド
のアドレスを入手し、ブロック322でこのフィールド
からチェック・ディジットを取り出す。その後、ブロッ
ク324で、マイクロプロセッサ110はValida
teコマンドからチェック・ディジットの種類を入手す
る。ブロック326で、マイクロプロセッサ110は、
Validateコマンドで指定されたチェック・ディ
ジットの種類と関連するチェック・ディジットのルーチ
ンを呼び出し、指定されたフィールドに対するチェック
・ディジットの値を計算する。その後、ブロック328
で、マイクロプロセッサ110は、ブロック326で計
算されたチェック・ディジットがこのデータのフィール
ドで指定されたチェック・ディジットに等しいかどうか
を判定する。もし等しくなければ、マイクロプロセッサ
110は、ブロック330で戻り値を無効に設定する。
しかし、もし計算されたチェック・ディジットがこのデ
ータのフィールドで指定されたチェック・ディジットに
等しければ、マイクロプロセッサ110は、リターン値
を有効状態に設定する。
【0036】図20に示すCompareコマンドとコ
マンド・ルーチンを使用して第1フィールドの内容を第
2フィールドの内容と比較する。更に詳しくは、第1フ
ィールドの内容がCompareコマンドで指定された
第2フィールドの内容と等しいかどうか、または第1フ
ィールドの内容がCompareコマンドで指定された
第2フィールドの内容未満であるかどうか、または第1
フィールドの内容がCompareコマンドで指定され
た第2フィールドの内容を超えるかどうか、または第1
フィールドの内容が第2フィールドの内容以下であるか
どうか、または第1フィールドの内容が第2フィールド
の内容以上であるかどうかを、上記のCompareコ
マンドが判定するかどうかを示す情報をこのCompa
reコマンドは有している。Compareコマンドで
指定された第1及び第2フィールドは、各々入力バッフ
ァ134の特定のフィールド、文字列テーブル128内
のASCII文字列、数字フィールド、一時作業バッフ
ァ118のフィールド、データ収集作業バッファ126
のフィールド、ルックアップ・テーブル作業バッファ1
20のフィールドまたはヘッダ作業バッファ122のフ
ィールドである。
【0037】Compareコマンドに応答して、マイ
クロプロセッサ110はブロック334で先ず比較され
ているフィールドが数字であるか否かを判定する。もし
比較すべきフィールドが数字であれば、マイクロプロセ
ッサはブロック336で指定されたフィールドを右から
左に比較するが、もしこの比較が数字でなければ、マイ
クロプロセッサ110はブロック338でこれらのフィ
ールドを左から右に比較する。マイクロプロセッサはブ
ロック336と338からブロック340に進み、Co
mpareコマンドで指定されたこれらのフィールドが
等しいかどうかを判定し、もし等しければ、マイクロプ
ロセッサはブロック342に進み、これらのフィールド
が等しいか、以上か、または以下であるかどうかをCo
mpareコマンドが判定すべきであったかどうかを判
定する。もしそうであれば、マイクロプロセッサ110
はリターン値を有効に設定する。これらのフィールドは
等しい、以上であるかまたは以下であるかどうかをこの
Compareコマンドが判定すべきでなかったと、も
しマイクロプロセッサ110がブロック342で判定す
れば、このマイクロプロセッサ110はリターン状態を
無効に設定する。もしマイクロプロセッサ110がブロ
ック340でこれらのフィールドは相互に等しくないと
判定すれば、このマイクロプロセッサ110はブロック
344に進み、第1フィールドは第2フィールドを超え
るかどうかを判定する。もしマイクロプロセッサが第1
フィールドは第2フィールドを超えると判定すれば、こ
のマイクロプロセッサ110はブロック346に進み、
Compareコマンドが比較対象を超えるまたは比較
対象以上であると指定したかどうかを判定し、もしそう
であれば、マイクロプロセッサはリターン状態を有効に
設定する。第1フィールドは第2フィールド未満であ
り、従って、第1フィールドは第2フィールドよりも小
さくなければならないともしマイクロプロセッサがブロ
ック344で判定すれば、このマイクロプロセッサ11
0はブロック348に進む。ブロック348で、マイク
ロプロセッサ110はCompareコマンドが対象未
満または対象以下であると指定したかどうかを判定し、
もしそうであれば、マイクロプロセッサ110はリター
ン値を有効に設定する。しかし、Compareコマン
ドが対象未満または対象以下であると指定しなかった
と、もしマイクロプロセッサ110がブロック348で
判定すれば、このマイクロプロセッサ110はリターン
値を無効状態に設定する。
【0038】図21に示すConcatenateコマ
ンドとコマンド・ルーチンを使用して、ソース・フィー
ルドのデータを行き先フィールドのデータに追加する
が、このソース・フィールドの内容には影響を与えな
い。Concatenateコマンドには、このデータ
のソース・フィールドを識別する情報とこのデータの行
き先フィールドを識別する情報が含まれている。このデ
ータのソース・フィールドは、入力バッファ134、A
SCII文字列の番号、リテラル値、一時作業バッファ
118内のフィールド、データ収集バッファ126内の
フィールド、ルックアップ・テーブル作業バッファ12
0内のフィールドまたはヘッダ作業バッファ122内の
フィールドである。このデータの行き先フィールドは、
入力バッファ134、印刷バッファ124のフィールド
一時作業バッファ118のフィールド、データ収集作業
バッファ126のフィールド、ルックアップ・テーブル
作業バッファ120のフィールドまたはヘッダ作業バッ
ファ122のフィールドである。マイクロプロセッサ1
10は、Concatenateコマンドに応答して、
ブロック350でポインタをConcatenateコ
マンドで指定された行き先フィールドのデータの端部を
通過させる。その後、ブロック352で、マイクロプロ
セッサ110は、Concatenateコマンドで識
別されたソース・フィールドから指定された行き先フィ
ールドにデータをコピーする。ブロック354で、マイ
クロプロセッサ110は、このソース・フィールドから
のデータのための行き先フィールドに空間があったかど
うかを判定し、もしなければ、このマイクロプロセッサ
110は、リターン値を無効状態に設定する。これ以外
の場合は、マイクロプロセッサ110は、リターン値を
有効状態に設定する。
【0039】図22に示すRight Stringコ
マンドとコマンド・ルーチンを使用して、指定された第
1フィールド内の文字列から指定された数の一番右側の
文字を取り出し、これらの文字を指定された第2フィー
ルドにコピーする。このStringコマンドには、取
り出すべき一番右側の文字の数を識別する情報と、一時
作業バッファ118、データ収集作業バッファ126、
ルックアップ・テーブル作業バッファ120及びヘッダ
作業バッファ122である第1及び第2フィールドの識
別が含まれている。第1フィールドは、また入力バッフ
ァ133のフィールドである。マイクロプロセッサ11
0はRight Stringコマンドに応答して、ブ
ロック356でこのRight Stringコマンド
で指定された第1フィールド内の最後の位置に先ず移動
する。その後、ブロック358でマイクロプロセッサ1
10はこの第1フィールドから指定された数の文字をコ
ピーし、ブロック360でコピーしたデータを指定され
た第2フィールドに移動する。ブロック362で、マイ
クロプロセッサ110は、この第1フィールド内のデー
タに対して第2フィールドには十分なスペースがあった
かどうかを判定する。もしなければマイクロプロセッサ
110は、リターン値を無効状態に設定する。これ以外
の場合には、このリターン値は有効状態に設定される。
【0040】図23に示すLeft Stringコマ
ンドとコマンド・ルーチンは、指定された第1領域から
指定された数の一番左側の文字を取り出してこれらの文
字を指定された第2領域にコピーする点を除いて、基本
的にRight Stringコマンドと同じである。
更に詳しくは、マイクロプロセッサ110はLeftS
tringコマンドに応答して、Left Strin
gコマンドで指定された第1フィールドの指定された一
番左側の文字をコピーし、ブロック366でコピーされ
た文字をLeft Stringコマンドで指定された
第2領域に移動する。その後、マイクロプロセッサ11
0は、この第1フィールドからのデータに対して第2フ
ィールドには十分な空間があったかどうかを判定し、も
しなければ、マイクロプロセッサ110はリターン値を
無効状態に設定する。これ以外の場合は、マイクロプロ
セッサ110はリターン値を有効状態に設定する。
【0041】図24に示すMid Stringコマン
ドとコマンド・ルーチンはRight String及
びLeft Stringコマンドとコマンド・ルーチ
ンと同じであるが、第1フィールド内の指定された中間
位置の文字を指定された第2フィールドに移動するため
に使用する。このMid Stringコマンドには、
これらの第1及び第2フィールドを識別する情報が含ま
れているが、これらのフィールドは右側の文字列につい
て上で論じたバッファからのいずれのフィールドでもよ
い。Mid Stringコマンドには、文字を取り出
すべき第1フィールドのスタート位置とコピーすべき文
字の数を識別する情報がまた含まれている。更に詳しく
は、マイクロプロセッサ110はMid String
コマンドに応答して、ブロック370で指定された第1
フィールド内のこのMid Stringコマンドで指
定された位置に移動し、文字のコピーを開始する。その
後、マイクロプロセッサは、ブロック372でこの第1
フィールドから指定位置で始まる指定された数の文字を
コピーし、ブロック374でコピーされた文字を指定さ
れた第2フィールドに移動する。その後、マイクロプロ
セッサは、ブロック376で第1フィールドからコピー
された文字に対して第2フィールドに十分な空間があっ
たかどうかを判定する。もしなければ、マイクロプロセ
ッサ110は、リターン値を無効状態に設定し、これ以
外の場合、このリターン値は、有効状態に設定される。
【0042】図25に示すUpper Caseコマン
ドとコマンド・ルーチンを使用して、小文字を大文字に
変換し、この場合、このUpper Caseコマンド
は変換すべきフィールドを指定し、このフィールドは、
入力バッファ134、一時バッファ118、データ収集
作業バッファ126、ルックアップ・テーブル作業バッ
ファ120またはヘッダ作業バッファ122内のフィー
ルドである。更に詳しくは、マイクロプロセッサ110
はUpper Caseコマンドに応答してブロック3
78でこのUpper Caseコマンドから指定され
たフィールドを入手する。その後、ブロック380で、
マイクロプロセッサ110はこのフィールドから1つの
文字を入手し、ポインタをこのフィールド内の次の文字
にインクリメントする。ブロック382で、マイクロプ
ロセッサ110は、ブロック380で入手した文字は小
文字のaから小文字のz迄の文字であるかどうかを判定
し、もしそうであれば、このマイクロプロセッサ110
はこの文字をブロック384で大文字に変換する。次
に、マイクロプロセッサはブロック386で指定された
領域内の全ての英字は大文字化されているかどうかを判
定し、もしそうでなければ、ブロック380に戻る。全
ての英字は大文字化されている場合、マイクロプロセッ
サ110はブロック388に進み、リターン値を有効状
態に設定する。
【0043】Field Lengthコマンドとコマ
ンド・ルーチンを使用して指定されたソース・フィール
ドの内容の長さを指定された行き先フィールドに載置す
る。このField Lengthコマンドで識別され
たソース・フィールドは、一時作業バッファ118、デ
ータ収集作業バッファ126、ルックアップ・テーブル
作業バッファ120、ヘッダ作業バッファ122または
印刷作業バッファ124からのフィールドである。マイ
クロプロセッサはField Lengthコマンドに
応答して指定されたソース・フィールド内の文字数を入
手し、このマイクロプロセッサ110はブロック920
でこの数を指定された行き先フィールド内にに記憶す
る。その後、マイクロプロセッサは、ブロック922で
この行き先フィールド内に記憶された値がこのフィール
ドの長さをオーバフローしたかどうかを判定する。もし
オーバフローすれば、マイクロプロセッサはリターン値
を無効に設定する。これ以外の場合はこのリターン値は
有効に設定される。
【0044】図64に示すStripコマンドとコマン
ド・ルーチンを使用して、このコマンドで指定された多
数の文字を第1フィールドから切り離し、残りの第1フ
ィールドの文字を第2フィールドに記憶する。このSt
ripコマンドには、これらの文字は右側から切り離す
べきか左側から切り離すべきかを識別する情報と切り離
すべき文字の数を識別する情報が含まれ、この数は、1
乃至64のいずれの数でもよい。Stripコマンドで
指定された第1フィールドは、入力バッファ133、一
時作業バッファ118、データ収集作業バッファ12
6、ルックアップ・テーブル作業バッファ120または
ヘッダ作業バッファ122のフィールドである。第2フ
ィールドは、一時作業バッファ118、データ収集作業
バッファ126、ルックアップ・テーブル作業バッファ
120またはヘッダ作業バッファ122のフィールドで
ある。マイクロプロセッサ110は、このStripコ
マンドに応答して、ブロック930でこのコマンドで指
定されたように切り離すべき文字の数を入手する。その
後、マイクロプロセッサ110は、ブロック931で指
定された第1フィールド内のデータを一時作業バッファ
118にコピーする。ブロック932で、マイクロプロ
セッサ110は、これらの文字は右側から切り離すべき
であるかどうかを判定し、もしそうでなければ、このマ
イクロプロセッサはブロック933に進み、一時作業バ
ッファに記憶されているデータ・フィールドの指定され
た数の文字を左側から切り離す。これ以外の場合には、
マイクロプロセッサは、ブロック932からブロック9
34に進み、一時作業バッファに記憶されているデータ
・フィールドから指定された数の文字を右側から切り離
す。ブロック935で、マイクロプロセッサ110は、
一時作業バッファに記憶されている第1フィールドの残
りの文字をStripコマンドで指定された第2フィー
ルドに移動させる。ブロック936で、マイクロプロセ
ッサ110は、このデータが指定された第2フィールド
をオーバフローしたかどうかを判定する。もしそうであ
れば、マイクロプロセッサ110は、リターン値を無効
状態に設定する。これ以外の場合には、マイクロプロセ
ッサは、このリターン値を有効状態に設定する。
【0045】図26に示すAddコマンドとコマンド・
ルーチンを使用して、いずれもAddコマンドで識別さ
れた第1フィールドと第2フィールドからの数値を加え
る。これらの第1及び第2フィールドは、一時作業バッ
ファ118、データ収集作業バッファ126、ルックア
ップ・テーブル・バッファ120またはヘッダ作業バッ
ファ122のいずれのフィールドでもよい。更に、第1
フィールドは、Addコマンドで指定されたリテラル値
でもよい。この加算動作の結果は第2フィールドにセー
ブされる。更に詳しくは、マイクロプロセッサ110は
Addコマンドに応答して、ブロック390でこのコマ
ンドで指定された第1フィールドの内容を指定された第
2フィールドの内容に加え、この合計は指定された第2
フィールドにセーブされる。その後、マイクロプロセッ
サ110は、この合計がフィールドの長さをオーバフロ
ーしたかどうかをブロック392で判定し、もしそうで
あれば、リターン状態を無効に設定する。これ以外の場
合には、このリターン値は有効に設定される。
【0046】図27に示すSubtractコマンドと
コマンド・ルーチンを使用して、指定された第1フィー
ルドの内容を指定された第2フィールドの内容から差
引、この結果を指定された第2フィールドに記憶する。
Subtractコマンド用の第1及び第2フィールド
は、Addコマンドに関して上で論じたように、同じバ
ッファから選択され、この場合、第1フィールドは、ま
た指定されたリテラル値である。マイクロプロセッサ1
10はSubtractコマンドに応答して、ブロック
394で指定された第1フィールドの内容w指定された
第2フィールドの内容から差し引く。その後、ブロック
396で、もしあれば、先頭のゼロを除去し、ブロック
398で、マイクロプロセッサは、第2フィールド内の
結果として得られた値が負になったかどうかを判定す
る。もしそうであれば、リターン値は無効状態に設定さ
れ、これ以外の場合には、このリターン値は有効状態に
設定される。
【0047】図28に示すIncrementコマンド
とコマンド・ルーチンは、Addコマンドとコマンド・
ルーチンと同じであるが、指定された数字フィールドに
1をインクリメントするために使用する。このIncr
ementコマンドには、インクリメントすべきフィー
ルドの識別が含まれ、このフィールドは、一時作業バッ
ファ118、データ収集作業バッファ126、ルックア
ップ・テーブル作業バッファ120またはヘッダ作業バ
ッファ122からのフィールドである。更に詳しくは、
マイクロプロセッサ110はIncrementコマン
ドに応答して、ブロック400で指定された第2フィー
ルドの内容に1を加える。その後、ブロック402で、
マイクロプロセッサは、この値が指定された第2フィー
ルドの長さをオーバフローしたかどうかを判定し、もし
そうであれば、リターン値を無効に設定する。これ以外
の場合には、マイクロプロセッサ110はリターン値を
有効状態に設定する。
【0048】図29に示すDecrementコマンド
とコマンド・ルーチンは、Subtractコマンドと
コマンド・ルーチンと同じであるが、指定された数字フ
ィールドを1だけデクリメントするために使用する。こ
のDecrementコマンドには、第2フィールドの
識別が含まれ、このフィールドは、一時作業バッファ1
18、データ収集バッファ126、ルックアップ・テー
ブル作業バッファ120またはヘッダ作業バッファ12
2のフィールドである。マイクロプロセッサ110はD
ecrementコマンドに応答して、ブロック404
でDecrementコマンドで指定された第2フィー
ルドの内容から1を差し引く。その後、ブロック406
で、マイクロプロセッサ110は、もしあれば、先頭の
ゼロを除去する。ブロック408でマイクロプロセッサ
は、第2フィールドの値が負になったかどうかを判定
し、もしそうであれば、リターン値を無効状態に設定す
る。これ以外の場合には、マイクロプロセッサ110は
リターン値を有効状態に設定する。
【0049】図63に示すDivideコマンドとコマ
ンド・ルーチンを使用して、指定された第1フィールド
の内容を指定された第2フィールドの内容で除する。こ
れは整数除算の演算であり、この演算の結果を切り上げ
て丸め、指定された第2フィールドに記憶する。第1フ
ィールドは、一時作業バッファ118、データ収集作業
バッファ126、ルックアップ・テーブル作業バッファ
120またはヘッダ作業バッファ122からのフィール
ドである。この第1フィールドは、また指定された数値
でもよい。第2フィールドは、一時作業バッファ11
8、データ収集作業バッファ126、ルックアップ・テ
ーブル作業バッファ120またはヘッダ作業バッファ1
22の指定されたフィールドである。マイクロプロセッ
サ110はDivideコマンドに応答して、ブロック
924で指定された第1フィールドの内容を指定された
第2フィールドの内容で除する。ブロック925で、マ
イクロプロセッサ110は、この結果を第2フィールド
に記憶する。ブロック926で、マイクロプロセッサ1
10は、この値が第2フィールドをオーバフローしたか
どうかを判定し、もしそうであれば、このマイクロプロ
セッサはリターン値を無効状態に設定する。これ以外の
場合には、マイクロプロセッサは、リターン値を有効状
態に設定する。
【0050】図65に示すMultiplyコマンドと
コマンド・ルーチンを使用して、指定された第1フィー
ルドの内容を指定された第2フィールドの内容で乗じ、
この結果を第2の指定されたフィールドにセーブする。
第1フィールドは、一時作業バッファ118、データ収
集作業バッファ126、ルックアップ・テーブル作業バ
ッファ120またはヘッダ作業バッファ122からのフ
ィールドである。この第1フィールドは、また指定され
た数値でもよい。第2フィールドは、一時作業バッファ
118、データ収集作業バッファ126、ルックアップ
・テーブル作業バッファ120またはヘッダ作業バッフ
ァ122からのフィールドである。Multiplyコ
マンドに応答して、マイクロプロセッサ110は、ブロ
ック938で第1フィールドの内容を第2フィールドの
内容によって乗じる。ブロック940で、マイクロプロ
セッサ110は、これらの2つのフィールドの積を第2
フィールドに記憶する。次に、マイクロプロセッサ11
0は、ブロック942でこの積が第2フィールドをオー
バフローしたかどうかを判定する。もしそうであれば、
リターン値を無効に設定する。これ以外の場合には、こ
のリターン値を有効に設定する。図30と図31に示す
Clearコマンドとコマンド・ルーチンを使用して、
作業バッファ、ファイル、表示装置16または指定され
たフィールドをクリアする。更に詳しくは、このCle
arコマンドには、印刷バッファ124、データ収集作
業バッファ126、全データ収集ファイル132、ルッ
クアップ・テーブル作業バッファ120、全ルックアッ
プ・テーブル・ファイル130、一時作業バッファ11
8、ヘッダ・バッファ122、入力バッファ134、表
示装置16、または一時作業バッファ118、データ収
集作業バッファ126、ルックアップ・テーブル作業バ
ッファ120、ヘッダ作業バッファ122または印刷バ
ッファ124内の指定されたフィールドのようなクリア
すべきラベラー要素の識別が含まれる。更に詳しくは、
マイクロプロセッサ110はClearコマンドに応答
して、ブロック410でこのClearコマンドがクリ
アすべき特定のフィールドを指定するかどうかを先ず判
定し、もしそうであれば、このマイクロプロセッサはブ
ロック412に進み、この指定されたフィールドをクリ
アし、その後、リターン値を有効状態に設定する。もし
マイクロプロセッサ110が、ブロック414でCle
arコマンドはデータ収集バッファ126を指定すると
判定すれば、このマイクロプロセッサ110は、ブロッ
ク416でこのデータ収集作業バッファ126のアドレ
スを入手し、このバッファをクリアする。同様に、もし
マイクロプロセッサ110が、各ブロック418、42
2、426及び430でClearコマンドは一時作業
バッファ118または印刷バッファ124または入力バ
ッファ134またはルックアップ・テーブル作業バッフ
ァ120を指定すると判定すれば、このマイクロプロセ
ッサ110は、各ブロック420、424、428また
は432でこのClearコマンドによって指定された
バッファのアドレスを入手し、このバッファをクリアす
る。もしマイクロプロセッサ110が、ブロック434
でClearコマンドはデータ収集ファイル132をク
リアすべきであると指定したと判定すると、このマイク
ロプロセッサはブロック436に進み、全てのデータ収
集ファイルのポインタをリセットし、このファイルをク
リアする。同様に、もしマイクロプロセッサ110が、
ブロック438でClearコマンドはルックアップ・
テーブル・ファイル130をクリアすべきであると指定
したと判定すると、このマイクロプロセッサはブロック
440に進み、全てのルックアップ・テーブルのポイン
タをリセットし、このファイル130をクリアする。も
しマイクロプロセッサ110が、表示装置をクリアすべ
きであるとブロック442で判定すれば、このマイクロ
プロセッサはブロック444に進んでこの表示装置をク
リアし、その後リターン値を有効状態に設定する。 図
32に示すReadコマンドとコマンド・ルーチンを使
用して、データ収集ファイル132またはルックアップ
・テーブル・ファイルのいずれかから適当な作業バッフ
ァに記録を移動する。このReadコマンドには、デー
タ収集の読み取り、ヘッダの読み取りまたはルックアッ
プの読み取りを実行すべきかどうかを識別する情報が含
まれている。更に詳しくは、マイクロプロセッサ110
はReadコマンドに応答して、ブロック446でこの
Readコマンドがデータ収集ファイルを指定している
かどうかを先ず判定する。もしそうであれば、マイクロ
プロセッサ110は、ブロック448に進み、データ収
集ファイルからポインタの指し示しているデータ記録を
データ収集作業バッファ126にコピーし、このデータ
収集作業バッファ126には、このデータ収集記録がブ
ロック450でセーブされる。マイクロプロセッサがブ
ロック466で判定するように、もしこの読み取り動作
が成功すれば、マイクロプロセッサは、ブロック468
でリターン値を有効状態に設定し、これ以外の場合は、
このリターン値はブロック464で無効状態に設定され
る。もしマイクロプロセッサ110が、ブロック452
でReadコマンドがヘッダ作業バッファを識別したと
判定すれば、このマイクロプロセッサ110はブロック
454に進む。このブロック454で、マイクロプロセ
ッサ110は、データ収集ファイル132で指し示され
たヘッダの記録を読み取り、ブロック456でこの読み
取ったヘッダの記録をヘッダ作業バッファ122にコピ
ーしてセーブする。その後、マイクロプロセッサ110
はブロック466に進む。もしマイクロプロセッサ11
0が、ブロック458でReadコマンドがルックアッ
プ・ファイル130を識別したと判定すれば、このマイ
クロプロセッサはブロック460に進む。このブロック
460で、マイクロプロセッサ110は、指し示されい
るファイル130からルックアップ・テーブルの記録を
読み取り、ブロック462で、マイクロプロセッサ11
0は、このルックアップ記録をルックアップ作業バッフ
ァ120にセーブする。その後、マイクロプロセッサ1
10はブロック466に進む。
【0051】図33に示すWrite Appendコ
マンドとコマンド・ルーチンを使用して、指定された作
業バッファの内容をデータ収集ファイル132にセーブ
する。このWrite Appendコマンドには、ヘ
ッダ・バッファまたはデータ収集バッファ126の内容
をデータ収集ファイル132にセーブすべきかどうかを
識別する情報が含まれている。マイクロプロセッサ11
0はWrite Appendコマンドに応答して、ブ
ロック470でこのコマンドがデータ収集作業バッファ
を指定したかどうかを先ず判定する。もしそうであれ
ば、マイクロプロセッサ110は、ブロック472に進
み、ポインタをデータ収集ファイル132の終端に位置
させる。その後、ブロック474で、このマイクロプロ
セッサ110は、データ収集作業バッファ126のデー
タを入手し、ブロック476でこのデータをデータ収集
ファイル132に書き込み、このデータはブロック47
2で決定したファイル132内の位置から始まる。もし
マイクロプロセッサ110が、ブロック478でWri
te Appendコマンドはヘッダ作業バッファ12
2を指定したと判定すれば、このマイクロプロセッサは
ブロック480に進む。ブロック480で、マイクロプ
ロセッサ110は、ポインタをデータ収集ファイル13
2の端部に位置させる。その後、ブロック482で、マ
イクロプロセッサ110は、ヘッダ作業バッファ122
内のデータを取得し、ブロック484でこのデータをヘ
ッダ作業バッファ122からデータ収集ファイル321
に書き込む。もしマイクロプロセッサ110がブロック
486でWriteコマンドは成功したと判定すれば、
このマイクロプロセッサは、リターン値を有効状態に設
定し、これ以外の場合には、このリターン値は無効状態
に設定される。
【0052】図34に示すWrite Current
コマンドとコマンド・ルーチンを使用して、データ収集
ファイル132またはルックアップ・テーブル・ファイ
ル130の指定された作業バッファを現在のポインタの
位置にセーブする。この命令によって、編集型の機能を
行うことが可能になる。Write Currentコ
マンドには、ルックアップ・テーブル作業バッファ12
0、データ収集作業バッファ126またはヘッダ作業バ
ッファ122のようなセーブすべき作業バッファを識別
する情報が含まれている。マイクロプロセッサ110は
Write Currentコマンドに応答して、ブロ
ック488でこのWrite Currentコマンド
はデータ収集作業バッファ126を指定したかどうかを
先ず判定する。もしそうであれば、マイクロプロセッサ
110はブロック490に進み、現在指し示されている
記録はデータ収集記録であるかどうかを判定し、もしそ
うであれば、このマイクロプロセッサは、ブロック49
2でデータ収集作業バッファから記録を入手し、ブロッ
ク494でこの記録をデータ収集ファイル132に書き
込む。もしマイクロプロセッサ110が、ブロック49
6でWrite Currentコマンドはヘッダ作業
バッファ122を指定したかどうかを判定すれば、この
マイクロプロセッサ110は、ブロック498に進む。
ブロック498で、マイクロプロセッサ110は、現在
指し示されている記録はヘッダ作業バッファ122内の
ヘッダ記録であるかどうかを判定し、もしそうであれ
ば、このマイクロプロセッサは、ブロック499に進ん
でこのヘッダ記録を入手し、ブロック500でこのヘッ
ダ記録をヘッダ作業バッファ122からデータ収集ファ
イル132に書き込む。もしマイクロプロセッサ110
が、ブロック502でWrite Currentコマ
ンドはルックアップ・テーブル作業バッファ120を指
定したかどうかを判定すれば、このマイクロプロセッサ
110は、ブロック504に進む。ブロック504で、
マイクロプロセッサ110は、指し示されている現在の
記録はルックアップ・テーブル作業バッファ120内の
記録であるかどうかを判定し、もしそうであれば、この
マイクロプロセッサは、ブロック506に進んでこの記
録をルックアップ・テーブル作業バッファ120から入
手し、この記録をブロック508でルックアップ・テー
ブル・ファイル130に書き込む。
【0053】図35に示すQueryコマンドとコマン
ド・ルーチンを使用して、データ収集ファイル132ま
たはルックアップ・ファイル120を検索し、特定の値
を含む記録を見つける。このコマンドは、入力ソース1
2、14または15のいずれかから入力されたデータを
検査するために使用することができる。このQuery
コマンドには、照会の種類並びに第1フィールドと第2
フィールドを識別する情報が含まれている。この第1フ
ィールドは、入力バッファ134から取得してもよく、
または、これは、テーブル128からのASCII文字
列または数字列、または一時作業バッファ118、デー
タ収集作業バッファ126、ヘッダ作業バッファ122
またはルックアップ・テーブル作業バッファ120の特
定のフィールドである。このQueryコマンドで指定
された第2フィールドは、検索すべきフィールドであ
る。この第2フィールドは、ルックアップ・てーぶ・フ
ァイル130、データ収集ファイル132またはヘッダ
作業バッファ122の特定のフィールドを識別する。こ
の種の照会は、指定された第2フィールドの内容が指定
された第1フィールドの内容と等しい第1記録を探し出
す等価照会、指定された第2フィールドの内容が指定さ
れた第1フィールドの内容未満である第1記録を探し出
す未満照会、指定された第2フィールドの内容が指定さ
れた第1フィールドの内容を超える第1記録を探し出す
超照会、指定された第2フィールドの内容が指定された
第1フィールドの内容以下である第1記録を探し出す以
下照会、または指定された第2フィールドの内容が指定
された第1フィールドの内容以上である第1記録を探し
出す以上照会である。
【0054】マイクロプロセッサ110はQueryコ
マンドに応答して、ブロック510で第2フィールド、
即ち、検索すべきフィールドがデータ収集ファイル13
2またはルックアップ・テーブル・ファイル130を指
定しているかどうかを判定する。もしQueryコマン
ドで指定されたこの第2フィールドがデータ収集ファイ
ル132であれば、マイクロプロセッサ110は、ブロ
ック514に進み、ポインタを初期化してこのデータ収
集ファイル132を検索する。もしルックアップ・テー
ブル・ファイル130を検索すべきであれば、マイクロ
プロセッサ110は、ブロック512に進み、照会コマ
ンドによる検索のためにルックアップ・テーブル・ファ
イル130を立ちあげる。ブロック512と514か
ら、マイクロプロセッサ110はブロック516に進
み、検索中のファイル132または130の検索が終了
したかどうかを判定する。もし終了していなければ、マ
イクロプロセッサ110は、ブロック518に進んでポ
インタが正しい記録の種類を指し示しているかどうかを
判定し、もしそうでなければ、このマイクロプロセッサ
は、ブロック520進んでこのポインタをインクリメン
トして次の記録を指し示す。もし指し示されている記録
の種類が正しければ、マイクロプロセッサは、ブロック
522に進み、照会コマンドで行われるべき照会の種類
によって指定された比較を実行する。その後、ブロック
524で、マイクロプロセッサ110は、指し示されて
いる記録は照会の基準を満足するかどうかを判定し、も
し満足すれば、マイクロプロセッサ110はリターン値
を有効に設定する。
【0055】図36に示すSeekコマンドとコマンド
・ルーチンを使用して、ポインタを指定されたファイル
内に位置させる。このSeekコマンドには、データ収
集ファイル123またはルックアップ・テーブル・ファ
イル130を識別する情報とファイルの始点、ファイル
の終点、現在のポインタの位置に対してこのファイルの
次の記録または前の記録にポインタを位置させるべきか
どうかを識別する情報を有している。マイクロプロセッ
サ110はSeekコマンドに応答して、ブロック52
6で指定されたファイルはデータ収集ファイル132で
あるかどうかを先ず判定し、もしそうであれば、このマ
イクロプロセッサは、ブロック530に進み、データ収
集ファイルの探索動作を立ち上げる。これ以外の場合に
は、マイクロプロセッサはブロック526から528に
進み、ルック・ファイルの探索動作を立ち上げる。ブロ
ック528と530のいずれかから、マイクロプロセッ
サはブロック532に進む。ブロック532で、マイク
ロプロセッサ110は、Seekコマンドがポインタは
指定されたファイルの始点に位置すべきであることを識
別するかどうかを判定し、もしそうであれば、マイクロ
プロセッサは、ブロック534でファイルのポインタを
このファイルの始点に移動する。その後、マイクロプロ
セッサ110は、リターン値を有効に設定する。もしマ
イクロプロセッサが、ブロック536でSeekコマン
ドがポインタは指定されたファイルの終点に位置すべき
であると指定していると判定すれば、このマイクロプロ
セッサは、ブロック538でファイルのポインタを指定
されたファイルの最後の記録に移動する。もしマイクロ
プロセッサ110が、ブロック540でSeekコマン
ドが次の記録を指定していると判定すれば、このマイク
ロプロセッサはブロック542に進む。ブロック542
で、マイクロプロセッサは、現在のポインタの位置が最
後の記録にあるかどうかを判定し、もしそうであれば、
このマイクロプロセッサはリターン値を無効に設定す
る。もし現在のポインタの位置が指定されたファイルの
最後の記録を指し示していなければ、マイクロプロセッ
サは、ブロック544でポインタをこのファイルの次の
記録に移動する。もしマイクロプロセッサが、ブロック
546でSeekコマンドが前の記録を指定していると
判定すれば、このマイクロプロセッサは、ブロック54
8に移動し、現在のポインタの位置が指定されたファイ
ルの第1記録を指し示しているかどうかを判定する。も
しそうであれば、このマイクロプロセッサはリターン値
を無効に設定する。これ以外の場合には、マイクロプロ
セッサはブロック548からブロック550に進み、ポ
インタをその現在の位置から前の記録に移動する。
【0056】図37に示すExitコマンドとコマンド
・ルーチンを使用して、アプリケーション・プログラム
を抜ける。このExitコマンドには、このアプリケー
ション・プログラムに再び入ると、このExitコマン
ドの直後のコマンド線でこのアプリケーション・プログ
ラムの実行の再開を可能にする中断オプションを含むこ
とができる。もしこの中断オプションがExitコマン
ドで指定されなければ、プログラムの実行は、このプロ
グラムに再び入った場合に、このアプリケーション・プ
ログラムの第1線で再開される。更に詳しくは、マイク
ロプロセッサ110はブロック522で受け取ったEx
itコマンドに応答して、ブロック544で中断オプシ
ョンがこのコマンドで指定されているかどうかを判定す
る。もしこの中断オプションがExitコマンドで指定
されていれば、マイクロプロセッサ110は、ブロック
558に進み、中断フラグを有する出口を設定する。そ
の後、マイクロプロセッサ110は終了フラグをブロッ
ク560で設定する。アプリケーションのインタプリタ
はこの中断フラグを有する出口に応答し、上に論じたよ
うに現在位置をアプリケーション・プログラムにセーブ
する。もしこの中断オプションがExitコマンドで指
定されていなければ、マイクロプロセッサ110は、ブ
ロック554からブロック556に進む。ブロック55
6で、マイクロプロセッサ110は、カレント・スクリ
プト・ポジションを以下で詳細に論じるようにゼロに再
初期化する。
【0057】図38に示すCallコマンドとコマンド
・ルーチンによって、サブルーチンを呼び出す方法が提
供される。Callコマンドに応答して、マイクロプロ
セッサ110は、ブロック562で呼び出しのカウント
は25回以上であるかどうかを判定する。ラベラー10
は実行することのできる呼び出し数を25回に制限し、
その結果、もし呼び出しのカウントが新しいCallコ
マンドに応答して25回以上であれば、マイクロプロセ
ッサ110は、ブロック562からブロック568に進
み、呼び出しオーバロード・エラーを発生する。その
後、マイクロプロセッサは、ブロック570に進み、カ
レント・スクリプト・ポジションをゼロに再初期化し、
ブロック572で終了フラグを設定し、リターン値を無
効に設定する。しかし、もし呼び出しカウントが25回
未満であれば、マイクロプロセッサは、ブロック564
に進み、この呼び出しカウントをインクリメントし、C
allコマンドで指定された線の番号を呼び出して実行
する。呼び出しカウントは、現在実行中のアプリケーシ
ョン・プログラムの線の位置を表す値を記憶しているカ
レント・スクリプト・ポジションのアレイの特定のロケ
ーションを示すことに留意すること。Callコマンド
を実行すべきである場合、呼び出しカウントをインクリ
メントし、カレント・スクリプト・ポジションのアレイ
内の次の要素を示すが、この場合、このカレント・スク
リプト・ポジションのアレイの先行位置に記憶されてい
る値が保存され、その結果、呼び出しコマンド内で指定
されたサブルーチンのコードの複数の線を実行した後、
Returnコマンドを使用することによって、Cal
lコマンドに続くアプリケーション・プログラム内の次
のコマンドでこのアプリケーション・プログラムの実行
を再開することができる。更に詳しくは、図39に示す
Returnコマンドは、ブロック574で呼び出しカ
ウントの変数をデクリメントすることによってCall
コマンドの逆の動作を実行し、アプリケーション・プロ
グラムを以前のカレント・スクリプト・ポジションに戻
す。もしReturnコマンドを実行する前にCall
コマンドが実行されなければ、システム・ラーは発生さ
れないことに留意すること。
【0058】図40に示すJumpコマンドとコマンド
・ルーチンによって、指定された線の番号にプログラム
をジャンプすることができる方法が提供される。更に詳
しくは、マイクロプロセッサ110は、ブロック576
でこのコマンドで指定された線の番号にジャンプするジ
ャンプ・コマンドに応答する。図41は、Delayコ
マンドとコマンド・ルーチンを示す。このDelayコ
マンドを使用して、このコマンドで指定された時間間隔
の間アプリケーションの実行を遅延させ、ここでこの遅
延時間は0.1秒乃至9.9秒である。Delayコマ
ンドに応答して、マイクロプロセッサ110は、ブロッ
ク578で遅延コマンドから遅延の長さを入手し、ブロ
ック580で指定時間の間アプリケーションを遅延させ
る。その後、ブロック578で、マイクロプロセッサ1
10はリターン値を有効に設定する。
【0059】図42‐図45に示すUpload/do
wnlod処理ルーチンは、情報のホスト・コンピュー
タへのアップロード及び作業バッファのコンフィギュレ
ーション記録並びにルックアップ・テーブル・ファイル
130と新しいアプリケーション・プログラムをRAM
11に記憶するためのダウンロード即ち受け取りを制御
する。更に詳しくは、アップロード処理の期間中、マイ
クロプロセッサ110は、ブロック601で印刷フォー
マットをアップロードすべきかどうかを判定する。もし
そうであれば、ブロック603で、マイクロプロセッサ
110は、印刷フォーマット・バッファの内容を入手す
る。次に、ブロック619でこのデータをアップロード
のためにフォーマットし、ブロック621で通信ポート
15を介してこのデータをホスト・コンピュータに転送
する。その後、マイクロプロセッサはブロック600に
進む。もしマイクロプロセッサが、同様に各ブロック6
05、609、613及び615でチェック・ディジッ
トの記録、コスト・コードの記録、ルックアップ・テー
ブルまたはデータ収集ファイルをアップロードすべきで
あると判定すれば、このマイクロプロセッサ110は、
各ブロック603、607、611、623または61
7に進み、アップロードすべきデータを入手する。その
後、このマイクロプロセッサはブロック619と621
に進み、取り出したデータをアップロードのためにフォ
ーマットし、このデータをホスト・コンピュータに転送
する。
【0060】パケットをダウンロードするように通信ポ
ート15を介してホスト・コンピュータから要求を受け
取ると、マイクロプロセッサ110は、ブロック600
で状態フラグを有効に設定し、ブロック602に進んで
ダウンロードされたパケットを待機する。このパケット
を受け取ると、マイクロプロセッサは、ブロック604
で印刷フォーマットがラベラー10にダウンロード中で
あるかどうかを判定し、もしそうであれば、ブロック6
06に進み、この印刷フォーマットが有効であるかどう
かを判定する。もし有効でなければ、マイクロプロセッ
サは、ブロック610で状態フラグを無効に設定する。
しかし、もしこの印刷フォーマットが有効であれば、マ
イクロプロセッサはブロック608に進み、この印刷フ
ォーマットを印刷フォーマット・バッファ142にセー
ブする。マイクロプロセッサはブロック608からブロ
ック609に進み、ダウンロードの状態を通信ポート1
5を介してホスト・コンピュータに戻す。もしマイクロ
プロセッサが、ブロック612でチェック・ディジット
・スキームがダウンロード中であると判定すれば、この
マイクロプロセッサはブロック614に進み、このスキ
ームが有効かどうかを判定する。もしこれが有効であれ
ば、マイクロプロセッサはブロック616に進み、この
チェック・ディジット・スキームをRAM114にセー
ブし、これ以外の場合には、状態フラグをブロック61
8で無効に設定する。もしマイクロプロセッサが、ブロ
ック620でコスト・コード記録がダウンロード中であ
ると判定すれば、このマイクロプロセッサはブロック6
22に進み、これらの記録が有効であるかどうかを判定
する。もしこれらの記録が有効であれば、マイクロプロ
セッサは、ブロック624でこのコスト・コード記録を
RAM114にセーブする。これ以外の場合には、マイ
クロプロセッサは、ブロック626で状態フラグを無効
に設定する。ブロック627で、マイクロプロセッサ
は、作業バッファ・コンフィギュレーション記録がダウ
ンロード中であるかどうかを判定する。もしこれらの記
録がダウンロード中であれば、マイクロプロセッサは、
ブロック627からブロック628に進んで作業バッフ
ァの定義が前に述べたフォーマットであるかどうかを判
定し、もしそうでなければ、このマイクロプロセッサ
は、ブロック632で状態フラグを無効に設定する。も
しこの作業バッファの定義が有効であれば、マイクロプ
ロセッサは、ブロック630に進んでこれらの作業バッ
ファをRAM114内に構築する。
【0061】図46‐図47に示すように、作業バッフ
ァを構築する要求を受け取れば、マイクロプロセッサ1
10はブロック700からブロック702に進み、受け
取ったコンフィギュレーション記録がヘッダ作業バッフ
ァ122用であるかどうかを判定する。もしそうであれ
ば、マイクロプロセッサ110は、ブロック704に進
み、ヘッダ・バッファ内の第1フィールドの長さと種類
を定義するこのコンフィギュレーション記録から情報を
入手する。その後、ブロック706で、マイクロプロセ
ッサ110は、このヘッダ作業バッファ・フィールドの
ためにRAM114内にスペースを割り当てる。ブロッ
ク708でマイクロプロセッサが判定するように、ヘッ
ダ作業バッファ・コンフィギュレーション記録内で定義
された全てのフィールドがRAM114内にこれに対し
て割り当てられたスペースを有した後、マイクロプロセ
ッサは、ブロック710でヘッダ作業バッファ122の
アドレスを記憶する。もしマイクロプロセッサ110
が、ブロック712でデータ収集作業バッファのコンフ
ィギュレーション記録を受け取ったと判定すれば、この
マイクロプロセッサはブロック714に進む。このデー
タ収集作業バッファのコンフィギュレーション記録で定
義された第1フィールドに対する長さと種類の情報をブ
ロック714で取り出した後、マイクロプロセッサは、
ブロック716でこのフィールドに対してメモリを割り
当てる。マイクロプロセッサがブロック718で判定し
たように、データ収集作業バッファのコンフィギュレー
ション記録で定義された各フィールドに対してRAM1
14内にスペースを割り当てた後、マイクロプロセッサ
は、ブロック720に進んでデータ収集作業バッファ1
26のアドレスを記憶する。ブロック732、734、
736、738及び740に従って同様の方法で一時作
業バッファを構築し、他方、ブロック742、744、
746、748、及び750に従って印刷バッファ12
4を動的に構築する。
【0062】図42‐図45に戻って、もしマイクロプ
ロセッサが、文字列テーブルを構築すべきであり、この
文字列テーブルの定義はブロック36で判定したように
有効であると判定すれば、このマイクロプロセッサはブ
ロック640に進み、RAM114内に文字列テーブル
128を構築する。これ以外の場合は、マイクロプロセ
ッサはブロック636からブロック642に進み、状態
フラグを無効に設定する。もしマイクロプロセッサがブ
ロック644でアプリケーション・プログラムがダウン
ロード中であると判定すれば、このマイクロプロセッサ
は、ブロック646に進んで状態フラグが良いか良くな
いかを判定する。もし良くなければ、マイクロプロセッ
サは、ブロック648で別の状態フラグを無効に設定す
る。これ以外の場合には、マイクロプロセッサは、ブロ
ック650に進んでアプリケーション・プログラムの構
造が有効かどうかを判定する。もしこの構造が有効でな
ければ、マイクロプロセッサは、ブロック652で状態
フラグを無効に設定する。しかし、もしアプリケーショ
ン・プログラムの構造が有効であれば、マイクロプロセ
ッサ110は、このアプリケーション・プログラムをブ
ロック6544でファイル116にロードする。もしマ
イクロプロセッサ110が、ブロック656でルックア
ップ・テーブルがダウンロード中であると判定すれば、
このマイクロプロセッサは、ブロック658に進んでデ
ータ収集ファイルが存在するかどうかを判定する。もし
このデータ収集ファイルが存在すれば、状態フラグをブ
ロック662で無効に設定する。もしこのデータ収集フ
ァイルが存在しなければ、マイクロプロセッサ110
は、ブロック660に進んでルックアップ・テーブルが
有効かどうかを判定する。もしこれが有効であれば、マ
イクロプロセッサ110は、ブロック666に進んでこ
のルックアップ・テーブルをRAM114のルックアッ
プ・テーブル・ファイル130にセーブする。このルッ
クアップ・テーブルをルックアップ・テーブル・ファイ
ル130にセーブした後、マイクロプロセッサ110
は、RAM114に残っている全てのメモリをデータ収
集ファイル132に割当て、その結果、ラベラー10内
のデータ収集ファイルのサイズは可変となり、このサイ
ズは、アプリケーション・ファイル116に記憶されて
いるアプリケーション・プログラムのサイズと作業バッ
ファ・コンフィギュレーション記録によって定義されて
いる作業バッファのサイズによって決まる。もしマイク
ロプロセッサがブロック668でダウンロードされたア
プリケーションは自動的に開始されるべきであると判定
すれば、マイクロプロセッサは、ブロック670に進ん
でアプリケーションの状態フラグが有効であるかどうか
を判定する。もしこれが有効であれば、マイクロプロセ
ッサ110は、ブロック672で図38に示すアプリケ
ーションのインタプリタを呼び出すことによってこのア
プリケーションを呼び出す。もしこのアプリケーション
が自動的にスタートすべきでなければ、マイクロプロセ
ッサ110は、ブロック668から678に進み、ダウ
ンロード処理ルーチンを抜けるべきかどうかを判定し、
もし抜けるべきでなければ、マイクロプロセッサはブロ
ック602に戻る。
【0063】アプリケーション・プログラムのインタプ
リタを議論する前に、図52に示すカレント・スクリプ
ト・ポジション・アレイを参照しなければならない。こ
のカレント・スクリプト・ポジション・アレイは、アプ
リケーション・プログラム内に25個の呼び出しを埋め
込むことを可能にする25個の要素のアレイである。も
し埋め込んだ呼び出しがなければ、ポジション00の第
1アレイ要素のみを使用して、カレント・スクリプト・
ポジション、即ち、アプリケーション・プログラム内の
現在の線の番号を記憶する。
【0064】図48‐図51に示すアプリケーション・
プログラムのインタプリタは上で論じたように自動的に
開始されるか、または表示装置16に表示されたフォー
マット・プロンプトに応答してフォーマット番号101
をキーボードを介して入力することによって開始され
る。アプリケーションのインタプリタに入ると、マイク
ロプロセッサ110は、ブロック752でアプリケーシ
ョン状態フラグが設定されているか否かを判定する。ダ
ウンロード動作中に、アプリケーション・プログラム全
体の離れた場所からの受信が終了したことをマイクロプ
ロセッサ110が確認した場合のみ、このアプリケーシ
ョン状態フラグは設定される。従って、もしこのアプリ
ケーション状態フラグが設定されないと、マイクロプロ
セッサはブロック754でエラー・フラグを発生し、ブ
ロック756でアプリケーション・インタプリタ・ルー
チンを抜ける。もしこのアプリケーション状態フラグが
設定されていると、マイクロプロセッサ110は、ブロ
ック758に進み、中断状態フラグと終了アプリケーシ
ョン状態フラグと共に出口を初期化する。ページ状態フ
ラグもまた3に設定される。その後、ブロック762
で、マイクロプロセッサ110は、カレント・スクリプ
ト・ポジション・アレイ内のカレント・スクリプト・ポ
ジションはページ3の境界内にあるかどうかを判定し、
もしあれば、マイクロプロセッサはブロック764に進
む。ブロック764で、マイクロプロセッサ110は、
ページ状態フラグが3に設定されているかどうかを判定
し、もし設定されていれば、ブロック792に進み、こ
れ以外の場合には、ページ状態はブロック766でペー
ジ3に切り換えられる。もしマイクロプロセッサがブロ
ック762でカレント・スクリプト・ポジションがペー
ジ3の現在の境界内にないと判定すれば、マイクロプロ
セッサは、各ブロック768、774及び780でカレ
ント・スクリプト・ポジションはRAM114の各ペー
ジ4、5または6の境界内にあるかどうかを判定する。
もしなければ、マイクロプロセッサはブロック786に
進み、システム・エラーを発生する。ブロック788
で、カレント・スクリプト・ポジションはゼロに再初期
化され、ブロック790でアプリケーション・インタプ
リタを抜ける。しかし、もしカレント・スクリプト・ポ
ジションがRAM114のページ内にあれば、マイクロ
プロセッサはブロック792に進み、カレント・スクリ
プト・ポジションが指し示されているアプリケーション
・プログラムのコマンドをRAM114内の一時記憶構
造内に読み込み、その結果、このコマンド情報を配布す
ることができる。ブロック794で、カレント・スクリ
プト・ポジション・アレイ内のカレント・スクリプト・
ポジションは、ブロック794で次の位置にインクリメ
ントされる。その後、ブロック796で、マイクロプロ
セッサ110は、RAM114の一時的構造に現在記憶
されているコマンドを読み出して、このコマンドをコマ
ンド・テーブルと比較し、このテーブルに対応するコマ
ンド機能が記憶されているかどうかを判定する。ブロッ
ク798でマイクロプロセッサ110はこの比較が一致
しているかどうかを判定し、もし一致していなければ、
このマイクロプロセッサは、各ブロック800、802
及び804で無効コマンド・エラーを発生し、カレント
・スクリプト・ポジションをゼロに再初期化してインタ
プリタを抜ける。もしマイクロプロセッサが、ブロック
798で一致していると判定すれば、このマイクロプロ
セッサはブロック806に進み、EPROM112に記
憶されている関連するコマンド・ルーチンを呼び出すこ
とによってこのコマンドを実行する。EPROM112
に記憶したこの関連するコマンド・ルーチンを実行した
後、マイクロプロセッサは、ブロック808でリターン
値がプログラム可能キーを表すかどうかを判定し、もし
そうであれば、このマイクロプロセッサは、ブロック8
10に進み、以下で詳細に説明するようにこの関連する
プログラム可能キーのサブルーチンを実行する。もしリ
ターン値がプログラム可能キーを指定していなければ、
マイクロプロセッサは、ブロック808からブロック8
12に進む。ブロック812で、マイクロプロセッサ
は、リターン値がゼロであるか否かを判定する。もしこ
のリターン値がゼロであれば、ブロック794でカレン
ト・スクリプト・ポジション・アレイ内に記憶されてい
るそのコマンドのカレント・スクリプト・ポジションに
従って、アプリケーション・プログラム内の次の命令を
実行する。しかし、もしリターン値がゼロでなければ、
マイクロプロセッサは、ブロック816に進み、実行す
べき次のコマンドの位置を再計算するが、もしこのリタ
ーン値が有効に設定されていれば、この位置は有効な経
路を表す。または、もしこのリターン値が無効に設定さ
れていれば、次のコマンドの位置は、アプリケーション
・プログラム内で取られるべき無効経路を表す。それぞ
れの有効または無効な経路の位置は、ブロック814で
カレント・スクリプト・ポジション・アレイに記憶され
る。マイクロプロセッサは、ブロック814からブロッ
ク762に進み、カレント・スクリプト・ポジション・
アレイ内に保持されているカレント・スクリプト・ポジ
ションのページを決定する。
【0065】キーボード14のプログラム可能キーを、
図53と図54を参照して論じる。このキーボード14
の5個のキーをプログラムすることが可能であり、その
結果、各キーを操作すると関連するプログラム可能キー
のルーチンを実行することができる。しかし、Getコ
マンドの実行中のみラベラー10がこのプログラム可能
キーの操作に応答し、この場合、マイクロプロセッサ1
10は上で論じたようにキーボードの情報を入手してい
ることに留意すること。キーボード14のプログラム可
能キーは、「<」、即ち、左向きの矢印、「>」、即
ち、右向きの矢印、スペース・キー用の「S」、リコー
ル・キー用の「R」、及びロード・キー用の「L」の名
称を有している。図53に示しているように、RAM1
14内にあるうプログラム可能キーのバッファは、第1
バイトの位置に関連するプログラム可能キー用のイネー
ブルまたはディスエーブル・バイトを記憶する。更に詳
しくは、もし複数の1の内の1バイトがこのプログラム
可能キーのバッファのゼロ番目のバイト1に記憶されて
いれば、左向きの矢印のプログラム可能キーがイネーブ
ルされるが、もし複数のゼロの内の1バイトが記憶され
ていれば、この左向きの矢印のプログラム可能キーがデ
ィスエーブルされる。残りの4個のプログラム可能キー
に付いても、イネーブルまたはディスエーブル・バイト
が、このプログラム可能キーのバッファの位置1乃至4
に同様に記憶されている。このプログラム可能キーのバ
ッファは、位置5乃至14に各プログラム可能キーのサ
ブルーチンのロケーションを記憶している。更に詳しく
は、このプログラム可能キーの第5及び第6バイトの位
置には、左向きの矢印のプログラム可能キーと関連する
プログラム可能キーのルーチンのロケーションが記憶さ
れている。同様に、このバッファの第7及び第8バイト
の位置には、右向きの矢印のプログラム可能キーのルー
チンが記憶されている。このプログラム可能キーのバッ
ファの第9及び第11は、スペース・キー用のプログラ
ム可能キーのルーチンのロケーションを記憶し、一方こ
のプログラム可能キーのバッファの第11及び第12
は、リコール用のプログラム可能キーのロケーションを
記憶している。最後に、このプログラム可能キーのバッ
ファの第13及び第14は、ロード用のプログラム可能
キーのロケーションを記憶している。プログラム可能キ
ー・イネーブル・ルーチンを使用して、図54に示すよ
うに、特定のプログラム可能キーをイネーブルする。更
に詳しくは、ブロック820で、マイクロプロセッサ1
10は、修飾子「A」がこのイネーブル・プログラム可
能キー・コマンドで指定されているかどうかを判定す
る。もし指定されていれば、マイクロプロセッサは、ブ
ロック838に進んで全てのプログラム可能キーをイネ
ーブルする。もし指定されていなければ、マイクロプロ
セッサは、ブロック821に進んで左向きの矢印のプロ
グラム可能キーをイネーブルすべきであるかどうかを判
定し、もしそうであれば、マイクロプロセッサは、ブロ
ック822で全ての1を記憶することによって、プログ
ラム可能キーのバッファのバイト位置ゼロをイネーブル
する。同様に、右向きの矢印のプログラム可能キーはブ
ロック824でイネーブルされ、スペース用のプログラ
ム可能キーはブロック828でイネーブルされ、リコー
ル用のプログラム可能キーはブロック832でイネーブ
ルされ、またはロード用のプログラム可能キーはブロッ
ク836でイネーブルされる。マイクロプロセッサは図
55に示すディスエーブル・プログラム可能キーのコマ
ンドに応答して、ブロック840でこのディスエーブル
・プログラム可能キーのコマンドが「A」修飾子を有す
るかどうかを先ず判定する。もしそうであれば、マイク
ロプロセッサはブロック840からブロック842に進
み、5個のプログラム可能キーの全てをディスエーブル
し、これ以外の場合には、各ブロック844、846、
848、850、または852でいずれのプログラム可
能キーがこのディスエーブル・プログラム可能キーのコ
マンドで指定されているかを判定する。このコマンドか
らいずれのプログラム可能キーがディスエーブルされる
べきかを判定した後、マイクロプロセッサは、各ブロッ
ク854、856、858、860または862に進
み、指定されたプログラム可能キーと関連するプログラ
ム可能キーのバッファ位置に0バイトを挿入することに
よって、このプログラム可能キーをディスエーブルす
る。
【0066】マイクロプロセッサ110は図56に示す
プログラム可能キー定義コマンドに応答して、指定され
たプログラム可能キーのルーチンのロケーションをプロ
グラム可能キーのバッファにロードする。更に詳しく
は、ブロック870‐874で、マイクロプロセッサ
は、5個のプログラム可能キーの内のいずれを定義すべ
きかを判定する。その後、各ブロック876‐880で
マイクロプロセッサはプログラム可能キーのバッファの
各位置5、7、9、11または13に移動し、関連する
プログラム可能キーのコマンドのルーチンのロケーショ
ンをこのプログラム可能キーのバッファの当該位置にロ
ードする。その後、各ブロック882‐886で、マイ
クロプロセッサ110は、各位置0、1、2、3または
4を設定してプログラム可能キーをイネーブルする。
【0067】プログラム可能キーのコマンドのルーチン
は、図57に示すルーチンに従って実行する。更に詳し
くは、図57に示すルーチンは、アプリケーション・プ
ログラムのインタプリタのブロック118でマイクロプ
ロセッサ110によって入力される。このプログラム可
能キーの機能ルーチンに入ると、マイクロプロセッサ
は、ブロック890で呼び出しカウンタをインクリメン
トする。その後、ブロック891で、マイクロプロセッ
サ110は図53に示すプログラム可能キーのバッファ
の開始アドレスを入手する。ブロック892で、マイク
ロプロセッサ110は、プログラム可能キーのバッファ
の第5位置に移動し、ブロック893で、マイクロプロ
セッサは、インタプリタを通過したリターン値から2を
差し引いて正しいプログラム可能キーのロケーションを
調整する。その後、ブロック894で、マイクロプロセ
ッサはプログラム可能キーのバッファの位置を再計算
し、プログラム可能キーのバッファ内の適当なバッファ
のロケーション5、7、9、11または13を示す。そ
の後、マイクロプロセッサ110は、ブロック895で
指定されたプログラム可能キーのコマンド・ルーチンの
ロケーション値をRAM114の一時記憶ロケーション
に移動する。ブロック896で、マイクロプロセッサ1
10は、次にこの一時記憶ロケーションに記憶された値
をアプリケーション・プログラムのインタプリタに戻
し、この一時ロケーションが新しいカレント・スクリプ
ト・ポジションになる。
【0068】アプリケーション・プログラム116を形
成する一連のコマンドを実行する場合、入力/出力コマ
ンド・ルーチンとデータ処理コマンド・ルーチンをマイ
クロプロセッサ110によって呼び出すことにより、上
で論じたようにRAM114の作業バッファとファイル
の間に選択されたデータが移動されることを可能にし、
これによって、選択されたデータをRAM114に記憶
されている全ての他の選択されたデータと関連させる。
これらの関連するデータは、次にラベル上に一緒に印刷
するか、または通信ポート15に接続してホスト・コン
ピュータにアップロードすることができ、これによって
ホスト・コンピュータで収集されたデータを処理する必
要性を最小にする。コマンド・ルーチンを使用すること
によって、ルックアップ・ファイルをホスト・コンピュ
ータからラベラー10にダウンロードすることができ、
ルックアップ・ファイルを変更してホスト・コンピュー
タに逆にアップロードすることができる。データ処理ル
ーチンによって、全ての入力ソースからラベラーに入力
されるデータを例えば、照会コマンド・ルーチンまたは
比較コマンド・ルーチンを使用して検査することがまた
可能になる。このコマンド/ルーチンによって、キーボ
ード14、スキャナ12、及び通信ポート15を含む入
力ソースの全ての組み合わせからラベラーにデータを入
力することがまた可能になり、この場合、ラベルには、
これらの入力ソースの全ての組み合わせから受け取った
データを印刷することができる。このコマンド・ルーチ
ンによって、印刷フォーマットとは無関係にラベラー1
0にデータを入力することが更に可能になり、その結
果、多数の異なったフォーマットに従って印刷を行うた
めに、データを一度だけ入力すればよい。各付録AとB
は、本発明のラベラーの柔軟性を表す2つのアプリケー
ション・プログラムを示す。
【0069】更に詳しくは、付録Aに示す。アプリケー
ション・プログラムによって、ラベラー10は、キーボ
ード14、スキャナ12及び通信ポート15からこれに
入力される情報を入手することができる。このルーチン
は、また選択されたデータを印刷し、データ収集ファイ
ルをアップロードすることができる。ヘッダ作業バッフ
ァ122は、作業者、日付、購入のための注文、及びコ
ンテナ番号を含むように定義される。データ収集作業バ
ッファ126は、部品番号と「箱の中の数量」を指定す
る値を記憶するように定義される。更に、印刷バッファ
は、ラベルに所定の部品番号と所定の箱の中の部品の数
量を印刷することができるように定義される。これらの
バッファの定義に続くアプリケーション・プログラムに
よって、ラベラー10はユーザにそのオペレータ番号と
日付をプロンプトしてバッファ122内のヘッダ情報を
充足する。このヘッダ情報はキーボード14を介してユ
ーザによって入力され、アプリケーション・プログラム
は、次に表示装置16を介してユーザにメニューを表示
し、このユーザが所定の動作、即ち、データの受け取
り、データのアップロードまたはアプリケーションから
の離脱を選択することを可能にする。データの受け取り
オプションを選択するユーザに応答して、スキャナ12
が初期化され、ユーザは、表示装置16を介して購入の
ための注文番号とコンテナ番号を入力するようにプロン
プトされる。この情報は、スキャナ12またはキーボー
ド14を使用してユーザが入力することができる。この
情報が入力されて記憶されると、ヘッダ情報がヘッダ作
業バッファ122からデータ収集ファイル132に書き
込まれる。アプリケーション・プログラムがキーボード
またはスキャナから部品番号を入手すると、検索を行っ
てルックアップ・テーブル・ファイル130内のこれと
一致する部品番号を見つける。もし一致している部品番
号が見つかれば、「箱の中の数量」と呼ぶルックアップ
・ファイル内のフィールドを印刷バッファ124に転送
する。もし一致している部品番号が見つからなければ、
必要なメッセージを要求するメッセージが通信ポート1
5に移動され、その結果、このメッセージをホスト・コ
ンピュータに転送することができる。次に、マイクロプ
ロセッサ110は、アプリケーション・プログラムに従
って、通信ポート15を介してホスト・コンピュータか
ら受け取るべき必要な情報を待機する。通信ポート15
から受け取られるこの情報は、入力バッファ134に記
憶され、次にこの入力バッファから印刷バッファ124
に転送される。カウンタを初期化して何枚のラベルが印
刷されているかをトレースする。次に、印刷したラベル
の数を部品番号と共にデータ収集ファイルに書き込んで
記憶する。ユーザは、別の部品番号が必要であるかどう
かをチェックするようにプロンプトされる。もしこれが
必要でなければ、メイン・メニューに戻る。これ以外の
場合には、部品番号を入力するプロンプトでプロセスが
再開される。アプリケーション・プログラムのアップロ
ード・オプションによって、収集された全ての情報をホ
スト・コンピュータにアップロードすることが更に可能
になる。
【0070】付録Bに示すアプリケーション・プログラ
ムによって、マイクロプロセッサ110は、ユーザにバ
ー・コード情報、アイテムの説明及びこのアイテムの価
格を入力するようにプロンプトすることが可能であり、
その結果、図58と図59に示すようにUPCフォーマ
ットとCode39フォーマットのような異なったフォ
ーマットで2枚のラベルを印刷することができる。付録
Bに示すアプリケーション・プログラムと付録Aに示す
アプリケーション・プログラムは、本発明のラベラー1
0のEPROM112に記憶したコマンド・ルーチンの
種々の組み合わせを使用してユーザが発生することので
きる可能なアプリケーション・プログラムの正に2つの
例である。
【0071】上述の教示に照らして、本発明の多くの変
形と変更が可能である。従って、上記の請求項の範囲内
で本発明を上で説明した態様と異なる態様で実施するこ
とができることを理解しなければならない。
【図面の簡単な説明】
【図1】本発明のハンドラベラーの斜視図である。
【図2】図1に示すラベラーの概略側面図である。
【図3】図1に示すラベラーの一部の分解斜視図であ
る。
【図4】図1に示すラベラーのブロック図である。
【図5】ラベラーのGetコマンド・ルーチンを示すフ
ローチャートである。
【図6】ラベラーのGetコマンド・ルーチンを示すフ
ローチャートである。
【図7】ラベラーのGetコマンド・ルーチンを示すフ
ローチャートである。
【図8】ラベラーのGetコマンド・ルーチンを示すフ
ローチャートである。
【図9】ラベラーのGetコマンド・ルーチンを示すフ
ローチャートである。
【図10】ラベラーのScan Initialize
コマンド・ルーチンを示すフローチャートである。
【図11】ラベラーのLocateコマンド・ルーチン
を示すフローチャートである。
【図12】ラベラーのDownloadコマンド・ルー
チンを示すフローチャートである。
【図13】ラベラーのUploadコマンド・ルーチン
を示すフローチャートである。
【図14】ラベラーのPrintコマンド・ルーチンを
示すフローチャートである。
【図15】ラベラーのPrintコマンド・ルーチンを
示すフローチャートである。
【図16】ラベラーのBeepコマンド・ルーチンを示
すフローチャートである。
【図17】ラベラーのSysytem Checkコマ
ンド・ルーチンを示すフローチャートである。
【図18】ラベラーのMoveコマンド・ルーチンを示
すフローチャートである。
【図19】ラベラーのValidateコマンド・ルー
チンを示すフローチャートである。
【図20】ラベラーのCompareコマンド・ルーチ
ンを示すフローチャートである。
【図21】ラベラーのConcatenateコマンド
・ルーチンを示すフローチャートである。
【図22】ラベラーのRight Stringコマン
ド・ルーチンを示すフローチャートである。
【図23】ラベラーのLeft Stringコマンド
・ルーチンを示すフローチャートである。
【図24】ラベラーのMidstringコマンド・ル
ーチンを示すフローチャートである。
【図25】ラベラーのUpper caseコマンド・
ルーチンを示すフローチャートである。
【図26】ラベラーのAddコマンド・ルーチンを示す
フローチャートである。
【図27】ラベラーのSubtractコマンド・ルー
チンを示すフローチャートである。
【図28】ラベラーのIncrementコマンド・ル
ーチンを示すフローチャートである。
【図29】ラベラーのDecrementコマンド・ル
ーチンを示すフローチャートである。
【図30】ラベラーのClearコマンド・ルーチンを
示すフローチャートである。
【図31】ラベラーのClearコマンド・ルーチンを
示すフローチャートである。
【図32】ラベラーのReadコマンド・ルーチンを示
すフローチャートである。
【図33】ラベラーのWrite Appendコマン
ド・ルーチンを示すフローチャートである。
【図34】ラベラーのWrite Currentコマ
ンド・ルーチンを示すフローチャートである。
【図35】ラベラーのQueryコマンド・ルーチンを
示すフローチャートである。
【図36】ラベラーのSeekコマンド・ルーチンを示
すフローチャートである。
【図37】ラベラーのExitコマンド・ルーチンを示
すフローチャートである。
【図38】ラベラーのCallコマンド・ルーチンを示
すフローチャートである。
【図39】ラベラーのReturnコマンド・ルーチン
を示すフローチャートである。
【図40】ラベラーのJumpコマンド・ルーチンを示
すフローチャートである。
【図41】ラベラーのDelayコマンド・ルーチンを
示すフローチャートである。
【図42】ラベラーへ情報をダウンロードする期間中の
ラベラーの処理を示すフローチャートである。
【図43】ラベラーへ情報をダウンロードする期間中の
ラベラーの処理を示すフローチャートである。
【図44】ラベラーへ情報をダウンロードする期間中の
ラベラーの処理を示すフローチャートである。
【図45】ラベラーへ情報をダウンロードする期間中の
ラベラーの処理を示すフローチャートである。
【図46】ラベラーのワーク・バッファーをどのように
動的に構築するかを示すフローチャートである。
【図47】ラベラーのワーク・バッファーをどのように
動的に構築するかを示すフローチャートである。
【図48】ラベラーのアプリケーション・プログラムの
インタープリータを示すフローチャートである。
【図49】ラベラーのアプリケーション・プログラムの
インタープリータを示すフローチャートである。
【図50】ラベラーのアプリケーション・プログラムの
インタープリータを示すフローチャートである。
【図51】ラベラーのアプリケーション・プログラムの
インタープリータを示すフローチャートである。
【図52】ラベラーのカレント・スクリプト・ポジショ
ン・アレイの図である。
【図53】ラベラーのプログラム可能なキー・バッファ
ーの図である。
【図54】ラベラーのプログラム可能なキー・イネーブ
ル・ルーチンの図である。
【図55】ラベラーのプログラム可能なキー・ディスエ
ーブル・ルーチンの図である。
【図56】ラベラーのプログラム可能なキー・コマンド
・ルーチンの図である。
【図57】ラベラーのプログラム可能なキー機能の図で
ある。
【図58】2つの異なった印刷フォーマットによって印
刷したバー・コードの図である。
【図59】2つの異なった印刷フォーマットによって印
刷したバー・コードの図である。
【図60】ラベラーのSystem Setコマンド・
ルーチンを示すフローチャートである。
【図61】ラベラーのSystem Setコマンド・
ルーチンを示すフローチャートである。
【図62】ラベラーのField Lengthコマン
ド・ルーチンを示すフローチャートである。
【図63】ラベラーのDivideコマンド・ルーチン
を示すフローチャートである。
【図64】ラベラーのStripコマンド・ルーチンを
示すフローチャートである。
【図65】ラベラーのMultiplyコマンド・ルー
チンを示すフローチャートである。
【符号の説明】
10 ハンドラベラー 12 スキャナ 14 キーボード 15 通信ポート 16 表示装置 110 マイクロプロセッサ 112 ROM 114 RAM
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ドナルド エイ モーリソン アメリカ合衆国 オハイオ州 45415 デ イトン リンチメア ドライヴ 4336 (72)発明者 マーク ダブリュー ロース アメリカ合衆国 オハイオ州 45342 マ イアミズバーグ アズバリー コート 2972 (72)発明者 レックス ディー ワトキンズ アメリカ合衆国 オハイオ州 45005 フ ランクリン ケイ ドライヴ 7679 (72)発明者 デイル イー ランプレクト ジュニア アメリカ合衆国 オハイオ州 45414 デ イトン グリーン タートル ドライヴ 3265 (72)発明者 ジェームズ イー グロービッグ アメリカ合衆国 オハイオ州 45429 ケ タリング クラクストン グレン コート 447

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ラベラーにデータを入力する手段;ラベ
    ルに情報を印刷するために制御可能な印刷ドライバ;上
    記の印刷ドライバを制御して印刷動作を行う印刷コマン
    ド・ルーチン、記憶したデータの処理を制御する複数の
    データ処理コマンド・ルーチン、及び動作を制御して上
    記のラベラーに入力するデータを収集するデータ収集ル
    ーチンを有する固定された組のコマンド・ルーチンを記
    憶する第1メモリ;プログラム可能であり、データとア
    プリケーション・プログラムを形成しユーザによってプ
    ログラム可能なコマンドのシーケンスを記憶する第2メ
    モリであって、上記のアプリケーション・プログラムの
    各コマンドは上記のシーケンスに従って実行するため上
    記の第1メモリに記憶されている関連するコマンド・ル
    ーチンを選択する上記の第2メモリ;及び上記の第1メ
    モリに記憶した選択されたコマンド・ルーチンを実行す
    ることによって、上記の第2メモリに記憶されたアプリ
    ケーション・プログラムを実行して上記のラベラーの上
    記の印刷動作、データ処理動作またはデータ収集動作の
    少なくとも1つを制御する処理手段;によって構成され
    ることを特徴とするハンドラベラー。
JP07046393A 1992-03-27 1993-03-29 ハンドラベラー Expired - Lifetime JP3332983B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/858703 1992-03-27
US07/858,703 US5483624A (en) 1992-03-27 1992-03-27 Programmable hand held labeler

Publications (2)

Publication Number Publication Date
JPH06293158A true JPH06293158A (ja) 1994-10-21
JP3332983B2 JP3332983B2 (ja) 2002-10-07

Family

ID=25328955

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07046393A Expired - Lifetime JP3332983B2 (ja) 1992-03-27 1993-03-29 ハンドラベラー

Country Status (5)

Country Link
US (4) US5483624A (ja)
EP (1) EP0571734B1 (ja)
JP (1) JP3332983B2 (ja)
CA (1) CA2092583C (ja)
DE (1) DE69302323T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011201091A (ja) * 2010-03-25 2011-10-13 Toshiba Tec Corp 携帯型プリンタ及び携帯型プリンタによる印字媒体貼付方法

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993023292A1 (en) * 1992-05-13 1993-11-25 Accu-Sort Systems, Inc. Movable label printer-applicator assembly
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
US5729665A (en) 1995-01-18 1998-03-17 Varis Corporation Method of utilizing variable data fields with a page description language
US6243172B1 (en) * 1995-01-18 2001-06-05 Varis Corporation Method and system for merging variable text and images into bitmaps defined by a page description language
US6952801B2 (en) * 1995-06-07 2005-10-04 R.R. Donnelley Book assembly process and apparatus for variable imaging system
GB9517440D0 (en) * 1995-08-25 1995-10-25 Esselte Dymo Nv Printing apparatus
US5884273A (en) * 1996-05-16 1999-03-16 Carmen M Neal Micro-computer and printer for printing a prescription slip
US20040004128A1 (en) * 1996-09-03 2004-01-08 Hand Held Products, Inc. Optical reader system comprising digital conversion circuit
US5754748A (en) * 1996-09-13 1998-05-19 Lexmark International, Inc. Download of interpreter to a printer
US6487568B1 (en) * 1997-07-18 2002-11-26 Tesseron, Ltd. Method and system for flowing data to an arbitrary path defined by a page description language
US6147767A (en) * 1997-09-05 2000-11-14 Comtec Informations Systems, Inc. Computer system for a printer which stores and operates multiple application programs
DE29721337U1 (de) * 1997-12-03 1998-02-19 Meto International Gmbh Handetikettiergerät mit Rechnerfunktion
DE19801008C2 (de) * 1998-01-14 2001-04-26 Meto International Gmbh Handetikettiergerät mit selbsttätiger Preisumrechnungsfunktion
US6859288B1 (en) * 1999-04-28 2005-02-22 General Electric Company Method and apparatus for requesting and displaying worklist data from remotely located device
US7073717B1 (en) 1999-08-27 2006-07-11 Paxar Americas, Inc. Portable printer and data entry device connected thereto assembly
US7278094B1 (en) 2000-05-03 2007-10-02 R. R. Donnelley & Sons Co. Variable text processing for an electronic press
JP4224176B2 (ja) * 1999-09-02 2009-02-12 東芝テック株式会社 画像入力システム
US20010035964A1 (en) * 2000-04-20 2001-11-01 Hiroyasu Kurashina Tape cartridge, tape printing method, tape printing apparatus, and label-producing method
US7099026B1 (en) * 2000-10-17 2006-08-29 International Business Machines Corporation Unique printer pass code system and method
US6771171B2 (en) * 2001-08-20 2004-08-03 Intel Corporation Atomic virtual document generation and tagging
US7004462B2 (en) * 2002-01-25 2006-02-28 Zih Corp. Print media guide system
US6986462B2 (en) * 2002-04-30 2006-01-17 The Boeing Company Automated parts labeling system
US7616338B2 (en) 2002-05-13 2009-11-10 Dymo Label printer
GB2388573B (en) * 2002-05-13 2005-10-05 Esselte Nv A label printer
US7283268B2 (en) * 2002-07-11 2007-10-16 Paxar Corporation Printer with interpreter
US7609406B2 (en) 2002-08-16 2009-10-27 Avery Dennison Retail Information Services, Llc Hand held portable printer with RFID read write capability
US7180627B2 (en) * 2002-08-16 2007-02-20 Paxar Corporation Hand-held portable printer with RFID read/write capability
FR2845943B1 (fr) * 2002-10-19 2005-02-11 Denis Montagutelli Imprimante modulaire pour, a partir d'une imprimante de base, composer une imprimante de bureau, et/ou de panneau et/ou portable
WO2004075144A1 (fr) * 2003-02-21 2004-09-02 Mamadou Savane Etiquette de triage
US7607571B2 (en) * 2003-05-30 2009-10-27 Intellidot Corporation Medical work flow system
US7367514B2 (en) * 2003-07-03 2008-05-06 Hand Held Products, Inc. Reprogramming system including reprogramming symbol
US20050237556A1 (en) * 2004-04-06 2005-10-27 Watkins Rex D Printer input device having intelligent and non-intelligent modes
EP1645992A1 (en) 2004-10-08 2006-04-12 Philip Morris Products S.A. Methods and systems for marking, tracking and authentication of products
EP2769850A3 (en) * 2004-11-30 2016-04-13 Panduit Corporation Market-based labeling systems and method
US7568628B2 (en) 2005-03-11 2009-08-04 Hand Held Products, Inc. Bar code reading device with global electronic shutter control
US7770799B2 (en) 2005-06-03 2010-08-10 Hand Held Products, Inc. Optical reader having reduced specular reflection read failures
NL1029199C2 (nl) * 2005-06-07 2006-12-08 Green Mountain B V Werkwijze voor het prijzen van een te verkopen artikel.
US7417656B1 (en) * 2005-12-06 2008-08-26 Cognitive Solutions, Inc. Compact printer
US7934660B2 (en) 2006-01-05 2011-05-03 Hand Held Products, Inc. Data collection system having reconfigurable data collection terminal
US20070273746A1 (en) * 2006-05-26 2007-11-29 Cognitive Solutions, Inc. Multiple media, multiple print head method and apparatus
US20080124161A1 (en) * 2006-06-30 2008-05-29 Cognitive Solutions, Inc. Hybrid desktop-portable printer method and apparatus
US8097111B2 (en) * 2007-02-02 2012-01-17 Avery Dennison Corporation Method and apparatus for encoding labels
US8157176B2 (en) * 2007-05-25 2012-04-17 Hewlett-Packard Development Company, L.P. Modular marking apparatus and method
US20090033950A1 (en) * 2007-07-30 2009-02-05 Hewlett-Packard Development Printhead preconditioning trigger
US8112388B2 (en) * 2007-08-03 2012-02-07 Sap Ag Dependency processing of computer files
US8635309B2 (en) 2007-08-09 2014-01-21 Hand Held Products, Inc. Methods and apparatus to change a feature set on data collection devices
US7931205B2 (en) * 2008-02-04 2011-04-26 Avery Dennison Corporation Printer with integrated RFID data collector
US7959080B2 (en) 2008-03-11 2011-06-14 Xpress Systems, Llc System for printing hospital labels and wristbands
WO2010041250A1 (en) * 2008-10-06 2010-04-15 Dov Stelzer A system and method for the automated application of up to date price tags
US8154574B2 (en) 2008-10-23 2012-04-10 Avery Dennison Corporation Hand-held portable printer system and method
EP2349729A4 (en) * 2008-10-27 2012-09-05 Sato Chishiki Zaisan Kenkyusyo LABEL PRINTER APPLICATION PROGRAMMING INTERFACE USING PROGRAM SCRIPT LANGUAGE
EP2536571B1 (en) * 2010-02-16 2017-05-17 Datamax-O'Neil Corporation Portable printer with asymmetrically-damped media centering
US8616700B2 (en) 2010-06-24 2013-12-31 Avery Dennison Corporation Hand-held portable printer
US8517269B2 (en) 2010-11-09 2013-08-27 Hand Held Products, Inc. Using a user'S application to configure user scanner
EP2472451A1 (en) 2010-12-30 2012-07-04 Philip Morris Products S.A. Method and apparatus for marking manufactured items
US8830519B1 (en) 2011-06-17 2014-09-09 Encore Wire Corporation System, apparatus, and method for effectively applying proper sequential alpha-numerics to extruded wire and cable
US20130270341A1 (en) * 2012-03-16 2013-10-17 Dawda Janneh Electronic labeling system, device, and method
US8608053B2 (en) 2012-04-30 2013-12-17 Honeywell International Inc. Mobile communication terminal configured to display multi-symbol decodable indicia
US8882374B2 (en) 2012-05-25 2014-11-11 Datamax—O'Neil Corporation Printer with print frame interlock and adjustable media support
US9292569B2 (en) * 2012-10-02 2016-03-22 Oracle International Corporation Semi-join acceleration
EP3051469A1 (en) 2015-01-28 2016-08-03 Philip Morris Products S.A. Method and apparatus for unit and container identification and tracking
ES2728680T3 (es) 2015-01-31 2019-10-28 Inexto Sa Identificación y verificación seguras de productos
US20180205543A1 (en) 2015-08-13 2018-07-19 Inexto Sa Enhanced obfuscation or randomization for secure product identification and verification
US10594494B2 (en) 2015-08-25 2020-03-17 Inexto Sa Multiple authorization modules for secure production and verification
US10579889B2 (en) 2015-08-25 2020-03-03 Inexto Sa Verification with error tolerance for secure product identifiers
US9684479B1 (en) 2015-10-08 2017-06-20 Esselte Ipr Ab Label-making techniques and systems
JP2020501244A (ja) 2016-12-09 2020-01-16 ウェイストレス リミテッドWasteless Ltd 無線周波数識別タグを読み取り、データを無線で送信するための、冷却器を使用するシステムおよび方法
US10846721B2 (en) 2017-08-15 2020-11-24 WasteLess LTD Method and system to reduce food waste and control prices in retail
US11182811B2 (en) 2017-08-15 2021-11-23 WasteLess LTD System and method using a dynamic pricing engine to determine pricing for goods
EP3889877A1 (en) 2020-03-31 2021-10-06 Wasteless Ltd System and method using a dynamic pricing engine to determine pricing for goods
US11934693B2 (en) * 2021-01-20 2024-03-19 Western Digital Technologies, Inc. Detection of scattered data locations

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU546079B2 (en) * 1982-10-27 1985-08-15 Ishida Koki Seisakusho K.K. Weighing device with printer
EP0199201B1 (en) * 1985-04-26 1991-07-31 Kabushiki Kaisha Sato Thermal label printer
JPS624045A (ja) * 1985-06-26 1987-01-10 株式会社 サト− 携帯用サ−マルラベルプリンタ
JPS624046A (ja) * 1985-06-26 1987-01-10 株式会社 サト− ユニツト式サ−マルラベルプリンタ
US4652317A (en) * 1986-04-04 1987-03-24 Pitney Bowes Inc. Hand held labeler having an optical reader
US4939674A (en) * 1988-04-22 1990-07-03 Engineered Data Products, Inc. Label generation apparatus
US5108207A (en) * 1988-07-20 1992-04-28 Matsushita Electric Industrial Co., Ltd. Printer with variable memory size
JPH0232878A (ja) * 1988-07-22 1990-02-02 Sharp Corp 印字開始位置指定機能付情報処理装置
US5025397A (en) * 1988-08-24 1991-06-18 Tokyo Electric Co., Ltd. Label printer
JP2796628B2 (ja) * 1988-11-29 1998-09-10 カシオ計算機株式会社 印字装置
US5075874A (en) * 1989-04-10 1991-12-24 Eastman Kodak Company Communications interface for computer output printer
JPH0751373B2 (ja) * 1989-11-24 1995-06-05 株式会社新盛インダストリーズ 電子ラベラー

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011201091A (ja) * 2010-03-25 2011-10-13 Toshiba Tec Corp 携帯型プリンタ及び携帯型プリンタによる印字媒体貼付方法

Also Published As

Publication number Publication date
US5594838A (en) 1997-01-14
CA2092583C (en) 2001-05-15
JP3332983B2 (ja) 2002-10-07
EP0571734B1 (en) 1996-04-24
EP0571734A1 (en) 1993-12-01
US5805779A (en) 1998-09-08
DE69302323D1 (de) 1996-05-30
US5483624A (en) 1996-01-09
US6038377A (en) 2000-03-14
CA2092583A1 (en) 1993-09-28
DE69302323T2 (de) 1996-10-17

Similar Documents

Publication Publication Date Title
JP3332983B2 (ja) ハンドラベラー
US5402528A (en) Reconfigurable printer
US6346990B1 (en) Method of selecting a character from a plurality of code character conversion tables
US5918067A (en) Multistage front end processor system which uses either a stand-alone pre-processor or a composite pre-processor composed of serially connected stand-alone processors
JPH05147275A (ja) 印刷装置
NL8001189A (nl) Inrichting en werkwijze binnen een digitaal verwerkingssysteem voor het vooraf ophalen van zowel operatiecoden als van operanden.
JP2715898B2 (ja) プリンタ制御コード使用回数計測処理方式
JP2818555B2 (ja) ファンクションキーガイドの表示付キーボード
JP3513305B2 (ja) 表示装置および表示装置の表示制御方法
JP2001034705A (ja) 個人情報記載媒体認識装置における項目処理方法および項目処理機能を有する個人情報記載媒体認識装置並びに記録媒体
JPH07192386A (ja) 情報再生装置
JP2958226B2 (ja) 印刷制御装置および印刷制御方法
JP2001125966A (ja) 品質工数算出装置、その制御方法および記録媒体
JP3006681B2 (ja) グラフィック描画装置および文字描画処理方法
JPH0373894B2 (ja)
JPH0761053A (ja) 印刷装置
JP2919396B2 (ja) 文書作成機
JP2504523B2 (ja) プリンタ装置の活字配列デ―タロ―ド方法
JPS5922134A (ja) プリンタ装置
JPH01150925A (ja) 表示切替えダイヤル付き電子機器
JPH04195516A (ja) Cd―romファイル装置
JPH06149889A (ja) 電子ファイリングシステム
JPH08297667A (ja) 文字置換装置
JPH064232A (ja) プリンタ言語の決定装置
JPH10111986A (ja) ヘルプ機能付pos端末装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070726

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080726

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090726

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100726

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120726

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120726

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130726

Year of fee payment: 11