(57)【要約】【課題】コマンドの送信元である外部装置がコマンドの送信制御エラーを生じていると推定される場合に、警告を通知することができる画像形成装置及びプログラムを提供する。【解決手段】サーマルプリンタ１のコントローラ１１が、コマンドの種類毎に予め決められた単位時間あたりのコマンドの実行回数を監視する監視し、当該予め決められた単位時間あたりのコマンドの実行回数が閾値以上である場合に、コマンドの送信元であるホスト装置にアラームを通知する。【選択図】図４
2012011636.tif 000002
【特許請求の範囲】
【請求項１】
コマンドの種類毎に予め決められた単位時間あたりのコマンドの実行回数を監視する監視手段と、
当該予め決められた単位時間あたりのコマンドの実行回数が閾値以上である場合に、コマンドの送信元である外部装置にアラームを通知する通知手段と
を備えていることを特徴とする画像形成装置。
【請求項２】
前記予め決められた単位時間あたりのコマンドの実行回数が閾値以上である場合に、実行すべきコマンドを無視する無視手段を備えていることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記予め決められた単位時間あたりのコマンドの実行回数が閾値以上であり、且つ実行すべきコマンドを無視しない場合に、実行すべきコマンドをバッファリングし、コマンド毎に規定された実行可能な周期の経過後に当該バッファリングされたコマンドを実行する遅延実行手段を備えていることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
コマンドの種類毎に、前記通知手段のオン／オフ、前記無視手段のオン／オフ及び前記遅延実行手段のオン／オフの少なくとも１つを設定する設定手段を備えることを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記閾値をコマンドの種類毎に設定する設定手段をさらに備えることを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項６】
前記画像形成装置は、サーマルプリンタであることを特徴とする請求項１乃至５のいずれか１項に記載の画像形成装置。
【請求項７】
コンピュータを、
コマンドの種類毎に予め決められた単位時間あたりのコマンドの実行回数を監視する監視手段、及び
当該予め決められた単位時間あたりのコマンドの実行回数が閾値以上である場合に、コマンドの送信元である外部装置にアラームを通知する通知手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びプログラムに関する。
【背景技術】
【０００２】
従来より、コマンドを監視する画像形成装置が知られている（例えば、特許文献１参照）。
【０００３】
画像形成装置としてのサーマルプリンタは、レシートや控え（ジャーナル）用途に使用される。また、サーマルプリンタには、印字設定や印字実行のために各種のコマンドが用意されている。この種のサーマルプリンタでは、ホスト装置（例えば、キャッシュレジスタ、ＡＴＭ、又はハンディターミナルなど）が印字毎に又は一定周期毎にコマンドを発行し、サーマルプリンタを制御する。そして、サーマルプリンタは、コマンドを受信すると、受信順にコマンドを実行している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０５−１１０７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、サーマルプリンタがホスト装置からコマンドを受信し、そのコマンドが実行される周期が適切でない場合、サーマルプリンタの寿命が低下するおそれがある。例えば、ホスト装置から大量のコマンドが短期間にサーマルプリンタのフラッシュメモリに書き込まれると、フラッシュメモリの書き込み回数がフラッシュメモリの書き込み耐用回数を超えて、フラッシュメモリが故障する。その結果、サーマルプリンタの寿命が短くなる。
【０００６】
本発明の目的は、コマンドの送信元である外部装置がコマンドの送信制御エラーを生じていると推定される場合に、警告を通知することができる画像形成装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、画像形成装置は、コマンドの種類毎に予め決められた単位時間あたりのコマンドの実行回数を監視する監視手段と、当該予め決められた単位時間あたりのコマンドの実行回数が閾値以上である場合に、コマンドの送信元である外部装置にアラームを通知する通知手段とを備えていることを特徴とする。かかる構成によれば、コマンドの送信元である外部装置がコマンドの送信制御エラーを生じていると推定される場合に、警告を外部装置に通知することができる。
【０００８】
好ましくは、画像形成装置は、前記予め決められた単位時間あたりのコマンドの実行回数が閾値以上である場合に、実行すべきコマンドを無視する無視手段を備えていることを特徴とする。かかる構成によれば、誤ったタイミングで外部装置から送信されたコマンドの実行タイミングを補正することができ、画像形成装置の寿命の低下を回避することができる。
【０００９】
より好ましくは、画像形成装置は、前記予め決められた単位時間あたりのコマンドの実行回数が閾値以上であり、且つ実行すべきコマンドを無視しない場合に、実行すべきコマンドをバッファリングし、コマンド毎に規定された実行可能な周期の経過後に当該バッファリングされたコマンドを実行する遅延実行手段を備えていることを特徴とする。かかる構成によれば、誤ったタイミングで外部装置から送信されたコマンドの実行タイミングを補正することができ、画像形成装置の寿命の低下を回避することができる。
【００１０】
さらに好ましくは、画像形成装置は、コマンドの種類毎に、前記通知手段のオン／オフ、前記無視手段のオン／オフ及び前記遅延実行手段のオン／オフの少なくとも１つを設定する設定手段を備えることを特徴とする。かかる構成によれば、コマンドの種類毎に、外部装置にアラームを通知するか否かの設定、実行すべきコマンドを無視するか否かの設定、実行すべきコマンドを遅延して実行するか否かの設定の少なくとも１つを実行することができる。
【００１１】
好ましくは、画像形成装置は、前記閾値をコマンドの種類毎に設定する設定手段をさらに備えることを特徴とする。かかる構成によれば、コマンドの種類毎に閾値を変更することができる。
【００１２】
好ましくは、画像形成装置は、サーマルプリンタであることを特徴とする。
【００１３】
上記目的を達成するため、プログラムは、コンピュータを、コマンドの種類毎に予め決められた単位時間あたりのコマンドの実行回数を監視する監視手段、及び当該予め決められた単位時間あたりのコマンドの実行回数が閾値以上である場合に、コマンドの送信元である外部装置にアラームを通知する通知手段として機能させることを特徴とする。かかる構成によれば、コマンドの送信元である外部装置がコマンドの送信制御エラーを生じていると推定される場合に、警告を外部装置に通知することができる。
【発明の効果】
【００１４】
本発明によれば、画像形成装置の寿命の低下を回避することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態に係るサーマルプリンタとホスト装置の構成を示すブロック図である。
【図２】（Ａ）は、不揮発性メモリの構造を示す図であり、図２（Ｂ）はＳＲＡＭの構造を示す図である。
【図３】（Ａ）は、アラーム通知対象のコマンド、無視対象のコマンド及び遅延対象のコマンドの関係を示すテーブル情報である。（Ｂ）は、コマンドの構造を示す図である。
【図４】コントローラで実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００１７】
図１は、本実施の形態に係るサーマルプリンタとホスト装置の構成を示すブロック図である。
【００１８】
図１において、画像形成装置としてサーマルプリンタ１は、コントローラ１１（監視手段、通知手段、無視手段、遅延実行手段、設定手段）、駆動部１２、印刷部１３、センサ１４、不揮発性メモリ１５、ＳＲＡＭ（Static Random Access Memory）１６、フラッシュメモリ１７、インターフェース１８及び入力部１９（設定手段）を備えている。尚、サーマルプリンタ１は、入力部１９を備えていなくてもよい。ホスト装置２は、例えば、キャッシュレジスタ、ＡＴＭ（Automated Teller Machine）、又はハンディターミナルなどであり、ＣＰＵ（Central Processing Unit）２１、メモリ２２、インターフェース２３、表示部２４及び入力部２５を備えている。
【００１９】
コントローラ１１は、サーマルプリンタ１の全体の動作を制御する。また、コントローラ１１は、ホスト装置２から受信したコマンドを実行する。コマンドが実行された場合、例えば、コマンドに含まれる外字データやグラフィックイメージが後述するフラッシュメモリ１７に登録される。駆動部１２は、例えば、ステッピングモータで構成されており、サーマルプリンタ１で使用される用紙の搬送に使用される。印刷部１３は、例えば、サーマルヘッドで構成されており、用紙に文字や図形を印字する際に使用される。センサ１４は、例えば、用紙の有無を検出するセンサやカバーの開閉を検出するスイッチ等で構成されている。コントローラ１１は、ホスト装置２から印刷コマンドを受信すると、駆動部１２に駆動信号を出力し、印刷部１３に画像データを出力する。また、コントローラ１１は、用紙無しを示す信号をセンサ１４から受信すると、ホスト装置２の表示部２４に用紙交換を示す情報を出力する。これにより、ユーザは表示部２４を介して用紙交換が必要であることを認識する。コントローラ１１は、カバーが開いていることを示す信号をセンサ１４から受信すると、ホスト装置２の表示部２４にカバーが開いていることを示す情報を出力する。
【００２０】
不揮発性メモリ１５は、各種の設定情報及び後述するテーブル情報を格納する。ＳＲＡＭ１６は、ホスト装置２から受信した各種のコマンドを保存する。フラッシュメモリ１７は、ＳＲＡＭ１６で展開されたコマンドを保存したり、コマンドから展開されたデータを保存する。インターフェース１８は、例えば、ＵＳＢ（Universal Serial Bus）、ＩｒＤＡ（Infrared Data Association）、Ｂｌｕｅｔｏｏｔｈ、ＲＳ−２３２Ｃ等のインターフェースであり、ホスト装置２から各種のコマンドを受信する際に使用される。
【００２１】
入力部１９は、液晶表示部などを含むユーザインターフェースであり、コントローラ１１で参照される、ホスト装置２へアラームを通知するか否かの設定、ホスト装置２から受信されたコマンドを無視するか否かの設定、及びコントローラ１１がコマンドを遅延して実行するか否かの設定を入力する。コントローラ１１は、入力部１９からの設定情報を不揮発性メモリ１５に設定する。また、ユーザは、これらの設定情報をコマンドの種類毎に入力部１９又はホスト装置２から変更又は編集可能である。例えば、ユーザは、入力部１９又はホスト装置２で、あるコマンドの無視の設定を指示すると、コントローラ１１がコマンドを無視するか否かの設定情報を不揮発性メモリ１５から読み出し、入力部１９又はホスト装置２からの指示に従って当該コマンドに対応する設定情報の内容を変更する。
【００２２】
ホスト装置２のＣＰＵ２１は、ホスト装置２の全体の動作を制御する。メモリ２２は、各種のプログラムやデータを格納する。インターフェース２３は、例えば、ＵＳＢ（Universal Serial Bus）、ＩｒＤＡ（Infrared Data Association）、Ｂｌｕｅｔｏｏｔｈ、ＲＳ−２３２Ｃ等のインターフェースであり、インターフェース１８にケーブルを介して接続される。また、インターフェース２３は、ホスト装置２からのコマンドをサーマルプリンタ１に送信する。表示部２４は、各種のデータや情報を表示する。入力部２５は、キーボードやマウスなどで構成され、ホスト装置２に各種のデータや情報を入力する際に使用される。また、入力部２５は、上述した不揮発性メモリ１５に格納される設定情報を変更する場合に使用される。
【００２３】
図２（Ａ）は、不揮発性メモリ１５の構造を示す図であり、図２（Ｂ）はＳＲＡＭ１６の構造を示す図である。
【００２４】
図２（Ａ）に示すように、不揮発性メモリ１５は、設定情報格納領域１５１及びテーブル情報格納領域１５２を備えている。設定情報格納領域１５１には、ホスト装置２へアラームを通知するか否かの設定情報、ホスト装置２から受信されたコマンドを無視するか否かの設定情報、及びコントローラ１１がコマンドを遅延して実行するか否かの設定情報が格納される。コマンド情報格納領域１５２には、後述する図３に示す、テーブル情報が格納される。設定情報格納領域１５１に格納される複数の設定情報、及びコマンド情報格納領域１５２に格納されるテーブル情報は、入力部１９又はホスト装置２からの指示に従って変更可能である。例えば、ユーザは、入力部１９又はホスト装置２を使って、コマンドの種類毎に、ホスト装置２へアラームを通知しない設定をホスト装置２へアラームを通知する設定に変更することができる。
【００２５】
図２（Ｂ）に示すように、ＳＲＡＭ１６は、コマンド展開領域１６１、コマンド保存領域１６２、及び最終時刻保存領域１６３を備えている。コマンド展開領域１６１は、コントローラ１１がホスト装置２から受信したコマンドを展開し、展開されたコマンドに応じた処理を実行する領域である。コマンド保存領域１６２は、ホスト装置２から受信したコマンドを一時保存する領域である。最終時刻保存領域１６３は、コントローラ１１が最後にコマンドを実行した時刻を保存する領域である。コントローラ１１は、最終時刻保存領域１６３に格納された最終時刻を確認することによって、最終時刻からの経過時間を把握することができる。
【００２６】
図３（Ａ）は、アラーム通知対象のコマンド、無視対象のコマンド及び遅延対象のコマンドの関係を示すテーブル情報である。図３（Ｂ）は、コマンドの構造を示す図である。
【００２７】
図３（Ａ）に示すように、アラーム通知対象のコマンドは、例えば、外字をＳＲＡＭ１６に登録するための外字登録コマンド、及びサーマルプリンタ１をリセットするためのリセットコマンドを含む。単位時間あたり（例えば１０分間）のアラーム通知対象のコマンドの実行回数が予め決められた閾値以上の場合に、コントローラ１１はホスト装置２へアラームを通知する。尚、コントローラ１１はアラーム通知対象のコマンドを受信した場合、当該コマンドを実行する。
【００２８】
また、無視対象のコマンドは、例えば、ロゴマークのようなグラフィックイメージをフラッシュメモリ１７に登録するグラフィック登録コマンド、及び外字をフラッシュメモリ１７に登録するための外字登録コマンドを含む。単位時間あたり（例えば１０分間）の無視対象のコマンドの実行回数が予め決められた閾値以上の場合に、コントローラ１１は当該コマンドを無視して、当該コマンドを実行しない。この場合、コントローラ１１はホスト装置２へアラームを通知してもよい。
【００２９】
また、遅延対象のコマンドは、例えば、用紙のカットを指示するための用紙カットコマンドを含む。単位時間あたり（例えば１０分間）の遅延対象のコマンドの実行回数が予め決められた閾値以上の場合に、コントローラ１１は、所定時間（例えば、単位時間）待機した後、遅延対象のコマンドを実行する。尚、図３のテーブル情報は一例であり、これに限定されるものではない。例えば、用紙カットコマンドは、無視対象のコマンドに含まれていてもよい。
【００３０】
尚、無視対象のコマンドや遅延対象のコマンドは、頻繁に実行されるとサーマルプリンタ１の寿命や印字品質に悪影響を発生するコマンドである。例えば、ホスト装置２から大量の無視対象のコマンドや遅延対象のコマンドが短期間にサーマルプリンタ１のフラッシュメモリ１７に書き込まれると、フラッシュメモリ１７の書き込み回数がフラッシュメモリ１７の書き込み耐用回数を超えて、フラッシュメモリ１７が故障し、サーマルプリンタ１の寿命が短くなる。また、無視対象のコマンドや遅延対象のコマンドが頻繁に実行されると、印字が途中で中断され、その後再開されると、印字濃度にばらつきが生じ、サーマルプリンタ１の印字品質が低下する。
【００３１】
図３（Ａ）では、アラーム通知対象のコマンド、無視対象のコマンド及び遅延対象のコマンドを説明したが、コマンドはこれらに限定されるものではない。例えば、レシートでは、レシートの先頭に印刷されるロゴマークのようなグラフィックイメージの他に、買い物内容を示すデータが含まれる。この買い物内容を示すデータを含む印字コマンドは、単位時間あたりのコマンドの実行回数が予め決められた閾値以上の場合でも、問題のないコマンドである。
【００３２】
図３（Ｂ）に示すように、各コマンドは、ヘッダ３１とデータ部３２を備えている。ヘッダ３１は、例えば、コマンドの種類を特定する４ビットで構成されている。例えば、ヘッダ３１が「００００」の場合は、当該コマンドは、グラフィック登録コマンドを示す。ヘッダ３１が「０００１」の場合は、当該コマンドは、外字をＳＲＡＭ１６に登録するための外字登録コマンドを示す。コントローラ１１は、各コマンドのヘッダ３１を確認することで、ホスト装置２から受信したコマンドの種類を判断することができる。データ部３２は、実データを示す。例えば、グラフィック登録コマンドの場合、データ部３２は、ロゴマークのようなグラフィックイメージである。外字登録コマンドの場合、データ部３２は、外字のデータである。
【００３３】
図４は、コントローラ１１で実行される処理を示すフローチャートである。
【００３４】
まず、コントローラ１１は、コマンドの種類毎に予め決められた単位時間（例えば１０分間）あたりのコマンドの実行回数を取得する（ステップＳ１）。ここでは、コントローラ１１は、コマンドの種類毎に単位時間あたりのコマンドの実行回数を監視している。コントローラ１１は、不図示のタイマーを備え、時間を測定しているものとする。
【００３５】
コントローラ１１は、予め決められた単位時間あたりのコマンドの実行回数が予め決められた閾値以上であるか否かを判別する（ステップＳ２）。ここでは、コントローラ１１は、コマンドの送信元であるホスト装置２がコマンドの送信制御エラーを生じているか否かを判断している。この閾値は、入力部１９又はホスト装置２を介して予め不揮発性メモリ１５又はＳＲＡＭ１６に設定されている。このため、ユーザは入力部１９又はホスト装置２を介してコマンドの種類毎に閾値を変更することができる。
【００３６】
ステップＳ２の判別の結果がＮＯである場合には、コントローラ１１は、ホスト装置２からコマンドを取得し（ステップＳ３）、ＳＲＡＭ１６上でコマンドを展開し、コマンドに応じた処理を実行する（ステップＳ４）。コントローラ１１は、処理が実行されたデータをフラッシュメモリ１７に書き込む（ステップＳ５）。その後、コントローラ１１は、コマンドの実行回数を１インクリメントし、最後にコマンドを実行した時刻をＳＲＡＭ１６の最終時刻保存領域１５５に保存する（ステップＳ６）。それから、手順はステップＳ１に戻る。
【００３７】
ステップＳ２の判別の結果がＹＥＳである場合には、コントローラ１１は、ホスト装置２から取得するコマンドがアラーム通知対象のコマンドであり、且つ設定情報格納領域１５１に格納されている設定情報がホスト装置２へアラームを通知する設定であるか否かを判別する（ステップＳ７）。
【００３８】
ステップＳ７の判別の結果がＹＥＳである場合には、コントローラ１１は、ホスト装置２へアラームを通知する（ステップＳ８）。これにより、ホスト装置２がコマンドの送信制御エラーを生じていると推定される場合に、警告をホスト装置２に通知することができる。その後、ホスト装置２が、コントローラ１１へのコマンドの送信間隔を調整する（即ち、コマンドの送信間隔を長くする）ことで、フラッシュメモリ１７への書き込み頻度が減少する。その結果、サーマルプリンタ１の寿命の低下を回避することができる。
【００３９】
ステップＳ７の判別の結果がＮＯである場合には、コントローラ１１は、ホスト装置２から取得したコマンドが無視対象のコマンドであり、且つ設定情報格納領域１５１に格納されている設定情報がホスト装置２から受信されたコマンドを無視する設定であるか否かを判別する（ステップＳ９）。
【００４０】
ステップＳ９の判別の結果がＹＥＳである場合には、コントローラ１１は、ホスト装置２から取得したコマンドを無視する（ステップＳ１０）。このとき、コントローラ１１はホスト装置２へアラームを通知してもよい。ステップＳ１０によれば、誤ったタイミングで外部装置から送信されたコマンドの実行タイミングを補正することができ、サーマルプリンタ１の寿命や印字品質の低下を回避することができる。
【００４１】
ステップＳ９の判別の結果がＮＯである場合には、コントローラ１１は、最後にコマンドを処理した時刻を最終時刻保存領域１５５から読み出し、当該コマンドの実行可能な周期が経過しているか否かを判別する（ステップＳ１１）。ここでは、コントローラ１１はコマンドを遅延して実行できるか否かを判断している。尚、コマンドの実行可能な周期は、コマンドの種類毎に予め決められている。ステップＳ１１の判別の結果がＮＯである場合には、コントローラ１１は、当該コマンドをコマンド保存領域１６２に格納し（ステップＳ１２）、ステップＳ１１の判別を繰り返す。ステップＳ１１の判別の結果がＹＥＳである場合には、ステップＳ３に進み、コントローラ１１は、当該コマンドをコマンド保存領域１６２から取得する。その後、ステップＳ４で、コントローラ１１は、コマンド展開領域１６１上でコマンドを展開し、コマンドに応じた処理を実行する。コントローラ１１がコマンドを遅延して実行する場合、誤ったタイミングで外部装置から送信されたコマンドの実行タイミングを補正することができ、サーマルプリンタ１の寿命や印字品質の低下を回避することができる。
【００４２】
サーマルプリンタ１の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、コントローラ１１に供給し、コントローラ１１が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、又はＳＤカードなどがある。
【００４３】
また、コントローラ１１が、サーマルプリンタ１の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記実施の形態と同様の効果を奏する。
【００４４】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【符号の説明】
【００４５】
１  サーマルプリンタ
２  ホスト装置
１１  コントローラ
１２  駆動部
１３  印刷部
１４  センサ
１５  不揮発性メモリ
１６  ＳＲＡＭ
１７  フラッシュメモリ
１８  インターフェース
１９  入力部
２１  ＣＰＵ
２２  メモリ
２３  インターフェース
２４  表示部
２５  入力部
【図１】
2012011636.tif 000003
【図２】
2012011636.tif 000004
【図３】
2012011636.tif 000005
【図４】
2012011636.tif 000006