JP4865140B2 - プリンタ、受信データの処理方法及びプログラム - Google Patents

プリンタ、受信データの処理方法及びプログラム Download PDF

Info

Publication number
JP4865140B2
JP4865140B2 JP2001069333A JP2001069333A JP4865140B2 JP 4865140 B2 JP4865140 B2 JP 4865140B2 JP 2001069333 A JP2001069333 A JP 2001069333A JP 2001069333 A JP2001069333 A JP 2001069333A JP 4865140 B2 JP4865140 B2 JP 4865140B2
Authority
JP
Japan
Prior art keywords
data
printer
command
buffer
received data
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.)
Expired - Fee Related
Application number
JP2001069333A
Other languages
English (en)
Other versions
JP2001331300A (ja
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2001069333A priority Critical patent/JP4865140B2/ja
Publication of JP2001331300A publication Critical patent/JP2001331300A/ja
Application granted granted Critical
Publication of JP4865140B2 publication Critical patent/JP4865140B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、自動現金預貯金機(ATM)、自動現金引出機(CD)、POSシステム、コンビニエンスストア等に設置されるいわゆるKIOSK端末装置等に使用される印刷装置、表示装置、現金受け入れ装置等の各種通信端末装置に関するものであり、特に受信データの一時格納をおこなう場合の当該受信データの処理に関するものである。
【0002】
【従来の技術】
従来、ATM、CD、POS端末装置及びKIOSK端末装置等は、その内部にパーソナルコンピュータ(以下PCと略称する)のような主制御装置(又は、ホスト装置)の他、印刷装置、各種表示装置、現金収納装置、バーコードリーダー等の各種機能を有する端末装置を複数有している。このホスト装置は、ATM、POS等の装置(以下本体装置と呼ぶ)の全体を動作を統一的に制御する他、内蔵している上記各種端末装置の其々の動作も制御する。具体的には、ホスト装置は、端末装置へ制御コマンドその他のデータを送信することにより端末装置の動作を制御する。本体装置内部に設けられた各種端末装置の多くは、シリアルポート(RS―232C)等を介してホスト装置に接続され、コマンドや処理用データが転送される。
【0003】
これらの装置にはそれぞれインタフェース回路が設けられ、通信を制御するための制御線が用意されている。例えば、データ端末レディ(DTR)信号によって端末装置側がデータの受信が可能な状態であるか否かをホスト装置に表明できるようになっており、ホスト装置側は、DTR信号がアクティブ(活性状態)になるとデータセットレディ(DSR)信号をアクティブとし、双方が動作可能な状態であることを確認した後にデータを送信することにより、データの欠落を防止している。本明細書では、上述のような端末装置を「通信端末装置」と呼ぶことにする。
【0004】
従来、ターミナルプリンタ(以下単にプリンタと称す)などの通信端末装置においては、ホスト装置から受信したデータを受信バッファに格納する。格納された受信データは、コマンド解析手段により格納された順に解析され、解析の結果コマンドであればそのコマンドが実行されて、受信バッファから消去される。
【0005】
また、もしカバーオープン、印字用紙のジャムその他の理由により通信端末装置が動作を停止しているとき(以下オフライン状態と称す)には、上述のコマンド解析手段はその解析及び実行動作を停止する。従って、オフライン状態のときにホスト装置から各種データが送信されてくると、受信バッファ内のデータ処理が行われないために、すぐに受信バッファが満杯(受信バッファフル)になってしまう。
【0006】
受信バッファフルになると、その後受信したデータは受信バッファに格納できないためにそのまま廃棄されてしまう。このような状態を防止するために、通信端末装置は、受信バッファフルになるとDTR信号をインアクティブにして、ホスト装置からのデータの送信を禁止する。
【0007】
一方、通信端末装置がオフライン状態になると、ホスト装置は通信端末装置の状況(ステータス)を確認し、その状況に応じて各種対応処理を実行する必要がある。このためにはホスト装置は、オフライン状態であっても通信端末装置に制御コマンドを送りこみ、そのステータスをホスト装置に報告させる等の動作を通信端末装置に実行させる必要がある。そのために、特別な制御データ(以下リアルタイムコマンドと称す)を設け、リアルタイムコマンドを受信したら直ちにそのコマンドを実行し、その後に受信バッファに格納するようにした通信端末装置も存在する。実行後のリアルタイムコマンドを受信バッファに格納するのは、リアルタイムコマンドとして処理したそのコード列が、実は画像データ等のバイナリデータの一部であった場合に、そのバイナリデータの欠落を防止するためである。
【0008】
【本発明が解決しようとする課題】
しかしながら、オフライン状態となったらホスト装置のソフトウェアは、通信端末装置の現況を詳細に知る必要があるために頻繁にリアルタイムコマンドを送信することになる。この場合、リアルタイムコマンドは、受信後すぐに実行される一方、受信バッファにも格納される。
【0009】
他方、コマンド解析手段はオフライン状態のときには受信バッファに格納されているデータの解析は行わないので、受信バッファはホスト装置から送信されるリアルタイムコマンド等の送信データで、すぐに受信バッファフルの状態になってしまう。このようにして、受信バッファフルの状態になったらホスト装置からデータの送信ができなくなるため、以後ホスト装置のソフトウェアによる制御ができなくなる。
【0010】
この発明は、受信バッファに不要な受信データが蓄積されて受信バッファの機能が損なわれるのを防止することを目的とする。例えば、エラー等何らかの原因で通信端末装置の動作が停止している場合であっても、受信バッファに入力されたデータの解析動作を継続し、通信端末が動作可能になったときに実行動作を行うようにしたものである。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明のプリンタは、ホスト装置との間でデータの通信を行うインタフェース手段と、前記インタフェース手段が受信した受信データを受信バッファに格納する第1のデータ処理手段と、前記受信バッファに格納された前記受信データを格納された順に読み出し、及び解釈する解釈手段と、前記解釈手段により解釈された受信データから直ちに実行されるリアルタイムコマンドを検出する第1の検出手段と、前記第1の検出手段により検出された前記リアルタイムコマンドを除き、前記解釈手段によって解釈された受信データに基づき、これに対応するコマンド及び印字データを解釈された順に、該コマンドと該印字データとを関連付けて、前記コマンドをアクションバッファに格納し、前記印字データをプリントバッファに格納する第2のデータ処理手段と、前記アクションバッファに格納された前記コマンドに基づいて制御する第1の制御手段と、前記第1のデータ処理手段が前記受信データを前記受信バッファに格納する前に、前記受信データの内から前記リアルタイムコマンドを検出する第2の検出手段と、当該第2の検出手段によって検出された前記リアルタイムコマンドに応じて、前記第1の制御手段よりも高い優先順位で制御する第2の制御手段と、を有することを特徴とする。
【0012】
本態様により、例えば既に実行処理が完了しているリアルコマンド等の所定のデータに基づく制御情報は第2の記憶手段に格納しないようにして、第2の記憶手段を効率的に利用することが可能となる。
更に、所定のデータであるリアルタイムコマンドが受信バッファに格納される前又は格納と平行して実行されることになり、オフライン状態であってもホスト装置から、リアルタイムコマンドによる所定の制御が可能となる。
【0013】
この場合において、前記解釈手段によって読み出された前記受信データを前記第1の記憶手段から削除する削除手段をさらに有することが望ましい。
【0014】
信端末装置として機能するプリンタにおいては、受信バッファに制御コマンド及び印刷データ等の各種データが大量に送信されるので、本発明のように、受信バッファの内容を順次解析して処理していくことは、受信バッファを効率的に使用するのに極めて有効である。この場合には、前記制御情報は印刷制御情報及び印刷データを含み、前記第2のデータ処理手段は、前記印刷制御情報と前記印刷データとを関連付けて前記第2の記憶手段に格納することが望ましい。このとき、前記第2の記憶手段は当該印刷制御情報を格納するための印刷制御情報領域と、当該印刷データを格納するための印刷データ領域とを有し、前記第2のデータ処理手段は、前記印刷制御情報に関連した前記印刷データが格納される前記印刷データ領域内のアドレスを当該印刷制御情報に付加して、前記印刷制御情報領域に格納することが望ましい。
【0015】
また、上記の場合において、前記受信データの内から前記所定のデータを、前記第1のデータ処理手段によって前記記憶手段に格納される前に、検出するデータ検出手段と、当該データ検出手段によって検出された当該所定のデータに応じて、前記第1の制御手段よりも高い優先順位で、当該通信端末装置の制御を行う第2の制御手段とを有することが望ましい。この場合において、前記第2の制御手段は、前記所定のデータに応じて、前記ホスト装置に当該通信端末装置のステータスデータを送信するように構成することができる。
【0016】
本態様により、スト装置のソフトウェアは通信端末装置の動作状態にかかわらずに通信端末装置のステータスを詳細に知る事が可能となり、ステータスに応じて適切な対応処理が可能となる。
【0017】
また、上記の場合において、通信端末装置の所定の状態を検出する状態検出手段と、前記状態検出手段の検出結果に応じて前記第1の制御手段の動作を停止する停止手段とを有し、前記解釈手段は、前記第1の制御手段が停止状態であっても、前記受信データの解釈を行うことが望ましい。
【0018】
かかる構成により、前記解釈手段が前記第1の制御手段の停止状態においても前記データの解析を行うので、たとえば、カバーオ−プン、印字用紙ジャム等により、通信端末装置が動作を停止しているときでも、受信バッファ内に格納されたデータのコマンド解析が行われ、コマンド実行準備のためのセットアップ(例えば印字データのセットアップ等)及び記憶手段の受信データ格納領域の解放が可能となった。
【0019】
本発明は上記の通信端末装置の受信データ処理方法としても成り立つものであり、それぞれ同様の作用、効果を奏するものである。また、本発明の通信端末装置の受信データ処理方法は当該装置に設けられたマイクロプロセッサ等のコンピュータを用いて実施することが望ましく、かかる場合においてはコンピュータを用いて当該方法を実現するためのコンピュータプログラムを格納した、コンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の技術的範囲に含まれるものである。
【0020】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の一実施形態を詳細に説明する。本発明は、上述の通り、各種通信端末装置に適用することができるものであるが、以下の実施形態では、ATM、POS、KIOSK端末等に多用されており、ホスト装置とのデータ送受信の量及びステータスの種類も多いプリンタ、特にPOSシステム用のターミナルプリンタを用いて説明する。
【0021】
図1に、本発明に係る通信端末装置の例として、POSシステムに用いるターミナルプリンタを示す。本例のターミナルプリンタ10は、スリップ用紙19、ジャーナル用紙18及びレシート用紙17を記録紙として印刷できるプリンタである。スリップ用紙19は不定形の伝票用紙等の単票用紙であり、プリンタ10の手前のスリップ用紙挿入口21から矢印19Aの方向に挿入すると、図示されていない紙検出器がスリップ用紙を検出し、ケース15内の紙搬送経路を通って印刷ヘッド1に導かれる。そして、印刷ヘッド1が左右の方向1Aに動いて印刷が行われ、スリップ用紙19はさらに矢印19Bの方向に搬送され、排出される。プリンタ10の印刷ヘッド1は、ワイヤドットタイプのヘッドでも、サーマルヘッドでもよい。
【0022】
ジャーナル用紙18及びレシート用紙17は共に連続用紙であり、本例のプリンタ10ではロール紙の状態で供給されている。これらの連続用紙17,18は印刷ヘッド1に対してスリップ用紙19と反対の方向からケース15内を通って印刷ヘッド1に導かれる。レシート用紙17は領収書としての情報が印刷された後、カッタ−ユニット14に導かれてカットされ顧客に渡されるようになっている。
【0023】
ジャーナル用紙18には店舗で保存すべき所定の情報が印刷され、図示しない巻き取り装置に巻き取られて保管される。それぞれのロール紙17及び18の近傍には、ロール紙が残り少なくなったことを検出するニアエンド検出器20が設けられている。
【0024】
ニアエンド検出器20はロール紙の側面に接し、その外径に応じて矢印20Aの方向に揺動する検出レバー20aと、この検出レバー20aによりオン又はオフするスイッチ20bとを備えている。ロール紙が終わりに近づいて外径が小さくなると検出レバー20aが内側に揺動し、その結果、スイッチ20bがオフとなってロール紙の終わりが近いことを検出できる。
【0025】
プリンタ10のケース15には、図示されていないカバーが装着されており、ロール紙17または18を交換するなどの場合を除きカバーをケース15に被せた状態で印刷が行われるようになっている。このため、カバーの開閉を検出するためのカバー検出器22がケース15に装着されており、カバーが開けられると自動的にホールド状態となって印刷機能を一時停止するなどの処理を行うようになっている。
【0026】
図2を用いて本発明の第1の実施例を説明する。図2は本発明の基本構成を説明するためのPOSシステムの機能ブロック図である。ホスト装置90は、POSシステム全体を制御するとともにPOSシステムに接続されている各種端末装置の動作を、相互のデータ通信により制御する。本実施例では、説明を簡潔にするためにターミナルプリンタ10のみを示している。
【0027】
プリンタ10の制御は、ホスト装置90からプリンタ10に制御コマンド及び各種データを送信することにより行われる。ホスト装置90には、汎用のパーソナルコンピュータを用いることができる。ホスト装置90はプリンタ10を制御するに当たり、プリンタ10の状況(ステータス)を確認する必要があるが、プリンタ10はホスト装置90からの要求に応じて、そのステータスを送信することができる。
【0028】
ホスト装置90とプリンタ10とは例えば、シリアル通信ポート(RS−232C)ドライバを介して接続される。ホスト装置から送信されたプリンタ制御用コマンド等のデータは、プリンタ10のインタフェース30を介して受信部31により、受信される。受信されたデータは受信バッファ32に格納(記憶)される。受信バッファに格納されたデータは、データ解析部33により、格納された順番に解析される。
【0029】
データ解析部33では、受信データを解析すると共にそのデータに対応して実行準備のためのセットアップ処理を行う。例えば印字データであれば、プリントバッファ37に印字データのセットアップを行う。文字装飾コマンドであれば、物理的な動作を伴なわず実行可能であるので解析と同時に装飾情報を制御部38内のメモリにセットアップするが、印字コマンド又は印字用紙カットなどのような物理動作を伴うコマンドは実行せずにアクションバッファ34に格納する。
【0030】
すなわち、コマンド解析部33は受信バッファ32のデータを処理して受信バッファにデータが留まることを防止するとともに、実行可能なコマンドは実行し、実行不能なコマンドは必要な準備処理を行った後にアクションバッファ34に格納するようにしている。
【0031】
アクションバッファ34に格納されたコマンド情報は、プリンタ10が動作可能となった後に制御部38によって取り出され、印刷等の動作が実行される。アクションバッファ34に格納されているコマンド情報は、ホスト装置90から送信されたコマンドをそのまま格納しても、プリンタ10の内部処理用の情報に変換された形態で格納するようにしてもよい。
【0032】
ただし、いずれの方法をとるにしても、送信されたデータが印字データの場合には、印刷動作を実行するためにアクションバッファ34にプリンタ側で定義した印字コマンドを格納する。そして、この場合には、その印字コマンドにはプリントバッファ37に格納された対応する印字データとの関連を示す情報が含まれていなければならない。制御部38は、アクションバッファ34の内容を格納順に取出し、それが印刷コマンドの実行である場合には、プリントバッファ37及びプリンタ機構39を制御し、プリントバッファ37内の関連付けされた印刷データをプリンタ機構39により印刷させる。ステータス検出部36は、プリンタ機構39、バッファ32、34等に接続されており、各部の状況を検出して記憶しており、求めに応じて送信部35、インタフェース30を介してホスト装置90に送信する。
【0033】
図3は図2で示した本発明の実施例の機能を実現する制御回路の概略構成を示すブロック図である。
【0034】
印字ヘッド45、モータ類46及びプランジャ類47並びにこれらを駆動する印字機構駆動回路42により、前述のプリンタ機構39を構成している。これらのプリンタ機構39には、キャリッジ検出器48、ホームポジション検出器49、オートカッタ検出器50、用紙検出器51、カバー検出器52が設けられており、中央制御装置(CPU)40と接続されている。これらの検出器48〜52により、カッタエラー、カバーオープン等のエラー状態を検出する。
【0035】
ROM43には前述した図2の各部の機能を実現するためのソフトウェア(ファームウェアを含む)及びデータを記憶しており、CPU40がこれを読み出すことにより、各種機能を実現する。RAM44は受信バッファ32、アクションバッファ34、プリントバッファ37その他の必要なデータの記憶装置として機能する。尚、各種バッファ等32、34、37等は、このようなRAMに限定することなく、レジスタ等を用いてもよい。ホスト装置90とのデータ通信はインタフェース30を介して行われる。
【0036】
図4は、ホスト装置90から受信したデータが受信バッファ32に格納された後に、コマンド解析を通じてどのように処理されるかを示すイメージ図である。
【0037】
いまホスト装置90から▲1▼装飾情報指定コマンド、▲2▼“ABC”の印刷をしてラインフィードするコマンド、▲3▼“DEF”の印刷をしてラインフィードするコマンド、▲4▼印字用紙をカットするコマンド、▲5▼リアルタイムコマンド(後述する)、▲6▼“abc”の印刷をしてラインフィードするコマンドの順にデータを受信したとする。
【0038】
データ解析部33は受信バッファ32に格納された順番▲1▼〜▲6▼にデータを取り出し解析する。まず受信バッファ32から▲1▼を取り出し解析すると、文字の装飾情報の指定であることが判明する。この場合データ解析部は、その後の印字情報に備えてメモリ内に装飾情報をセットする。この段階で、処理▲1▼は受信バッファ32から削除される。
【0039】
次に、▲2▼を取り出し解析すると、印字とラインフィードを要求するコマンドであることが判明する。この場合には印字データ“ABC”をメモリ44内の装飾情報に従って処理してプリントバッファ37に格納するとともに、アクションバッファ34に印字コマンド及びラインフィード処理の実行命令を記憶させる。その際に、この実行命令▲2▼とプリントバッファ37の記憶“ABC”▲2▼とは関連付けて記憶される。さらに詳しくは、プリントバッファ37内の印字データが展開されている領域を引数とし、この領域内の印字データを印刷した後改行するという機能を有する印字関数を定義する。プリントバッファ37内の“ABC”が展開された領域、例えば先頭及び末尾の番地を引数とするこの印字関数の呼出をアクションバッファ34に記載する。この処理が終わると受信バッファ32のデータ▲2▼は消去される(以下消去動作は同様のため省略する)。
【0040】
同様に受信バッファ32に格納されているデータ▲3▼もコマンド解析されて、プリントバッファ37、アクションバッファ34に所定のデータが格納される。次にデータ▲4▼が取り出され解析される。この処理は印字用紙のカットであるので、アクションバッファ34に実行命令のみが格納される。この場合には、引数のない切断関数を定義しておき、この関数の呼出をアクションバッファに記載する。
【0041】
受信バッファ32に格納された5番目のデータ▲5▼はリアルタイムコマンドである。コマンド解析によりリアルタイムコマンドであることが判明すると廃棄される。リアルタイムコマンドの具体的内容については後述する。
【0042】
6番目のデータ▲6▼は印字コマンドであるので、▲2▼又は▲3▼と同様の処理が行われる。
次にこれらの動作をフローチャートを用いて説明する。図5に本発明の第1の実施例の動作を説明するフローチャートを示す。
【0043】
データ解析部33は、受信バッファ32にデータが格納されているかどうかを確認し(ステップ60)、データがあるとそのデータを格納順に解析し(ステップ61)、解析したデータに応じて装飾情報のセット(ステップ62)、印字データのプリントバッファ37へのセットアップ(ステップ63)、印字実行命令(印字関数呼出)のアクションバッファ34への格納(ステップ64)、印字用紙のカット命令(切断関数呼出)のアクションバッファ34へのセット(ステップ65)等の処理を行う。尚、このステップ62〜65は例示であり、コマンドに応じてその他の各種処理を行う。
【0044】
次に、プリンタが一時停止状態かどうかの確認をし(ステップ66)、動作中であれば、アクションバッファ34内の実行命令(関数)を実行する(ステップ67)。プリンタの一時停止状態とは、例えばオフライン状態をいうが、これに限定されることなく自由に設定可能である。
【0045】
プリンタが一時停止状態であれば、その原因等に応じて所定の処理を行う(ステップ68)。例えば、紙ジャムが発生している場合には、用紙搬送モータを停止させるとともにLEDを点灯させたり、ステータスを所定の記憶部に記憶させる等の各種処理が行われる。所定の処理が終わると、受信バッファ内のデータの処理を行う(ステップ60)
次に本発明の第2の実施例を説明する。
【0046】
図6にパーソナルコンピュータ(PC)90をホスト装置側とし、本例のターミナルプリンタ10を通信端末として構成したPOSシステムの一例を示す。このPOSシステムにおいては、PC90のシリアル通信ポート(RS−232C)ドライバ92を介してカストマディスプレイ110及びキャッシュドロワ115が電気的に接続されている。また、PC90とカストマディスプレイ110及びプリンタ10とはそれぞれRS232Cインタフェースを介して接続されて、データの送受信を行うようになっている。
【0047】
また、キャッシュドロワ115はプリンタ10に接続されており、PC90はプリンタ10に所要のコマンドを送信することにより、キャッシュドロワ115を制御することができる。尚、カストマディスプレイ110はパススルー機能を有しており、ディスプレイ処理部112は、PCからのコマンドによってカストマディスプレイ110が選択されている場合にのみ、PCから受信したコマンド及びデータの処理を行う。プリンタ10も同様の機能を有しており、選択されている場合にのみ、PCからのコマンド及びデータの処理を行う。
【0048】
尚、カストマディスプレイ110からのDTR信号はPC90側のCS信号端子に入力されており、プリンタ10からのDTR信号と競合しないようになっている。また、カストマディスプレイ110はPC90へステータス等のデータを送信する場合はないので、プリンタ10からのステータスデータとは競合することはない。
【0049】
このような接続形態であるため、本例のPC90のオペレーティングシステム93は、シリアルポートドライバ92に加えて、POS用のオペレーティングシステム(OS)94と、キーボードやディスプレイ等のPC90を一般に構成する機器及びそれらを制御するアプリケーションソフトウェア97を制御する基本OS95とを備えている。
【0050】
POS用のOS94は、プリンタ10をレシートあるいはジャーナル用紙といった連続用紙に印刷するレシート印刷用のドライバ100と、プリンタ10によってスリップ用紙の印刷を行うためのスリップ印刷用のドライバ101と、カストマディスプレイ110を制御するためのドライバ102と、キャッシュドロワ115を制御するためのドライバ103と、さらにこれらのデバイスドライバを統合的に制御するOS96とを備えている。
【0051】
PC90のPOS用アプリケーションソフトウェア97及び表計算などのその他のアプリケーションソフト98は基本OS95及びPOS用OS94の制御の下で動作する。
【0052】
プリンタ10においては、インタフェース30からデータが受信されると割り込みが発生し、データ受信部31がインタフェース30からデータを取り出す。
インタフェース30から取り出されたデータは同一の割り込み処理の中でリアルタイムデータ解析部73を経由して受信バッファに格納される。リアルタイムデータ解析部73では、データ受信部31から送られたデータの中に含まれたリアルタイムコマンドを認識すると、そのコマンドに応じて所定の処理を行う。
リアルタイムデータ解析部73を通って受信バッファ32に格納されたデータは、データ解析部33によって格納された順番に取り出され、データコードが解析される。そして、コマンドデータであれば、制御部38によってそのコマンドに従った実行の準備のための処理が行われ、印刷データであればフリントバッファ37にそのデータが印字できる状態のデータとして格納される。
【0053】
データ解析部で解析されたデータコードのうち、コマンドのような制御データはアクションバッファ34に格納される。アクションバッファ34に格納された制御データは、プリントバッファ37に格納された関連する印字データと関連付けられている。アクションバッファ34に格納された制御データはその格納された順番に制御部38によって取り出され、順次実行される。制御部はアクションバッファ34から取り出したコマンドに従って印刷処理部85の制御を行うと共に、フリントバッファ37に格納された印刷データを印刷制御部85に送りこれを制御して印刷を行う。
【0054】
制御部38は、印刷処理部85の設定及び制御、さらに印刷データの管理などの他にプリンタ10の各部の状況を監視する機能も備えており、その結果がステータス検出部36の一部であるコモンステータス検出部79に出力される。例えば、受信バッファ32が満杯に近い状態であったり、単票用紙待ちの状態であると、その状況(ステータス)がコモンステータス検出部79に与えられる。また、印刷処理部85において、プリンタ機構39の状態、例えば、カバーが開放されてデータ処理が一時的に中止されたホールド状態、紙ジャム等のエラー状態、あるいはロール紙のニアエンド検出などが発生すると、そのステータスがステータス検出部36の一部であるプリンタ機構ステータス検出部87に与えられるようになっている。
【0055】
コモンステータス検出部79及びプリンタ機構ステータス検出部87において検出されたステータスは、ステータス送信部80のステータスデータ生成部82に供給される。ステータス送信部80は、ステータスデータ生成部82に集められたプリンタ機構39のステータス及び受信バッファの状況など、プリンタ10に係わるその他のステータスを自動ステータス送信部81によってホスト側に発信する機能を備えている。自動ステータス送信部81は、制御部38の制御の下に所定のステータスの状態が変化したときにそのステータスデータを送信するようになっている。ステータスデータを送信するトリガとなるステータスは、ホスト装置であるPCからの所定のコマンドによって選択できるようになっている。
【0056】
自動ステータス送信部81から出力されたステータスデータは、データ送信部35を介してインタフェース30に供給され、ホスト装置側のRS−232Cポートドライバ92に送られる。そして、プリンタドライバ等を備えたPOS用OS94を介してアプリケーションソフト97に伝達され、アプリケーションソフト97がプリンタ10の現況に適した処理を選択してプリンタ10に指示できるようになっている。
【0057】
このようなステータス送信部80を設けておくことにより、プリンタ機構やターミナルプリンタ10の状況が変化するとステータスデータがアプリケーション97側に伝達されるので、アプリケーション側でターミナルプリンタ10の全体の状況を把握することができる。又、状況が変化したときだけステータスデータを送信するようにできるので、ステータスデータの送受信に係わるホスト装置側及びプリンタ側における処理負荷が軽減され、スループットを向上することができる。
【0058】
コモンステータス検出部79で検出した受信バッファが満杯であることを示すステータス(バッファフルステータス)79a、プリンタ機構ステータス検出部87におけるエラー要因(エラーステータス)87aおよびホールド要因(ホールドステータス)87bは、通信許可部88のビジィー要因選択部89にも供給される。バッファフル79a、エラー87aあるいはホールド87bのいずれかの要因が検出されると、ビジィー設定部70はインタフェース30に対してビジィー信号を出力して、ホスト90の側にデータの送信の禁止すべき旨を伝える。
これにより、ホスト装置から送信されたデータが通信端末装置側、すなわちターミナルプリンタ10側の受信バッファに格納できずに欠落するのを防止している。
【0059】
すなわち、RS−232Cにおいては、ビジィー信号の機能を果たすためにDTR信号が用意されており、ホスト装置側のRS−232Cポートドライバ92あるいはプリンタドライバ100および101は、DTR信号がアクティブのときのみデータ送信を行い、プリンタ10がビジィー状態となってDTR信号がインアクティブになるとデータの送信を停止するようになっている。
【0060】
ニアエンド検出などの所定のステータスが変化してステータスデータが送信されると、アプリケーション97からプリンタ10にステータスを確認するコマンド、又はさらに詳細なステータスを要求するコマンドを出力するよう構成することができる。通常、プリンタで受信したデータは、受信した順番に順次受信バッファ32に蓄えられ、その格納順にコマンド解析及びその処理が行われる。そのため、先行するデータが大量に蓄積されていると、必要なコマンド処理の開始までに非常に時間がかかる場合がある。
【0061】
このような場合にリアルタイムコマンドを使用すると、受信バッファに転送する前にリアルタイムデータ解析部で解析され処理されるため、このようにコマンド解析及び実行が遅延することを防止することができる。リアルタイムコマンドでは、受信バッファ32において処理を待っているデータ又はコマンドの順番には関係なくそのコマンドが実行されるので、ホスト側のアプリケーションはプリンタから即座にステータスなどの情報を得ること及び所定の処理を実行させることができ、エラー要因の解除などフレキシブルな処理が可能となる。
【0062】
しかし、一般的なプリンタでは、エラーが発生した場合又はホールド状態になると、通信許可部88のビジィー要因選択部89においてプリンタがビジィー状態で動作不能であると判断する。このため、通信許可部88においてDTR信号をインアクティブにする。ホスト装置側のOS93は、これを受けてプリンタ10に対するデータの転送を中止する。従って、ホスト装置のアプリケーション97がリアルタイムコマンドを送信しようとしてもそれがOS93によって禁止されてしまい、プリンタ10へのコマンドの送信ができない。
【0063】
このように、アプリケーション97がリアルタイムコマンドを使用する機能を備えており、プリンタ10がリアルタイムコマンドを解析実行する機能を有していてもビジィー信号が出力されると、リアルタイムコマンドの実質的な機能が制限されることになる。
【0064】
そこで、通信許可部88のビジィー要因選択部89でビジィー信号を出力する要因を選択できるようにしておき、バッファフル等の重大な問題が発生する恐れがあるときのみ、ビジィーにするようにしている。
【0065】
このようにビジィー要因をバッファフル等の特定の要因に絞ることにより、ホスト装置のアプリケーション97の自由度はかなり向上するが、未だ完全とはいえない。例えば、紙ジャム等が発生した場合に、アプリケーション97はその詳細ステータスを要求したり、その後のステータスの変化状況を確認するために多くのリアルタイムコマンドを出力することになる。紙ジャム解除後の早期に印字開始できるように、所定の印字データを予め送信しておく場合もある。また、紙ジャムが発生した時点で、すでに多くのデータが受信バッファに格納されている場合も考えられる。
【0066】
一方、従来のプリンタでは、紙ジャムが発生している状態では印刷ができないため、受信バッファのデータはコマンド解析されずそのまま残っている。従って、受信バッファはリアルタイムコマンド等ですぐにバッファフルになる可能性がある。バッファフルになると、上述のようにビジィー信号が出力されるため、ホスト装置のOS93がデータの送信を禁止するため、アプリケーション97はエラーに対処することができなくなる。
【0067】
このような状態を解消すべく、本実施例では、受信バッファのデータは紙ジャム等のエラーにより、プリンタ10の動作が停止していてもコマンド解析を継続するとともに印字データのセットアップ等の処理を行っている。解析が行われたコマンドは、リアルタイムコマンドを除き印字データとの関連付けされて、アクションバッファ34に格納される。アクションバッファ34に格納されたコマンドは、エラー等の状況が解除された後、制御部による制御の下で格納された順番に実行される。コマンド解析は、アクションバッファ34が格納可能な限り継続するように設定することができる。
【0068】
この実施例では、プリンタ10の状態に係わりなくコマンド解析し、リアルタイムコマンドを受信バッファに溜め込むことがない。そのため、ホスト装置から多くのリアルタイムコマンド送信することが可能となり、ホスト装置のアプリケーション処理の自由度を格段に向上させることができる。
【0069】
また、エラー状況若しくはオフライン状況が解消したときには、既に複数行の印字データのセットアップが完了しているので、印字ヘッドで印字できる最大行の印字を、最初から同時に印字開始できるという利点もある。
【0070】
以上説明した第2の実施例の制御関連の機能も、第1の実施例と同様に、図3に示すCPU40、ROM43、RAM44等を用いて実現することも可能である。このような場合、制御の手順をROM、CD‐ROM、FD、等のコンピュータで読み取り可能な記録媒体に記録しておき、CPU40で読み取らせて、ロードモジュールを作成することもできる。また、記録媒体にロードモジュールの形で記憶させておき、それを直接読み取らせて動作させること、又はコピーして動作させることも可能である。
【0071】
尚、本実施例では、通信端末装置としてPOSシステムのターミナルプリンタを用いて説明したが、当業者から明らかな通り、このようなプリンタに限らず、例えばATM、CD、KIOSK端末装置等に使用される各種端末装置であって、ホスト装置からデータを送信することによりその動作を制御する通信端末装置は、本発明の適用範囲である。
【0072】
【発明の効果】
以上説明したように本発明によると、プリンタの動作が一時停止している状態であっても受信データの解析を行い、解析済みのデータのうちその後の実行動作が必要な実行命令はアクションバッファに格納するとともに、印字データをプリントバッファに印字可能な状態でセットしておくよう構成したので、プリンタの動作が停止している間も受信バッファ内のデータの処理が進められるために受信バッファフルになることが少なくなり、ホスト装置からの制御をよりフレキシブルに行うことができるようになった。
【0073】
また、プリンタの動作停止中もプリントデータのフリントバッファへのセットアップ等が行われるので、停止原因回復後は速やかな処理を行うことができる。
特に最初から連続して複数行印字する場合には、既にフリントバッファのセットは完了しているので、回復直後から複数行同時に印字することが可能となるという効果も有する。
【図面の簡単な説明】
【図1】本発明に係る通信端末装置の例として、POSシステムに使用するターミナルプリンタの概観を示す図である。
【図2】本発明の1実施例に係る基本構成を説明するためのPOSシステムの機能ブロック図である。
【図3】図2で示した本発明の実施例の機能を実現する制御回路等の概略構成を示すブロック図である。
【図4】ホスト装置90から受信したデータが、受信バッファ32に格納された後に、コマンド解析を通じてどのように処理されるかを示すイメージ図である。。
【図5】本発明の1実施例の動作を説明するフローチャートである。
【図6】本発明の第2の実施例を示す機能ブロック図である。
【符号の説明】
1 印字ヘッド
10 プリンタ
17 レシート用紙
18 ジャーナル紙
19 スリップ用紙
30 インタフェース
31 受信部
32 受信バッファ
33 データ解析部
34 アクションバッファ
35 送信部
36 ステータス検出部
37 プリントバッファ
38 制御部
39 プリンタ機構
40 中央制御装置(CPU)
42 印字機構駆動回路
73 リアルタイムデータ解析部
79 コモンステータス検出部
80 ステータス送信部
87 プリンタ機構ステータス検出部
88 通信許可部
90 ホスト装置(PC)
92 通信ポート
93 ホスト装置のオペレレーティングシステム(OS)
94 POS用のオペレーティングシステム(OS)
95 基本OS
96 POS制御用OS
97 POS用アプリケーションソフトウェア
98 その他のアプリケーションソフトウェア
100〜103 POS通信端末用の各種ドライバ
110 カストマディスプレイ110
112 ディスプレイ処理部
115 キャッシュドロワ

Claims (11)

  1. ホスト装置との間でデータの通信を行うインタフェース手段と、
    記インタフェース手段が受信した受信データを受信バッファに格納する第1のデータ処理手段と、
    前記受信バッファに格納された前記受信データを格納された順に読み出し、及び解釈する解釈手段と、
    前記解釈手段により解釈された受信データから直ちに実行されるリアルタイムコマンドを検出する第1の検出手段と、
    前記第1の検出手段により検出された前記リアルタイムコマンドを除き、前記解釈手段によって解釈された受信データに基づき、これに対応するコマンド及び印データを釈された順に、該コマンドと該印データとを関連付けて、前記コマンドをアクションバッファに格納し、前記印字データをプリントバッファに格納する第2のデータ処理手段と、
    前記アクションバッファに格納された前記コマンドに基づいて制御する第1の制御手段と、
    前記第1のデータ処理手段が前記受信データを前記受信バッファに格納する前に、前記受信データの内から前記リアルタイムコマンドを検出する第2の検出手段と、
    当該第2の検出手段によって検出された前記リアルタイムコマンドに応じて、前記第1の制御手段よりも高い優先順位で制御する第2の制御手段と、
    を有することを特徴とするプリンタ
  2. 請求項1記載のプリンタにおいて、
    前記解釈手段によって読み出された前記受信データを、前記受信バッファから削除する削除手段、
    をさらに有することを特徴とするプリンタ
  3. 請求項1記載のプリンタにおいて、
    記第2のデータ処理手段は、前記コマンドに関連した前記印データが格納される前記プリントバッファ内のアドレスを当該コマンドに付加して、前記アクションバッファに格納することを特徴とするプリンタ
  4. 請求項1記載のプリンタにおいて、
    前記第2の制御手段は、前記リアルタイムコマンドに応じて、前記ホスト装置に当該プリンタのステータスデータを送信することを特徴とするプリンタ
  5. 請求項1記載のプリンタにおいて、
    前記プリンタの所定の状態を検出する状態検出手段と、
    前記状態検出手段の検出結果に応じて前記第1の制御手段の動作を停止する停止手段とを有し、
    前記解釈手段は、前記第1の制御手段が停止状態であっても、前記受信データの解釈を行うことを特徴とするプリンタ
  6. プリンタが受信する受信データの処理方法であって、
    (a)前記プリンタがホスト装置との間でデータの通信を行う工程と、
    (b)工程(a)において受信した受信データを受信バッファに格納する工程と、
    (c)工程(b)において格納された前記受信データを格納された順に読み出し、及び解釈する工程と、
    (d)工程(c)において解釈された受信データから直ちに実行されるリアルタイムコマンドを検出する工程と、
    (e)工程(d)において検出された前記リアルタイムコマンドを除き、工程(c)において解釈された受信データに基づき、これに対応するコマンド及び印データを釈された順に、該コマンドと該印データとを関連付けて、前記コマンドをアクションバッファに格納し、前記印字データをプリントバッファに格納する工程と、
    (f)工程(e)において格納された前記コマンドに基づいて前記プリンタを制御する工程と、
    (h)前記受信データの内から前記リアルタイムコマンドを、工程(b)において前記受信バッファに格納される前に、検出する工程と、
    (i)工程(h)において検出された当該リアルタイムコマンドに応じて、工程(f)よりも高い優先順位で、前記プリンタを制御する工程と、
    を有することを特徴とする受信データの処理方法。
  7. 請求項6記載の方法において、
    (g)工程(c)において読み出された前記受信データを、前記受信バッファから削除する工程、
    をさらに有することを特徴とする受信データの処理方法。
  8. 請求項6記載の方法において、
    工程(e)は、
    (e1)前記印データを前記プリントバッファに格納する工程と、
    (e2)当該印データの前記プリントバッファ内の格納アドレス情報を当該印データに関連した前記コマンドに付加する工程と、
    (e3)当該コマンドと前記格納アドレス情報とを前記アクションバッファに格納する工程と、
    を有することを特徴とする受信データの処理方法。
  9. 請求項6記載の方法において、
    工程(i)は、
    (i1)前記リアルタイムコマンドに応じて、前記ホスト装置に当該プリンタのステータスデータを送信する工程
    を有することを特徴とする受信データの処理方法。
  10. 請求項6記載の方法において、
    (j)プリンタの所定の状態を検出する工程と、
    (k)工程(j)における検出結果に応じて工程(f)における処理を停止する工程とを有し、
    少なくとも工程(c)乃至(e)における処理は、工程(k)にかかわらず、行われることを特徴とする受信データの処理方法。
  11. 請求項6乃至10の何れか1項に記載の受信データの処理方法をコンピュータを用いて実行させるためのプログラ
JP2001069333A 2000-03-17 2001-03-12 プリンタ、受信データの処理方法及びプログラム Expired - Fee Related JP4865140B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001069333A JP4865140B2 (ja) 2000-03-17 2001-03-12 プリンタ、受信データの処理方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000-77110 2000-03-17
JP2000077110 2000-03-17
JP2000077110 2000-03-17
JP2001069333A JP4865140B2 (ja) 2000-03-17 2001-03-12 プリンタ、受信データの処理方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010228975A Division JP4924748B2 (ja) 2000-03-17 2010-10-08 プリンタ、及び受信データの処理方法

Publications (2)

Publication Number Publication Date
JP2001331300A JP2001331300A (ja) 2001-11-30
JP4865140B2 true JP4865140B2 (ja) 2012-02-01

Family

ID=26587875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001069333A Expired - Fee Related JP4865140B2 (ja) 2000-03-17 2001-03-12 プリンタ、受信データの処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4865140B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5593682B2 (ja) * 2009-11-17 2014-09-24 セイコーエプソン株式会社 プリンター、プリンターの制御方法、及び、プログラム
JP5477049B2 (ja) * 2010-02-26 2014-04-23 セイコーエプソン株式会社 印刷システムおよびその制御方法
US9582231B2 (en) 2014-03-26 2017-02-28 Seiko Epson Corporation Printer control device, printing system, and control method that deletes unnecessary data due to interruption

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06286271A (ja) * 1993-04-07 1994-10-11 Canon Inc プリンタ制御方法およびその装置
JPH09286147A (ja) * 1996-04-24 1997-11-04 Nec Field Service Ltd 補助メモリ付きプリンタ装置
JPH09323463A (ja) * 1996-06-05 1997-12-16 Seiko Epson Corp 通信端末およびその制御方法
JPH11227287A (ja) * 1998-02-17 1999-08-24 Canon Inc 印刷方法及び装置

Also Published As

Publication number Publication date
JP2001331300A (ja) 2001-11-30

Similar Documents

Publication Publication Date Title
JP4924748B2 (ja) プリンタ、及び受信データの処理方法
US5594653A (en) Printing apparatus, a control method therefor, and a data processing apparatus using said printing apparatus
KR100255889B1 (ko) 통신 단말 및 그 제어방법
US6205363B1 (en) Printer and control method for obtaining printer status
EP0834828B1 (en) Hybrid printer equipped with a plurality of printing mechanisms and method of controlling it
CN100429611C (zh) 打印机和打印机控制方法
JP2001180052A (ja) プリンタ及びその制御方法
US6886050B2 (en) Method for controlling a communication terminal device and rewritable storage medium having initialization setting data
JP3552066B2 (ja) 印刷装置及びその制御方法並びに該印刷装置を用いた情報処理装置
JP4865140B2 (ja) プリンタ、受信データの処理方法及びプログラム
JPH10333856A (ja) 通信端末およびその制御方法、並びに当該制御プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2011068022A (ja) 記録装置、記録装置の制御方法、及び、プログラム
JP4623097B2 (ja) 印刷装置
JP4088226B2 (ja) 印刷装置
JP2001282394A (ja) 通信端末装置、その制御方法及びその記録媒体
JP3544366B2 (ja) 印刷装置及びその制御方法並びに該印刷装置を用いた情報処理装置
JP2718730B2 (ja) 印刷システム
JPH096555A (ja) プリンタ制御装置及び方法
JP3992022B2 (ja) プリンタの制御方法
JP3544365B2 (ja) 印刷装置及びその制御方法並びに該印刷装置を用いた情報処理装置
JP3856341B2 (ja) インタフェース制御方式
JP3938123B2 (ja) データ処理端末及びその制御方法
JPH10119391A (ja) 複数のプリンタ機構を備えた複合印刷装置およびその制御方法
JP2000168200A (ja) 印字装置、その動作履歴の通知方法及び記録媒体
JP2613283C (ja)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101008

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101026

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111006

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111110

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees