(57)【特許請求の範囲】
【請求項１】
文字列を含み、前記文字列の記録を指示する制御コマンドを受信する受信部と、
前記受信部で受信した前記制御コマンドに基づいて、記録媒体に文字列を記録する記録部と、
前記受信部で受信した前記制御コマンドに特定の文字列が含まれるか否かを判別し、含まれる場合は、前記特定の文字列と対応付けられたステータスを前記制御装置に送信するステータス応答部と、
を備えることを特徴とする記録装置。
【請求項２】
前記記録媒体は、ロール紙であり、
前記ステータス応答部は、
前記受信部で受信した前記制御コマンドに特定の文字列が含まれる場合、前記ロール紙の残量に関するステータスを前記制御装置に送信する請求項１に記載の記録装置。
【請求項３】
前記記録媒体を切断する切断部を備え、
前記ステータス応答部は、
前記受信部で受信した前記制御コマンドに特定の文字列が含まれる場合、前記切断部の切断に係る機構の状態に関するステータスを前記制御装置に送信する請求項１又は２に記載の記録装置。
【請求項４】
前記ステータス応答部は、
前記受信部で受信した前記制御コマンドに特定の文字列が含まれる場合、前記記録部の記録に係る機構の状態に関するステータスを送信する請求項１ないし３のいずれか１項に記載の記録装置。
【請求項５】
前記記録部は、インクを吐出して前記記録媒体に記録するインクジェットヘッドであり、
前記ステータス応答部は、
前記受信部で受信した前記制御コマンドに前記特定の文字列が含まれる場合、前記インクの残量に関するステータスを送信する請求項１ないし４のいずれか１項に記載の記録装置。
【請求項６】
文字列を含み、前記文字列の記録を指示する制御コマンドを受信し、
受信した前記制御コマンドに特定の文字列が含まれるか否かを判別し、含まれる場合は、前記特定の文字列と対応付けられたステータスを送信することを特徴とする記録装置の制御方法。
【請求項７】
文字列を含み、前記文字列の記録を指示する制御コマンドを受信する受信部と、前記受信部により受信した前記制御コマンドに基づいて、記録媒体に文字列を記録する記録部と、を備える記録装置を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記受信部で受信した前記制御コマンドに特定の文字列が含まれるか否かを判別し、含まれる場合は、前記特定の文字列と対応付けられたステータスを送信するステータス応答部として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に接続可能な記録装置、当該記録装置の制御方法、及び、当該記録装置を制御するためのプログラムに関する。
【背景技術】
【０００２】
従来、制御装置（ホスト）と、この制御装置に接続された記録装置（プリンター）とを備え、所定のタイミングで、記録装置が制御装置にステータスを送信する印刷システムが知られている（例えば、特許文献１参照）。
一般に、記録装置は、制御装置からステータス応答の要求があった場合、又は、記録装置において予め定められた状態の変化があった場合に、制御装置に対してステータスを送信する。例えば、記録装置は、制御装置からカバーの開閉状態を示すステータス応答の要求があった場合に、カバーの開閉状態を検出した上で、当該状態を示すステータスを送信し、また例えば、記録装置は、カバーが閉状態から開状態へと移行した場合に、そのことを検出し、そのことを示すステータスを送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１６５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上述した手順のほかに、記録装置が記録媒体に記録する機能を有していることを踏まえた適切な手順で制御装置に対してステータスを送信することが可能であれば、ステータスを送信するときに採用し得る手順の選択肢が広がり、より状況に応じたステータスの送信が可能となる。
本発明は、上述した事情に鑑みてなされたものであり、記録装置が、記録媒体に記録する機能を利用した新たな手順で、制御装置に対してステータスを送信できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、文字列を含み、前記文字列の記録を指示する制御コマンドを受信する受信部と、前記受信部で受信した前記制御コマンドに基づいて、記録媒体に文字列を記録する記録部と、前記受信部で受信した前記制御コマンドに特定の文字列が含まれるか否かを判別し、含まれる場合は、前記特定の文字列と対応付けられたステータスを前記制御装置に送信するステータス応答部と、を備えることを特徴とする。
この構成によれば、記録装置は、制御コマンドに特定の文字列が含まれている場合は、特定の文字列と対応付けられたステータスを送信する。このため、記録装置は、文字列の記録の際に制御装置から受信する制御コマンドを利用して、従来にない新たな手順でステータスを送信することが可能となる。さらに、上記構成によれば、例えば、制御装置は、記録装置に特定の文字列を記録させる場合には、同時に、特定のステータスを必要とする、といった状況が存在する場合に、記録装置は、制御装置からのステータス応答要求のコマンドを待つことなく、ステータスを送信することが可能となり、状況に応じたステータスを効率的に送信することが可能となる。
【０００６】
また、本発明は、前記記録媒体は、ロール紙であり、前記ステータス応答部は、前記受信部で受信した前記制御コマンドに特定の文字列が含まれる場合、前記ロール紙の残量に関するステータスを前記制御装置に送信することを特徴とする。
ここで、従来は、制御装置がロール紙の残量に関するステータスを取得するためには、当該ステータスの応答を要求する処理が行われるか、または、ロール紙の残量が閾値を下回ったことをトリガーとして記録装置がステータスを送信する処理が行われていたが、上記構成によれば、記録装置は、文字列の記録の際に制御装置から受信する制御コマンドを利用して、従来にない新たな手順でロール紙の残量に関するステータスを送信することが可能となる。
さらに、上記構成によれば、例えば、制御装置は、記録装置に特定の文字列を記録させる場合には、同時に、ロール紙の残量に関するステータスを必要とする、といった状況が存在する場合に、記録装置は、制御装置からのステータス応答要求のコマンドを待つことなく、ステータスを送信することが可能となり、状況に応じたステータスを効率的に送信することが可能となる。
【０００７】
また、本発明は、前記記録媒体を切断する切断部を備え、前記ステータス応答部は、前記受信部で受信した前記制御コマンドに特定の文字列が含まれる場合、前記切断部の切断に係る機構の状態に関するステータスを前記制御装置に送信することを特徴とする。
ここで、従来は、制御装置が切断部における切断に係る機構の状態に関するステータスを取得するためには、当該ステータスの応答を要求する処理が行われるか、または、当該機構に何らかの異常等が発生したことをトリガーとして記録装置がステータスを送信する処理が行われていたが、上記構成によれば、記録装置は、文字列の記録の際に制御装置から受信する制御コマンドを利用して、従来にない新たな手順で当該機構の状態に関するステータスを送信することが可能となる。
さらに、上記構成によれば、例えば、制御装置は、記録装置に特定の文字列を記録させる場合には、同時に、切断部における切断に係る機構に関するステータスを必要とする、といった状況が存在する場合に、記録装置は、制御装置からのステータス応答要求のコマンドを待つことなく、ステータスを送信することが可能となり、状況に応じたステータスを効率的に送信することが可能となる。
【０００８】
また、本発明は、前記ステータス応答部は、前記受信部で受信した前記制御コマンドに特定の文字列が含まれる場合、前記記録部の記録に係る機構の状態に関するステータスを前記制御装置に送信することを特徴とする。
ここで、従来は、制御装置が記録部における記録に係る機構の状態に関するステータスを取得するためには、当該ステータスの応答を要求する処理が行われるか、または、当該機構に何らかの異常等が発生したことをトリガーとして記録装置がステータスを送信する処理が行われていたが、上記構成によれば、記録装置は、文字列の記録の際に制御装置から受信する制御コマンドを利用して、従来にない新たな手順で当該機構の状態に関するステータスを送信することが可能となる。
さらに、上記構成によれば、例えば、制御装置は、記録装置に特定の文字列を記録させる場合には、同時に、記録部における記録に係る機構に関するステータスを必要とする、といった状況が存在する場合に、記録装置は、制御装置からのステータス応答要求のコマンドを待つことなく、ステータスを送信することが可能となり、状況に応じたステータスを効率的に送信することが可能となる。
【０００９】
また、本発明は、前記記録部は、インクを吐出して前記記録媒体に記録するインクジェットヘッドであり、前記ステータス応答部は、前記受信部で受信した前記制御コマンドに前記特定の文字列が含まれる場合、前記インクの残量に関するステータスを送信することを特徴とする。
ここで、従来は、制御装置がインクの残量に関するステータスを取得するためには、当該ステータスの応答を要求する処理が行われるか、または、インクの残量が閾値を下回ったことをトリガーとして記録装置がステータスを送信する処理が行われていたが、上記構成によれば、記録装置は、文字列の記録の際に制御装置から受信する制御コマンドを利用して、従来にない新たな手順で当該機構の状態に関するステータスを送信することが可能となる。
さらに、上記構成によれば、例えば、制御装置は、記録装置に特定の文字列を記録させる場合には、同時に、インクの残量に関するステータスを必要とする、といった状況が存在する場合に、記録装置は、制御装置からのステータス応答要求のコマンドを待つことなく、ステータスを送信することが可能となり、状況に応じたステータスを効率的に送信することが可能となる。
【００１０】
また、上記目的を達成するために、本発明は、文字列を含み、当該文字列の記録を指示する制御コマンドを受信し、受信した前記制御コマンドに特定の文字列が含まれるか否かを判別し、含まれる場合は、前記特定の文字列と対応付けられたステータスを送信することを特徴とする。
この制御方法によれば、記録装置は、制御コマンドに特定の文字列が含まれている場合は、特定の文字列と対応付けられたステータスを送信する。このため、記録装置は、文字列の記録の際に制御装置から受信する制御コマンドを利用して、従来にない新たな手順でステータスを送信することが可能となる。さらに、上記制御方法によれば、例えば、制御装置は、記録装置に特定の文字列を記録させる場合には、同時に、特定のステータスを必要とする、といった状況が存在する場合に、記録装置は、制御装置からのステータス応答要求のコマンドを待つことなく、ステータスを送信することが可能となり、状況に応じたステータスを効率的に送信することが可能となる。
【００１１】
また、上記目的を達成するために、本発明は、文字列を含み、前記文字列の記録を指示する制御コマンドを受信する受信部と、前記受信部により受信した前記制御コマンドに基づいて、記録媒体に文字列を記録する記録部と、を備える記録装置を制御する制御部により実行されるプログラムであって、前記制御部を、前記受信部で受信した前記制御コマンドに特定の文字列が含まれるか否かを判別し、含まれる場合は、前記特定の文字列と対応付けられたステータスを送信するステータス応答部として機能させることを特徴とする。
このプログラムを実行すれば、記録装置は、制御コマンドに特定の文字列が含まれている場合は、特定の文字列と対応付けられたステータスを送信する。このため、記録装置は、文字列の記録の際に制御装置から受信する制御コマンドを利用して、従来にない新たな手順でステータスを送信することが可能となる。さらに、上記プログラムを実行すれば、例えば、制御装置は、記録装置に特定の文字列を記録させる場合には、同時に、特定のステータスを必要とする、といった状況が存在する場合に、記録装置は、制御装置からのステータス応答要求のコマンドを待つことなく、ステータスを送信することが可能となり、状況に応じたステータスを効率的に送信することが可能となる。
【発明の効果】
【００１２】
本発明によれば、記録装置が、記録媒体に記録する機能を利用した新たな手順で、制御装置に対してステータスを送信できるようにする。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係る記録システムの機能的構成を示すブロック図である。
【図２】制御コマンドと、及び、レシートを示す図である。
【図３】ホストコンピューター及びプリンターの動作を示すフローチャート。
【図４】ステータステーブルを示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る記録システム１０の機能的構成を示すブロック図である。
記録システム１０は、スーパーマーケットやコンビニエンスストア等の店舗に適用され、店舗に来店した顧客の代金の支払いに応じてレシートを発行するシステムであり、図１に示すように、ホストコンピューター１１（制御装置）と、ＰＯＳサーバー２５と、プリンター２６（記録装置）とを備えている。
【００１５】
ＰＯＳサーバー２５は、ＬＡＮ等のネットワークを介してホストコンピューター１１に通信可能に接続されており、店舗で販売している商品の商品コードや、名称、金額等のレシートの発行のために必要となる情報を示すデータをデータベースとして記憶する。ホストコンピューター１１は、レシートの発行に際し、適宜、ＰＯＳサーバー２５に記憶されたデータベースを参照し、必要な情報を取得する。
【００１６】
ホストコンピューター１１は、ホスト側制御部２８と、ホスト側表示部２９と、ホスト側入力部３０と、インターフェイス部３１（Ｉ／Ｆ）と、ホスト側記憶部３２と、を備えている。
ホスト側制御部２８は、ホストコンピューター１１の各部を中枢的に制御するものであり、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路等を備えている。
ホスト側表示部２９は、液晶表示パネル等の表示パネルを備え、ホスト側制御部２８の制御の下、表示パネルに各種情報を表示する。
ホスト側入力部３０は、キーボードや、マウス、バーコードリーダー、カードリーダー等の入力デバイスに接続され、これら入力デバイスの出力信号をホスト側制御部２８に出力する。バーコードリーダーは商品の包装紙等に記録されたバーコードの読み取りに利用され、カードリーダーはクレジットカードや、会員カード等に記録された情報の読み取りに利用される。バーコードリーダーやカードリーダー等の入力デバイスを用いて取得した情報は、レシートの発行に係る処理に用いられる。
インターフェイス部３１（Ｉ／Ｆ）は、ホスト側制御部２８の制御の下、プリンター２６との間で通信規格に準拠した通信を行う。
ホスト側記憶部３２は、ＥＥＰＲＯＭ等の不揮発性メモリーを備え、上述したプリンタードライバーや、その他のプログラム、各種データを書き換え可能に記憶する。
【００１７】
一方、プリンター２６は、ロール状に巻かれたロール紙（記録媒体）を、ローラーにより搬送し、このロール紙の記録面に、インクジェットヘッド３７（記録部）からインクを吐出して画像を記録した上で、カッターユニット３８（切断部）により所定の位置でロール紙を切断することにより、レシートを発行するインクジェット式プリンターである。
図１に示すように、プリンター２６は、プリンター側制御部４０と、プリンター側表示部４１と、プリンター側入力部４２と、プリントエンジン４３と、プリンター側記憶部４４と、インターフェイス部４５（Ｉ／Ｆ）と、を備えている。
プリンター側制御部４０は、プリンター２６を中枢的に制御するものであり、ＣＰＵやＲＯＭ、ＲＡＭ、その他の周辺回路等を備えている。プリンター側制御部４０は、ステータス応答部５０と、ニアエンド検出部５１と、カッター位置検出部５２と、吐出不良検出部５３と、インク残量検出部５４と、を備えているが、これらについては後述する。
プリンター側表示部４１は、プリンター２６の動作状態等の各種情報を表示する液晶表示パネル等の表示パネルを備え、プリンター側制御部４０の制御の下、当該表示パネルに各種情報を表示する。また、プリンター側表示部４１は、ＬＥＤを備え、このＬＥＤを点灯／消灯して、プリンター２６の状態を報知する。
プリンター側入力部４２は、プリンター２６に設けられた操作スイッチに接続され、操作スイッチに対する操作を検出し、プリンター側制御部４０に出力する。
プリントエンジン４３は、プリンター側制御部４０の制御の下、用紙端センサーや用紙残量センサー等の各種センサーの検出値を監視しながら、上述したインクジェットヘッド３７のほか、ロール紙を搬送するローラーを駆動するための搬送モーターや、上述したカッターユニット３８が備えるカッターを駆動するためのカッター駆動モーターを動作させて、ロール紙に画像を記録し、画像を記録したロール紙を切断することによりレシートを発行する。
インターフェイス部４５（Ｉ／Ｆ）は、プリンター側制御部４０の制御の下、プリンター２６との間で通信規格に準拠した通信を行う。本実施形態では、プリンター側制御部４０と、インターフェイス部４５とが協働して、後述する制御コマンドを受信する受信部として機能する。
プリンター側記憶部４４は、ＥＥＰＲＯＭ等の不揮発性メモリーを備え、各種データを書き換え可能に記憶する。プリンター側記憶部４４には、プリンター２６のファームウェアが記憶されているほか、ステータステーブル７０が記憶されている。ステータステーブル７０については、後述する。
【００１８】
また、プリンター２６は、ニアエンドセンサー５６を備えている。ニアエンドセンサー５６は、プリンター２６に収容されたロール紙について、ロール紙の残量が所定の閾値を下回ったこと（以下、「ロール紙のニアエンド」という。）を検出するセンサーであり、例えば、ロール紙の残量が所定の閾値を上回っている間はオフとなり、下回るとオンとなる透過型の光センサーである。プリンター側制御部４０のニアエンド検出部５１は、ニアエンドセンサー５６の検出値に基づいて、収容されたロール紙のニアエンドを検出する。ニアエンド検出部５１の機能は、プリンター側制御部４０のＣＰＵがファームウェアを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
【００１９】
また、プリンター２６は、カッター位置検出センサー５７を備えている。カッター位置検出センサー５７は、カッターユニット３８における可動刃が、予め定められた待機位置に位置しているか否かを検出するセンサーであり、例えば、可動刃が当該待機位置に位置している場合オフとなり、位置していない場合はオンとなる透過型の光センサーである。プリンター側制御部４０のカッター位置検出部５２は、カッター位置検出センサー５７の検出値に基づいて、カッターユニット３８における可動刃が待機位置に位置していること、又は、いないことを検出する。本実施形態では、カッターユニット３８によるロール紙の切断が行われる際は、切断の実行前に可動刃が待機位置に位置している状態である必要がある。カッター位置検出部５２の機能は、プリンター側制御部４０のＣＰＵがファームウェアを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
【００２０】
また、プリンター２６は、ノズルチェックユニット５８を備えている。ノズルチェックユニット５８は、インクジェットヘッド３７に設けられた各ノズルについて吐出不良が発生しているか否かを検出するノズルチェック処理を実行するための機構である。
プリンター側制御部４０の吐出不良検出部５３は、例えば、電源が投入された直後や、最後にインクジェットヘッド３７による記録を行ってから所定の時間経過した後等の、所定のタイミングでノズルチェックユニット５８によりノズルチェック処理を行い、吐出不良が発見されたノズルがある場合は、そのノズルを特定する情報を、プリンター側記憶部４４に記憶する。吐出不良検出部５３の機能は、ＣＰＵがファームウェアを読み出して実行する頭、ハードウェアとソフトウェアとの協働により実現される。
ノズルチェック処理の方法としては、例えば、帯電したインクを導電材に吐出し、導電材の電流の変化により吐出不良を検出する方法や、また、ロール紙にインクを吐出してドットを形成させ、そのドットを光学的手法によって検査することにより吐出不良を検出する方法等がある。
【００２１】
また、プリンター側制御部４０のインク残量検出部５４は、インクジェットヘッド３７によるインクのショット数をカウントし、インクタンクにおけるインクの残量を管理する。
【００２２】
次に、ホストコンピューター１１がプリンター２６にレシートを発行させる際の動作について説明する。
レシートの発行に際し、まず、ホストコンピューター１１は、インストールされている所定のアプリケーション、及び、プリンタードライバーの機能により、プリンター２６のコマンド体系に準拠した制御コマンドであって、レシートの発行に係る各種動作の実行を指示する制御コマンドを生成し、プリンター２６に送信する。
プリンター２６は、インストールされているファームウェアの機能により、ホストコンピューター１１から受信した制御コマンドに基づいて、プリントエンジン４３の各機構を制御して、レシートを発行する。
【００２３】
次に、レシートの発行にあたり、ホストコンピューター１１からプリンター２６に送信される制御コマンドの具体的な態様と、当該制御コマンドを実行することにより発行されるレシートの内容について、説明する。
【００２４】
図２は、制御コマンドと、制御コマンドによって生成されるレシートとを模式的に示す図である。
図２のＢに示すように、レシートの先頭には、レシートが発行された日付を示す発行日画像６０が記録される。
この発行日画像６０の下方には、ロゴを示すロゴ画像６１が記録される。ロゴとは、レシートを発行する主体（例えば、記録システム１０が適用されている店舗を経営する会社）を示すマーク等、レシートの先頭に定型的に記録される画像のことである。
このロゴ画像６１の下方には、会計内容画像６２が記録される。会計内容画像６２は、本実施形態では、顧客が購入した商品の名称、及び、当該商品の購入数量、及び、当該商品の単価をそれぞれ示す情報や、会計において顧客が支払うべき金額の合計を示す情報を含む画像である。
この会計内容画像６２の下方には、クーポン画像６３が記録される。クーポン画像６３は、レシートをクーポンとして使用できるようにするためのクーポンに関する画像のことであり、文字列「ＣＯＵＰＯＮ」を示す文字列クーポン画像６３ａと、バーコードを示すバーコード画像６３ｂと、を含んでいる。クーポン画像６３において、文字列「ＣＯＵＰＯＮ」は、固定的に記録される。つまり、クーポン画像６３では、バーコード画像６３ｂの内容にかかわらず、その先頭に文字列「ＣＯＵＰＯＮ」が記録される。
このクーポン画像６３の下方には、末端画像６４が記録される。末端画像６４は、レシートの末端に定型的に記録される文字列に係る画像のことであり、本実施形態では、文字列「ＴＨＡＮＫ△ＹＯＵ」（△は、スペース。以下同様。）である。
【００２５】
本実施形態においては、レシートのレイアウトは、基本的に、図２のＢに示すレシートのレイアウトに準じるものとなっている。すなわち、本実施形態に係るレシートには、先頭から後端へ向かって順に、発行日画像６０、ロゴ画像６１、会計内容画像６２、クーポン画像６３、及び、末端画像６４が記録される。
ただし、クーポン画像６３については、所定の条件が成立した場合にのみ、記録される。所定の条件とは、例えば、合計金額が所定金額を上回っている場合や、キャンペーン中等である。従って、所定の条件が成立していない場合は、ホストコンピューター１１は、クーポン画像６３の記録を指示するコマンドをプリンター２６に送信しない。
なお、レシートのレイアウトは、説明の便宜を考慮して単純化しており、通常、税に関する情報や、おつりに関する情報等、上記で示した以外の情報が記録される。
【００２６】
一方、図２のＡに示すように、制御コマンドは、複数のコマンドから構成されている。
図２のＡに示すように、制御コマンドには、発行日記録指示コマンドＨＣが含まれている。発行日記録指示コマンドＨＣは、発行日画像６０の記録を指示するコマンドである。本実施形態では、発行日記録指示コマンドＨＣは、文字列の記録を指示する命令コードと、発行日を示す文字列と、から構成されている。発行日を示す文字列とは、所定の文字コード（例えば、Ｕｎｉｃｏｄｅや、アスキーコード）によって表現された文字の組み合わせからなる文字列である。本実施形態では、発行日記録指示コマンドＨＣは、「ＸＸＸ“２０１１／１／１”」（ただし、「ＸＸＸ」は、文字列の記録を指示する命令コード。ダブルクォーテーション内は、記録すべき文字列。）という構成となっているものとする。本実施形態では、プリンター２６によって記録可能とされている文字のそれぞれについて、各文字のフォントデータが事前にプリンター２６に登録されている。発行日記録指示コマンドＨＣが入力された場合、プリンター２６は、記録すべき文字列を構成する各文字をフォントデータに変換し、変換したフォントデータに基づいて記録を行う。
【００２７】
また、制御コマンドには、ロゴ記録指示コマンドＬＣが含まれている。ロゴ記録指示コマンドＬＣは、ロゴ画像６１の記録を指示するコマンドである。本実施形態では、ロゴ記録指示コマンドＬＣは、グラフィック画像の記録を指示する命令コードと、ロゴとして記録すべき画像の画像データと、から構成されている。画像データとは、ビットマップデータ等の、画素ごとに、色に関する情報を例えば階調値として保持するデータのことである。本実施形態では、ロゴ記録指示コマンドＬＣは、「ＹＹＹ“ロゴの画像データ”」（ただし、「ＹＹＹ」は、画像データに基づく画像の記録を指示する命令コード。）という構成となっているものとする。なお、プリンター２６にロゴ画像６１に係る画像データが事前に登録され、当該登録された画像データを使用してロゴ画像６１を記録可能な場合は、ロゴ記録指示コマンドＬＣに、ロゴの画像データに代えて、プリンター２６に登録されている画像データを指定する情報を含めるようにしてもよい。
【００２８】
また、制御コマンドには、会計内容記録指示コマンドＴＣが含まれている。会計内容記録指示コマンドＴＣとは、会計内容画像６２の記録を指示するコマンドである。
また、制御コマンドには、クーポン画像記録指示コマンドＰＣが含まれており、このクーポン画像記録指示コマンドＰＣは、文字列クーポン記録指示コマンドＰＣａと、バーコード記録指示コマンドＰＣｂと、を含んで構成されている。
文字列クーポン記録指示コマンドＰＣａは、文字列の記録を指示する命令コードと、文字列「ＣＯＵＰＯＮ」と、から構成されており、本実施形態では、「ＸＸＸ“ＣＯＵＰＯＮ”」という構成となっているものとする。上述したように、クーポン画像６３において、文字列クーポン画像６３ａは、固定的に記録されるため、この文字列クーポン記録指示コマンドＰＣａの態様は、バーコード記録指示コマンドＰＣｂの態様にかかわらず一定である。
バーコード記録指示コマンドＰＣｂは、バーコード画像６３ｂの記録を指示するコマンドである。本実施形態では、バーコード画像６３ｂの構成は、「ＹＹＹ“バーコードの画像データ”」（ただし、「ＹＹＹ」は、画像データに基づく画像の記録を指示する命令コード。）という構成となっている。
【００２９】
また、制御コマンドには、末端画像記録指示コマンドＧＣが含まれている。末端画像記録指示コマンドＧＣとは、末端画像６４の記録を指示するコマンドである。末端画像記録指示コマンドＧＣは、文字列の記録を指示する命令コードと、末端画像６４に係る所定の文字列と、から構成されており、本実施形態では、「ＸＸＸ“ＴＨＡＮＫ△ＹＯＵ”」という構成となっているものとする。
また、制御コマンドには、カットコマンドＣＣが含まれている。カットコマンドＣＣは、ロール紙の切断を指示するコマンドである。
レシートの発行に係る一連の動作において、ロール紙を切断する動作は、最後に行われる動作である。従って、カットコマンドＣＣは、レシートの発行に係る一連の制御コマンドのうち、ホストコンピューター１１からプリンター２６に対して最後に出力される制御コマンドである。
なお、図２のＡに示す制御コマンドの構成は、ホストコンピューター１１からプリンター２６に送信される一連の制御コマンドを、説明の便宜を考慮して、単純化している。実際には、図２で例示したコマンドのほか、記録すべき文字列について施すべき装飾を指定するコマンドや、左右のマージンを設定するコマンド、ＲＡＭに形成する画像バッファーの態様を指定するコマンド等、必要なコマンドが含まれているが、本実施形態では、これらコマンドについては省略する。
【００３０】
次に、レシートを発行する際のホストコンピューター１１と、プリンター２６の動作について詳述する。
図３は、レシートを発行する際のホストコンピューター１１と、プリンター２６の動作を詳細に示すフローチャートであり、（Ａ）はホストコンピューター１１の動作を、（Ｂ）はプリンター２６の動作を、それぞれ示している。
以下の説明において、ステータス応答部５０は、プリンター側制御部４０のＣＰＵがファームウェアを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
図３に示すように、レシートの発行に際し、まず、ホストコンピューター１１のホスト側制御部２８は発行日記録指示コマンドＨＣを生成して、プリンター２６に送信する（ステップＳＡ１）。
当該コマンドを受信したプリンター２６のプリンター側制御部４０は、プリントエンジン４３を制御して、ロール紙に発行日画像６０を記録する（ステップＳＢ１）。
次いで、プリンター側制御部４０のステータス応答部５０は、発行日記録指示コマンドＨＣにおいて、当該コマンドに基づいて記録すべき文字列を指定している部分（本実施形態の例では、ダブルクォーテーションで囲まれた部分）に、特定の文字列が含まれていたか否かを判別する（ステップＳＢ２）。
後に明らかとなるように、本実施形態に係るプリンター２６は、文字列の記録を指示する制御コマンドに特定の文字列が含まれている場合は、当該特定の文字列に対応するステータスを送信する構成となっており、特定の文字列と、送信すべきステータスとが、プリンター側記憶部４４に記憶されたステータステーブル７０において、対応付けて記憶されている。
【００３１】
図４は、ステータステーブル７０の一例の示す図である。
図４に示すように、ステータステーブル７０の１件のレコードは、特定文字列フィールド７０ａと、送信ステータスフィールド７０ｂと、を備えている。
特定文字列フィールド７０ａには、制御コマンドに含まれているか否かの判別の対象となる文字列が格納される。また、送信ステータスフィールド７０ｂには、対応する文字列が制御コマンドに含まれている場合に送信すべきステータスを示す情報が格納される。
なお、ステータステーブル７０は、ファームウェアから独立したデータであってもよく、ファームウェア上で定義されたものであってもよい。
【００３２】
ステップＳＢ２において、ステータス応答部５０は、まず、ステータステーブル７０を参照する。次いで、ステータス応答部５０は、ステータステーブル７０の各レコードの特定文字列フィールド７０ａに格納された文字列のそれぞれについて、各文字列が、発行日記録指示コマンドＨＣにおいて記録すべき文字列を指定している部分（本実施形態の例では、ダブルクォーテーションで囲まれた部分）に含まれているか否かを判別することにより、特定の文字列が発行日記録指示コマンドＨＣに含まれているか否かを判別する。上述したように、文字列の記録を指示する制御コマンドにおいて、文字列は、所定の文字コード（例えば、Ｕｎｉｃｏｄｅや、アスキーコード）によって表現された文字の組み合わせによって表現されているため、ステップＳＢ２における判別は、既存の文字列検索に関する技術を利用して行うことが可能である。
本実施形態では、特定文字列フィールド７０ａに格納された文字列のそれぞれが、「特定の文字列」に該当する。
本例では、図４のステータステーブル７０の１件目のレコードＲ１の特定文字列フィールド７０ａに格納された文字列（「※／※／※」。※は、ワイルドカードを示す。）が、図２の発行日記録指示コマンドＨＣ（ＸＸＸ“２０１１／１／１”）に含まれているため、ステップＳＢ２において、ステータス応答部５０は、発行日記録指示コマンドＨＣに特定の文字列（「※／※／※」）が含まれている、と判別する。
【００３３】
発行日記録指示コマンドＨＣに特定の文字列が含まれている場合（ステップＳＢ２：ＹＥＳ）、ステータス応答部５０は、ステータステーブル７０を参照して、含まれていた特定の文字列に対応するステータスを特定し、特定したステータスをホストコンピューター１１に送信する（ステップＳＢ３）。
図４のステータステーブル７０を用いて具体的に説明すると、ステータス応答部５０は、ステータステーブル７０を参照し、発行日記録指示コマンドＨＣに含まれていた特定の文字列「※／※／※」に対応するレコード（１件目のレコードＲ１）を特定する。次いで、ステータス応答部５０は、特定したレコードＲ１の送信ステータスフィールド７０ｂを参照し、送信すべきステータスを特定する。
本実施形態では、制御コマンドに文字列「※／※／※」が含まれている場合に送信すべきステータスは、カッターユニット３８の可動刃が待機位置に位置しているか否かを示すステータス（切断部における切断に係る機能の状態に関するステータス）とされている。従って、ステップＳＢ３において、ステータス応答部５０は、カッター位置検出部５２により可動刃が待機位置に位置しているか否かを判別させ、判別結果をステータスとして、ホストコンピューター１１に送信する。
【００３４】
このように、本実施形態では、ステータス応答部５０は、制御コマンドに文字列「※／※／※」が含まれている場合は、カッターユニット３８の可動刃が待機位置に位置しているか否かを示すステータスを送信する。このことを換言すれば、ステータス応答部５０は、レシートの先頭に定型的に記録される発行日画像６０の記録が指示された場合、自動で、カッターユニット３８の可動刃が待機位置に位置しているか否かを示すステータスを送信する。
このような動作が行われることにより、以下の効果が得られる。
すなわち、発行日画像６０の記録が指示されたということは、レシートの発行が開始されたということであり、いずれロール紙の切断が実行されるということである。ここで、上述したように、ロール紙の切断を行うためには、可動刃が待機位置に位置している必要がある。これを踏まえ、従来のホストコンピューターは、レシートを発行させる前や、レシートを発行させている間の適宜のタイミングで、可動刃が待機位置に位置しているか否かを示すステータスの応答を要求し、プリンターは当該応答要求に応じてステータスを送信していた。一方で、本実施形態では、ステータス応答部５０は、レシートの発行の開始に伴って発行日画像６０の記録が指示されると、自動で、可動刃が待機位置に位置しているか否かを示すステータスを送信する構成のため、ホストコンピューター１１は、応答要求を出すことなく、後に行うロール紙の切断のために当該ステータスを必要とするタイミングで、当該ステータスを取得することができる。このため、ホストコンピューター１１は、レシートの切断のために行う可動刃の位置確認について、応答要求のトリガーを監視する処理や、応答要求に係るコマンドを生成し、出力する必要が無く、また、プリンター２６は、応答要求に係るコマンドを処理する必要が無く、処理効率がよい。
つまり、本実施形態に係るステータス応答部５０は、レシートの先頭に発行日画像６０が定型的に記録されること、及び、発行日画像６０には文字列「※／※／※」が含まれていることを活用して、受信した制御コマンドが発行日画像６０の記録を指示する発行日記録指示コマンドＨＣであるか否かを適切に判別し、さらに、発行日記録指示コマンドＨＣである場合は、後に行われるロール紙の切断に備えて自動で、可動刃が待機位置に位置しているか否かを示すステータスを送信する。このようにして、ステータス応答部５０は、レシートの発行が開始されたという状況に応じて、ステータスを効率的に送信している。
なお、ステップＳＢ２において、ステータス応答部５０により、制御コマンドに特定の文字列が含まれていないと判別された場合、ステータスの送信は、行われない。
【００３５】
さて、ステップＳＢ３において送信されたステータスを受信したホストコンピューター１１のホスト側制御部２８は、受信したステータスに対応する処理を実行する（ステップＳＡ２）。本実施形態では、ホスト側制御部２８は、受信したステータスが、可動刃が待機位置に位置していないことを示している場合は、可動刃を待機位置に移動させる制御コマンドを送信して、待機位置に移動させる。
このように、本実施形態では、ホストコンピューター１１は、レシートの発行の開始直後というタイミングで、自らステータスの応答要求を行うことなく、可動刃が待機位置に位置しているか否かを判別することができるため、可動刃が待機位置に位置していない場合であっても、切断が実際に行われる前（カットコマンドＣＣを出力する前）に可動刃を待機位置に位置させることができ、切断を実行する際に可動刃が待機位置に位置していないことに起因した待ち時間等の発生を極力抑制することができる。
【００３６】
次いで、ホストコンピューター１１のホスト側制御部２８は、ロゴ記録指示コマンドＬＣを生成し、プリンター２６に送信する（ステップＳＡ３）。
当該コマンドを受信したプリンター２６のプリンター側制御部４０は、ロゴ画像６１を記録する（ステップＳＢ４）。なお、ロゴ画像６１の記録後、ステータス応答部５０は、ロゴ記録指示コマンドＬＣに特定の文字列が含まれているか否かの判別や、判別結果に基づくステータスの送信を行わない。これは、ロゴ記録指示コマンドＬＣは、文字列の記録を指示するコマンドではなく、従って、記録すべき文字列を指定する部分が無いからである。文字列の記録を指示するコマンドと、画像データに基づく画像の記録を指示するコマンドとでは、命令コードが異なるため、ステータス応答部５０は、命令コードに基づいて、受信したコマンドが、文字列の記録を指示するコマンドであること、又は、無いことを判別する。
【００３７】
次いで、ホストコンピューター１１のホスト側制御部２８は、会計内容記録指示コマンドＴＣを生成し、プリンター２６に送信する（ステップＳＡ４）。
当該コマンドを受信したプリンター２６のプリンター側制御部４０は、プリントエンジン４３を制御して、ロール紙に会計内容画像６２を記録する（ステップＳＢ５）。
次いで、プリンター側制御部４０のステータス応答部５０は、会計内容記録指示コマンドＴＣにおいて、当該コマンドに基づいて記録すべき文字列を指定している部分（本実施形態の例では、ダブルクォーテーションで囲まれた部分）に、特定の文字列が含まれていたか否かを判別する（ステップＳＢ６）。このステップＳＢ６では、ステップＳＢ２と同様の処理が行われる。すなわち、ステータス応答部５０は、ステータステーブル７０を参照し、ステータステーブル７０の各レコードの特定文字列フィールド７０ａに格納された文字列のそれぞれについて、各文字列が、会計内容記録指示コマンドＴＣにおいて記録すべき文字列を指定している部分に含まれているか否かを判別することにより、特定の文字列が会計内容記録指示コマンドＴＣに含まれているか否かを判別する。
本例では、図４のステータステーブル７０の特定文字列フィールド７０ａに格納された文字列の中に、会計内容記録指示コマンドＴＣに含まれているものはないため、ステップＳＢ６では、ステータス応答部５０は、会計内容記録指示コマンドＴＣに特定の文字列が含まれていない、と判別する。このため、ステップＳＢ７のステータスの送信に係る処理は、回避される。
【００３８】
次いで、ホストコンピューター１１のホスト側制御部２８は、文字列クーポン記録指示コマンドＰＣａを生成し、プリンター２６に送信する（ステップＳＡ５）。
当該コマンドを受信したプリンター２６のプリンター側制御部４０は、プリントエンジン４３を制御して、ロール紙に文字列クーポン画像６３ａを記録する（ステップＳＢ８）。
次いで、プリンター側制御部４０のステータス応答部５０は、文字列クーポン記録指示コマンドＰＣａにおいて、当該コマンドに基づいて記録すべき文字列を指定している部分（本実施形態の例では、ダブルクォーテーションで囲まれた部分）に、特定の文字列が含まれていたか否かを判別する（ステップＳＢ９）。このステップＳＢ９では、ステップＳＢ２と同様の処理が行われる。
すなわち、ステータス応答部５０は、ステータステーブル７０を参照し、ステータステーブル７０の各レコードの特定文字列フィールド７０ａに格納された文字列のそれぞれについて、各文字列が、文字列クーポン記録指示コマンドＰＣａにおいて記録すべき文字列を指定している部分に含まれているか否かを判別することにより、特定の文字列が文字列クーポン記録指示コマンドＰＣａに含まれているか否かを判別する。
本例では、図４のステータステーブル７０の２件目のレコードＲ２の特定文字列フィールド７０ａに格納された文字列（文字列「ＣＯＵＰＯＮ」）が、図２の文字列クーポン記録指示コマンドＰＣａ（ＸＸＸ“ＣＯＵＰＯＮ”）に含まれているため、ステップＳＢ９では、ステータス応答部５０は、文字列クーポン記録指示コマンドＰＣａに特定の文字列（文字列「ＣＯＵＰＯＮ」）が含まれている、と判別する。
【００３９】
文字列クーポン記録指示コマンドＰＣａに特定の文字列が含まれている場合（ステップＳＢ９：ＹＥＳ）、ステータス応答部５０は、ステータステーブル７０を参照して、含まれていた特定の文字列に対応するステータスを特定し、特定したステータスをホストコンピューター１１に送信する（ステップＳＢ１０）。
本実施形態では、制御コマンドに文字列「ＣＯＵＰＯＮ」が含まれている場合に送信すべきステータスは、直近で行ったノズルチェック処理の結果を示すステータス、すなわち、ノズルチェック処理により吐出不良が検出されたノズルがある場合は、そのノズルを特定する情報を含むステータス（記録部における記録に係る機構の状態に関するステータス）とされている。従って、ステップＳＢ１０において、ステータス応答部５０は、吐出不良検出部５３により記憶されたノズルチェック処理の結果を示す情報を参照し、ノズルチェック処理の結果を示すステータスとして、ホストコンピューター１１に送信する。
【００４０】
ノズルチェク処理の結果を示すステータスを受信したホストコンピューター１１は、当該ステータスに対応する処理を行う（ステップＳＡ６）。
具体的には、ホストコンピューター１１のホスト側制御部２８は、当該ステータスに基づいて、プリンター２６が文字列クーポン画像６３ａの次に記録するバーコード画像６３ｂを、一定以上の精度で記録可能な状態であるか否かを判別する。ここで、バーコード画像６３ｂは、後にバーコードリーダーによって光学的に読み取られる画像であるため、一定以上の精度で記録される必要がある。しかしながら、ノズルに所定の態様で吐出不良が発生している場合、例えば、所定の個数以上のノズルに吐出不良が発生している場合や、所定の個数以上連続するノズルについて吐出不良が発生している場合は、一定以上の精度でバーコード画像６３ｂを記録できない可能性がある。これを踏まえ、本実施形態では、吐出不良が発生しているノズルの態様について、一定以上の精度でバーコード画像６３ｂを記録できない態様が予め定められている。そして、ホスト側制御部２８は、ステップＳＢ１０に係るステータスに基づいて、吐出不良が発生しているノズルの態様が、上記予め定められた態様に相当するか否かを判別し、相当しない場合は、一定以上の精度で記録可能な状態であると判別し、相当する場合は、一定以上の精度で記録可能な状態ではないと判別する。
そして、ホスト側制御部２８は、プリンター２６が一定以上の精度でバーコード画像６３ｂを記録可能な状態ではないと判別した場合、ステップＳＡ７で送信される予定であってバーコード記録指示コマンドＰＣｂの送信を回避して、バーコード画像６３ｂの記録を取りやめ、又は、バーコード画像６３ｂに代えて、適切な画像（例えば、バーコード画像６３ｂを読み取ることで適用されるはずだったサービスを文字によって示す画像）を記録させる。その際、ホスト側表示部２９に、ノズルの吐出不良に起因して、所定の処理を行う旨の警告を出しても良い。いずれの処理を実行するのかは、ユーザーが選択できる構成となっている。
以下では、説明の便宜のため、ホスト側制御部２８は、プリンター２６が一定以上の精度でバーコード画像６３ｂを記録できる状態であると判別したものとする。
【００４１】
このように、本実施形態では、ステータス応答部５０は、制御コマンドに文字列「ＣＯＵＰＯＮ」が含まれている場合は、ノズルチェック処理の結果を示すステータスを送信する。このことを換言すれば、ステータス応答部５０は、バーコード画像６３ｂが記録される際に、当該画像の記録の前に必ず記録される文字列クーポン画像６３ａの記録が指示された場合、自動で、ノズルチェック処理の結果を示すステータスを送信する。
このような動作が行われることにより、以下の効果が得られる。
すなわち、文字列クーポン画像６３ａの記録が指示されたということは、次に、バーコード画像６３ｂが記録されるということである（上述したように、所定の条件が成立しなかった場合は、バーコード画像６３ｂを含むクーポン画像６３の記録は行われない。）。ここで、上述したように、バーコード画像６３ｂを一定以上の精度で記録するためには、ノズルの吐出不良が所定の態様で発生していない必要がある。これを踏まえ、従来のホストコンピューターは、クーポン画像６３を記録するレシートについては、当該レシートを発行させる前や、当該レシートを発行させている間の適宜のタイミングで、ノズルチェック処理の結果を示すステータスの応答を要求し、プリンターは当該応答要求に応じてステータスを送信していた。
一方で、本実施形態では、ステータス応答部５０は、文字列クーポン画像６３ａの記録が指示されると、自動で、ノズルチェック処理の結果を示すステータスを送信する構成のため、ホストコンピューター１１は、応答要求を出すことなく、バーコード画像６３ｂを記録する場合にのみ、つまり、当該ステータスを必要とする場合に、当該ステータスを取得することができる。このため、ホストコンピューター１１は、当該ステータスについて、応答要求のトリガーを監視する処理や、応答要求に係るコマンドを生成し、出力する必要が無く、また、プリンター２６は、応答要求に係るコマンドを処理する必要が無く、処理効率がよい。
つまり、本実施形態に係るステータス応答部５０は、バーコード画像６３ｂが記録される場合、当該画像の前に文字列クーポン画像６３ａが記録されること、及び、文字列クーポン記録指示コマンドＰＣａには文字列「ＣＯＵＰＯＮ」が含まれていることを活用して、受信した制御コマンドが文字列クーポン画像６３ａの記録を指示する文字列クーポン記録指示コマンドＰＣａであるか否かを適切に判別し、さらに、文字列クーポン記録指示コマンドＰＣａである場合は、次に記録されるバーコード画像６３ｂが一定以上の精度で記録されることを担保すべく、自動で、ノズルチェック処理の結果を示すステータスを送信する。このようにして、ステータス応答部５０は、レシートにはバーコード画像６３ｂが記録されるという状況に応じて、ステータスを効率的に送信している。
なお、ステップＳＢ９において、ステータス応答部５０により、制御コマンドに特定の文字列が含まれていないと判別された場合、ステータスの送信は、行われない。
【００４２】
さて、ノズルチェック処理の結果を示すステータスに対応した処理を実行した後、ホストコンピューター１１は、バーコード記録指示コマンドＰＣｂを生成し、プリンター２６に送信する（ステップＳＡ７）。
当該コマンドを受信したプリンター２６のプリンター側制御部４０は、プリントエンジン４３を制御して、ロール紙にバーコード画像６３ｂを記録する（ステップＳＢ１１）。バーコード記録指示コマンドＰＣｂは、文字列の記録を指示するコマンドではないため、当該コマンドについて、特定の文字列が含まれているか否かの判別、及び、判別結果に基づくステータスの送信は行われない。
【００４３】
次いで、ホストコンピューター１１のホスト側制御部２８は、末端画像記録指示コマンドＧＣを生成し、プリンター２６に送信する（ステップＳＡ８）。
当該コマンドを受信したプリンター２６のプリンター側制御部４０は、プリントエンジン４３を制御して、ロール紙に末端画像６４を記録する（ステップＳＢ１２）。
次いで、プリンター側制御部４０のステータス応答部５０は、末端画像記録指示コマンドＧＣにおいて、当該コマンドに基づいて記録すべき文字列を指定している部分（本実施形態の例では、ダブルクォーテーションで囲まれた部分）に、特定の文字列が含まれていたか否かを判別する（ステップＳＢ１３）。このステップＳＢ１３では、ステップＳＢ２と同様の処理が行われる。
すなわち、ステータス応答部５０は、ステータステーブル７０を参照し、ステータステーブル７０の各レコードの特定文字列フィールド７０ａに格納された文字列のそれぞれについて、各文字列が、末端画像記録指示コマンドＧＣにおいて記録すべき文字列を指定している部分に含まれているか否かを判別することにより、特定の文字列が末端画像記録指示コマンドＧＣに含まれているか否かを判別する。
本例では、図４のステータステーブル７０の３件目のレコードＲ３の特定文字列フィールド７０ａに格納された文字列（文字列「ＴＨＡＮＫ△ＹＯＵ」）が、図２の末端画像記録指示コマンドＧＣ（ＸＸＸ“ＴＨＡＮＫ△ＹＯＵ”）に含まれているため、ステップＳＢ１３では、ステータス応答部５０は、末端画像記録指示コマンドＧＣに特定の文字列（文字列「ＴＨＡＮＫ△ＹＯＵ」）が含まれている、と判別する。
【００４４】
末端画像記録指示コマンドＧＣに特定の文字列が含まれている場合（ステップＳＢ１３：ＹＥＳ）、ステータス応答部５０は、ステータステーブル７０を参照して、含まれていた特定の文字列に対応するステータスを特定し、特定したステータスをホストコンピューター１１に送信する（ステップＳＢ１４）。
本実施形態では、制御コマンドに文字列「ＴＨＡＮＫ△ＹＯＵ」が含まれている場合に送信すべきステータスは、ロール紙がニアエンドとなっているか否かを示すステータス（ロール紙の残量に関するステータス）、及び、インク残量を示すステータス（インクの残量に関するステータス）とされている。従って、ステップＳＢ１４において、ステータス応答部５０は、ニアエンド検出部５１にロール紙がニアエンドとなっているか否かを検出させ、検出結果を、ロール紙がニアエンドとなっているか否かを示すステータスとして送信し、さらに、インク残量検出部５４が管理しているインク残量を取得し、インク残量を示すステータスとして送信する。
【００４５】
上記２つのステータスを受信したホストコンピューター１１は、これらステータスに対応する処理を行う（ステップＳＡ９）。
具体的には、ホストコンピューター１１のホスト側制御部２８は、ロール紙のニアエンドに係るステータスに基づいて、ロール紙がニアエンドとなっているか否かを判別し、ニアエンドとなっている場合は、ホスト側表示部２９にその旨、設定よっては、さらに、ロール紙の交換を促す旨を、表示する。
このように、本実施形態では、ステータス応答部５０は、制御コマンドに文字列「ＴＨＡＮＫ△ＹＯＵ」が含まれている場合は、ロール紙がニアエンドとなっているか否かを示すステータスを送信する。そして、ホストコンピューター１１のホスト側制御部２８は、ステータスに基づいて、ロール紙がニアエンドとなっているか否かを判別し、ニアエンドの場合は、その旨表示する。
このような動作が行われることにより、以下の効果が得られる。
すなわち、末端画像６４は、レシートの最後に記録される文字列であるため、末端画像６４が記録された後は、直後にロール紙の切断が行われることとなり、ロール紙の消費量は限定的である。従って、末端画像６４を記録した後に、ロール紙がニアエンドとなっているか否かを判別することにより、当該末端画像６４が記録されたレシートに使用するロール紙の量を反映して、当該レシートの後に発行するレシートを発行するのに十分なロール紙が残っているか否かを適切に判別できることとなる。これを踏まえ、本実施形態では、ステータス応答部５０は、末端画像６４の記録が指示されると、自動で、ロール紙がニアエンドとなっているか否かを示すステータスを送信する構成のため、ホストコンピューター１１は、応答要求を出すことなく、以後のレシートを発行するのに十分なロール紙が残っているか否かを判別するのに有益な情報を含むステータスを取得することができる。さらに、ホストコンピューター１１は、次のレシートの発行が開始される前に、ロール紙がニアエンドであることを報知でき、これに伴って、ユーザーは、ロール紙の交換を早い段階で行うことができる。
つまり、本実施形態に係るステータス応答部５０は、末端画像６４の記録後は、使用されるロール紙が限定的であること、及び、末端画像記録指示コマンドＧＣには、文字列「ＴＨＡＮＫ△ＹＯＵ」が含まれていることを活用して、受信した制御コマンドが末端画像６４の記録を指示する末端画像記録指示コマンドＧＣであるか否かを適切に判別し、さらに、末端画像記録指示コマンドＧＣである場合は、ロール紙の残量に応じた適切な処理が行われるべく、自動で、ロール紙がニアエンドであるか否かを示すステータスを送信する。このようにして、ステータス応答部５０は、末端画像６４がレシートの最後に記録される画像であるという状況に応じて、ステータスを効率的に送信している。
【００４６】
さらに、ステップＳＡ９において、ホストコンピューター１１のホスト側制御部２８は、受信したインク残量を示すステータスに基づいて、インク残量が所定の閾値を下回っているか否かを判別し、下回っている場合は、ホスト側表示部２９にその旨、設定によっては、インクカートリッジの交換を促す旨を、表示する。上記閾値は、インクカートリッジの交換を行うことが望ましい状況であるか否かの判別の基準となる値とされる。例えば、上記閾値は、複数枚（例えば、１０枚）のレシートを発行するのに十分な量のインクが残っているかを判別する基準となる値とされる。
このように、本実施形態では、ステータス応答部５０は、制御コマンドに文字列「ＴＨＡＮＫ△ＹＯＵ」が含まれている場合は、インク残量を示すステータスを送信する。そして、ホストコンピューター１１のホスト側制御部２８は、ステータスに基づいて、インク残量が閾値を下回っているか否かを判別し、下回っている場合は、その旨表示する。
このような動作が行われることにより、以下の効果が得られる。
すなわち、末端画像６４は、レシートの最後に記録される文字列であるため、末端画像６４が記録された後は、当該末端画像６４が記録されたレシートについては、インクの消費が発生しない。従って、末端画像６４を記録した後に、インク残量が所定の閾値を下回っているか否かを判別することにより、当該末端画像６４が記録されたレシートに使用したインクの量を反映して、当該レシートの後に発行するレシートを発行するのに十分なインクが残っているか否かを適切に判別できることとなる。これを踏まえ、本実施形態では、ステータス応答部５０は、末端画像６４の記録が指示されると、自動で、インクの残量を示すステータスを送信する構成のため、ホストコンピューター１１は、応答要求を出すことなく、以後のレシートを発行するのに十分なインクが残っているか否かを判別するために有益な情報を含むステータスを取得することができる。このため、ホストコンピューター１１は、当該ステータスについて、応答要求のトリガーを監視する処理や、応答要求に係るコマンドを生成し、出力する必要が無く、また、プリンター２６は、応答要求に係るコマンドを処理する必要が無く、処理効率がよい。なお、従来は、ホストコンピューター１１は、例えば、レシートの発行が完了する度に、インクの残量を示すステータスの応答要求をしていた。
つまり、本実施形態に係るステータス応答部５０は、末端画像６４の記録後は、インクが消費されないこと、及び、末端画像記録指示コマンドＧＣには、文字列「ＴＨＡＮＫ△ＹＯＵ」が含まれていることを活用して、受信した制御コマンドが末端画像６４の記録を指示する末端画像記録指示コマンドＧＣであるか否かを適切に判別し、さらに、末端画像記録指示コマンドＧＣである場合は、インクの残量に応じた適切な処理が行われるべく、自動で、インクの残量を示すステータスを送信する。このようにして、ステータス応答部５０は、末端画像６４がレシートの最後に記録される画像であるという状況に応じて、ステータスを効率的に送信している。
【００４７】
さて、ステップＳＡ９において、受信したステータスに対応する処理を実行した後、ホストコンピューター１１のホスト側制御部２８は、カットコマンドＣＣを生成し、プリンター２６に送信する（ステップＳＡ１０）。
当該コマンドを受信したプリンター２６のプリンター側制御部４０は、プリントエンジン４３を制御して、ロール紙を切断する（ステップＳＢ１５）。
以上により、レシートの発行が完了する。
【００４８】
以上説明したように、本実施形態に係るプリンター２６は、インターフェイス部４５と協働して、ホストコンピューター１１から制御コマンドを受信すると共に、受信した制御コマンドに基づいて、インクジェットヘッド３７（記録部）によりロール紙（記録媒体）に記録する。
そして、プリンター２６のプリンター側制御部４０のステータス応答部５０は、ホストコンピューター１１から受信した制御コマンドに特定の文字列が含まれているか否かを判別し、含まれている場合は、当該特定の文字列と対応付けられたステータスをホストコンピューター１１に送信する。
これによれば、プリンター２６は、制御コマンドに特定の文字列が含まれている場合は、特定の文字列と対応付けられたステータスを送信する。このため、プリンター２６は、文字列の記録の際にホストコンピューター１１から受信する制御コマンドを利用して、従来にない新たな手順でステータスを送信することが可能となる。さらに、上記によれば、例えば、ホストコンピューター１１は、プリンター２６に特定の文字列を記録させる場合には、同時に、特定のステータスを必要とする、といった状況が存在する場合に、プリンター２６は、ホストコンピューター１１からのステータス応答要求のコマンドを待つことなく、ステータスを送信することが可能となり、状況に応じたステータスを効率的に送信することが可能となる。
【００４９】
また、本実施形態では、ステータス応答部５０は、制御コマンドに文字列「ＴＨＡＮＫ△ＹＯＵ」が含まれている場合は、ロール紙がニアエンドとなっているか否かを示すステータス（ロール紙の残量に関するステータス）を送信する。そして、ホストコンピューター１１のホスト側制御部２８は、ステータスに基づいて、ロール紙がニアエンドとなっているか否かを判別し、ニアエンドの場合は、その旨表示する。
このような動作が行われることにより、以下の効果が得られる。
すなわち、末端画像６４は、レシートの最後に記録される文字列であるため、末端画像６４が記録された後は、直後にロール紙の切断が行われることとなり、ロール紙の消費量は限定的である。従って、末端画像６４を記録した後に、ロール紙がニアエンドとなっているか否かを判別することにより、当該末端画像６４が記録されたレシートに使用するロール紙の量を反映して、当該レシートの後に発行するレシートを発行するのに十分なロール紙が残っているか否かを適切に判別できることとなる。これを踏まえ、本実施形態では、ステータス応答部５０は、末端画像６４の記録が指示されると、自動で、ロール紙がニアエンドとなっているか否かを示すステータスを送信する構成のため、ホストコンピューター１１は、応答要求を出すことなく、以後のレシートを発行するのに十分なロール紙が残っているか否かを判別するのに有益な情報を含むステータスを取得することができる。さらに、ホストコンピューター１１は、次のレシートの発行が開始される前に、ロール紙がニアエンドであることを報知でき、これに伴って、ユーザーは、ロール紙の交換を早い段階で行うことができる。
つまり、本実施形態に係るステータス応答部５０は、末端画像６４の記録後は、使用されるロール紙が限定的であること、及び、末端画像記録指示コマンドＧＣには、文字列「ＴＨＡＮＫ△ＹＯＵ」が含まれていることを活用して、受信した制御コマンドが末端画像６４の記録を指示する末端画像記録指示コマンドＧＣであるか否かを適切に判別し、さらに、末端画像記録指示コマンドＧＣである場合は、ロール紙の残量に応じた適切な処理が行われるべく、自動で、ロール紙がニアエンドであるか否かを示すステータスを送信する。このようにして、ステータス応答部５０は、末端画像６４がレシートの最後に記録される画像であるという状況に応じて、ステータスを効率的に送信している。
【００５０】
また、本実施形態では、ステータス応答部５０は、制御コマンドに文字列「※／※／※」が含まれている場合は、カッターユニット３８の可動刃が待機位置に位置しているか否かを示すステータス（切断部における切断に係る機構の状態に関するステータス）を送信する。このことを換言すれば、ステータス応答部５０は、レシートの先頭に定型的に記録される発行日画像６０の記録が指示された場合、自動で、カッターユニット３８の可動刃が待機位置に位置しているか否かを示すステータスを送信する。
このような動作が行われることにより、以下の効果が得られる。
すなわち、発行日画像６０の記録が指示されたということは、レシートの発行が開始されたということであり、いずれロール紙の切断が実行されるということである。ここで、上述したように、ロール紙の切断を行うためには、可動刃が待機位置に位置している必要がある。これを踏まえ、従来のホストコンピューターは、レシートを発行させる前や、レシートを発行させている間の適宜のタイミングで、可動刃が待機位置に位置しているか否かを示すステータスの応答を要求し、プリンターは当該応答要求に応じてステータスを送信していた。一方で、本実施形態では、ステータス応答部５０は、レシートの発行の開始に伴って発行日画像６０の記録が指示されると、自動で、可動刃が待機位置に位置しているか否かを示すステータスを送信する構成のため、ホストコンピューター１１は、応答要求を出すことなく、後に行うロール紙の切断のために当該ステータスを必要とするタイミングで、当該ステータスを取得することができる。このため、ホストコンピューター１１は、レシートの切断のために行う可動刃の位置確認について、応答要求のトリガーを監視する処理や、応答要求に係るコマンドを生成し、出力する必要が無く、また、プリンター２６は、応答要求に係るコマンドを処理する必要が無く、処理効率がよい。
つまり、本実施形態に係るステータス応答部５０は、レシートの先頭に発行日画像６０が定型的に記録されること、及び、発行日画像６０には文字列「※／※／※」が含まれていることを活用して、受信した制御コマンドが発行日画像６０の記録を指示する発行日記録指示コマンドＨＣであるか否かを適切に判別し、さらに、発行日記録指示コマンドＨＣである場合は、後に行われるロール紙の切断に備えて自動で、可動刃が待機位置に位置しているか否かを示すステータスを送信する。このようにして、ステータス応答部５０は、レシートの発行が開始されたという状況に応じて、ステータスを効率的に送信している。
【００５１】
また、本実施形態では、ステータス応答部５０は、制御コマンドに文字列「ＣＯＵＰＯＮ」が含まれている場合は、ノズルチェック処理の結果を示すステータスを送信する。このことを換言すれば、ステータス応答部５０は、バーコード画像６３ｂが記録される際に、当該画像の記録の前に必ず記録される文字列クーポン画像６３ａの記録が指示された場合、自動で、ノズルチェック処理の結果を示すステータスを送信する。
このような動作が行われることにより、以下の効果が得られる。
すなわち、文字列クーポン画像６３ａの記録が指示されたということは、次に、バーコード画像６３ｂが記録されるということである（上述したように、所定の条件が成立しなかった場合は、バーコード画像６３ｂを含むクーポン画像６３の記録は行われない。）。ここで、上述したように、バーコード画像６３ｂを一定以上の精度で記録するためには、ノズルの吐出不良が所定の態様で発生していない必要がある。これを踏まえ、従来のホストコンピューターは、クーポン画像６３を記録するレシートについては、当該レシートを発行させる前や、当該レシートを発行させている間の適宜のタイミングで、ノズルチェック処理の結果を示すステータスの応答を要求し、プリンターは当該応答要求に応じてステータスを送信していた。
一方で、本実施形態では、ステータス応答部５０は、文字列クーポン画像６３ａの記録が指示されると、自動で、可動刃が待機位置に位置しているか否かを示すステータスを送信する構成のため、ホストコンピューター１１は、応答要求を出すことなく、バーコード画像６３ｂを記録する場合にのみ、つまり、必要な場合にのみ、当該ステータスを取得することができる。このため、ホストコンピューター１１は、当該ステータスについて、応答要求のトリガーを監視する処理や、応答要求に係るコマンドを生成し、出力する必要が無く、また、プリンター２６は、応答要求に係るコマンドを処理する必要が無く、処理効率がよい。
つまり、本実施形態に係るステータス応答部５０は、バーコード画像６３ｂが記録される場合、当該画像の前に文字列クーポン画像６３ａが記録されること、及び、文字列クーポン記録指示コマンドＰＣａには文字列「ＣＯＵＰＯＮ」が含まれていることを活用して、受信した制御コマンドが文字列クーポン画像６３ａの記録を指示する文字列クーポン記録指示コマンドＰＣａであるか否かを適切に判別し、さらに、文字列クーポン記録指示コマンドＰＣａである場合は、次に記録されるバーコード画像６３ｂが一定以上の精度で記録されることを担保すべく、自動で、ノズルチェック処理の結果を示すステータスを送信する。このようにして、ステータス応答部５０は、レシートにはバーコード画像６３ｂが記録されるという状況に応じて、ステータスを効率的に送信している。
【００５２】
また、本実施形態では、ステータス応答部５０は、制御コマンドに文字列「ＴＨＡＮＫ△ＹＯＵ」が含まれている場合は、インク残量を示すステータスを送信する。そして、ホストコンピューター１１のホスト側制御部２８は、ステータスに基づいて、インク残量が閾値を下回っているか否かを判別し、下回っている場合は、その旨表示する。
このような動作が行われることにより、以下の効果が得られる。
すなわち、末端画像６４は、レシートの最後に記録される文字列であるため、末端画像６４が記録された後は、当該末端画像６４が記録されたレシートについては、インクの消費が発生しない。従って、末端画像６４を記録した後に、インク残量が所定の閾値を下回っているか否かを判別することにより、当該末端画像６４が記録されたレシートに使用したインクの量を反映して、当該レシートの後に発行するレシートを発行するのに十分なインクが残っているか否かを適切に判別できることとなる。これを踏まえ、本実施形態では、ステータス応答部５０は、末端画像６４の記録が指示されると、自動で、インクの残量を示すステータスを送信する構成のため、ホストコンピューター１１は、応答要求を出すことなく、以後のレシートを発行するのに十分なインクが残っているか否かを判別するために有益な情報を含むステータスを取得することができる。このため、ホストコンピューター１１は、当該ステータスについて、応答要求のトリガーを監視する処理や、応答要求に係るコマンドを生成し、出力する必要が無く、また、プリンター２６は、応答要求に係るコマンドを処理する必要が無く、処理効率がよい。なお、従来は、ホストコンピューター１１は、例えば、レシートの発行が完了する度に、インクの残量を示すステータスの応答要求をしていた。
つまり、本実施形態に係るステータス応答部５０は、末端画像６４の記録後は、インクが消費されないこと、及び、末端画像記録指示コマンドＧＣには、文字列「ＴＨＡＮＫ△ＹＯＵ」が含まれていることを活用して、受信した制御コマンドが末端画像６４の記録を指示する末端画像記録指示コマンドＧＣであるか否かを適切に判別し、さらに、末端画像記録指示コマンドＧＣである場合は、インクの残量に応じた適切な処理が行われるべく、自動で、インクの残量を示すステータスを送信する。このようにして、ステータス応答部５０は、末端画像６４がレシートの最後に記録される画像であるという状況に応じて、ステータスを効率的に送信している。
【００５３】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、ロール紙の残量に関するステータスの一例として、ロール紙がニアエンドであるか否かを示すステータスを挙げたが、これに限られるものではなく、例えば、ロール紙が切れたことを示すステータスであってもよい。すなわち、ロール紙の残量に関するステータスは、ロール紙の残量に関する何らかの情報を示すステータスであればよく、その具体的な内容は、プリンター２６の機構、機能、その他の要因により任意に変更可能である。
同様に、上述した実施形態では、切断部における切断に係る機構の状態に関するステータスの一例として、可動刃が待機位置に位置しているか否かを示すステータスを挙げたが、これに限られるものではなく、例えば、カッターユニット３８について何らかのエラーが発生しているか否かを示すステータスであってもよい。すなわち、切断部における切断に係る機構の状態に関するステータスは、当該機構に関する何らかの情報を示すステータスであればよく、その具体的な内容は、プリンター２６の機構、機能、その他の要因により任意に変更可能である。
同様に、上述した実施形態では、記録部における記録に係る機構の状態に関するステータスの一例として、ノズルチェック処理の結果を示すステータスを挙げたが、これに限られるものではなく、例えば、インクジェットヘッド３７について何らかのエラーが発生しているか否かを示すステータスであってもよい。すなわち、記録部における記録に係る機構の状態に関するステータスは、当該機構に関する何らかの情報を示すステータスであればよく、その具体的な内容は、プリンター２６の機構、機能、その他の要因により任意に変更可能である。
同様に、上述した実施形態では、インクの残量に関するステータスの一例として、インクの残量を示すステータスを挙げたが、これに限られるものではなく、例えば、インクが空、又は、空に近い状態となっていることを示すステータスであってもよい。すなわち、インクの残量に関するステータスは、インクの残量に関する何らかの情報を示すステータスであればよく、その具体的な内容は、プリンター２６の機構、機能、その他の要因により任意に変更可能である。
【００５４】
また、上述した実施形態では、特定の文字列を含む文字列の記録を指示する制御コマンドが出力される態様や、タイミングについて、レシートを発行する場合を例に挙げて具体的に説明したが、当該制御コマンドが出力される態様や、タイミングは任意である。例えば、ホストコンピューター１１は、インクの残量を示すステータスが必要となった場合、当該ステータスと対応付けられた特定の文字列（本例では、「ＴＨＡＮＫ△ＹＯＵ」）の記録を指示する制御コマンドを生成して、出力し、これにより、インクの残量を示すステータスを取得することが可能である。
また、図１に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また例えば、プリンター２６のプリンター側制御部４０の機能を、プリンター２６に外部接続される別の装置に持たせるようにしてもよい。
また、外部接続される記憶媒体に記憶させたプログラムを実行することにより、図３で示した各フローチャートの各ステップを実行するようにしてもよい。
【符号の説明】
【００５５】
１０…記録システム、１１…ホストコンピューター（制御装置）、２６…プリンター（記録装置）、３７…インクジェットヘッド（記録部）、３８…カッターユニット（切断部）、４０…プリンター側制御部（制御部、受信部）、４５…インターフェイス部（受信部）、５０…ステータス応答部。
【図１】
0005828398.tif 000002
【図２】
0005828398.tif 000003
【図３】
0005828398.tif 000004
【図４】
0005828398.tif 000005