(57)【要約】【課題】  単票用紙紙無し印刷停止からの復帰時に、無駄な印刷を実行することなく、中断された印刷をスムーズに再開可能なプリンタ及びプリンタの制御方法を提供する。【解決手段】  制御部４４は、単票用紙無し印刷停止発生時に、受信バッファ４２内のデータをクリアさせるとともに、ホストコンピュータ３０へ単票用紙無し印刷停止となったことを通知（クリアレスポンス１の送信）する。そして、制御部４４は、ホストコンピュータ３０から受信するバッファクリア指示（バッファクリアコマンド）に応じて、受信バッファ４２を再度クリアさせる。より具体的には、制御部４４は、受信バッファ４２とともに印刷バッファ４５をクリアさせ、バッファクリア指示に応じて、印刷バッファ４５を再度クリアさせる。【選択図】  図１
2006088688.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから送信されるデータを受信するデータ受信部と、
前記ホストコンピュータにデータを送信するデータ送信部と、
前記データ受信部によって受信されたデータを一時保持する受信バッファと、
前記受信バッファに一時保持されたデータを解析する解析部と、
前記データが印刷データであった場合に印刷イメージが展開される印刷バッファと、
前記印刷バッファに展開された印刷イメージに応じて印刷をおこなう印刷機構と、
前記データ受信部、前記データ送信部、前記受信バッファ、前記解析部、前記印刷バッファ及び前記印刷機構を制御する制御部と、を備え、
前記制御部は、単票用紙紙無し印刷停止発生時に、受信バッファ内の前記データをクリアするとともに、前記ホストコンピュータへ単票用紙紙無し印刷停止となったことを通知し、
前記制御部は、前記ホストコンピュータから受信するバッファクリア指示に応じて、前記受信バッファを再度クリアすることを特徴とするプリンタ。
【請求項２】
前記制御部は、前記受信バッファとともに前記印刷バッファをクリアし、前記バッファクリア指示に応じて、前記印刷バッファを再度クリアすることを特徴とする請求項１記載のプリンタ。
【請求項３】
前記制御部は、前記バッファクリア指示受信後に、前記ホストコンピュータにバッファクリア完了通知を送信し、前記バッファクリア完了通知送信後に前記ホストコンピュータから受信する印刷データを基に印刷を実行することを特徴とする請求項１または２記載のプリンタ。
【請求項４】
単票用紙紙無し印刷停止発生時に、受信バッファをクリアするステップと、
ホストコンピュータに単票用紙紙無し印刷停止発生を通知するステップと、
前記ホストコンピュータから受信するバッファクリア指示に応じて、前記受信バッファを再度クリアするステップと、を備えたことを特徴とするプリンタの制御方法。
【請求項５】
前記単票用紙紙無し印刷停止発生時に、印刷バッファをクリアするとともに、前記バッファクリア指示に応じて、前記印刷バッファを再度クリアすることを特徴とする請求項４記載のプリンタの制御方法。
【請求項６】
前記バッファクリア指示受信後に、前記ホストコンピュータにバッファクリア完了通知を送信するステップと、
前記バッファクリア完了通知送信後に送信される印刷データを基に印刷を実行するステップとを備えたことを特徴とする請求項４または５記載のプリンタの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ及びプリンタの制御方法に係り、特に単票用紙紙無し印刷停止から再印刷する場合のプリンタ内の処理に関する。
【背景技術】
【０００２】
プリンタを備えたプリンタシステムでは、プリンタは印刷データを生成するホストコンピュータに通信可能に接続されており、このホストコンピュータによってプリンタの各種動作制御がなされる。例えば、プリンタは、印刷時においては、ホストコンピュータからの印刷指示コマンドに応じて、単票紙やロール紙等の用紙上に印刷を実行して、印刷結果の出力を行う。
【０００３】
一般にプリンタを用いて単票用紙に印刷を行うときに、誤って小さいサイズの単票用紙をプリンタに挿入したり、一枚の単票用紙に収まらない印刷データをプリンタに送信したりすると、「単票用紙紙無し印刷停止」が発生する。例えば、単票用紙紙無し印刷停止が発生すると、プリンタはその単票用紙への印刷を中断し、新たな単票用紙が挿入されるまで待機する。
【０００４】
そして、新たな単票用紙が挿入されると、プリンタは未印刷のデータを継続して印刷する。したがって、印刷再開後には、単票用紙紙無し印刷停止の発生前に印刷されなかった残りの印刷データが単票用紙上に印刷される。したがって、本来一枚の単票用紙に印刷すべき印刷内容が２枚の単票用紙にわたって印刷されてしまい、結局この２枚の単票用紙に分かれて印刷されたものは、例えばレシートのように一枚の用紙に印刷すべきであった場合には意味を持たないものとなってしまう。そのため、再度同じ印刷内容をホストコンピュータからプリンタに送信して、再印刷を行わねばならず、用紙が無駄に消費される結果となっていた。また、印刷再開後に無駄な印刷を行って、なおかつその後再印刷を行う手間と時間を考えると印刷の効率が著しく低下し、ひいては業務効率の低下してしまう。
【０００５】
特許文献１では、オフラインからオンラインへの復帰時にどのような処理を実行するべきかを設定するコマンドがホストコンピュータから送信され、オフラインから復帰したときには、その原因に応じて処理を実行するプリンタが開示されている。このようなプリンタであれば、使用不能となると予め想定される残り部分のレシートの印刷を実行させないようにすることができる。
【０００６】
また、特許文献２は、オフライン中に新たに受信した印刷データを保存するか自動的に破棄するかを選択可能に構成されたプリンタを開示している。本プリンタにおいて、自動的に受信データを破棄する場合には、オフライン中にそれ以上受信バッファにデータが蓄積されないため、バッファフルとなる状況を回避することができる。
【特許文献１】特開平１１−２６８３８４号公報
【特許文献２】特開２００１−１８００５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１及び特許文献２は、オフラインからオンラインへの復帰時の処理については詳細に述べられているが、単票用紙紙無し印刷停止から復帰した場合の処理については何も触れられていない。単票用紙紙無し印刷停止の場合には、オンラインからオフラインに切り替わらずオンライン状態が維持されるため同様の処理を適用することができない。したがって、この単票用紙紙無し印刷停止の復帰時に関する最適な処理ルーチ
ンについては、さらなる検討を加える必要がある。
【０００８】
本発明は、上記を鑑みてなされたものであり、単票用紙紙無し印刷停止からの復帰時に、無駄な印刷を実行することなく、中断された印刷をスムーズに再開可能なプリンタ及びプリンタの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
（１）  ホストコンピュータから送信されるデータを受信するデータ受信部と、
前記ホストコンピュータにデータを送信するデータ送信部と、
前記データ受信部によって受信されたデータを一時保持する受信バッファと、
前記受信バッファに一時保持されたデータを解析する解析部と、
前記データが印刷データであった場合に印刷イメージが展開される印刷バッファと、
前記印刷バッファに展開された印刷イメージに応じて印刷をおこなう印刷機構と、
前記データ受信部、前記データ送信部、前記受信バッファ、前記解析部、前記印刷バッファ及び前記印刷機構を制御する制御部と、を備え、
前記制御部は、単票用紙紙無し印刷停止発生時に、受信バッファ内の前記データをクリアするとともに、前記ホストコンピュータへ単票用紙紙無し印刷停止となったことを通知し、
前記制御部は、前記ホストコンピュータから受信するバッファクリア指示に応じて、前記受信バッファを再度クリアすることを特徴とするプリンタ。
（２）  前記制御部は、前記受信バッファとともに前記印刷バッファをクリアし、前記バッファクリア指示に応じて、前記印刷バッファを再度クリアすることを特徴とする（１）記載のプリンタ。
（３）  前記制御部は、前記バッファクリア指示受信後に、前記ホストコンピュータにバッファクリア完了通知を送信し、前記バッファクリア完了通知送信後に前記ホストコンピュータから受信する印刷データを基に印刷を実行することを特徴とする（１）または（２）記載のプリンタ。
（４）  単票用紙紙無し印刷停止発生時に、受信バッファをクリアするステップと、
ホストコンピュータに単票用紙紙無し印刷停止発生を通知するステップと、
前記ホストコンピュータから受信するバッファクリア指示に応じて、前記受信バッファを再度クリアするステップと、を備えたことを特徴とするプリンタの制御方法。
（５）  前記単票用紙紙無し印刷停止発生時に、印刷バッファをクリアするとともに、前記バッファクリア指示に応じて、前記印刷バッファを再度クリアすることを特徴とする（４）記載のプリンタの制御方法。
（６）  前記バッファクリア指示受信後に、前記ホストコンピュータにバッファクリア完了通知を送信するステップと、
前記バッファクリア完了通知送信後に送信される印刷データを基に印刷を実行するステップとを備えたことを特徴とする（４）または（５）記載のプリンタ。
【発明の効果】
【００１０】
本発明によれば、印刷途中で単票用紙紙無し印刷停止が発生し、印刷が中断された場合であっても、受信バッファ及び印刷バッファに保存されていた印刷データはクリアされ、そしてその後印刷データを受信した場合であっても、受信バッファと印刷バッファがそれぞれ再度クリアされるので、次回印刷可能な状態となった時点で、プリンタには不要な印刷データが全く残らない。よって、単票用紙紙無し印刷停止発生により印刷すべきでない先の印刷データの後半部分が次の用紙挿入後に印刷されてスリップ紙が無駄になるといった状態が発生することが無い。
【００１１】
また、その後印刷が中断された印刷データをプリンタに向けてホストコンピュータが再最初から送信することにより、適切なサイズの１枚のスリップ紙に改めてスムーズに印刷することができる。したがって、印刷の途中で単票用紙紙無し印刷停止が発生した場合であ
っても効率の低下を最小限に抑制しながら印刷を連続的に継続することができる。
【００１２】
なお、印刷にインクやトナーを必要とするプリンタにおいては、ロール紙等の用紙とともに、インクまたはトナーの消費も抑制することができ、インクカートリッジやトナーカートリッジの寿命を長引かせるために寄与することもできる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら、本発明にかかるプリンタ及びプリンタの制御方法の実施形態について説明する。
【００１４】
図１は、本実施形態のプリンタシステムを示す斜視図であり、図２は、スリップ紙の搬送経路を示す模式的な断面図である。図３は、本実施形態のプリンタシステム１内部の制御構成を模式的に示す機能ブロック図である。図４及び図５は、本実施形態のプリンタの処理について示すフローチャートである。図６は、本実施形態のホストコンピュータの処理について示すフローチャートである。図７は、ホストコンピュータとプリンタとの間のコマンド送信を示すタイミングチャートである。
【００１５】
本実施形態のプリンタシステム１は、図１に示すように、スリップ紙Ｓの両面印刷、画像読み取り、磁気文字読み取りを行うとともに、レシートを発行可能な複合型プリンタであるプリンタ１０と、このプリンタ１０を制御するホストコンピュータ３０とを備えている。
【００１６】
プリンタ１０は、本体部１１上に正面側上面を覆うように開閉可能に取り付けられた正面側カバー１３と、正面側カバー１３の後方上面を覆うように開閉可能に取り付けられた背面側カバー１２とによって構成されている。
【００１７】
プリンタ１０の本体部１１と背面側カバー１２との間には、ロール紙収納空間が形成されており、このロール紙収納空間にロール紙Ｐが装填されている。ロール紙Ｐは、本体部１１内部に設けられたロール紙搬送路を搬送されながら、図示せぬ印刷ヘッドにより印刷が行われる。そして印刷されたロール紙は背面側カバー１２の上面に開口したロール紙排出口１２ａより排出される。図１では、ロール紙排出口１２ａから排出されたロール紙Ｐの一端が示されている。このロール紙Ｐは、自動または手動により印刷データの長さに応じて切断され、一枚のレシートとして発行される。
【００１８】
また、プリンタ１０の正面側カバー１３の下方には、スリップ紙Ｓを挿入可能なスリップ紙挿入口１５が形成されている。スリップ紙挿入口１５から挿入されたスリップ紙Ｓは、本体部１１に形成されたスリップ紙搬送路１６を搬送され、正面側カバー１３と背面側カバー１２との間に形成されたスリップ紙排出口１７から排出される。スリップ紙Ｓは、このスリップ紙搬送路１６に沿って搬送されながらスリップ紙Ｓへの印刷、スリップ紙Ｓの画像読み取り、スリップ紙Ｓ上に印刷されたＭＩＣＲの読み取り等を実行可能である。
【００１９】
図２に示すように、スリップ紙搬送路１６に挿入されたスリップ紙Ｓは、図２に示すように、サブスリップ紙送りローラ２２ａと、サブスリップ紙送りローラ２２ａとスリップ紙搬送路１６を挟んで対向配置されたサブスリップ紙押さえローラ２２ｂとに搬送され、スリップ紙搬送路１６内部の裏面印刷部２３に送られる。
【００２０】
裏面印刷部２３は、スリップ紙Ｓの裏面側に配置されたシリアルインパクトドットマトリクス方式の印刷部２３ａと、印刷部２３ａとスリップ紙搬送路１６を挟んで対向配置されたプラテン２３ｂとから構成されている。この印刷部２３ａは、スリップ紙Ｓの裏面へ印刷可能である。
【００２１】
裏面印刷部２３からさらに搬送されたスリップ紙Ｓは、スリップ紙送りローラ２４ａと、スリップ紙送りローラ２４ａとスリップ紙搬送路１６を挟んで対向配置されたスリップ紙押さえローラ２４ｂとによって搬送され、スリップ紙搬送路１６内部の表面印刷部２５に送り込まれる。ここで、サブスリップ紙送りローラ２２ａと、スリップ紙送りローラ２４ａは、図示せぬステッピングモータにより駆動されて回転する。ステッピングモータは、その回転角度をステップ数（ステッピングモータに出力するパルス数）で制御可能なモータであり、プリンタ１０は、この回転角度からスリップ紙Ｓの搬送量を把握することが可能である。
【００２２】
表面印刷部２５は、スリップ紙Ｓの表面側に配置されたシリアルインパクトドットマトリクス方式の印刷部２５ａと、印刷部２５ａとスリップ紙搬送路１６を挟んで対向配置されたプラテン２５ｂとから構成されている。この印刷部２５ａは、スリップ紙Ｓの表面へ印刷可能である。表面印刷部２５からさらに搬送されたスリップ紙Ｓは、スリップ紙画像情報読み取りセンサ２６に送られる。
【００２３】
スリップ紙画像情報読み取りセンサ２６は、ＣＩＳタイプのイメージセンサ（スキャナ）であり、スリップ紙Ｓの表面側に配置されている。スリップ紙画像情報読み取りセンサ２６のスリップ紙搬送路１６を挟んだ対向面側には、押しつけローラ２７が配置されている。この押しつけローラ２７は、弾性部材等からなる押しつけ部材２７ａによってスリップ紙画像情報読み取りセンサ２６の読み取り面２６ａに向けてスリップ紙Ｓを紙厚に応じた所定の押圧力で押しつけている。スリップ紙画像情報読み取りセンサ２６は、スリップ紙Ｓが押しつけローラ２７によって読み取り面２６ａに押し付けられた状態で、スリップ紙Ｓの表面側に記録された画像情報を読み取り可能に構成されている。スリップ紙画像情報読み取りセンサ２６と押しつけローラ２７間を通過したスリップ紙Ｓは、スリップ紙排出口１７から排出される。
【００２４】
また、スリップ紙挿入口１５にはスリップ紙後端センサ２８ａが、またサブスリップ紙押さえローラ２２ｂの下流側には、スリップ紙先端センサ２８ｂが設けられており、スリップ紙搬送路１６内でのスリップ紙Ｓの有無の確認、スリップ紙Ｓの長さの検出ならびに表面印刷部２５および裏面印刷部２３による印刷時の頭出し制御に用いられている。
【００２５】
また、表面印刷部２５とスリップ紙画像情報読み取りセンサ２６との間には、排出検出器２９が設けられており、スリップ紙搬送路１６からスリップ紙Ｓが排出されたかどうかを検出している。
【００２６】
また、スリップ紙搬送路１６のスリップ紙挿入口１５近傍には、ＭＩＣＲ読み取りセンサ２８ｃが設けられている。このＭＩＣＲ読み取りセンサ２８ｃは、例えばスリップ紙Ｓに磁気インクを用いて印刷されたＭＩＣＲを読み取るものである。このＭＩＣＲは、スリップ紙が小切手の場合には、小切手の発行銀行番号、支店番号、口座番号、小切手の連続番号等のＭＩＣＲデータを示しており、このＭＩＣＲ読み取りセンサ２８ｃを用いて読み取ることにより、プリンタ１０は、挿入された小切手のＭＩＣＲデータを認識することが可能である。
【００２７】
また、本実施形態のプリンタ１０は、内部にＣＰＵ，ＲＡＭ等を備えており、例えば不揮発性メモリであるフラッシュＲＯＭ内に記憶されたファームウェアをＣＰＵが読み出して実行することにより、各種制御動作が実行され、印刷が行われる。このプリンタ１０の制御については、後述する。
【００２８】
次に、ホストコンピュータ３０について説明する。
ホストコンピュータ３０は、シリアルケーブル、ＵＳＢケーブル等の通信ケーブル１００を介してプリンタ１０と通信可能に接続されている。本実施形態のホストコンピュータ３０は、タッチパネル３１、カードリーダ３２等の入力装置と表示部３３とをそなえ、タッチパネル３１，カードリーダ３２からの入力に応じて印刷データを生成し、通信ケーブル１００を介してプリンタ１０に印刷データを送信する。そして、プリンタ１０は、この印刷データに応じてロール紙またはスリップ紙に印刷を実行する。なお、本実施形態では、タッチパネル３１やカードリーダ３２を備えたホストコンピュータを例示しているが、プリンタ１０の制御を行うことができるものであればよく、例えばより一般的なパーソナルコンピュータをベースとしてホストコンピュータを構成しても良い。
【００２９】
次に、プリンタ１０の内部処理について説明する。
図３に示すように、プリンタ１０は、その内部にデータ受信部４１と、受信バッファ４２と、コマンド解析部４３と、制御部４４と、印刷バッファ４５と、印刷機構４６と、用紙先端検出部４７と、用紙後端検出部４８と、用紙長さ検出部５０と、定期ステータスデータ生成部５１と、ステータスデータ比較部５２と、ステータスデータ保持部５３と、データ送信部５４と、を備えている。
【００３０】
データ受信部４１は、ホストコンピュータ３０から送信される印刷データや各種コマンド等の各種データを受信するデータ通信部であり、通信インターフェース等により構成される。データ受信部４１は、受信した受信データを逐次受信バッファに保存する。
受信バッファ４２は、ラインバッファまたはリングバッファ形式のデータ記憶部であり、データ受信部４１が受信した各種データを受信順に記憶する。
【００３１】
コマンド解析部４３は、受信バッファ４２に記憶された各種データを受信が早い順に読み出し、その内容を解析する。受信したデータが印刷データであれば、そのデータは印刷バッファ４５にフォントＲＯＭ等を参照してイメージ展開される。一方、受信したデータがプリンタ１０の制御用コマンドであれば、制御部４４がこのコマンド内容に応じて各機能部に指示を行い、プリンタ１０全体の制御を実行する。この制御部４４は、後述する用紙長さ検出部５０の判断結果を基に、単票用紙紙無し印刷停止とするかどうかの判断も行う。
【００３２】
印刷機構４６は、図示せぬ搬送ローラを駆動して紙送りを実行しながら、印刷ヘッドを駆動して印刷を実行する印刷部である。印刷機構４６は、印刷バッファ４５に展開されたイメージを基に紙送り制御及び印刷ヘッド制御を行い、スリップ紙Ｓやロール紙Ｐに印刷を実行する。
【００３３】
用紙先端検出部４７は、スリップ紙先端センサ２８ｂによりスリップ紙Ｓの先端検出を行う検出部である。用紙先端検出部４７は、スリップ紙先端センサ２８ｂによりスリップ紙Ｓが検出されると、用紙長さ検出部５０に用紙検出信号を出力する。
【００３４】
用紙後端検出部４８は、スリップ紙後端センサ２８ａによりスリップ紙Ｓの後端検出を行う検出部である。用紙先端検出部４７は、スリップ紙先端センサ２８ｂによりスリップ紙Ｓが検出されると、用紙長さ検出部５０に用紙検出信号を出力する。
【００３５】
用紙長さ検出部５０は、用紙先端検出部４７からの検出信号と、用紙後端検出部４８からの検出信号と、ステッピングモータの回転量から判断されるスリップ紙Ｓの搬送量を基にスリップ紙Ｓの搬送方向長さを検出する。具体的には、用紙長さ検出部は、用紙先端検出部４７が用紙先端を検出して（出力が用紙なしから用紙ありになったタイミング）から、用紙後端検出部４８が用紙後端を検出する（出力が用紙ありから用紙なしになったタイミング）までに搬送されたスリップ紙Ｓの搬送量と、スリップ紙後端センサ２８ａとスリップ紙先端センサ２８ｂとの間の配置間隔とからスリップ紙Ｓの長さを判断する。
【００３６】
定期ステータスデータ生成部５１は、図示せぬエラー検出部、カバー検出部、用紙検出部、オフライン検出部等の状態をモニターし、これらの状態に応じたステータスデータを定期的に収集生成する。生成されたステータスデータは、生成される毎にステータスデータ比較部５２に送られる。
【００３７】
ステータスデータ比較部５２は、定期ステータスデータ生成部５１が生成したステータスデータと、予めステータスデータ保持部５３に保存されているステータスデータとを比較する比較部である。ステータスデータ保持部５３に保存されているステータスデータは、定期ステータスデータ生成部５１が前回生成したステータスデータと同一である。したがって、この比較を行うことにより、前回のステータスデータに示される前回モニター時のプリンタ１０の内部状態と比べて、今回のステータスデータに示される今回モニター時のプリンタ１０の内部状態が変化したかどうかを調べることができる。
【００３８】
ここで、定期ステータスデータ生成部５１が生成したステータスデータと、予めステータスデータ保持部５３に保存されているステータスデータとが同じであれば、プリンタ１０の内部状態は変化していないと考えることができ、その比較処理を終了する。一方、両ステータスデータが異なっていれば、プリンタ１０内部にて何らかの変化が発生したと考えることができ、ステータスデータ比較部５２は、ステータス保持部５３のステータスデータを新たなステータスデータで更新するとともに、今回生成されたステータスデータをステータス信号としてデータ送信部５４を介してホストコンピュータ３０に通知する。この処理は自動ステータス送信処理と呼ばれ、この自動ステータス送信処理により、ホストコンピュータ３０は、常にプリンタ１０の内部状態を把握することができる。
【００３９】
以下、本実施形態では、単票用紙紙無し印刷停止となった場合の処理について詳細に説明していく。
本実施形態のプリンタ１０は、ホストコンピュータ３０から以下のような復帰時動作設定コマンド（１）を受信することにより、単票用紙紙無し印刷停止時の処理動作について選択することが可能である。
【００４０】
ＧＳ  （  Ｊ  ８０  ｍ          ・・・（１）
ここで、ｍ＝０，１
【００４１】
「ＧＳ  （  Ｊ  ８０」は、この復帰時動作設定コマンドが単票用紙紙無し印刷停止時における処理に関するものであることを示しており、ｍが０の時、制御部４４は通常動作を実行し、ｍが１の時、制御部４４は復帰動作時に用紙の印刷無駄を発生させないような処理を実行する。具体的に説明すると、ｍが０または１のときのプリンタ１０の内部処理は以下のようになる。以下の処理は、単票用紙紙無し印刷停止発生時に自動的に実行される。
【００４２】
ｍ＝０の場合：通常モード
（１）受信バッファ及び印刷バッファのクリアを行わない。
（２）単票用紙紙無し印刷停止時が発生したときに処理中のコマンドがあった場合、
復帰後そのコマンド処理を継続する。
【００４３】
ｍ＝１の場合：省用紙モード
（１）受信バッファ及び印刷バッファのクリアを行う。
（２）単票用紙紙無し印刷停止時が発生したときに処理中のコマンドがあった場合、
そのコマンド処理を中断する（復帰後、そのコマンド処理を行わない）。
（３）単票用紙紙無し印刷停止時発生から印刷可能状態に復帰するまでの間に受信し
たデータを読み捨てし、受信バッファに保存しない（この処理は、復帰時では
ない）。
（４）クリアレスポンスをホストコンピュータ３０に送信する。
【００４４】
プリンタ１０には、初期状態ではｍ＝０が保存されており、（１）に示すコマンドが送信されるとプリンタ１０の動作設定が切り替えられる。具体的には、図４に示すように、初期状態でｍ＝０に対応する通常モードがプリンタ１０には設定されており（ステップＳ１）、ステップＳ２において復帰時動作設定コマンドの受信を待つ（ステップＳ２）。
そして、復帰時動作設定コマンドを受信すると、このコマンド内の変数ｍの値を調べ（ステップＳ３）、ｍ＝０であればステップＳ４にて通常モードに再設定し、ｍ＝１であればステップＳ５にて省用紙モードを設定する。この復帰時動作設定コマンドは、ユーザの意志に応じてホストコンピュータ３０から印刷の種類に応じた設定をすることができる。
【００４５】
次に、ｍ＝１に対応する省用紙モードの詳細について説明する。
図５は、ｍ＝１の省用紙モードにおけるプリンタ１０の処理を示すフローチャートであり、図６は、ｍ＝１の省用紙モードにおけるホストコンピュータ３０の処理を示すフローチャートであり、図７は、ホストコンピュータとプリンタとの間のコマンド送信を示すタイミングチャートである。以下の説明では、図５、図６及び図７を参照しながら時系列に沿って、プリンタ１０とホストコンピュータ３０の処理を説明する。
【００４６】
まず、図６に示すように、プリンタ１０がオンラインの状態で、ホストコンピュータ３０が印刷データをプリンタ１０に送信すると（ステップＳ２１）、図５に示すようにプリンタ１０は、この印刷データを受信し印刷機構４６を介してスリップ紙Ｓへの印刷を開始する（ステップＳ１１）。
【００４７】
ここで、プリンタ１０は、スリップ紙Ｓへの印刷を実施しながら、用紙長さ検出部５０により用紙長さを検出する。そして制御部４４は、この用紙長さ検出部５０により検出された用紙長さと、継続的に受信する印刷データのデータ長さ（例えば、印刷行数）を比較し、スリップ紙Ｓ一枚にすべての印刷データが印刷できるかどうか、逆に言えば単票用紙紙無し印刷停止となるかどうかを判断する（ステップＳ１２）。ここで、印刷データのデータ長さがスリップ紙Ｓに印刷可能であれば、Ｎｏにすすみ印刷を完了して終了する。
【００４８】
一方、制御部４４は、スリップ紙Ｓに全てのデータを印刷不可能であると判明すると、オンラインのまま単票用紙紙無し印刷停止処理が行われ、スリップ紙Ｓへの印刷が中断される（ステップＳ１３）。そして、プリンタ１０は、制御部４４を介して以下の３つの処理を実行する（ステップＳ１４）。
（ａ）  受信バッファクリア
（ｂ）  ホストコンピュータへ単票用紙紙無し印刷停止発生の通知（クリアレスポンス１送信）
（ｃ）  印刷バッファクリア
（ｄ）  コマンド解析初期化
【００４９】
処理（ａ）は、単票用紙紙無し印刷停止状態が発生する直前にホストコンピュータ３０から受信し、受信バッファ４２にバッファされたデータを破棄するものである。この受信バッファ４２にバッファされたデータの中には、現在印刷が中断しているスリップ紙Ｓに印刷されるべき未印刷のデータが含まれていると考えられるが、この未印刷のデータはすべてプリンタ１０から破棄される。この処理は、印刷停止状態から復帰後に受信バッファ４２に保存された未印刷のデータの印刷が実行されることにより、送信された印刷データの後半部分のみの印刷が行われたスリップ紙Ｓに印刷されることを防ぐためである。
【００５０】
処理（ｂ）は、ホストコンピュータ３０へ単票用紙紙無し印刷停止が発生したことを通知するものである。この処理は、制御部４４からデータ送信部５４を介してクリアレスポンス１とよばれる応答コマンドがホストコンピュータ３０に送信されることにより実現される。
【００５１】
処理（ｃ）は、印刷バッファ４５内にバッファされている印刷イメージの破棄である。印刷中に単票用紙紙無し印刷停止が発生した場合、印刷バッファ４５には未印刷のイメージが保存されていると考えられるため、これを破棄し不要な印刷が行われないようにする。
【００５２】
処理（ｄ）は、コマンド解析部４３によるコマンド解析処理を初期化して、処理途中の印刷データを無視させ、次に受信する受信データに対するコマンド解析に対する準備を行う。
【００５３】
その後、プリンタ１０では、クリアレスポンス１に対する応答コマンドとしてバッファクリアコマンドが送信されたかどうかをモニターし、プリンタ１０はこのバッファクリアコマンドを受信するまで待機する（ステップＳ１５）。
【００５４】
一方、ホストコンピュータ３０は、図６に示すように、ステップＳ２２にてクリアレスポンス１を受信して、プリンタ１０が単票用紙紙無し印刷停止となったことを通知されると、直ちに印刷データの送信を中断するとともに、バッファクリアコマンドをプリンタ１０に送信する（ステップＳ２３）。
【００５５】
バッファクリアコマンドは、バッファクリアコマンドは、プリンタ１０内部の受信バッファ及び印刷バッファを再度クリアさせるためのコマンドである。プリンタ１０は、ステップＳ１４にて受信バッファ４２及び印刷バッファ４５のクリアを実行しているため、再度バッファクリアする必要性は無いと考えられるが、以下のような理由により、バッファクリアが必要な場合がある。
【００５６】
プリンタ１０は、受信バッファ４２及び印刷バッファ４５のクリアを実行した後に、印刷データを一切受信しなければ問題ないが、プリンタ１０自身はオンライン状態であるため、バッファクリア後ホストコンピュータ３０が送信を中断するまでに送信した印刷データを受信バッファ４２にバッファしてしまう。このデータが受信バッファ４２に保存されると、用紙が挿入されて単票用紙紙無し印刷停止が解除された後に挿入されたスリップ紙Ｓに前回印刷されなかった印刷データの後半部分の一部が印刷され、スリップ紙Ｓを無駄に消費してしまう。
【００５７】
したがって、このような状況を考慮すると、ステップＳ１４を実行した後に、再度受信バッファ４２及び印刷バッファ４５のクリアを実行することが好ましい。このバッファクリアのための指示がステップＳ２３によって送信されるバッファクリアコマンドである。
【００５８】
なお、ホストコンピュータ３０は、プリンタ１０から１行分の印刷データの印刷が終了する毎に印刷終了コマンドを受信し、印刷するレシートの最終行の印刷完了を示す印刷終了コマンドを受信するまで、プリンタ１０に送信した又は送信する一つのレシートに関する印刷データを破棄せず保持している。図５及び図６に示すように、印刷途中で単票用紙紙無し印刷停止となり、ひとまとまりの印刷データの最終行の印刷が行われていない場合には、この印刷データは単票用紙紙無し印刷停止から復帰した場合の再送信のため保存される。
【００５９】
次に、プリンタ１０は、ステップＳ１５にてバッファクリアコマンドを受信すると、ステップＳ１６に移行し、制御部４４を介して以下４つの処理を実行する。
（ｄ）  受信バッファクリア
（ｅ）  受信バッファクリアの通知（クリアレスポンス２送信）
（ｆ）  印刷バッファクリア
（ｇ）  コマンド解析初期化
【００６０】
すなわち、ステップＳ１６では、ステップＳ１４の処理を行ってからホストコンピュータ３０から送信された印刷データの存在を考慮し、再度ステップＳ１４の処理のうち、バッファクリア及び初期化に関する処理を再実行する。そして、クリアレスポンス２をホストコンピュータ３０に送信し、これらのバッファクリアが完了したことをホストコンピュータ３０に通知する。
【００６１】
ホストコンピュータ３０は、ステップＳ２４にてクリアレスポンス２の受信を待ち、クリアレスポンス２を受信すると、ステップＳ２５にて印刷が中断された印刷データを一行目から再送信する。
【００６２】
そして、プリンタ１０は、このホストコンピュータ３０から送信されるレシートの印刷データを再受信して、用紙待ち状態となる。そして、改めて適切なサイズのスリップ紙がスリップ紙挿入口１５から挿入されるとスリップ紙Ｓへの印刷を最初からやり直して実行する。
本実施形態のプリンタ１０における処理の説明は以上となる。
【００６３】
このように、本実施形態のプリンタ１０は、ホストコンピュータ３０から送信されるデータを受信するデータ受信部４１と、ホストコンピュータ３０にデータを送信するデータ送信部５４と、データ受信部４１によって受信されたデータを一時保持する受信バッファ４２と、受信バッファ４２に一時保持されたデータを解析するコマンド解析部４３と、コマンド解析部４３が解析したデータが印刷データであった場合に印刷イメージが展開される印刷バッファ４５と、印刷バッファ４５に展開された印刷イメージに応じて印刷をおこなう印刷機構４６と、データ受信部４１、受信バッファ４２、コマンド解析部４３、印刷バッファ４５及び印刷機構４６を制御する制御部４４と、を備えている。そして、制御部４４は、単票用紙紙無し印刷停止発生時に、受信バッファ４２内のデータをクリアさせるとともに、ホストコンピュータ３０へ単票用紙紙無し印刷停止となったことを通知（クリアレスポンス１の送信）する。そして、制御部４４は、ホストコンピュータ３０から受信するバッファクリア指示（バッファクリアコマンド）に応じて、受信バッファ４２を再度クリアさせる。より具体的には、制御部４４は、受信バッファ４２とともに印刷バッファ４５をクリアさせ、バッファクリア指示に応じて、受信バッファ４２及び印刷バッファ４５を再度クリアさせる。
【００６４】
したがって、本実施形態によれば、印刷途中で単票用紙紙無し印刷停止が発生し、印刷が中断された場合であっても、印刷途中の印刷データは、受信バッファ４２と印刷バッファ４５がそれぞれ２回クリアされるので、プリンタ１０が印刷可能な状態となった時点で、プリンタ１０には不要なデータが全く残らない。よって、単票用紙紙無し印刷停止前に印刷途中であった印刷データの後半部分が、単票用紙紙無し印刷停止から復帰後に印刷されてスリップ紙Ｓが無駄になるといった状態が発生することが無い。
【００６５】
また、その後印刷が中断された印刷データをプリンタ１０に向けてホストコンピュータ３０が最初から再送信することにより、１枚のスリップ紙に改めてスムーズに印刷することができる。したがって、印刷の途中で単票用紙紙無し印刷停止が発生した場合であっても効率の低下を最小限に抑制しながら印刷を連続的に継続することができる。
【００６６】
なお、本実施形態では、図１に示すようなプリンタに適用したがこれに限られることはなく、インクジェットプリンタ、レーザプリンタ、ドットインパクトプリンタ、サーマルプリンタなど様々な種類のプリンタに適用することができる。特に、印刷にインクやトナーを必要とするプリンタにおいては、ロール紙等の用紙とともに、インクまたはトナーの消費も抑制することができ、インクカートリッジやトナーカートリッジの寿命を長引かせるために寄与することもできる。
【図面の簡単な説明】
【００６７】
【図１】本発明にかかる実施形態のプリンタシステムを示す斜視図である。
【図２】スリップ紙Ｓの搬送路を示す模式的な断面図である。
【図３】プリンタシステム内部の制御構成を模式的に示す機能ブロック図である。
【図４】プリンタの処理について示すフローチャートである。
【図５】プリンタの処理について示すフローチャートである。
【図６】ホストコンピュータの処理について示すフローチャートである。
【図７】ホストコンピュータとプリンタとの間のコマンド送信を示すタイミングチャートである。
【符号の説明】
【００６８】
１  プリンタシステム
１０  プリンタ
３０  ホストコンピュータ
４１  データ受信部
４２  受信バッファ
４３  コマンド解析部
４４  制御部
４５  印刷バッファ
４６  印刷機構
５０  用紙長さ検出部
５４  データ送信部
【図１】
2006088688.tif 000003
【図２】
2006088688.tif 000004
【図３】
2006088688.tif 000005
【図４】
2006088688.tif 000006
【図５】
2006088688.tif 000007
【図６】
2006088688.tif 000008
【図７】
2006088688.tif 000009