(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
〔第1の実施形態〕
図1は、画像形成装置の構成を示すブロック図である。
【0012】
データ処理装置101(例えばPC)は、画像データを生成し、当該画像データを画像形成装置102に送信する。
【0013】
画像形成装置102(例えばレーザープリンタ)は、データ処理装置101から画像データを受信し、当該画像データに基づいてシートに画像形成を行う。なお、画像形成装置102は、スキャナ機能やFAX機能等を有する複合機であってもよい。
【0014】
UI301は、ユーザインターフェースであり、ユーザに様々な情報を伝える表示部や、ユーザから様々な操作を受け付ける操作部を有する。表示部には、後述するトナー残量のカレント値が表示される。なお、トナー残量のカレント値は、外部I/Fを介してデータ処理装置101等の外部装置に送信し、データ処理装置101等の外部装置が有する表示部に表示してもよい。
【0015】
コントローラ302は、PDLデータに基づいてビットマップデータを生成し、当該ビットマップデータをプリントエンジン303に送信する。コントローラ302の詳細は、
図2を用いて後述する。
【0016】
プリントエンジン303は、コントローラ302から受信したビットマップデータに基づいて、電子写真方式でトナーを用いてシートに画像形成を行う。なお、画像形成の方式は、電子写真方式以外の、例えばインクジェット方式等でもよい。この場合、電子写真方式の記録材はトナーであるが、インクジェット方式の記録材はインクである。
【0017】
なお、コントローラ302とプリントエンジン303は、別体としているが、一体であってもよい。
【0018】
図2は、コントローラの構成を示すブロック図である。
【0019】
CPU401は、ROM402に格納されたプログラムをRAM403に展開し、当該プログラムを実行して画像形成装置102の制御を行う。また、CPU401は、後述するように、ドットカウント部409でカウントされるドットカウントから換算されるトナー消費量の予測値や、プリントエンジン303から通知されるトナー残量のセンサー値に基づいて、トナー残量を算出する。そして、CPU401は、算出したトナー残量を、パネルI/F405を介してUI301に表示したり、外部I/F404を介してデータ処理装置101に通知したりする。
【0020】
ROM402は、CPU401が実行するプログラム等を記憶する。
【0021】
RAM403は、ROM402から展開されたプログラム等を記憶する。また、RAM403は、PDLデータ、PDLデータを解釈して生成される中間データ、中間データをレンダリングして生成されるビットマップデータ、その他の処理に必要な一時的な各種処理ステータスやログ情報等も記憶する。
【0022】
外部I/F404は、データ処理装置101とコントローラ302とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【0023】
パネルI/F405は、UI301とコントローラ302とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【0024】
エンジンI/F406は、プリントエンジン303とコントローラ302とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【0025】
DMAC407は、CPU401から命令を受け、RAM403に対してデータアクセスすなわちデータの書き込みや読み出しを行う。
【0026】
レンダリング部408は、中間データをビットマップデータに展開する。
【0027】
ドットカウント部409は、展開されたビットマップデータに含まれるドットのうち、画像形成を行う際にトナーを消費するドットの数をカウントする。具体的には、白以外の色のドット数がカウントされる。例えば、モノクロ印刷の場合は、K(黒)に対応するドット数である。また、カラー印刷の場合は、Y(イエロー)・M(マゼンダ)・C(シアン)・K(黒)の何れかに対応するドットの数である。なお、ドット数のカウントは、CPU401やレンダリング部408が行ってもよい。
【0028】
EEPROM410は、画像形成装置102の設定情報等を記憶する。
【0029】
バス411は、コントローラ302内の各構成を相互に接続する。
【0030】
図3は、プリントエンジンの構成を示すブロック図である。
【0031】
CPU501は、ROM502に格納されたプログラムをRAM503に展開し、当該プログラムを実行してプリントエンジン303の制御を行う。
【0032】
ROM502は、CPU501が実行するプログラム等を記憶する。
【0033】
RAM503は、ROM502から展開されたプログラム等を記憶する。
【0034】
トナー残量センサー504は、カートリッジ509に含まれるトナー残量を計測する。センサーにおけるトナー残量の検知方式としては、例えば、透磁率検知式、マグネット式、圧電振動式、透過光式等が存在する。センサーは、例えば、トナー残量が20%、0%等の所定値に達した場合に、その値をセンサー値として検知する。つまり、トナー残量が100%〜21%であるときは100%、トナー残量が20%〜1%であるときは20%、トナー残量が0%であるときは0%として検知する。なお、センサーは、カートリッジ509の中に備えられることとしてもよい。
【0035】
駆動制御部505は、画像形成部508が画像形成を行う際に必要な各種モーターを駆動させる。
【0036】
ステータス変化検知部506は、画像形成装置におけるジャムやカバーオープン等のステータス変化を検知する。また、ステータス変化検知部506は、カートリッジ509の交換も検知する。なお、テータス変化の検知は、CPU501が行うこととしてもよい。
【0037】
コントローラI/F507は、コントローラ302とプリントエンジン303とを相互に接続し、双方間のデータ通信すなわちデータの送信や受信を中継する。
【0038】
画像形成部508は、コントローラ302から受信したビットマップデータに基づいて、電子写真方式でトナーを用いてシートに画像形成を行う。
【0039】
カートリッジ509は、トナーを収容する収容部として、画像形成装置102に装着可能な所謂プロセスカートリッジであり、画像形成部508が画像形成を行う際に使用するトナー等を格納する。また、カートリッジ509は、不揮発性の記憶媒体を有し、その中にはカートリッジ情報が記憶される。カートリッジ情報には、例えば、カートリッジが新品か否かを示す情報、カートリッジの色を示す色情報、カートリッジの現在のトナー残量を示すトナー残量情報等が含まれる。なお、カートリッジ509は、バス510には接続されているが、専用線を介してCPU501と接続されることとしてもよい。
【0040】
バス510は、プリントエンジン303内の各構成を相互に接続する。
【0041】
図4及び
図5は、トナーの残量検知の制御を示すフローチャートである。
【0042】
左側のフローチャートに示す制御は、コントローラ302において、CPU401がROM402に格納された制御プログラムをRAM403に展開して実行することにより実現される。また、右側のフローチャートに示す制御は、プリントエンジン303において、CPU501がROM502に格納された制御プログラムをRAM503に展開して実行することにより実現される。
【0043】
まず、CPU501は、カートリッジ509が交換されたか否か判断する(S201)。これは、画像形成装置102にカートリッジ509が新たに装着されたことを検出することによって判断する。カートリッジ509が装着されたことは、ステータス変化検知部506がカートリッジ509の装着を検知しCPU501に通知することによって認識される。カートリッジ509の装着は、カートリッジ509を交換するために設けられたカバーの開閉よって検知してもよいし、部品の着脱に応じてハード的にオン/オフ状態が変化するボタンやスイッチ等によって検知してもよい。S201でYESの場合、S202に進む。S201でNOの場合、待機する。
【0044】
次に、CPU501は、カートリッジ509が交換された旨を示すカートリッジ交換通知を、コントローラI/F507を介してコントローラ302へ送信する(S202)。
【0045】
次に、CPU401は、カートリッジ交換通知を、エンジンI/F406を介してプリントエンジン303から受信したか否か判断する(S101)。S101でYESの場合、S102に進む。S101でNOの場合、待機する。
【0046】
次に、CPU401は、カートリッジ509のカートリッジ情報を要求するカートリッジ情報要求を、エンジンI/F406を介してプリントエンジン303へ送信する(S102)。
【0047】
次に、CPU501は、カートリッジ情報要求を、コントローラI/F507を介してコントローラ302から受信したか否か判断する(S203)。S203でYESの場合、S204に進む。S203でNOの場合、待機する。
【0048】
次に、CPU501は、カートリッジ509のカートリッジ情報を、コントローラI/F507を介してコントローラ302へ送信する(S204)。
【0049】
次に、CPU401は、カートリッジ情報を、エンジンI/F406を介してプリントエンジン303から受信したか否か判断する(S103)。S103でYESの場合、S104に進む。S103でNOの場合、待機する。
【0050】
次に、CPU401は、カートリッジ情報に基づいて、トナー残量のカレント値の初期化を行う(S104)。ここで、トナー残量のカレント値とは、コントローラ302がカートリッジ509のトナー残量として認識している値であり、UI301を介してユーザに表示される値である。トナー残量のカレント値の初期化は、具体的には、カートリッジ情報を参照し、カートリッジが新品であることが分かれば、トナー残量のカレント値を100%に設定する。また、カートリッジが新品であることが分からなければ、トナー残量のカレント値を前述したカートリッジ情報に含まれるトナー残量情報に対応する値に設定する。トナー残量のカレント値は、RAM403等に保持される。
【0051】
次に、CPU401は、画像形成を実行すべきジョブを、外部I/F404を介してデータ処理装置101から入力したか否か判断する(S105)。ここで、ジョブとしては、PDL印刷ジョブ、コピージョブ、FAX受信印刷ジョブ等が挙げられる。S105でYESの場合、S106に進む。S105でNOの場合、S111へ進む。
【0052】
次に、CPU401は、ジョブに基づいて、画像形成に必要な画像処理を実行する(S106)。ここで、画像処理の中には、レンダリング部408を制御して、印刷データを展開しラスタデータを生成する処理が含まれる。
【0053】
次に、CPU401は、画像処理によって生成されたラスタデータを、エンジンI/F406を介してプリントエンジン303へ送信する(S107)。
【0054】
次に、CPU401は、ドットカウント部409から、ラスタデータの生成時に計測されたドットカウント値を取得する(S108)。なお、ドットカウント値は、ページ単位で取得してもよいし、ジョブ単位で取得してもよい。
【0055】
次に、CPU401は、S108で取得したドットカウント値に基づいて、トナー残量の予測値を算出する(S109)。具体的には、まず、(今回のジョブ又はページの印刷実行時におけるドットカウント値〔dot〕)×(ドット毎のトナー消費量〔g/dot〕)=(今回のジョブ実行によるトナー消費量〔g〕)という計算を行う。ここで、ドット毎のトナー消費量は、ROM402に予め格納されていてもよいし、S103で受信したカートリッジ情報に含まれていてもよい。次に、(現在のトナー残量〔g〕)―(今回のジョブ実行によるトナー消費量〔g〕)=(新たなトナー残量〔g〕)という計算を行う。次に、(新たなトナー残量〔g〕)/(カートリッジの未使用状態におけるトナー残量〔g〕)=(新たなトナー残量の予測値〔%〕)という計算を行う。ここで、カートリッジの未使用状態におけるトナー残量は、ROM402に予め格納されていてもよいし、S103で受信したカートリッジ情報に含まれていてもよい。
【0056】
次に、CPU401は、S109で算出した予測値により、トナー残量のカレント値の更新処理を実行する(S110)。この処理の詳細は、
図6を用いて後述する。
【0057】
一方、CPU501は、ラスタデータを、コントローラI/F507を介してコントローラ302から受信したか否か判断する(S205)。S205でYESの場合、S206に進む。S205でNOの場合、S208へ進む。
【0058】
次に、CPU501は、画像形成部508を制御することにより、ラスタデータに基づいて画像形成を実行する(S206)。
【0059】
次に、CPU501は、トナー残量センサー504から、トナー残量のセンサー値を取得する(S207)。なお、センサー値取得のタイミングは、ページ単位で画像形成が完了したタイミングでもよいし、ジョブ単位で画像形成が完了したタイミングでもよい。また、センサー値取得のタイミングは、所定の時間が経過する度としてもよい。
【0060】
次に、CPU501は、今回取得したセンサー値が、前回取得したセンサー値から変化したか否か判断する(S208)。S208でYESの場合、S209に進む。S208でNOの場合、S205に戻る。
【0061】
次に、CPU501は、センサー値が変化した旨を示すセンサー値変化通知を、コントローラI/F507を介してコントローラ302へ送信する(S209)。
【0062】
次に、CPU401は、センサー値変化通知を、エンジンI/F406を介してプリントエンジン303から受信したか否か判断する(S111)。S111でYESの場合、S112に進む。S111でNOの場合、S105に戻る。
【0063】
次に、CPU401は、センサー値を要求するセンサー値要求を、エンジンI/F406を介してプリントエンジン303へ送信する(S112)。
【0064】
次に、CPU501は、センサー値要求を、コントローラI/F507を介してコントローラ302から受信したか否か判断する(S210)。S210でYESの場合、S211に進む。S210でNOの場合、待機する。
【0065】
次に、CPU501は、センサー値を、コントローラI/F507を介してコントローラ302へ送信する(S211)。
【0066】
次に、CPU401は、センサー値を、エンジンI/F406を介してプリントエンジン303から受信したか否か判断する(S113)。S113でYESの場合、S114に進む。S113でNOの場合、待機する。
【0067】
次に、CPU401は、S113で受信したセンサー値で、トナー残量のカレント値を更新する(S114)。このとき、今回取得したセンサー値は、RAM403等に保持しておく。なお、前回取得したセンサー値が保持されていれば、それを今回取得したセンサー値で更新する。
【0068】
次に、CPU401は、トナー残量のカレント値を参照して、トナー残量がゼロになったか否か判断する(S115)。S115でYESの場合、処理を終了する。S115でNOの場合、S105に戻る。
【0069】
一方、CPU501は、トナー残量のセンサー値を参照して、トナー残量がゼロになったか否か判断する(S212)。S212でYESの場合、処理を終了する。S212でNOの場合、S205に戻る。
【0070】
図6は、予測値によるトナー残量の更新処理の詳細を示すフローチャートである。
【0071】
まず、CPU401は、S109で算出したトナー残量の予測値が、次のセンサー値より小さいか否か判断する(S301)。ここで、次のセンサー値とは、次に、S208でトナー残量センサー504がセンサー値の変化を検知した際に、S113で受信することになる筈のセンサー値のことである。具体的には、例えば、トナー残量センサー504の精度として100%、40%、0%の各ポイントでセンサー値を検知可能である場合、前に取得したセンサー値が100%であるときは、次のセンサー値は40%である。S301でYESの場合、S302に進む。S301でNOの場合、S303に進む。
【0072】
次に、CPU401は、S109で算出したトナー残量の予測値を、次のセンサー値で置き換える(S302)。
【0073】
次に、CPU401は、トナー残量の予測値で、トナー残量のカレント値を更新する(S303)。すなわち、S301でYESの場合には、S302で置き換えられた次のセンサー値で、トナー残量のカレント値を更新することになり、S301でNOの場合には、S109で算出したトナー残量の予測値で、トナー残量のカレント値を更新することになる。
【0074】
図7は、トナー残量の警告処理を示すフローチャートである。
【0075】
このフローチャートに示す制御は、CPU401がROM402に格納された制御プログラムをRAM403に展開して実行することにより実現される。
【0076】
また、このフローチャートに示す制御は、
図4及び
図5を用いて説明した制御から独立し並行して実行されるものである。制御が実行されるタイミングとしては、所定時間が経過する度であってもよいし、所定数のジョブを実行する度や、所定数のページの印刷を実行する度であってもよい。
【0077】
まず、CPU401は、RAM403に保持されたカレント値が、トナーOUT条件を満たすか否か判断する(S401)。ここで、トナーOUT条件とは、トナー残量が、例えば0%等、既に印刷動作を継続できないと見なされる値以下となっていることである。S401でYESの場合、S402に進む。S401でNOの場合、S403に進む。
【0078】
次に、CPU401は、RAM403に保持されたセンサー値が、トナーOUT条件を満たすか否か判断する(S402)。S402でYESの場合、S405に進む。S402でNOの場合、S403に進む。
【0079】
次に、CPU401は、RAM403に保持されたカレント値が、トナーLOW条件を満たすか否か判断する(S403)。ここで、トナーLOW条件とは、トナー残量が、例えば40%等、あと少しで印刷動作を継続できなくなると見なされる値以下となっていることである。S403でYESの場合、S404に進む。S403でNOの場合、処理を終了する。
【0080】
次に、CPU401は、トナーLOWの警告処理を行う(S404)。ここで、トナーLOWの警告処理とは、画像形成動作を一時停止することなく、トナー残量が少なくなったことを示す情報や、カートリッジの準備を促す情報を、UI301に表示したりデータ処理装置101へ送信したりすることである。なお、トナーLOWの警告処理を行う際に、新たなカートリッジの発注を自動的に行うこととしてもよい。
【0081】
次に、CPU401は、トナーOUTの警告処理を行う(S405)。ここで、トナーOUTの警告処理とは、画像形成動作を一時停止し、トナー残量が無くなったことを示す情報や、カートリッジの交換を促す情報を、UI301に表示したりデータ処理装置101へ送信したりすることである。
【0082】
図8は、トナー残量のカレント値の推移を示す図である。
【0083】
501は、センサー値として取得可能な値である。本実施形態では、100%、40%、0%の値がセンサー値として取得可能である。
【0084】
502は、現実のトナー残量の推移である。ここで、現実のトナー残量とは、実際に存在しているトナー残量の正確な値であり、例えばセンサーが全体域に渡って非常に精度の良いものでない限り、直接的に取得することは非常に困難である。
【0086】
また、本実施形態によれば、
図6により、センサー値40%が検知される前にカレント値が40%に達した場合、S302により、センサー値40%が検知されるまでの間は、カレント値が40%で維持する。これにより、センサー値40%において、カレント値とセンサー値の乖離が補正されることとなる。
【0087】
また、本実施形態によれば、
図7により、例えば、カレント値が先に0%になった場合(S401:YES)であっても、センサー値が0%になっていない場合(S402:NO)には、トナーOUTの警告処理が行われずに済むこととなる。
【0088】
〔他の実施形態〕
本発明は、以下の処理を実行することによっても実現される。
【0089】
即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。