(57)【要約】【課題】ユーザにとって適切な印刷システムのステータスの把握を可能となり、さらに、ホストにおける画像出力に関する情報と、画像形成装置におけるステータスとの両方から、印刷システム全体のステータスが決定するシステムにおいて、印刷装置側においてもエラー状態を識別できる仕組みを提供する。【解決手段】ステップＳ３０２で、ステータス取得コマンドを送信する。ステップＳ３０３で、プリンタのステータスを受信する。ステップＳ３０４で、Ｓ３０３で受信したステータスに基づき、ＰｒｉｎｔｅｒＳｔａｔｕｓにエラー情報を格納する。ステップＳ３０５でＰｒｉｎｔｅｒＳｔａｔｕｓに基づき、本体表示部表示内容を生成し、プリンタ本体に指示すべく転送する。【選択図】      図３
2004240558.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置と接続可能な情報処理装置において、
前記画像形成装置のステータスを取得する第１取得手段と、
前記情報処理装置のステータスを取得する第２取得手段と、
前記第１取得手段が取得した画像形成装置のステータスと、前記第２取得手段が取得した前記情報処理装置のステータスを用いて、前記画像形成装置に転送すべきエラーを示すエラー情報を特定する特定手段と、
前記特定手段に特定された画像形成装置にエラー情報を転送する処理を制御する転送制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記画像形成装置は、前記画像形成装置において発生したエラーの詳細を判断することができないものであることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１取得手段は、画像形成装置のステータスとして、用紙が無い、又は、用紙が僅少である旨のステータスを取得するものであり、前記第２取得手段は、前記画像形成装置の印刷の際にどの用紙段を指示したかを示す情報を前記情報処理装置のステータスとして取得するものであり、
前記特定手段は、前記第１の取得手段が取得したステータスが示す用紙が無い又は用紙が無い又は僅少である用紙段と、前記第２の取得手段が取得したステータスが示す印刷の際に指示した用紙段とが同じ用紙段であった場合に、前記画像形成装置に転送すべきエラーを示す情報として用紙無し又は用紙僅少であることを示す情報を前記プリンタに転送することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記情報処理装置が前記画像形成装置を占有している間、に前記転送制御手段が制御する転送処理を行うよう制御する制御手段をさらに備えることを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
前記特定手段が特定するエラー情報に対応するエラーは、用紙サイズ交換要求、用紙メディアタイプ交換要求、印刷一時停止中、印刷中止中のいずれかを示すエラーを含むことを特徴とする請求項１乃至４のいずれかに記載の情報処理装置。
【請求項６】
画像形成装置と接続可能な情報処理装置を制御する方法において、
前記画像形成装置のステータスを取得する第１取得工程と、
前記情報処理装置のステータスを取得する第２取得工程と、
前記第１取得工程で取得された画像形成装置のステータスと、前記第２取得工程で取得された前記情報処理装置のステータスを用いて、前記画像形成装置に転送すべきエラーを示すエラー情報を特定する特定工程と、
画像形成装置に前記特定手段に特定されたエラー情報を転送する処理を制御する転送制御工程と、
を備えることを特徴とする制御方法。
【請求項７】
前記画像形成装置は、前記画像形成装置において発生したエラーの詳細を判断することができないものであることを特徴とする請求項６に記載の制御方法。
【請求項８】
前記第１取得工程は、画像形成装置のステータスとして、用紙が無い、又は、用紙が僅少である旨のステータスを取得するものであり、前記第２取得工程は、前記画像形成装置の印刷の際にどの用紙段を指示したかを示す情報を前記情報処理装置のステータスとして取得するものであり、
前記特定工程は、前記第１の取得工程が取得したステータスが示す用紙が無い又は用紙が無い又は僅少である用紙段と、前記第２の取得工程が取得したステータスが示す印刷の際に指示した用紙段とが同じ用紙段であった場合に、前記画像形成装置に転送すべきエラーを示す情報として用紙無し又は用紙僅少であることを示す情報を前記プリンタに転送することを特徴とする請求項６又は７に記載の制御方法。
【請求項９】
前記情報処理装置が前記画像形成装置を占有している間、に前記転送工程は前記エラー情報の転送処理を行うよう制御する制御工程をさらに備えることを特徴とする請求項６乃至８のいずれかに記載の制御方法。
【請求項１０】
前記特定工程が特定するエラー情報に対応するエラーは、用紙サイズ交換要求、用紙メディアタイプ交換要求、印刷一時停止中、印刷中止中のいずれかを示すエラーを含むことを特徴とする請求項６乃至９のいずれかに記載の制御方法。
【請求項１１】
情報処理装置と接続可能な画像形成装置において、
前記画像形成装置内で発生したステータスを認識する認識手段と、
前記認識手段が認識したステータスを情報処理装置に転送する転送手段と、
前記転送手段が転送したステータスに対する情報処理装置の応答として送信されるエラーを示す制御情報を受信する工程と、
前記制御情報に基づいて画像形成装置においてエラーを報知する報知手段と、
を備えることを特徴とする画像形成装置。
【請求項１２】
情報処理装置と接続可能な画像形成装置における方法において、
前記画像形成装置内で発生したステータスを認識する認識工程と、
前記認識工程で認識されたステータスを情報処理装置に転送する転送工程と、
前記転送手段で転送されたステータスに対する情報処理装置の応答として送信されるエラーを示す制御情報を受信する受信工程と、
前記制御情報に基づいて画像形成装置においてエラーを報知する報知工程と、
を備えることを特徴とする制御方法。
【請求項１３】
画像形成装置と接続可能な情報処理装置を制御するための制御プログラムにおいて、
前記画像形成装置のステータスを取得する第１取得工程と、
前記情報処理装置のステータスを取得する第２取得工程と、
前記第１取得工程で取得された画像形成装置のステータスと、前記第２取得工程で取得された前記情報処理装置のステータスを用いて、前記画像形成装置に転送すべきエラーを示すエラー情報を特定する特定工程と、
画像形成装置に前記特定手段に特定されたエラー情報を転送する処理を制御する転送制御工程と、
をＣＰＵに実行させることを特徴とする制御プログラム。
【請求項１４】
情報処理装置と接続可能な画像形成装置を制御する制御プログラムにおいて、
前記画像形成装置内で発生したステータスを認識する認識工程と、
前記認識工程で認識されたステータスを情報処理装置に転送する転送工程と、
前記転送手段で転送されたステータスに対する情報処理装置の応答として送信されるエラーを示す制御情報を受信する受信工程と、
前記制御情報に基づいて画像形成装置においてエラーを報知する報知工程と、をＣＰＵに実行させることを特徴とする制御プログラム。
【請求項１５】
画像形成装置と、該画像形成装置と接続可能な情報処理装置とを含むネットワークシステムにおいて、
前記画像形成装置のステータスを取得する第１取得手段と、
前記情報処理装置のステータスを取得する第２取得手段と、
前記第１取得手段が取得した画像形成装置のステータスと、前記第２取得手段が取得した前記情報処理装置のステータスを用いて、前記画像形成装置に転送すべきエラーを示すエラー情報を特定する特定手段と、
前記特定手段が特定したエラー情報を前記画像形成装置に転送する転送手段と、
前記情報処理装置から前記エラー情報を受信する受信手段と、
前記受信手段が受信したエラー情報に基づいて、前記画像形成装置のエラーを示す表示部を制御する表示制御手段と、
を備えることを特徴とするネットワークシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストコンピュータから画像データ受信して出力する画像形成装置及び、該画像形成装置の制御方法、及び、制御プログラムに関する。
【０００２】
【従来の技術】
従来、レーザービームプリンタに代表され、ホストコンピュータから受信した画像データを印刷するページプリンタでは、必要なメモリ容量を小さくするために、画像データと同時に印刷開始を指示し、印刷データを受信しながら印刷するという方法がある。このようなプリンタをホストベースプリンタと呼んでいる。このプリンタは、高性能なＣＰＵや大容量のＲＡＭを必要としないため、ホストベース印刷システムのメリットである、低コストで印刷システムを提供することが可能となる。
【０００３】
画像形成装置の一例である簡略な機構を持つプリンタは、特に高価な液晶パネルなどの表示装置は装着せず、ホストコンピュータでプリンタの状態を表示する「ステータスモニタ」といったアプリケーションソフトを印刷時に起動し、従来の液晶パネルの代替とすることが多い。このようなプリンタは、印刷が出来ない状態を検出しても、プリンタ自体ではエラーの詳細を判断する判断機構を備えず、ホストからステータスモニタを介してエラーを取得して、ホストの状況と照らし合わせてエラーの詳細を判断するか、又は、プリンタ本体に実装されているＬＥＤ等でその発生を表示出来るようにしていた。
【０００４】
【特許文献１】
特開２００１−０９２６０４号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、コストの制約上簡略な機構を持つ印刷装置を含むシステムにおいては、プリンタ単独では発生したステータスの詳細を判断する機構を持たず、プリンタ側においては発生したステータスの詳細を判断することができなかった。
【０００６】
一方、このような印刷システムでは、「用紙なしエラー」、「用紙交換要求」、「一時停止中」など、ホストコンピュータがプリンタのステータスを取得して決定し、表示することが多い。ホストでの処理中に、このような印刷装置ではエラーとすべきではないが、ホストではエラーと判定すべき特定のステータス、例えば、用紙がない等のステータスを検出した場合は、ホスト上でエラー表示をユーザにしているだけで、本体上はＲｅａｄｙとなったままになる問題があった。
【０００７】
また、ネットワークに接続されているホストベースプリンタに印刷を実行した上でその印刷物を取りに行く場合を考える。この際、ホストでプリンタではエラーにならないが、ホストではエラーとすべきステータスを検出した場合は、ユーザはプリンタ本体前にいるにもかかわらず、プリンタ本体には表示されないため、エラーの発生に気づかないという問題点があった。
【０００８】
また、ある一台のホストコンピュータが決定したステータスは、係る印刷システムにおいては、プリンタに問い合わせても知ることが出来ないため、各コンピュータ間で異なる表示となってしまうという問題があった。
【０００９】
上述の課題の少なくとも一つを解決するものであり、ユーザにとって適切な印刷システムのステータスの把握を可能とすることを一つの目的とする。
【００１０】
また、本願発明は、ホストにおける画像出力に関する情報と、画像形成装置におけるステータスとの両方から、印刷システム全体のステータスが決定するシステムにおいて、印刷装置側においてもエラー状態を識別できる仕組みを提供することをさらに別の目的とする。
【００１１】
また本願発明は、印刷システムが、エラーの詳細の判断機構を持たない画像形成装置を含むシステムにおいても、ユーザに、適切なプリントシステムの状態を表示可能な画像形成装置を提供することをさらに別の目的とする。
【００１２】
さらに、複数のコンピュータが接続されたプリントシステムにおいて、各コンピュータのステータス表示を整合的に表示させることを更に別の目的とする。
【００１３】
【課題を解決するための手段】
上述の目的の少なくとも一つを達成すべく、本願発明は、以下の手段を提供する。
【００１４】
画像形成装置と接続可能な情報処理装置において、前記画像形成装置のステータスを取得する第１取得手段と、前記情報処理装置のステータスを取得する第２取得手段と、前記第１取得手段が取得した画像形成装置のステータスと、前記第２取得手段が取得した前記情報処理装置のステータスを用いて、前記画像形成装置に転送すべきエラーを示すエラー情報を特定する特定手段と、前記特定手段に特定された画像形成装置にエラー情報を転送する処理を制御する転送制御手段と、を備えることを特徴とする情報処理装置が開示される。
さらに、情報処理装置と接続可能な画像形成装置において、前記画像形成装置内で発生したステータスを認識する認識手段と、前記認識手段が認識したステータスを情報処理装置に転送する転送手段と、前記転送手段が転送したステータスに対する情報処理装置の応答として送信されるエラーを示す制御情報を受信する工程と、前記制御情報に基づいて画像形成装置においてエラーを報知する報知手段と、を備えることを特徴とする画像形成装置が開示される。
また、これらの画像形成装置及び情報処理装置を含むネットワークシステム、これらの装置に適用可能な方法、制御プログラムなども開示される。
【００１５】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を、詳細に説明する。図１は本発明を実施する印刷システムの全体を示すブロック図である。２００２は画像データ生成手段であり、アプリケーションから受け取ったデータから画像データを生成する。２００３は印刷可否判断手段であり、その時ホストで保持しているプリンタのステータスから印刷可能かどうかを判断し、そのエラー情報を２００５本体表示部指示内容生成手段に渡す。２００４は画像データ転送手段であり、２００３印刷可否判断手段から受け取った画像データをプリンタへ転送する。２００６はプリンタ状態取得手段であり、プリンタ本体で発生しているエラー等、プリンタの状態に関する情報をプリンタから取得し、エラーに関する情報を２００５に渡し、プリンタのステータス（給紙口情報、トナー情報等）を２００３に渡す。２００５は２００３から渡されたエラー情報と、２００６から受け取ったプリンタ本体のエラー情報から本体の表示部で表示する内容を生成し、２００７のプリンタへその内容を指示する。２００７は、占有されていれば、２００６から受け取った表示内容に基づき、表示部にその内容を表示する。
【００１６】
図２は、通信制御部に関連する印刷システムの構成を示す図である。ホストコンピュータ２００１の構成について説明する。オペレーティングシステム（ＯＳ）２０は、ＣＰＵ、メモリ、ハードディスク、通信ポート２５などのハードウェアの管理、およびアプリケーションプログラム２１、プリンタドライバプログラム２２、送信プログラム２３、通信ドライバ２４などのソフトウェアの管理を行う。アプリケーションプログラム２１は、操作者の指示に従ってデータを作成するとともに、オペレーティングシステム２０を経由してプリンタドライバプログラム２２に印刷指令を発行する。プリンタドライバプログラム２２は、アプリケーションプログラム２１から発行された印刷指令に基づき、プリンタ２００７が印刷を行うための印刷データを作成する。プリンタドライバプログラム２２が生成する印刷データは、１つのページに付き、１つのページ開始コマンド、１つの画像データ開始コマンド、１つ以上の画像データコマンド、１つのページ終了コマンドによって構成されており、これら一連のコマンドにより構成されるページを必要なだけ繰り返す。
【００１７】
ページ開始コマンドは、用紙サイズ、画像データの幅と高さ、画像データのサイズなど、印刷の制御に必要な情報を指定する。画像データコマンドは、印刷されるべきビットマップデータを指定するもので、アプリケーションプログラム２１が発行した印刷指令に従って生成されたビットマップデータを圧縮した上で、例えば３２ＫＢ以下のブロックに分割されたものである。ページ終了コマンドは、１つのページの印刷データの終了を示す。送信プログラム２３は、後述する手順により、プリンタ２００７から取得したプリンタステータスに従って、プリンタドライバプログラム２２が作成した印刷データを通信ドライバ２４、通信ポート２５を経由してプリンタ２００７に送信する。通信ドライバ２４は、送信プログラム２３の要求に従い、通信ポートを制御して、プリンタ２００７との間の送受信を行う。プリンタ２００７の構成について説明する。通信ポート３０は、例えばパラレルインタフェースケーブルにより、ホストコンピュータの通信ポート２５と接続される。もちろんこれは、ネットワークによって接続されている場合もある。プリンタが検知した「ジャム」や「ドアオープン」、「印刷進行状況」などのステータスは、そのプリンタに接続されている各ホストコンピュータ（ネットワークを介している場合、複数のホストコンピュータが１台のプリンタに接続されていることになる）とプリンタが適時通信し情報を取得することにで、ステータスモニタにプリンタの状態を表示することができる。
【００１８】
制御回路３１は、例えば、ＲＯＭ、ＲＡＭおよびタイマーを内蔵した１チップＣＰＵで構成され、通信ポート３０、ＦＩＦＯメモリ３２、復号回路３３、シフトレジスタ３４、および内蔵するタイマーの制御を行うとともに、プリンタエンジン３５との間でシリアル信号を用いてエンジンコマンドの送信およびエンジンステータスの受信を行う。
【００１９】
ＦＩＦＯ（ファーストインファーストアウト）メモリ３２は、例えば、０．５ＭＢの容量を有し、通信ポート３０が受信したデータを記憶し、記憶したデータを先入れ先出しの順に復号回路３３に出力する。ＦＩＦＯメモリ３２は、空き容量があるか否かを示す信号を制御回路３１に出力する。
【００２０】
復号回路３３は、ＦＩＦＯメモリ３２に記憶された画像データを復号し、シフトレジスタ３４に出力する。
【００２１】
シフトレジスタ３４は、プリンタエンジン３５から主走査の開始を通知する信号を受信すると、復号回路３３が出力したパラレルデータをシリアルデータに変換し、プリンタエンジン３５に出力する。プリンタエンジン３５は、レーザービームプリンタエンジンからなり、制御回路３１との間でシリアル信号を用いてエンジンコマンドの受信およびエンジンステータスの送信を行い、制御回路３１からＰＲＩＮＴコマンドを受信すると１ページの印刷処理を開始し、用紙が主走査を開始すべき所定の位置に達すると、主走査の開始を通知する信号をシフトレジスタ３４に出力し、シフトレジスタ３４が出力したシリアルデータに従って印刷を行う。表示部３６は、ＬＥＤ表示部からなり本体に配されている。制御回路３１からの指示に従って表示を行う。
【００２２】
ホストコンピュータから受信した画像データを印刷するページプリンタでは、ホスト側でプリンタのステータスを取得し、エラーがあるかどうかを判断し、エラーがなければホストは印刷開始を指示する。このとき、プリンタ本体で発生したエラー、例えば、（ペーパージャム、カバーオープン等）は、プリンタ自身がエラーの発生を認識できるので、そのエラーに基づき、本体の表示部にエラーを示す情報を表示する。例えば、本体表示部にＬＥＤが実装されているのであれば、ＲｅａｄｙのＬＥＤを消灯し、ＡｌａｒｍのＬＥＤを点滅させる等が考えられる。しかし、ホストで印刷をする際、エラーは発生していないが、プリンタのステータスから印刷可能かどうかを判断した時に、印刷できないと判断した場合、本体ではエラーが発生しているとは認識していないので、Ｒｅａｄｙのままとなる。このとき、特にプリンタがネットワークに接続されている場合、印刷開始後、出力結果を取りに行く間に、ホストでエラー判定をした場合、ユーザは、プリンタ本体を見てもＲｅａｄｙとなっているので、エラーの発生に気づかないという問題がある。
【００２３】
このような場合に、ホストは、印刷開始時にプリンタを占有し、プリンタのステータスから表示部内容を生成し、プリンタにその内容を指示する。プリンタは自分が占有されていて、ホストから表示部指示内容を受け取ったら、それに従い、表示部を表示させる。
【００２４】
以下、添付図面を参照して本発明の実施形態を詳細に説明する。図３、４、５、６、７は、実施形態の動作を示すフローチャートである。このフローチャートを用いて詳細に説明する。実際にはホストコンピュータ１の送信プログラム２３によって実行される処理である。
【００２５】
図３は、ホストコンピュータ１の送信プログラム２３によって、印刷開始時に実行される処理を示す。送信プログラム２３は、ワーク領域として、出力済みページ数、印刷完了ページ数、ＰｒｉｎｔｅｒＳｔａｔｕｓ、ＬＥＤＳｔａｔｕｓ、ＰｒｅｖＬＥＤＳｔａｔｕｓを使用する。出力済みージ数は、データ送信が完了したページ数を保持し、初期値は０である。印刷完了ページ数は、印刷が正常に終了したページ数を保持し、初期値は０である。ＰｒｉｎｔｅｒＳｔａｔｕｓはプリンタのエラー情報を保持する。エラー情報をフラグとして保持し、エラー情報が何もない場合は、０となる。ＬＥＤＳｔａｔｕｓはプリンタの表示部の内容を保持する。本実施形態では、ＬＥＤＳｔａｔｕｓは各ＬＥＤの表示内容をフラグで保持し、例えば、１の場合は点滅、０の場合は消灯となる。ＰｒｅｖＬＥＤＳｔａｔｕｓは、１つ前のＬＥＤＳｔａｔｕｓを保持する。
【００２６】
まず、印刷が開始されると、送信プログラム２３は、ステップＳ３０１にて、プリンタの占有を行う。具体的には占有コマンドをプリンタに送信し、そのレスポンスで占有できたかどうかを判断する。占有できた場合は、ステップＳ３０２に進み、占有に失敗した場合は、数秒後、ステップＳ３０１に進み、再びプリンタの占有を試みる。ステップＳ３０２で、ステータス取得コマンドを送信する。ステップＳ３０３で、プリンタのステータスを受信する。ステップＳ３０４で、Ｓ３０３で受信したステータスに基づき、ＰｒｉｎｔｅｒＳｔａｔｕｓにエラー情報を格納する。ステップＳ３０５でＰｒｉｎｔｅｒＳｔａｔｕｓに基づき、本体表示部表示内容を生成し、プリンタ本体に指示すべく転送する。詳細な動作は、図５のフローチャートにて後述する。ステップＳ３０６にて、受信したステータスのエラーフラグが１であるかを判定する。フラグが１である場合は、本体でエラーが発生しているので、ステップＳ３０２に戻る。エラーフラグが０である場合は、ステップＳ３０７に進む。ステップＳ３０７で、受信したステータスから印刷が可能かどうか判断し、印刷ができないと判断した場合は、ホスト検出エラーとしてＰｒｉｎｔｅｒＳｔａｔｕｓにエラー情報を格納する。
【００２７】
詳細は図７のフローチャートにて後述する。ステップＳ３０８にて、ＰｒｉｎｔｅｒＳｔａｔｕｓに基づき、本体表示部表示内容を生成し、本体に指示する。ステップＳ３０９にてホストエラーフラグが１であるかを判定する。ホストエラーフラグが１である場合は、ホスト検出エラーがあるので、Ｓ３０２に戻る。ホストエラーフラグが０の場合は、ステップＳ３１０に進む。ステップＳ３１０では、受信したステータスの印刷完了ページ数が、総ページ数に等しいかを判定する。印刷完了ページ数が総ページ数と等しい場合は、全てのページの印刷が正常に終了したので、ステップＳ３１３に進み、プリンタを解放して正常終了する。印刷完了ページ数が総ページ数と等しくない場合は、全てのページの印刷が正常に終了していないので、ステップＳ３１１に進む。ステップＳ３１１では、出力済みページ数が総ページ数に等しいかを判定する。出力済みページ数が総ページ数と等しい場合は、全てのページの送信が終了しているので、ステップＳ３０２に戻る。出力済みページ数が総ページ数と等しくない場合はステップＳ３１２に進む。Ｓ３１２では、これから送信しようとしているコマンドの送信処理を行う。詳細は図４のフローチャートにて後述する。
【００２８】
図５はＬＥＤの設定処理を示すフローチャートである。図５に基づいてＬＥＤの設定処理を説明する。
【００２９】
Ｓ５０１で、ＬＥＤＳｔａｔｕｓの設定を行う。詳細は図６のフローチャートにて後述する。ステップＳ５０２で、ＬＥＤＳｔａｔｕｓに変化あるかを判定する。ＬＥＤＳｔａｔｕｓとＰｒｅｖＬＥＤＳｔａｔｕｓが一致していれば、変化なしと判断し、ＬＥＤ設定処理を終了する。違いがあれば変化していると判断し、ステップＳ５０３に進む。ステップＳ５０３で、ＬＥＤ設定コマンドを送信することにより、プリンタにＬＥＤＳｔａｔｕｓを送信する。プリンタはＬＥＤＳｔａｔｕｓに基づき本体の表示部の表示を行う。詳細については図８のフローチャートにて後述する。ステップＳ５０４で、Ｓ５０３で送信したＬＥＤＳｔａｔｕｓをＰｒｅｖＬＥＤＳｔａｔｕｓに移し一つ前のＬＥＤＳｔａｔｕｓを保持する。
【００３０】
図６は、ＬＥＤＳｔａｔｕｓの設定処理を示すフローチャートである。図１のＳ５０１を詳述する。本実施形態では、本体にＬＥＤ１〜４が４つ実装されており、印刷中にエラーがない場合は、ＬＥＤ１を点滅させ、エラーがある場合は、ＬＥＤ１を消灯し、そのエラーに応じて３つのＬＥＤを選択し、選択されたＬＥＤを点滅させるものとする。
【００３１】
さて、ステップＳ６０１にてエラーがあるかを判定する。ＰｒｉｎｔｅｒＳｔａｔｕｓが０の場合はエラーなしと判定し、ステップＳ６０２に進む。ＰｒｉｎｔｅｒＳｔａｔｕｓにエラー情報がある場合は、ステップＳ６０３に進む。ステップＳ６０２で、ＬＥＤ１点滅の情報をＬＥＤＳｔａｔｕｓに格納する。ステップＳ６０３で、エラーがあるので、ＬＥＤ１消灯の情報をＬＥＤＳｔａｔｕｓに格納する。
【００３２】
ステップＳ６０４にてＬＥＤ２を点滅させるエラーがあるかを判定する。ＰｒｉｎｔｅｒＳｔａｔｕｓのフラグは３種類のエラーに分かれており、それによって点滅させるＬＥＤを区別する。送信プログラムは予め、エラーの種類の区分を把握しているので、ＬＥＤ２を点滅させるエラーに該当するフラグが立っていれば、ステップＳ６０５に進み、ＬＥＤ２を点滅させるエラーがない場合はステップＳ６０６に進む。ステップＳ６０５で、ＬＥＤ２点滅の情報をＬＥＤＳｔａｔｕｓに格納し、ステップＳ６０６に進む。ステップＳ６０６で、ステップＳ６０６にてＬＥＤ３を点滅させるエラーがあるかを判定する。ＬＥＤ３を点滅させるエラーに該当するフラグが立っていれば、ステップＳ６０７に進み、ＬＥＤ３を点滅させるエラーがない場合はステップＳ６０８に進む。ステップＳ６０７で、ＬＥＤ３点滅の情報をＬＥＤＳｔａｔｕｓに格納し、ステップＳ６０８に進む。ステップＳ６０８で、ステップＳ６０８にてＬＥＤ４を点滅させるエラーがあるかを判定する。ＬＥＤ４を点滅させるエラーに該当するフラグが立っていれば、ステップＳ６０９に進み、ＬＥＤ３を点滅させるエラーがない場合は処理を終了する。ステップＳ６０９で、ＬＥＤ４点滅の情報をＬＥＤＳｔａｔｕｓに格納し、処理を終了する。
【００３３】
図７は、ホストでのエラー判定処理を示すフローチャートである。図３のＳ３０７について詳しく説明する。ここでは、簡単なエラー処理判断、表示機構を持つプリンタを前提としている。従って、例えば、複雑なエラー表示、判断機構をプリンタが持たないため、給紙口を２つ以上もつプリンタでは、どれか１つでも用紙があれば、プリンタ本体では用紙なしのエラー（又は、用紙僅少のエラーをも含む。）とはしない。このため、受信したステータスにはエラーフラグが立っていない。以下、用紙なしのエラーが考えられる場合は、本発明の主旨を逸脱しない限り、用紙僅少の場合も含むものとする。
【００３４】
なお、本発明の画像形成装置としては、単純なエラー認識又はステータス認識機構はあっても、それをデコードして複雑なエラー判断表示行う機構をプリンタ側に持たない、プリンタ、コピー機、スキャナ、ファクシミリなども考えられる。
【００３５】
その状態で用紙のない給紙口に対して印刷を行おうとすると、印刷できないため、ホストでは、エラーとして判定すべきである。また、Ｂｌａｃｋ以外のトナーがない場合も、Ｂｌａｃｋがあれば、モノクロ印刷が可能なので、プリンタはエラーとしていない。そのため、カラー印刷を行うとわかった時点で、ホストがはじめてエラーと判定する必要がある。本実施形態では、ホストで判定するエラーは、用紙なし、用紙不一致、トナーなしの３つとした。以下、フローチャートを用いて説明する。ステップＳ７０１で、送信プログラムは、画像データ生成手段から、これから送信しようとするページの給紙口を指定されているので、指定された給紙口に用紙があるかを受信したステータスから判定する。用紙がない場合は、ステップＳ７０２に進み、用紙がある場合はステップＳ７０３に進む。ステップＳ７０２では、ＰｒｉｎｔｅｒＳｔａｔｕｓの用紙なしエラーフラグを立て、ステップＳ７０３に進む。ステップＳ７０３で、送信プログラムはこれから送信しようとしているページの用紙サイズがわかるので、その用紙サイズと、これから給紙しようとしている給紙口にある用紙サイズが一致しているかを判定する。一致していればステップＳ７０５に進み、一致しない場合は、ステップＳ７０４に進む。
【００３６】
ステップＳ７０４では、ＰｒｉｎｔｅｒＳｔａｔｕｓの用紙不一致エラーフラグを立て、ステップＳ７０５に進む。ステップＳ７０５では、トナーがあるかどうかを判定する。送信プログラムは、これから送るページがカラーかモノクロかわかるので、カラーページであり、かつ受信したステータスでＢｌａｃｋ以外のトナーがない場合は、トナーなしと判定する。トナーなしと判定した場合はステップＳ７０６に進み、トナーがある場合はステップＳ７０７に進む。ステップＳ７０６で、ＰｒｉｎｔｅｒＳｔａｔｕｓのトナーなしエラーフラグを立て、ステップＳ７０７に進む。ステップＳ７０７では、エラーが検出されたかどうかを判定する。ＰｒｉｎｔｅｒＳｔａｔｕｓが０であれば、エラーなしと判断し、ステップＳ７０９に進み、０でない場合は、エラーありと判断し、ステップＳ７０８に進む。ステップＳ７０８で、ホストエラーフラグを１とし、処理を終了する。ステップＳ７０９でホストエラーフラグを０とし、処理を終了する。
【００３７】
つまり、画像形成装置の一例であるプリンタ２００７と、ホスト２００１とを含むネットワークシステムにおいて、プリンタのステータスを取得するＲＯＭ３に記憶された送信プログラム２３と、ホスト２００１のステータスを取得する送信プログラム２３と、送信プログラム２３が取得したプリンタのステータスと、ホスト２００１のステータスを用いて、送信プログラム２３は、プリンタ２００１に転送すべきエラーを示すエラー情報を特定する。
【００３８】
また、送信プログラム２３が特定したエラー情報をプリンタに転送する。画像形成装置であるプリンタ２００７が、ホストからエラー情報を、通信ポート３０を介して受信する。また、通信ポート３０が受信したエラー情報に基づいて、制御回路３１は、プリンタのエラーを示す表示部３６やＬＥＤを制御する。以下、詳細に後述する。
【００３９】
図４は、コマンド送信処理を示すフローチャートである。以下、詳細に説明する。ステップＳ４０１では、これから送信しようとするコマンドが画像データコマンドであるか判定する。これから送信しようとするコマンドが画像データコマンドでない場合は、ステップＳ４０２に進む。ステップＳ４０２では、受信したステータスのコマンド送信禁止フラグが１であるかを判定する。
【００４０】
コマンド送信禁止フラグが１の場合は、画像データコマンド以外のコマンド送信が禁止されているので処理を終了する。コマンド送信禁止フラグが０の場合は、画像データコマンド以外のコマンドの送信が許可されているのでステップＳ４０３に進む。ステップＳ４０３では、これから送信しようとしているコマンドがデータ開始コマンドであるかを判定する。データ開始コマンドであると判定された場合は、ステップＳ４０４に進む。ステップＳ４０４でデータ開始コマンドを送信する。ステップＳ４０５では、データ開始と同時に印刷を開始するので、印刷開始コマンドを送信し、処理を終了する。ステップＳ４０６でコマンドを送信し、ステップＳ４０７に進む。ステップＳ４０７では、現在出力中のページのブロックを全て送信したかを判定する。現在出力中のページに未送信のブロックがある場合は、処理を終了する。現在出力中のページのブロックを全て送信した場合は、ステップＳ４０８に進み、出力済みページ数に１を加算し、処理を終了する。ステップＳ４０１において、画像データコマンドであると判断された場合は、ステップＳ４０９に進む。
【００４１】
ステップＳ４０９では、受信したステータスのデータ送信禁止フラグが１であるか否かを判定する。プリンタは受信バッファがフルになった場合にデータ送信禁止フラグを１にする。データ送信禁止フラグが１の場合は、画像データの送信が禁止されているのでステップＳ４１１に進む。データ送信禁止フラグが０の場合は、画像データの送信が許可されているので、ステップＳ４１０に進み、画像データを１ブロック送信し、処理を終了する。ステップＳ４１１では、データ送信禁止フラグが１であるということは、その時すでに、プリンタ側のバッファがフルであるということであるので、これ以上予め画像データを転送することが出来ないので、印刷開始コマンドを送信する。
【００４２】
図８は、プリンタ本体の動作を示すフローチャートである。以下詳細に説明する。プリンタ本体は常に、ホストからのコマンドを待つために処理をループさせている。このループは電源が落とされるまで続く。プリンタ本体では、ワーク領域として、ＬＥＤＳｔａｔｕｓ、占有フラグ、ＰｒｅｖＬＥＤＳｔａｔｕｓを使用する。まず、ステップＳ８０１で、エンジンステータスを取得する。ステップＳ８０２でエンジンステータスにエラーがあるかどうかを判定し、エラーがあれば、ステップＳ８０３に進み、エラーがない場合は、ステップＳ８０４に進む。ステップＳ８０３で、ホストで設定される処理と同様に、エラー情報に基づき、ＬＥＤＳｔａｔｕｓを設定し、ステップＳ８０５に進む。ステップＳ８０４では、エラーがないので、エラーなしの情報をＬＥＤＳｔａｔｕｓに設定する。ステップＳ８０５では、ＰｒｅｖＬＥＤＳｔａｔｕｓとＬＥＤＳｔａｔｕｓを比較し、違いがあれば変化ありと判定しステップＳ８０６に進み、同じであれば変化なしと判定し、ステップＳ８０９に進む。
【００４３】
ステップＳ８０６では、占有されているかを判定し、占有フラグが１であれば、あるホストに占有されていると判定し、ステップＳ８０７に進み、０であれば、占有されていないと判定し、ステップＳ８０８に進む。ステップＳ８０７で、プリンタは占有されていないので、プリンタは本体で生成したＬＥＤＳｔａｔｕｓをもとにＬＥＤの状態を変化させ、ステップＳ８０８に進む。ステップＳ８０８で、ＰｒｅｖＬＥＤＳｔａｔｕｓにそのときのＬＥＤＳｔａｔｕｓを格納し、ステップＳ８０９に進む。ステップＳ８０９でホストからのデータがあるかを判定し、なければステップＳ８０１に戻る。データがある場合は、ステップＳ８１０に進む。データが占有コマンドかどうか判定し、占有コマンドであれば、ステップＳ８１１に進み、占有コマンドでない場合は、ステップＳ８１２に進む。
【００４４】
ステップＳ８１１で、ホストがプリンタを占有するため、占有フラグを１にして、ステップＳ８０１に戻る。ステップＳ８１２では、解放コマンドかを判定し、解放コマンドであれば、ステップＳ８１３に進み、解放コマンドでない場合は、ステップＳ８１４に進む。ステップＳ８１３では、プリンタの占有を解除するため、占有フラグを０にし、ステップＳ８０１に戻る。ステップＳ８１４でＬＥＤ設定コマンドかを判定する。ＬＥＤ設定コマンドの場合は、ステップＳ８１５に進み、それ以外のコマンドの場合は、ステップＳ８１７に進む。ステップＳ８１５で、ホストがプリンタが占有していることを示す占有フラグが１であるかを判定し、１の場合はステップＳ８１７に進み。一方、Ｓ８１５で占有フラグが０の場合は、ホストからプリンタを占有できておらずホストからＬＥＤを設定できないので、ステップＳ８０１に戻る。ステップＳ８１６受信したコマンドに応じた処理を行い、ステップＳ８０１に戻る。ステップＳ８１６では、受信したＬＥＤＳｔａｔｕｓをもとにＬＥＤの表示を変化させ、Ｓ８１７に進む。Ｓ８１７では、その他のコマンドの処理を行い、Ｓ８０１に戻る。
【００４５】
以上説明したように、本実施形態によれば、ホストで検出したエラーをプリンタ本体で表示し、プリンタの表示部をみるだけで、ホストのエラーを認識することが出来、ホストとプリンタ間を行き来するような無駄な時間をなくすことが出来る。また、ホストの表示部を見るだけで、ホストで検出したエラーの発生に気づき、エラーに対応することが出来る。
【００４６】
以下、本発明の実施形態の変形例を示す。以下、特に異なる部分を中心に説明する。図９は、レーザビームプリンタの説明を示す図である。本実施形態の構成を説明する前に、本実施形態を適用するカラーレーザビームプリンタの構成を図９を参照して説明する。
【００４７】
図９において、７１１はスキャナであり、画像信号を光信号に変換するレーザ出力部（不図示）、多面体（（例えば８面体）のポリゴンミラー７１２、このミラー７１２を回転させるモータ（不図示）及びｆ／θレンズ（結像レンズ）７１３などを有する。７１４は、レーザ光の光路を変更する反射ミラー、７１５は感光ドラムである。レーザ出力部から出射したレーザ光はポリゴンミラー７１２の一側面で反射され、ｆ／θレンズ７１３及びミラー７１４を通って図示矢印方向に回転している感光ドラム７１５の面を線状に走査（ラスタスキヤン）する。これによって、原稿画像に対応した静電潜像が感光ドラム７１５の面上に形成されることになる。
【００４８】
また、７１７は一次帯電器、７１８は全面露光ランプ、７２３は転写されなかつた残留トナーを回収するクリーナ部、７２４は転写前帯電器であり、これらの部材は感光ドラム７１５の周囲に配設されている。
【００４９】
７２６はレーザ露光によって、感光ドラム７１５の表面に形成された静電潜像を現像する現像器ユニットであり、以下に示す構成よりなる。７３１Ｙ、７３１Ｍ、７３１Ｃ、７３１Ｂｋは感光ドラム７１５と接して直接現像を行う現像スリーブ、７３０Ｙ、７３０Ｍ、７３０Ｃ、７３０Ｂｋは予備トナーを保持しておくトナーホツパー、７３２は現像剤の移送を行うスクリユーであって、これらのスリーブ７３１Ｙ〜７３１Ｂｋ、トナーホツパー７３０Ｙ〜７３０Ｂｋ及びスクリユー７３２により現像器ユニットの回転軸Ｐの周囲に配設されている。尚、前述した各構成要素の符号のＹ、Ｍ、Ｃ、Ｂｋは色を示している。つまり、“Ｙ”はイエロー、“Ｍ”はマゼンタ、“Ｃ”はシアン、“Ｂｋ”はブラックである。イエローのトナー像を形成する時には、本図の位置でイエロートナー現像処理を行なう。また、マゼンタのトナー像を形成する時は、現像器ユニット７２６を図の軸のＰを中心に回転して、感光体７１５にマゼンタ現像器内の現像スリーブ７３１Ｍが接する様にする。シアン、ブラックの現像も同様に作動する。
【００５０】
また、７１６は感光ドラム７１５上に形成されたトナー像を用紙に転写する転写ドラムであり、７１９は転写ドラム７１６の移動位置を検出させるためのアクチユエータ板、７２０はこのアクチユエータ板７１９と近接することにより転写ドラム７１６がホームポジシヨン位置に移動したのを検出するポジシヨンセンサ、７２５は転写ドラムクリーナ、７２７は紙押えローラ、７２８は徐電器、７２９は転写帯電器であり、これらの部材７１９、７２０、７２５、７２７、７２９は転写ローラ７１６の周囲に配設されている。
【００５１】
一方、７３５、７３６は用紙（紙葉体）を収納する給紙カセットであり、実施の形態では給紙カセット７３５には例えばＡ４サイズの用紙、給紙カセット７３６にはＡ３サイズの用紙が収納されているものとする。７３７、７３８はカセット７３５、７３６から用紙を給紙する給紙ローラ、７３９、７４０、７４１は給紙及び搬送のタイミングを取るタイミングローラであり、これらを経由して給紙搬送された用紙は紙ガイド７４９に導かれて先端を後述のグリツパに但持されながら転写ドラム７１６に巻き付き、像形成過程に移行する。尚、給紙カセット７３５、７３６のいずれを選択するかは、主制御部３１の指示により決定し、選択された給紙ローラのみが回転する様になっている。
【００５２】
上記構成により、ＹＭＣＫ４色によるフルカラー印刷を実現する。
【００５３】
図１０は本発明の実施形態を示すプリンタ制御システムの構成を説明するブロック図である。ここでは、カラーレーザビームプリンタ（図９）を例にして説明する。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【００５４】
図において、３０００はホストコンピュータで、ＲＯＭ３のプログラム用ＲＯＭに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１を備え、システムデバイス４に接続される各デバイスをＣＰＵ１が総括的に制御する。
【００５５】
また、このＲＯＭ３のプログラム用ＲＯＭには、図１２〜図１４のフローチャートで示されるようなＣＰＵ１の制御プログラム等を記憶し、ＲＯＭ３のフォント用ＲＯＭには上記文書処理の際に使用するフォントデ−タ等を記憶し、ＲＯＭ３のデ−タ用ＲＯＭは上記文書処理等を行う際に使用する各種デ−タを記憶する。２はＲＡＭで、ＣＰＵ１の主メモリ、ワークエリア等として機能する。５はキーボードコントローラ（ＫＢＣ）で、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。６はＣＲＴコントローラ（ＣＲＴＣ）で、ＣＲＴディスプレイ（ＣＲＴ）１０の表示を制御する。７はメモリコントローラ（ＭＣ）で、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク（ＨＤ）、フロッピー（Ｒ）ディスク（ＦＤ）等の外部メモリ１１とのアクセスを制御する。８はプリンタコントローラ（ＰＲＴＣ）で、所定の双方向性インタフェース（インタフェース）２１を介してプリンタ１０００に接続されて、プリンタコントローラ部１００１との通信制御処理を実行する。なお、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００５６】
プリンタ１０００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等に基づいてシステムバス１５に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース１６を介して接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このＲＯＭ１３のプログラムＲＯＭには、本発明図１５のフローチャートで示されるようなＣＰＵ１２の制御プログラム等を記憶する。ＣＰＵ１２は入力部１８を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ１９は、ホストコンピュータより受信した画像ビットマップデータを格納しておくための描画メモリ、ビデオ信号ＯＮ／ＯＦＦ情報格納領域、その他のワーク領域等に用いられる。１７は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等が配されている。そして、３０はメモリコントローラ（ＭＣ）で、ホストコンピュータから受信したビットマップデータ等を記憶するハードディスク（ＨＤＤ）３１とのアクセスを制御する。
【００５７】
以上のような構成を有するＬＢＰ（印刷装置）１０００において、本実施の形態の制御部による処理動作を説明する。
【００５８】
次に図１１を説明する。図１１は、図１０に示したホストコンピュータの制御部１とプリンタの制御部１２における印刷機能の処理構成を説明するブロック図であり、図９と同一のものには同一の符号を付してある。
【００５９】
図１１において、３０００は例えばサーバまたはクライアントとして機能するホストコンピュータである、印刷データおよび制御コードからなる印刷情報をプリンタ１０００に出力するものである。
【００６０】
プリンタ１０００は、機能的に大きく分けてコントローラ部１００、オペレーションパネル部１１０、印刷機構部１７より構成されている。本実施形態ではプリンタ１０００として、具体的にはレーザビームプリンタ（以下ＬＢＰと記述）を想定している。尚、本発明を適用可能なプリンタはＬＢＰに限られるものではなく、インクジェットプリンタ、サーマル（熱転写）プリンタなど他のプリント方式のプリンタでも良いことは言うまでもない。
【００６１】
プリンタ１０００において、コントローラ部１００は、ホストコンピュータ３０００との接続手段であるところのインタフェース（Ｉ／Ｆ）部１５、受信データ等を一時的に保持管理するための受信バッファ１０１、送信データ等を一時的に保持管理するための送信バッファ１０２、印刷データの解析を司るコマンド解析部１０４、印刷制御部１０５、画像制御部１０３、出力制御部１０７などより構成されている。インタフェース（Ｉ／Ｆ）部１５はホストコンピュータ２００との印刷データの送受信を行う通信手段である。このインタフェース（Ｉ／Ｆ）部１５を通して受信した印刷データは、そのデータを一時的に保持する記憶手段である受信バッファ１０１に遂次蓄積され、必要に応じてコマンド解析部１０４または画像制御部１０３によって読み出され処理される。コマンド解析部１０４は、各印刷制御コマンド体系や印刷ジョブ制御言語に準じた制御プログラムにより構成されており、このコマンド解析部１０４で解析されたコマンドは、ビットマップデータなどの画像データに関するものは、画像制御部１０３に指示を与えて処理し、給紙選択やリセット命令などの描画以外のコマンドは、印刷制御部１０５に指示を出し処理する。
【００６２】
画像制御部１０３では、転送されてきた画像データコマンドデータからコマンド部分を外し、圧縮されたイメージデータであれば、この画像制御部１０３にて伸長処理が行われ、画像データ受信バッファ１０６へ格納する。この画像データ受信処理と印刷機構部（プリンタエンジン）１７へのビデオ信号の出力の追いかけっこ、つまりバンディング制御によってビデオ出力バッファは管理されていてもよいし、十分なメモリがある場合は、１ページ分が格納可能な領域をビデオ出力バッファとして確保してもよい。
【００６３】
また、ステータス管理部１０８は、コマンド解析部１０４や印刷制御部１０５からの情報を元にプリンタの各種状態を決定し、オペレーションパネル１１０に表示させる機能を持っている。出力制御部１０７は、画像データ受信バッファ１０６に格納されている画像ビットマップデータをビデオ信号に変換処理し、印刷機構部（プリンタエンジン）１７へ転送する。印刷機構部１７は受け取ったビデオ信号を記録紙に永久可視画像形成するための機構である。
【００６４】
以上、プリンタ１０００について説明したが、次にホストコンピュータ３０００の構成について説明する。
【００６５】
ホストコンピュータ３０００は、入力デバイスであるところのキーボード９やポインティングデバイスであるところのマウス２２０と、表示デバイスであるディスプレイモニタ１０を合わせた一つのコンピュータシステムとして構成されている。ホストコンピュータ３０００は、Ｗｉｎｄｏｗｓ（Ｒ）、ＵＮＩＸ（Ｒ）、ＭａｃＯＳ等の基本ＯＳの下で動作しているものとする。
【００６６】
ホストコンピュータ側について本発明に関する機能的な部分にのみ着目して基本ＯＳ上での機能を大きく分類すると、アプリケーションソフト２０１、基本ＯＳの一部であるグラフィックデバイスインタフェース（以後、ＧＤＩと記す）２０２、そして本発明のプリンタステータス制御部２０８やステータスモニタ２０７を有するプリンタドライバ２０３、プリンタドライバの生成したデータを一時的に格納するプリントスプーラ２０４と分けて考えることができる。
【００６７】
なお、基本ＯＳによってこれらの名称や機能的な枠組みは若干異なる場合があるが、本発明で言う各技術的手段が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。ＧＤＩやプリンタドライバと呼ばれるモジュールは、Ｗｉｎｄｏｗｓ（Ｒ）９８やＷｉｎｄｏｗｓ（Ｒ）ＮＴ固有のものであり、他の基本ＯＳにおいては、たとえば、グラフィックカーネルやプリント・フィルタなど呼ばれるモジュールで実現可能である。同様にプリント・スプーラ２０４においても、プリント・キューと呼ばれるモジュールに処理を組み込むことによって実現可能である。
【００６８】
なお、一般的に、これらの構成要素からなるホストコンピュータ３０００は、図１０で示したＣＰＵ１、ＲＡＭ２、ＲＯＭ３、外部メモリ１１などのハードウェアの下で、基本ソフトと呼ばれるソフトウェア（ＢＩＯＳ）がその制御を司り、その基本ソフトの下で応用ソフトが動作するような構成になっている。
【００６９】
プリンタステータス制御部２０８を有するプリンタドライバ２０３も、この応用ソフトの一つと位置付けられるものである。また、アプリケーションソフト２０１は、例えば、ワープロや表計算などの基本ソフトウェア上で動作する応用ソフトウェアを指すものである。また、アプリケーションソフトは任意のタイミングで複数起動（主メモリ容量により変動する）であり、それらをアプリ２０６として図示してある。
【００７０】
次に、アプリケーション２０１として任意のイメージ編集ソフトを使用した場合を例に取り説明する。
【００７１】
アプリケーション２０１で、イメージの編集作業を中心に行い、そのイメージを印刷する時には、マウス２２０などによってディスプレイモニタ１０上に表示される印刷メニューを選択して印刷を実行する。次に、アプリケーション２０１は、基本ＯＳの一部の機能であるＧＤＩ２０２をコールする。このＧＤＩ２０２は、画面表示や印刷出力などの表示デバイスや印刷デバイスを司る基本関数群であり、各社各様のアプリケーションソフトウェアは、この基本関数群を利用することで、機種（ハードウェア）に依存する部分を意識することなく、アプリケーションソフトウェアを動作させることが可能である。
【００７２】
次にＧＤＩ２０２では、それぞれの印刷装置の機種に依存する情報を管理するプリンタドライバ２０３から印刷デバイス（この場合はプリンタ１０００）の持つ描画能力や印刷解像度などの情報を取り込み、アプリケーションソフト２０１からコールされたＡＰＩ関数を処理し、その処理内容に応じてプリンタドライバがＧＤＩ２０２に対して提供する関数をコールする。この関数はあらかじめ決められたインタフェース（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ通称ＤＤＩ）になっており、プリンタドライバの作成者はこのインタフェースから実際の印刷装置へのデータ変換を中心にプリンタドライバを作成することとなる。
【００７３】
プリンタドライバ２０３は、ＧＤＩ２０２より受け取ったＤＤＩ情報と、それ自信が持つグラフィカル・ユーザ・インタフェース（ＧＵＩ）によって設定された印刷環境設定をもとに、印刷データ（画像ビットマップデータ）の生成処理２０７と、プリンタ制御コマンドの生成処理２０８を行いプリントスプーラ２０４に対して送出される。さらにこれらのデータは、プリントスプーラ２０４を経由し、さらにホストコンピュータ３０００の接続手段であるところのＩ／Ｆ部８を経てプリンタ１０００へ送出されることになる。
【００７４】
図１２乃至図１４は、本実施の形態のホストコンピュータにおける制御手順を示すフローチャートで、これらの機能を実行するプログラムはＲＯＭ３に記憶されており、ＣＰＵ１の制御の下に実行される。
【００７５】
図１２は、給紙口が２つあるプリンタにおいて、印刷が実行されないアイドル状態（印刷待ち状態）の時のプリンタステータス制御部２０８の制御手順を示している。なお、給紙口は手差しトレイやカセットといった種類によらずいかなる給紙口でもよい。
【００７６】
まず、ステップＳ１１で給紙口１の用紙の有無情報を要求するコマンドをプリンタへ発行し、そのステータスを受信することで給紙口の用紙有無情報を取得することが出来る。同様にステップＳ１２で給紙口２の用紙有無情報も取得する。さらに複数の給紙口のあるプリンタであれば、同様にすべての給紙口の用紙有無情報を取得する。ステップＳ１３では、そのプリンタに存在するすべての給紙口に用紙があるかどうか判断し、すべての給紙口に用紙がある場合は、ステップＳ１５へ進み、ステータスモニタには「印刷可能」であることを表示する。そうでない場合は、ステップＳ１４へ進み、逆にどの給紙口にも用が無いかどうか判断し、すべての給紙口に用紙が無い場合は絶対に印刷不可能であるため「用紙なしエラー」をステータスモニタに表示する。次に用紙がある給紙口もあれば、用紙のない給紙口もある場合は、ステップＳ１７へ進み、用紙のある給紙口からは印刷が可能なので、プリンタステータスとしては「印刷可能」であることを表示するが、補助的な意味で「給紙口ＸＸには用紙がありません」という内容も同時に簡易な機構で表示することもできる。ただし、簡易な機構が「用紙が有りません」と表示する場合であっても、エラーを示すランプが点灯するわけではない。このような設計にしてしまうと、ある段がいつも使われていない場合に、プリンタがいつもエラー状態であるということになってしまうからである。
【００７７】
以上がプリンタのアイドル状態（プリンタ本体にエラーが発生していないとき）でのプリンタステータス制御部の制御手順である。
【００７８】
次に図１３を用いて、ホストコンピュータが決定するステータスの一つである「用紙なしエラー」について説明する。図１３は前述した図１２でプリンタがアイドル状態で、ステップＳ１７にあるような用紙がある給紙口とない給紙口が存在する場合に、印刷が実行された場合のプリンタステータス制御部の制御手順を示している。
【００７９】
まず、ステップＳ２１で印刷が実行される。このときユーザはプリンタドライバのＵＩなどから印刷を実行する給紙口を指定する。ステップＳ２１では、その指定された給紙口に用紙があるかどうか判断する。但し、ホストは、アイドル状態でも、常に給紙口を監視しているため、改めてプリンタに問い合わせを行わなくても判断可能である。指定された給紙口に用紙がある場合はステップＳ２７へ進み、印刷データをプリンタへ送信し印刷を実行する。そして、ステップＳ２８でステータスモニタに「印刷中」と表示し、印刷が終了するとステップＳ２９でアイドル状態へ戻ることになる。
【００８０】
一方、指定された給紙口に用紙がない場合は、ステップＳ２３へ進み、ただちに印刷データをプリンタへ送信することはせず、まずはステップＳ２４でステータスモニタに「用紙なしエラー」を表示する。この「用紙なしエラー」（プリンタはこのステータスを知らない）が、ホストコンピュータが決定したプリンタステータスの一つである。「用紙なしエラー」が表示された場合、ステップＳ２６でその給紙口に用紙が補充されるのを待つ。ユーザはこの状態で、ステップＳ２５に示すように印刷中止という選択をすることも可能である。ステップＳ２６で用紙が補充されるとステップＳ２７へ進み、通常の印刷を実行する。これにより、ある用紙段が、実際の印刷したいのにも関わらず用紙切れなのか、用紙段が使用されないので用紙切れなのかが識別可能になる。さらに、ユーザは、自分が印刷対象としデータに対応したタイプの用紙が無い又は僅少である事をプリンタ側にいながら即座に認識できるのである。
【００８１】
図１４、７で、あるホストコンピュータが決定したプリンタステータスを、プリンタに接続されている、すべてのホストコンピュータのステータスモニタに表示するための仕組みを説明する。
【００８２】
まず、図１４はプリンタステータス制御部の制御手順である。
【００８３】
ステップＳ３１でホストが決定したプリンタステータスが発生した場合、ステップＳ３２でそのステータスをプリンタへ通知する。具体的にはプリンタステータスを登録するコマンドをプリンタへ発行すればよい。またステップＳ３３では、プリンタからステータス情報を取得し、ステップＳ３４で取得したプリンタステータス情報を元にステータスを確定し、ステータスモニタへ表示する。このとき、プリンタから取得したステータス情報には、他のプリンタが決定したステータス情報もすでに入っているため、何も意識せずにステータスの表示を行うことで、他のプリンタが決定したステータスを表示させることが可能となる。
【００８４】
図１５は、本実施の形態のプリンタの図１１におけるステータス管理部１０８の制御手順を示すフローチャートで、このプログラムはＲＯＭ１３に記憶されており、ＣＰＵ１２の制御の下に実行される。
【００８５】
プリンタはステップＳ４１で、プリンタが決定するステータス（ここでは、［ＳＴ−Ｐ］とする）を更新する。具体的には、コントローラから印刷機構部へ、プリンタの情報を取得するコマンド類を発行する。次にステップＳ４２でホストコンピュータが決定したステータスが通知されている場合、ステップＳ４３でホストか決定したステータス（ここでは、［ＳＴ−Ｈ］とする。）を更新する。そしてステップＳ４４でプリンタが決定したステータスとホストコンピュータが決定したステータスの優先度などを比較検討し、プリンタが決定したステータスの方が優先度が高い場合はステップＳ４５で、現在のプリンタステータス［ＳＴ］を［ＳＴ−Ｐ］とし、逆にホストコンピュータが決定したステータスの方が優先度が高い場合はステップＳ４６で、現在のプリンタステータス［ＳＴ］を［ＳＴ−Ｈ］に変更する。なお、ステップＳ４２でホストコンピュータが決定したステータスが無い場合は、ステップＳ４５でプリンタが決定したステータスが、自動的に現在のプリンタのステータスとなる。そして、ステップＳ４７で他のホストコンピュータからプリンタ情報を取得するコマンドを受信した場合、ステップＳ４８で現在のプリンタステータス［ＳＴ］を送信する。
【００８６】
従来のホストベース印刷システムでは、あるホストコンピュータが決定した「用紙なしエラー」ステータスは、そのプリンタに接続されている他のホストコンピュータは知ることができないため、ステータスモニタに表示される内容が違ってしまうという問題があった。しかし、前述の実施形態で説明したところによると、あるホストコンピュータが決定した「用紙なしエラー」ステータスは直ちにプリンタへ通知され、他のホストコンピュータはプリンタからその情報を取得できるため、プリンタに接続されているすべてのホストコンピュータのステータスモニタが「用紙なしエラー」を表示することを可能とする効果がある。
【００８７】
前述の実施形態では、ホストコンピュータが決定するステータスとして「用紙なしエラー」を提示したが、これに限ったものではなく、ホストコンピュータが決定するステータスであればいかなるステータスでもよい。ホストベース印刷システムでは、指定された給紙口に指定されたサイズの用紙が入っていない場合、「Ｂ５サイズの用紙に交換してください」といったメッセージを表示し、ユーザに正しいサイズの用紙交換要求を行うステータスや、同様の意味で「ＯＨＴの用紙に交換してください」というメッセージを表示し、ユーザに正しいメディアタイプの用紙交換要求を行うステータスもある。また、ホストコンピュータで印刷途中のジョブを一時停止したときの「一時停止中」や、印刷途中で中止したときの「印刷中止中」なども、ホストコンピュータが決定し、プリンタに送信して表示させることが好適であるプリンタステータスである。
【００８８】
本実施形態によると、ホストコンピュータが決定したさまざまなステータスは直ちにプリンタへ通知され、他のホストコンピュータはプリンタからその情報を取得できるため、プリンタに接続されている、すべてのホストコンピュータのステータスモニタが、常に同じ内容を表示することを可能とする効果がある。
【００８９】
前述の実施形態ではステータスをそのプリンタ専用のステータスモニタに表示していたが、これに限ったものではなく、プリンタのステータスを表示可能なものであればいかなるものでもよい。近年、ネットワーク管理者が、ネットワークに接続されているすべてのプリンタをリアルタイムに一元管理できるようなツールが多く見られるようになってきた。このようなツールでも本発明を実施することにより、ホストコンピュータが決定したステータスをプリンタから取得することができる。
【００９０】
本実施形態によると、ステータス表示ツール側には特殊な機能を特に必要としないため、プリンタの状態を取得可能とする、ネットワークプリンタ管理ツールのようなさまざまな表示ツールに、ホストホストコンピュータが決定したステータスも表示することを可能とする効果がある。
【００９１】
（他の実施形態）
本実施形態における各図に示す処理が、外部からインストールされるプログラムによって、各装置により遂行される。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【００９２】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ（図示省略）からダウンロードすることで、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００９３】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【００９４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９５】
【発明の効果】
本願発明の一つの側面によれば、ユーザにとって適切な印刷システムのステータスの把握を可能となり、さらに、ホストにおける画像出力に関する情報と、画像形成装置におけるステータスとの両方から、印刷システム全体のステータスが決定するシステムにおいて、印刷装置側においてもエラー状態を識別できるようになる。
【００９６】
また、本願発明の別の側面によれば、印刷システムが、エラーの詳細の判断機構を持たない画像形成装置を含むシステムにおいても、ユーザに、適切なプリントシステムの状態を画像形成装置で表示可能となる。
【図面の簡単な説明】
【図１】本発明に適用可能なシステム構成を示すブロック図である。
【図２】本発明の実施形態を示す印刷システムの構成を説明するブロック図である。
【図３】送信プログラムにおいて、本発明の印刷処理ルーチンを示すフローチャートである。
【図４】送信プログラムにおいて、本発明のコマンド送信処理を示すフローチャートである。
【図５】送信プログラムにおいて、本発明のＬＥＤ設定処理を示すフローチャートである。
【図６】送信プログラムにおいて、本発明のＬＥＤＳｔａｔｕｓ設定処理を示すフローチャートである。
【図７】送信プログラムにおいて、本発明のホストのエラー検出処理を示すフローチャートである。
【図８】プリンタ本体において、本発明のＬＥＤ表示処理を示すフローチャートである。
【図９】本発明の実施形態におけるカラーレーザビームプリンタ（ＬＢＰ）の内部構造を示す断面図である。
【図１０】図９のＬＢＰを含むプリンタ制御システムの構成を示すブロック図である。
【図１１】図１０におけるホストコンピュータの制御部と図９のプリンタの制御部におけるプリンタステータス制御部の処理構成を説明するブロック図である。
【図１２】本発明の実施形態におけるホストコンピュータにおける、プリンタアイドル時の制御処理を示すフローチャートである。
【図１３】本発明の実施形態のホストコンピュータにおける、印刷実行時の制御処理を示すフローチャートである。
【図１４】本発明の実施形態におけるホストコンピュータにおける制御処理を示すフローチャートである。
【図１５】本発明の実施形態のプリンタにおける制御処理を示すフローチャートである。
【図１】
2004240558.tif 000003
【図２】
2004240558.tif 000004
【図３】
2004240558.tif 000005
【図４】
2004240558.tif 000006
【図５】
2004240558.tif 000007
【図６】
2004240558.tif 000008
【図７】
2004240558.tif 000009
【図８】
2004240558.tif 000010
【図９】
2004240558.tif 000011
【図１０】
2004240558.tif 000012
【図１１】
2004240558.tif 000013
【図１２】
2004240558.tif 000014
【図１３】
2004240558.tif 000015
【図１４】
2004240558.tif 000016
【図１５】
2004240558.tif 000017