(57)【要約】【課題】操作者が操作することなく、プリンタ装置の状態に基づいて、印刷装置をリセットできる印刷システム、ホスト装置、印刷制御方法、およびプログラムを提供すること。【解決手段】ホスト装置は、プリンタ装置が送信するプリンタ装置の状態を示す情報を含むステータス情報を受信する通信部と、ステータス情報に含まれるプリンタ装置の状態を示す情報に基づいて、プリンタ装置の状態を監視する監視部と、プリンタ装置を監視した結果に基づいて、プリンタ装置に送信するリセットコマンドを生成するか否かを判定する判定部と、リセットコマンドを生成すると判定した場合に、リセットコマンドを生成する生成部とを備え、通信部は、生成したリセットコマンドを、プリンタ装置に送信する。【選択図】図１
2020107993.tif 000002
【特許請求の範囲】
【請求項１】
プリンタ装置にコマンドを送信するホスト装置を備える印刷システムであって、
前記ホスト装置は、
前記プリンタ装置が送信する前記プリンタ装置の状態を示す情報を含むステータス情報を受信する通信部と、
前記通信部が受信した前記ステータス情報に含まれる前記プリンタ装置の状態を示す情報に基づいて、前記プリンタ装置の状態を監視する監視部と、
前記監視部が前記プリンタ装置を監視した結果に基づいて、前記プリンタ装置に送信するリセットコマンドを生成するか否かを判定する判定部と、
前記判定部が前記リセットコマンドを生成すると判定した場合に、リセットコマンドを生成する生成部と
を備え、
前記通信部は、前記生成部が生成した前記リセットコマンドを、前記プリンタ装置に送信する、印刷システム。
【請求項２】
前記ステータス情報には、前記プリンタ装置が印刷することを示す情報と、印刷ができないことを示す情報とが含まれる、請求項１に記載の印刷システム。
【請求項３】
前記監視部が、前記プリンタ装置が印刷中であると判定しているときに、前記プリンタ装置の状態を示す情報が、印刷ができないが、手動で復帰させることができることを示す場合に、前記判定部は、前記リセットコマンドを生成すると判定する、請求項１又は請求項２に記載の印刷システム。
【請求項４】
前記監視部が、前記プリンタ装置が印刷中でないと判定しているときに、前記プリンタ装置の状態を示す情報が、印刷できないことを示す場合に、前記判定部は、前記リセットコマンドを生成しないと判定する、請求項１から請求項３のいずれか一項に記載の印刷システム。
【請求項５】
前記プリンタ装置に送信する印刷データを記憶する記憶部と、
前記プリンタ装置に送信した前記リセットコマンドに基づいてリセットした前記プリンタ装置が印刷できる状態に移行した場合に、前記記憶部に記憶している前記印刷データのうち、前記プリンタ装置に送信し、且つ前記プリンタ装置が印刷を完了していない印刷データを、再送する印刷制御部と
を備える、請求項１から請求項４のいずれか一項に記載の印刷システム。
【請求項６】
前記通信部は、前記プリンタ装置と無線によって接続される、請求項１から請求項５のいずれか一項に記載の印刷システム。
【請求項７】
プリンタ装置にコマンドを送信するホスト装置であって、
前記プリンタ装置が送信する前記プリンタ装置の状態を示す情報を含むステータス情報を受信する通信部と、
前記通信部が受信した前記ステータス情報に含まれる前記プリンタ装置の状態を示す情報に基づいて、前記プリンタ装置の状態を監視する監視部と、
前記監視部が前記プリンタ装置を監視した結果に基づいて、前記プリンタ装置に送信するリセットコマンドを生成するか否かを判定する判定部と、
前記判定部が前記リセットコマンドを生成すると判定した場合に、リセットコマンドを生成する生成部と
を備え、
前記通信部は、前記生成部が生成した前記リセットコマンドを、前記プリンタ装置に送信する、ホスト装置。
【請求項８】
プリンタ装置にコマンドを送信するホスト装置を備える印刷システムが実行する印刷制御方法であって、
前記ホスト装置は、
前記プリンタ装置が送信する前記プリンタ装置の状態を示す情報を含むステータス情報を受信するステップと、
前記受信するステップで受信した前記ステータス情報に含まれる前記プリンタ装置の状態を示す情報に基づいて、前記プリンタ装置の状態を監視するステップと、
前記監視するステップで前記プリンタ装置を監視した結果に基づいて、前記プリンタ装置に送信するリセットコマンドを生成するか否かを判定するステップと、
前記判定するステップで前記リセットコマンドを生成すると判定した場合に、リセットコマンドを生成するステップと、
前記生成するステップで生成した前記リセットコマンドを、前記プリンタ装置に送信するステップと
を有する、印刷制御方法。
【請求項９】
プリンタ装置にコマンドを送信するホスト装置のコンピュータに、
前記プリンタ装置が送信する前記プリンタ装置の状態を示す情報を含むステータス情報を受信するステップと、
前記受信するステップで受信した前記ステータス情報に含まれる前記プリンタ装置の状態を示す情報に基づいて、前記プリンタ装置の状態を監視するステップと、
前記監視するステップで前記プリンタ装置を監視した結果に基づいて、前記プリンタ装置に送信するリセットコマンドを生成するか否かを判定するステップと、
前記判定するステップで前記リセットコマンドを生成すると判定した場合に、リセットコマンドを生成するステップと、
前記生成するステップで生成した前記リセットコマンドを、前記プリンタ装置に送信するステップと
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、ホスト装置、印刷制御方法、およびプログラムに関する。
【背景技術】
【０００２】
印刷処理を実行するプリンタ装置と、プリンタ装置にコマンドを送信するホスト装置とを備える印刷システムにおいて、プリンタ装置が印刷処理中に、プリンタ装置のカバーが開けられるなどの何らかの原因で印刷処理を中断した場合に、未処理の印刷データがプリンタ装置のバッファに残ったままになる場合がある。バッファに残ったままの印刷データは、不要なデータ、いわゆるゴミデータであり、消去されない場合には、プリンタ装置が印刷処理を中断した状態から印刷できる状態に復旧した後に、印刷される。このため、無駄な印刷物が作成されることになる。無駄な印刷が実行されないようにするためには、操作者が、操作パネルを操作し、印刷のキャンセルを行うことによって、バッファに残った不要なデータを破棄する必要があった。
【０００３】
印刷システムに関して、無駄な印字を無くし用紙やトナーの無駄を解消する技術が知られている（例えば、特許文献１参照）。この技術では、パーソナルコンピュータは、レーザープリンタに印字データの破棄を指示するコマンドを入力するユーザーコマンド入力装置と、入力コマンドを即時に印字装置へ送信するセントロニクスポートとを備える。レーザープリンタは、受信コマンドが破棄コマンドの場合に当該印字装置内の未印字の全印字データを破棄するＣＰＵを備える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１１４６０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
印刷のキャンセルを、操作パネルに対して行うことによって、プリンタ装置に、バッファに残った不要なデータを破棄させる場合には、操作者に、操作する手間、負担をかけることになる。
仮に、プリンタ装置にエラーが発生した場合に、ホスト装置からプリンタ装置に、印字データの破棄を指示するコマンドを送信する場合には、バッファに不要なデータが残っていない場合でも、データを破棄する無駄な処理が行われるため、消費電力が増加してしまう。
【０００６】
そこで、本発明は上述の事情を鑑みてなされたものであり、操作者が操作することなく、プリンタ装置の状態に基づいて、印刷装置をリセットできる印刷システム、ホスト装置、印刷制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様は、プリンタ装置にコマンドを送信するホスト装置を備える印刷システムであって、前記ホスト装置は、前記プリンタ装置が送信する前記プリンタ装置の状態を示す情報を含むステータス情報を受信する通信部と、前記通信部が受信した前記ステータス情報に含まれる前記プリンタ装置の状態を示す情報に基づいて、前記プリンタ装置の状態を監視する監視部と、前記監視部が前記プリンタ装置を監視した結果に基づいて、前記プリンタ装置に送信するリセットコマンドを生成するか否かを判定する判定部と、前記判定部が前記リセットコマンドを生成すると判定した場合に、リセットコマンドを生成する生成部とを備え、前記通信部は、前記生成部が生成した前記リセットコマンドを、前記プリンタ装置に送信する、印刷システムである。
また、本発明の一態様は、上記印刷システムにおいて、前記ステータス情報には、前記プリンタ装置が印刷することを示す情報と、印刷ができないことを示す情報とが含まれてもよい。
また、本発明の一態様は、上記印刷システムにおいて、前記監視部が、前記プリンタ装置が印刷中であると判定しているときに、前記プリンタの状態を示す情報が、印刷ができないが、手動で復帰させることができることを示す場合に、前記判定部は、前記リセットコマンドを生成すると判定してもよい。
また、本発明の一態様は、上記印刷システムにおいて、前記監視部が、前記プリンタ装置が印刷中でないと判定しているときに、前記プリンタの状態を示す情報が、印刷できないことを示す場合に、前記判定部は、前記リセットコマンドを生成しないと判定してもよい。
また、本発明の一態様は、上記印刷システムにおいて、前記プリンタ装置に送信する印刷データを記憶する記憶部と、前記プリンタ装置に送信した前記リセットコマンドに基づいてリセットした前記プリンタ装置が印刷できる状態に移行した場合に、前記記憶部に記憶している前記印刷データのうち、前記プリンタ装置に送信し、且つ前記プリンタ装置が処理していない印刷データを、再送する印刷制御部とを備えてもよい。
また、本発明の一態様は、上記印刷システムにおいて、前記通信部は、前記プリンタ装置と無線によって接続されてもよい。
【０００８】
また、本発明の一態様は、プリンタ装置にコマンドを送信するホスト装置であって、前記プリンタ装置が送信する前記プリンタの状態を示す情報を含むステータス情報を受信する通信部と、前記通信部が受信した前記ステータス情報に含まれる前記プリンタの状態を示す情報に基づいて、前記プリンタ装置の状態を監視する監視部と、前記監視部が前記プリンタ装置を監視した結果に基づいて、前記プリンタ装置に送信するリセットコマンドを生成するか否かを判定する判定部と、前記判定部が前記リセットコマンドを生成すると判定した場合に、リセットコマンドを生成する生成部とを備え、前記通信部は、前記生成部が生成した前記リセットコマンドを、前記プリンタ装置に送信する、ホスト装置である。
【０００９】
また、本発明の一態様は、プリンタ装置にコマンドを送信するホスト装置を備える印刷システムが実行する印刷制御方法であって、前記ホスト装置は、前記プリンタ装置が送信する前記プリンタの状態を示す情報を含むステータス情報を受信するステップと、前記受信するステップで受信した前記ステータス情報に含まれる前記プリンタの状態を示す情報に基づいて、前記プリンタ装置の状態を監視するステップと、前記監視するステップで前記プリンタ装置を監視した結果に基づいて、前記プリンタ装置に送信するリセットコマンドを生成するか否かを判定するステップと、前記判定するステップで前記リセットコマンドを生成すると判定した場合に、リセットコマンドを生成するステップと、前記生成するステップで生成した前記リセットコマンドを、前記プリンタ装置に送信するステップとを有する、印刷制御方法である。
【００１０】
また、本発明の一態様は、プリンタ装置にコマンドを送信するホスト装置のコンピュータに、前記プリンタ装置が送信する前記プリンタの状態を示す情報を含むステータス情報を受信するステップと、前記受信するステップで受信した前記ステータス情報に含まれる前記プリンタの状態を示す情報に基づいて、前記プリンタ装置の状態を監視するステップと、前記監視するステップで前記プリンタ装置を監視した結果に基づいて、前記プリンタ装置に送信するリセットコマンドを生成するか否かを判定するステップと、前記判定するステップで前記リセットコマンドを生成すると判定した場合に、リセットコマンドを生成するステップと、前記生成するステップで生成した前記リセットコマンドを、前記プリンタ装置に送信するステップとを実行させる、プログラムである。
【発明の効果】
【００１１】
本発明によれば、操作者が操作することなく、プリンタ装置の状態に基づいて、印刷装置をリセットできる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態の印刷システムの構成の一例を示すブロック図である。
【図２】リセット判定情報の一例を示す図である。
【図３】本実施形態の印刷システムの動作の一例を示すフローチャート（シーケンスチャート）である。
【図４】本実施形態の印刷システムのホスト装置の動作の一例を示すフローチャートである。
【図５】本実施形態の印刷システムの動作の一例を示すシーケンスチャートである。
【図６】本実施形態の変形例の印刷システムの構成の一例を示すブロック図である。
【図７】本実施形態の変形例の印刷システムのホスト装置の動作の一例を示すフローチャートである。
【図８】本実施形態の変形例の印刷システムの動作の一例を示すシーケンスチャートである。
【発明を実施するための形態】
【００１３】
次に、本実施形態の印刷システム、ホスト装置、印刷制御方法、およびプログラムを、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。
また、本願でいう「ＸＸに基づいて」とは、「少なくともＸＸに基づく」ことを意味し、ＸＸに加えて別の要素に基づく場合も含む。また、「ＸＸに基づいて」とは、ＸＸを直接に用いる場合に限定されず、ＸＸに対して演算や加工が行われたものに基づく場合も含む。「ＸＸ」は、任意の要素（例えば、任意の情報）である。
【００１４】
（実施形態）
以下、本発明の一実施形態について、図面を参照しながら説明する。
図１は、本実施形態の印刷システムの構成の一例を示すブロック図である。図示するように、印刷システム１００は、プリンタ装置３００にコマンドを送信するホスト装置２００と、ホスト装置２００が送信したコマンドを受信し、受信したコマンドに基づいて処理を行うプリンタ装置３００とを備える。コマンドは、プリンタ装置３００が受信後に、プリンタ装置３００をリセット（再起動）させるリセットコマンド等がある。印刷システム１００を構成するホスト装置２００と、プリンタ装置３００とについて順に説明する。
【００１５】
（ホスト装置）
ホスト装置２００は、通信部２０５と、記憶部２１０と、操作部２２０と、情報処理部２３０と、表示部２４０とを備える。
通信部２０５は、通信モジュールによって実現される。具体的には、通信部２０５は、無線ＬＡＮ（登録商標）等の無線通信技術で無線通信を行う無線デバイスによって構成される。また、通信部２０５は、有線通信を行うデバイスによって構成されてもよい。ここでは、通信部２０５が、無線通信技術で無線通信を行う無線デバイスによって構成される場合について説明を続ける。
通信部２０５は、ネットワークを介して、プリンタ装置３００などの外部の通信装置と通信する。具体的には、通信部２０５は、プリンタ装置３００が送信したステータス情報を受信し、受信したステータス情報を、情報処理部２３０に出力する。ここで、ステータス情報は、プリンタ装置３００の状態を通知するための情報である。また、通信部２０５は、情報処理部２３０が出力した印刷データを取得し、取得した印刷データを、プリンタ装置３００に送信する。また、通信部２０５は、情報処理部２３０が出力したコマンドを取得し、取得したコマンドを、プリンタ装置３００に送信する。
【００１６】
記憶部２１０は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部２１０には、情報処理部２３０により実行されるプログラム２１１と、アプリ２１２とが記憶される。さらに、記憶部２１０には、リセット判定情報２１３が記憶される。
プログラム２１１は、例えば、オペレーティングシステムであり、ユーザやアプリケーションプログラムとハードウェアの中間に位置し、ユーザやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。
アプリ２１２は、ホスト装置２００に、プリンタ装置３００が送信するステータス情報を受信させる。アプリ２１２は、ホスト装置２００に、受信させたステータス情報に含まれるプリンタ装置３００の状態を示す情報を取得させ、取得させたプリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００の状態を監視させる。アプリ２１２は、ホスト装置２００に、プリンタ装置３００を監視した結果に基づいて、プリンタ装置３００に、リセットコマンドを生成させるか否かを判定させる。アプリ２１２は、ホスト装置２００に、プリンタ装置３００に、リセットコマンドを生成させると判定させた場合に、リセットコマンドを生成させる。アプリ２１２は、ホスト装置２００に、生成させたリセットコマンドを、プリンタ装置３００に送信させる。
【００１７】
（リセット判定情報）
リセット判定情報２１３は、ホスト装置２００が、プリンタ装置３００が送信したステータス情報に含まれるプリンタ装置３００の状態を示す情報に基づいて、リセットコマンドを生成するか否かを判定する際に使用される。
図２は、リセット判定情報の一例を示す図である。リセット判定情報２１３は、プリンタ装置３００の状態を示す情報と、復帰可能エラーを検出したか否かを示す情報と、復帰不可能エラーを検出したか否かを示す情報と、リセットコマンドを生成するか否かを示す情報とを関連付けたテーブル形式の情報である。
復帰可能エラーは、そのエラーが発生した場合に、プリンタ装置１００は、印刷が停止し、継続の印刷ができない状態になるが、印刷ができる状態に復帰できる可能性がある。復帰可能エラーが発生した場合には、プリンタ装置３００の印刷バッファに印刷データが溜まる可能性がある。復帰不可能エラーは、そのエラーが発生した場合に、プリンタ装置１００は、印刷が停止し、継続の印刷ができない状態になり、印刷ができる状態に復帰できない。復帰不可能エラーは、プリンタ装置３００の印刷バッファに印刷データが溜まる可能性がある。
復帰可能エラーは、手動で復帰可能なエラーと、自動で復帰可能なエラーとに分類される。手動で復帰可能なエラーは、そのエラーが発生した場合に、プリンタ装置１００は、印刷が停止し、継続の印刷ができない状態になるが、手動で印刷ができる状態に復帰させることができる。手動で復帰可能なエラーが発生した場合には、プリンタ装置３００の印刷バッファに印刷データが溜まる可能性がある。自動で復帰可能なエラーは、すぐ印刷ができる状態に自動復帰できるタイプと、暫くエラー状態を保持したままのタイプとがあるが、ここで説明する自動で復帰可能なエラーは、すぐ印刷ができる状態に自動復帰できるタイプである。自動で復帰可能なエラーは、外部から干渉せずに自ら復帰可能なエラーであるため、そのエラーが発生した場合、プリンタ装置３００の印刷バッファに印刷データが一時的に溜まっても、エラー状態から印刷ができる状態に自動復帰できたら、プリンタ装置３００は、継続の印刷が可能であり、プリンタ装置３００の印刷バッファに印刷データが溜まらない。
図示するように、ホスト装置２００は、プリンタ装置３００の状態が印刷中に、手動で復帰可能なエラーを検出した場合には、リセットコマンドを生成する。ホスト装置２００は、プリンタ装置３００の状態が印刷中に、自動で復帰可能なエラーを検出した場合には、リセットコマンドを生成しない。ホスト装置２００は、プリンタ装置３００の状態が印刷中に、復帰不可能なエラーを検出した場合には、リセットコマンドを生成しない。ホスト装置２００は、プリンタ装置３００の状態が印刷中に、復帰可能エラー（手動で復帰可能なエラー、自動で復帰可能なエラー）と、復帰不可能なエラーとの両方を検出しない場合には、リセットコマンドを生成しない。
ホスト装置２００は、プリンタ装置３００の状態が印刷中でないときに、手動で復帰可能なエラーを検出した場合には、リセットコマンドを生成しない。ホスト装置２００は、プリンタ装置３００の状態が印刷中でないときに、自動で復帰可能なエラーを検出した場合には、リセットコマンドを生成しない。ホスト装置２００は、プリンタ装置３００の状態が印刷中でないときに、復帰不可能エラーを検出した場合には、リセットコマンドを生成しない。ホスト装置２００は、プリンタ装置３００の状態が印刷中でないときに、復帰可能エラー（手動で復帰可能なエラー、自動で復帰可能なエラー）と、復帰不可能エラーとの両方を検出しない場合には、リセットコマンドを生成しない。図１に戻り説明を続ける。
操作部２２０は、ユーザインタフェースであり、入力部及び出力部を備える。入力部は、例えばキーボタンやタッチパネルである。キーボタンは、スタートキー、ストップキー、テンキー、クリアキー、リセットキー等である。スタートキーは、印刷動作を開始するためのキーボタンである。ストップキーは、印刷動作を中断するためのキーボタンである。テンキーは、数値設定等を行うためのキーボタンである。出力部は、本実施形態では表示部２４０である。表示部２４０は、画像の表示の他にタッチパネルとして機能する。表示部２４０は、印刷処理時の設定画面を表示する。ユーザは、この設定画面から、表示部２４０のタッチパネル機能やキーボタンの操作により、サイズ変更、濃度等の設定を行うことができる。
【００１８】
情報処理部２３０の全部または一部は、例えば、ＣＰＵ（Central Processing Unit）などのプロセッサが記憶部２１０に格納されたプログラム２１１とアプリ２１２とを実行することにより実現される機能部（以下、ソフトウェア機能部と称する）である。なお、情報処理部２３０の全部または一部は、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＦＰＧＡ（Field-Programmable Gate Array）などのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
情報処理部２３０は、例えば、受付部２３１と、監視部２３２と、判定部２３３と、生成部２３４とを備える。
【００１９】
受付部２３１は、通信部２０５が出力したステータス情報を取得し、取得したステータス情報に含まれるプリンタ装置３００の状態を示す情報を取得する。受付部２３１は、取得したプリンタ装置３００の状態を示す情報を、監視部２３２に出力する。
監視部２３２は、受付部２３１が出力したプリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００の状態を監視する。具体的には、監視部２３２は、プリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００が印刷中であるか否かを監視する。また、監視部２３２は、プリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００が印刷を継続できない状態であるか否かを判定する。
具体的には、監視部２３２は、プリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００に手動で復帰可能なエラーが発生したか自動で復帰可能なエラーが発生したかを判定する。また、監視部２３２は、プリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。監視部２３２は、プリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とを、判定部２３３に出力する。プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報には、プリンタ装置３００に手動で復帰可能なエラーが発生したか自動で復帰可能なエラーが発生したかを示す情報が含まれる。
例えば、監視部２３２は、プリンタ装置３００の状態を示す情報が、紙なしエラーと、カバーオープンエラーと、カッタエラーとのいずれかを示す場合に、プリンタ装置３００に手動で復帰可能なエラーが発生したと判定する。
ここで、紙なしエラーは、プリンタ装置３００が、感熱紙がない状態であることを検出した場合に、ステータス情報に含めて送信するプリンタ装置３００の状態を示す情報である。
カバーオープンエラーは、プリンタ装置３００が、ペーパカバーが解放状態であることを検出した場合に、ステータス情報に含めて送信するプリンタ装置３００の状態を示す情報である。
カッタエラーは、プリンタ装置３００が、カット不良状態であることを検出した場合に、ステータス情報に含めて送信するプリンタ装置３００の状態を示す情報である。カット不良状態は、カットする際に紙ジャムなどが生じた場合に生じる。
また、監視部２３２は、プリンタ装置３００の状態を示す情報が、電圧エラーと、ヘッド温度エラーと、出力バッファフルとのいずれかを示す場合には、プリンタ装置３００に自動で復帰可能なエラーが発生したと判定する。
ここで、電圧エラーは、プリンタ装置３００が、電源電圧が許容範囲外の状態であることを検出した場合に、ステータス情報に含めて送信するプリンタ装置の状態を示す情報である。電源電圧が許容範囲内に戻ると自動復帰するため、監視部２３２は、電圧エラーを、プリンタ装置３００に自動で復帰可能なエラーが発生したと判定する。
ヘッド温度エラーは、プリンタ装置３００が、ヘッド温度が許容温度以上に上昇した状態ことを検出した場合に、ステータス情報に含めて送信するプリンタ装置３００の状態を示す情報である。ヘッド温度が許容温度以下になると自動復帰するため、監視部２３２は、ヘッド温度エラーを、プリンタ装置３００に自動で復帰可能なエラーが発生したと判定する。
バッファフルは、プリンタ装置３００が、バッファに印刷データがフルの状態であることを検出した場合に、ステータス情報に含めて送信するプリンタ装置３００の状態を示す情報である。バッファフルは、ステータス情報に対して、ホスト装置２００が送信する応答によって解除されるため、監視部２３２は、バッファフルを、プリンタ装置３００に自動で復帰可能なエラーが発生したと判定する。
また、監視部２３２は、プリンタ装置３００の状態を示す情報が、ハードウェアエラーを示す場合には、プリンタ装置３００に復帰不可能なエラーが発生したと判定する。復帰不可能なエラーが発生した場合には、復帰不可能であるため、修理が必要となる場合がある。
ハードウェアエラーは、プリンタ装置３００が、サーマルヘッドと回路基板とのいずれか一方又は両方に異常が発生したことを検出した場合に、ステータス情報に含めて送信するプリンタ装置３００の状態を示す情報である。
ハードウェアエラーは、プリンタ装置３００が、初期電源のエラーを検出した場合に、ステータス情報に含めて送信するプリンタ装置３００の状態を示す情報である。
【００２０】
判定部２３３は、監視部２３２が出力したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかを取得し、取得したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかに基づいて、リセットコマンドを生成するか否かを判定する。判定部２３３は、リセットコマンドを生成するか否かの判定結果を、生成部２３４に出力する。
具体的には、判定部２３３は、記憶部２１０に記憶されているリセット判定情報２１３を参照し、以下の判定を行う。判定部２３３は、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報から、プリンタ装置３００に手動で復帰可能なエラーが発生したか自動で復帰可能なエラーが発生したかを示す情報を取得する。
判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成すると判定する。
判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に自動で復帰可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成しないと判定する。
判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に復帰不可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成しないと判定する。
判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したか自動で復帰可能なエラーが発生したかを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれも取得していない場合には、リセットコマンドを生成しないと判定する。
判定部２３３は、プリンタ装置３００が印刷中でないことを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成しないと判定する。
判定部２３３は、プリンタ装置３００が印刷中でないことを示す情報を取得し、且つプリンタ装置３００に自動で復帰可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成しないと判定する。
判定部２３３は、プリンタ装置３００が印刷中でないことを示す情報を取得し、且つプリンタ装置３００に復帰不可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成しないと判定する。
判定部２３３は、プリンタ装置３００が印刷中でないことを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したか自動で復帰可能なエラーが発生したかを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれも取得していない場合には、リセットコマンドを生成しないと判定する。
【００２１】
生成部２３４は、印刷データを生成し、生成した印刷データを、通信部２０５に出力する。生成部２３４は、判定部２３３が出力したリセットコマンドを生成するか否かの判定結果を取得し、取得したリセットコマンドを生成するか否かの判定結果に基づいて、リセットコマンドを生成する。具体的には、生成部２３４は、リセットコマンドを生成するか否かの判定結果がリセットコマンドを生成することを示す場合にはリセットコマンドを生成し、リセットコマンドを生成しないことを示す場合にはリセットコマンドを生成しない。生成部２３４は、リセットコマンドを生成した場合に、生成したリセットコマンドを、通信部２０５に出力する。
【００２２】
（プリンタ装置）
プリンタ装置３００は、通信部３０５と、記憶部３１０と、バッファ３２０と、情報処理部３３０と、検出部３４０とを備える。
通信部３０５は、通信モジュールによって実現される。具体的には、通信部３０５は、無線ＬＡＮ（登録商標）等の無線通信技術で無線通信を行う無線デバイスによって構成される。また、通信部３０５は、有線通信を行うデバイスによって構成されてもよい。ここでは、通信部３０５が、無線通信技術で無線通信を行う無線デバイスによって構成される場合について説明を続ける。
通信部３０５は、ネットワークを介して、ホスト装置２００などの外部の通信装置と通信する。具体的には、通信部３０５は、情報処理部３３０が出力したステータス情報を取得し、取得したステータス情報を、ホスト装置２００に送信する。また、通信部３０５は、ホスト装置２００が送信した印刷データを受信し、受信した印刷データを、バッファ３２０に出力する。また、通信部３０５は、ホスト装置２００が送信したコマンドを受信し、受信したコマンドを、情報処理部３３０に出力する。
【００２３】
記憶部３１０は、例えば、ＲＡＭ、ＲＯＭ、ＨＤＤ、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部３１０は、プリンタ装置３００に印刷を実行させるための制御用プログラムなどが記憶されている。
制御用プログラムは、プリンタ装置３００に、プリンタ装置３００の状態を検出させ、プリンタ装置３００の状態の検出結果に基づいて、プリンタ装置３００の状態を示す情報を作成させる。
制御用プログラムは、プリンタ装置３００に、作成させたプリンタ装置３００の状態を示す情報を含むステータス情報を作成させ、作成させたステータス情報を、ホスト装置２００に送信させる。
制御用プログラムは、プリンタ装置３００に、ホスト装置２００が送信したコマンドを受信させ、受信させたコマンドに基づいて、処理を実行させる。
制御用プログラムは、プリンタ装置３００に、ホスト装置２００が送信した印刷データを受信させ、受信させた印刷コマンドに基づいて、印刷処理を実行させる。
バッファ３２０は、例えば、ＲＡＭ、ＨＤＤ、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。バッファ３２０は、通信部３０５が出力した印刷データを取得し、取得した印刷データを一時的に記憶する。
【００２４】
情報処理部３３０の全部または一部は、例えば、ＣＰＵなどのプロセッサが記憶部３１０に格納された制御用プログラムを実行することにより実現されるソフトウェア機能部である。なお、情報処理部３３０の全部または一部は、ＬＳＩ、ＡＳＩＣ、またはＦＰＧＡなどのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
情報処理部３３０は、例えば、受付部３３１と、生成部３３２と、処理部３３３とを備える。
【００２５】
受付部３３１は、通信部２０５が出力したコマンドを取得し、取得したコマンドを、処理部３３３に出力する。
生成部３３２は、検出部３４０が出力した検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成し、作成したプリンタ装置３００の状態を示す情報を含むステータス情報を生成する。生成部３３２は、生成したステータス情報を、通信部３０５に出力する。
具体的には、検出部３４０が、プリンタ装置３００が印刷を開始することを示す検出情報を出力した場合に、生成部３３２は、検出部３４０が出力した印刷を開始することを示す検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成する。
また、検出部３４０が、プリンタ装置３００が紙なしエラーを検出したことを示す検出情報を出力した場合に、生成部３３２は、検出部３４０が出力した紙なしエラーを検出したことを示す検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成する。
また、検出部３４０が、プリンタ装置３００がカバーオープンエラーを検出したことを示す検出情報を出力した場合に、生成部３３２は、検出部３４０が出力したカバーオープンエラーを検出したことを示す検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成する。
また、検出部３４０が、プリンタ装置３００がカッタエラーを検出したことを示す検出情報を出力した場合に、生成部３３２は、検出部３４０が出力したカッタエラーを検出したことを示す検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成する。
また、検出部３４０が、プリンタ装置３００がハードウェアエラーを検出したことを示す検出情報を出力した場合に、生成部３３２は、検出部３４０が出力したハードウェアエラーを検出したことを示す検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成する。
また、検出部３４０が、プリンタ装置３００が電圧エラーを検出したことを示す検出情報を出力した場合に、生成部３３２は、検出部３４０が出力した電圧エラーを検出したことを示す検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成する。
また、検出部３４０が、プリンタ装置３００がヘッド温度エラーを検出したことを示す検出情報を出力した場合に、生成部３３２は、検出部３４０が出力したヘッド温度エラーを検出したことを示す検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成する。
また、検出部３４０が、プリンタ装置３００が出力バッファフルを検出したことを示す検出情報を出力した場合に、生成部３３２は、検出部３４０が出力した出力バッファフルを検出したことを示す検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成する。
処理部３３３は、バッファ３２０に記憶された印刷データを取得し、取得した印刷データに基づいて、サーマルヘッドに印刷させるための制御信号と、ステッピングモータを駆動させる制御信号とを出力する。処理部３３３が出力したサーマルヘッドに印刷させるための制御信号と、ステッピングモータを駆動させる制御信号とによって、サーマルヘッドと、ステッピングモータとが動作する。処理部３３３は、受付部３３１が出力したコマンドを取得し、取得したコマンドに基づいて、処理を行う。具体的には、処理部３３３は、受付部３３１が出力したコマンドが、リセットコマンドである場合には、プリンタ装置３００をリセット（再起動）する。
【００２６】
検出部３４０は、プリンタ装置３００の状態を検出する。
具体的には、検出部３４０は、印刷を開始することを検出し、検出した印刷を開始することに基づいて、印刷を開始することを示す検出情報を生成する。検出部３４０は、生成した印刷を開始することを示す検出情報を、生成部３３２に出力する。
また、検出部３４０は、紙なしエラーを検出し、検出した紙なしエラーに基づいて、紙なしエラーを検出したことを示す検出情報を生成する。検出部３４０は、生成した紙なしエラーを検出したことを示す検出情報を、生成部３３２に出力する。
また、検出部３４０は、カバーオープンエラーを検出し、検出したカバーオープンエラーに基づいて、カバーオープンエラーを検出したことを示す検出情報を生成する。検出部３４０は、生成したカバーオープンエラーを検出したことを示す検出情報を、生成部３３２に出力する。
また、検出部３４０は、カッタエラーを検出し、検出したカッタエラーに基づいて、カッタエラーを検出したことを示す検出情報を生成する。検出部３４０は、生成したカッタエラーを検出したことを示す検出情報を、生成部３３２に出力する。
また、検出部３４０は、ハードウェアエラーを検出し、検出したハードウェアエラーに基づいて、ハードウェアエラーを検出したことを示す検出情報を生成する。検出部３４０は、生成したハードウェアエラーを検出したことを示す検出情報を、生成部３３２に出力する。
また、検出部３４０は、電圧エラーを検出し、検出した電圧エラーに基づいて、電圧エラーを検出したことを示す検出情報を生成する。検出部３４０は、生成した電圧エラーを検出したことを示す検出情報を、生成部３３２に出力する。
また、検出部３４０は、ヘッド温度エラーを検出し、検出したヘッド温度エラーに基づいて、ヘッド温度エラーを検出したことを示す検出情報を生成する。検出部３４０は、生成したヘッド温度エラーを検出したことを示す検出情報を、生成部３３２に出力する。
また、検出部３４０は、出力バッファフルを検出し、検出した出力バッファフルに基づいて、出力バッファフルを検出したことを示す検出情報を生成する。検出部３４０は、生成した出力バッファフルを検出したことを示す検出情報を、生成部３３２に出力する。
【００２７】
（印刷システムの動作）
図３−図５を参照し、印刷システム１００の動作について説明する。
図３は、本実施形態の印刷システムの動作の一例を示すフローチャート（シーケンスチャート）である。図３を参照して、ホスト装置２００が、プリンタ装置３００を監視する処理について説明する。印刷システム１００は、動作中に、図３に示されるシーケンスを実行する。
（ステップＳ１）
プリンタ装置３００の生成部３３２は、検出部３４０が出力した検出情報を取得したか否かによって、プリンタ装置３００の状態が変化したことを検出したか否かを判定する。生成部３３２が検出情報を取得しない場合には、プリンタ装置３００の状態が変化したことを検出していないことになるため、ステップＳ１に移行する。
（ステップＳ２）
生成部３３２が検出情報を取得した場合に、取得した検出情報に基づいて、プリンタ装置３００の状態を示す情報を生成し、作成したプリンタ装置３００の状態を示す情報を含むステータス情報を生成する。
（ステップＳ３）
生成部３３２は、生成したステータス情報を、通信部３０５に出力する。通信部３０５は、生成部３３２が出力したステータス情報を取得し、取得したステータス情報を、ホスト装置２００に送信する。
【００２８】
（ステップＳ４）
ホスト装置２００の通信部２０５は、プリンタ装置３００が送信したステータス情報を受信し、受信したステータス情報を、情報処理部２３０に出力する。情報処理部２３０の受付部２３１は、通信部２０５が出力したステータス情報を取得し、取得したステータス情報に含まれるプリンタ装置３００の状態を示す情報を取得する。受付部２３１は、取得したプリンタ装置３００の状態を示す情報を、監視部２３２に出力する。
（ステップＳ５）
監視部２３２は、受付部２３１が出力したプリンタ装置３００の状態を示す情報を取得し、取得したプリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００が印刷中であるか否かを監視する。また、監視部２３２は、プリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００が印刷を継続できない状態であるか否かを判定する。具体的には、監視部２３２は、プリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００に手動で復帰可能なエラーが発生したか自動で復帰可能なエラーが発生したか否かを判定する。
また、監視部２３２は、プリンタ装置３００の状態を示す情報に基づいて、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。監視部２３２は、プリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかを、判定部２３３に出力する。
判定部２３３は、監視部２３２が出力したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかを取得し、取得したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかに基づいて、リセットコマンドを生成するか否かを判定する。
（ステップＳ６）
監視部２３２は、受付部２３１が出力したプリンタ装置の状態を示す情報を取得したか否かを判定することによって、監視が終了したか否かを判定する。監視部２３２は、監視が終了したと判定した場合には終了し、監視が終了しない場合には、ステップＳ４に移行する。
【００２９】
図４は、本実施形態の印刷システムのホスト装置の動作の一例を示すシーケンスチャートである。
（ステップＳ１１）
ホスト装置２００の生成部２３４は、印刷データを生成する。
（ステップＳ１２）
ホスト装置２００の判定部２３３は、プリンタ装置３００が印刷を継続できない状態であることを示す情報を取得しているか否かを判定することによって、プリンタ装置３００にエラーが発生しているか否かを判定する。
（ステップＳ１３）
ホスト装置２００の判定部２３３が、プリンタ装置３００が印刷を継続できない状態であることを示す情報を取得していないことによって、プリンタ装置３００にエラーが発生していないと判定した場合に、生成部２３４は、生成した印刷データを、通信部２０５に出力する。通信部２０５は、生成部２３４が出力した印刷データを、プリンタ装置３００に送信する。
（ステップＳ１４）
ホスト装置２００の判定部２３３は、監視部２３２が出力したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかを取得した場合に、取得したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかに基づいて、リセットコマンドを生成する条件が成立するか否かを判定する。
つまり、判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成する条件が成立する。
【００３０】
（ステップＳ１５）
判定部２３３は、リセットコマンドを生成する条件が成立しないと判定した場合に、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報を取得しているか否かに基づいて、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。
つまり、判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に自動で復帰可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成する条件が成立しないと判定し、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。
判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に復帰不可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成する条件が成立しないと判定し、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。
判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したか自動で復帰可能なエラーが発生したかを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれも取得していない場合には、リセットコマンドを生成する条件が成立しないと判定し、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。
判定部２３３は、プリンタ装置３００が印刷中でないことを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成する条件が成立しないと判定し、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。
判定部２３３は、プリンタ装置３００が印刷中でないことを示す情報を取得し、且つプリンタ装置３００に自動で復帰可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成する条件が成立しないと判定し、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。
判定部２３３は、プリンタ装置３００が印刷中でないことを示す情報を取得し、且つプリンタ装置３００に復帰不可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成する条件が成立しないと判定し、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。
判定部２３３は、プリンタ装置３００が印刷中でないことを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したか自動で復帰可能なエラーが発生したかを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれも取得していない場合には、リセットコマンドを生成する条件が成立しないと判定し、プリンタ装置３００に復帰不可能なエラーが発生したか否かを判定する。
（ステップＳ１６）
判定部２３３が、プリンタ装置３００に復帰不可能なエラーが発生していないと判定した場合に、生成部２３４は、印刷が成功したと判定する。
（ステップＳ１７）
判定部２３３が、リセットコマンドを生成する条件が成立すると判定した場合に、生成部２３４は、リセットコマンドを生成する。つまり、判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したことを示す情報を取得した場合に、リセットコマンドを生成する条件が成立すると判定し、リセットコマンドを生成する条件が成立することを示す情報を、生成部２３４に出力する。
生成部２３４は、判定部２３３が出力したリセットコマンドを生成する条件が成立することを示す情報を取得した場合に、リセットコマンドを生成する。
（ステップＳ１８）
生成部２３４は、生成したリセットコマンドを、通信部２０５に出力する。通信部２０５は、生成部２３４が出力したリセットコマンドを、プリンタ装置３００に送信する。
（ステップＳ１９）
ステップＳ１２で、ホスト装置２００の判定部２３３が、プリンタ装置３００に手動で復帰可能なエラーが発生したか自動で復帰可能なエラーが発生したかを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかを取得していることによって、プリンタ装置３００にエラーが発生していると判定した場合と、ステップＳ１８で、リセットコマンドを生成した場合と、ステップＳ１５で、判定部２３３が、プリンタ装置３００に復帰不可能なエラーが発生したと判定した場合とに、判定部２３３は、印刷が失敗したと判定する。
【００３１】
図５は、本実施形態の印刷システムの動作の一例を示すシーケンスチャートである。図５を参照して、ホスト装置２００が、プリンタ装置３００にリセットコマンドを送信した場合の処理について説明する。
（ステップＳ２１）
ホスト装置２００の判定部２３３は、監視部２３２が出力したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかを取得した場合に、取得したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかに基づいて、リセットコマンドを生成する条件が成立するか否かを判定する。ここでは、リセットコマンドを生成する条件が成立する場合について説明を続ける。
（ステップＳ２２）
生成部２３４は、リセットコマンドを生成する。
（ステップＳ２３）
生成部２３４は、生成したリセットコマンドを、通信部２０５に出力する。通信部２０５は、生成部２３４が出力したリセットコマンドを、プリンタ装置３００に送信する。
（ステップＳ２４）
プリンタ装置３００の通信部３０５は、ホスト装置２００が送信したリセットコマンドを受信し、受信したリセットコマンドを、情報処理部３３０に出力する。情報処理部３３０の受付部３３１は、通信部２０５が出力したリセットコマンドを取得し、取得したリセットコマンドを、処理部３３３に出力する。処理部３３３は、受付部３３１が出力したリセットコマンドを取得し、取得したリセットコマンドに基づいて、処理を行う。ここでは、処理部３３３は、受付部３３１が出力したリセットコマンドに基づいて、プリンタ装置３００をリセット（再起動）する。
（ステップＳ２５）
処理部３３３は、プリンタ装置３００の通信部３０５と、ホスト装置２００との通信回線を切断する。
（ステップＳ２６）
処理部３３３は、プリンタ装置３００を起動する。
（ステップＳ２７）
処理部３３３は、プリンタ装置３００の通信部３０５を、ホスト装置２００との接続処理を行う。
【００３２】
前述した実施形態では、プリンタ装置３００の状態を示す情報の例として、紙なしエラーと、カバーオープンエラーと、カッタエラーと、ハードウェアエラーと、電圧エラーと、ヘッド温度エラーと、出力バッファフルとについて説明したが、この例に限られない。例えば、上記以外のエラーが含まれてもよい。
前述した実施形態では、ホスト装置２００が、プリンタ装置３００が印刷を完了したか否かを確認することなく、印刷データを送信し続ける場合について説明したが、この限りでない。
例えば、ホスト装置２００が、プリンタ装置３００が印刷を完了したか否かを確認する場合についても適用できる。この場合、ホスト装置２００は、プリンタ装置３００へ送信した印刷データを一時的に記憶し、プリンタ装置３００が送信した印刷が完了したことを示す情報を受信した場合に、一時的に記憶した印刷データを削除してもよい。このように構成することによって、ホスト装置２００は、印刷を完了していない印刷データを再送できるため、印刷漏れをなくすことができる。
また、例えば、ホスト装置２００が、印刷データを送信した後に、印刷を指示する情報を送信する場合についても適用できる。
前述した実施形態において、プリンタ装置３００として、サーマルプリンタ、インクジェット方式、レーザープリンタなどに適用できる。
本実施形態の印刷システム１００によれば、ホスト装置２００は、操作者が操作することなく、プリンタ装置３００をリセットする必要があるか否かを判定する。このため、操作者が、操作する負担を低減できる。ホスト装置２００は、プリンタ装置３００が印刷中でなく、且つプリンタ装置３００が印刷を継続できない状態である場合には、リセットコマンドを送信しないようにできる。
従来であれば、プリンタ装置が印刷中でないため、バッファに印刷データが記憶されていない場合でも、プリンタ装置３００が印刷を継続できない状態である場合には、リセットコマンドが発行されていた。
本実施形態の印刷システム１００では、プリンタ装置３００が印刷中でないため、バッファに印刷データが記憶されていない場合には、プリンタ装置３００に手動で復帰可能なエラーと、自動で復帰可能なエラーと、復帰不可能なエラーとのいずれかが発生したことによって、印刷を継続できない状態であっても、リセットコマンドを発行しない。このように構成することによって、プリンタ装置３００において必要のないリセットが行われることを防止できる。
また、必要のないリセットが行われないため、印刷できない時間を短縮できる。特に、ホスト装置２００と、プリンタ装置３００とが、無線ＬＡＮ（登録商標）、ブルートゥース（登録商標）などの無線技術によって接続されている場合には、プリンタ装置３００がリセットされることによって通信が切断された場合に、再接続に時間を要していたが、この再接続に要する時間を削減できる。
また、プリンタ装置３００がリセットされることによって、バッファの寿命にも影響するが、必要のないリセットが行われないため、バッファの寿命への影響を低減できる。
【００３３】
（変形例）
以下、本発明の一実施形態の変形例について、図面を参照しながら説明する。
図６は、本実施形態の変形例の印刷システムの構成の一例を示すブロック図である。図示するように、印刷システム１００は、プリンタ装置３００にコマンドを送信するホスト装置２００ａと、ホスト装置２００ａが送信したコマンドを受信し、受信したコマンドに基づいて処理を行うプリンタ装置３００とを備える。コマンドは、プリンタ装置３００が受信後に、プリンタ装置３００をリセット（再起動）させるリセットコマンド等がある。
ホスト装置２００ａは、ホスト装置２００と比較して、プリンタ装置３００に送信した送信データの処理が終了するまで、プリンタ装置３００に送信した送信データを保持する点で異なる。ホスト装置２００ａは、リセットさせたプリンタ装置３００が復帰した場合に、保持している印刷データのうち、古いデータから、プリンタ装置３００に送信する。
【００３４】
（ホスト装置）
ホスト装置２００ａは、通信部２０５と、記憶部２１０ａと、操作部２２０と、情報処理部２３０ａと、表示部２４０とを備える。
通信部２０５は、プリンタ装置３００が送信した印刷が終了したことを通知する情報である印刷終了通知情報を受信し、受信した印刷終了通知情報を、情報処理部２３０ａに出力する。
【００３５】
記憶部２１０ａは、例えば、ＲＡＭ、ＲＯＭ、ＨＤＤ、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。記憶部２１０ａには、情報処理部２３０ａにより実行されるプログラム２１１と、アプリ２１２ａとが記憶される。さらに、記憶部２１０ａには、リセット判定情報２１３と、印刷データ２１４とが記憶される。
アプリ２１２ａは、前述したアプリ２１２が、ホスト装置２００に実行させる機能に加えて、以下の機能を、ホスト装置２００ａに実行させる。
アプリ２１２ａは、ホスト装置２００ａに、印刷データの識別情報を生成させ、生成させた印刷データの識別情報を、印刷データに付帯させる。アプリ２１２ａは、ホスト装置２００ａに、印刷データの識別情報を付帯した印刷データ（以下「識別情報付帯印刷データ」という）を記憶させる。アプリ２１２ａは、ホスト装置２００ａに、識別情報付帯印刷データの取得日時を示す情報、一連の特定番号などの識別番号を生成させる。アプリ２１２ａは、ホスト装置２００ａに、生成した識別番号を、記憶した識別情報付帯印刷データに関連付けて記憶させる。
アプリ２１２ａは、ホスト装置２００ａに、プリンタ装置３００が送信した印刷完了通知情報を受信させ、受信させた印刷完了通知情報に含まれる印刷データの識別情報を取得させる。アプリ２１２ａは、ホスト装置２００ａに、取得させた印刷データの識別情報に基づいて、記憶した識別情報付帯印刷データのうち、印刷データの識別情報を含む識別情報付帯印刷データと、その識別情報付帯印刷データに関連付けて記憶されている識別番号とを削除させる。
アプリ２１２ａは、ホスト装置２００ａに、リセットコマンドを送信させた後に、プリンタ装置３００が、復帰した場合に、識別番号に基づいて、記憶している識別情報付帯印刷データのうち、先に記憶されている識別情報付帯印刷データから順に、プリンタ装置３００に送信させる。
印刷データ２１４は、情報処理部２３０ａが生成した識別情報付帯印刷データと、識別番号とを関連付けて一時的に記憶する。
【００３６】
情報処理部２３０ａの全部または一部は、例えば、ＣＰＵなどのプロセッサが記憶部２１０ａに格納されたプログラム２１１とアプリ２１２ａとを実行することにより実現されるソフトウェア機能部である。なお、情報処理部２３０ａの全部または一部は、ＬＳＩ、ＡＳＩＣ、またはＦＰＧＡなどのハードウェアにより実現されてもよく、ソフトウェア機能部とハードウェアとの組み合わせによって実現されてもよい。
情報処理部２３０ａは、例えば、受付部２３１と、監視部２３２と、判定部２３３と、生成部２３４と、印刷制御部２３５とを備える。
【００３７】
生成部２３４は、印刷データを生成するとともに、印刷データの識別情報を生成する。生成部２３４は、生成した印刷データの識別情報を、印刷データに付帯することによって、識別情報付帯印刷データを生成する。生成部２３４は、生成した識別情報付帯印刷データを、印刷制御部２３５に出力する。生成部２３４は、生成したリセットコマンドを、通信部２０５に出力した場合に、印刷制御部２３５に、リセットコマンドを通信部２０５に出力したことを示す情報を通知する。
印刷制御部２３５は、生成部２３４が出力した識別情報付帯印刷データを取得した場合に、識別情報付帯印刷データの取得日時を示す情報、一連の特定番号などの識別番号を生成する。印刷制御部２３５は、生成した識別番号と、識別情報付帯印刷データとを関連付けて、記憶部２１０ａの印刷データ２１４に記憶する。
印刷制御部２３５は、通信部２０５が出力した印刷終了通知情報を取得し、取得した印刷終了通知情報に含まれる印刷データの識別情報を取得する。印刷制御部２３５は、取得した印刷データの識別情報を含む識別情報付帯印刷データと、その識別情報付帯印刷データに関連付けて記憶されている識別番号とを、記憶部２１０ａの印刷データ２１４から削除する。
印刷制御部２３５は、生成部２３４が出力したリセットコマンドを通信部２０５に出力したことを示す情報を取得する。印刷制御部２３５は、取得したリセットコマンドを通信部２０５に出力したことを示す情報に基づいて、記憶部２１０ａの印刷データ２１４に保持している識別番号のうち、取得日時から長時間経過している識別番号に関連付けて記憶されている識別情報付帯印刷データを記憶部２１０ａの印刷データ２１４から取得し、取得した識別情報付帯印刷データを、通信部２０５に出力する。
【００３８】
（印刷システムの動作）
図７−図８を参照し、印刷システム１００の動作について説明する。
図７は、本実施形態の変形例の印刷システムのホスト装置の動作の一例を示すフローチャートである。図７を参照して、ホスト装置２００ａが、プリンタ装置３００を監視する処理について説明する。印刷システム１００は、動作中に、図７に示されるシーケンスを実行する。
（ステップＳ３１）
ホスト装置２００の生成部２３４は、印刷データを生成する。
（ステップＳ３２）
生成部２３４は、ステップＳ３１で生成した印刷データの識別情報を生成する。生成部２３４は、印刷データの識別情報を、印刷データに付帯することによって生成した識別情報付帯印刷データを、印刷制御部２３５に出力する。例えば、生成部２３４は、印刷データの識別情報を、印刷データの任意の位置、例えば最後に付帯する。印刷制御部２３５は、生成部２３４が出力した識別情報付帯印刷データを取得し、取得した識別情報付帯印刷データを、記憶部２１０ａの印刷データ２１４に記憶する。
（ステップＳ３３）
印刷制御部２３５は、生成部２３４が出力した識別情報付帯印刷データを取得した場合に、識別情報付帯印刷データの取得日時を示す情報、一連の特定番号などの識別番号を生成する。印刷制御部２３５は、生成した識別番号を、ステップＳ３２で記憶部２１０ａに記憶した識別情報付帯印刷データに関連付けて記憶する。
（ステップＳ３４）
判定部２３３は、プリンタ装置３００が印刷を継続できない状態であることを示す情報を取得しているか否かを判定することによって、プリンタ装置３００にエラーが発生しているか否かを判定する。
（ステップＳ３５）
ホスト装置２００の判定部２３３が、プリンタ装置３００が印刷を継続できない状態であることを示す情報を取得していないことによって、プリンタ装置３００にエラーが発生していないと判定した場合に、生成部２３４は、識別情報付帯印刷データを、通信部２０５に出力する。通信部２０５は、生成部２３４が出力した識別情報付帯印刷データを、プリンタ装置３００に送信する。
（ステップＳ３６）
判定部２３３は、監視部２３２が出力したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかを取得した場合に、取得したプリンタ装置３００が印刷中であるか否かを示す情報と、プリンタ装置３００が印刷を継続できない状態であるか否かを示す情報と、プリンタ装置３００に復帰不可能なエラーが発生したか否かを示す情報とのいずれかに基づいて、リセットコマンドを生成する条件が成立するか否かを判定する。
つまり、判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したことを示す情報を取得した場合には、リセットコマンドを生成する条件が成立する。
（ステップＳ３７）
判定部２３３が、リセットコマンドを生成する条件が成立すると判定した場合に、生成部２３４は、リセットコマンドを生成する。つまり、判定部２３３は、プリンタ装置３００が印刷中であることを示す情報を取得し、且つプリンタ装置３００に手動で復帰可能なエラーが発生したことを示す情報を取得した場合に、リセットコマンドを生成する条件が成立すると判定し、リセットコマンドを生成する条件が成立することを示す情報を、生成部２３４に出力する。
生成部２３４は、判定部２３３が出力したリセットコマンドを生成する条件が成立することを示す情報を取得した場合に、リセットコマンドを生成する。
（ステップＳ３８）
生成部２３４は、生成したリセットコマンドを、通信部２０５に出力する。通信部２０５は、生成部２３４が出力したリセットコマンドを、プリンタ装置３００に送信する。
（ステップＳ３９）
ステップＳ３４で、プリンタ装置３００にエラーが発生していると判定した場合と、ステップＳ３８で、リセットコマンドを送信した場合に、生成部２３４は、再印刷の指示があるか否かを判定する。再印刷の指示があると判定した場合には、ステップＳ３４に戻る。
（ステップＳ４０）
ステップＳ３６で、判定部２３３が、リセットコマンドを生成する条件が成立しないと判定した場合に、印刷制御部２３５は、通信部２０５が出力した印刷終了通知情報を取得したか否かを判定する。すなわち、ここでは、プリンタ装置３００から識別情報を取得し、かつ、取得した識別情報が記憶部２１０ａの印刷データ２１４に記憶されている識別情報付帯印刷データに付帯されている印刷データの識別情報と一致していることを判定する。
【００３９】
（ステップＳ４１）
印刷制御部２３５は、印刷終了通知情報を取得したと判定した場合に、記憶部２１０ａの印刷データ２１４に記憶されている識別情報付帯印刷データに付帯されている印刷データの識別情報のうち、該当する印刷データの識別情報を削除する。
（ステップＳ４２）
印刷制御部２３５は、削除した印刷データの識別情報に該当する印刷データと識別番号とを削除する。
（ステップＳ４３）
印刷制御部２３５は、印刷が成功したと判定する。
（ステップＳ４４）
印刷制御部２３５は、印刷終了通知情報を取得していないと判定した場合に、受信時間閾値が経過したか否かを判定する。ここで、受信時間閾値とは、ホスト装置２００ａがプリンタ装置３００に識別情報付帯印刷データを送信してから、プリンタ装置３００が、その印刷の処理に要する時間の閾値である。受信時間閾値が経過していない場合には、ステップＳ４０に戻る。
（ステップＳ４５）
ステップＳ４４で、印刷制御部２３５が、印刷終了通知情報を取得していると判定した場合と、ステップＳ３９で、生成部２３４が、再印刷の指示がないと判定した場合とに、印刷制御部２３５は、記憶部２１０ａの印刷データ２１４に記憶されている識別情報付帯印刷データに付帯されている印刷データの識別情報のうち、該当する印刷データの識別情報を削除する。
（ステップＳ４６）
印刷制御部２３５は、削除した印刷データの識別情報に該当する印刷データと識別番号とを削除する。
（ステップＳ４７）
印刷制御部２３５は、印刷が失敗したと判定する。
図７に示すフローチャートにおいて、ステップＳ４１とステップＳ４２との順序を入れ替えてもよいし、ステップＳ４５とステップＳ４６との順序を入れ替えてもよい。
【００４０】
図８は、本実施形態の変形例の印刷システムの動作の一例を示すシーケンスチャートである。図８を参照して、ホスト装置２００ａが、プリンタ装置３００にリセットコマンドを送信した場合の処理について説明する。
ステップＳ５１〜Ｓ５７は、図５のステップＳ２１〜Ｓ２７を適用できる。
（ステップＳ５８）
ホスト装置２００ａの印刷制御部２３５は、記憶部２１０ａの印刷データ２１４に記憶されている識別情報付帯印刷データに付帯されている識別番号に基づいて、取得日時から長時間経過している識別番号に関連付けられている識別情報付帯印刷データを記憶部２１０ａの印刷データ２１４から取得し、取得した識別情報付帯印刷データを、通信部２０５に出力する。
（ステップＳ５９）
通信部２０５は、印刷制御部２３５が出力した識別情報付帯印刷データを取得し、取得した識別情報付帯印刷データを、プリンタ装置３００に送信する。
【００４１】
前述した実施形態の変形例では、ホスト装置２００ａが、プリンタ装置３００にリセットコマンドを送信することによってプリンタ装置３００が復帰した場合に、記憶している識別情報付帯印刷データのうち、先に記憶している識別情報付帯印刷データから順に、プリンタ装置３００に送信させる場合について説明したが、この例に限られない。例えば、先に記憶されている識別情報付帯印刷データに限らず、任意の順序で送信させるようにしてもよいし、送信する順序を操作者が設定できるようにしてもよい。
本実施形態の変形例の印刷システム１００によれば、ホスト装置２００ａは、印刷データを生成するとともに、印刷データの識別情報を生成する。ホスト装置２００ａは、生成した印刷データの識別情報を、印刷データに付帯することによって、識別情報付帯印刷データを生成する。ホスト装置２００ａは、識別情報付帯印刷データの取得日時を示す情報、一連の特定番号などの識別番号を生成する。ホスト装置２００ａは、生成した識別番号と、識別情報付帯印刷データとを関連付けて記憶する。
ホスト装置２００ａは、プリンタ装置３００が送信した印刷終了通知情報を受信した場合に、その印刷終了通知情報に含まれる印刷データの識別情報を取得する。ホスト装置２００ａは、取得した印刷データの識別情報を含む識別情報付帯印刷データと、その識別情報付帯印刷データに関連付けて記憶されている識別番号とを削除する。このように構成することによって、ホスト装置２００ａは、識別情報付帯印刷データが処理されたか否かを把握できるため、仮に、プリンタ装置３００に識別情報付帯印刷データを送信したにもかかわらず、その識別情報付帯印刷データが処理されないままになることを防止できる。ホスト装置２００ａは、プリンタ装置３００に、印刷データを送信してから受信時間閾値が経過しても、その識別情報付帯印刷データに該当する印刷データの識別情報を含む印刷終了通知情報を受信できない場合には、印刷が失敗したと判定する。
また、ホスト装置２００ａが、プリンタ装置３００にリセットコマンドを送信することによってプリンタ装置３００が復帰した場合に、記憶している識別情報付帯印刷データのうち、先に記憶している印刷データから順に、プリンタ装置３００に送信する。このように構成することによって、ホスト装置２００ａが、リセットコマンドを送信する前に、プリンタ装置３００に送信した識別情報付帯印刷データのうち、プリンタ装置３００で処理されていない識別情報付帯印刷データを処理させることができる。つまり、操作者が操作することなく、印刷処理が中断されたことによって、バッファに残っている識別情報付帯印刷データを削除された場合でも、その削除された識別情報付帯印刷データを処理させることができる。
【００４２】
なお、上述した実施形態におけるホスト装置２００、ホスト装置２００ａ、プリンタ装置３００が備える各部の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００４３】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【００４４】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【００４５】
１００…印刷システム、２００、２００ａ…ホスト装置、２０５…通信部、２１０、２１０ａ…記憶部、２１１…プログラム、２１２、２１２ａ…アプリ、２１３…リセット判定情報、２２０…操作部、２３０、２３０ａ…情報処理部、２３１…受付部、２３２…監視部、２３３…判定部、２３４…生成部、２３５…印刷制御部、２４０…表示部、３００…プリンタ装置、３０５…通信部、３１０…記憶部、３２０…バッファ、３３０…情報処理部、３３１…受付部、３３２…生成部、３３３…処理部、３４０…検出部
【図１】
2020107993.tif 000003
【図２】
2020107993.tif 000004
【図３】
2020107993.tif 000005
【図４】
2020107993.tif 000006
【図５】
2020107993.tif 000007
【図６】
2020107993.tif 000008
【図７】
2020107993.tif 000009
【図８】
2020107993.tif 000010