説明

印刷装置

【課題】 ホストコンピュータの負担を軽減し、使用者に使いやすい印字装置を提供する。
【解決手段】 ホスト装置からのデータ受信時点で受信データを解析してリアルタイム制御コマンドかどうかを判断し、リアルタイム制御コマンドの場合は所定の処理を実行し、リアルタイム制御コマンドでない場合は受信データを受信バッファに格納し、受信バッファから受信順に読み出し処理する。リアルタイム制御コマンドには、プリンタステータスの送信、オフライン要因ステータスの送信、エラー要因ステータスの送信、用紙の状態の送信、エラーからの復帰などをそれぞれ要求する複数種類のコマンドがある。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホストコンピュータに接続され、ホストコンピュータからの指令により印字を行う印字装置に関し、特にPOS/ECRなど金銭を扱う情報処理装置に最適な印字装置に関するものである。
【背景技術】
【0002】
従来の印字装置においては、印字用紙がなくなった場合、印字装置のカバーが開けられた場合、エラーが発生した場合など、印字動作の続行が不適当な場合には、印字ヘッドを含む印字メカニズムを停止し、且つホストコンピュータとのインターフェースをオフライン(論理的な切断状態)とすることにより、印字装置および通信データの保全及び使用者の安全を確保しようとしている。この時、印字装置内部の制御が停止するため、すでに印字装置が受信済のデータはオフラインの発生した時点以降は処理されなくなる。また、オフライン発生以降はデータの受信を行わないのでこのデータは処理されなくなり、印字装置からの応答は全く無くなることになる。
【0003】
また、印字装置は紙送りスイッチが押され紙送り中の場合や、受信データを格納する受信バッファが満杯(以下、バッファフルという)になったりした場合にもオフラインとなり、前述の印字動作の続行が不適当な場合のオフライン状態とを区別するのは困難である。
【0004】
印字装置がオフラインになると、ホストコンピュータは印字データを送信できなくなり、POSやECRなどのシステム全体が停止することになる。この場合、ホストコンピュータは表示装置に「印字装置が異常です。点検してください。」などのメッセージを表示し、使用者が印字装置を調べてオフラインの原因を除去しなければならない。しかし、一般のPOSやECRの使用者には、この原因を調べることは困難であり、長時間を要する。
【0005】
一方、受信バッファの中に格納されている制御コマンドは、古いもの(先に格納された制御コマンド)から順に解析され、コマンド処理が実行される。そして処理の終わった制御コマンドは、受信バッファから消去される。従って、連続してホストコンピュータから制御コマンドが送られてくる場合は、受信バッファに制御コマンドが次々に格納され、格納されている制御コマンドのうち古いものから順に処理されるのでホストコンピュータが制御コマンドを送信してから、印字装置が実際に処理を行うまでには、時差(以下、タイムラグという)が発生する。
【0006】
また、印字装置をリセットするか、もしくは電源を入れ直した場合には、それまで印字装置内に蓄えられた印字装置の状態を設定するためのデータが消去されてしまい、金銭を扱うPOS/ECR用の印字装置としては、非常に大きな問題であった。
【0007】
このような不具合による影響を少なくするために、従来の印字装置を用いた情報処理システムにおいては、ホストコンピュータは複数行の印字データを送らずに、1行毎にステータス応答要求コマンドを添付して、印字装置の状態を確認していた。その為、ホストコンピュータにとって大きな負担となり、情報処理システムのスループットの低下を招いていた。
【発明の開示】
【発明が解決しようとする課題】
【0008】
上記の事情から、従来POS/ECR分野においては、データ入力装置、処理装置及び印字装置が一体となった、スタンドアロン型の専用情報処理システムが広く用いられ、ホストコンピュータと印字装置とが汎用のインタフェースで接続されているシステムは、その高い柔軟性は評価されながらも、データの信頼性(いわゆるセキュリティ)への不安から普及が進んでいない。そして、当該データの信頼性を向上させ、同時に操作性を更に高めるために、印字装置の動作が停止している場合でも、その原因をホストコンピュータが知り、またその停止状態を速やかに解除できるような情報処理システムの実現が待望されている。
【0009】
本発明の目的は、上記の従来技術の有する課題を解決し、信頼性の高い情報処理装置を実現可能な印字装置を提供するとともに、ホストコンピュータの負担を軽減し、使用者に使いやすい印字装置を提供することにある。
【課題を解決するための手段】
【0010】
本発明の一つの観点に従う印刷装置は、ホスト装置からのデータ受信時点で受信データを解析してリアルタイム制御コマンドであるかどうかを判断し、リアルタイム制御コマンドであると判断された場合、受信したリアルタイム制御コマンドに従って所定の処理を実行するリアルタイムコマンド解析手段と、前記リアルタイムコマンド解析手段により前記受信データがリアルタイム制御コマンドではないと判断された場合、前記受信データを受信バッファに格納する受信バッファ格納手段と、前記受信バッファから前記受信データを先着順に読み出し解析してコマンドデータであるか印字データであるかを判断し、コマンドデータと印字データにそれぞれ応じた処理を実行する処理実行手段とを有することを特徴とする。
【0011】
好適な実施形態においては、前記リアルタイム制御コマンドには、複数種類の処理内容をそれぞれ選択する複数種類のコマンドがあり、前記リアルタイムコマンド解析手段は、受信したリアルタイム制御コマンドにより選択された内容の処理を実行する。
【0012】
前記複数種類の内容には、例えば、
(1) プリンタステータスの送信、
(2) オフライン要因ステータスの送信、
(3) エラー要因ステータスの送信、
(4) 用紙の状態の送信、又は
(5) エラーからの復帰
などが含まれ得る。
【0013】
好適な実施形態では、また、前記受信バッファ格納手段は、前記受信データがリアルタイム制御コマンドではないと判断された場合だけでなく、リアルタイム制御コマンドであると判断された場合にも、前記受信データを前記受信バッファに格納する。
【発明を実施するための最良の形態】
【0014】
以下、本発明による一実施例を、図面に従って説明する。
【0015】
一般に流通業界で使用される記録紙としては単票用紙と連続紙が有り、単票用紙にはスリップ紙と呼ばれる不定形の伝票用紙や、バリデーション紙と呼ばれる比較的定形で何枚かの複写紙を有するものが有る。連続紙としては店舗の記録用として保存する為のジャーナル紙と、領収証としてのレシート紙がある。
【0016】
図1は、これらの記録紙のスリップ紙、ジャーナル紙、レシート紙に印字可能な印字装置の全体図である。
【0017】
1は印字ヘッド本体であり、複数本のワイヤーが縦に並んだいわゆるワイヤードットヘッドである。この印字ヘッド1が矢印1A、1B方向に往復移動しながら印字を行う。3はインクリボンである。
【0018】
レシート紙17、ジャーナル紙18はロール紙の状態で、図の様に印字機構部の後ろから挿入し上部へ排出される。また、スリップ紙19は、印字機構部の前から挿入し(矢印19A)、上部へ排出される(矢印19B)。
【0019】
レシート紙、ジャーナル紙ともに、紙の終りを検出するニアエンド検出器20が装備されている。ニアエンド検出器20は、ロール紙の外径により矢印20A方向に回動するニアエンド検出レバー20aとニアエンド検出レバー20aによりオン、オフするプッシュスイッチ20bで構成される。ロール紙が終わりに近づくとその外径が小さくなり、ロール紙の中心に達するとニアエンド検出レバー20aが矢印20B方向に回動し、プシュスイッチ20bがオフして紙の終わり間近を検出する。
【0020】
レシート紙17は、印字後カッタユニット14によりカットされ、客に手渡される。
【0021】
印字装置は、図示しない本体ケースに覆われており、図示しないカバーと下ケース15とに分かれる。21は、カバー検出器であり、対向型のフォトセンサからなる。カバーが閉じているとカバー検出器21の光が遮断され、カバークローズが検出できる。
【0022】
図2は、本発明の印字装置において、連続紙と単票用紙を印字する場合の動作を示す機構図である。図2において(a)は連続用紙(図ではレシート紙)に印字する場合、(b)は単票用紙(スリップ紙)に印字する場合を示す。
【0023】
印字ヘッド1は、ワイヤー支持部1aの中に図示しないワイヤーピンが有り、プラテン2との間にインクリボン3を介在してレシート紙17に印字を行う。
【0024】
レシート紙17は、ガイドローラ5を介して紙案内板4a、4bの間に挿入され、紙送りローラ6a、6bにより紙送りされる。紙送りローラ6aはモータ等の駆動源(図示しない)と結合している。紙案内板4a,4bの途中にレシート紙検出器12が配置されている。レシート紙検出器12は、対向型のフォトセンサもしくは、レバースイッチなどで構成される。図では対向型のフォトセンサの例を示す。紙送りローラ6a,6bにより送られたレシート紙17は、インクリボン3とプラテン2の間を通り、紙押さえローラ7a,7b、カッタユニット14を介して印字装置上部へ排出される。カッタユニット14は、カッタ刃14aとカッタカバー14bから構成され、カッタ刃14aが図示しないモータなどの駆動源により矢印14A方向へ移動し、レシート紙17を切断する。
【0025】
図では、レシート紙の場合を示したが、ジャーナル紙の場合もカッタユニットを除いては同じ構成である。
【0026】
スリップ紙を印字する場合(図2(b))、スリップ紙19は、印字装置の手前のスリップ紙挿入開口部21から用紙を矢印19A方向に挿入する。ロール紙印字中は、スリップ送りローラ9aは、図2(a)の様にプランジャ10により矢印10A方向に引っ張られており、対向するスリップ送りローラ9bとは離れている。よって、スリップ紙19が挿入可能である。スリップ紙19を挿入すると、スリップ紙19はスリップ紙案内11a,11bを経てスリップ送りローラ8a,8bに突き当たる。この時スリップ紙検出器13によって紙が挿入されたかどうかを検出する。紙が挿入されたら、プランジャ10が解除されレバー10aは、矢印10B方向に回動し、スリップ送りローラ9bがスリップ送りローラ9aに押圧され、スリップ紙19が保持される。スリップ送りローラ8b,9bは図示しないモータなどの駆動源と結合しており、対向するスリップ送りローラ8a,9aとともに、矢印8A,8B,9A,9B方向にそれぞれ回転し、スリップ紙19を紙送りする。印字が終了すると、スリップ紙19は矢印19B方向に排出され、プランジャ10が駆動されてスリップ送りローラ9aはスリップ送りローラ9bと離れ、次のスリップ用紙が挿入可能となる。
【0027】
レシート紙17は図のように装着したままスリップ紙19に印字可能であり、また、スリップ紙19に複写紙を添付すれば、スリップ紙19とレシート紙17を同時に、同じ内容を印字することも可能である。
【0028】
スリップ紙検出器13は、レシート紙検出器12と同様に対向型のフォトセンサを用いている。
【0029】
15は本体下ケースであり、16はヘッド機構を支持するケースである。
【0030】
図3は、本発明の一実施例である印字装置の印字部構成図である。
【0031】
図によりヘッドキャリッジ駆動モータの脱調を検出する方法を示す。
【0032】
ヘッド1は、ワイヤーホルダ1aとともに、ヘッドキャリッジ1b上に固定されていて、このヘッドキャリッジ1bは、キャリッジ伝達ベルト32とキャリッジ駆動歯車31a、31bにより左右に移動する。キャリッジ駆動歯車31aは図示しないヘッドキャリッジ駆動モータと結合している。このモータは、一般的にはパルスモータが用いられており、実施例でもパルスモータを使用している。キャリッジ駆動歯車31aは、伝達歯車33を介して回転検出板34を回転させる。回転検出板34を挟むように対向型のフォトセンサからなるキャリッジ検出器35が配置されており、ヘッドキャリッジ1bの移動に従って、回転検出板34が回転し、これをキャリッジ検出器35が検出する。回転検出板34はプロペラ状に形成され、これが回転すると、キャリッジ検出器35の出力が周期的にオン、オフする。すなわち、図示しないヘッドキャリッジ駆動モータによって、ヘッドキャリッジ1bが左右に移動すると、キャリッジ検出器35によって、ヘッドキャリッジ1bの移動を検出する。
【0033】
印字ヘッド1とプラテン2の間にあるレシート紙、ジャーナル紙もしくはスリップ紙が、よれてワイヤーホルダ1aとプラテン2との間につまってしまうと紙ジャムとなり、ヘッドキャリッジ1bは、キャリッジ駆動モータの回転に追従せず、キャリッジ駆動モータは脱調する。これを、キャリッジ検出器35により検出する。これをキャリッジエラーと称す。
【0034】
印字ヘッド1は、印字位置の基準位置を特定する為、ホームポジションが必要である。ホームポジション検出器36は、対向型のフォトセンサであり、ヘッドキャリッジ1bを検出する。すなわち、ヘッドキャリッジ1bが左に移動し、ホームポジション検出器36の光を遮断する位置がホームポジションの基準位置となる。
【0035】
ヘッドキャリッジ1bが、ホームポジションに移動しようとしたとき、紙ジャムなどによりホームポジションに到達しないことをホームポジション検出器36により検出することができる。これをホームポジションエラーと称す。
【0036】
図4は、本発明を実現する制御回路の回路ブロック図である。
【0037】
印字ヘッド40、モータ類41、プランジャ類42により上述の印字装置の機構部を成しており、これらの印字機構部を駆動する印字機構部駆動回路43を有している。また、印字機構部には、キャリッジ検出器44、ホームポジション検出器45、オートカッタ検出器46、各用紙検出器47、カバー検出器54などの検出器類が装備され中央制御装置(以下、CPUと称す)50と接続している。オートカッタ検出器46は、図2におけるカッタ刃14aのポジション検出を行う検出器であり、図示しないカッタ刃駆動モータを駆動し所定の位置で検出信号を発生する。カッタ刃において紙ジャムなどが発生するとカッタ刃が所定の位置に移動せず、検出信号が発生しないためエラーとなる。これをカッタエラーと称す。
【0038】
用紙検出器47は、ニアエンド検出器20(図1)、レシート紙検出器12、スリップ紙検出器13(図2)などを含む。
【0039】
印字装置全体を制御するCPU50には、LEDなどで構成する表示装置48、紙送りなどを手動で行う為のパネルスイッチ49、ホストコンピュータとの通信を行うインターフェース51、制御プログラムや印字文字パターンなどを格納するROM52、受信バッファや印字バッファなどを格納するRAM53が接続している。
【0040】
印字データがインターフェース51から入力されるとRAM53内の受信バッファに格納され、CPU50はこのデータを解読し、データコードに対応した文字パターンをROM52から読みだし、印字機構駆動部制御回路43を介して印字ヘッド40、モータ類41、プランジャ類42を駆動し印字を実行する。
【0041】
キャリッジエラー、ホームポジションエラー、カッタエラーなどが発生すると、CPU50は、表示装置48を駆動して使用者にエラーの発生を知らせることができる。
【0042】
図5は、本発明の全体構成を示す機能ブロック図であり、各機能手段の関係を示している。
【0043】
61はホストコンピュータであり、コマンドデータや印字データなどを印字装置に送信する。62は、インターフェイス51を介してホストコンピュータ61からのデータコードを受信するデータ受信手段であり、インターフェース51により起動される割込みである。64は受信した時点で受信データを解析し、実行するリアルタイムコマンド解析手段であり、データ受信手段62とともに割込みの中で処理される。リアルタイムコマンド解析手段64は、受信データがリアルタイム制御コマンドであるかどうかを判断し、リアルタイム制御コマンドであればそのコマンド指令に従って所定の処理を実行する。リアルタイムコマンド解析手段64を介した受信データは、全て一旦受信バッファ65に蓄えられる。受信バッファ65内の受信データは、コマンド解析手段66により1データづつ取り出され、このデータコードを解析し、印字データと印字装置に対して様々な指令を設定するコマンドデータとを判別する。コマンドデータであれば、それを制御手段68によって、そのコマンドコードに従って所定の設定もしくは、所定の動作を実行する。印字データであればそのデータコードに従って文字パターンを印字バッファ67内に格納する。制御手段68により印字実行を行う場合、この印字バッファ67から印字パターンを読み出して印字機構各機能部70を制御して印字を行う。
【0044】
本実施例では、インターフェースは双方向のシリアルインターフェースであるRS−232Cを用いており、RS−232Cではオフラインの状態でもホストコンピュータとの通信は可能である。一般にRS−232Cの双方向シリアルインターフェースでは、一方の装置がオフラインとなっても他方の装置がそれを検出し通信データの送信を停止するまでの間、数バイトのデータが回線上に乗っている可能性がある為、オフラインとした側の装置はオフライン後もデータを受信しなければならない。よって、受信バッファがいっぱいになる前にオフラインとすることが必要である。従って、印字装置にエラーが発生しオフラインとなっても受信バッファに空きが有る間、通信データは受信され、受信バッファに蓄えられる。そして、受信バッファがいっぱいになった場合、その後の受信データは捨てられてしまうことになる。しかし、本実施例では、受信割込みで起動されるリアルタイムコマンド解析手段64により受信バッファに記憶する前にコマンドの解析を行う為、たとえ捨てられても、コマンドとしての処理は行われる。
【0045】
リアルタイムコマンドには、印字装置の状態を要求するコマンドがあり、このコマンドが受信されると、リアルタイムコマンド解析手段64により印字装置の状態をデータ送信手段63を介してホストコンピュータ61に回答する。エラー発生状態であっても、データ受信手段62とデータ送信手段63とリアルタイムコマンド解析手段64は動作しているため、印字装置の状態を送信することが可能である。
【0046】
コマンド解析手段66で単票用紙選択コマンドであると判断された場合、制御手段68に通知する。制御手段68は、単票用紙が選択されたことを表示手段72に通知し、単票用紙挿入待ちの表示を行うと同時に、単票用紙状態記憶手段79により、RAM53内部に単票用紙が選択されたことと、単票用紙挿入待ちに入ったことを単票用紙情報として記憶する。単票用紙が選択されると単票用紙検出器73により単票用紙の挿入を検出し、制御手段68に通知する。制御手段68は単票用紙挿入待ち情報を監視し、単票用紙挿入待ち情報の内容が消去されるか、単票用紙の挿入が検出されるまで印字装置の駆動を停止する。コマンド解析手段66も制御手段68を起動できずに停止するが、リアルタイムコマンド解析手段64は、単票用紙挿入待ちに関係なく動作することができる。
【0047】
リアルタイムコマンドには、単票用紙の挿入待ちを解除するコマンドがあり、このコマンドが受信されると、リアルタイムコマンド解析手段64によってRAM53内に記憶された単票用紙挿入待ち情報および単票用紙選択情報を消去する。この単票用紙挿入待ち状態を監視していた制御手段68は、単票用紙挿入待ち情報が消去されたことを確認すると、単票用紙挿入待ちを解除し印字バッファ67を消去し、初期値の用紙を選択する。単票用紙の挿入待ちを解除する方法としてタイムアウトがあり、制御手段68はタイマ78を制御する。
【0048】
印字や紙送り、用紙のカットなどにおいて紙ジャムなどのエラーが発生した場合、エラー検出手段71によりエラーを検出し、制御手段68に通知するとともに、状態記憶手段77に記憶される。制御手段68は、エラーが発生したことを表示手段72に通知し、エラーの表示を行うと同時に、エラー状態記憶手段69によりRAM53内部にエラーの発生をエラー情報として記憶する。制御手段68は、エラー情報を監視し、この内容が消去されるまで印字装置の駆動を停止する。コマンド解析手段66も制御手段68を起動できずに停止するが、インターフェース51の受信割込みで起動されるリアルタイムコマンド解析手段64は、エラーの発生に関係なく動作することができる。ただし、コマンド解析手段65が停止しているため、インターフェース51で受信される受信データは、受信バッファ65内のデータは貯まっていく一方なので、エラー発生と同時に制御手段68によりインターフェースを制御して印字装置がデータを受け取れない事をホストコンピュータに通知する(いわゆるオフライン)。
【0049】
リアルタイムコマンドには、エラーのからの回復コマンドがあり、このコマンドが受信されると、リアルタイムコマンド解析手段64によってRAM内に記憶されたエラー情報を消去する。このエラー状態を監視していた制御手段68は、エラー情報が消去されたことを確認すると、印字装置を再度起動し印字を再開する。
【0050】
エラーからの回復コマンドのもう1つに、受信済のデータを消去した後印字を再開するコマンドがあり、このコマンドが受信されるとリアルタイムコマンド解析手段により受信バッファ65、印字バッファ67が消去された後、RAM内に記憶されたエラー情報を消去する。
【0051】
用紙検出器73による紙無し、カバー検出器74によるカバーオープンの検出、スイッチ検出器75による紙送りスイッチによる紙送り中の時も印字装置がオフラインとなって、その状態が状態記憶手段77に記憶され、リアルタイムコマンド解析手段64によってその情報をホストコンピュータ61に回答する。
【0052】
図6は、リアルタイムコマンドの一実施例のコマンドコードを示す。
【0053】
図6において、「GS」「R」「n」はそれぞれ1バイトの受信データで、それぞれ16進表記で1Dh、52h、nを示す。「GS」「R」がリアルタイムコマンドであることを示し、nの値により実行する内容を選択する。
【0054】
本実施例では、nの値により表1の様に実行する内容を定めている。
【0055】
【表1】

nが0の場合、表2に従う印字装置ステータス情報1バイトをホストコンピュータに送信する。
【0056】
【表2】

印字装置ステータス情報によりドロワの状態、印字装置のオンライン/オフラインの状態がホストコンピュータ側で判断できる。また、印字装置がオフラインの場合には、nを1としてさらに詳細なオフライン情報を取得することができる。
【0057】
nが1の場合、表3に従うオフライン情報1バイトをホストコンピュータに送信する。
【0058】
【表3】

これにより、オフラインの情報をホストコンピュータ側で識別できる。
【0059】
ホストコンピュータは識別した結果によって、使用者に注意を促すことができる。また、エラーの場合には、nを2として引き続き詳細なエラー情報を取得することができる。
【0060】
nが2の場合、表4に従うエラー情報1バイトをホストコンピュータに送信する。
【0061】
【表4】

表4の中でメカニカルエラーとは、主に紙ジャムによるエラーの場合であって、キャリッジエラー、ホームポジションエラーを含む。これらは、印字ヘッド回りの紙ジャムであり、オートカッタエラーと区別している。これにより、印字ヘッド回りでの紙ジャムか、オートカッタでの紙ジャムかをホストコンピュータ側で識別することができる。識別した結果により、ホストコンピュータの表示手段によって使用者にエラー発生の箇所を的確に指示し、紙ジャムの除去を促す事ができる。
【0062】
紙ジャムなどのエラーの場合には、原因となる紙ジャムを取り除けば印字再開が可能である。しかし、外部電源の異常や印字ヘッドのヘッド温度検出器の破損など印字再開が困難なエラーもあるため、これらを識別する必要がある。紙ジャム以外で発生したエラーは回復不可能エラーとしてビット5に割り当てている。
【0063】
nが3の場合、表5に従うレシートやジャーナルなどの連続用紙検出器情報1バイトをホストコンピュータに送信する。
【0064】
【表5】

nが4の場合、表6に従うスリップ用紙検出器情報1バイトをホストコンピュータに送信する。
【0065】
【表6】

表6において、スリップ用紙の選択により、連続用紙やバリデーション用紙が選択されているかスリップ用紙が選択されているかが判断できる。また、スリップ用紙選択中において、用紙の挿入待ちであるか、すでに用紙があり印字可能な状態であるかが判断できる。
nが5の場合、表7に従うバリデーション用紙検出器情報1バイトをホストコンピュータに送信する。
【0066】
【表7】

表7において、バリデーション用紙の選択により、連続用紙やスリップ用紙が選択されているかバリデーション用紙が選択されているかが判断できる。また、バリデーション用紙選択中において、用紙の挿入待ちであるか、すでに用紙があり印字可能な状態であるかが判断できる。
【0067】
次に、図7、図8でリアルタイムコマンドのデータ受信手段とリアルタイムコマンド解析手段について説明する。
【0068】
図7は、印字装置の初期化行程を示し、電源オンと同時に処理が開始される(ステップ120)。初期化においては、印字機構の初期化(ステップ121)、単票用紙状態フラグ、エラー情報、バッファクリアフラグ、GSフラグ、GSRフラグなどを含め、一般的にはRAM53内の全ての情報を初期化する(ステップ122)。バッファクリアフラグ、GSフラグ、GSRフラグは、受信割込み処理で使用するフラグで、リアルタイムコマンド解析手段で用いる。最後にステップ124でインターフェースの受信割込みを許可して初期化行程を終了する(ステップ124)。
【0069】
図8は、インターフェースの受信割込み処理の行程を示し、データ受信手段とリアルタイムコマンド解析手段を示している。インターフェースを介して、ホストコンピュータからの受信データは、1バイトづつ受信されるため、各バイト受信毎に図8の処理が起動される。リアルタイムコマンドは、図6に示した様に「GS」「R」「n」の3バイトで構成されるため、「GS」を受信した時にセットされるGSフラグ、GSがセットされている場合に「R」を受信した時にセットされるGSRフラグ、GSRフラグがセットされている時に受信した「n」によって制御される。また、「n」の値によってバッファをクリアするかどうかを記憶するバッファクリアフラグがある。
【0070】
ステップ125でデータが受信され受信割込みが起動される。ステップ126で受信データをインターフェースから読みだし、ステップ127でGSRフラグがセットされているかどうかを判断する。GSRフラグがセットされている場合、すなわち既に「GS」「R」まで受信済の場合、受信データ(ここではCとする)を「n」として処理を行う。ステップ136でGSRフラグをクリアし、受信データ(C)の値により、以下の動作を行う(ステップ137)。
【0071】
C=0の時、送信手段63によりRAM53内に記憶したプリンタ情報をインターフェースを介してホストコンピュータに送信する(ステップ138)。
【0072】
C=1の時、送信手段63によりRAM53内に記憶したオフライン情報をインターフェースを介してホストコンピュータに送信する(ステップ139)。
【0073】
C=2の時、送信手段63によりRAM53内に記憶したエラー情報をインターフェースを介してホストコンピュータに送信する(ステップ140)。
【0074】
C=3の時、送信手段63によりRAM53内に記憶した連続用紙情報をインターフェースを介してホストコンピュータに送信する(ステップ141)。
【0075】
C=4の時、送信手段63によりRAM53内に記憶したスリップ状態情報をインターフェースを介してホストコンピュータに送信する(ステップ142)。
【0076】
C=5の時、送信手段63によりRAM53内に記憶したバリデーション状態情報をインターフェースを介してホストコンピュータに送信する(ステップ143)。
【0077】
C=6の場合、単票用紙待ち状態かどうかを判断し(ステップ144)、待ち状態であれば、単票用紙待ちフラグをクリアする(ステップ145)。図9で示すように、単票用紙待ちフラグをクリアすることにより、単票用紙待ち状態から回復することができる。
【0078】
C=8の場合バッファクリアフラグをセットし(ステップ146)、RAM53内のエラー情報をクリアする(ステップ147)。バッファクリアフラグをクリアすると、図10で示すようにエラーからの回復時に受信バッファと印字バッファをクリアされる。C=7の場合、単にエラー情報をクリアする(ステップ147)。
【0079】
受信データは、リアルタイムコマンドであっても、一旦受信バッファに記憶される(ステップ132)。
【0080】
ステップ127においてGSRフラグがクリアされている場合、ステップ128でGSフラグがセットされているかを判断する。すなわち、既に「GS」まで受信済の場合GSフラグがセットされており、ステップ129でGSフラグをクリアし、受信データ(C)が「R」かどうかを判断する(ステップ129)。C=「R」の場合GSRフラグをセットし(ステップ131)、受信バッファに受信データを記憶する(ステップ132)。
【0081】
ステップ128においてGSフラグがクリアされている場合、ステップ134において受信データ(C)が「GS」コードかどうか判断する。C=「GS」の場合、GSフラグをセットし、そうでなければそのまま受信バッファに記憶して(ステップ132)、受信割込み処理を終了する(ステップ133)。
【0082】
次に、図9で単票用紙の設定を行う制御手段について説明する。図9で単票用紙が選択されてから設定されるまでと、単票用紙解除の行程を示す。コマンド解釈手段66で単票用紙選択コマンドであると判断されたときに処理が開始する(ステップ151)。単票用紙選択フラグをセットし、単票用紙挿入待ちフラグをセットする(ステップ152)。メカ動作が停止したのを確認してから(ステップ153)、単票用紙挿入待ちタイマ78を起動し、表示手段72により表示装置48を点滅させる(ステップ155)。ステップ156で単票用紙挿入待ちフラグがクリアされているか判断する。単票用紙挿入待ちフラグがクリアされている場合、すなわちリアルタイムコマンド「GS」「R」「6」により単票用紙の挿入待ちをキャンセルした場合、単票用紙挿入待ちタイマを停止し(ステップ157)、表示示手段72により表示装置48を消灯する(ステップ158)。単票用紙選択フラグと、単票用紙挿入待ちフラグをクリアし(ステップ159)、初期値の用紙をセットし(ステップ160)、単票用紙選択処理を終了する(ステップ161)。
【0083】
ステップ156で単票用紙挿入待ちフラグがクリアされていない場合、単票用紙挿入待ち時間がすぎていないか判断し(ステップ162)、単票用紙待ち時間がすぎていた場合、ステップ158の処理へ飛ぶ。
【0084】
ステップ162で単票用紙挿入待ち時間が過ぎていない場合、ステップ163で単票用紙が挿入されたか判断する。単票用紙が挿入されていないと判断された場合、再び単票用紙挿入待ちフラグがクリアされているかステップ156に判断にいき、単票用紙挿入待ちフラグがクリアされるか、単票用紙挿入待ち時間が切れるか、単票用紙が挿入されるまで以上の動作が繰り返される。
【0085】
ステップ163で単票用紙が挿入さたと判断された場合、単票用紙挿入待ちタイマ78を停止し(ステップ164)、表示装置48を点灯し(ステップ165)、動作開始待ち時間待つ(ステップ166)。ステップ167で単票用紙が挿入されていないと判断された場合、ステップ154の処理へに戻り、以上の動作を繰り返す。
【0086】
ステップ167で単票用紙が挿入されていると判断された場合、単票用紙挿入待ちフラグをクリアし(ステップ168)、単票用紙を正位置にセットし(ステップ169)、単票用紙選択の処理を終了する(ステップ161)。
【0087】
以上述べた様に、受信割込み処理の中にデータ受信手段とリアルタイムコマンド解析手段を含めることにより、印字装置が単票用紙挿入待ちにより停止した場合でも、コマンドを解析し、単票用紙挿入待ちを解除できる。
【0088】
図10に、エラーを検出する一実施例としてキャリッジエラーを検出する場合について説明する。
【0089】
ステップ101で印字指令が開始され、ステップ102で1行印字分の印字装置の初期化を行う。ステップ103から105において1行分の印字を行う。ステップ103では、1ドット列の印字を行い印字キャリッジを1ドット列分移動する。104では、キャリッジが移動することにより、キェリッジ検出器35からの検出パルスがあるかどうかを調べる。通常は、キャリッジが正常に移動するため検出パルスが周期的に発生する。ステップ105において、1行分の印字が終了したかどうかを調べ、終了していない場合ステップ103から繰り返す。1行分の印字が終了していれば、ステップ106で印字終了となる。
【0090】
ここで紙ジャムなどによりキャリッジが停止した場合、ステップ104において、検出パルスが検出されず、ステップ107に移行する。すなわち、ステップ107以降は、キャリッッジエラーが発生した場合の処理となり、まず、ステップ107において、印字装置が通信データを受け取れないことをホストコンピュータに通知する、いわゆるオフラインとする。ステップ108においてキャリッジエラーが発生した事をRAM53内に記憶する。キャリッッジエラーは回復可能なエラーであるから、回復可能エラーとして情報を記憶する。同時に109において印字機構を停止する。その後、ステップ111において上記エラー情報が消去されるまで、ステップ110においてエラー表示装置にエラーが発生した事を表示する。リアルタイムコマンドが受信されると、エラー情報が消去されステップ112において、受信したリアルタイムコマンドがバッファクリアを指令しているかにより、指令している場合、113においてバッファをクリアする。この場合のバッファとは、受信バッファと印字バッファの両方を示す。その後、ステップ114で印字装置の回復処理を行い、ステップ115で印字装置が受信可能になったことをホストコンピュータに知らせる、いわゆるオンラインとする。
【0091】
以上述べた様に、受信割込み処理の中にデータ受信手段とリアルタイムコマンド解析手段を含めることにより、印字装置がエラー発生により停止した場合でも、コマンドを解析し、エラーからの回復が可能となる。
【0092】
次にホストコンピュータ側から見た場合の印字装置の制御について説明する。
【0093】
図11は、本発明の情報処理装置の概念図であって、印字装置300はホストコンピュータ61とRS−232Cの通信ケーブル305により接続している。ホストコンピュータ61内には、通信手段304としてRS−232Cインターフェース制御回路が組み込まれている。また、CRTなどの表示装置302とキーボードなどの入力装置303がホストコンピュータ61に接続している。
【0094】
図12は、ホストコンピュータにおいて、単票用紙挿入待ちを解除することを考慮した制御行程を示すフローチャート図である。ここでは、単票用紙の例としてスリップ紙に印字する場合を示す。
【0095】
スリップ用紙に印字する場合(ステップ250)、まず、スリップ用紙選択コマンドを送信する(ステップ251)。次に、スリップ用紙の状態を調べるためリアルタイムコマンド「GS」「R」「4」を送信し(ステップ252)、これに対する応答を受信する(ステップ253)。この応答は、表6に示した情報が含まれている。この情報により、スリップ用紙が選択されたかどうかを判断する(ステップ254)。
【0096】
スリップ用紙が選択された場合、ステップ253における情報により、スリップの挿入待ちかどうかを判断する(ステップ255)。挿入待ちでない場合、スリップ用紙のありを確認後(ステップ256)、印字データを送信して(ステップ257)、スリップ用紙の印字を終了する(ステップ258)。
【0097】
ステップ255において、スリップ挿入待ちのとき、入力装置303の特定のキー、たとえば「スリップキャンセルキー」を監視しこのキーが押されているかどうかを判断する(ステップ259)。このキーは、スリップ挿入待ちキャンセルの機能を割り当てられたキーであり、オペレータにより操作される。
【0098】
キーが押されている場合、スリップ挿入待ちキャンセルコマンド「GS」「R」「6」を送信することによりスリップ挿入待ちを解除することができる(ステップ260)。
【0099】
また、ステップ254とステップ256において、それぞれスリップが非選択の場合と用紙がない場合においても、このキーを監視することにより、スリップ印字を終了することができる(ステップ259)。この場合、スリップキャンセルコマンド「GS」「R」「6」を送信しても、印字装置側では単票用紙の挿入待ち状態でないため無視される(ステップ260)。キーが押されていない場合、ステップ252に戻り、スリップの選択(ステップ254)もしくは、用紙あり(ステップ256)を待つことになる。
【0100】
図13は、ホストコンピュータにおいて、エラーからの回復を考慮した印字行程を示すフローチャート図である。
【0101】
印字開始後(ステップ200)、1行分の印字データを送信する毎に(ステップ201)、印字装置がオフラインになったかどうかを監視する(ステップ202)。一般に、RS−232Cインターフェースでは、受信側(ここでは印字装置)がオフラインになると、CTS(ClearTo Send)信号もしくは、DSR(DataSet Ready)信号、もしくはXOFFコードにより知ることができる。印字装置がオンラインであれば、印字データを送信し続け、印字データが終了すれば(ステップ203)、印字終了となる(ステップ204)。
【0102】
ステップ202において、印字装置がオフラインになると、印字装置がエラーを発生したか、その他の原因(たとえば、印字用紙が無くなったなど)により印字ができなくなったと考えられる。そこで、エラーが発生したかどうかを確認するため、ステップ205でリアルタイムコマンド「GS」「R」「2」を送信する。これに対する応答をステップ206で受信し、エラーが発生しているかを判断する(ステップ207)。エラーが発生していない場合、エラー以外の原因でオフラインになったと考えれるので、その他の原因を調べ(ステップ208)、それに対する処理を行う(ステップ209)。その他の原因の取得は、「GS」「R」「1」により、カバーが開いている、印字用紙が無くなったなどの情報を取得することによる。ホストコンピュータは、「カバーを閉じてください」とか「紙をセットしてください」などと表示装置302に表示し、使用者に注意を促すことができる。
【0103】
これを印字装置がオンラインになるまで繰り返し(ステップ210)、オンラインになったところで、印字を再開する(ステップ201)。
【0104】
ステップ207でエラーが発生した場合、そのエラーが回復可能かどうかを判断する(ステップ211)。回復可能エラーかどうかは、表4に示したビット5で判断できる。回復可能エラーの場合、エラーが発生したことを使用者に知らせ、エラーの原因と予想される紙ジャムなどを取り除くことを指示する。この時、紙ジャムの発生箇所を表4のビット2とビット3により、キャリッジかオートカッタかを使用者に知らせる事ができる。使用者が紙ジャムを取り除いた後、ホストコンピュータの入力装置303(たとえばキーボード)により、確認の入力を行なわせることにより、エラー原因の除去を確認する(ステップ213)。その後、リアルタイムコマンド「GS」「R」「6」もしくは「7」により、印字装置をエラーから回復させる。使用者が、エラーの原因を完全に取り除いていない場合や、複数のエラーが同時に発生している場合を考慮して、再度ステップ205から、エラーの発生を確認することが望ましい。
【0105】
ステップ211において回復不可能なエラーの場合は、印字装置に異常が有り、使用者では修復できない場合である。この場合は、印字装置が異常であることを使用者に知らせて(ステップ215)、印字処理を中止する(ステップ216)。
【0106】
金銭を扱うPOS/ECRなどの情報処理装置としては、データの欠落、重複は絶対あってはなならい。印字装置にエラーが発生した場合、受信済のデータを抹消すること無くエラーから回復し、印字を再開することは重要である。ただし、従来の印字装置を用いた情報処理装置にも対応するため、受信済のデータを抹消してから回復するモードを可能にし、ホストコンピュータからの制御コマンドにより選択可能とした。すなわち、従来の印字装置を用いた情報処理装置では、印字装置がエラーから回復した後は必ず受信済データは抹消していた為、エラー発生前と同一データを印字する場合は、2度目の印字データであることを明示するために特殊な文字を行の先頭などに印字させていた。これに対応するため、受信済データを抹消してから回復するモードが必要であった。
【0107】
以上述べた本発明の実施例によれば、印字装置がオフラインになった時でも、その原因をホストコンピュータ側で知る事ができる。また、受信割込み処理の中にデータ受信手段とリアルタイムコマンド解析手段を含めることにより、印刷装置側はコマンドを解析することができる。これにより、金銭を扱う流通業界の印字装置として、信頼性の高い高スループットの印字装置を提供するとともに、ホストコンピュータの負担を軽減し、使用者に扱い易い印字装置およびこれを用いた情報処理装置を提供することができる。
【図面の簡単な説明】
【0108】
【図1】本発明の一実施例を説明する印字装置の全体図。
【図2】本発明の一実施例を説明する印字装置の機構図。
【図3】本発明の一実施例を説明する印字装置の印字部構成図。
【図4】本発明の一実施例を説明する制御回路の回路ブロック図。
【図5】本発明の一実施例を説明する機能ブロック図。
【図6】本発明に用いるコマンドの一実施例の説明図。
【図7】本発明の印字装置の制御方法の一実施例の行程を示すフローチャート図。
【図8】本発明の印字装置の制御方法の一実施例の行程を示すフローチャート図。
【図9】本発明の印字装置の制御方法の一実施例の行程を示すフローチャート図。
【図10】本発明の印字装置の制御方法の一実施例の行程を示すフローチャート図。
【図11】本発明の情報処理装置の概念図。
【図12】本発明の印字装置を用いたホストコンピュータの制御行程の一実施例を示すフローチャート図。
【図13】本発明の印字装置を用いたホストコンピュータの制御行程の一実施例を示すフローチャート図。
【符号の説明】
【0109】
61 ホストコンピュータ
62 データ受信手段
63 データ送信手段
64 リアルタイムコマンド解析手段
66 制御コマンド解析手段
68 制御手段
69 エラー状態記憶手段
79 単票用紙状態記憶手段
71 エラー検出手段
72 表示手段
73 用紙検出手段
74 カバー検出手段
75 スイッチ検出手段
76 周辺機器状態検出手段
77 状態記憶手段
300 印字装置
302 表示装置
303 入力装置

【特許請求の範囲】
【請求項1】
ホスト装置からのデータ受信時に受信データを解析して、複数種類の処理内容をそれぞれ選択する複数種類のリアルタイム制御コマンドであるかどうかを判断し、リアルタイム制御コマンドであると判断された場合、受信したリアルタイム制御コマンドに従って所定の処理を実行するリアルタイムコマンド解析手段と、
前記リアルタイムコマンド解析手段を介した受信データを先着順に解析して、印字装置に対して様々な指令を設定するコマンドデータであるか印字データであるかを判断するコマンド解析手段とを有する印刷装置であって、
前記リアルタイム制御コマンドは、リアルタイム制御コマンドであることを示すデータと、前記印刷装置が実行する内容を示す1バイトのデータとを含むことを特徴とする印刷装置。
【請求項2】
前記印刷装置が実行する内容を示すデータは、(1)〜(9)のいずれか一つを示すデータである請求項1記載の印刷装置。
(1)前記印刷装置のステータスを送信する
(2)前記印刷装置のオフライン要因を送信する
(3)前記印刷装置のエラー要因を送信する
(4)連続用紙検出器の状態を送信する
(5)スリップ用紙検出器及びスリップ用紙の状態を送信する
(6)バリデーション用紙検出器及びバリデーション用紙の状態を検出する
(7)単票用紙待ちをキャンセルする
(8)エラーから復帰して印字を再開する
(9)エラーから復帰してバッファをクリアする
【請求項3】
前記印刷装置が実行する内容を示すデータが、前記印刷装置のステータスを送信することを示すデータであるとき、
前記リアルタイムコマンド解析手段は、ドロワーキックコネクタの状態を示すデータ、またはオンラインであるか否かを示すデータのいずれか一つ以上を前記ホスト装置へ送信する請求項1記載の印刷装置。
【請求項4】
前記印刷装置が実行する内容を示すデータが、前記印刷装置のオフライン要因を送信することを示すデータであるとき、
前記リアルタイムコマンド解析手段は、カバーの状態、紙送りスイッチによる紙送りの状態、紙なしによる印字停止、またはエラー状態のいずれか一つ以上を示すデータを前記ホスト装置へ送信する請求項1記載の印刷装置。
【請求項5】
前記印刷装置が実行する内容を示すデータが、前記印刷装置のエラー要因を送信することを示すデータであるとき、
前記リアルタイムコマンド解析手段は、メカニカルエラー、オートカッターエラー、復帰不可能エラー、または自動復帰エラーのいずれか一つ以上を示すデータを前記ホスト装置へ送信する請求項1記載の印刷装置。
【請求項6】
前記印刷装置が実行する内容を示すデータが、連続用紙検出器の状態を送信することを示すデータであるとき、
前記リアルタイムコマンド解析手段は、ジャーナルニアエンド検出器の出力、レシートニアエンド検出器の出力、ジャーナルエンド検出器の出力、またはレシートエンド検出器の出力のいずれか一つ以上を示すデータを前記ホスト装置へ送信する請求項1記載の印刷装置。
【請求項7】
前記印刷装置が実行する内容を示すデータが、スリップ用紙検出器及びスリップ用紙の状態を送信することを示すデータであるとき、
前記リアルタイムコマンド解析手段は、スリップの選択状態、スリップの挿入待ち状態、またはスリップ用紙検出器の出力のいずれか一つ以上を示すデータを前記ホスト装置へ送信する請求項1記載の印刷装置。
【請求項8】
前記印刷装置が実行する内容を示すデータが、バリデーション用紙検出器及びバリデーション用紙の状態を検出することを示すデータであるとき、
前記リアルタイムコマンド解析手段は、バリデーションの選択状態、バリデーションの挿入待ち状態、またはバリデーション用紙検出器の出力のいずれか一つ以上を示すデータを前記ホスト装置へ送信する請求項1記載の印刷装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−120094(P2008−120094A)
【公開日】平成20年5月29日(2008.5.29)
【国際特許分類】
【出願番号】特願2008−1145(P2008−1145)
【出願日】平成20年1月8日(2008.1.8)
【分割の表示】特願2003−327726(P2003−327726)の分割
【原出願日】平成6年10月18日(1994.10.18)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】