(57)【要約】【課題】電子機器に設けられた複数のメンテナンスカウンターのカウント値と当該カウント値が正常であるか否かの情報を同時に一括して取得することのできるカウント値取得方法を提供する。【解決手段】ホストコンピューター１に接続された電子機器２に設けられた複数のメンテナンスカウンター２ａのカウント値を取得する方法であって、ホストコンピューター１のアプリケーション１ａからの要求に応じて、電子機器２を制御するデバイスドライバー１ｂが、電子機器２に設けられた複数のメンテナンスカウンター２ａのカウント値を取得し、取得した各カウント値に対して所定の判断を行い、取得した各カウント値と判断した結果の各情報を、所定のデータ形式のデータに纏め、アプリケーション１ａが、取得した各カウント値と判断した結果の各情報を含む所定のデータ形式のデータを取得することを特徴とする。【選択図】 図１
2012181720.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピューターに接続された電子機器に設けられた複数のメンテナンスカウンターのカウント値を取得する方法であって、
前記ホストコンピューターのアプリケーションからの要求に応じて、前記電子機器を制御するデバイスドライバーが、
前記電子機器に設けられた前記複数のメンテナンスカウンターのカウント値を取得するステップと、
前記取得した各カウント値に対して所定の判断を行うステップと、
前記取得した各カウント値と、前記判断した結果の各情報を、所定のデータ形式のデータに纏めるステップと、を実行し、
前記アプリケーションが、
前記取得した各カウント値と前記判断した結果の各情報を含む前記所定のデータ形式のデータを取得するステップ、を実行する
ことを特徴とするメンテナンスカウンターのカウント値取得方法。
【請求項２】
前記所定のデータ形式は、Ｎ×ｎ行列の形式であることを特徴とする請求項１に記載のメンテナンスカウンターのカウント値取得方法。
Ｎ＝メンテナンスカウンターの数，ｎ＝メンテナンスカウンターの識別情報およびカウント値ならびに判断項目を含む項目数
【請求項３】
前記カウント値に対する判断は、前記複数のメンテナンスカウンター毎に予め設定された判断の基準となる基準値と、前記取得したカウント値とを対比して、当該カウント値が正常であるか異常であるかの判断を含むことを特徴とする請求項１又は２に記載のメンテナンスカウンターのカウント値取得方法。
【請求項４】
前記基準値を記録した判断基準ファイルは、前記ホストコンピューターの前記デバイスドライバーに設けられていることを特徴とする請求項３に記載のメンテナンスカウンターのカウント値取得方法。
【請求項５】
前記基準値を記録した判断基準ファイルは、前記電子機器に設けられており、前記デバイスドライバーは、前記判断基準ファイルを前記電子機器から取得することを特徴とする請求項３に記載のメンテナンスカウンターのカウント値取得方法。
【請求項６】
前記所定のデータ形式のデータは、前記カウント値を取得する際のエラー情報を含むことを特徴とする請求項１〜５のいずれか１項に記載のメンテナンスカウンターのカウント値取得方法。
【請求項７】
ホストコンピューターからプリンターを制御するためのプリンタードライバーであって、
前記プリンターが備える複数のメンテナンスカウンターのカウント値と、当該カウント値が正常であるか否かを含む情報を、前記ホストコンピューターで動作するアプリケーションが一括して取得することを可能にするＡＰＩ関数を提供し、
前記アプリケーションから前記ＡＰＩ関数が実行されると、前記プリンターから前記メンテナンスカウンターのカウント値を取得し、
前記取得したカウント値と、予め定められた基準値とを比較して、前記取得したカウント値が正常であるか否かを判断し、
前記取得したカウント値と、当該カウント値が正常でるか否かの情報を、一括して前記アプリケーションに提供することを特徴とするプリンタードライバー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピューターに接続された少なくとも１台の電子機器に設けられた複数のメンテナンスカウンターのカウント値を取得するメンテナンスカウンターのカウント値取得方法およびプリンタードライバーに関する。
【背景技術】
【０００２】
電子機器の一種であるプリンターには、インクの消費量や印刷枚数などの累積値を保持するメンテナンスカウンターを有しているものがある。プリンターに接続されたＰＯＳ端末装置では、アプリケーションからのカウント値照会コマンドに応じて、デバイス管理部が、プリンターからメンテナンスカウンターのカウント値を取得している。カウント値照会コマンドには、メンテナンスカウンターの全てのカウント値を一括照会するものと、カウント値を個別に照会するものとがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１２７４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のアプリケーションは、プリンターのメンテナンスカウンターのカウント値を取得することはできるが、取得したカウント値の内容が正常であるか異常であるかを知ることはできず、アプリケーション自身がその判断を行う必要があった。そして、アプリケーションが判断を行うためには、判断に必要な情報をプリンターメーカーから提供してもらい、アプリケーションにその判断を行う処理を実装する必要があった。
【０００５】
本発明の課題（目的）は、ホストコンピューターに接続された電子機器（例えば、プリンター）に設けられた複数のメンテナンスカウンターのカウント値を一括して取得すると共に、取得したカウント値が正常であるか異常であるかの判断結果を同時に取得することのできるカウント値取得方法およびプリンタードライバーを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するための本発明のメンテナンスカウンターのカウント値取得方法は、ホストコンピューターに接続された電子機器に設けられた複数のメンテナンスカウンターのカウント値を取得する方法であって、前記ホストコンピューターのアプリケーションからの要求に応じて、前記電子機器を制御するデバイスドライバーが、前記電子機器に設けられた前記複数のメンテナンスカウンターのカウント値を取得するステップと、前記取得した各カウント値に対して所定の判断を行うステップと、前記取得した各カウント値と、前記判断した結果の各情報を、所定のデータ形式のデータに纏めるステップと、を実行し、前記アプリケーションが、前記取得した各カウント値と前記判断した結果の各情報を含む前記所定のデータ形式のデータを取得するステップ、を実行することを特徴とする。
【０００７】
また、前記所定のデータ形式は、Ｎ×ｎ行列の形式であることを特徴とする。ここで、Ｎはメンテナンスカウンターの数，ｎはメンテナンスカウンターの識別情報およびカウント値ならびに判断項目を含む項目数である。
また、前記カウント値に対する判断は、前記複数のメンテナンスカウンター毎に予め設定された判断の基準となる基準値と、前記取得したカウント値とを対比して、当該カウント値が正常であるか異常であるかの判断を含むことを特徴とする。
【０００８】
また、前記基準値を記録した判断基準ファイルは、前記ホストコンピューターの前記デバイスドライバーに設けられていることを特徴とする。
また、前記基準値を記録した判断基準ファイルは、前記電子機器に設けられており、前記デバイスドライバーは、前記判断基準ファイルを前記電子機器から取得することを特徴とする。
【０００９】
また、前記所定のデータ形式のデータは、前記カウント値を取得する際のエラー情報を含むことを特徴とする。
本発明のプリンタードライバーは、ホストコンピューターからプリンターを制御するためのプリンタードライバーであって、前記プリンターが備える複数のメンテナンスカウンターのカウント値と、当該カウント値が正常であるか否かを含む情報を、前記ホストコンピューターで動作するアプリケーションが一括して取得することを可能にするＡＰＩ関数を提供し、前記アプリケーションから前記ＡＰＩ関数が実行されると、前記プリンターから前記メンテナンスカウンターのカウント値を取得し、前記取得したカウント値と、予め定められた基準値とを比較して、前記取得したカウント値が正常であるか否かを判断し、前記取得したカウント値と、当該カウント値が正常でるか否かの情報を、一括して前記アプリケーションに提供することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ホストコンピューターに接続された電子機器に設けられた複数のメンテナンスカウンターのカウント値を一括して取得することができると共に、取得したカウント値が正常であるか異常であるかの判断結果を同時に取得することができる。
【図面の簡単な説明】
【００１１】
【図１】ホストコンピューターとプリンターの概略機能構成図である。
【図２】カウント値及び当該カウント値に対する判断結果を含むＮ×ｎ行列形式のデータ例を示す図である。
【図３】メンテナンスカウンターの種類を示す図である。
【発明を実施するための形態】
【００１２】
本発明の実施形態を図面を用いて説明する。
図１は、ホストコンピューターとプリンターの概略機能構成図である。ホストコンピューター１は、ホストコンピューター１上で動作し所定の処理を実行するプログラムであるアプリケーション１ａと、ホストコンピューター１に接続されたプリンター２を制御するプリンタードライバー（デバイスドライバー）１ｂとを備えている。プリンター２は、Ｎ個のメンテナンスカウンター２ａを備えている。
アプリケーション１ａは、プリンタードライバー１ｂが提供するApplication Programming Interface（以下、ＡＰＩと称する）を利用して、プリンター２のメンテナンスカウンター２ａのカウント値を取得する。本実施形態のＡＰＩは、GetAllCounter(Handle，Counter（dwBufferSize，n），BufferSizeN）で示される。ここで、引数Handleはプリンター２を特定する番号、戻り値Counter（dwBufferSize，n）は取得したカウント値を含むデータ、戻り値BufferSizeNはプリンター２が有するメンテナンスカウンター２ａの数である。
【００１３】
アプリケーション１ａは、ＡＰＩ（GetAllCounter）を呼び出し、引数Handleにプリンター２を特定するための番号を指定する。プリンタードライバー１ｂは、送受信部１ｃから引数Handleで特定されたプリンター２に対して、メンテナンスカウンター２ａのカウント値を取得するためのコマンドを送信する。
プリンター２は、送受信部２ｂによりプリンタードライバー１ｂからのコマンドを受信すると、メンテナンスカウンター２ａのカウント値を読み出してプリンタードライバー１ｂに送信する。
なお、プリンタードライバー１ｂとプリンター２との間では、プリンタードライバー１ｂからの一つのコマンドに応じて、プリンター２の全てのメンテナンスカウンター２ａのカウント値を取得するものであっても、プリンタードライバー１ｂからの一つのコマンドに応じて、プリンター２の少なくとも一つのメンテナンスカウンター２ａのカウント値を取得するものであってもよい。後者の場合には、プリンタードライバー１ｂは、プリンター２の全てのメンテナンスカウンター２ａのカウント値を取得するために、コマンドを複数回送信することになる。
プリンタードライバー１ｂは、プリンター２から全てのメンテナンスカウンター２ａのカウント値を受信すると、ＡＰＩの戻り値Counter（dwBufferSize，n）とBufferSizeNを設定してアプリケーション１ａにリターンする。
【００１４】
プリンタードライバー１ｂは、制御対象であるプリンター２が備えているメンテナンスカウンター２ａの数を予め知っており、その値をＡＰＩの戻り値BufferSizeNに設定する。あるいは、所有しているメンテナンスカウンター２ａの数をプリンター２に問い合わせてＡＰＩの戻り値BufferSizeNに設定してもよい。
また、プリンタードライバー１ｂは、プリンター２からの全ての取得カウント値と、取得した個々のカウント値が正常であるか異常であるかを判断した結果を含むデータをＡＰＩの戻り値Counter（dwBufferSize，n）に設定する。
プリンタードライバー１ｂには、カウント値が正常であるか否かを判断するための基準となる値が記録された判断基準ファイル３と、判断部４とが設けられている。判断部４は、プリンター２から取得したカウント値と判断基準ファイル３に記録されている基準値とを比較して、取得カウント値が正常であるか否かの判断を行う。同様に、プリンタードライバー２は、取得したカウント値に対応するプリンター２の構成部品が交換時期にあるか否かの判断を行う。取得した全てのカウント値とその判断結果は、取得カウント値格納部５に格納される。
【００１５】
図２に、戻り値Counter（dwBufferSize，n）のＮ行×ｎ列の行列形式のデータ例を示す。Ｎはプリンター２が備えるメンテナンスカウンター２ａの数、ｎは戻り値Counterに設定されるデータの項目数である。
【００１６】
ここで、プリンター２は、図３に示す６個（種類）のメンテナンスカウンター２ａを備えている。各メンテナンスカウンター２ａには、メンテナンスカウンター２ａを特定するための番号（Readno）が付されている。番号８１はプリンター２のセルフテストの実行回数を計数するカウンター、番号８３はホストコンピュータがdownしている事を示す印刷の実行回数を計数するカウンター、番号９Eは紙送りした行数を計数するカウンター、番号Ａ６はインクカートリッジを置き換えた回数を計数するカウンター、番号Ａ７は手動（ユーザーの操作）でヘッドクリーニングを実行した回数を計数するカウンター、番号Ａ８はノズルチェック結果に応じて自動的にヘッドクリーニングが実行された回数を計数するカウンターである。
なお、メンテナンスカウンターの種類及びその数は、上記の例に限るものではなく、種々のメンテナンスカウンターに適用できる。
図２に示すデータの項目数ｎは４であり、その項目は、Readno，Counter，Judgement，Result の４項目である。Readnoはメンテナンスカウンター２ａの種別番号、CounerはReadnoに対応するメンテナンスカウンター２ａのカウント値、Judgementは取得したカウント値に対する判断結果、Resultは各カウント値を取得する際のエラーの有無を表している。
項目Judgementには、カウント値が正常の場合に「０」、交換時期が間近である場合に「１」、異常の場合に「２」が設定される。また、項目Resultには、カウント値を取得する際にエラーがなかった場合に「０」、エラーがあった場合に「１」が設定される。
【００１７】
次に、判断基準ファイル３に記録されている判断基準（基準値）の例を以下に示す。本例において、Numberはメンテナンスカウンター２ａの種別番号（Readno）に対応しており、ｘはカウント値を表している。また、種別番号Ａ６〜Ａ８については省略している。判断基準ファイル３は、以下に示すテキストデータが記録されたテキスト形式のファイルである。
[Number=81]
Normal 0<=x<20000
Near 20000<=x<40000
Abnormal 40000<=x
[Number=83]
Normal 0<=x<20000
Near 20000<=x<40000
Abnormal 40000<=x
[Number=9E]
Normal 0<=x<20000, 50000<x
Near 20000<=x<40000
Abnormal 40000<=x<=50000
【００１８】
上記の判断基準により図２に示すカウント値（Counter）を判断すると以下のとおりとなる。
Readno＝８１のカウント値は「1000」であるからNormalに含まれ、その判断結果Judgegentは「０」となる。また、カウント値が正常に取得されているので、Resultは「０」になる。
Readno＝８３のカウント値は「3230」であるからNormalに含まれ、その判断結果Judgegentは「０」となる。また、カウント値が正常に取得されているので、Resultは「０」になる。
Readno＝９Eのカウント値は「21290」であるからNear（交換時期が間近）に含まれ、その判断結果Judgegentは「１」となる。またカウント値が正常に取得されているので、Resultは「０」になる。
なお、Readno＝Ａ８のカウント値「0」は想定外の値であるので、カウント値を取得する際に通信エラー等の何らかのエラーが発生したものと判断し、その判断結果Judgegentは「２」、Resultは「１」になる。
なお、判断基準ファイル３はテキストファイルであるから、判断基準を容易に設定および変更することが可能である。
【００１９】
上述の如く、アプリケーションは、プリンタードライバーが提供するＡＰＩを利用して、電子機器（プリンター）に設けられた複数のメンテナンスカウンターのカウント値を一括して取得することができると共に、取得したカウント値が正常であるか異常であるかの情報及び交換時期がきているか否かの情報を取得することができる。
【００２０】
なお、上述の実施形態では、判断基準ファイルをホストコンピューターのデバイスドライバーに持たせているが、この判断基準ファイルを電子機器（プリンター）に持たせてもよい。この場合、デバイスドライバーが、全てのカウンター値と判断基準ファイルとを電子機器から取得するよう構成することで実現できる。この場合には、電子機器の機種に依存しない、全機種共通のデバイスドライバーとする事が出来る。
【符号の説明】
【００２１】
１：ホストコンピューター，１ａ：アプリケーション，１ｂ：プリンタードライバー，２：プリンター，２ａ：メンテナンスカウンター，３：判断基準ファイル，４：判断部，５：取得カウント値格納部
【図１】
2012181720.tif 000003
【図２】
2012181720.tif 000004
【図３】
2012181720.tif 000005