(57)【要約】【課題】  新規ステータスの追加や対応プリンタの追加が容易に行え、Ｗｏｒｋａｒｏｕｎｄ処理も柔軟に行えるプリンタステータス表示システムを提供することにある。【解決手段】  プリンタステータス表示アプリケーションと、双方向制御部から構成され、前記プリンタステータス表示アプリケーションは、双方向制御部にステータス取得要求時に必要に応じてそのステータスの取得するためにプリンタにＷｒｉｔｅする必要のあるコマンドも双方向制御部に渡し、前記双方向制御部は、そのようなコマンドが渡された場合はそのコマンドをプリンタにＷｒｉｔｅしてからプリンタのステータスをＲｅａｄして、取得したステータスをプリンタステータス表示アプリケーションに返す。コマンドが渡されない場合は、プリンタのステータスをＲｅａｄして、取得したステータスをプリンタステータス表示アプリケーションに返すことを特徴とする。【選択図】  図５
2006099399.tif 000002
【特許請求の範囲】
【請求項１】
双方向制御部を通してプリンタのステータスを取得するプリンタステータス表示アプリケーションと、プリンタステータス表示アプリケーションの要求に応じてプリンタと双方向通信を行いプリンタのステータスを取得して返却する双方向制御部から構成されるプリンタステータス表示システムにおいて、
前記プリンタステータス表示アプリケーションは、双方向制御部にステータス取得を要求する時、必要に応じてプリンタにＷｒｉｔｅするコマンドも双方向制御部に渡し、
前記、双方向制御部はプリンタステータス表示アプリケーションからステータス取得要求があった場合、コマンドも一緒に渡されたらコマンドをプリンタにＷｒｉｔｅした後にプリンタのステータスをＲｅａｄし、コマンドがない場合は直接プリンタのステータスをＲｅａｄしてプリンタステータス表示アプリケーションにプリンタのステータスを返却することを特徴とするプリンタステータス表示システム。
【請求項２】
請求項１のプリンタステータス表示システムにおいて、
前記プリンタステータス表示アプリケーションは双方向制御部にステータス取得を要求する時、必要に応じてＷｏｒｋａｒｏｕｎｄ情報も渡し、
前記Ｗｏｒｋａｒｏｕｎｄ情報は、プリンタやオペレーティングシステムやポートモニタ固有の癖や不具合を回避するために双方向制御部がおこなう処理であり、
前記双方向制御部はプリンタステータス表示アプリケーションからステータス取得要求があった場合、Ｗｏｒｋａｒｏｕｎｄ情報も一緒に渡されたら、そのＷｏｒｋａｒｏｕｎｄ情報に記述されたＷｏｒｋａｒｏｕｎｄ動作を行うことを特徴とするプリンタステータス表示システム。
【請求項３】
請求項２のプリンタステータス表示システムにおいて、
前記双方向制御部はあらかじめ自分自身にハードコードされたＷｏｒｋａｒｏｕｎｄ処理が実装されており、
前記プリンタステータス表示アプリケーションからステータス取得要求があった場合にＷｏｒｋａｒｏｕｎｄ情報も一緒に渡されたら、自分自身にハードコードされたＷｏｒｋａｒｏｕｎｄ処理を無視して渡されたＷｏｒｋａｒｏｕｎｄ情報に基づいたＷｏｒｋａｒｏｕｎｄ処理を実行することを特徴とするプリンタステータス表示システム。
【請求項４】
請求項１のプリンタステータス表示システムにおいて、
前記双方向制御部は通常の印刷ジョブの管理も行うことを特徴とするプリンタステータス表示システム。
【請求項５】
請求項２のプリンタステータス表示システムにおいて、
前記双方向制御部は通常の印刷ジョブの管理も行うことを特徴とするプリンタステータス表示システム。
【請求項６】
請求項３のプリンタステータス表示システムにおいて、
前記双方向制御部は通常の印刷ジョブの管理も行うことを特徴とするプリンタステータス表示システム。
【請求項７】
双方向制御部にステータス取得を要求する時、必要に応じてプリンタにＷｒｉｔｅするコマンドも双方向制御部に渡し、
プリンタステータス表示アプリケーションからステータス取得要求があった場合、コマンドも一緒に渡されたらコマンドをプリンタにＷｒｉｔｅした後にプリンタのステータスをＲｅａｄし、コマンドがない場合はプリンタのステータスをＲｅａｄしてプリンタステータス表示アプリケーションにプリンタのステータスを返却することを特徴とするステータス表示方法。
【請求項８】
双方向制御部にステータス取得を要求する時、必要に応じてプリンタにＷｒｉｔｅするコマンドも双方向制御部に渡すステップと、
プリンタステータス表示アプリケーションからステータス取得要求があった場合、コマンドも一緒に渡されたらコマンドをプリンタにＷｒｉｔｅした後にプリンタのステータスをＲｅａｄし、コマンドがない場合はプリンタのステータスをＲｅａｄしてプリンタステータス表示アプリケーションにプリンタのステータスを返却するステップとを有することを特徴とするコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションがプリンタステータスを表示するプリンタステータス表示システムにおいて、アプリケーションがプリンタステータスを取得する方法に関するものである。
【背景技術】
【０００２】
プリンタのステータスを表示するプリンタステータス表示アプリケーションと、プリンタと双方向通信を行う双方向制御部から構成されるプリンタステータス表示システムがある。（特許文献１）
【０００３】
従来、プリンタステータス表示アプリケーションが双方向制御部を通じてプリンタのステータスを取得する方法には以下のようなものがあった。
１．プリンタステータス表示アプリケーションが、双方向制御部に実装されたＲｅａｄ関数を呼び出す。
２．プリンタステータス表示アプリケーションが、双方向制御部に実装されたステータス取得用の専用関数を呼び出す。
３．プリンタステータス表示アプリケーションが必要なプリンタステータスを、双方向制御部がプリンタをポーリングして取得し内部にキャッシュとして保持し、プリンタステータス表示アプリケーションが必要に応じてキャッシュデータにアクセスする。
【特許文献１】特開平０８−３３９２７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記１〜３の方法には以下のような問題があった。
【０００５】
ステータスによっては、プリンタからステータスを取得する前に予めそのステータスを要求するコマンドをプリンタに書き込こむ必要がある場合がある。
【０００６】
１の方法だと、プリンタステータス表示アプリケーションが双方向制御部に実装されたＷｒｉｔｅ関数を呼び出してプリンタにコマンドを書き込んでから、双方向制御部に実装されたＲｅａｄ関数を呼び出してステータスの取得を行う必要があるが、Ｗｒｉｔｅ／Ｒｅａｄ関数の呼び出しの間に他のアプリケーションのＲｅａｄ／Ｗｒｉｔｅ関数呼び出しが割り込んでくる危険があり、排他処理を行う必要がある。
【０００７】
２、３の方法では、プリンタにＷｒｉｔｅするコマンドを双方向制御部に覚えておく必要があり、新規プリンタの対応や、対応するステータスが増加するなどしてコマンドが変更もしくは追加される毎に双方制御部を修正する必要がある。通常、双方向制御部の置き換えは、管理者権限が必要になるなど、容易に行える作業ではない。
【０００８】
さらに別の問題として、方法１〜３では、オペレーティングシステムやポートモニタやプリンタに特有の癖、障害を回避するためのＷｏｒｋａｒｏｕｎｄ処理を双方向制御部に実装する必要があるという問題がある。対応するプリンタを増やすごとに双方向制御部を修正、置き換える必要があり、先にも述べたように双方向制御部の置き換えは容易ではない。
【０００９】
例えば消費電力の節約のためスタンバイ状態ではＣＰＵのクロック数を落としているプリンタの場合、双方向制御部がステータスの取得のために頻繁にＲｅａｄを行うとＲｅａｄの応答処理にプリンタのＣＰＵ時間の大部分が使われてしまう。プリンタは双方向制御部に返却するステータスの準備にＣＰＵ時間を割り当てることができないため、ステータスを双方向制御部に返却するのに非常に時間がかかってしまう。この問題を解決するＷｏｒｋａｒｏｕｎｄ処理として、Ｒｅａｄ後に一定時間のＳｌｅｅｐを入れるという処理が双方向制御部に必要となる。
【００１０】
本発明の目的は、上記の問題を解決し、新規ステータスの追加や対応プリンタの追加が容易に行え、Ｗｏｒｋａｒｏｕｎｄ処理も柔軟に行えるプリンタステータス表示システムを提供することにある。
【課題を解決するための手段】
【００１１】
このような目的を達成するために、本発明のプリンタステータス表示システムは、プリンタステータス表示アプリケーションと、双方向制御部から構成され、
前記プリンタステータス表示アプリケーションは、双方向制御部にステータス取得要求時に必要に応じてそのステータスの取得するためにプリンタにＷｒｉｔｅする必要のあるコマンドも双方向制御部に渡し、
前記双方向制御部は、そのようなコマンドが渡された場合はそのコマンドをプリンタにＷｒｉｔｅしてからプリンタのステータスをＲｅａｄして、取得したステータスをプリンタステータス表示アプリケーションに返す。コマンドが渡されない場合は、直接プリンタのステータスをＲｅａｄして、取得したステータスをプリンタステータス表示アプリケーションに返すことを特徴とする。
【００１２】
また、双方向制御部にステータス取得要求時に必要に応じてＷｏｒｋａｒｏｕｎｄ情報を双方向制御部に渡し、Ｗｏｒｋａｒｏｕｎｄ情報が渡された場合は渡された情報に基づいてＷｏｒｋａｒｏｕｎｄ処理を行い、プリンタのステータスをＲｅａｄして、取得したステータスをプリンタステータス表示アプリケーションに返すことを特徴とする。
【００１３】
また、Ｗｏｒｋａｒｏｕｎｄ情報が渡されない場合は、もし予めＷｏｒｋａｒｏｕｎｄ処理が自分自身にハードコードされていれば実行してから、ハードコードされてなければ直接プリンタのステータスをＲｅａｄして取得したステータスをプリンタステータス表示アプリケーションに返すことを特徴とする。
【発明の効果】
【００１４】
以上、本発明によれば、プリンタにＷｒｉｔｅするコマンドとＷｏｒｋａｒｏｕｎｄ情報は、プリンタステータス表示アプリケーションから双方向制御部に渡されることになり、新規ステータスや新規プリンタの対応や、新たなＷｏｒｋａｒｏｕｎｄ処理の追加を、双方向制御部を変更することなく、プリンタステータス表示アプリケーションを変更するだけで行える。
【発明を実施するための最良の形態】
【００１５】
次に本発明の詳細について図面を参照して説明する。図１は本発明の実施形態を示したブロック図である。
【００１６】
同図において、オペレーティングシステム００１は、オペレーティングシステムであり、プリンタステータス表示アプリケーション００２と双方向制御部０１０とＳｐｏｏｌｅｒ０１０とポートモニタ０１３が、オペレーティングシステム００１上で動作する。
【００１７】
プリンタステータス表示アプリケーション００２は、ステータス表示プログラム００３と通信プログラム００４とデータベースアクセスプログラム００５から構成されている。
【００１８】
ステータス表示プログラム００３は、取得したステータスをモニタ００５に表示するプログラムである。
【００１９】
通信プログラム００４は、双方向制御部０１１の通信プログラム０１２と双方向通信を行い、プリンタステータスを取得するプログラムである。
【００２０】
データベースアクセスプログラム００５は、プリンタデータベース００７からプリンタにＷｒｉｔｅするコマンドやＷｏｒｋａｒｏｕｎｄ情報を取得するプログラムである。
【００２１】
プリンタデータベース００７は、コマンドテーブル００８とＷｏｒｋａｒｏｕｎｄ情報テーブル００９から構成されている。
【００２２】
コマンドテーブル００８には、所望するステータスを取得するためにプリンタ０１５にＷｒｉｔｅする必要のあるコマンドの一覧が格納されている。図２にコマンドテーブル００８に格納される情報の一例を示す。カートリッジ情報を取得するためには、Ｃａｒｔｒｉｄｇｅというコマンドを、ＲＯＭ情報を取得するためには、ＧｅｔＲＯＭというコマンドをプリンタ０１５にＷｒｉｔｅする必要があることがわかる。
【００２３】
Ｗｏｒｋａｒｏｕｎｄ情報テーブル００９には、オペレーティングシステム００１やポートモニタ０１３やプリンタ０１５に固有の問題を回避するためのＷｏｒｋａｒｏｕｎｄ情報が格納されている。Ｗｏｒｋａｒｏｕｎｄ情報とは、ＲｅａｄやＷｒｉｔｅの前後におこなう一定時間のＳｌｅｅｐ動作の必要性の有無およびその時間や、Ｒｅａｄを繰り返す回数など、問題を回避するために双方向制御部０１１が行う動作のことである。図３にＷｏｒｋａｒｏｕｎｄ情報テーブル００９に格納される情報の一例を示す。プリンタにＷｒｉｔｅ後、Ｓｌｅｅｐが必要でその時間は５００ｍｓｅｃであることがわかる。またステータス取得のために、Ｒｅａｄを２回繰り返す必要があり各Ｒｅａｄ後に１０００ｍｓｅｃのＳｌｅｅｐが必要であること、ステータス取得後にもう一度Ｒｅａｄを行う、いわゆるダミーＲｅａｄは必要ないことがわかる。
【００２４】
Ｓｐｏｏｌｅｒ０１０は、印刷ジョブの管理を行うＳｐｏｏｌｅｒである。印刷ジョブはＳｐｏｏｌｅｒ０１０のよって管理され、双方向制御部０１１、ポートモニタ０１３を経由してプリンタ０１５に送られる。
【００２５】
双方向制御部０１１は、通信プログラム０１２で構成されている。
【００２６】
通信プログラム０１２は、プリンタステータス表示アプリケーション００２の通信プログラム００４と双方向通信を行いプリンタステータスを返却する。またポートモニタ０１３を経由してプリンタ０１５と双方向通信を行い、コマンドのＷｒｉｔｅやプリンタステータスのＲｅａｄを行う。また、双方向制御部０１１は、Ｓｐｏｏｌｅｒ０１０が印刷ジョブを双方向制御部０１１に送るためにコールする、ＳｔａｒｔＤｏｃ（）、ＷｒｉｔｅＰｏｒｔ（）、ＥｎｄＤｏｃ（）などの関数も実装している。
【００２７】
ポートモニタ０１３は双方向制御部０１１とプリンタ０１５間に位置し、両者間の通信を実現するプログラムである。
【００２８】
インターフェース０１４は、ＵＳＢやセントロニクスなどプリンタ０１５を接続するインターフェースである。
【００２９】
プリンタ０１５は、自身のステータスをインターフェース０１４を経由して返却することができる双方向通信可能な印刷装置である。
【００３０】
（実施の形態）
以上の構成による本発明の実施の形態を以下に示す。
【００３１】
（第１の実施の形態）
図４は、図１の構成のプリンタステータス表示システムにおいて、プリンタステータス表示アプリケーション００２の動作手順を示すフローチャートである。
【００３２】
ステップ４０１において、コマンドテーブル００８にアクセスし、取得しようとしているステータス用のコマンドの有無を確認する。コマンド有りの場合は、ステップ４０３へ移行してコマンドを取得し、ステップ４０４のステータス取得要求で双方向制御部０１１にステータス取得要求を発行するときに取得したコマンドも同時に渡す。コマンド無しの場合はステップ４０４へ移行し、双方向制御部０１１にステータス取得要求を発行する。
【００３３】
ステップ４０５でステータス取得要求が成功したか判定を行い、成功した場合はステップ４０６へ移行し、ステータス表示プログラム００３がモニタ００６に取得したステータスを表示する。失敗した場合は、ステップ４０７へ移行しエラー表示を行う。
【００３４】
図５は、双方向制御部０１１の動作手順を示すフローチャートである。
【００３５】
ステップ５０１において、プリンタステータス表示アプリケーション００２から双方向制御部０１１に対してステータス取得要求が来る。
【００３６】
ステップ５０２において、ステータス取得用のコマンドが、プリンタステータス表示アプリケーション００２から渡されているかどうか判定する。渡されている場合は、ステップ５０３に移行し、コマンドをポートモニタ０１３を通してプリンタ０１５にＷｒｉｔｅし、ステップ５０４でプリンタ０１５からステータスをＲｅａｄする。渡されてない場合は、ステップ５０４に移行し、ポートモニタ０１３を通してプリンタ０１５からステータスをＲｅａｄする。
【００３７】
ステップ５０５において、取得したステータスをプリンタステータス表示アプリケーション００２に返却する。
【００３８】
（第２の実施の形態）
図６は、第２の実施の形態におけるプリンタステータス表示アプリケーション００２の動作手順を示すフローチャートである。
【００３９】
ステップ６０１において、コマンドテーブル００８にアクセスし、取得しようとしているステータス用のコマンドの有無を確認する。コマンド有りの場合は、ステップ６０３へ移行しコマンドを取得する。
【００４０】
ステップ６０４において、Ｗｏｒｋａｒｏｕｎｄ情報テーブル００９にアクセスし、Ｗｏｒｋａｒｏｕｎｄ情報の有無を確認する。Ｗｏｒｋａｒｏｕｎｄ情報有りの場合は、ステップ６０６に移行しＷｏｒｋａｒｏｕｎｄ情報を取得する。
【００４１】
ステップ６０７において、双方向制御部０１１にステータス取得要求を発行する。ステップ６０３や６０６において、コマンドやＷｏｒｋａｒｏｕｎｄ情報を取得した場合は、これらも同時に双方向制御部０１１に渡す。
【００４２】
ステップ６０８でステータス取得要求が成功したか判定を行う。成功した場合は、ステップ６０９へ移行し、ステータス表示プログラム００３がモニタ００６に取得したステータスを表示する。失敗した場合は、ステップ６１０へ移行しエラー表示を行う。
【００４３】
図７は、双方向制御部０１１の動作手順を示すフローチャートである。ステップ７０１において、プリンタステータス表示アプリケーション００２から双方向制御部０１１に対してステータス取得要求がくる。
【００４４】
ステップ７０２において、Ｗｏｒｋａｒｏｕｎｄ情報がプリンタステータス表示アプリケーション００２から渡されているかどうか判定する。渡されている場合は、ステップ７０３に移行し、Ｗｏｒｋａｒｏｕｎｄ情報を取得する。
【００４５】
ステップ７０４において、ステータス取得用のコマンドがプリンタステータス表示アプリケーション００２から渡されているかどうか判定する。渡されている場合は、ステップ７０５に移行し、コマンドをポートモニタ０１３を通してプリンタ０１５にＷｒｉｔｅする。
【００４６】
ステップ７０６において、ステップ７０３で取得したＷｏｒｋａｒｏｕｎｄ情報を参照し、Ｗｒｉｔｅ後にＳｌｅｅｐが必要かどうかを判断する。必要な場合は、ステップ７０７に移行し、指定された時間Ｓｌｅｅｐする。
【００４７】
ステップ７０８において、ステップ７０３で取得したＷｏｒｋａｒｏｕｎｄ情報を参照し、Ｒｅａｄの繰り返し回数が指定されているかどうか判断する。指定されている場合は、Ｒｅａｄの繰り返し回数を指定された回数にセットする（ステップ７０９）。指定されていない場合は、Ｒｅａｄの繰り返し回数を予め決められた値にセットする（ステップ７１０）。
【００４８】
ステップ７１１から７１４でＲｅａｄの繰り返し回数分、ポートモニタ０１３を通してプリンタ０１５からステータスをＲｅａｄする。ステップ７１２において、ステップ７０３で取得したＷｏｒｋａｒｏｕｎｄ情報を参照し、Ｒｅａｄ後にＳｌｅｅｐが必要かを判断する。必要な場合は、ステップ７１３に移行し、指定された時間分Ｓｌｅｅｐする。
【００４９】
ステップ７１５において、ステップ７０３で取得したＷｏｒｋａｒｏｕｎｄ情報を参照し、ダミーＲｅａｄが必要か判断する。必要な場合は、ステップ７１６に移行し、Ｒｅａｄを行う。
【００５０】
ステップ７１７において、取得したステータスをプリンタステータス表示アプリケーション００２に返却する。
【００５１】
（第３の実施の形態）
次に、上記の実施の形態１，２の変形として、双方向制御部０１１からプリンタ０１５に対してＷｒｉｔｅ、Ｒｅａｄする方法として印刷Ｊｏｂを使う例を以下に述べる。
【００５２】
双方向制御部０１１からプリンタ０１５に対して、コマンドをＷｒｉｔｅ、もしくは、ステータスをＲｅａｄする方法として、実施の形態１、２共にポートモニタ０１３を使用した。
【００５３】
ポートモニタの種類によっては、タイムアウト時間を変更できない等の制限が考えられる。プリンタ０１５が接続されていないときにＲｅａｄ、Ｗｒｉｔｅを行った場合、タイムアウト時間が経過するまで待たされることになり、プリンタステータス表示アプリケーション００２にすばやく制御を返せないなどの問題が発生する。Ｒｅａｄ、Ｗｒｉｔｅに印刷Ｊｏｂを使う方法だと、この問題を回避できる。
【００５４】
ポートモニタ０１３を使ってのＷｒｉｔｅは、第１の実施の形態においては図５のステップ５０３、第２の実施の形態においては図７のステップ７０５で行っている。
【００５５】
このＷｒｉｔｅ処理でポートモニタ０１３を使う代わりに、図８に示す手順で印刷Ｊｏｂを発行する。
【００５６】
ステップ８０１において、印刷Ｊｏｂを作成する。ステップ８０２において、プリンタステータス表示アプリケーション００２から受け取ったコマンド（図５のステップ５０２、図７のステップ７０４）を印刷Ｊｏｂのデータとして埋め込む。ステップ８０３において、印刷Ｊｏｂに、一意に判別可能な印を埋め込む。この印の例として、印刷Ｊｏｂ名称を特別なものにする、といったことが考えられる。ステップ８０４に移行し、印刷Ｊｏｂを発行する。ステップ８０５において、印刷Ｊｏｂの終了Ｅｖｅｎｔを待つ。このとき、タイムアウト時間を設定しておくと、プリンタが接続されていない等、なんらかの要因で印刷ＪｏｂのＷｒｉｔｅができないために印刷Ｊｏｂの終了Ｅｖｅｎｔがこない場合も、その旨を素早く判断できる（ステップ８０６〜８０７）。印刷Ｊｏｂ終了Ｅｖｅｎｔがタイムアウト時間内にきた場合は、正常に終了する（ステップ８０６〜８０８）。
【００５７】
ポートモニタ０１３を使ってのＲｅａｄは、第１の実施の形態においては図５のステップ５０４、第２の実施においては図７のステップ７１１で行っている。
【００５８】
このＲｅａｄ処理でポートモニタ０１３を使う代わりに、図９に示す手順でステータスをＲｅａｄする。ステップ９０１において、ジョブ終了Ｅｖｅｎｔを受け取っているかどうか確認する。ジョブ終了Ｅｖｅｎｔは、図８のステップ８０５で取得を試みている。受け取っている場合は、ステップ９０２に移行し、メモリなどに格納されているＲｅａｄデータを読み出す。受け取っていない場合は終了する。
【００５９】
図８のステップ８０４で発行された印刷Ｊｏｂは、Ｓｐｏｏｌｅｒ０１０を経由して双方向制御部０１１に送られる。Ｓｐｏｏｌｅｒ０１０は最初に双方向制御部０１１のＳｔａｒｔＤｏｃ（）関数をコールする。次に、Ｓｐｏｏｌｅｒ０１０は印刷Ｊｏｂのデータをすべて送り終えるまで双方向制御部０１１のＷｒｉｔｅＰｏｒｔ（）関数を繰り返しコールする。印刷Ｊｏｂのデータをすべて送り終えたら双方向制御部０１１のＥｎｄＤｏｃ（）関数をコールして終了する。
【００６０】
図１０に、双方向制御部０１１のＳｔａｒｔＤｏｃ（）関数の動作手順を示す。ステップ１００１において、図８のステップ８０３で埋め込んだ印刷ジョブのマークを確認する。マークが確認できた場合は、マークを確認したことを記憶する（ステップ１００２〜１００３）。確認できない場合はそのまま終了する。
【００６１】
図１１に、双方向制御部０１１のＷｒｉｔｅＰｏｒｔ（）関数の動作手順を示す。ステップ１１０１において、印刷Ｊｏｂをプリンタ０１５に書き込む。ステップ１１０２において、印刷Ｊｏｂのデータを全てＷｒｉｔｅできたかどうか判断する。書き込みに成功した場合は、図１０のステップ１００３で記憶したマークを確認してプリンタステータスのＲｅａｄを行い、Ｒｅａｄしたデータを保存し、印刷Ｊｏｂ終了Ｅｖｅｎｔを発行する（ステップ１１０３〜１１０６）。ステップ１１０５のＲｅａｄデータの保存では、双方向制御部０１１が管理するメモリなどにＲｅａｄデータを保存する。Ｗｒｉｔｅに失敗した場合や、マークを確認できなかった場合は終了する。
【００６２】
以上、図１の構成で、排他処理などの面倒な実装無しにコマンドのＷｒｉｔｅが必要なステータス、不要なステータスをプリンタステータス表示アプリケーションから取得でき、新規プリンタや新規ステータスの対応も、双方向制御部０１１を変更することなく、プリンタステータス表示アプリケーション００２やコマンドテーブル００８の更新だけで容易に行える、プリンタステータス表示システムの例を第１の実施の形態で示した。
【００６３】
また、双方向制御部を変更することなく、オペレーティングシステムやポートモニタやプリンタに特有の癖、障害を回避できるプリンタステータス表示システムの例を実施の形態２で示した。
【００６４】
また、プリンタへのＷｒｉｔｅ、Ｒｅａｄに印刷ジョブを使用し、ポートモニタの仕様制限を回避するプリンタステータス表示システムの例を実施の形態３で示した。
【産業上の利用可能性】
【００６５】
本発明は、コンピュータに接続されたインクジェットプリンタなどの印刷装置のステータスを取得するプリンタステータス表示システム、取得方法、コンピュータによる読み出しが可能なプログラムコードが格納された記録媒体およびプログラムコード自体であるソフトウェアに関するものである。
【図面の簡単な説明】
【００６６】
【図１】本発明のステータス取得システムの構成を示す図である。
【図２】本発明におけるコマンドテーブルの内容を示す図である。
【図３】本発明におけるＷｏｒｋａｒｏｕｎｄ情報テーブルの内容を示す図である。
【図４】第１の実施の形態におけるプリンタステータス表示アプリケーションの動作を示すフローチャートを示す図である。
【図５】第１の実施の形態における双方向制御部の動作を示すフローチャートを示す図である。
【図６】第２の実施の形態におけるプリンタステータス表示アプリケーションの動作を示すフローチャートを示す図である。
【図７】第２の実施の形態における双方向制御部の動作を示すフローチャートを示す図である。
【図８】第３の実施の形態における双方向制御部のＷｒｉｔｅの流れを示すフローチャートを示す図である。
【図９】第３の実施の形態における双方向制御部のＲｅａｄの流れを示すフローチャートを示す図である。
【図１０】第３の実施の形態における双方向制御部のＳｔａｒｔＤｏｃの流れを示すフローチャートを示す図である。
【図１１】第３の実施の形態における双方向制御部のＷｒｉｔｅＰｏｒｔの流れを示すフローチャートを示す図である。
【符号の説明】
【００６７】
００１  オペレーティングシステム
００２  プリンタステータス表示アプリケーション
００３  ステータス表示プログラム
００４  通信プログラム
００５  データベースアクセスプログラム
００６  モニタ
００７  プリンタデータベース
００８  コマンドテーブル
００９  Ｗｏｒｋａｒｏｕｎｄ情報テーブル
０１０  Ｓｐｏｏｌｅｒ
０１１  双方向制御部
０１２  通信プログラム
０１３  ポートモニタ
０１４  インターフェース
０１５  プリンタ
【図１】
2006099399.tif 000003
【図２】
2006099399.tif 000004
【図３】
2006099399.tif 000005
【図４】
2006099399.tif 000006
【図５】
2006099399.tif 000007
【図６】
2006099399.tif 000008
【図７】
2006099399.tif 000009
【図８】
2006099399.tif 000010
【図９】
2006099399.tif 000011
【図１０】
2006099399.tif 000012
【図１１】
2006099399.tif 000013