(57)【要約】【課題】デバッグ情報を他の装置に容易に提供可能な画像形成装置、デバッグ情報記録方法を提供する。【解決手段】画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとを有する画像形成装置において、前記プログラムの動作により発生したエラーに関する情報であるデバッグ情報を作成するデバッグ情報作成手段と、前記デバッグ情報を着脱可能な記録媒体に記録するデバッグ情報記録手段とを有する。【選択図】  図３
2004249667.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとを有する画像形成装置において、
前記プログラムの動作により発生したエラーに関する情報であるデバッグ情報を作成するデバッグ情報作成手段と、
前記デバッグ情報を着脱可能な記録媒体に記録するデバッグ情報記録手段と
を有することを特徴とする画像形成装置。
【請求項２】
前記デバッグ情報を記憶する記憶手段をさらに有することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記デバッグ情報記録手段は、
前記記録媒体が装着されていない場合、前記記憶手段に前記デバッグ情報を記憶することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記デバッグ情報記録手段は、
所定のイベントが発生することにより、前記デバッグ情報を記録することを特徴とする請求項１から３のいずれか１項に記載の画像形成装置。
【請求項５】
前記イベントが複数存在する場合、
いずれのイベントが発生した際に前記デバッグ情報を記録するかを定めるイベント情報を設定する設定手段をさらに有することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
ネットワークに接続する通信手段をさらに有し、
前記イベント情報は、前記通信手段を介して設定することが可能であることを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記イベント情報は、前記記録媒体による設定が可能であることを特徴とする請求項５または６に記載の画像形成装置。
【請求項８】
前記イベントは、前記記録媒体が装着されることにより発生するイベントであることを特徴とする請求項４から７のいずれか１項に記載の画像形成装置。
【請求項９】
前記イベントは、前記エラーが発生することにより発生するイベントであることを特徴とする請求項４から８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記イベントは、所定の時間間隔ごとに発生するイベントであることを特徴とする請求項４から９のいずれか１項に記載の画像形成装置。
【請求項１１】
前記イベントは、所定の日時が到来すると発生するイベントであることを特徴とする請求項４から１０のいずれか１項に記載の画像形成装置。
【請求項１２】
前記イベントは、前記デバッグ情報を記録するために設けられた入力手段が発生するイベントであることを特徴とする請求項４から１１のいずれか１項に記載の画像形成装置。
【請求項１３】
前記記憶手段は、揮発性または不揮発性記憶手段であることを特徴とする請求項２から１２のいずれか１項に記載の画像形成装置。
【請求項１４】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとを有する画像形成装置でのデバッグ情報記録方法であって、
前記プログラムの動作により発生したエラーに関する情報であるデバッグ情報を作成するデバッグ情報作成段階と、
前記デバッグ情報を着脱可能な記録媒体に記録するデバッグ情報記録段階と
を有することを特徴とするデバッグ情報記録方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラムで動作する画像形成装置、デバッグ情報記録方法に関する。
【０００２】
【従来の技術】
近年、ファクシミリ、プリンタ、コピーおよびスキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置が知られるようになった。この画像形成装置は、１つの筐体内に表示部、印刷部および撮像部などを設けると共に、ファクシミリ、プリンタ、コピーおよびスキャナにそれぞれ対応する４種類のアプリケーションを設け、そのアプリケーションを切り替えることより、ファクシミリ、プリンタ、コピーおよびスキャナとして動作させるものである。
【０００３】
このように、画像形成装置は、プログラムに基づき処理を実行する種々のアプリケーションやモジュールにより動作しているため、プログラムの欠陥によりエラーが発生することがある。
【０００４】
この場合、プログラムの欠陥を取り除く作業であるデバッグが、開発者などにより行われるが、そのデバッグを容易にするために、通常はエラーに関するデバッグ情報が記憶される。このデバッグ情報は、例えば、他のスレッドから不正なメッセージを受信したことや、メモリ確保の失敗、あるいはエラー発生時のダンプリストなどの情報が含まれる。
【０００５】
このようなデバッグ情報に関する処理方法がいくつか提案されている。例えば各プログラムが出力するデバッグ情報をハードディスクに格納する前に、バッファとして共有メモリに書き込むことにより、デバッグ情報出力処理による負荷を低減させる方法が提案されている（特許文献１参照。）。また、共有メモリ上に制御情報を格納し、プログラム外部から当該プログラムのデバッグ関連動作を制御する方式が提案されている（特許文献２参照。）。
【０００６】
ところで、デバッグ情報は、パソコンなどの他の装置を用いて解析されることが多い。特に、画像形成装置のような組み込み系の装置の場合、プログラムを組み変えるのもパソコンであるし、エミュレータを使う場合でもパソコンが用いられる。
【０００７】
【特許文献１】
特開平９−３０５４３１号公報
【０００８】
【特許文献２】
特開平１１−１１０２５０号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、特許文献１のように、揮発性メモリである共有メモリでは、電源が断たれたり、システムリセットなどにより、デバッグ情報が失われるため、パソコンなどの他の装置にデバッグ情報を提供することが困難である。
【００１０】
また、ハードディスクにデバッグ情報を記憶する場合は、電源が断たれてもデバッグ情報が失われないが、ハードディスクが搭載されていない画像形成装置もある。仮にハードディスクが搭載され、デバッグ情報を記憶できたとしても、デバッグ情報をパソコンなどの他の装置で解析するためにハードディスクを画像形成装置から外すことは容易ではない。
【００１１】
もっとも、ハードディスクを外さずにデバッグ情報をやり取りする方法として、デバッグ作業の際に画像形成装置とパソコンを接続する方法も考えられる。しかし、深刻なエラーが発生した後の画像形成装置は、起動できないか、起動したとしても正常な動作ができない場合があり、デバッグ情報をやり取りすることは困難である。
【００１２】
また、画像形成装置とパソコンを接続する場合、デバッグ情報のやり取りを行うプログラムが双方に必要となる。その場合、画像形成装置のハードウェア資源を消費するとともに、やり取りするプログラムを開発する手間もかかり、コスト面などから好ましくない。
【００１３】
本発明は、このような問題点に鑑み、デバッグ情報を他の装置に容易に提供可能な画像形成装置、デバッグ情報記録方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとを有する画像形成装置において、前記プログラムの動作により発生したエラーに関する情報であるデバッグ情報を作成するデバッグ情報作成手段と、前記デバッグ情報を着脱可能な記録媒体に記録するデバッグ情報記録手段とを有することを特徴とする。
【００１５】
また、上記課題を解決するために、本発明は、前記デバッグ情報を記憶する記憶手段をさらに有することを特徴とする。
【００１６】
また、上記課題を解決するために、本発明は、前記デバッグ情報記録手段は、前記記録媒体が装着されていない場合、前記記憶手段に前記デバッグ情報を記憶することを特徴とする。
【００１７】
また、上記課題を解決するために、本発明は、前記デバッグ情報記録手段は、所定のイベントが発生することにより、前記デバッグ情報を記録することを特徴とする。
【００１８】
また、上記課題を解決するために、本発明は、ネットワークに接続する通信手段をさらに有し、前記イベント情報は、前記通信手段を介して設定することが可能であることを特徴とする。
【００１９】
また、上記課題を解決するために、本発明は、前記イベント情報は、前記記録媒体による設定が可能であることを特徴とする。
【００２０】
また、上記課題を解決するために、本発明は、前記イベントは、前記記録媒体が装着されることにより発生するイベントであることを特徴とする。
【００２１】
また、上記課題を解決するために、本発明は、前記イベントは、前記エラーが発生することにより発生するイベントであることを特徴とする。
【００２２】
また、上記課題を解決するために、本発明は、前記イベントは、所定の時間間隔ごとに発生するイベントであることを特徴とする。
【００２３】
また、上記課題を解決するために、本発明は、前記イベントは、所定の日時が到来すると発生するイベントであることを特徴とする。
【００２４】
また、上記課題を解決するために、本発明は、前記イベントは、前記デバッグ情報を記録するために設けられた入力手段が発生するイベントであることを特徴とする。
【００２５】
また、上記課題を解決するために、本発明は、前記記憶手段は、揮発性または不揮発性記憶手段であることを特徴とする。
【００２６】
また、上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行うプログラムとを有する画像形成装置でのデバッグ情報記録方法であって、前記プログラムの動作により発生したエラーに関する情報であるデバッグ情報を作成するデバッグ情報作成段階と、前記デバッグ情報を着脱可能な記録媒体に記録するデバッグ情報記録段階とを有することを特徴とする。
【００２７】
以上のように、本発明によれば、デバッグ情報を他の装置に容易に提供可能な画像形成装置、デバッグ情報記録方法を提供することができる。
【００２８】
【発明の実施の形態】
以下、図面を参照し、本発明の実施形態について説明する。
【００２９】
図１を用いて、融合機１に搭載されているプログラムについて説明する。この図１には、融合機１のプログラム群２と、融合機起動部３と、ハードウェア資源４とが示されている。
【００３０】
融合機起動部３は融合機１の電源投入時に最初に実行され、アプリケーション層５およびコントローラ６を起動する。例えば融合機起動部３は、アプリケーション層５およびコントローラ６のプログラムを、ハードディスク装置（以下、ＨＤＤという）などから読み出し、読み出した各プログラムをメモリ領域に転送して起動する。ハードウェア資源４は、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）２５と、カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）２６とスキャナやファクシミリなどのハードウェアリソース２４とを含む。
【００３１】
また、プログラム群２は、ＵＮＩＸ（登録商標）などのオペレーティングシステム（以下、ＯＳという）上に起動されているアプリケーション層５とコントローラ６とを含む。アプリケーション層５は、プリンタ、コピー、ファックスおよびスキャナなどの画像形成に係るユーザーサービスにそれぞれ固有の処理を行うプログラムを含む。
【００３２】
アプリケーション層５は、プリンタ用のアプリケーションであるプリンタアプリ９と、コピー用アプリケーションであるコピーアプリ１０と、ファックス用アプリケーションであるファックスアプリ１１と、スキャナ用アプリケーションであるスキャナアプリ１２とを含む。
【００３３】
また、コントローラ６は、アプリケーション層５からの処理要求を解釈してハードウェア資源４の獲得要求を発生するコントロールサービス層７と、１つ以上のハードウェア資源４の管理を行ってコントロールサービス層７からの獲得要求を調停するシステムリソースマネージャ（以下、ＳＲＭという）２１と、ＳＲＭ２１からの獲得要求に応じてハードウェア資源４の管理を行うハンドラ層８とを含む。
【００３４】
コントロールサービス層７は、通信手段に対応するネットワークコントロールサービス（以下、ＮＣＳという）１３、リモートサービス（以下、ＲＳという）１４、オペレーションパネルコントロールサービス（以下、ＯＣＳという）１５、ファックスコントロールサービス（以下、ＦＣＳという）１６、エンジンコントロールサービス（以下、ＥＣＳという）１７、メモリコントロールサービス（以下、ＭＣＳという）１８、オンデマンドアップデートサービス（以下、ＯＵＳという）１９、システムコントロールサービス（以下、ＳＣＳという）２０など、一つ以上のサービスモジュールを含むように構成されている。
【００３５】
なお、コントローラ６は予め定義されている関数により、アプリケーション層５からの処理要求を受信可能とするＡＰＩ２８を有するように構成されている。ＯＳは、アプリケーション層５およびコントローラ６の各プログラムをプロセスとして並列実行する。
【００３６】
ＮＣＳ１３のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【００３７】
例えばＮＣＳ１３は、ネットワークを介して接続されるネットワーク機器とのデータ通信をｈｔｔｐｄ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｄａｅｍｏｎ）により、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）で制御する。
【００３８】
ＲＳ１４のプロセスは、インターネットなどのネットワークを用いたサービスを行う。ＯＣＳ３３のプロセスは、保守点検などを行うサービスマンやユーザーと本体制御との間の情報伝達手段となる操作部の制御を行う。ＦＣＳ１６のプロセスは、アプリケーション層５からＰＳＴＮまたはＩＳＤＮ網を利用したファックス送受信、バックアップ用のメモリで管理されている各種ファックスデータの登録／引用、ファックス読み取り、ファックス受信印刷などを行うためのＡＰＩを提供する。
【００３９】
ＥＣＳ１７のプロセスは、白黒レーザプリンタ２５、カラーレーザプリンタ２６、ハードウェアリソース２４などのエンジン部の制御を行う。ＭＣＳ１８のプロセスは、メモリの取得および解放、ＨＤＤの利用などのメモリ制御を行う。ＯＵＳ１９は、ネットワークからの通知により、プログラムをダウンロードし、メモリに展開する。
【００４０】
ＳＣＳ２０のプロセスは、アプリケーション管理、操作部制御、システム画面表示、ＬＥＤ表示、ハードウェア資源管理、割り込みアプリケーション制御などの処理を行う。
【００４１】
ＳＲＭ２１のプロセスは、ＳＣＳ２０と共にシステムの制御およびハードウェア資源４の管理を行うものである。例えばＳＲＭ２１のプロセスは、白黒レーザプリンタ２５やカラーレーザプリンタ２６などのハードウェア資源４を利用する上位層からの獲得要求に従って調停を行い、実行制御する。
【００４２】
具体的に、ＳＲＭ２１のプロセスは獲得要求されたハードウェア資源４が利用可能であるかを判定し、利用可能であれば獲得要求されたハードウェア資源４が利用可能である旨を上位層に通知する。また、ＳＲＭ２１のプロセスは上位層からの獲得要求に対してハードウェア資源４を利用するためのスケジューリングを行い、例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成などの要求内容を直接実施している。
【００４３】
また、ハンドラ層８は後述するファックスコントロールユニット（以下、ＦＣＵという）の管理を行うファックスコントロールユニットハンドラ（以下、ＦＣＵＨという）２２と、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うイメージメモリハンドラ（以下、ＩＭＨという）２３とを含む。ＳＲＭ２１およびＦＣＵＨ２２は、予め定義されている関数によりハードウェア資源４に対する処理要求を送信可能とするエンジンＩ／Ｆ２７を利用して、ハードウェア資源４に対する処理要求を行う。
【００４４】
このように、融合機１は、各アプリケーションで共通的に必要な処理をコントローラ６で一元的に処理することができる。次に、融合機１のハードウェア構成について説明する。
【００４５】
図２は、融合機１の一実施例のハードウェア構成図を示す。融合機１は、コントローラボード５０と、操作部３０と、ＦＣＵ４０と、エンジン４３と、印刷手段に対応するプロッタ４４とを含む。また、ＦＣＵ４０は、Ｇ３規格対応ユニット４７と、Ｇ４規格対応ユニット４８とを有する。
【００４６】
また、コントローラボード５０は、ＣＰＵ３１と、ＡＳＩＣ３６と、ＨＤＤ３８と、ローカルメモリ（ＭＥＭ−Ｃ）３７と、システムメモリ（ＭＥＭ−Ｐ）３２と、ノースブリッジ（以下、ＮＢという）３３と、サウスブリッジ（以下、ＳＢという）３４と、ＮＩＣ４５（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）と、ＵＳＢデバイス４１と、ＩＥＥＥ１３９４デバイス４２と、セントロニクスデバイス４６と、ＩＣカード装着部５１と、ＳＤカード装着部５２とを含む。なお、ＨＤＤ３８とＭＥＭ−Ｃ３７とＭＥＭ−Ｐ３２は、記憶手段に対応する。
【００４７】
操作部３０は、コントローラボード５０のＡＳＩＣ３６に接続されている。また、ＳＢ３４と、ＮＩＣ４５と、ＵＳＢデバイス４１と、ＩＥＥＥ１３９４デバイス４２と、セントロニクスデバイス４６は、ＮＢ３３にＰＣＩバスで接続されている。
【００４８】
また、ＦＣＵ４０と、エンジン４３と、プロッタ４４は、コントローラボード５０のＡＳＩＣ３６にＰＣＩバスで接続されている。
【００４９】
なお、コントローラボード５０は、ＡＳＩＣ３６にローカルメモリ３７、ＨＤＤ３８などが接続されると共に、ＣＰＵ３１とＡＳＩＣ３６とがＣＰＵチップセットのＮＢ３３を介して接続されている。このように、ＮＢ３３を介してＣＰＵ３１とＡＳＩＣ３６とを接続すれば、ＣＰＵ３１のインタフェースが公開されていない場合に対応できる。
【００５０】
なお、ＡＳＩＣ３６とＮＢ３３とはＰＣＩバスを介して接続されているのでなく、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）３５を介して接続されている。このように、図１のアプリケーション層５やコントローラ６を形成する一つ以上のプロセスを実行制御するため、ＡＳＩＣ３６とＮＢ３３とを低速のＰＣＩバスでなくＡＧＰ３５を介して接続し、パフォーマンスの低下を防いでいる。
【００５１】
ＣＰＵ３１は、融合機１の全体制御を行うものである。ＣＰＵ３１は、ＮＣＳ１３、ＲＳ１４、ＯＣＳ１５、ＦＣＳ１６、ＥＣＳ１７、ＭＣＳ１８、ＯＵＳ１９、ＳＣＳ２０、ＳＲＭ２１、ＦＣＵＨ２２およびＩＭＨ２３をＯＳ上にそれぞれプロセスとして起動して実行させると共に、アプリケーション層５を形成するプリンタアプリ９、コピーアプリ１０、ファックスアプリ１１、スキャナアプリ１２を起動して実行させる。
【００５２】
ＩＣカード装着部５１およびＳＤカード装着部５２には、それぞれのカードが挿入される。また、ＩＣカード装着部５１およびＳＤカード装着部５２は、ＣＰＵ３１とバスで接続されている。
【００５３】
ＮＢ３３は、ＣＰＵ３１、システムメモリ３２、ＳＢ３４およびＡＳＩＣ３６を接続するためのブリッジである。システムメモリ３２は、融合機１の描画用メモリなどとして用いるメモリである。ＳＢ３４は、ＮＢ３３とＲＯＭ、ＰＣＩバス、周辺デバイスとを接続するためのブリッジである。また、ローカルメモリ３７はコピー用画像バッファ、符号バッファとして用いるメモリである。
【００５４】
ＡＳＩＣ３６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。ＨＤＤ３８は、画像データの蓄積、文書データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うためのストレージである。また、操作部３０は、ユーザーからの入力操作を受け付けると共に、ユーザーに向けた表示を行う操作部である。
【００５５】
次に、本実施の形態における処理の概要を説明する。図３は、ＭＥＭ−Ｐ３２に記憶されたデバッグ情報をＩＣカード５４に記録する処理を示すものである。
【００５６】
まず、デバッグ情報記録手段に対応するデバッグ情報記録部５３について説明する。デバッグ情報記録部５３は、ＭＥＭ−Ｐ３２などのメモリまたはＨＤＤ３８に記憶されたデバッグ情報を、ＩＣカードまたはＳＤカードに記録するものである。そして、デバッグ情報記録部５３は、ＳＣＳ２０の機能の一部を実行するものである。したがって、デバッグ情報記録部５３は、図１で説明すると、ＳＣＳ２０に含まれる。なお、図３において、ＳＣＳ２０とデバッグ情報記録部５３は、別々に描かれているが、これはデバッグ情報記録部５３の機能を分かりやすく表現するためである。
【００５７】
また、図３には、コピーアプリ１０と、ＳＣＳ２０と、ＭＥＭ−Ｐ３２と、デバッグ情報記録部５３と、ＩＣカード５４が示されている。なお、図３では、説明を簡単にするために、コピーアプリ１０とＳＣＳ２０以外の例えばプリンタアプリ９や、ＭＣＳ１８などは省略している。また、以下の説明において、ＩＣカード５４は、ＳＤカードでも良い。さらに、ＭＥＭ−Ｐ３２は、ＭＥＭ−Ｃ３７でも良い。
【００５８】
なお、ＩＣカード５４は、ＳＲＡＭ  ＩＣカードあるいは  ＦＲＡＳＨ−ＲＯＭ  ＩＣカードなど、融合機１の電源が断たれたり、本体から外された場合でも、ＩＣカード単体で内部データが失われることが無い物であり、記録媒体に対応する。
【００５９】
次に、動作について説明する。コピーアプリ１０や、ＳＣＳ２０は、エラーが発生すると、デバッグ情報を作成し、デバッグ情報をＭＥＭ−Ｐ３２に記憶し、デバッグ情報記録部５３に対してイベントを発生する。デバッグ情報記録部５３は、ＭＥＭ−Ｐ３２に記憶されたデバッグ情報をＩＣカード５４に記録する。
【００６０】
このように、デバッグ情報記録部５３は、コピーアプリ１０などがＭＥＭ−Ｐ３２に記憶したデバッグ情報をＩＣカード５４に記録する機能を有する。
【００６１】
次に、図４を用いて、ＩＣカード５４が装着されていない場合の処理について説明する。なお、図４は、図３からＩＣカード５４を除き、ＨＤＤ３８を加えた構成を示している。
【００６２】
図３の場合と同様に、コピーアプリ１０や、ＳＣＳ２０は、エラーが発生すると、デバッグ情報を作成し、デバッグ情報をＭＥＭ−Ｐ３２に記憶する。次に、デバッグ情報記録部５３は、ＭＥＭ−Ｐ３２に記憶されたデバッグ情報を、ＩＣカード５４が装着されていないため、ＨＤＤ３８に記憶する。
【００６３】
このように、ＩＣカード５４が装着されていない場合でも、ＨＤＤ３８にデバッグ情報を記憶することで、後に、ＩＣカード５４が装着されたときにデバッグ情報を記録することができる。その処理を、図５を用いて説明する。
【００６４】
図５では、新たにＩＣカード装着検知部５５が加わる。このＩＣカード装着検知部５５は、デバッグ情報記録部５３と同様にＳＣＳ２０の機能の一つを実行するものである。
【００６５】
次に、処理の説明をする。ＩＣカード装着検知部５５は、ＩＣカード５４が装着されるとデバッグ情報記録部５３にイベントを発生する。デバッグ情報記録部５３は、ＭＥＭ−Ｐ３２に記憶されたデバッグ情報をＩＣカード５４に記録する。
【００６６】
このように、ＩＣカードまたはＳＤカードを融合機１に装着するだけで、その時点までのデバッグ情報を保存し、で取り出すことが可能なので、市場でのエラーの解析のためのデバッグ情報収集が容易になる。
【００６７】
さらに、融合機１は、デバッグ情報を本体から取り外し可能な記録媒体に記録する。したがって、融合機１を例えば分解する必要無く、デバッグ情報を本体から引き取ることが可能となる。
【００６８】
また、ＨＤＤ３８を搭載している融合機においては、本体から取り外し可能な記録媒体を装着していない状態でも、デバッグ情報を保存できるため、市場で発生したエラーの解析の為、エラー発生後に取り外し可能な記録媒体を装着し、エラー発生時のデバッグ情報を本体から引き取ることが可能となる。
【００６９】
以下、上述した処理の詳細について説明する。まず、設定に関するユーザインタフェースについて説明する。
【００７０】
図６は、デバッグ情報記録機能の設定画面を示す図である。この画面には、設定ボタン群５６と、設定入力欄５７と、初期値欄５８が示されている。このうち、まず設定ボタン群５６について説明する。
【００７１】
ボタン１は、デバッグ情報記録機能全体の有効／無効の設定用のボタンである。ボタン２は、デバッグ情報をどこに記録するかを指定するボタンである。ボタン３は、ＩＣカードの内容を初期化するためのボタンである。ボタン４は、ＩＣカードにデバッグ情報を記録するためのボタンであり、このボタン４を押下するとデバッグ情報がＩＣカードに記録される。ボタン５は、ＨＤＤにデバッグ情報を記録するためのボタンであり、このボタン５を押下するとデバッグ情報がＨＤＤに記録される。ボタン７、８は、ＨＤＤに記憶されたデバッグ情報をＩＣカードに記録するためのボタンである。ボタン９は、ＨＤＤに記憶済のデバッグ情報をＳＤカードに記録するためのボタンである。
【００７２】
これらのボタン７、８、９により、デバッグ情報を記録し、後で取り出すことが可能なので、任意の時点での融合機１の情報を効率良く取得できる。
【００７３】
なお、設定入力欄５７は、反転表示している設定の設定値を入力する欄である。例えば、デバッグ情報記録機能ＯＮ／ＯＦＦでは、「１」が入力されるとＯＮで、「０」が入力されるとＯＦＦと設定される。また、初期値欄５８は、設定値の初期値を表す。
【００７４】
次に、デバッグ情報記録イベント設定画面を、図７を用いて説明する。図７の画面には、イベント設定ボタン群５９と、有効／無効ボタン６０とが示されている。まず、イベント設定ボタン群５９から説明する。
【００７５】
ボタン１は、印刷機構であるエンジンにエラーが発生した際にデバッグ情報を記録するか否かを指定するボタンである。ボタン２は、コントローラにエラーが発生した際にデバッグ情報を記録するか否かを指定するボタンである。ボタン３は、システム全体で何らかのエラーが発生した際にデバッグ情報を記録するか否かを指定するボタンである。ボタン４は、印刷機構内部でペーパージャムが発生した際にデバッグ情報を記録するか否かを指定するボタンである。ボタン５は、所定の時間間隔でデバッグ情報を記録するか否かを指定するボタンである。ボタン６は、所定の日時が到来するとデバッグ情報を記録するか否かを指定するボタンである。
【００７６】
有効／無効ボタン６０は、その設定を有効にするかどうかを決定するためのボタンである。
【００７７】
以上説明したボタン１、２、３、４により、融合機でエラーが発生した時点までのデバッグ情報を保存し、後で取り出すことが可能なので、エラーの発生原因の解析が容易になる。
【００７８】
また、ボタン５により、所定の時間間隔で定期的にデバッグ情報を保存するので、デバッグ情報収集が容易になる。
【００７９】
さらに、ボタン６により、あらかじめデバッグ情報の収集日時を指定することが可能となるため、デバッグ情報収集が容易になる。
【００８０】
次に、図８を用いて、デバッグ情報記録キー番号設定について説明する。図８には、キー入力設定ボタン群６１と、デバッグ情報記録キー番号設定欄６２とが示されている。
【００８１】
キー入力設定ボタン群６１は、キー入力設定ボタン１からキー入力設定ボタン７までの各キー入力設定ボタンに、記録するデバッグ情報をシステム全体で一意に決まる識別番号を使って指定することが出来るボタンである。
【００８２】
そして、デバッグ情報記録キー番号設定欄６２は、各キー入力設定ボタンに対応するデバッグ情報の番号が入力される。
【００８３】
以上説明した画面における処理を、フローチャートを用いて説明する。まず、図９を用いて全体の処理を説明する。
【００８４】
ステップＳ１０１で、デバッグ情報記録機能がＯＮにされると、ステップＳ１０２で、記録先の設定に関する処理が行われる。次のステップＳ１０３で、デバッグ情報記録イベントの設定に関する処理が行われる。次に、ステップＳ１０４で、デバッグ情報記録キー番号の設定に関する処理が行われる。
【００８５】
以上の設定が行われると、ステップＳ１０５で、記録をすぐに実行するかどうかの判断が行われる。記録をすぐに実行する場合、ステップＳ１０６で、記録が実行され、記録をしない場合は、処理は終了となる。
【００８６】
次に、記録先の設定が行われるステップＳ１０２の詳細について、図１０を用いて説明する。ステップＳ２０１で、ＨＤＤ３８、ＩＣカード５４、ＳＤカードの中からどの記録先をひとつ選択され、処理が終了する。
【００８７】
次に、図１１を用いて、記録イベントの設定が行われるステップＳ１０３の処理について説明する。ステップＳ３０１で、エンジンエラー発生時に記録を実行するかどうかの指定が行なわれる。次のステップＳ３０２で、コントローラエラー発生時に、記録を実行するかどうかの指定が行なわれる。
【００８８】
次のステップＳ３０３では、任意のエラー番号を指定するかどうかの判断が行なわれ、エラー番号を指定する場合、ステップＳ３０４で、エラー番号が指定される。ステップＳ３０３で、任意のエラー番号を指定しないと判断された場合、ステップＳ３０４の処理は、スキップされる。
【００８９】
ステップＳ３０６は、ペーパージャム発生時に、記録を実行するかどうかの指定が行なわれる。次のステップＳ３０７は、時間間隔で記録を実行するかどうかの指定が行なわれる。そして、ステップＳ３０８は、日時の到来とともに記録を実行するかどうかの指定が行なわれる。以上の設定により処理は終了する。
【００９０】
次に、デバッグ情報記録キー番号の設定が行われるステップＳ１０４の詳細について、図１２を用いて説明する。ステップＳ４０１で、デバッグ情報記録キー番号と対応させるキーの選択が行なわれる。次に、ステップＳ４０２で、デバッグ情報記録キー番号の入力が行なわれる。
【００９１】
そして、次のステップＳ４０３で、別のキーにもデバッグ情報記録キー番号を指定すると判断された場合、再びステップＳ４０１の処理が行われる。別のキーに指定をしないと判断された場合、処理は終了する。
【００９２】
以上のように設定された内容は、図１３、図１４に示される内容として保持される。図１３は、どのエラーが発生した場合に記録するかが示されているビットフィールド７０を示している。このビットフィールド７０は、左のビットからエンジン、コントローラ、任意、ペーパージャムに対応している。そして、このビットフィールド７０は、ビットが立っている「１」の場合、そのビットに対応するエラーを記録する設定であることを示し、「０」の場合、エラーを記録しない設定であることを示す。
【００９３】
なお、任意の場合、図１５に示されるエラー番号データベースにより、いずれのエラーが発生した場合にデバッグ情報を記録するかどうかを判断する。例えば、図１３のビットフィールド７０において、任意に対応するビットが立っており、エラー番号２５６のエラーが発生した場合、デバッグ情報は記録されることになる。他のエラー番号８７や９１０も同様である。
【００９４】
図１４は、記録イベントの設定が保持されるビットフィールド７１である。このビットフィールド７１は、左のビットから、装着、エラー発生、時間間隔、日時に対応している。そして、このビットフィールド７１は、ビットが立っている「１」の場合、そのビットに対応するイベントが発生した際にエラーを記録する設定であることを示し、「０」の場合、そのビットに対応するイベントが発生しても、エラーを記録しない設定であることを示す。また、装着は、ＩＣまたはＳＤカードが装着されたイベントを示す。
【００９５】
図１４のビットフィールド７１では、装着を除くイベントでエラーを記録する設定となっていることが分かる。
【００９６】
以上説明したビットフィールド７０、７１の情報をＩＣカードに記憶させておき、それらのカードが装着されたときに、融合機１が内容を読み込むことで、ビットフィールド７０、７１をＩＣカードで設定することが可能となる。また、以上説明した処理は、設定手段も含むＳＣＳ２０により行われる。
【００９７】
以上が設定に関する内容であるが、図１６に示されるように、融合機１の上記設定は、ネットワーク７３を介して他の端末７４からも可能なようになっている。
【００９８】
次に、図１７を用いて、イベント発生から記録までの、デバッグ情報記録部５３の処理について説明する。ステップＳ５０１は、デバッグ情報記録部５３が、イベントが発生するまで繰り返される処理である。具体的にこの処理は、例えば、イベントが通知されるメッセージボックスを、イベントが通知されていないかどうかチェックする処理である。
【００９９】
イベントが発生するとデバッグ情報記録部５３は、ステップＳ５０２で、ＩＣカード５４が装着されているかどうか判断する。装着されている場合、デバッグ情報記録部５３は、ＩＣカード５４にデバッグ情報を記録し、処理を終了する。
【０１００】
ＩＣカード５４が装着されていない場合、デバッグ情報記録部５３は、ステップＳ５０４で、ＨＤＤ３８にデバッグ情報を記憶し、処理を終了する。
【０１０１】
次に、イベントが発生する例として、プログラムのエラーにより発生するイベントについて図１８を用いて説明する。なお、図１８の処理は、個々のプログラムにより行なわれるが、例としてコピーアプリ１０の場合で説明する。
【０１０２】
コピーアプリ１０は、ステップＳ６０１まで、通常の処理を行なっている。ステップＳ６０１で、エラーが発生すると、コピーアプリ１０は、ステップＳ６０２で、デバッグ情報を生成する。そして、コピーアプリ１０は、ステップＳ６０３で、ＭＥＭ−Ｐ３２にデバッグ情報を記憶する。記憶が終了すると、コピーアプリ１０は、ステップＳ６０４で、デバッグ情報記録部５３にエラーの発生を通知する。このステップＳ６０４の通知が、デバッグ情報記録部５３へのイベントとなる。
【０１０３】
以上の処理は、各プログラムが有する処理であり、したがって、デバッグ情報作成手段に対応する処理も各プログラムに含まれている。
【０１０４】
以上のように、本発明の実施の形態においては、デバッグ情報を本体から取り外し可能な記録媒体に保存するため、ＨＤＤを搭載していない融合機においても、プログラムのデバッグ情報を保存することが可能になり、融合機の開発やデバッグの作業効率が向上する。
【０１０５】
【発明の効果】
以上のように、本発明によれば、デバッグ情報を他の装置に容易に提供可能な画像形成装置、デバッグ情報記録方法を提供することができる。
【図面の簡単な説明】
【図１】本発明による融合機の一実施例の構成図である。
【図２】本発明による融合機の一実施例のハードウェア構成図である。
【図３】記憶されたデバッグ情報をＩＣカードに記録する処理を示す図である。
【図４】ＩＣカードが装着されていない場合の処理を示す図である。
【図５】ＩＣカードが装着されたときにデバッグ情報を記録する処理を示す図である。
【図６】デバッグ情報記録機能の設定画面を示す図である。
【図７】デバッグ情報記録イベント設定画面を示す図である。
【図８】デバッグ情報記録キー番号設定画面を示す図である。
【図９】設定処理を示すフローチャートである。
【図１０】記録先の設定が行われる処理を示すフローチャートである。
【図１１】記録イベントの設定が行われる処理を示すフローチャートである。
【図１２】デバッグ情報記録キー番号の設定を示すフローチャートである。
【図１３】ビットフィールドを示す図である。
【図１４】ビットフィールドを示す図である。
【図１５】エラー番号データベースを示す図である。
【図１６】ネットワークを介して他の端末から設定する様子を示す図である。
【図１７】デバッグ情報記録部の処理を示すフローチャートである。
【図１８】エラーによりイベントの処理を発生する処理を示すフローチャートである。
【符号の説明】
１…融合機
２…プログラム群
３…融合機起動部
４…ハードウェア資源
５…アプリケーション層
６…コントローラ
７…コントロールサービス層
８…ハンドラ層
９…プリンタアプリ
１０…コピーアプリ
１１…ファックスアプリ
１２…スキャナアプリ
１３…ネットワークコントロールサービス（ＮＣＳ）
１４…リモートサービス（ＲＳ）
１５…オペレーションパネルコントロールサービス（ＯＣＳ）
１６…ファックスコントロールサービス（ＦＣＳ）
１７…エンジンコントロールサービス（ＥＣＳ）
１８…メモリコントロールサービス（ＭＣＳ）
１９…オンデマンドアップデートサービス（ＯＵＳ）
２０…システムコントロールサービス（ＳＣＳ）
２１…システムリソースマネージャ（ＳＲＭ）
２２…ファックスコントロールユニットハンドラ（ＦＣＵＨ）
２３…イメージメモリハンドラ（ＩＭＨ）
２４…ハードウェアリソース
２５…白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）
２６…カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）
２７…エンジンＩ／Ｆ
２８…アプリケーションプログラムインターフェース（ＡＰＩ）
３０…操作部
３１…ＣＰＵ
３２…システムメモリ（ＭＥＭ−Ｐ）
３３…ノースブリッジ（ＮＢ）
３４…サウスブリッジ（ＳＢ）
３５…ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）
３６…ＡＳＩＣ
３７…ローカルメモリ（ＭＥＭ−Ｃ）
３８…ハードディスク装置（ＨＤ）
４０…ファックスコントロールユニット（ＦＣＵ）
４１…ＵＳＢデバイス
４２…ＩＥＥＥ１３９４デバイス
４３…エンジン
４４…プロッタ
４５…ＮＩＣ
４６…セントロニクス
４７…Ｇ３
４８…Ｇ４
５０…コントローラボード
５１…ＩＣカード装着部
５２…ＳＤカード装着部
５３…デバッグ情報記録部
５４…ＩＣカード
５５…ＩＣカード装着検知部
５６…設定ボタン群
５７…設定入力欄
５８…初期値欄
５９…イベント設定ボタン群
６０…有効／無効ボタン
６１…キー入力設定ボタン群
６２…デバッグ情報記録キー番号設定欄
７０、７１…ビットフィールド
７３…ネットワーク
７４…端末
【図１】
2004249667.tif 000003
【図２】
2004249667.tif 000004
【図３】
2004249667.tif 000005
【図４】
2004249667.tif 000006
【図５】
2004249667.tif 000007
【図６】
2004249667.tif 000008
【図７】
2004249667.tif 000009
【図８】
2004249667.tif 000010
【図９】
2004249667.tif 000011
【図１０】
2004249667.tif 000012
【図１１】
2004249667.tif 000013
【図１２】
2004249667.tif 000014
【図１３】
2004249667.tif 000015
【図１４】
2004249667.tif 000016
【図１５】
2004249667.tif 000017
【図１６】
2004249667.tif 000018
【図１７】
2004249667.tif 000019
【図１８】
2004249667.tif 000020