(57)【特許請求の範囲】
【請求項１】
画像形成に使用する消耗品を格納する容器を着脱可能で、且つ、装着された前記容器の識別情報を読み取り可能な画像形成装置であって、
装着された前記容器の識別情報が読み取られたことに従って、当該読み取られた前記識別情報に紐付けて前記容器に格納された消耗品の利用情報を前記画像形成装置の記憶領域に記憶し、前記装着されている容器の識別情報が読み取られなかったことに従って所定の識別情報に紐付けて前記容器の消耗品の利用情報を前記記憶領域に記憶する記憶手段と、
前記識別情報が読み取られずに前記容器が継続して装着されている状態において、前記容器の識別情報の読取処理が再度行われ、前記装着されている容器の識別情報が読み取られたことに従って、前記容器に格納された消耗品の利用情報と紐づけて前記記憶領域に記憶された前記所定の識別情報を、前記容器から読み取られた前記識別情報で更新する更新手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記利用情報は、前記容器に格納された消耗品を利用した日時、前記容器に格納された消耗品を用いて印刷したページの累積枚数、及び前記消耗品の残量を含むことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記識別情報は、前記容器のシリアル番号を含むことを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記所定の識別情報は、前記容器に付与されないシリアル番号を含むことを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記読取処理は、前記容器が有するメモリに記憶されている前記識別情報及び前記利用情報を含む情報を読み取る処理であることを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記容器は、トナー、感光ドラム、現像器を含むことを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記メモリは、前記識別情報に加えて、前記容器に格納された消耗品を用いた累積印刷枚数であるページカウント、前記容器に格納された消耗品の寿命、前記消耗品の残量、前記感光ドラム及び前記現像器の寿命を示す情報の少なくともいずれかを記憶することを特徴とする請求項６に記載の画像形成装置。
【請求項８】
装着された前記容器から前記識別情報を読み取るまでの時間を設定し、当該時間内に前記識別情報を読み取ることができないタイムアウトが発生すると、前記容器から識別情報が読み取られなかったとすることを特徴とする請求項１乃至７のいずれか１項に記載の画像形成装置。
【請求項９】
前記利用情報を出力する出力手段を更に有することを特徴とする請求項１乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
装着されている前記容器に付与された識別情報の読み取りは、前記容器に格納された消耗品が消費されたことに基づいて実行されることを特徴とする請求項１乃至９のいずれか１項に記載の画像形成装置。
【請求項１１】
前記消耗品はトナーであり、前記容器はトナーカートリッジであることを特徴とする請求項１乃至１０のいずれか１項に記載の画像形成装置。
【請求項１２】
前記容器を収納するカバーが閉じられたことに従って、装着されている前記容器の識別情報の読み取りが行われることを特徴とする請求項１乃至１１のいずれか１項に記載の画像形成装置。
【請求項１３】
消耗品を格納する容器を着脱可能で、且つ、装着された前記容器に付与された識別情報を読み取り可能な画像形成装置を制御する制御方法であって、
装着されている容器の識別情報が読み取られたことに従って、当該読み取られた前記識別情報に紐付けて前記容器に格納された消耗品の利用情報を前記画像形成装置の記憶領域に記憶し、前記装着されている容器の識別情報が読み取られなかったことに従って所定の識別情報に紐付けて前記容器の消耗品の利用情報を前記記憶領域に記憶する工程と、
前記識別情報が読み取られずに前記容器が継続して装着されている状態において、前記容器の識別情報の読取処理が再度行われ、前記装着されている容器の前記識別情報が読み取られたことに従って、前記容器に格納された消耗品の利用情報と紐づけて前記記憶領域に記憶された前記所定の識別情報を、前記容器から読み取られた前記識別情報で更新する更新工程と、
を有することを特徴とする制御方法。
【請求項１４】
コンピュータに、請求項１３に記載の制御方法の各工程を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置とその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
記憶媒体（以下、メモリタグ）を備えたトナー或いはインクカートリッジを装着し、そのインク若しくはトナー等の消耗材を消費する都度、その消費量や印刷枚数等を含む履歴情報をメモリタグに記録する画像形成装置が知られている。これにより、そのカートリッジが別の画像形成装置に装着された時に、その情報を引き継ぐことで、そのカートリッジにおける消耗材の残量を精度よく見積もることが可能となる。更に、カートリッジの装着或いは交換時に、そのカートリッジで印刷した実績や交換日時、カートリッジのシリアル番号（ＩＤ）等を画像形成装置の記憶領域に保持することで、トナーの交換実績を記録する画像形成装置も知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４９８５０４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像形成装置には、画像形成装置のメーカが提供する純正カートリッジの他、他社が提供する他社カートリッジが装着されることがある。しかし、他社カートリッジに含まれる消耗材は、純正カートリッジに含まれる消耗材と同じ特性を必ずしも有しているとは限らない。そのため、他社カートリッジを使った場合は、純正カートリッジを使用した場合と比較して、発色性や色味の再現性に差異が生じる場合がある。
【０００５】
画像形成装置に装着されたカートリッジの交換履歴を消耗品ログとして画像形成装置の本体に記録し、また消耗品ログを印刷することにより、問題発生時の原因分析に活用することが考えられる。しかし、画像形成装置とカートリッジとを接続する接点部が汚れていたり、接触不良の場合には、カートリッジと本体との通信が偶発的に失敗することがある。また、純正カートリッジで採用しているものと異なるメモリタグを他社カートリッジが装着していると、通信タイミング等の違いにより、カートリッジと本体との通信が失敗することが想定される。また他社カートリッジではメモリタグを備えていないものもある。この場合、画像形成装置とカートリッジとの間の通信は必然的に失敗する。画像形成装置とカートリッジとの間で通信エラーが発生した場合、接点不良等に起因する偶発的な通信エラーか、メモリタグが存在しないことに起因する必然的な通信エラーであるかが判別できない。そのため、カートリッジに関連した問題を調査する際、その画像形成装置がどのカートリッジを使用していたのか不明となり、そのような問題に対して十分に対処できないという課題があった。
【０００６】
本発明の目的は、上記従来技術の課題を解決することにある。
【０００７】
本発明の特徴は、消耗品との間で通信エラーが発生した場合に、偶発的な通信エラーか、メモリを備えていないことに起因する通信エラーかに応じて当該消耗品の情報を管理できる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る画像形成装置は以下のような構成を備える。即ち、
画像形成に使用する消耗品を格納する容器を着脱可能で、且つ、装着された前記容器の識別情報を読み取り可能な画像形成装置であって、
装着された前記容器の識別情報が読み取られたことに従って、当該読み取られた前記識別情報に紐付けて前記容器に格納された消耗品の利用情報を前記画像形成装置の記憶領域に記憶し、前記装着されている容器の識別情報が読み取られなかったことに従って所定の識別情報に紐付けて前記容器の消耗品の利用情報を前記記憶領域に記憶する記憶手段と、
前記識別情報が読み取られずに前記容器が継続して装着されている状態において、前記容器の識別情報の読取処理が再度行われ、前記装着されている容器の識別情報が読み取られたことに従って、前記容器に格納された消耗品の利用情報と紐づけて前記記憶領域に記憶された前記所定の識別情報を、前記容器から読み取られた前記識別情報で更新する更新手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、消耗品との間で通信エラーが発生した場合に、偶発的な通信エラーか、メモリを備えていないことに起因する通信エラーかに応じて当該消耗品の情報を管理できるという効果がある。
【００１０】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１１】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態に係る画像形成装置の構成を説明するブロック図。
【図２】実施形態に係る画像形成装置のコントローラボードの構成を説明するブロック図。
【図３】実施形態に係る画像形成装置のプリンタエンジンの構成を説明する断面図。
【図４】実施形態に係る画像形成装置のメインＣＰＵとサブＣＰＵが実行するそれぞれの主プログラムに含まれるソフトウェアモジュールの構成を説明するブロック図。
【図５】実施形態に係る画像形成装置におけるレポート印刷機能を実行するときに操作部の表示部に表示される画面の遷移を説明する図。
【図６】実施形態に係る画像形成装置による消耗品ログの印刷例を説明する図。
【図７】実施形態に係る画像形成装置における消耗品ログ機能の関係を模式化して示す図。
【図８】実施形態に係る画像形成装置の消耗品ログ機能のクラスを説明する図。
【図９】実施形態に係る画像形成装置のＨＤＤに保持される情報の形式を模式図として表わした図。
【図１０】本発明の実施形態１に係る消耗品ログ情報の遷移の一例を示す図。
【図１１】実施形態１に係る画像形成装置におけるイベント受付処理を説明するフローチャート。
【図１２】実施形態１に係る画像形成装置のサブプログラムが実行するイベント受付処理を説明するフローチャート。
【図１３】実施形態１に係る画像形成装置のメインプログラムが主体で実行する印刷処理を説明するフローチャート。
【図１４】実施形態１に係る画像形成装置のメインプログラムが主体で実行する消耗品ログプリント処理を説明するフローチャート。
【図１５】実施形態１に係る画像形成装置のメインプログラムが主体で実行する消耗品の交換検知処理を説明するフローチャート。
【図１６】実施形態１に係る画像形成装置のメインプログラムとサブプログラムとで実行するＳ１５０２のカートリッジ情報の読み込み処理を説明するフローチャート。
【図１７】実施形態１に係る画像形成装置のメインプログラムが実行する消耗品の消費検知処理を説明するフローチャート。
【図１８】実施形態１に係る画像形成装置によるメモリタグの存在確認を行うタイミング例を示す図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
図１は、本発明の実施形態に係る画像形成装置１００の構成を説明するブロック図である。
【００１４】
ＰＣ１５０は、例えば、パーソナルコンピュータで、このＰＣ１５０は、ノート型であってもデスクトップ型であっても良く、或いは、シンクライアントであってもよい。また或いは、携帯電話やスマートフォンを含むモバイル端末であってもよい。ＰＣ１５０としては、任意の情報処理装置を採用することができる。ＰＣ１５０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信インタフェースを介して画像形成装置１００と接続されている。ＰＣ１５０と画像形成装置１００は、ネットワークケーブルによって直接接続する形態の他、ネットワークハブを介して間接的に接続されても良い。また或いは、インターネットやイントラネット等を介して間接的に接続されてもよい。画像形成装置１００とＰＣ１５０の間を有線のネットワークケーブルで接続する他、無線によって接続してもよい。ＰＣ１５０で動作するアプリケーションは、印刷で使用する用紙のサイズや用紙種別といった印刷設定や、図形や文字を描画するコマンドを、同じくＰＣ１５０上で動作するプリンタドライバに与える。これによりプリンタドライバは、その印刷設定や描画コマンドに基づいて印刷ジョブを作成し、その印刷ジョブを画像形成装置１００に送信して印刷させる。
【００１５】
画像形成装置１００は、操作部１０１、コントローラボード（制御部）１０２、電源ユニット１０３、ハードディスク装置（ＨＤＤ）１０４、プリンタエンジン１０５を有する。また画像形成装置１００には、それぞれ用紙を収容するオプションカセット１１１，１１２，１１３が設けられて。また、これらオプションカセット等の給紙段の他に、大量の用紙を収容できるデッキなどを更に接続してもよい。コントローラボード１０２は、各部に指示を出すことにより画像形成装置１００全体の動作を制御している。このコントローラボード１０２の詳細は、図２を参照して詳しく後述する。
【００１６】
操作部１０１は、画像形成装置１００に対するユーザの指示を受け付け、また画像形成装置１００の状態をユーザに通知する。操作部１０１は、指示を受け付けるための上ボタン１２１、実行ボタン１２２、下ボタン１２３、状態を通知するための表示部１２４を備える。上ボタン１２１、下ボタン１２３は表示部１２４の画面でカーソルを上下方向に移動させて項目を選択するための操作ボタンである。実行ボタン１２２は、カーソルで指示されている項目を選択、或いは実行させるための操作ボタンである。尚、この操作部１０１にタッチパネル機能を設けることにより、表示部１２４に表示されている項目をユーザが直接タッチすることで、所望の機能や指示を入力するようにしても良い。また音声入力などによる操作指示を受け付ける手段等を設けても良い。
【００１７】
ＨＤＤ１０４は、コントローラボード１０２のＣＰＵ２０１（図２）により実行されるプログラムを記憶しており、またＰＣ１５０から受信した印刷ジョブ等を一時的に格納するのに使用される。更に、ＨＤＤ１０４は、印刷ジョブに基づいてレンダリングした画像データをプリンタエンジン１０５で印刷する前に一時的に保持するのにも使用される。尚、ＨＤＤ１０４は、例えばソリッドステートドライブ（ＳＳＤ）等のストレージモジュールによって実現しても良い。
【００１８】
電源ユニット１０３は、商用のＡＣ電源に接続され、コントローラボード１０２やプリンタエンジン１０５に電力を供給するための電源である。プリンタエンジン１０５は、コントローラボード１０２から指示された印刷設定に従って給紙段から用紙を給紙し、コントローラボード１０２から供給された画像データに従って、その用紙に画像を印刷する。プリンタエンジン１０５は、オプションカセット１１１〜１１３を制御でき、画像形成装置としては一体として動作する。これらの詳細は図３を参照して説明する。
【００１９】
ＵＳＢメモリ１３０は、例えば印刷ジョブを格納するために使用される。この画像形成装置１００のユーザは、印刷ジョブを保存しているＵＳＢメモリ１３０を画像形成装置１００に装着し、操作部１０１から指示を与えることにより、その保存されている印刷ジョブによる印刷処理を実行させる形態をとることもできる。この場合、操作部１０１で行われた印刷設定に基づいて画像形成装置１００で印刷ジョブが生成される。尚、実施形態に係る画像形成装置１００は、印刷機能に特化したプリンタに限られるものではなく、例えばスキャナ機能やＦＡＸ機能なども有する複合機であってもよい。
【００２０】
また、コントローラボード１０２とプリンタエンジン１０５とが別の筐体に分かれている構成を採ることもできる（所謂、プリンタサーバを伴う画像形成システムの構成）。またコントローラボード１０２の担う機能の一部をクラウドサービス上のサーバが担う構成でもよい。またＰＣ１５０がコントローラボード１０２に相当する機能を担い、画像形成装置１００はプリンタエンジン１０５の制御に特化している構成でもよい。
【００２１】
図２は、実施形態に係る画像形成装置１００のコントローラボード１０２の構成を説明するブロック図である。尚、このコントローラボード１０２には、チップセット、バスブリッジ、クロックジェネレータ等のＣＰＵ周辺のハードウェアが多数含まれているが、説明が煩雑となるため、本図では省略して示している。
【００２２】
コントローラボード１０２には、ＳＯＣ２００、ＲＯＭ２０２、不揮発性メモリ２０３、ＵＳＢコントローラ２０４、ディスクコントローラ２０５、ネットワークコントローラ２０６、リセット回路２０８、ＲＡＭ２５０が含まれる。更に、コントローラボード１０２には、電源監視Ｈ／Ｗ（ハードウェア）２２２、画像処理プロセッサ２２３、デバイスコントローラ２２４も含まれる。
【００２３】
ＳＯＣ２００はＳｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ技術で実装される集積回路であり、ＣＰＵ２０１とＣＰＵ２２１とを有する。ＳＯＣ２００に含まれるＣＰＵ２０１とＣＰＵ２２１は内部バスを通して、種々の情報を共有・送信することができる。ＣＰＵ２０１はネットワークコントローラ２０６を介してデータを送受信したり、そのデータを処理したりするためのメインＣＰＵである。一方、ＣＰＵ２２１は、プリンタエンジン１０５をリアルタイムで制御するためのサブＣＰＵである。尚、本実施形態では、２つのＣＰＵに処理を分担させる構成で説明するが、必ずしもこの制約に縛られるものではなく、例えば１つのＣＰＵによって実現したり、３つ以上のＣＰＵによって実現する構成であっても良い。
【００２４】
ＣＰＵ２０１は、ＳＯＣ２００に含まれる各モジュールを制御するための中央演算処理装置である。ＲＯＭ２０２は、ＣＰＵ２０１の初期プログラムを記憶している。ＲＯＭ２０２には、画像形成装置１００に電源投入した直後にＣＰＵ２０１によって読出されて実行される初期プログラム（ブートプログラム）が格納されている。この初期プログラムには、ＣＰＵ２０１がＨＤＤ１０４からプログラムを読み出してＲＡＭ２５０に展開するのに必要な命令が含まれている。不揮発性メモリ２０３は、画像形成装置１００の設定情報や、印刷に関連するカウンタ情報などを記憶している。不揮発性メモリ２０３は、画像形成装置１００の電源が切断されても情報を保持し、再度電源が投入されるとＣＰＵ２００は不揮発性メモリ２０３にアクセスして、電源断前の値を参照することができる。ＵＳＢコントローラ２０４は、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓで接続されたデバイス（ここではＵＳＢメモリ１３０）との通信を制御する。実施形態では、ＵＳＢメモリ１３０に対するデータの入出力を制御している。別の形態としては、ＰＣ１５０と画像形成装置１００をＵＳＢケーブルで接続し、画像形成装置１００がＵＳＢコントローラ２０４で入出力を制御することで、ＰＣ１５０の周辺機器として動作することもできる。ディスクコントローラ２０５は、ＨＤＤ１０４との間の入出力を制御する。ネットワークコントローラ２０６は、ネットワークケーブルを介してＰＣ１５０との間でデータの入出力を行う。尚、ネットワークコントローラ２０６は、前述したように、有線によってＰＣ１５０と接続するほか、無線によって接続する形態をとることもできる。リセット回路２０８は、コントローラボード１０２のハードウェア（Ｈ／Ｗ）をリセットするための回路である。
【００２５】
ＣＰＵ２２１は、ＳＯＣ２００に含まれる各モジュールを制御するための中央演算処理装置である。電源監視Ｈ／Ｗ２２２は、この画像形成装置１００の電源制御を監視している。ＣＰＵ２２１が正常に動作できる場合、ＣＰＵ２２１の指示に従い、リセット回路２０８を介して画像形成装置１００全体にリセットを掛けることが可能である。また、ＣＰＵ２２１に電源が供給されていない状態では、不図示の電源スイッチの入力に従ってコントローラボード１０２の電源を投入することができる。電源監視Ｈ／Ｗ２２２を、別のＣＰＵによって動作する更に小規模なシステムによって実現しても良い。画像処理プロセッサ２２３は、リアルタイムでデジタル画像処理を行う。例えば、画像処理プロセッサ２２３は、印刷ジョブを解析して得られたＤｉｓｐｌａｙＬｉｓｔ（中間データ）を、コントーン画像に変換する画像処理を行う。また、画像処理プロセッサ２２３はコントーン画像を基にプリンタエンジン１５０で印刷可能なハーフトーンで表現された画像データを生成するディザリング処理をするための画像処理を行う。また画像処理プロセッサ２２３は、画像データを面順次に並び変える処理も行う。そのほか、また画像プロセッサ２２３はコントーン画像に対して、ユーザにとって望ましい色味に調整する画像処理を行ってもよい。この画像処理プロセッサ２２３は、ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）によって実現できる。或いは、画像処理プロセッサ２２３は、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）によっても実現できる。尚、実施形態では、画像処理プロセッサ２２３によってリアルタイムデジタル画像処理を行う前提で説明する。これに対して、ＣＰＵ２０１やＣＰＵ２２１でその一部或いは全部を担う構成で実現しても良い。デバイスコントローラ２２４は、プリンタエンジン１０５とのインタフェースを制御している。ＲＡＭ２５０は、ＣＰＵ２０１とＣＰＵ２２１のそれぞれからアクセス可能な主記憶メモリである。画像形成装置１００の電源が投入されると、ＣＰＵ２０１は、ＲＯＭ２０２の初期プログラムをＲＡＭ２５０に展開する。そしてＣＰＵ２０１は、ＲＡＭ２５０に展開した初期プログラムを実行してＨＤＤ１０４に格納されたＣＰＵ２０１とＣＰＵ２２１のための主プログラムをＲＡＭ２５０に展開する。そしてＣＰＵ２０１とＣＰＵ２２１はＲＡＭ２５０に展開されたそれぞれのプログラムを実行することにより、画像形成装置１００としての機能を実現している。その他、ＲＡＭ２５０は、初期プログラムや主プログラムを実行する際の一時的なワークメモリとしても用いられる。
【００２６】
尚、実施形態では、ＣＰＵ２０１とＣＰＵ２２１でＲＡＭ２５０を共有する形態に基づいて説明をしているが、その他ＣＰＵ２０１専用のＲＡＭやＣＰＵ２２１専用のＲＡＭを別に設ける形態で実現することもできる。また実施形態では、不揮発性メモリ２０３やＵＳＢコントローラ２０４、ディスクコントローラ２０５、ネットワークコントローラ２０６をＣＰＵ２０１で制御する構成で説明しているが、この一部或いは全部をＣＰＵ２２１で制御する構成であっても良い。
【００２７】
図３は、実施形態に係る画像形成装置１００のプリンタエンジン１０５の構成を説明する断面図である。図３（Ａ）は画像形成装置１００全体の断面図、図３（Ｂ）は画像形成ユニット３０３の断面図、そして図３（Ｃ）はドラム周辺を拡大して示す断面図である。尚、ここでは、プリンタエンジン１０５は、イエロー、マゼンタ、シアン、ブラックの４色のトナーによってカラー印刷できるプリンタエンジンとして説明している。しかし、ブラックトナー１色、或いは、レッドやブルー、グレイなどのトナーも併用して、表現できる色空間をより豊かにしたプリンタエンジン、或いは、クリアトナーを併用して印刷物の表面に質感を多彩に表現できるリンタエンジンであっても良い。
【００２８】
この画像形成装置１００には、上述のオプションカセット１１１〜１１３に加えて、給紙カセット３０２が設けられており、これら給紙カセット３０２とオプションカセット１１１〜１１３は同等に扱われる。また給紙トレイ３０１は、用紙を手差しで給紙するための給紙トレイである。このプリンタエンジン１０５には、電子写真プロセスにより用紙上にトナーで画像を形成する画像形成ユニット３０３、定着ローラ３０８と加圧ローラ３０９を含み、用紙上のトナーを定着するための定着器ユニットとが含まれる。また、後述するメモリタグと通信するためのメモリタグインタフェース３３０ａ〜３３０ｄ（図３（Ｂ））が含まれる。給紙カセット３０２やオプションカセット１１１〜１１３から給紙するときの用紙の搬送パスは、片面印刷であればＰ１、Ｐ２、Ｐ３の順である。また両面印刷であれば、Ｐ１、Ｐ２、Ｐ３の順に搬送され、Ｐ３の後にスイッチバックしてＰ６、Ｐ２、Ｐ３の順に搬送されて機外へ排出される。３０４は排紙トレイである。
【００２９】
次に図３（Ｂ）（Ｃ）を参照して画像形成ユニット３０３の構成について説明する。
【００３０】
トナーカートリッジ３１０ａ〜ｄは、それぞれイエロー、マゼンタ、シアン、ブラックのトナーカートリッジである。ここでａ〜ｄは、イエロー、マゼンタ、シアン、ブラック用の転写ローラ、トナーカートリッジの構成及びメモリタグインタフェースの構成に対応している。従って、以下の説明では、イエローに対応する構成で説明するが、その他の色の構成に関しても同様にして実現されているため、それら他の色の構成に関する説明を省略する。
【００３１】
トナーカートリッジ３１０ａは、帯電ローラ３１１ａを含む帯電器と、現像ローラ３１１ａを含む現像器と、感光ドラム３１２ａ、メモリタグ３１４ａ、トナー残量センサ３１５ａとを有している。帯電器は、コントローラボード１０２から送信されたイエローの画像データに基づいて感光ドラム３１２ａに静電潜像を形成し、現像器は、感光ドラム３１２上のイエローの画像を現像する。メモリタグ３１４ａは、このカートリッジのトナー（消耗材）の使用実績などの情報を記憶している。尚、このメモリタグ３１４ａは、シリアル通信で接続するフラッシュメモリ、或いは近距離無線通信で接続可能なマイコンでも実現できる。この場合、そのマイコンがコマンドを受け取った後、そのマイコンと接続されているフラッシュメモリに対して書き込みや読み込みが行われる。
【００３２】
感光ドラム３１２ａ上で現像されたイエローの画像は、一次転写ローラ３０７ａにより中間転写ベルト３０６に転写される。他の色の画像も同様にして、各対応する転写ローラ３０７ｂ〜３０７ｄにより転写ベルト３０６上に重畳して転写される。こうして中間転写ベルト３０６上で形成されたカラー画像は、不図示の二次転写ローラにより、給紙カセットなどから給紙された用紙に転写される。
【００３３】
尚、トナーカートリッジ３１０ａ〜ｄは、印刷制御のためのプリンタエンジン１０５とのインタフェースと、メモリタグ通信のためのプリンタエンジン１０５とのインタフェースがそれぞれ独立して実装されていても良い。また或いは、印刷制御のためのプリンタエンジン１０５とのインタフェースを介して、メモリタグと間接的に通信できるように構成されていても良い。
【００３４】
トナー残量センサ３１５ａは、トナーカートリッジ３１０ａ内のトナーの残量を検知するためのセンサで、例えば光学センサや超音波センサによって実現できる。トナー残量センサ３１５ａは、他の種々のセンサを用いて構成されても良い。
【００３５】
次に、印刷時のプリンタエンジン１０５の制御について概略を説明する。
【００３６】
プリンタエンジン１０５は、コントローラボード１０２からの指示に従って、コントローラボード１０２から送信された画像データに基づいて感光ドラム３１３ａ〜ｄ上で画像を現像し、中間転写ベルト３０６に重畳して転写する。プリンタエンジン１０５は、給紙カセット３０２、１１１〜１１３のいずれかから用紙を給紙し、中間転写ベルト３０６に一次転写されたトナー画像を、Ｐ１を経由してＰ２を搬送中の用紙に二次転写する。そしてプリンタエンジン１０５は、そのトナー画像が転写された用紙を定着ローラ３０８と加圧ローラ３０９を有する定着器に搬送してトナーを用紙の表面に定着させる。そして最後にプリンタエンジン１０５は、トナー像を定着した用紙をＰ３を経由して排紙トレイ３０４へ排出する。またプリンタエンジン１０５は、各給紙カセットに設けられた用紙残量センサによって、各対応する給紙カセットに収容されている用紙の残量を検知できる。
【００３７】
図４は、実施形態に係る画像形成装置１００のメインＣＰＵ２０１とサブＣＰＵ２２１が実行するそれぞれの主プログラムに含まれるソフトウェアモジュールの構成を説明するブロック図である。ＣＰＵ２０１は、ＲＡＭ２５０に展開されたメインプログラム４００を実行し、ＣＰＵ２２１は、ＲＡＭ２５０に展開されたサブプログラム４３０を実行する。
【００３８】
メインプログラム４００は、メインジョブ制御部４０１、印刷ジョブ受信部４０２、記憶装置制御部４０３、印刷ジョブ解析部４０４、ユーザ操作受付部４０５、消耗品ログ管理部４０６、印刷ジョブ生成部４０７を含む。メインジョブ制御部４０１は、印刷ジョブを実行するために必要な各ソフトウェアモジュールを制御し、各モジュールに対して必要な情報を通知するとともに、サブプログラム４３０との通信を行う。印刷ジョブ受信部４０２は、ネットワークコントローラ２０６或いは記憶装置制御部４０３、印刷ジョブ生成部４０７から印刷ジョブを受信し、記憶装置制御部４０３を介してＨＤＤ１０４に格納する。記憶装置制御部４０３は、ＵＳＢコントローラ２０４及びディスクコントローラ２０５を制御し、ＵＳＢメモリ１３０やＨＤＤ１０４とのデータ送受信制御を行う。印刷ジョブ解析部４０４は、印刷ジョブを解析して中間データを作成する。ユーザ操作受付部４０５は、操作部１０１を介したユーザの操作により、各給紙段の用紙サイズや用紙種別といった設定などを受け付ける。消耗品ログ管理部４０６は、カートリッジの使用実績を、後述する消耗品ログ情報や、消耗品ログ記録として記録する。印刷ジョブ生成部４０７は、消耗品ログ情報の内容に基づいて、消耗品ログを印刷する印刷ジョブを生成する。尚、その他に上記の各給紙段の用紙サイズや用紙種別といった設定情報などをレポートとして印刷するジョブを生成する機能などを有していても良い。
【００３９】
サブプログラム４３０は、サブジョブ制御部４３１、電源制御部４３２、画像処理制御部４３３、デバイス制御部４３４を含む。サブジョブ制御部４３１は、印刷ジョブを実行するために必要な各ソフトウェアモジュールを制御し、各モジュールに対して必要な情報を通知するとともに、メインプログラム４００との通信を行う。電源制御部４３２は、電源監視Ｈ／Ｗ２２２を制御する。画像処理制御部４３３は、印刷用の画像データを生成するために画像処理プロセッサ２２３を制御する。デバイス制御部４３４は、印刷用の画像データに従って用紙に画像を印刷するためにプリンタエンジン１０５を制御する。
【００４０】
尚、実施形態では、サブプログラム４３０がデバイス制御部４３４を有しているが、プリンタエンジン１０５に更に専用のＣＰＵを設け、プリンタエンジン１０５のデバイス制御部と通信して後述する処理を実施するようにしても良い。
【００４１】
図５は、実施形１に係る画像形成装置１００におけるレポート印刷機能を実行するときに操作部１０１の表示部１２４に表示される画面の遷移を説明する図である。
【００４２】
画像形成装置１００が起動すると、ユーザ操作受付部４０５は、表示部１２４にジョブ待ち画面５００を表示する。このジョブ待ち画面５００を表示中に、ユーザ操作受付部４０５が上ボタン１２１が押されたことを検知すると、表示部１２４の表示を設定メニュー画面５３０に遷移させる。またジョブ待ち画面５００を表示中に、ユーザ操作受付部４０５が下ボタン１２３が押されたことを検知すると、表示部１２４の表示をユーティリティ画面５１０に遷移させる。更に、ジョブ待ち画面５００を表示中に、ユーザ操作受付部４０５が上ボタン１２１と下ボタン１２３とが交互に１０回されたことを検知すると、表示部１２４の表示をサービスモード画面５５１に遷移させる。
【００４３】
ユーティリティ画面５１０の表示開始時は、カーソルが「カウンタ確認」に位置している。この状態で下ボタン１２３が押されたことを検知すると、ユーティリティ画面５１０で示すように、ユーザ操作受付部４０５はその下の「消耗品確認」にカーソルを移動させる。そして、この状態でユーザ操作受付部４０５が実行ボタン１２２が押されたことを検知すると、表示部１２４の表示を消耗品確認画面５１１に遷移させる。この消耗品確認画面５１１の表示開始時は、「消耗品ログプリント」の位置にカーソルが位置している。この状態で実行ボタン１２２が押下されると消耗品ログプリント画面５１２に遷移する。この消耗品ログプリント画面５１２では、「＜実行＞」の行にカーソルが位置している。この状態で実行ボタン１２２が押されると、ユーザ操作受付部４０５は、印刷ジョブ生成部４０７に消耗品ログプリントの実行を指示するとともに、「実行しました」画面５１３に遷移する。このとき印刷ジョブ生成部４０７が消耗品ログプリントの印刷ジョブを生成し、印刷ジョブ解析部４０４が、消耗品ログプリントの印刷ジョブを解析し始めると、ユーザ操作受付部４０５は、表示部１２４の表示を「印刷中です」画面５２１に遷移させる。そして、印刷ジョブ解析部４０４が消耗品ログプリントの印刷ジョブの解析を完了し、デバイス制御部４３４がプリンタエンジン１０５を制御して消耗品ログの印刷を終了する。これによりユーザ操作受付部４０５は、表示部１２４の表示を消耗品ログプリント画面５１２に遷移させる。
【００４４】
また、サービスモード画面５５１の表示開始時は、カーソルが「消耗品ログ（詳細）」に位置している。この状態で実行ボタン１２２が押されると、ユーザ操作受付部４０５は、表示部１２４の表示を消耗品ログ（詳細）画面５５２に遷移させる。この消耗品ログ（詳細）画面５５２が表示されたときは、カーソルが「＜実行＞」の行に位置している。この状態で実行ボタン１２２が押されると、ユーザ操作受付部４０５は、印刷ジョブ生成部４０７に消耗品ログプリント（詳細）の実行を指示するとともに、「実行しました」画面５３３に遷移する。これにより印刷ジョブ生成部４０７が、消耗品ログ（詳細）プリントの印刷ジョブを生成し、印刷ジョブ解析部４０４が消耗品ログ（詳細）プリントの印刷ジョブを解析し始める。そしてユーザ操作受付部４０５は、表示部１２４の表示を「印刷中です」画面５５４に遷移させる。そして印刷ジョブ解析部４０４が消耗品ログ（詳細）プリントの印刷ジョブを解析を完了し、デバイス制御部４３４がプリンタエンジン１０５を制御して消耗品ログ（詳細）の印刷を終了する。これによりユーザ操作受付部４０５は、表示部１２４の表示を消耗品ログ（詳細）画面５５２に遷移させる。
【００４５】
尚、これら画面の遷移は、あくまでも一例を示すもので、メニュー階層や表示されるメッセージの文言の違い、画面を構成する画像などは本発明の本質的な問題とは関係がなく、適宜、任意の構成を適用しても良い。例えば、サービスモード画面５５１に、消耗品ログプリント機能を実行できる、例えば消耗品の項目を含ませても良い。
【００４６】
図６は、実施形態に係る画像形成装置１００による消耗品ログの印刷例を説明する図である。実施形態では、前述したように、消耗品ログプリントと消耗品ログ（詳細）プリントの２種類の消耗品ログの印刷例がある。尚、この消耗品ログの印刷例はあくまでも一例であり、例えばいずれか１種類のみであっても、更に３種類以上のログ印刷が可能であっても良い。
【００４７】
図６（Ａ）は、一般ユーザの指示による簡易版の消耗品ログの一例である、カートリッジの交換ログの印刷例を示す図である。図６（Ｂ）は、サービスマンの指示により印刷される詳細版の消耗品ログ（詳細）の一例である、カートリッジの交換ログの印刷例を示す図である。尚、ここでは複数色のトナーカートリッジを装着できる画像形成装置１００での印刷例を示しているため、１ページ内にＹ，Ｍ、Ｃ、Ｋ各カートリッジの消耗品ログを印刷した例で示している。これに対して、モノクロエンジンの画像形成装置の場合は、１ページに、Ｋカートリッジの消耗品ログ情報のみを印刷する。また色ごとに１ページを割り付けるレイアウト等を用いても良い。
【００４８】
この消耗品ログプリントでは、１レコード当たりの情報量が抑えられるので、用紙を節約するために２カラムで印刷する。図６（Ｃ）は、消耗品ログプリントの一例を示す図である。図６（Ｃ）において、左から、カートリッジのシリアル番号、カートリッジのサイズ、使用開始情報、最新利用情報、そしてカートリッジの種別情報が含まれる。使用開始情報と最新利用情報には、その日時、そのカートリッジを用いて印刷したページの累積枚数であるページカウント、そして残量が含まれている。
【００４９】
ここでカートリッジのシリアル番号は、８桁の整数値で表わされるカートリッジ固有の番号である。カートリッジのサイズ情報で、「スタータ」はスターターカートリッジ、「標準」は標準サイズのカートリッジ、「ラージ」は大容量のカートリッジ、「不明」は容量サイズが不明のカートリッジであることを表わしている。カートリッジの残量は、カートリッジのトナーの残量、ドラム、現像器の寿命を基に計算した結果であり、１００％は新品、０％は寿命に到達していて使用不可を表わす。カートリッジの種別は、「純正」は純正カートリッジ、「ＯＥＭ」はＯＥＭカートリッジ、「タグ無」はタグ無しカートリッジ、「コピータグ」はコピータグカートリッジを表わしている。
【００５０】
消耗品ログ（詳細）プリントでは、１レコードあたりの情報量が多いため、１カラムで印刷する。図６（Ｄ）は、消耗品ログ（詳細）プリントの一例を示す図である。ここでは使用開始情報と最新利用情報に対して、図６（Ｃ）に対して更に加えて、トナー、ドラム、現像器の寿命及び残量情報が印刷されている。
【００５１】
図７は、実施形態に係る画像形成装置１００における消耗品ログ機能の関係を模式化して示す図である。
【００５２】
最初に消耗品ログ更新の流れを説明する。印刷ジョブ解析部４０４からの印刷指示に基づいて印刷処理が行われる。このとき７２１で、デバイス制御部４１４から消耗品の消費検知或いは消耗品の交換検知を行う。これによりメインジョブ制御部４０１は７２２で、消耗品ログ情報レコード追加及び更新の依頼を、消耗品ログ管理部４０６に通知する。そして消耗品ログ管理部４０６は７２３で、ＲＡＭ２０５の消耗品ログ情報７０１〜７０４のレコードを追加、更新する。このとき同時に、エラータグが備わったカートリッジの累積使用回数や、タグの無いカートリッジの累積使用回数を、カートリッジ累積使用回数情報７０５に記録又は更新する。また消耗品ログ管理部４０６は７２４で、ＨＤＤ１０４の消耗品ログ記録７１１〜７１４のレコードを追加・更新する。このとき同時に、エラータグの備わったカートリッジの累積使用回数や、タグの無いカートリッジの累積使用回数を、カートリッジ累積使用回数記録７１５に記録又は更新する。
【００５３】
消耗品ログ情報７０１〜７０４やカートリッジ累積使用回数情報７０５は、ＲＡＭ２０５に保持されていて、高速にアクセス可能である半面、電源断時に情報が失われる。一方、消耗品ログ記録７１１〜７１４やカートリッジ累積使用回数７１５は、ＨＤＤ１０４に保持されているため、電源断時にも保持される半面、アクセス速度は遅い。消耗品ログ管理部４０６は、このように二種類の記憶装置を併用して記憶することにより、アクセス速度と電源断後の情報の保持とを両立させている。尚、ここではＨＤＤ１０４に情報を保持しているが、例えば不揮発性メモリ２０３に保持してもよい。この場合は更に、ＲＡＭ２０５をキャッシュメモリとして用いることで、不揮発性メモリ２０３の書き込み回数を抑制できる効果もある。
【００５４】
次に、消耗品ログプリント実行の流れを説明する。７２５で、ユーザからの消耗品ログのプリント指示をユーザ操作受付部４０５が受け取ると、ユーザ操作受付部４０５は、印刷ジョブ生成部４０７に対して、消耗品ログプリントの印刷ジョブの生成を指示する。これにより印刷ジョブ生成部４０７は７２７で、消耗品ログ管理部４０６に対して、消耗品ログ情報の取得を要求する。これにより消耗品ログ管理部４０６は７２８で、ＲＡＭ２０５の消耗品ログ情報７０１〜７０４を取得して印刷ジョブ生成部４０７に通知する。これにより印刷ジョブ生成部４０７は印刷ジョブを生成し、７２９で消耗品ログプリントジョブとしてメインジョブ制御部４０１に送信する。こうしてメインジョブ制御部４０１は７３０で、印刷ジョブ受信部４０２に新たな印刷ジョブが来たことを通知する。そして印刷ジョブ受信部４０２は７３１で、印刷ジョブ解析部４０４に対して消耗品ログプリントジョブの解析処理を指示する。そしてこれ以後の印刷処理は、通常の印刷ジョブの場合と同等であるため、その説明を省略する。
【００５５】
このように、ユーザからの印刷指示に基づいて、印刷ジョブ生成部４０７が中心となって、消耗品ログプリントのための印刷ジョブの生成と印刷処理が行われる。
【００５６】
図８は、実施形態に係る画像形成装置１００の消耗品ログ機能のクラスを説明する図である。図８では前述の図と共通する部分は同じ参照番号で示している。
【００５７】
メインジョブ制御部４０１は、コピータグのシリアル番号リスト８５１を有する。コピータグのシリアル番号リスト８５１は、市場に流通しているコピータグのシリアル番号のリストであり、静的な情報であっても、動的に更新可能な情報であってもよい。本実施形態では、メモリタグから情報の読み込みができ、かつ、トナー残量情報に矛盾が無く、リフィルされた形跡が無いカートリッジであっても、このリストに記載されているシリアル番号を持つカートリッジにはコピータグが装着されているものとみなす。
【００５８】
消耗品ログ管理部４０６は、消耗品ログ情報の取得関数、消耗品ログ情報の追加・更新関数、消耗品ログ記録のストアやロードを行う関数を備える。また消耗品ログ管理部４０６は、消耗品ログ情報７０１〜７０４や消耗品ログ記録７１１〜７１４、カートリッジ累積使用回数情報７０５、カートリッジ累積使用回数記録７１５を保持する。消耗品ログ情報７０１〜７０４、及び、消耗品ログ記録７１１〜７１４は、消耗品ログ構造８１１を継承する。消耗品ログ情報７０１〜７０４は、消耗品ログ情報を取得する関数、レコードを追加・更新する関数を備える。また消耗品ログ記録７１１〜７１４は、ＨＤＤ１０４から消耗品ログに関する情報をロードしたり、ＨＤＤ１０４にストアする関数を有する。これにより、消耗品ログ記録７１１〜７１４に保持されている情報が消耗品ログ情報７０１〜７０４に復元されたり、或いは、消耗品ログ情報７０１〜７０４に保持されている情報を消耗品ログ記録７１１〜７１４として記録することができる。
【００５９】
消耗品ログ構造８１１は、消耗品ログ情報７０１〜７０４及び消耗品ログ記録７１１〜７１４で共通の情報を管理するクラスであり、複数のレコード情報８１２を有する。１つのレコード情報には、発生日時、カートリッジのシリアル番号、カートリッジの累積印刷枚数を示すページカウントの情報を有する。このレコード情報は更に、カートリッジの残量、トナー残量、ドラム寿命、現像器の寿命等の情報も有する。更に、このレコードが追加された時のイベント種別８２１、備わっているメモリタグの種別を表すタグ種別８２２、カートリッジのサイズを示すサイズ種別８２３を有する。イベント種別８２１は、カートリッジの装着時に追加したレコードであるか、消費時に追加したレコードであるかを示す。タグ種別８２２は、純正タグ、ＯＥＭタグ、エラータグ、コピータグ、タグ無しのいずれかを含む。ここで純正タグは、画像形成装置のメーカが供給しているカートリッジに装着されたメモリタグを示す。ＯＥＭタグは、それ以外のＯＥＭとして販売しているメーカが供給しているカートリッジに装着されたメモリタグを示す。エラータグは、トナーの残量情報と使用不可情報（トナーアウト情報）との間で矛盾が生じているメモリタグを示す。タグなしは、カートリッジにタグが装着されていない場合を示す。またコピータグは特殊なメモリタグで、純正メモリタグやＯＥＭタグに保持されている情報をコピーして作成されたタグを示す。実施形態では、これらを識別して情報を収集することにより、調査に必要な情報を確実に得ることができる。サイズ種別８２３は、スタータサイズか、標準サイズであるか、大容量サイズであるかを示す。上述のカートリッジの分類は、あくまでも１つの例であり、更に異なる情報を有していてもよい。
【００６０】
カートリッジ累積使用回数情報７０５と、カートリッジ累積使用回数記録７１５は、累積使用回数構造８３１を継承する。カートリッジ累積使用回数情報７０５は、それぞれのカートリッジの累積使用回数を取得し、また更新する関数を備える。カートリッジ累積使用回数記録７１５は、ＨＤＤ１０４からカートリッジ累積使用回数に関する情報をロードしたり、ＨＤＤ１０４にストアする関数を有する。これにより、カートリッジ累積使用回数情報７０５をカートリッジ累積使用回数記録７１５に記録したり、カートリッジ累積使用回数記録７１５の累積使用回数に関する情報を、カートリッジ累積使用回数情報７０５に復元することができる。累積使用回数構造８３１は、この画像形成装置１００で使用されたカートリッジの累積使用回数を管理するためのクラスである。実施形態では、エラータグカートリッジが使われた回数と、タグ無しカートリッジが使われた回数とを記録している。
【００６１】
デバイス制御部４３４は、給紙や印刷といった機能のほか、カートリッジの情報を取得する機能を有する。その他、印刷した際にその印刷条件に基づいて、カートリッジに含まれる各消耗部品の寿命や残量を更新する処理も行うが、その詳細については割愛する。
【００６２】
プリンタエンジン１０５は、デバイス制御部４３４からの指示に従って給紙や印刷等を実行する。また、カートリッジ情報の取得や寿命や残量などの更新機能も有する。トナーカートリッジ３１０ａ〜ｄは、カートリッジサイズ情報を有する。即ち、そのカートリッジがスタータサイズであるか、標準サイズであるか、大容量サイズであるかを情報として有する。尚、例えばカートリッジサイズは、印刷可能枚数で表現したり、或いは消耗材量という形で表現することもできる。またトナーカートリッジ３１０ａ〜ｄは、シリアル番号を取得する機能を有する。累積印刷枚数であるページカウントや、カートリッジ本体、トナー、ドラム、現像器といった部品の寿命や残量を取得したり、更新する機能を有する。またトナーアウトやトナーロー（トナー量が所定量以下）が発生しているかを示すフラグを取得したり、更新する機能を有する。ここでトナーアウトとは、そのカートリッジにおいて消耗材の残量が「０」になった場合にフラグをオンし、そのカートリッジでは印刷を継続できないことを示す。トナーローとは、消耗材の残量が一定量未満となった場合にフラグをオンし、そのカートリッジは交換準備が必要であることを示す。またトナーカートリッジ３１０ａ〜ｄは、メモリタグ３１４ａ〜ｄを有する。メモリタグ３１４ａ〜ｄは、トナーカートリッジのシリアル番号や、累積印刷枚数であるページカウント、カートリッジの寿命、トナー、ドラム、現像器の寿命や残量を示す情報を保持する。またトナーアウト情報、トナーローの情報も有する。トナーカートリッジ３１０ａ〜ｄは更に、トナー残量センサ３１５ａ〜ｄも有する。
【００６３】
図９は、実施形態に係る画像形成装置１００のＨＤＤ１０４に保持される情報の形式を模式図として表わした図である。
【００６４】
カートリッジ累積使用回数記録７１５を含むヘッダ部分と、消耗品ログ記録７１１〜７１４を含むボディ部分を含んでいる。
【００６５】
図９（Ａ）はヘッダ部分を示し、このヘッダ部分は、マジックナンバー９０１、カートリッジ各色のデータ数９０２、累積使用回数記録９０３とを有している。マジックナンバー９０１は、当該情報が正しく格納されているかを判断するための情報である。これに該当しない情報が記載されていた場合には未初期化であると判断する。また、このマジックナンバー９０１にバージョン情報を載せることで、将来機能拡張をした場合に旧バージョンの情報が記録されているのか、新バージョンの情報が記録されているのかを判別する情報として活用してもよい。ここではシンプルに「ＣＲＧ−ＬＯＧ」という文字列がマジックナンバーとして保持されているものとする。
【００６６】
ヘッダ部分に含まれるカートリッジ各色のデータ数９０２は、イエロー、マゼンダ、シアン、ブラックの４色分のレコード情報８１２の数である。またカートリッジ累積使用回数９０３は、この画像形成装置１００でエラータグカートリッジが使用された回数の累計、及び、タグ無しカートリッジが使用された回数の累計を保持する。その他の領域は予約領域である。
【００６７】
図９（Ｂ）はボディ部分を示し、レコード情報８１２を意味するレコードの配列によって表現される。レコードは、レコードのイベントタイプ情報、カートリッジの寿命（残量）、トナー残量、ドラム寿命、現像器寿命を含む。またレコードは、そのレコードを追加した時の日時情報、タグ種別情報、サイズ情報、カートリッジのページカウント情報、カートリッジのシリアル番号情報も含む。尚、以下の説明では、プログラミングで用いる表現方法に従い、配列の先頭を０バイト目という表記を用いて、説明する。また、「０ｘ」というｐｒｅｆｉｘを用いて１６進数であることを示す。
【００６８】
レコードの先頭０ｘ０バイト目の最上位１ビット目は、イベントタイプ情報である。イベントタイプ情報は、「０ｘ０」であれば装着時の情報であり、「０ｘ１」であれば消費時の情報を意味する。レコードの先頭から０ｘ０〜０ｘ３バイト目の２〜７ビット目は、各種寿命や残量情報である。０バイト目はカートリッジの寿命を意味する。１バイト目はトナー残量、２バイト目はドラム寿命、３バイト目は現像器の寿命を意味する。これらの寿命や残量は、トナーカートリッジ３１０ａ〜ｄから取得した寿命や残量情報であり、パーセント単位で０〜１００の値域によって表現する。レコードの先頭０ｘ４〜０ｘ７バイト目は日時情報である。ここでは１９７０年１月１日からの経過秒によって表現する。先頭から０ｘ８バイト目の上位４ビットはタグ種別を表す。タグ種別は「０ｘ０」は純正品カートリッジ、「０ｘ１」はＯＥＭカートリッジ、「０ｘ７」はエラータグカートリッジ、「０ｘ８」はコピータグカートリッジ、「０ｘｆ」はタグ無しカートリッジを示す。また先頭から０ｘ８バイト目の下位４ビットはサイズ種別を示す。サイズ種別は「０」は標準サイズカートリッジ、「１」はスタータカートリッジ、「２」は大容量カートリッジを示す。更に、先頭から０ｘ９〜０ｘＢバイト目は、カートリッジのページカウント情報を示す。また先頭から０ｘＣ〜０ｘＦバイト目はカートリッジのシリアル番号を示す。これらはトナーカートリッジ３１０ａ〜ｄから取得した値である。
【００６９】
図９（Ｃ）（Ｄ）は、上記情報のＨＤＤ１０４における具体的な配置例を示す図である。
【００７０】
図９（Ｃ）は、カラーの画像形成装置を想定し、ヘッダ部、イエローカートリッジのレコード、マゼンタカートリッジのレコード、シアンカートリッジのレコード、ブラックカートリッジのレコードの順に、それぞれ４００レコードずつ格納した例を示す。図９（Ｄ）は、モノクロの画像形成装置を想定し、ヘッダ部とブラックカートリッジのレコードを１６００件格納した例である。
【００７１】
これらの例は、あくまでも実現形態の一例を示したもので、各カートリッジの順列やデータの形式は任意のものを利用できる。例えば暗号化やスクランブル化を行い、一般ユーザがそのままでは見られない形として保持しても良く、或いは圧縮して保持する形態をとってもよい。また実施形態のように、データ数をヘッダ情報に含めることにより予めデータサイズを把握できるようにする以外にも、ヘッダ情報にデータ数を含めず、各カートリッジのレコード部分の先頭にデータ件数を保持する形態であってもよい。
【００７２】
また、トナー残量やドラム寿命、現像器寿命をパーセントで表現しているが、これを残りページ数などの別の単位系で表現して格納しても良い。また、カートリッジのシリアル番号として３２ビットの整数を用いる他、文字列などを保持してもよい。
【００７３】
尚、実施形態では、画像形成装置の本体の記憶領域にこれら情報を保持する例で説明をしている。しかし、これに限定されることはなく、例えば、インターネット上のサーバーに、これら情報を保持する形態でも良く、或いは画像形成装置本体に接続された専用のハードウェアに記録をするようにしても良い。
【００７４】
［実施形態１］
以下、本発明の実施形態１を説明する。
【００７５】
まず前提条件として、ここでは、カートリッジ毎に、カートリッジの識別情報であるシリアル番号が付与されているものとする。尚、ここでいうシリアル番号は、十進数の数値に限られるものではなく、例えば、アルファベットや記号を含む文字列であってもよい。従来は、カートリッジから読み取ったカートリッジのシリアル番号が変化したことを契機に、新たなカートリッジが装着されたと判定していた。実施形態１では、これに加えて、カートリッジのシリアル番号の読取りに失敗した場合であっても、次回、そのカートリッジを外す時までに、そのカートリッジのシリアル番号の取得を試みる。そしてそのカートリッジのシリアル番号の取得に成功すると、そのカートリッジを、シリアル番号の読取りに失敗した時点からシリアル番号の取得に成功していたものとして扱う点に特徴がある。また、シリアル番号の読取りに成功した場合は、次回、そのカートリッジを外す時までに、そのカートリッジのシリアル番号の取得に失敗しても、新規カートリッジが装着されたとは見なさない点にも特徴がある。
【００７６】
以下、図１０を参照して、実施形態１に係る具体的な効果を説明する。
【００７７】
図１０は、本実施形態１に係る消耗品ログ情報の遷移の一例を示す図で、図１０（Ａ）は従来技術での結果、図１０（Ｂ）が実施形態１を適用した結果を示す。以下、実施形態１を説明する上での共通条件として、シリアル番号が「１」のカートリッジを装着し、２回消費検知が行われた後、シリアル番号「２」のカートリッジを装着した場合で説明する。先に、図１０（Ａ）を参照して、従来技術を用いた場合の振舞について説明する。
【００７８】
正常ケースとして、１００１は、一度もカートリッジからの情報の取得に失敗しない場合を示す。１００２は、このときのレコードを示し、このときシリアル番号「１」のカートリッジが装着されたことを検知すると、シリアル番号「１」のカートリッジの装着に関するレコードが記録される。またシリアル番号「１」のカートリッジを消費したことを検知すると、シリアル番号「１」のカートリッジの消費に関するレコードが記録される。更に、シリアル番号「１」のカートリッジを再び消費したしたことを検知すると、先ほどのレコードを上書きする。そしてシリアル番号「２」のカートリッジが装着されたことを検知すると、シリアル番号「２」のカートリッジの装着に関するレコードが記録される。
【００７９】
次に、カートリッジ装着時に、カートリッジの情報の取得に失敗した場合を説明する。
【００８０】
１０１１は、カートリッジの装着時に、カートリッジ情報の読み取りエラーが発生した場合を示す。このときはシリアル番号が不明のカートリッジが装着されたものとし、１０１２で、シリアル番号が不明のカートリッジの装着に関するレコードが記録される。次にシリアル番号「１」のカートリッジを消費したことを検知すると、１０１２で、シリアル番号「１」のカートリッジの装着に関するレコードと、消費に関するレコードが記録される。更に、シリアル番号「１」のカートリッジを再び消費したことを検知すると、１０１２で、先ほどの消費に関するレコードを上書きする。そして、シリアル番号「２」のカートリッジが装着されたことを検知すると、シリアル番号「２」のカートリッジの装着に関するレコードが記録される。
【００８１】
次に、カートリッジのトナー消費時の初回に、カートリッジの情報の取得に失敗した場合を説明する。
【００８２】
１０２１は、カートリッジのトナー消費の初回検知時に、カートリッジ情報の読み取りエラーが発生した場合を示す。シリアル番号「１」のカートリッジが装着されたことを検知すると、１０２２で、シリアル番号「１」のカートリッジの装着に関するレコードが記録される。次にシリアル番号が不明のカートリッジのトナーが消費されたことを検知すると、シリアル番号が不明のカートリッジの装着に関するレコードと、その消費に関するレコードとが記録される。次にシリアル番号「１」のカートリッジのトナーが消費されたことを検知すると、１０２２で、シリアル番号「１」のカートリッジの装着に関するレコードと、その消費に関するレコードが記録される。そして、シリアル番号「２」のカートリッジが装着されたことを検知すると、シリアル番号「２」のカートリッジの装着に関するレコードが記録される。
【００８３】
次にカートリッジの消費で、次回の消費時にカートリッジ情報の取得に失敗した場合を説明する。
【００８４】
１０３１は、カートリッジのトナー消費の２回目で、カートリッジ情報の取得エラーが発生した場合を示す。まずシリアル番号「１」のカートリッジが装着されたことを検知すると、１０３２で、シリアル番号「１」のカートリッジの装着に関するレコードが記録される。そしてシリアル番号「１」のカートリッジのトナーを消費したことを検知すると、シリアル番号「１」のカートリッジのトナー消費に関するレコードが記録される。次にシリアル番号が不明のカートリッジのトナー消費を検知すると、１０３２で、シリアル番号が不明のカートリッジの装着に関するレコードと、そのトナー消費に関するレコードとが記録される。そして、シリアル番号「２」のカートリッジが装着されたことを検知すると、シリアル番号「２」のカートリッジの装着に関するレコードが記録される。
【００８５】
このように従来は、カートリッジから取得した情報だけに基づいてカートリッジを判定している。このため、カートリッジの情報の取得に失敗した後、カートリッジの情報の取得に成功すると、新たなカートリッジが装着されたと判定していた。このため、カートリッジの情報の取得に失敗したときに、リアル番号が不明の新たなレコードが追加されてしまう。その結果、カートリッジ情報の読み取りエラーが発生する度に無駄なレコードが生成されてしまい、メモリ領域が無駄な情報で占有されてしまうという課題があった。
【００８６】
次に、図１０（Ｂ）を参照して、実施形態１の場合を説明する。
【００８７】
正常ケースとして、１０５１，１０５２は、一度もカートリッジからの情報の取得に失敗しない場合を示す。これは図１０（Ａ）の１００１，１００２の場合と同じであるため、その説明を省略する。
【００８８】
次に、カートリッジの装着時に、カートリッジ情報の取得に失敗した場合を説明する。１０６１は、カートリッジの装着時に読み取りエラーが発生した場合を示す。このときシリアル番号が不明のカートリッジを装着したことを検知し、１０６２で、シリアル番号が不明のカートリッジの装着に関するレコードが記録される。次に、シリアル番号「１」のカートリッジのトナーを消費したことを検知すると、前述のシリアル番号が不明のカートリッジの装着に関するレコードは、１０６２でシリアル番号「１」のカートリッジの装着に関するレコードで上書きされる。そして更に、シリアル番号「１」のカートリッジの消費に関するレコードが記録される。次に、シリアル番号「１」のカートリッジのトナーが再び消費されたことを検知すると、先ほどの消費に関するレコードを上書きする。そして、シリアル番号「２」のカートリッジが装着されたことを検知すると、シリアル番号「２」のカートリッジの装着に関するレコードが記録される。
【００８９】
このように、カートリッジの装着時に、カートリッジ情報の取得に失敗しても、シリアル番号が不明のカートリッジの装着に関するレコードを作成せずに、次にカートリッジのトナー消費を検知したときのシリアル番号のレコードとして記録される。
【００９０】
次に、カートリッジのトナー消費時、初回に、カートリッジ情報の取得に失敗した場合を説明する。１０７１は、カートリッジのトナー消費検知の初回に、そのカートリッジ情報の取得エラーが発生した場合を示す。まずシリアル番号「１」のカートリッジが装着されたことを検知すると、１０７２で、シリアル番号「１」のカートリッジの装着に関するレコードが記録される。次にシリアル番号が不明のカートリッジのトナーが消費されたことを検知した場合には、シリアル番号が不明のカートリッジが装着されていないため、レコードの変更は行われない。そして次にシリアル番号「１」のカートリッジのトナーを消費したことを検知すると、１０７２で、シリアル番号「１」のカートリッジの装着に関するレコードと、そのカートリッジの消費に関するレコードが記録される。そして、シリアル番号「２」のカートリッジが装着されたことを検知すると、シリアル番号「２」のカートリッジの装着に関するレコードが記録される。
【００９１】
このように、トナー消費検知時の初回に、カートリッジ情報の取得に失敗した場合は、レコードの変更は行わない。これによりシリアル番号が特定されたカートリッジの消費だけが更新される。
【００９２】
次に、カートリッジのトナー消費検知の次回に、カートリッジ情報の取得に失敗した場合を説明する。１０８１はカートリッジのトナー消費検知の２回目に、カートリッジの情報の読み取りエラーが発生した場合を示す。まずシリアル番号「１」のカートリッジが装着されたことを検知すると、シリアル番号「１」のカートリッジの装着に関するレコードが記録される。次にシリアル番号「１」のカートリッジのトナーの消費を検知すると、１０８２で、シリアル番号「１」のカートリッジの消費に関するレコードが記録される。そして次回、シリアル番号が不明のカートリッジのトナー消費を検知すると、シリアル番号が不明のカートリッジが装着されていないためレコードの更新は行わない。そしてシリアル番号「２」のカートリッジが装着されたことを検知すると、１０８２でシリアル番号「２」のカートリッジの装着に関するレコードが記録される。
【００９３】
この場合も、次回のトナー消費検知の際にカートリッジ情報の取得に失敗した場合は、レコードの変更は行わない。これにより、シリアル番号が特定されたカートリッジの消費だけが更新される。
【００９４】
尚、カートリッジのトナー消費の検知時に、カートリッジのシリアル番号を複数回読み取り、失敗が続いている間は、そのカートリッジのトナー消費に関するレコードを更新しない。そして、カートリッジ情報の取得に成功すると、その取得に成功したカートリッジ情報によって、それまでの情報が上書きされる。またカートリッジの装着時にシリアル番号の取得に失敗し、次のカートリッジのトナー消費の検知時に、シリアル番号の取得に失敗する場合も考えられる。その場合、カートリッジ情報の取得に成功すると、その取得に成功したシリアル番号のレコードが作成され、そのレコードに、そのカートリッジのトナー消費に関する情報が記録される。
【００９５】
実施形態１によれば、カートリッジを装着してから脱着するまでの間に、そのカートリッジのシリアル番号の取得に失敗しても新たなレコードを作成せず、シリアル番号の取得に成功した時点の情報で、レコードを補完できる。即ち、カートリッジ情報の偶発的な読み取り失敗によって、消耗品ログ情報として、不要なレコードが作成されて追加されるのを回避できる。
【００９６】
次に、図１１〜図１７を参照して、本発明の実施形態１を説明する。
【００９７】
図１１は、実施形態１に係る画像形成装置１００におけるイベント受付処理を説明するフローチャートである。尚、以下のフローチャートで、メインプログラム４００に含まれるモジュール（各部）による処理はＣＰＵ２０１がＨＤＤ１０４にインストールされているプログラムをＲＡＭ２５０に展開し、ＣＰＵ２０１がそのプログラムを実行することにより達成される。またサブプログラム４３０に含まれるモジュール（各部）による処理は、ＨＤＤ１０４からＲＡＭ２５０に展開されたプログラムをＣＰＵ２２１が実行することにより達成される。尚、実際、メインジョブ制御部４０１はこれ以外にもイベント処理を行うことができるが、説明が煩雑となるため主要なものだけに限定して説明する。
【００９８】
先ずＳ１１０１でＣＰＵ２０１はメインジョブ制御部４０１として機能し、各種モジュールの初期化処理を行う。次にＳ１１０２に進みＣＰＵ２０１はメインジョブ制御部４０１として機能し、後述する消耗品の交換検知処理を行い、電源断中に消耗品の交換が行われていたかを検出する。
【００９９】
次にＳ１１０３に進みＣＰＵ２０１はメインジョブ制御部４０１として機能し、新たなイベントが生じるのを待つ。このイベントの受付の待機は、メッセージキューの仕組みを用いて実現する他、その他ポーリングなどで実現してもよい。ここで何らかのイベントの発生を検知すると以下の処理に進む。
【０１００】
まずＣＰＵ２０１は、印刷ジョブを受信したイベントを検知するとＳ１１０４に進み、印刷処理を実行してＳ１１０３に戻る。またＣＰＵ２０１は、ステータスの印刷指示のイベントを検知するとＳ１１０５に進み、ステータスの印刷処理を実行してＳ１１０３に進む。またＣＰＵ２０１は、画像形成装置１００本体のカバーが閉じられたことを示すカバークローズのイベントを検知するとＳ１１０６に進み、消耗品の交換を検知する処理を実行する。そしてＣＰＵ２０１は、ＣＰＵ２２１に対してキャリブレーションの開始を通知する。これによりＳ１１１１でＣＰＵ２２１はサブジョブ制御部４３１として機能し、キャリブレーション処理を実行する。そして、このキャリブレーション処理が終了するとＣＰＵ２２１は、ＣＰＵ２０１に対してキャリブレーション処理の終了を通知する。これによりＣＰＵ２０１はＳ１１０７で、消耗品の消費検知処理を実行してＳ１１０３に進む。
【０１０１】
またＣＰＵ２０１は、スリープモードへの移行イベントを検知するとＣＰＵ２２１にスリープモード（省電力モード）に移行するように通知する。これによりＣＰＵ２２１は、Ｓ１１１２でスリープモードに移行するための処理を実行する。
【０１０２】
またＣＰＵ２０１は、スリープモードから復帰するイベントを検知するとＣＰＵ２２１にスリープモードから復帰するように通知する。これによりＣＰＵ２２１はＳ１１１３でスリープモードから復帰する処理を行う。そしてＣＰＵ２２１は、スリープモードからの復帰処理が終了するとＣＰＵ２０１に対して、スリープモードからの復帰処理が完了したことを通知する。これによりＣＰＵ２０１はＳ１１０８で、消耗品が交換されたかどうかを検知する処理を実行してＳ１１０３に処理を進める。
【０１０３】
またＣＰＵ２０１は、画像形成装置１００の電源断のイベントを検知するとＳ１１０９に処理を進め、消耗品の消費を検知する処理を行う。またＣＰＵ２０１は、ＣＰＵ２２１に対して電源断が発生したことを通知する。これによりＣＰＵ２２１はＳ１１１４で電源断処理を実行する。
【０１０４】
図１２は、実施形態１に係る画像形成装置１００のサブプログラム４３０が実行するイベント受付処理を説明するフローチャートである。尚、実際は、前述したように、メインジョブ制御部４０１との間でイベントの処理結果の通知を行う処理が行われるが、ここではサブプログラム４３０による処理に注目して説明する。
【０１０５】
先ずＳ１２０１でＣＰＵ２２１はサブジョブ制御部４３１として機能し、各種モジュールの初期化処理を行う。次にＳ１２０２に進みＣＰＵ２２１はサブジョブ制御部４３１として機能し、新たなイベントを受付けるのを待つ。このイベントを受付るための待機は、メッセージキューの仕組みを用いて実現する他、その他ポーリングなどで実現してもよい。ここで何らかのイベントを受付けると以下のステップに進む。
【０１０６】
ＣＰＵ２２１は、印刷処理のイベントを検知するとＳ１２０３に進みデバイス制御部４３４として機能し、給紙処理を開始する。このときＣＰＵ２２１は、そのイベントで指定されている給紙段からプリンタエンジン１０５へ給紙するように制御する。次にＳ１２０４に進みＣＰＵ２２１はデバイス制御部４３４として機能し、画像処理制御部４３３に対して画像処理を実行するように通知する。そしてＣＰＵ２２１はデバイス制御部４３４として機能し、Ｓ１２０５で、画像処理が実施された画像データをプリンタエンジン１０５に出力して印刷画像を形成する印刷処理を実行する。
【０１０７】
またＣＰＵ２２１は、キャリブレーションの開始イベントを検知するとＳ１２０６に進み、デバイス制御部４３４として機能してキャリブレーションを実行してＳ１２０２に進む。
【０１０８】
またＣＰＵ２２１は、スリープモードに移行するイベントを検知するとＳ１２０７に進み、ＣＰＵ２２１はデバイス制御部４３４として機能し、プリンタエンジン１０５を省電力モードへ移行させる。そしてＣＰＵ２２１は電源制御部４３２として機能しＳ１２０８で、コントローラボード１０２をスリープモードへ移行させる。
【０１０９】
またＣＰＵ２２１は、スリープモードからの復帰イベントを検知するとＳ１２０９に進み、バイス制御部４３４として機能してプリンタエンジン１０５を通常電力モードへ移行させる。そしてＳ１２１０に進みＣＰＵ２２１は電源制御部４３２として機能し、コントローラボード１０２を通常電力モードへ移行する。
【０１１０】
またＣＰＵ２２１は、電源断イベントを検知するとＳ１２１１に進み、デバイス制御部４３４として機能してプリンタエンジン１０５を電源断モードへ移行させる。そしてＳ１２１２に進み、ＣＰＵ２２１は電源制御部４３２として機能し、コントローラボード１０２を電源断モードへ移行する。
【０１１１】
図１３は、実施形態１に係る画像形成装置１００のメインプログラム４００が主体で実行する印刷処理を説明するフローチャートである。
【０１１２】
まずＳ１３０１でＣＰＵ２０１はメインジョブ制御部４０１として機能し、印刷ジョブを受け付ける。これによりＣＰＵ２０１はＳ１３０２でユーザ操作受付部４０５として機能し、印刷中を示す画面をポップアップ表示する。ここでは例えば図５に示す画面５２１を表示部１２４に表示する。またＳ１３０３でＣＰＵ２０１は印刷ジョブ解析部４０４として機能し、その印刷ジョブに含まれる印刷データを解析する。そしてＳ１３０４に進みＣＰＵ２０１は印刷ジョブ解析部４０４として機能し、その印刷データの１ページを解析する。そして１ページ分の解析が終了して中間データを作成するとＳ１３０５に進みＣＰＵ２０１はユーザ操作受付部４０５として機能し、前述の画面５２１を更新する。またＣＰＵ２０１は印刷ジョブ解析部４０４として機能し、ＣＰＵ２２１に印刷処理の開始を通知する。これによりＣＰＵ２２１はサブジョブ制御部４３１として機能し、Ｓ１３０６で印刷処理を実行する。こうして１ページの印刷処理が完了したことがＣＰＵ２２１から通知されるとＳ１３０７に進み、ＣＰＵ２０１はユーザ操作受付部４０５として機能し、印刷画面５２１を更新する。またＣＰＵ２２１はＣＰＵ２０１に対して１ページの印刷処理が終了したことを通知するとＳ１３０８に進み、ＣＰＵ２０１はメインジョブ制御部４０１として機能し、消耗品の消費検知処理を実行する。
【０１１３】
またＣＰＵ２０１は印刷ジョブ解析部４０４として機能し、１ページの解析が終わった後、Ｓ１３０９で印刷ジョブの最後のデータの処理が終了したかどうかを判定する。ここで印刷ジョブのデータ処理が終了していないときはＳ１３０４に進み、ＣＰＵ２０１は印刷ジョブ解析部４０４として機能して、次のページの解析を行う。一方、Ｓ１３０９で印刷ジョブのデータの処理が終了したと判定するとＳ１３１０に進み、ＣＰＵ２０１はメインジョブ制御部４０１として機能し、消耗品の消費検知処理を実行する。またこのときＣＰＵ２０１はユーザ操作受付部４０５として機能し、Ｓ１３１１で印刷中であることを示す画面を非表示にする。
【０１１４】
図１４は、実施形態１に係る画像形成装置１００のメインプログラム４００が主体で実行する消耗品ログプリント処理を説明するフローチャートである。尚、この消耗品ログプリント処理と消耗品ログ（詳細）プリントは、印刷するコマンドの情報量が異なるだけで基本的には同じ処理で実現されるため、ここでまとめて説明する。
【０１１５】
まずＳ１４０１でＣＰＵ２０１は消耗品ログプリントの実行指示を受け取ると印刷ジョブ生成部４０７として機能して印刷ジョブを生成する。具体的には、印刷ジョブを保持するためのメモリを確保する。そしてＳ１４０２でＣＰＵ２０１は消耗品ログ管理部４０６として機能し、ＲＡＭ２０５に保持されている消耗品ログ情報７０１〜７０４を取得する。ここでは、消耗品ログ情報に含まれる印刷対象の各レコードの情報を参照する。次にＳ１４０３に進みＣＰＵ２０１は、印刷ジョブにジョブ開始コマンドを追加する。この処理は、消耗品ログ情報に含まれる全てのレコードに対して実行される。
【０１１６】
次にＳ１４０４に進みＣＰＵ２０１は印刷ジョブ生成部４０７として機能し、印刷ジョブにページ開始コマンドを追加する。このページ開始コマンドには、例えば印刷する用紙のサイズ情報が含まれる。また用紙の向き情報などが含まれていてもよい。次にＳ１４０５に進みＣＰＵ２０１は印刷ジョブ生成部４０７として機能し、印刷ジョブにヘッダ部分の描画コマンドを追加する。ここでは例えば、ステータスプリントのタイトル等の描画を行う。次にＳ１４０６に進みＣＰＵ２０１は印刷ジョブ生成部４０７として機能し、消耗品ログ情報に含まれる複数レコードの情報を参照し、印刷ジョブにコンテンツ部分の描画コマンドを追加する。例えば、ここで１ページに１００レコードが描画可能であれば、１００レコード分の情報を描画コマンドに変換して印刷ジョブに追加する。次にＳ１４０７に進みＣＰＵ２０１は印刷ジョブ生成部４０７として機能し、その印刷ジョブにフッタの描画コマンドを追加する。ここでは例えば、ページカウントを描画コマンドに変換して印刷ジョブに追加する。次にＳ１４０８に進みＣＰＵ２０１は印刷ジョブ生成部４０７として機能し、その印刷ジョブにページ終了コマンドを追加する。そしてＳ１４０９に進みＣＰＵ２０１は印刷ジョブ生成部４０７として機能し、全てのレコードに対する処理が終了したかどうかを判定する。ここまでで全てのレコードに対してコンテンツとして描画処理が行われていなければＳ１４０４に進み、再び新しいページを生成して、描画を繰り返す。そしてＣＰＵ２０１が、消耗品ログ情報に含まれる全てのレコードに対する処理が終了したと判定するとＳ１４０１に進みＣＰＵ２０１は印刷ジョブ生成部４０７として機能し、ジョブ終了コマンドを印刷ジョブに追加する。そしてＣＰＵ２０１はＳ１４１１でメインジョブ制御部４０１として機能し、印刷ジョブデータの受信処理を実行するとともに、Ｓ１４１２でユーザ操作受付部４０５として機能し、消耗品ログプリントの印刷ジョブを実行中であること示す画面を表示する。ここで表示される画面は、例えば図５の画面５１２或いは５５２で示すような画面である。
【０１１７】
以上説明したように、メインプログラム４００は、消耗品ログ情報の内容を基にした印刷ジョブを生成して、プリンタエンジン１０５で用紙に印刷することができる。
【０１１８】
図１５は、実施形態１に係る画像形成装置１００のメインプログラム４００が主体で実行する消耗品の交換検知処理を説明するフローチャートである。
【０１１９】
先ずＳ１５０１でＣＰＵ２０１はメインジョブ制御部４０３として機能し、消耗品ログ更新フラグをＦＡＬＳＥ（オフ）にする。そして、以下の処理を全カートリッジに装着可能な色に対して繰り返し行う。即ち、カラーの画像形成装置であれば４色分繰り返し、モノクロの画像形成装置であれば１回だけ繰り返す。ここでは対象となっている色を「対象色」と呼称する。次にＳ１５０２に進みＣＰＵ２０１は、図１６に示すフローチャートに従って、対象色のカートリッジ情報を読み込む。
【０１２０】
図１６は、実施形態１に係る画像形成装置１００のメインプログラム４００とサブプログラム４３０とで実行するＳ１５０２のカートリッジ情報の読み込み処理を説明するフローチャートである。
【０１２１】
まずＳ１６０１でＣＰＵ２０１はメインジョブ制御部４０３として機能し、カートリッジの装着状況を「未装着」とする。そしてＣＰＵ２０１はメインジョブ制御部４０３として機能し、デバイス制御部４３４に対して、対象色のカートリッジの装着状況とカートリッジの情報の取得を要求する。これによりＣＰＵ２２１はＳ１６２１でデバイス制御部４３４として機能し、対象色のカートリッジの装着状況を確認する。そして、その対象色のカートリッジが未装着であると判定すると、ＣＰＵ２０１に、そのカートリッジが未装着であることを通知して、この処理を終了する。一方、その対象色のカートリッジが装着されていると判定したときはＳ１６２２に進み、ＣＰＵ２２１は、対象色のカートリッジから各種情報の取得を試みる。ここで取得する情報は、図８のトナーカートリッジ３１０ａ〜ｄのシリアル番号、カートリッジの残量（寿命）、トナー残量、ドラム寿命、現像器寿命、トナーアウト情報、トナーロー情報である。こうしてＳ１６２２でＣＰＵ２２１は、カートリッジの情報を取得すると、それをＣＰＵ２０１に通知する。
【０１２２】
これによりＳ１６０２に進みＣＰＵ２０１はメインジョブ制御部４０３として機能し、取得した情報に対応するカートリッジの装着状況を「装着」とする。ここでカートリッジの情報を取得する際、カートリッジの情報の読み取りエラーが発生したと判定した場合はＳ１６０３に進みＣＰＵ２０１はメインジョブ制御部４０３として機能し、対象色のカートリッジのシリアル番号にダミーコード（所定情報）を設定する。このダミーコードは、読み取りエラーが発生していたことを表わすコードであり、通常、カートリッジに設定されないシリアル番号を用いる。そしてＳ１６０４に進みＣＰＵ２０１は、そのカートリッジのタグ種別を「タグなし」として、この処理を終了する。
【０１２３】
一方、カートリッジ情報の読み取りエラーがなく正常にカートリッジの情報を取得できたときはＳ１６０５に進みＣＰＵ２０１はメインジョブ制御部４０３として機能し、その取得した情報を対象色のカートリッジ情報として設定する。次にＳ１６０６に進みＣＰＵ２０１はメインジョブ制御部４０３として機能し、トナーアウト情報とトナー残量情報を確認する。ここでもし、トナーアウトが発生しているにも関わらずトナー残量が１％以上である場合、即ち、これら情報に矛盾が発生しているときは、そのカートリッジはリフィルされた可能性が高いカートリッジと判定してＳ１６０７に進む。Ｓ１６０７でＣＰＵ２０１はメインジョブ制御部４０３として機能し、そのカートリッジのタグ種別を「エラータグ」として、この処理を終了する。
【０１２４】
一方、Ｓ１６０６でトナーアウトが発生していないか、或いは、トナーアウトが発生しているがトナー残量が１％未満であればＳ１６０８に進む。Ｓ１６０８でＣＰＵ２０１はメインジョブ制御部４０３として機能し、カートリッジ情報のシリアル番号が、図８のコピータグシリアル番号リスト８５１に含まれているか否か判定する。ここでＣＰＵ２０１は、そのシリアル番号がコピータグシリアル番号リスト８５１に含まれていると判定するとＳ１６０９に進みＣＰＵ２０１はメインジョブ制御部４０３として機能し、そのカートリッジのタグ種別を「コピータグ」として、この処理を終了する。
【０１２５】
またＳ１６０８で、そのシリアル番号がコピータグシリアル番号リスト８５１に含まれていないと判定するとＳ１６１０に進みＣＰＵ２０１は、そのシリアル番号が純正用のものか、ＯＥＭ用のものか判別する。ここでは例えば、シリアル番号の上位１ビットが「０」か「１」かで判別する。また或いは、シリアル番号のビット数の総和によって判別しても良い。ここで純正カートリッジ用のシリアル番号であると判定するとＳ１６１１に進みＣＰＵ２０１はメインジョブ制御部４０３として機能し、そのカートリッジのタグ種別を「純正タグ」と決定して、この処理を終了する。一方、Ｓ１６１２でＣＰＵ２０１が、ＯＥＭカートリッジ用のシリアル番号であると判定するとＳ１６１２に進み、そのカートリッジのタグ種別を「ＯＥＭタグ」と決定して、この処理を終了する。
【０１２６】
尚、ここではシリアル番号に基づいて純正カートリッジか、ＯＥＭカートリッジかを判別した。これ以外にも、純正カートリッジか、ＯＥＭカートリッジかを識別する情報をメモリタグ内に保持しておき、それに基づいて判別するようにしても良い。
【０１２７】
この処理により、対象色のカートリッジの装着状況、及びカートリッジが装着されていれば、その対象色カートリッジの情報を取得することができる。
【０１２８】
次に図１５に戻り、Ｓ１５０２でＣＰＵ２０１はメインジョブ制御部４０３として機能し、取得したカートリッジ情報に基づいて、そのカートリッジの装着状態を判定する。ここでカートリッジが装着されていると判定するとＳ１５０３に進みＣＰＵ２０１は、そのカートリッジ情報のシリアル番号を、対象色のカートリッジに対応する新シリアル番号とする。次にＳ１５０４に進みＣＰＵ２０１は、新シリアル番号と、前回の交換時に装着されていたシリアル番号である旧シリアル番号とを比較する。そして、これら新旧のシリアル番号が一致した場合は、そのままこの処理を終了する。
【０１２９】
一方、新旧のシリアル番号が一致しない場合は、今回、そのカートリッジは交換されたものと判定してＳ１５０５に進む。Ｓ１５０５でＣＰＵ２０１は消耗品ログ管理部４０６として機能し、消耗品ログ情報を追加すべく、装着イベントのレコードを追加する。そしてＳ１５０６に進みＣＰＵ２０１は消耗品ログ管理部４０６として機能し、そのカートリッジ情報のタグ種別を、図１６のフローチャートでセットされたタグ種別とする。そして、そのセットされたタグ種を判別し、タグ種別が「エラータグ」であればＳ１５０７に進みＣＰＵ２０１は消耗品ログ管理部４０６として機能し、エラータグのカートリッジの累積使用回数を１加算（＋１する）してＳ１５０９に進む。またセットされたタグ種が「タグ無し」であればＳ１５０８に進みＣＰＵ２０１は消耗品ログ管理部４０６として機能し、タグ無しのカートリッジの累積使用回数を１加算（＋１する）してＳ１５０９に進む。また、「エラータグ」、「タグ無し」以外のタグ種のカートリッジの場合はＳ１５０９に進む。そしてＳ１５０９でＣＰＵ２０１はメインジョブ制御部４０１として機能し、ＨＤＤ１０４のログ記録を更新するために消耗品ログ記録更新フラグをＴＲＵＥ（オン）にする。そしてＳ１５１０に進みＣＰＵ２０１は、対象色の新シリアル番号で、対象色の旧シリアル番号を更新する。以上の処理を未処理のカートリッジが無くなるまで繰り返す。
【０１３０】
こうして全ての対象色のカートリッジに対して上記処理を実行し、消耗品ログ記録更新フラグがＴＲＵＥ（オン）であると判定するとＳ１５１１に進む。Ｓ１５１１でＣＰＵ２０１は消耗品ログ管理部４０６として機能し、消耗品ログ情報７０１〜７０４を、ＨＤＤ１０４の消耗品ログ記録７１１〜７１４に保存する。そしてＳ１５１２に進みＣＰＵ２０１は消耗品ログ管理部４０６として機能し、ＲＡＭ２０５のカートリッジの累積使用回数情報７０５の内容を、ＨＤＤ１０４のカートリッジ累積使用回数記録７１５に保存して、この処理を終了する。
【０１３１】
以上説明した処理により、新たなカートリッジが装着されたときは、そのカートリッジのタグ種別を判別し、そのタグ種別に対応するカートリッジの累積使用回数を計数する。そして、ＲＡＭに保存されているカートリッジの情報を、不揮発の記憶装置に消耗品ログとして記録できる。
【０１３２】
図１７は、実施形態１に係る画像形成装置１００のメインプログラム４００が実行する消耗品の消費検知処理を説明するフローチャートである。
【０１３３】
先ずＳ１７０１でＣＰＵ２０１はメインジョブ制御部４０３として機能し、消耗品ログ記録更新フラグをＦＡＬＳＥ（オフ）にする。以下の処理を全装着可能な対象色に対して繰り返す。
【０１３４】
Ｓ１７０２でＣＰＵ２０１はメインジョブ制御部４０３として機能し、対象色のカートリッジの情報をバックアップする。次にＳ１７０３に進みＣＰＵ２０１はメインジョブ制御部４０３として機能し、対象色のカートリッジ情報のタグ種別を確認する。そして、そのタグ種別が「タグなし」以外であると判定するとＳ１７０４に進み、ＣＰＵ２０１はメインジョブ制御部４０３として機能し、図１６のフローチャートで示す手順に従って対象色のカートリッジ情報を取得する。ここで対象色のカートリッジ情報の取得に成功した場合はＳ１７０６に進み、以後の処理を、読み込んだカートリッジ情報をもとに行う。一方、対象色のカートリッジ情報の取得に失敗した場合はＳ１７０５に進みＣＰＵ２０１は、先ほどバックアップを取った対象色のカートリッジ情報を復元してＳ１７０６に進む。即ち、カートリッジ情報の取得に失敗したときは、元のカートリッジの情報を採用する。
【０１３５】
一方、Ｓ１７０３でタグ情報が「タグ無し」と判定した場合はＳ１７１０に進みＣＰＵ２０１はメインジョブ制御部４０３として機能し、図１６に示すフローチャートに従って対象色のカートリッジ情報を取得する。そして対象色のカートリッジ情報の取得に成功するとＳ１７１１に進み、ＣＰＵ２０１は消耗品ログ管理部４０６として機能し、「タグ無し」のカートリッジ累積回数を１だけ減算する。そして、ＣＰＵ２０１は、そのカートリッジ情報のタグ種別が「エラータグ」かどうか判定し、「エラータグ」でなければＳ１７１４に処理を進める。一方、「エラータグ」であればＳ１７１３に進みＣＰＵ２０１は消耗品ログ管理部４０６として機能し、エラータグのカートリッジ累積使用回数を１加算してＳ１７１４に進む。Ｓ１７１４でＣＰＵ２０１は、その取得に成功したカートリッジ情報に基づいて、消耗品ログ情報内の装着時レコードを更新する。次にＳ１７１５に進みＣＰＵ２０１は、その取得に成功したカートリッジ情報に基づいて、消耗品ログ情報内の消費時レコードを更新してＳ１７１６に進む。Ｓ１７１６でＣＰＵ２０１はメインジョブ制御部として機能し、その取得に成功したカートリッジ情報のシリアル番号により、対象色の旧シリアル番号を更新する。次にＳ１７１７に進みＣＰＵ２０１はメインジョブ制御部として機能し、消耗品ログ記録更新フラグをＴＲＵＥ（オン）にしてＳ１７０６に進む。  またＳ１７１０でＣＰＵ２０１は、対象色のカートリッジ情報の取得に失敗した場合はＣＰＵ２０１は、ＣＰＵ２２１に対してセンサ値の取得を通知する。これによりＳ１７１２でＣＰＵ２２１はデバイス制御部４３４として機能し、対象色のカートリッジのトナーセンサからトナー残量を取得してＣＰＵ２０１に通知する。
【０１３６】
こうしてＳ１７０６に進みＣＰＵ２０１はメインジョブ制御部として機能し、消耗品ログ情報の消費時レコードを更新する。即ち、そのカートリッジ情報に該当する消費時のレコードが存在していなければ、そのカートリッジ情報に基づいて新規レコードを生成する。一方、そのカートリッジ情報に該当する消費時レコードが存在していれば、そのレコードの各種情報を更新する。次にＳ１７０７に進みＣＰＵ２０１は、カートリッジの寿命が１％以上変化したか否かを判定する。ここで１％以上変化したと判定するとＳ１７０８に進み、ＣＰＵ２０１は消耗品ログ記録更新フラグをＴＲＵＥ（オン）にする。
【０１３７】
以上説明した処理を、装着可能な全ての色数だけ繰り返し、全ての装着可能な色のカートリッジに対する処理を行ったらＳ１７１８に進みＣＰＵ２０１は、消耗品ログ記録更新フラグがＴＲＵＥかどうか判定する。ここで消耗品ログ記録更新フラグがＴＲＵＥと判定するとＳ１７１９に進みＣＰＵ２０１は消耗品ログ管理部として機能し、ＲＡＭ２０５の消耗品ログでＨＤＤ１０４の消耗品ログ記録を更新する。次にＳ１７２０に進みＣＰＵ２０１は、ＲＡＭ２０５のカートリッジ累積使用回数情報で、ＨＤＤ１０４のカートリッジ累積使用回数記録を更新して、この処理を終了する。
【０１３８】
以上説明したように実施形態１によれば、画像形成装置に装着されたカートリッジ（メモリタグ）との通信が、カートリッジの装着から着脱までの期間内で偶発的に失敗しても一度でも成功していれば、メモリタグが存在するものとして判定する。また画像形成装置に装着されたカートリッジ（メモリタグ）との通信が、装着から着脱までの期間内で一度も成功しなかった場合には、メモリタグが存在しなかったものと判定する。即ち、カートリッジの接点不良等に起因する偶発的な通信エラーと、カートリッジにメモリタグが存在しないことに起因する通信エラーとを区別できる。
【０１３９】
［実施形態２］
次に本発明の実施形態２として、カートリッジのメモリタグの存在確認を、実施形態１とは異なるタイミングで行う例を説明する。尚、実施形態２に係る画像形成装置１００のハードウェア構成は、前述の実施形態１に係る画像形成装置１００の構成と同じであるため、その説明を省略する。
【０１４０】
前述の実施形態１では、装着されたカートリッジの消耗材を消費したタイミングで、メモリタグの読み取りを再度チェックする例で説明した。即ち、印刷を行うことによって消耗部品が消費され、それを契機にカートリッジ（メモリタグ）との通信を実行していた。この場合、通信用のハードウェアが存在するのかどうか分からないため、例えばタイムアウトを設定する必要がある。即ち、一定時間応答がなければ、ハードウェアからの応答がないと判定する。その場合、通信を行う度に、毎回、タイムアウトとなる時間、待機する必要が生じる。従って、実施形態１のように、印刷ページ毎にカートリッジ（メモリタグ）との通信を試みると、画像形成装置の印刷パフォーマンスに悪影響を及ぼすおそれがある。例えばＮページのデータであれば、Ｎ回の印刷処理のほかに、Ｎ回のカートリッジ（メモリタグ）からの応答待ちのためのタイムアウトが発生することになる。
【０１４１】
このような状況を説明するのが図１８である。
【０１４２】
図１８は、実施形態２に係るメモリタグの存在確認を行うタイミング例を示す図である。
【０１４３】
図１８（Ａ）は、Ｎページのそれぞれでメモリタグの存在を確認する例を示す図である。
【０１４４】
いま、プリンタエンジン１０５の印刷性能が８０［ページ／分］の画像形成装置１００において、カートリッジ（メモリタグ）との通信のタイムアウト時間を１００ｍｓｅｃに設定する。この場合、タイムアウトになることなくカートリッジ（メモリタグ）から即時応答がある場合は、１ページを７５０ｍｓｅｃで処理できる。しかし、毎回、カートリッジ（メモリタグ）との通信でタイムアウトが発生すると、１ページの処理時間が８５０ｍｓｅｃとなる。即ち、全体としては、約７０．５［ページ／分］の印刷性能となり、プリンタエンジン１０５の印刷性能に対して約１２％の性能低下となる。
【０１４５】
そこで、カートリッジ（メモリタグ）との通信でタイムアウトが発生する回数に制約を持たせることで、その影響を小さくすることができる。具体的には、カートリッジ（メモリタグ）のタグ種別が「タグ無し」と判定した場合、対象色のカートリッジ毎に読み込み回数をカウントする。そして、そのカートリッジ（メモリタグ）での読み込み失敗の回数が閾値以上になると、そのカートリッジにはメモリタグは存在しないと判定して通信を行わないモードへ移行する。例えば、図１７のＳ１７１０において、最初の５回までは対象色のカートリッジ情報を読み込み、６回目以降は、カートリッジ情報の取得処理を実行せずに読み込み失敗と見なす。
【０１４６】
これを説明したのが図１８（Ｂ）である。図１８（Ｂ）の例では、最初の５回（ページ）までは対象色のカートリッジ情報を読み込み、６回（ページ）目以降は、カートリッジ情報の取得を行わないようにしている。
【０１４７】
また、印刷以外のタイミングにおいて、カートリッジ（メモリタグ）のタグ存在を確認するためだけの通信を試みる形態をとり、印刷パフォーマンスへの影響を抑えることもできる。例えば、一般的に画像形成装置には、スリープモードなどの省電力モードを有することが多い。通常モードから省電力モードへ移行する条件としては、例えば一定時間以上印刷ジョブが投入されていない、或いは画像形成装置１００が操作されていない、というものが適用されることが多い。
【０１４８】
そこで、印刷ジョブによる印刷終了からスリープモードに移行するまでの時間内で、複数回、カートリッジとの通信を試みることができる。例えば、最終キーの入力からスリープモードに移行する時間よりも短い、カートリッジの確認時間が経過すると、カートリッジ情報の取得状態に移行する。このカートリッジ情報の取得状態では、タグ種別が「タグ無し」であるカートリッジに対してカートリッジ情報の取得を試みる。その後、スリープモードへの移行時間が経過すると、スリープモードに移行中の状態を経て画像形成装置１００はスリープ状態へ移行する。
【０１４９】
この状態を図１８（Ｃ）に示す。これによって、画像形成装置の印刷パフォーマンスへ影響を与えないタイミングで、メモリタグの存在を確認できる。
【０１５０】
その他、電源切断シーケンスやカートリッジ装着時に試みる或いは、消耗品ログプリントのタイミングで、メモリタグの存在を試みる等の別の形態をとることも可能である。
【０１５１】
［実施形態３］
上述の実施形態１では、消耗品ログの出力手段として、印刷ジョブ生成部４０７による印刷処理を例に説明した。しかし、本発明の出力手段は印刷に限られるものではない。例えば、本発明の出力手段として操作部１０１の表示部１２４に表示しても良い。或いは、ＰＣ１５０で動作するウェブブラウザで表示可能なウェブページを生成してＰＣ等の情報処理装置に提供する形態でも良い。その他、定期的に或いは任意のタイミングで、ＰＣ１５０に対して送信してもよいし、ＵＳＢメモリ１３０に保存してもよい。この場合のデータフォーマットは、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式を用いることができる。またデータフォーマットとしてＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）形式を用いても良い。更にデータフォーマットとしてＣＳＶ（ｃｏｍｍａ−ｓｅｐａｒａｔｅｄ  ｖａｌｕｅｓ）形式やＴＳＶ（Ｔａｂ−ｓｅｐａｒａｔｅｄ  ｖａｌｕｅｓ）形式を含む、何かしらのテキスト形式を用いても良い。更には独自のバイナリデータフォーマットなど、任意のデータフォーマットをデータフォーマットとして適用することができる。その他、電子メールなどによる送信を出力手段として用いることもできる。
【０１５２】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１５３】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【０１５４】
１００…画像形成装置、１０１…操作部、１０２…コントローラボード、１０４…ハードディスク装置（ＨＤＤ）、１０５…プリンタエンジン、２０１，２２１…ＣＰＵ、２５０…ＲＡＭ、４００…メインプログラム、４３０…サブプログラム
【図１】
0006632329.tif 000002
【図２】
0006632329.tif 000003
【図３】
0006632329.tif 000004
【図４】
0006632329.tif 000005
【図５】
0006632329.tif 000006
【図６】
0006632329.tif 000007
【図７】
0006632329.tif 000008
【図８】
0006632329.tif 000009
【図９】
0006632329.tif 000010
【図１０】
0006632329.tif 000011
【図１１】
0006632329.tif 000012
【図１２】
0006632329.tif 000013
【図１３】
0006632329.tif 000014
【図１４】
0006632329.tif 000015
【図１５】
0006632329.tif 000016
【図１６】
0006632329.tif 000017
【図１７】
0006632329.tif 000018
【図１８】
0006632329.tif 000019