(57)【要約】【課題】  メモリ領域を再帰的に用いる揮発メモリを用いてもジョブの処理で発生する特定のエラーのログが上書きされる前に情報処理装置に出力する。【解決手段】    ジョブの処理で発生するエラーのログを上書き可能な揮発メモリと、上書きを制限するエラーを特定する情報を記憶する不揮発メモリとを備える画像形成装置において、発生するエラーが前記特定する情報に含まれていると判断した場合、前記エラーが前記特定エラーであると判断した場合、特定エラーログを前記揮発メモリに書き込む位置を基準として確保される前記メモリ領域に後続するエラーログが書き込まれることで変化するメモリ残量を算出する。そして、算出したメモリ残量に基づいて、前記揮発メモリに記憶させたエラーログの取得レベルを段階的に設定する。その後、設定された取得レベルがエラーログを出力すべき特定レベルであることに応じて、前記揮発メモリに書き込またエラーログを情報処理装置に出力することを特徴とする。【選択図】  図７
2014232353.tif 000002
【特許請求の範囲】
【請求項１】
ジョブを処理する画像形成装置であって、
所定容量のメモリ領域を再帰的に用いて前記ジョブの処理で発生するエラーのログを記憶する揮発メモリと、
上書きを制限するエラーを特定するための情報を記憶する不揮発メモリと、
発生するエラーが前記特定する情報に含まれる特定エラーかどうかを判断する判断手段と、
前記エラーが前記特定エラーであると判断した場合、特定エラーログを前記揮発メモリに書き込む位置を基準として確保される前記メモリ領域に後続するエラーログが書き込まれることで変化するメモリ残量を算出する算出手段と、
算出したメモリ残量に基づいて、前記揮発メモリに記憶させたエラーログの取得レベルを段階的に設定する設定手段と、
設定された取得レベルがエラーログを出力すべき特定レベルであることに応じて、前記揮発メモリに書き込またエラーログを情報処理装置に出力する制御手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記上書きを制限するエラーを特定する情報を前記不揮発メモリに指定する指定手段を備えることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記エラーのログを出力する際に、前記情報処理装置と通信可能かどうかを判別する判別手段と、
前記情報処理装置と通信可能でないと判別することに応じて、前記揮発メモリに対するエラーのログの書き込みを停止する停止手段と、
を備えることを特徴とする請求項１記載の画像形成装置。
【請求項４】
前記揮発メモリは、所定容量のメモリ領域を再帰的に用いるリングバッファメモリであることを特徴とする請求項１記載の画像形成装置。
【請求項５】
前記上書きを制限するエラーは、メモリエラー、ファーム異常、サービスエラーを含むことを特徴とする請求項１記載の画像形成装置。
【請求項６】
前記上書きを制限しないエラーは、用紙なしエラー、ジャムエラーを含むことを特徴とする請求項１記載の画像形成装置。
【請求項７】
所定容量のメモリ領域を再帰的に用いてジョブの処理で発生するエラーのログを記憶する揮発メモリと、上書きを制限するエラーを特定するための情報を記憶する不揮発メモリとを備える画像形成装置の制御方法であって、
発生するエラーが前記特定する情報に含まれる特定エラーかどうかを判断する判断工程と、
前記エラーが前記特定エラーであると判断した場合、特定エラーログを前記揮発メモリに書き込む位置を基準として確保される前記メモリ領域に後続するエラーログが書き込まれることで変化するメモリ残量を算出する算出工程と、
算出したメモリ残量に基づいて、前記揮発メモリに記憶させたエラーログの取得レベルを段階的に設定する設定工程と、
設定された取得レベルがエラーログを出力すべき特定レベルであることに応じて、前記揮発メモリに書き込またエラーログを情報処理装置に出力する制御工程と、
を備えることを特徴とする画像形成装置の制御方法。
【請求項８】
請求項７に記載の画像形成装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、画像形成装置では、装置に異常が発生した場合、原因究明、対策を迅速に行うために、装置内にログを記憶、保持することが一般的である。廉価な画像形成装置では価格を抑えるため、ログの記憶手段として少量のメモリしか備えていない場合が多い。
このような少量のメモリを有効的に使用する方法として、一定領域のメモリを確保し、直線状のバッファの両端を論理的に繋げ、環状で管理、制御を行う方法がある(以下、リングバッファと呼ぶ)。
【０００３】
リングバッファを用いると少量のメモリを有効的に使用できるが、バッファの終端まで達すると、ログが上書きされてしまうという問題がある。ログの上書きの対策として、以下のような技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−５４８０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１では、上記問題を解決するためハードディスクのような外部記憶装置が要求されるため、少量のメモリのみで外部記憶装置を備えない画像形成装置にはコスト的、スペース的にも適用が難しい。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、メモリ領域を再帰的に用いる揮発メモリを用いてもジョブの処理で発生する特定のエラーのログが上書きされる前に情報処理装置に出力できる仕組みを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成する本発明の画像形成装置は以下に示す構成を備える。
ジョブを処理する画像形成装置であって、所定容量のメモリ領域を再帰的に用いて前記ジョブの処理で発生するエラーのログを記憶する揮発メモリと、上書きを制限するエラーを特定するための情報を記憶する不揮発メモリと、発生するエラーが前記特定する情報に含まれる特定エラーかどうかを判断する判断手段と、前記エラーが前記特定エラーであると判断した場合、特定エラーログを前記揮発メモリに書き込む位置を基準として確保される前記メモリ領域に後続するエラーログが書き込まれることで変化するメモリ残量を算出する算出手段と、算出したメモリ残量に基づいて、前記揮発メモリに記憶させたエラーログの取得レベルを段階的に設定する設定手段と、設定された取得レベルがエラーログを出力すべき特定レベルであることに応じて、前記揮発メモリに書き込またエラーログを情報処理装置に出力する制御手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、メモリ領域を再帰的に用いる揮発メモリを用いてもジョブの処理で発生する特定のエラーのログが上書きされる前に情報処理装置に出力できる。
【図面の簡単な説明】
【０００８】
【図１】画像形成装置を含むシステム例を示す図である
【図２】画像形成装置のハードウェア構成を示すブロック図である。
【図３】上書き抑制対象設定ファイルの一例を示す図である。
【図４】ＦｌａｓｈＲＯＭに記憶されるプログラムリストの一例を示す図である。
【図５】ＲＡＭで管理されるログの取得レベルの変化状態を説明する図である。
【図６】ソースコードを含むプログラムが実行された際に取得されるログを示す図である。
【図７】画像形成装置の制御方法を説明するフローチャートである。
【図８】画像形成装置の制御方法を説明するフローチャートである。
【図９】画像形成装置の制御方法を説明するフローチャートである。
【図１０】画像形成装置の制御方法を説明するフローチャートである。
【図１１】画像形成装置の制御方法を説明するフローチャートである。
【図１２】画像形成装置の制御方法を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
【００１０】
図１は、本実施形態を示す画像形成装置の一例を示す図である。本例は、双方向インタフェースを用いて情報処理装置と画像形成装置が通信可能なシステム例を示す。本実施形態では、所定のジョブ、例えば情報処理装置から受信するジョブを処理する画像形成装置を例として、ジョブの処理で発生するエラーのログを上書き可能な揮発メモリとしてＲＡＭを、さらに、上書きを制限するエラーを特定する情報を記憶する不揮発メモリとしてＦｌａｓｈＲＯＭを備える例を説明する。
図１において、１００は画像形成装置で、シートに画像を形成する。１０２は双方向インタフェースで、ホストマシン（情報処理装置）１０１及び図示しない複数のホストマシンと接続し、各ホストマシンから送られるジョブを受け付けて印刷処理を行う。ホストマシンは任意のタイミングで画像形成装置１００内に保持されているログを読み出し、不図示のホストマシンのハードディスク内等に保存することが可能である。
【００１１】
図２は、図１に示した画像形成装置１００のコントローラユニットのハードウェア構成を示すブロック図である。
図２において、コントローラユニット３１３は、画像出力デバイスとして機能するプリンタ３１１と接続することで、画像データやデバイス情報の入出力を行う。ＣＰＵ３０１は、システム全体を制御するプロセッサである。ＲＡＭ３０３は、ＣＰＵ３０１が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。３５１はネットワークで、図１に示したホストマシン１０１と通信するために用いられる。３５０はＵＳＢケーブルで、ＵＳＢインタフェースを備える情報処理装置と通信するために用いられる。
【００１２】
ＮＶＲＡＭ３０４は不揮発性のメモリで構成され、画像形成装置１００に対して設定された設定情報等を記憶する。操作部３１６は、デバイスを操作するためのキーとデバイスの状態を示すＬＥＤを保持する。操作部Ｉ／Ｆ３１５は、操作部３１６とのインタフェース部で、操作部３１６の保持するＬＥＤの制御情報を送信する。
また、操作部３１６からユーザが入力した情報を、ＣＰＵ３０１に伝える役割をする。ＦｌａｓｈＲＯＭ３０２は、書き換え可能な不揮発性メモリであり、システムを制御するための各種制御プログラムが記録される。ＵＳＢインタフェース３０６は、外部装置とのＵＳＢ接続を可能にする。
【００１３】
ＬＡＮインタフェース３１４は、外部装置とのＬＡＮ接続を可能にする。以上のデバイスがシステムバス３０５上に配置される。イメージバス３０７は、システムバス３０５と画像データを高速で転送する画像バス３１２とを接続し、データ構造を変換するバスブリッジである。画像バス３１２は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス３１２上には以下のデバイスが配置される。
ラスタイメージプロセッサＲＩＰ３０８は、ＰＤＬコードのようなベクトルデータをビットマップイメージに展開する。
【００１４】
プリンタＩ／Ｆ３１０は、プリンタ３１１とコントローラユニット３１３を接続し、画像データの同期系／非同期系の変換や制御コマンドの送受信、電源供給を行う。画像処理部３０９は、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換を行ったりする。また、これに加えて、画像データの回転や、多値画像データに対してはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨ等の圧縮伸張処理を行う。プリンタ３１１は、ラスタイメージデータを用紙上の画像に変換する部分である。その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、ＣＰＵ３０１からの指示によって開始する。
【００１５】
本実施形態では、揮発性のＲＡＭ３０３の一部がログ記憶用の領域として使用される。この領域をリングバッファ３０３Ｒとして制御し、ログを記憶する。リングバッファ３０３Ｒは一定領域のメモリを確保し、直線状のバッファの両端を論理的に繋いた環状メモリとして用いて、上記ログの管理、制御を行う。いわゆるリングバッファメモリとは、所定容量のメモリ領域を再帰的に用いるメモリである。
【００１６】
図３は、図２に示したＲＡＭ３０３に対する上書き抑制対象設定ファイルの一例を示す図である。本ファイルは、リングバッファ上書き抑制対象となるエラーを設定する設定ファイル例である。本例において、上書きを制限するエラーは、メモリエラー、ファーム異常、サービスエラーの例を示し、上書きを制限しないエラーは、用紙なしエラー、ジャムエラーの例を示す。
図３において、ユーザは上書きを防ぎたいエラーに対してフラグ４０１で「ＯＮ（Ｆ＝１）」または「ＯＦＦ（Ｆ＝０）」を指定する。指定されたエラー発生時には、上書きをできるだけ抑えるモード（以下、上書き抑制モード）で動作する。なお、本設定ファイルで設定された内容は、ＮＶＲＡＭ３０４に保存される。なお、ＮＶＲＡＭ３０４に保存された内容は、情報処理装置や操作部の設定で読み出して、フラグ４０１の内容を確認したり、フラグ内容を変更、修正可能に構成されている。なお、図３において、エラーコード「１００」以降が重大なエラーに対応するエラーコードであって、上書きされてしまうことを抑制する必要があるエラーコードである。したがって、当該重大なエラーに対応するエラーコードがリングバッファ３０３Ｒに書き込まれた後、当該書き込まれたエリアにその後発生するエラーで上書きされる前に、ホスト側に通知する必要がある。また、本実施形態では、揮発メモリとして用いるＲＡＭ３０３を、ジョブの処理で発生するエラーのログをアドレス空間を巡回しながら上書き可能なリングバッファ３０３Ｒとして使用する例を説明する。
【００１７】
図４は、図２に示したＦｌａｓｈＲＯＭ３０２に記憶されるプログラムリストの一例を示す図である。本例は、ＲＡＭ３０３のリングバッファ３０３Ｒで管理されるログを出力するソースコードの一例である。
図４において、５０１はログレベルで、ログは全て、ＮＯＲＡＭＬ、ＷＡＲＮＩＮＧ、ＥＲＲＯＲ、ＣＲＩＴＩＣＡＬのレベルが設定されている。本図に示す「ＬＯＧ」はバッファにログを書きこむマクロである。
【００１８】
図５は、図１に示したＲＡＭ３０３で管理されるログの取得レベルの変化状態を説明する図である。本例は、図３に示した設定ファイルで指定されたエラーが発生した際、発生時のログが上書きされるまでのロングバッファメモリの残容量に従い、ログの取得レベルの変化を示す、残容量と取得レベルの対応テーブルである。
図５において、本実施形態では、４０パーセントという閾値をＮで表し、残容量がＮ以上の場合、すなわち残容量が４０パーセント以上の場合、ログ取得レベルはＮｏｒｍａｌとなる。ログ取得レベルがＮｏｒｍａｌの時は図４に示すように段階的に設定されたログ取得レベルＮＯＲＡＭＬ、ＷＡＲＮＩＮＧ、ＥＲＲＯＲ、ＣＲＩＴＩＣＡＬ全てのログを取得する。なお、リングバッファ３０３Ｒには、画像形成処理装置がジョブを処理する間に発生するエラーコートが順次書き込まれ、リングバッファ構造のため同一の記憶エリアに記憶されたエラーコードもその後に発生するエラーコードで上書きされる。そこで、本実施形態では、重大なエラーが発生してエラーコードが書き込まれたリングバッファ３０３Ｒの位置（アドレス）をＲＡＭ３０３の別の領域に書き込んで管理する。そして、その後のジョブ処理で発生するエラーコードが書き込まれて行く際に、当該重大なエラーが書き込まれた位置までの残容量を算出して、ホストマシン１０１が認識すべきログ取得レベルを変化させる。具体的には、ＣＰＵ３０１がログ取得レベルをＮＯＲＡＭＬ、ＷＡＲＮＩＮＧ、ＥＲＲＯＲ、ＣＲＩＴＩＣＡＬと変化させる制御を行う。ここで、ＷＡＲＮＩＮＧ、ＥＲＲＯＲ、ＣＲＩＴＩＣＡＬに対応するログ取得レベルはそれぞれ特定レベルに対応づけられ、後述するログ取得処理がそれぞれ異なるように制御される。
これにより、その後、画像形成装置で実行されるジョブにより特定のエラーが発生しても、ＣＰＵ３０１が発生するエラー時に現在のログ取得レベルを参照する制御が実行される。そして、ＣＰＵ３０１は、画像形成装置がリングバッファ３０３Ｒの特定位置に記憶させた重大なエラーコードが上書きされる前に、リングバッファ３０３Ｒに記憶された重大なエラーコードを含むエラーコードをホストマシン１０１に通知することが可能となる。そして、エラーコードがホストマシン１０１に通知された後は、ＣＰＵ３０１がリングバッファ３０３Ｒのログ取得レベルがＮＯＲＡＭＬに遷移させ、エラーコードの書き込み処理がサイクリックに実行される。
【００１９】
３０パーセントという閾値をＬＯＷ１で表し、残容量がＮ未満ＬＯＷ１以上の場合、すなわち４０パーセント未満３０パーセント以上の場合、ログ取得レベルはＷａｒｎｉｎｇとなる。ログ取得レベルがＷａｒｎｉｎｇの時は図４で設定されたＷＡＲＮＩＮＧ、ＥＲＲＯＲ、ＣＲＩＴＩＣＡＬのログを取得する。
【００２０】
２０パーセントという閾値をＬＯＷ２で表し、残容量がＬＯＷ１未満ＬＯＷ２以上の場合、すなわち３０パーセント未満２０パーセント以上の場合、ログ取得レベルはＥｒｒｏｒとなる。ログ取得レベルがＥｒｒｏｒの時は図４で設定されたＥＲＲＯＲ、ＣＲＩＴＩＣＡＬのログを取得する。
【００２１】
５パーセントという閾値をＬＯＷ３で表し、残容量がＬＯＷ２未満ＬＯＷ３以上の場合、すなわち２０パーセント未満５パーセント以上の場合、ログ取得レベルはＣｒｉｔｉｃａｌとなる。ログ取得レベルがＣｒｉｔｉｃａｌの時は図４で設定されたＣＲＩＴＩＣＡＬのみログを取得する。
なお、各閾値Ｎ、ＬＯＷ１、ＬＯＷ２、ＬＯＷ３は任意に設定可能であり、本実施例で示した数値に限らない。
【００２２】
図６は、図４に示したソースコードを含むプログラムが実行された際に取得されるログを示す図である。
図６では、ログ取得レベルがＮｏｒｍａｌの時に取得されるログを示す。Ｎｏｒｍａｌ時は図４で示されるＮＯＲＡＭＬ、ＷＡＲＮＩＮＧ、ＥＲＲＯＲ、ＣＲＩＴＩＣＡＬ全てのログが取得される。ログ取得レベルがＷａｒｎｉｎｇ時はＮＯＲＡＭＬで指定されたログは取得されず、ＷＡＲＮＩＮＧ、ＥＲＲＯＲ、ＣＩＲＩＴＣＡＬのログが取得される。
【００２３】
ログ取得レベルがＥｒｒｏｒ時はＮＯＲＡＭＬ、ＷＡＲＮＩＮＧで指定されたログは取得されず、ＥＲＲＯＲ、ＣＲＩＴＩＣＡＬのログが取得される。ログ取得レベルがＣｒｉｔｉｃａｌ時はＮＯＲＡＭＬ、ＷＡＲＮＩＮＧ、ＥＲＲＯＲで指定されたログは取得されず、ＣＩＲＩＴＩＣＡＬのログのみ取得される。
【００２４】
図７は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、図３で設定したエラーが発生した場合の画像形成装置１００のログ処理例である。なお、各ステップは、ＣＰＵ３０１がＦｌａｓｈＲＯＭ３０２に記憶された制御プログラムを実行することで実現される。
エラー発生がコントローラに通知されると（Ｓ１１０１）、ＣＰＵ３０１は、発生したエラーが図３で指定されたエラーか判断する（Ｓ１１０２）。ここで、指定されたエラーで有るとＣＰＵ３０１が判断した場合（Ｓ１１０２−Ｙｅｓ）、ＣＰＵ３０１は、ＲＡＭ３０３上に確保されるリングバッファに対するモードを上書き抑制モードに遷移させる（Ｓ１１０３）。
次に、ＣＰＵ３０１は、ログ取得レベルの設定を行い（Ｓ１１０４）、ＮＶＲＡＭ３０４から指定されたログレベルでログを取得して（Ｓ１１０５）、本処理を終了する。
一方、Ｓ１１０２で、発生したエラーが図３で指定されたエラーでないとＣＰＵ３０１が判断した場合（Ｓ１１０２−Ｎｏ）、ログレベルは初期設定のまま、Ｓ１１０５へ進む。
【００２５】
図８は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、図７に示したＳ１１０４で示される上書き抑制モードに遷移した際のログ取得レベルの設定処理例である。なお、各ステップは、ＣＰＵ３０１がＦｌａｓｈＲＯＭ３０２に記憶された制御プログラムを実行することで実現される。
まず、ＣＰＵ３０１は、図３で設定されたエラーが発生したバッファ上のアドレス（発生ポイントＰ１）をＲＡＭ３０３の別の領域に記憶する（Ｓ１２０１）。そして、ＣＰＵ３０１は、発生ポイントまでのリングバッファの残容量を算出する（Ｓ１２０２）。本実施形態では、ＣＰＵ３０１が特定エラーログが書き込まれた位置を基準として後続して発生するエラーを捉えて新たなエラーログをリングバッファ３０３Ｒに書き込み可能なメモリ残量を算出する。
そして、ＣＰＵ３０１は、算出された残容量がＬＯＷ３の下限より少ないかどうかを判断する。ここで、算出された残容量がＬＯＷ３の下限より少ないとＣＰＵ３０１が判断した場合（Ｓ１２１１）、ＣＰＵ３０１は、残容量なし処理を行い（Ｓ１２１２）、処理をリターンする。
【００２６】
一方、Ｓ１２１１で、算出された残容量（ｒｅｍａｉｎ）が下限ＬＯＷ３のより大きいとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、算出された残容量が図５で示した閾値Ｎより大きいかどうかを判断する（Ｓ１２０３）。ここで、図５で示した閾値Ｎより大きいとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、ログ取得レベルをＮｏｒｍａｌに設定して（Ｓ１２０４）、本処理リターンする。
【００２７】
一方、Ｓ１２０３で、算出された残容量が図５で示した閾値Ｎより小さいとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、残容量がＬＯＷ１より大きいかどうかを判断する（Ｓ１２０５）。ここで、残容量がＬＯＷ１より大きいと判断した場合、ＣＰＵ３０１は、ログ取得レベルをＷａｒｎｉｎｇに設定して（Ｓ１２０６）、本処理をリターンする。
【００２８】
一方、Ｓ１２０５で、残容量がＬＯＷ１より小さいとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、残容量がＬＯＷ２より大きいかどうかを判断する（Ｓ１２０７）。ここで、残容量がＬＯＷ２より大きいとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、ログ取得レベルをＥｒｒｏｒに設定して（Ｓ１２０８）、本処理をリターンする。
【００２９】
一方、Ｓ１２０７で、残容量がＬＯＷ２より小さいと判断した場合、ＣＰＵ３０１は、残容量がＬＯＷ３より大きいかどうかを判断する（Ｓ１２０９）。ここで、残容量がＬＯＷ３より大きいとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、ログ取得レベルをＣｒｉｔｉｃａｌに設定して（Ｓ１２１０）、本処理をリターンする。また、残容量がＬＯＷ３より小さいとＣＰＵ３０１が判断した場合、本処理をリターンする。
【００３０】
以下、図９、図１０、図１１を参照して、Ｓ１１０５で示されるログ取得処理の詳細について説明する。図９、図１０、図１１は、図８に示したログ取得レベルがＮｏｒｍａｌ以外に設定された場合に図４で示されるソースコードが実行される際の処理例に対応する。なお、ログ取得レベルがＮｏｒｍａｌの場合、プログラムはログのレベルに関わらず、すべてのログをリングバッファ３０３Ｒに出力する。
【００３１】
図９は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、図８に示したＳ１２０６に対応するログ取得レベルがＷａｒｎｉｎｇ時の処理例である。なお、各ステップは、ＣＰＵ３０１がＦｌａｓｈＲＯＭ３０２に記憶された制御プログラムを実行することで実現される。
ログ出力コードを実行する際、ＣＰＵ３０１は、ログのレベルがＮＯＲＡＭＬであるかどうかを判断する（Ｓ１３０１）、ここで、ログのレベルがＮＯＲＡＭＬであるとＣＰＵ３０１が判断した場合は、ログは出力しないで（Ｓ１３０２）、本処理をリターンする。
一方、Ｓ１３０１で、ログのレベルがＮＯＲＡＭＬでないとＣＰＵ３０１が判断した場合は、ＣＰＵ３０１は、リングバッファ３０３Ｒにログを出力して（Ｓ１３０３）、本処理をリターンする。
【００３２】
図１０は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、図８に示したＳ１２０８に対応するログ取得レベルがＥｒｒｏｒ時の処理例である。なお、各ステップは、ＣＰＵ３０１がＦｌａｓｈＲＯＭ３０２に記憶された制御プログラムを実行することで実現される。
ログ出力コードを実行する際、ＣＰＵ３０１は、ログのレベルがＮＯＲＡＭＬであるかどうかを判断する（Ｓ１４０１）。ここで、ログのレベルがＮＯＲＡＭＬであるとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、ログは出力しないで（Ｓ１４０２）、処理をリターンする。
【００３３】
一方、Ｓ１４０１で、ログのレベルがＮＯＲＡＭＬでないとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、ログのレベルがＷＡＲＮＩＮＧであるかどうかを判断する（Ｓ１４０３）。ここで、ログのレベルがＷＡＲＮＩＮＧであるとＣＰＵ３０１が判断した場合、ログを出力しないで（Ｓ１４０２）、本処理をリターンする。
一方、Ｓ１４０１で、ログのレベルがＷＡＲＮＩＮＧでないと判断した場合、ログのレベルがＥＲＲＯＲ、ＣＩＲＴＩＣＡＬであるとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、ログをリングバッファ３０３Ｒに出力して（Ｓ１４０４）、本処理をリターンする。
【００３４】
図１１は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、図８に示したＳ１２１０に対応するログ取得レベルがＣｒｉｔｉｃａｌ時の処理例である。なお、各ステップは、ＣＰＵ３０１がＦｌａｓｈＲＯＭ３０２に記憶された制御プログラムを実行することで実現される。
ログ出力コードを実行する際、ＣＰＵ３０１は、ログのレベルがＮＯＲＡＭＬであるかどうかを判断する（Ｓ１５０１）。ここで、ログのレベルがＮＯＲＡＭＬであるとＣＰＵ３０１が判断した場合、ログは出力しないで（Ｓ１５０２）、本処理をリターンする。
【００３５】
一方、Ｓ１５０１で、ログのレベルがＮＯＲＡＭＬでないとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、レベルがＷＡＲＮＩＮＧであるかどうかを判断する（Ｓ１５０３）。ここで、レベルがＷＡＲＮＩＮＧであるとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、ログを出力しないで（Ｓ１５０２）、本処理をリターンする。
【００３６】
一方、Ｓ１５０３で、ＷＡＲＮＩＮＧでないとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、レベルがＥＲＲＯＲであるかどうかを判断する（Ｓ１５０４）。ここで、ログレベルがＥＲＲＯＲであると判断した場合、ＣＰＵ３０１は、ログを出力しないで（Ｓ１５０２）、本処理をリターンする。
一方、Ｓ１５０４で、レベルがＥＲＲＯＲでないとＣＰＵ３０１が判断した場合、ログレベルがＣＩＲＴＩＣＡＬであるとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、リングバッファ３０３Ｒにログ出力して（Ｓ１５０５）、本処理をリターンする。
【００３７】
なお、上記処理において、上書き抑制モードで動作中、ホストマシンからの指示によりバッファ上のログがホストマシン上に読み出されると、上書き抑制モードから抜け、ログ取得レベルもＮｏｒｍａｌに戻る。また、ホストマシンから常にログを吸い上げる設定になっている場合は、指定のエラーが発生した場合でも上書き抑制モードには遷移しない。
【００３８】
上記実施形態において、上書き抑制モードで動作中、Ｎｏｒｍａｌ以外のログ取得レベルになった場合、ホストマシンに現在のログ取得レベルを通知することで、ユーザにログの読み出しを促すことが可能である。一例として、ホストマシン上で画像形成装置１００の状態を表示する不図示のアプリケーションが動作している場合について述べる。
【００３９】
図８で示されるフローにより所定のログ取得レベルに遷移したとＣＰＵ３０１が判断した場合、アプリケーション上に現在のログ取得レベルを示す警告メッセージを表示する。ユーザの設定により、オペレーターコールとして扱い、ユーザの操作を待ってもよい。
【００４０】
図１２は、本実施形態を示す画像形成装置の制御方法を説明するフローチャートである。本例は、図８に示した残容量なし処理の詳細処理例である。より具体的には、上書き抑制モードで動作中、ホストマシンから読み出しが指示されず、バッファの残容量がＬＯＷ３以下となった場合の処理例である。なお、各ステップは、ＣＰＵ３０１がＦｌａｓｈＲＯＭ３０２に記憶された制御プログラムを実行することで実現される。
本処理において、ログの読み出しはホストマシン１０１からの指示により実行されるが、強制的にプッシュすることも可能である。強制的なプッシュを常に許可してもよいし、ユーザが許可、拒否を設定してもよい。
上書きまでの残容量がＬＯＷ３以下であるとＣＰＵ３０１が判断した場合、ホストマシン１０１と通信可能であるかどうかを判別する（Ｓ１６０１）。ここで、通信可能であるとＣＰＵ３０１が判別した場合、ＣＰＵ３０１は、強制プッシュが許可されているかどうかを判断する（Ｓ１６０２）。
【００４１】
ここで、ホストマシン１０１に対しログを読み出すよう強制ログ読み出しのための設定を「ＯＮ」状態に変更する（Ｓ１６０３）。そして、ホストマシン側はユーザにより読み出しを指示された場合と同様に、ＣＰＵ３０１は、ログを読み出す（Ｓ１６０４）。そして、ＣＰＵ３０１は、ログが読み出されるように設定が変更されると、ログ取得レベルをＮｏｒｍａｌに設定して（Ｓ１６０５）、本処理をリターンする。
一方、Ｓ１６０１で、ホストマシン１０１との通信が実行できないとＣＰＵ３０１が判別した場合、あるいは、Ｓ１６０２で、強制プッシュが許可されていないとＣＰＵ３０１が判断した場合、ＣＰＵ３０１は、ログの取得を一時停止して（Ｓ１６０６）、本処理をリターンする。
【００４２】
これによりエラー発生後のログの時系列が保たれ、エラーの原因究明に寄与することが期待できる。また発生したエラーによって引き起こされた二次エラーのログも保護されることになり、より効率的な原因究明が可能となる。
【００４３】
本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア（プログラム）をパソコン（コンピュータ）等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【００４４】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【符号の説明】
【００４５】
３０１  ＣＰＵ
３０２  ＦｌａｓｈＲＯＭ
３０３  ＲＡＭ
３１３  コントローラユニット
【図１】
2014232353.tif 000003
【図２】
2014232353.tif 000004
【図３】
2014232353.tif 000005
【図４】
2014232353.tif 000006
【図５】
2014232353.tif 000007
【図６】
2014232353.tif 000008
【図７】
2014232353.tif 000009
【図８】
2014232353.tif 000010
【図９】
2014232353.tif 000011
【図１０】
2014232353.tif 000012
【図１１】
2014232353.tif 000013
【図１２】
2014232353.tif 000014