(57)【特許請求の範囲】
【請求項１】
所定の使用状況を表すカウント値を保持する保持手段と、
リングバッファを構成し、不揮発性を有する第一記憶手段と、
前記保持手段のカウント値を、前記リングバッファに第一バックアップ値として順次保存する第一バックアップ手段と、
不揮発性を有する第二記憶手段と、
前記保持手段のカウント値を、前記第二記憶手段に第二バックアップ値として保存する第二バックアップ手段と、
前記保持手段のカウント値と、前記リングバッファにおける最新の第一バックアップ値との整合性を判別する第一判別手段と、
前記リングバッファにおける最新および最新でない複数の第一バックアップ値と、前記第二記憶手段の第二バックアップ値とに基づき、最新の第一バックアップ値と、第二バックアップ値との整合性を判別する第二判別手段と、
前記第一判別手段が不整合で、前記第二判別手段が整合と判別した場合に、前記保持手段のカウント値がエラーと判別する第三判別手段と、を備える画像形成装置。
【請求項２】
前記第二判別手段が不整合と判別すると、前記リングバッファにおける最新の第一バックアップ値を、前記保持手段のカウント値で修正する修正手段をさらに備える、請求項１に記載の画像形成装置。
【請求項３】
前記所定の使用状況は、前記画像形成装置における総印刷枚数、および、前記画像形成装置のユーザへの課金量に関連する量の少なくとも一方を計数する、請求項１または２に記載の画像形成装置。
【請求項４】
前記第一判別手段が整合と判別すると、前記第二判別手段の処理は行われない、請求項１〜３のいずれかに記載の画像形成装置。
【請求項５】
画像形成装置に備わるコンピュータに、
所定の使用状況を表すカウント値を保持する保持ステップと、
前記保持ステップにおけるカウント値を、不揮発性を有する第一記憶手段に設けられたリングバッファに第一バックアップ値として順次保存する第一バックアップステップと、
前記保持ステップのカウント値を、不揮発性を有する第二記憶手段に第二バックアップ値として保存する第二バックアップステップと、
前記保持ステップのカウント値と、前記リングバッファにおける最新の第一バックアップ値との整合性を判断する第一判別ステップと、
前記リングバッファにおける最新および最新でない複数の第一バックアップ値と、前記第二記憶手段の第二バックアップ値とに基づき、最新の第一バックアップ値と、第二バックアップ値との整合性を判別する第二判別ステップと、
前記第一判別ステップで不整合と判断し、前記第二判別ステップで整合と判断した場合にエラーと判別する第三判別ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カウント値のエラーを検出する画像形成装置およびプログラムに関する。
【背景技術】
【０００２】
従来、この種の画像形成装置としては、例えば、下記特許文献１，２がある。特許文献１の画像形成装置では、前回監視時の格納部Ａの印刷枚数データが格納部Ｂのログ履歴領域に格納される。その後、格納部Ａへの監視要求がなければ、格納部Ａに格納された監視条件データ（時間間隔，時刻）が監視部に入力され、時刻カウントが開始される。カウント値が監視条件データ値に一致すれば、監視部では、格納部Ａのデータと格納部Ｂのデータとが比較されて、格納部Ａのデータが誤りであれば、エラー情報が通知される。
【０００３】
また、特許文献２の画像形成装置では、複数のサブカウンタは、不揮発性メモリ内に設けられ、互いに連続する値の初期値が設定されている。また、カウントアップ時、複数のサブカウンタの値のうち、最大の値と二番目に大きな値とが連続していなければ、最小の値を持つサブカウンタの値は、二番目に大きな値に２を加えた値に書き換えられる。それに対し、最大の値と二番目に大きな値とが連続していれば、最小の値を持つサブカウンタの値は、最大の値に１を加えた値に書き換える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１５４８１４号公報
【特許文献２】特開平７−７８２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の画像形成装置では、カウント値が正確にも関わらず、バックアップ値が不正確であれば、エラー判断がなされてしまう。
【０００６】
それゆえに、本発明の目的は、カウント値が正確にも関わらずエラーと判別されることを低減可能な画像形成装置およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の一形態は、所定の使用状況を表すカウント値を保持する保持手段と、リングバッファを構成し、不揮発性を有する第一記憶手段と、前記保持手段のカウント値を、前記リングバッファに第一バックアップ値として順次保存する第一バックアップ手段と、不揮発性を有する第二記憶手段と、前記保持手段のカウント値を、前記第二記憶手段に第二バックアップ値として保存する第二バックアップ手段と、前記保持手段のカウント値と、前記リングバッファにおける最新の第一バックアップ値との整合性を判別する第一判別手段と、前記リングバッファにおける最新および最新でない複数の第一バックアップ値と、前記第二記憶手段の第二バックアップ値とに基づき、最新の第一バックアップ値と、第二バックアップ値との整合性を判別する第二判別手段と、前記第一判別手段が不整合で、前記第二判別手段が整合と判別した場合に、前記保持手段のカウント値がエラーと判別する第三判別手段と、を備える画像形成装置である。
【０００８】
本発明の他の形態は、画像形成装置に備わるコンピュータに、所定の使用状況を表すカウント値を保持する保持ステップと、前記保持ステップにおけるカウント値を、不揮発性を有する第一記憶手段に設けられたリングバッファに第一バックアップ値として順次保存する第一バックアップステップと、前記保持ステップのカウント値を、不揮発性を有する第二記憶手段に第二バックアップ値として保存する第二バックアップステップと、前記保持ステップのカウント値と、前記リングバッファにおける最新の第一バックアップ値との整合性を判断する第一判別ステップと、前記リングバッファにおける最新および最新でない複数の第一バックアップ値と、前記第二記憶手段の第二バックアップ値とに基づき、最新の第一バックアップ値と、第二バックアップ値との整合性を判別する第二判別ステップと、前記第一判別ステップで不整合と判断し、前記第二判別ステップで整合と判断した場合にエラーと判別する第三判別ステップと、を実行させるためのプログラムである。
【発明の効果】
【０００９】
上記各形態によれば、カウント値が正確にも関わらずエラーと判別されることを低減可能な画像形成装置およびプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】画像形成装置の構成を示す模式図である。
【図２】図１の制御回路基板の詳細な構成を示すブロック図である。
【図３】印刷動作中における図２のＣＰＵの処理を示すフロー図である。
【図４】カウント処理中における図２のＣＰＵの処理を示すフロー図である。
【図５】エラー判別処理における図２のＣＰＵの処理を示すフロー図である。
【図６】図６のＳ２１の詳細な処理を示すフロー図である。
【図７】図５の処理内容の具体例を示す模式図である。
【図８】図６のＳ２３の詳細な処理を示すフロー図である。
【発明を実施するための形態】
【００１１】
以下、上記図面を参照して、画像形成装置およびプログラムについて詳説する。
【００１２】
《第一欄：画像形成装置の全体構成・印刷動作》
図１，図２において、画像形成装置１は、例えば、複写機、プリンタまたはファクシミリ、もしくは、これらの機能を備えた複合機であって、画像を印刷媒体Ｍ（例えば用紙）に印刷する。そのために、画像形成装置１は、大略的に、給紙部２と、レジストローラ対３と、画像形成部４と、定着器５と、制御回路基板６と、第二記憶手段７と、を備える。
【００１３】
給紙部２には、未使用の印刷媒体Ｍが積載される。給紙部２は、回転する給紙ローラ２１により印刷媒体Ｍを一枚ずつ、図１中に破線で示す搬送経路に送り出す。
レジストローラ対３は、給紙部２を基準として印刷媒体Ｍの搬送方向の下流側に設けられる。レジストローラ対３は、給紙部２から送り出された印刷媒体Ｍを一旦停止させた後、所定のタイミングで二次転写領域に送り出す。
【００１４】
画像形成部４は、例えば、周知の電子写真方式およびタンデム方式により、トナー画像を中間転写ベルト４１上に生成する。かかるトナー画像は、中間転写ベルト４１により担持され、二次転写領域に向けて搬送される。
【００１５】
二次転写領域には、レジストローラ対３から印刷媒体Ｍが送り込まれ、また、画像形成部４からトナー画像が中間転写ベルト４１に担持されつつ搬送されてくる。二次転写領域において、トナー画像は中間転写ベルト４１から印刷媒体Ｍに転写される。
【００１６】
定着器５において、加熱ローラおよび加圧ローラは当接してニップを形成する。加熱ローラは加圧ローラの回転に従動して回転する。印刷媒体Ｍは、ニップに送り込まれると、両ローラにより加圧されると共に加熱ローラにより加熱される。その結果、印刷媒体Ｍにトナーが定着する。その後、印刷媒体Ｍは排紙トレイに向けて送り出される。
【００１７】
制御回路基板６は、入出力インターフェイス(以下、Ｉ／Ｏという)６１と、ＣＰＵ６２と、ＲＯＭ６３と、ＲＡＭ６４と、保持手段６５と、第一記憶手段６６と、を備えている。
【００１８】
Ｉ／Ｏ６１は、画像形成装置１の各構成からＣＰＵ６２に向けて送信されてくる各種データを受信してＣＰＵ６２に転送する。
ＣＰＵ６２は、ＲＯＭ６３に格納された各種プログラム６７を、ＲＡＭ６４を作業領域として使いながら実行する。ＣＰＵ６２は、画像形成装置１における印刷の制御等、様々な制御を行うが、本実施形態で重要であるのは、画像形成装置１に関して予め定められた使用状況毎のカウンタにより計数を行って計数結果をカウント値として保持すると共に、カウント値にエラーが生じているか否かを判別することである。以下、本明細書では、この判断をエラー判別という。
【００１９】
保持手段６５と、第一記憶手段６６とは、少なくともエラー検出処理に使用される。
まず、保持手段６５は、典型的には、小容量のＮＶＲＡＭ（Ｎｏｎ-Ｖｏｌａｔｉｌｅ ＲＡＭ）であって、例えば、使用状況毎に、ＣＰＵ６２による計数結果をカウント値として保持するために使用される。本実施形態では、保持手段６５は、使用状況毎に一つの計数結果のみ格納可能な記憶領域を有するとする。以上の保持手段６５は、ＣＰＵ６２と組み合わさって使用状況毎のカウンタを構成する。
【００２０】
ここで、使用状況毎のカウンタには、画像形成装置１の各構成のメンテナンス時期を判断するためのメンテナンスカウンタ、または、画像形成装置１の総印刷枚数やユーザへの課金量を判断するための使用量カウンタが含まれる。本実施形態では、使用量カウンタとして、画像形成装置１による総印刷枚数（以下、単に総印刷枚数という）のカウンタが例示される。また、メンテナンスカウンタとしては下記の三つが例示される。
（１）現在の給紙ローラ２１が送出した用紙枚数（送出枚数）のカウンタ
（２）現在の転写ベルト４１が形成した画像数（画像形成数）のカウンタ
（３）現在の定着器５が定着処理した用紙枚数（定着枚数）のカウンタ
【００２１】
第一記憶手段６６は、典型的には半導体素子メモリ等であって、データの読み書きが相対的に高速なＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。かかる第一記憶手段６６には、使用状況毎に、論理的・概念的に環状をなすｉ個（ｉは２以上の整数）の記憶領域（Ｃ）〜（Ｃ−（ｉ−１））からなるリングバッファが形成されて、最新ｉ個分のデータを古いものから順番に保持できるようになっている。図２には、ｉ＝４の場合が例示される。
【００２２】
上記記憶領域（Ｃ）〜（Ｃ−（ｉ−１））には、ＣＰＵ６２により保持手段６５に格納されるカウント値が第一バックアップ値として順番にバックアップされる。  
【００２３】
本実施形態では、総印刷枚数、送出枚数、画像形成数および定着枚数というように、四種の使用状況が例示され、ｉは４と例示される。この場合、第一記憶手段６６には、表１に示すように、四種の使用状況毎に、四個の記憶領域（Ｃ），（Ｃ−１），（Ｃ−２），（Ｃ−３）が準備される。
【００２４】
【表１】
0006393927.tif 000002
【００２５】
また、画像形成装置１において、第二記憶手段７は、ローカルまたはリモートのハードディスクドライブ等のように、不揮発性を有する。また、第二記憶手段７は、例えば、データの読み書きに関し上記第一記憶手段６６よりも低速である。第二記憶手段７には、使用状況毎に少なくとも一つのカウント値を格納可能な記憶領域が準備される。この記憶領域には、保持手段６５のカウント値が第二バックアップ値として格納される。
【００２６】
ここで、第一記憶手段６６および第二記憶手段７へのバックアップのタイミングは、各種プログラム６７に予め定義される。本実施形態では、カウント値の最終更新時から所定時間が経過した時に、第一記憶手段６６および第二記憶手段７へのバックアップがなされるとして、説明を続ける。なお、他にも、例えば、保持手段６５へのカウント値の更新に同期して第一記憶手段６６および第二記憶手段７へのバックアップがなされても良いし、システムタイマの値に基づき定期的に、保持手段６５のカウント値が第一記憶手段６６および第二記憶手段７へのバックアップがなされても良い。また、第一記憶手段６６および第二記憶手段７へのバックアップタイミングは互いに異なっていても良い。
【００２７】
《第二欄：ＣＰＵの動作・処理》
ＣＰＵ６２は、画像形成装置１の主電源が投入されている間、各種プログラム６７に従って、エラー判別以外にも印刷や計数等の処理を行う。以下、これら処理を詳説する。
【００２８】
ＣＰＵ６２は、印刷動作中、印刷制御手段として機能する。画像形成装置１が印刷動作中に（図３：Ｓ０１）、使用状況毎のカウンタ値を更新すべき事象（本実施形態では、総印刷枚数、送出枚数、画像形成数および定着枚数のいずれか一つが１だけ増加）が発生するたびに（Ｓ０２）、印刷制御手段としてのＣＰＵ６２は、対応する使用状況のカウントアップ要求を、カウント処理手段として機能するＣＰＵ６２に渡す（Ｓ０３）。
【００２９】
カウント処理手段としてのＣＰＵ６２は、カウントアップ要求を受け取った後（図４：Ｓ１１）、保持手段６５に保持されたカウント値のうち、対象となる使用状況のカウント値を１だけインクリメントし更新する（Ｓ１２）。
【００３０】
次に、ＣＰＵ６２は、保持手段６５の各カウント値の最終更新から所定時間が経過したか否かを監視し、いずれかのカウント値の最終更新から所定時間が経過すると（Ｓ１３）、Ｓ１４を行う。
【００３１】
Ｓ１４では、ＣＰＵ６２は、対象となるカウント値（つまり、最終更新から所定時間が経過したカウント値）を、第一バックアップ値として第一記憶手段６６の記憶領域（Ｃ）に保存し、さらに、Ｓ１５にて、第二バックアップ値として同カウント値を第二記憶手段７に保存する。
【００３２】
ＣＰＵ６２は、予め定められたタイミングでエラー判別を開始する。この開始タイミングは、Ｓ１５の完了後として説明を続けるが、それ以外のタイミングでも良い。また、エラー判別は使用状況毎に行われる。
【００３３】
図５において、ＣＰＵ６２は、エラー判別手段として機能する。まず、ＣＰＵ６２は、第一判別処理を行い（Ｓ２１）、Ｓ２１の判別結果がデータ不整合であれば（Ｓ２２）、第二判別処理を行う（Ｓ２３）。また、Ｓ２３の判別結果が整合であれば（Ｓ２４）、ＣＰＵ６２は第三判別処理を行うが（Ｓ２５）、そうでない場合には、記憶領域（Ｃ）の第一バックアップ値を修正する（Ｓ２６）。また、Ｓ２２で不整合でないか、Ｓ２５，Ｓ２６の次に、図５の処理は終了する。
【００３４】
以下、第一判別処理の詳細について説明する。図６において、ＣＰＵ６２は、第一判別手段として機能し、ある使用状況について、保持手段のカウント値と、第一記憶手段６６の記憶領域（Ｃ）に保存された最新の第一バックアップ値とを比較して、カウント値の方が大きいか否かを判断する（Ｓ３１）。
【００３５】
Ｓ３１でＹｅｓと判断すると、ＣＰＵ６２は、カウント値から第一バックアップ値を引き算して差分値を求め（Ｓ３２）、その後、この差分値が下記の数値範囲内に入っているか否かを判断する（Ｓ３３）。
【００３６】
Ｓ３３の数値範囲は次のように定義される。まず、下限値は０である。それに対し、上限値は、カウント値の最終更新時からの現在までに、対象となる使用状況のカウント値が変化しうる最大値である。例えば、使用状況が総印刷枚数の場合には、カウント値の最終更新時からの現在までの時間内に、画像形成装置１が印刷可能な最大の枚数となる。送出枚数、画像形成数および定着枚数に関しても、同様の手法で数値範囲が定義される。
【００３７】
以上の数値範囲内に差分値が入っていれば（つまり、Ｓ３３でＹｅｓと判断すれば）、ＣＰＵ６２は、第一バックアップ値とカウント値とが整合していると決定する（Ｓ３４）。また、Ｓ３１，Ｓ３３でＮｏと判断すると、ＣＰＵ６２は、両値が不整合と決定する（Ｓ３５）。
【００３８】
以上のＳ３４，Ｓ３５のいずれかが終わると、ＣＰＵ６２は、図６の処理を抜けて、図５のＳ２２を行う。ＣＰＵ６２は、図６の処理で不整合と決定したか否かを判断し（Ｓ２２）、Ｎｏと判断すると、図５のエラー判別を終了する。このケースが、図７の最上段に模式的に例示される。
【００３９】
それに対し、図５のＳ２２にてＹｅｓと判断すると、ＣＰＵ６２は、第二判別処理を行う（Ｓ２３）。
【００４０】
以下、第二判別処理の詳細について説明する。図８において、ＣＰＵ６２は、第一判別手段として機能し、まず、第一記憶手段６６内の最新の第一バックアップ値が次に新しい第一バックアップ値より大きいか否かを判断する（Ｓ４１）。
【００４１】
Ｓ４１でＹｅｓであれば、ＣＰＵ６２は、最新の第一バックアップ値から次に新しい第一バックアップ値を引き算して差分値を求め（Ｓ４２）、その後、この差分値が下記の数値範囲内に入っているか否かを判断する（Ｓ４３）。
【００４２】
Ｓ４３の数値範囲は、次のように定義される。まず、下限値は０である。それに対し、上限値は、第一記憶手段６６への前々回のバックアップから直前のバックアップまでに、対象となる使用状況のカウント値が変化しうる最大値である。例えば、使用状況が総印刷枚数の場合には、両バックアップの時間間隔内に、画像形成装置１が印刷可能な最大の枚数となる。送出枚数、画像形成数および定着枚数に関しても、同様の手法で数値範囲が定義される。
【００４３】
Ｓ４３でＹｅｓであれば、ＣＰＵ６２は、第一記憶手段６６内の最新の第一バックアップ値が第二記憶手段７の第二バックアップ値より大きいか否かを判断する（Ｓ４４）。
【００４４】
Ｓ４４でＹｅｓであれば、ＣＰＵ６２は、最新の第一バックアップ値から第二バックアップ値を引き算して差分値を求め（Ｓ４５）、その後、この差分値が下記の数値範囲内に入っているか否かを判断する（Ｓ４６）。
【００４５】
Ｓ４６の数値範囲は次のように定義される。まず、下限値は０である。それに対し、上限値は、第二記憶手段７へのバックアップから、第一記憶手段６６への最新のバックアップまでに、対象となる使用状況のカウント値が変化しうる最大値である。例えば、使用状況が総印刷枚数の場合には、両バックアップの時間間隔内に、画像形成装置１が印刷可能な最大の枚数となる。送出枚数、画像形成数および定着枚数に関しても、同様の手法で数値範囲が定義される。
【００４６】
Ｓ４６でＹｅｓであれば、ＣＰＵ６２は、第一記憶手段６６と第二記憶手段７の両バックアップ値が整合していると決定する（Ｓ４７）。それに対し、Ｓ４１、Ｓ４３、Ｓ４４、Ｓ４６でＮｏと判断すると、ＣＰＵ６２は、両バックアップ値が不整合であると決定する（Ｓ４８）。
【００４７】
以上のＳ４７，Ｓ４８のいずれかが終わると、ＣＰＵ６２は、図８の処理を抜けて、図５のＳ２４を行う。ＣＰＵ６２は、図８の処理で整合と決定したか否かを判断し（Ｓ２４）、Ｙｅｓと判断すると、保持手段６５のカウント値にエラーが生じていると判別する（Ｓ２５）。エラーが発生したことは、例えば、ＣＰＵ６２の制御下で画像形成装置１の表示装置等に表示されて、ユーザやサービスマン等に通知される。このＳ２５に至るケースが図７の最下段に模式的に例示される。
【００４８】
それに対し、Ｓ２４でＮｏと判断すると、ＣＰＵ６２は、第一記憶手段６６の記憶領域（Ｃ）に格納された第一バックアップ値にエラーが生じていると決定して、この第一バックアップ値を、保持手段６５のカウント値に変更し、エラーを生じていた第一バックアップ値を修正する（Ｓ２６）。Ｓ３８に至るケースが図７の第二、第三段目に模式的に例示される。
【００４９】
《第三欄：エラー検出処理の作用・効果》
以上説明したように、本実施形態では、第一判別処理にて、最新の第一バックアップ値とカウント値とが不整合と判断され、かつ、第二判別処理にて、最新の第一バックアップ値と第二バックアップ値とが整合していると判断された場合に限り、第三判別処理にて、カウント値にエラーが生じていると判断される。このように、第二判別処理により、第一バックアップ値にエラーが生じているのか否かが判別されるため、カウント値が正確であるにも関わらず、カウント値にエラーが発生しているとＣＰＵ６２が判断することが最低限に抑えられる。
【００５０】
また、実情（つまり、カウント値がエラーを起こす頻度）を考慮すると、殆どの場合が、カウント値と最新の第一バックアップ値との整合を判断するだけで足りる。つまり、エラー判別は、大抵の場合、第一判別処理で完了する。よって、本エラー判別のように、第一判別処理と、第二判別処理とに分けて、大抵の場合を、第一判別処理で完結させることにより、より高速にかつＣＰＵリソース等に過負荷をかけることなくエラー検出を完了させることが可能となる。
【００５１】
また、第二記憶手段７は、好ましくは、画像形成装置１に内蔵されたＨＤＤ（ローカルＨＤＤ）およびネットワーク接続されたＨＤＤ（リモートＨＤＤ）である。かかる第二記憶手段７へのアクセス頻度は、制御回路基板６に実装されたメモリ領域へのそれよりも低く抑えることができるため、ＣＰＵ６２への負荷を抑えることが可能となる。
【産業上の利用可能性】
【００５２】
本発明に係る画像形成装置およびプログラムは、カウント値は正確にも関わらず、エラー判断がなされることを低減可能であり、複写機、ファクシミリまたは印刷機、もしくはこれらの機能を備えた複合機等、様々な機器に好適である。
【符号の説明】
【００５３】
１  画像形成装置
６２  ＣＰＵ
６３  ＲＯＭ
６５  保持手段
６６  第一記憶手段
６７  各種プログラム
７  第二記憶手段
【図１】
0006393927.tif 000003
【図２】
0006393927.tif 000004
【図３】
0006393927.tif 000005
【図４】
0006393927.tif 000006
【図５】
0006393927.tif 000007
【図６】
0006393927.tif 000008
【図７】
0006393927.tif 000009
【図８】
0006393927.tif 000010