(57)【特許請求の範囲】
【請求項１】
それぞれアプリ部を備える本体制御部と操作制御部とを備えた装置において、
前記本体制御部に、
前記操作制御部との通信経路が正常な状態か否かを監視する第１の監視手段と、
前記本体制御部内で異常が発生した場合、前記第１の監視手段によって前記操作制御部との間の通信経路が正常な状態であると確認したとき、前記操作制御部に前記本体制御部内で発生した異常の内容を示す異常情報を送信する送信手段とを設け、
前記操作制御部に、
前記送信手段によって送信された異常情報を受信する受信手段と、
前記本体制御部のアプリ部と前記操作制御部のアプリ部との間の通信経路が正常な状態か否かを監視する第２の監視手段と、
前記第２の監視手段が監視する通信経路と異なる通信経路を用いて、前記本体制御部内で発生した異常の内容を示す異常情報を前記本体制御部から取得することを試みる取得手段と、
前記受信手段によって受信した異常情報及び前記取得手段によって取得した異常情報に基づいて前記本体制御部内の異常内容を表示する異常表示手段とを設けたことを特徴とする装置。
【請求項２】
前記本体制御部に、前記本体制御部内での異常として、プログラム又はプロセスの異常を検知する検知手段を設けたことを特徴とする請求項１記載の装置。
【請求項３】
前記本体制御部内で発生した異常の二次的異常の異常情報を前記操作制御部へ通知しないようにする手段を設けたことを特徴とする請求項１又は２記載の装置。
【請求項４】
前記本体制御部に、前記本体制御部内で異常が発生した場合、前記第１の監視手段によって前記操作制御部との間の通信経路が異常な状態であると確認したとき、前記本体制御部内で発生した異常の異常情報を不揮発性記憶手段に記憶させる手段と、前記装置の起動の際に前記不揮発性記憶手段に記憶されている異常情報を前記操作制御部へ送信する手段とを設けたことを特徴とする請求項１乃至３のいずれか一項に装置。
【請求項５】
前記異常情報，前記異常発生時の動作情報，前記異常情報の通知の成否を示す情報を不揮発性記憶手段に記憶させる手段を設けたことを特徴とする請求項１乃至４のいずれか一項に装置。
【請求項６】
前記異常情報に関する対応方法の情報が記憶された対応方法情報記憶手段を設け、
前記異常表示手段は、前記異常内容を表示すると共に、前記対応方法情報記憶手段に記憶されている前記異常情報に関する対応方法の情報を表示する手段であることを特徴とする請求項１乃至５のいずれか一項に記載の装置。
【請求項７】
それぞれアプリ部を備える本体制御部と操作制御部とを備えた装置の異常表示方法であって、
前記本体制御部は、
前記操作制御部との通信経路が正常な状態か否かを監視する第１の監視工程と、
前記本体制御部内で異常が発生した場合、前記第１の監視工程によって前記操作制御部との間の通信経路が正常な状態であると確認したとき、前記操作制御部に前記本体制御部内で発生した異常の内容を示す異常情報を送信する送信工程とを実行し、
前記操作制御部は、
前記送信工程によって送信された異常情報を受信する受信工程と、
前記本体制御部のアプリ部と前記操作制御部のアプリ部との間の通信経路が正常な状態か否かを監視する第２の監視工程と、
前記第２の監視工程で監視する通信経路と異なる通信経路を用いて、前記本体制御部内で発生した異常の内容を示す異常情報を前記本体制御部から取得することを試みる取得工程と、
前記受信工程によって受信した異常情報及び前記取得工程によって取得した異常情報に基づいて前記本体制御部内の異常内容を表示する異常表示工程とを実行することを特徴とする異常表示方法。
【請求項８】
それぞれアプリ部を備える本体制御部と操作制御部とを備えたコンピュータに、請求項１乃至６のいずれか一項に記載の装置を構成する各手段としての機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、装置、異常表示方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複合機（「ＭＦＰ」と略称する）やプリンタを含む画像形成装置（「画像処理装置」ともいう）とパーソナルコンピュータ（ＰＣ）とを含む組み込み装置（「組み込み機器」ともいう）は複雑化し、複数のサブシステムをもつ構成も珍しくない。
例えば、複合機やプリンタを含む画像形成装置では、コピーやプリント等のジョブを制御する本体制御部（「本体制御システム」ともいう）はもちろんのこと、スキャナやプリント等のエンジン動作を制御するエンジン制御部（「エンジンシステム」ともいう）、ユーザへの入出力インタフェースを担う操作部を制御する操作制御部（「操作システム」ともいう）、ＦＡＸ送受信用の回線や通信を制御するＦＡＸ通信制御部（「ＦＡＸモジュールシステム」ともいう）などのそれぞれＣＰＵを持った複数の制御部からなるものが普通になってきている。
【０００３】
また、近年の組み込み装置の高機能化と高スペック化に伴い、本体制御部の機能だけでなく、他の制御部も高度化しつつある。
例えば、操作部では、ブラウザ機能や高度な画像処理機能を行うため、高機能で汎用的なオペレーティングシステム（ＯＳ）を搭載したシステムが必要とされるようになり、単純な表示だけを行う機能ではなくなりつつある。
また、異なるプラットフォームでの開発効率性や、第三者によるアプリケーションプログラム開発の安全性と利便性等を考慮し、組み込み機器でもＪａｖａ（登録商標）が普及しつつある。
例えば、複合機では、サードベンダによるアプリケーションプログラム開発環境を提供しているため、本体制御部に組み込みＪａｖａを導入することで、プラットフォーム非依存なアプリケーションプログラム開発が可能になり、かつ、不正なアプリケーションプログラムによる動作を防止することも容易になっている。
【０００４】
そのため、異常発生の仕組みも多様化しているので、例えば、複写機が多機能化するにつれて異常対応処理も複雑化しており、機能追加や修正時に多くの工数を割り当てなければならなくなってきている。
そこで従来、所定の処理をおこなう処理実行手段において発生した異常に係る異常情報を受け付け、その受け付けた異常情報の示す異常への対応策を選定することにより、機能追加等による異常対応処理工数を低減させる装置（例えば、特許文献１参照）があった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の装置では、異常対応処理の設計効率化や機能追加と修正を容易化するものであり、複数の制御部からなる複雑化したシステムにおいて発生した異常箇所を正確にユーザへ通知することはできない。
したがって、ユーザが異常対応処理順序を誤ってしまうおそれがある。
例えば、操作制御部と本体制御部が独立したシステムでは、本体制御部はユーザとの入出力インタフェースを持たないことが多いため、本体制御部で異常が発生した場合、何らかの手段を用いて、異常が発生したことをユーザに通知する必要がある。
しかし、本体制御部で異常が発生し、それに付随して操作制御部との通信手段の一部にも異常が発生した場合、本体制御部の異常を操作制御部に通知する前に、通信手段の異常を検知して操作部の表示部に誤表示してしまうおそれがある。
【０００６】
また、組み込みＪａｖａを用いている場合は、この現象がさらに顕著に現れる。
組み込みＪａｖａを導入した場合、機器の状態管理やシステム通信等もＪａｖａで作成されることも珍しくなく、ＪａｖａＶＭ（登録商標）が異常終了すると、機内の状態が正しく管理できない可能性やシステム間通信異常が発生しやすい。
そのため、根本の原因の異常表示ができず、根本の原因から派生した副産物の異常を根本の原因として誤ってユーザへ通知してしまう可能性がある。
このような誤った異常表示をしてしまうと、異常発生原因の障害解析効率が低下したり、ユーザが誤った異常対応処理をしたりしてしまうおそれがあるという問題があった。
この発明は上記の点に鑑みてなされたものであり、複数の制御部からなる組み込み装置において、各制御部で最初に発生した異常の情報をユーザに知らせることができるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明は上記の目的を達成するため、それぞれアプリ部を備える本体制御部と操作制御部とを備えた装置において、上記本体制御部に、上記操作制御部との通信経路が正常な状態か否かを監視する第１の監視手段と、上記本体制御部内で異常が発生した場合、上記第１の監視手段によって上記操作制御部との間の通信経路が正常な状態であると確認したとき、上記操作制御部に上記本体制御部内で発生した異常の内容を示す異常情報を送信する送信手段とを設け、上記操作制御部に、上記送信手段によって送信された異常情報を受信する受信手段と、上記本体制御部のアプリ部と上記操作制御部のアプリ部との間の通信経路が正常な状態か否かを監視する第２の監視手段と、上記第２の監視手段が監視する通信経路と異なる通信経路を用いて、上記本体制御部内で発生した異常の内容を示す異常情報を上記本体制御部から取得することを試みる取得手段と、上記受信手段によって受信した異常情報及び上記取得手段によって取得した異常情報に基づいて上記本体制御部内の異常内容を表示する異常表示手段を設けた装置を提供する。
また、上記本体制御部に、上記本体制御部内での異常として、プログラム又はプロセスの異常を検知する検知手段を設けるとよい。
さらに、上記本体制御部内で発生した異常の二次的異常の異常情報を上記操作制御部へ通知しないようにする手段を設けるとよい。
【０００８】
また、上記本体制御部に、上記本体制御部内で異常が発生した場合、上記監視手段によって上記操作制御部との間の通信経路が異常な状態であると確認したとき、上記本体制御部内で発生した異常の異常情報を不揮発性記憶手段に記憶させる手段と、上記装置の起動の際に上記不揮発性記憶手段に記憶されている異常情報を上記操作制御部へ送信する手段を設けるとよい。
さらに、上記異常情報，上記異常発生時の動作情報，上記異常情報の通知の成否を示す情報を不揮発性記憶手段に記憶させる手段を設けるとよい。
さらに、上記異常情報に関する対応方法の情報が記憶された対応方法情報記憶手段を設け、上記異常表示手段を、上記異常内容を表示すると共に、上記対応方法情報記憶手段に記憶されている上記異常情報に関する対応方法の情報を表示する手段にするとよい。
【０００９】
また、それぞれアプリ部を備える本体制御部と操作制御部とを備えた装置の異常表示方法であって、上記本体制御部は、上記操作制御部との通信経路が正常な状態か否かを監視する第１の監視工程と、上記本体制御部内で異常が発生した場合、上記第１の監視工程によって上記操作制御部との間の通信経路が正常な状態であると確認したとき、上記操作制御部に上記本体制御部内で発生した異常の内容を示す異常情報を送信する送信工程とを実行し、上記操作制御部は、上記送信工程によって送信された異常情報を受信する受信工程と、上記本体制御部のアプリ部と上記操作制御部のアプリ部との間の通信経路が正常な状態か否かを監視する第２の監視工程と、上記第２の監視工程で監視する通信経路と異なる通信経路を用いて、上記本体制御部内で発生した異常の内容を示す異常情報を上記本体制御部から取得することを試みる取得工程と、上記受信工程によって受信した異常情報に基づいて上記本体制御部内の異常内容を表示する異常表示工程を実行する異常表示方法も提供する。
さらに、それぞれアプリ部を備える本体制御部と操作制御部とを備えたコンピュータに、上記のような装置を構成する各手段としての機能を実現させるためのプログラムも提供する。
【発明の効果】
【００１０】
この発明による組み込み装置と組み込み装置の異常表示方法は、複数の制御部からなる組み込み装置において、各制御部で最初に発生した異常の情報をユーザに知らせることができる。
また、この発明によるプログラムは、複数の制御部からなる組み込み装置のコンピュータに、各制御部で最初に発生した異常の情報をユーザに知らせることができるようにするための機能を実現させることができる。
【図面の簡単な説明】
【００１１】
【図１】図２に示す複合機の本体制御部と操作制御部の内部の機能構成を示すブロック図である。
【図２】この発明の一実施例である複合機の構成を示すブロック図である。
【図３】図１に示すＪａｖａＶＭ内のモジュールの異常発生時の処理を示すフローチャート図である。
【図４】図１に示すＪａｖａＶＭの異常発生時の処理を示すフローチャート図である。
【図５】図１に示す操作制御部のアプリケーションプログラムの異常発生時の処理を示すフローチャート図である。
【００１２】
【図６】図１に示す本体制御部と操作制御部との間の通信経路監視処理を示すフローチャート図である。
【図７】図１に示す本体制御部と操作制御部との間のソケット通信監視処理を示すフローチャート図である。
【図８】図１に示すＭＦＰの起動時における異常情報回収処理を示すフローチャート図である。
【図９】ソケット通信エラーの異常が発生した場合の表示例を示す図である。
【図１０】操作表示部にエラー表示できなかった場合に再起動時に表示される画面の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
〔実施例〕
図２は、この発明の一実施例である複合機の構成を示すブロック図である。
この複合機（ＭＦＰ）は、それぞれ独立して制御処理を行う本体制御部１と操作制御部２を含む複数の制御部からなる組み込み装置に相当し、この複合機全体の制御と共に、画像読み取り，複写（コピー），印刷（プリント）を含むジョブを制御する本体制御部（「本体制御システム」ともいう）１を有し、その本体制御部１は、ユーザとの入出力インタフェースを担う操作制御部（「操作制御システム」ともいう）２、スキャナ，プリンタを含むエンジンの動作を制御するエンジン制御部（「エンジン制御システム」ともいう）３と、ファクシミリ（ＦＡＸ），インターネット通信を含む通信の動作を制御する通信制御部（「通信制御モジュールシステム」ともいう）４とを、ＰＣＩエクスプレスを含むシリアル転送インターフェースとＵＳＢを含む通信線で通信可能に接続されており、それぞれの制御部はそれぞれ独立してＣＰＵ，ＲＯＭ及びＲＡＭからなるマイクロコンピュータを持ち、それぞれのＣＰＵで自制御部の制御を行う。
【００１４】
なお、この実施例では、複合機を示しているが、操作部サブシステムと本体制御部システムが別システムであればどのような組み込み装置でも本発明は適応可能である。
また、この実施例では、本体制御部１と操作制御部２との間における異常表示処理を説明するが、エンジン制御部３及び通信制御部４も含めた異常表示処理についても同様に実施することができる。
【００１５】
図１は、図２に示した複合機の本体制御部と操作制御部の内部の機能構成を示すブロック図である。
本体制御部１のオペレーティングシステム（ＯＳ）１０は、ここではＯＳの中核となる部分であるカーネルでもよく、本体制御部１のＯＳそのものであり、複合機の起動の最初に異常情報読込部１６を用いて前回操作制御部２へ通知できなかった異常情報を再度通知して表示させる付加機能を持つ。また、異常情報を通知する場合はそれ以降の起動処理をストップさせる機能も持つ。
起動管理部１１は、ＯＳ１０によって起動され、ＪａｖａＶＭ１２の各アプリケーションプログラムを起動してその動作を管理すると共に、異常が発生した場合に異常情報を異常通知部１３等に通知させる制御処理を行う。また、図示を省略したＪａｖａＶＭ１２以外にも動作監視したいＮａｔｉｖｅアプリケーションプログラムを起動させて監視する。
【００１６】
ＪａｖａＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）１２は、ジャバ（Ｊａｖａ）プログラムを実行するための仮想機械であり、Ｊａｖａの各アプリケーションプログラムを動作させる。
ロジックアプリ部１８は、本体制御部１内で動作するアプリケーションプログラムの一例である。
機内監視部１９は、ＪａｖａＶＭ１２上で動作し、複合機の状態を管理・制御するモジュールである。ＪａｖａＶＭ１２のロジックアプリ部１８で異常が発生したり、復旧不可能な状態に陥った場合に異常通知部１３に異常を通知する。
ＵＩアプリ部２０は、ＪａｖａＶＭ１２上で動作し、ユーザインタフェース（ＵＩ）を形成するアプリ部である。操作制御部２のＵＩアプリ部３０とソケット通信等で直接通信することで高速性を実現している。
【００１７】
異常通知部１３は、操作制御部２へ通知する本体制御部１で発生した異常の異常情報を作成する機能を持つ。その異常情報の通知には、通信経路監視部１４により正しく確立された通信経路を用いて通信する。また、一番最初に通知された本体制御部１の異常の異常情報を内部メモリ（揮発性メモリ上）に保持する機能も持つ。これにより、本体制御部１で副産物的な異常が多発した場合でも、根本の問題による異常の異常情報のみを通知することができる。
通信経路監視部１４は、操作制御部２との通信経路間で異常を監視する機能と、異常情報の通知を行う機能を持つ。また、通信経路の正常と異常を示す通信経路状態フラグをメモリ上に保持する。上記監視には、通信経路を利用した通信一つ一つが正しく送信されるか否かを確認する例もあるし、定期的にシグナル送信して正しく通信できているか否かを確認する例もある。
【００１８】
異常情報書込部１５は、何らかのエラーで異常通知部１３の異常情報を操作制御部２に通知できなかった場合、不揮発性メモリのＮＶＲＡＭ５の所定領域に異常情報を書き込んで保存する。
異常情報読込部１６は、複合機の起動開始時にＮＶＲＡＭ５の所定領域から異常情報の読み込み動作をし、異常情報が格納されていた場合は異常通知部１３に通知する。
ログ書込部１７は、異常通知部１３の異常情報を通信経路監視部１４によって通知したときの成否の情報等を不揮発性メモリであるＨＤＤ６に書き込んでロギングする。
【００１９】
一方、操作制御部２のＵＩアプリ部３０は、ＵＩを形成するアプリ層であり、本体制御部１と高速に通信したいアプリケーションプログラムを含む。また、本体制御部１のＵＩアプリ部２０との間で直接ソケット通信することで高速に通信することを実現する。さらに、本体制御部１のＵＩアプリ部２０とのソケット通信ができない場合は、本体制御部１の異常通知部１３とソケット通信により異常情報を確認する。
表示部３１は、操作のタッチパネル等に指示された内容と、異常情報と異常への対応方法等の情報を表示パネルに表示させる機能を持つ。
異常対処方法データベース３２は、本体制御部１から通知された異常情報又は操作制御部２で発生した異常の異常情報に関する対応方法の情報が記録されている記憶装置である。表示部３１が、異常情報を表示する際に参照することでユーザに正しい対処の方法を示すことができる。
【００２０】
異常検知部３３は、本体制御部１との通信経路監視部３４を監視し、通信経路監視部３４に異常情報が通知された場合に表示部３１にその異常情報を通知する機能を持つ。また、操作制御部２上での各アプリケーションプログラムで発生した異常も検知し、その異常情報を表示部３１に通知する。
通信経路監視部３４は、本体制御部１の通信経路間で異常を監視する機能と、本体制御部１からの異常情報を受け取って保持する機能を持つ。また、通信経路の正常と異常を示す通信経路状態フラグをメモリ上に保持する。上記監視には、通信経路を利用した通信一つ一つが正しく送信されるかを確認する例もあるし、定期的にシグナル送信して正しく通信できているかを確認する例もある。
ロジックアプリ部３５は、操作制御部２内で動作するアプリケーションプログラムの一例である。
【００２１】
ＮＶＲＡＭ５とＨＤＤ６は、不揮発性メモリの一例であり、ＮＶＲＡＭ５には通知できなかった異常情報を蓄え、ＨＤＤ６には異常情報，異常発生時の動作情報，異常情報の通知の成否の情報等を蓄積する。
すなわち、上記本体制御部１と操作制御部２が、それぞれこの発明に係るプログラムを記憶し、そのプログラムの各工程を実行することにより、この発明に係る異常表示方法を実行し、この発明に係る組み込み装置の各手段の機能を果たす。
本体制御部１の通信経路監視部１４が、操作制御部２との通信経路が正常な状態か否かを監視する監視手段の機能を果たす。
また、本体制御部１の起動管理部１１と異常通知部１３と通信経路監視部１４と機内監視部１９が、本体制御部１内で異常が発生した場合、上記監視手段によって操作制御部２との通信経路が正常な状態であると確認したとき、操作制御部２に本体制御部１内で発生した異常の内容を示す異常情報を送信する送信手段の機能を果たす。
【００２２】
一方、操作制御部２の通信経路監視部３４が、上記送信手段によって送信された異常情報を受信する受信手段の機能を果たす。
また、操作制御部２の表示部３１と異常検知部３３が、上記受信手段によって受信した異常情報に基づいて本体制御部１内の異常内容を表示する異常表示手段の機能を果たす。
さらに、本体制御部１の起動管理部１１と機内監視部１９が、本体制御部１内での異常として、プログラム又はプロセスの異常を検知する検知手段の機能を果たす。
また、本体制御部１の異常通知部１３は、本体制御部１内で発生した異常の二次的異常の異常情報を操作制御部２へ通知しないようにする手段の機能も果たす。
【００２３】
さらに、本体制御部１の異常通知部１３と異常情報書込部１５は、本体制御部１内で異常が発生した場合、上記監視手段によって操作制御部２との通信経路が正常な状態ではないと確認したとき、操作制御部２に本体制御部１内で発生した異常の異常情報を不揮発性記憶手段に記憶させる手段の機能を果たす。この不揮発性記憶手段は、ＮＶＲＡＭ５がその機能を果たす。
また、本体制御部１のＮＶＲＡＭ５とＯＳ１０と異常通知部１３と通信経路監視部１４と異常情報読込部１６は、組み込み装置の起動の際に不揮発性記憶手段（ＮＶＲＡＭ５）に記憶されている異常情報を操作制御部２へ送信する手段の機能を果たす。
さらに、本体制御部１のＨＤＤ６と異常通知部１３とログ書込部１７は、異常情報，異常発生時の動作情報，異常情報の通知の成否を示す情報を不揮発性記憶手段に記憶させる手段の機能を果たす。この不揮発性記憶手段は、ＨＤＤ６がその機能を果たす。
【００２４】
また、操作制御部２のＵＩアプリ部３０は、本体制御部１とのプログラム間での通信について異常が発生しているか否かを確認する確認手段の機能を果たす。さらに、本体制御部１のＵＩアプリ部２０は、操作制御部２とのプログラム間での通信について異常が発生しているか否かを確認する確認手段の機能を果たす。
また、操作制御部２の異常対処方法データベース３２は、異常情報に関する対応方法の情報が記憶された対応方法情報記憶手段の機能を果たす。
さらに、操作制御部２の表示部３１は、異常内容を表示すると共に、上記対応方法情報記憶手段に記憶されている異常情報に関する対応方法の情報を表示する手段の機能を果たす。
【００２５】
次に、この複合機における異常発生時の処理について説明する。
まず、本体制御部１のＪａｖａＶＭ１２内のモジュールに異常が発生した場合の処理を説明する。
図３は、図１に示したＪａｖａＶＭ１２内のモジュールの異常発生時の処理を示すフローチャート図である。
ＪａｖａＶＭ１２上で動作するＪａｖａモジュール（例えば、ロジックアプリ部１８）で異常が発生した場合の異常表示処理については、ステップ（図中「Ｓ」で示す）１で、本体制御部１のＪａｖａＶＭ１２は、機内監視部１９へロジックアプリ部１８で異常の発生を通知し、ステップ２へ進む。
【００２６】
ステップ２で、機内監視部１９は、ＪａｖａＶＭ１２上のロジックアプリ部１８のアプリケーションプログラムの異常とその異常状態（異常発生時の動作状態も含む）を検知し、ステップ３へ進む。
ステップ３で、機内監視部１９は、上記検知結果に基づいて、異常通知部１３へ異常発生時の動作情報と異常の内容を示す異常情報を通知し、ステップ４へ進む。
ステップ４で、異常通知部１３は、異常情報等の通知有りか否かを判断し、有りならステップ１２へ進み、無ければステップ５へ進む。
ステップ５で、異常通知部１３は、通信経路監視部１４に対して通信経路状態を確認する。この確認の詳細については後述するが、通信経路監視部１４に保持された通信経路状態フラグを確認する。その確認後、ステップ６へ進む。
【００２７】
このステップ４，５の処理により、異常通知部１３は、機内監視部１９から異常情報等の通知があったとき、保持している異常情報等が無ければ、その通知された異常情報等を保持するが、先に発生した異常の異常情報等を既に保持している場合はログ書込部１７へ送って保持しない。
このようにすれば、操作制御部２へロジックアプリ部１８で最初に発生した異常の根本の原因を示す異常情報のみを送ることができ、その後に本体制御部１内で発生した二次的異常の異常情報を操作制御部２へ通知しないようにすることができる。
ステップ６で、異常通知部１３は、通信経路の状態は正常か否かを判断する。ここでは操作制御部２との通信が正常に行えるか否かを判断する。その判断で通信経路の状態が正常ならステップ７へ進み、正常でなければ（異常ならば）ステップ１３へ進む。
【００２８】
ステップ７で、通信経路監視部１４は、操作制御部２側の通信経路監視部３４に異常通知部１３の異常情報を送信し、ステップ８へ進む。この送信された異常情報は、操作制御部２の通信経路監視部３４によって受信されて記憶される。
ステップ８で、異常通知部１３は、ログ書込部１７に異常発生時の動作情報と異常情報と異常情報の通知が成功したことを示す異常通知成功の情報を通知し、ステップ９へ進む。
ステップ９で、ログ書込部１７は、ＨＤＤ６に異常発生時の動作情報と異常情報と異常通知成功の情報（これらの情報をまとめて「ログ情報」ともいう）を記録し、ステップ１０へ進む。
【００２９】
ステップ１０で、操作制御部２の異常検知部３３が、通信経路監視部３４に本体制御部１から異常情報がきたことを検知すると、通信経路監視部３４に記憶されている異常情報を読み出して表示部３１に送信し、ステップ１１へ進む。
ステップ１１で、表示部３１は、異常検知部３３からの異常情報に基づく異常通知画面を生成し、その画面を表示パネルに表示し、この処理を終了する。
このステップ１１の処理において、表示部３１は、異常対処方法データベース３２を参照し、上記異常情報に関する対応方法の情報を読み出し、上記異常通知画面内に今回の異常に対する対処方法をユーザに知らせるメッセージを表示する。
【００３０】
このようにして、本体制御部１において最初に発生した異常の情報をユーザに正しく通知することができ、ユーザは最初に発生した異常に続けて二次的異常が発生しても、最初に発生した異常の根本の原因を突きとめる作業を直ちに始めることができ、復旧作業を能率良く行うことができる。
一方、ステップ１２では、ログ書込部１７が、ＨＤＤ６に異常通知部１３からの異常情報等を記録する。このステップ１２の処理により、既に異常情報が通知されている場合はロギングのみ行うことになる。ステップ１２の処理を終えるとこの処理を終了する。
このようにして、操作制御部２へロジックアプリ部１８で最初に発生した異常の根本の原因を示す異常情報のみを送るために、異常通知部１３に保持されなかった二次的異常の異常情報等も保存するので、原因の調査や復旧作業の際に適宜利用することができる。
【００３１】
また、ステップ１３では、異常通知部１３が、異常情報書込部１５に異常情報を通知し、ステップ１４へ進む。
ステップ１４で、異常情報書込部１５は、ＮＶＲＡＭ５の所定位置に異常情報を書き込み、ステップ１５へ進む。
このステップ１４の処理により、通信経路の異常のエラーで操作制御部２に異常情報を通知できない場合は、ＮＶＲＡＭ５に異常情報を記録し、次回複合機の起動時に操作制御部２へ送る処理を実行することができる。
ステップ１５で、異常通知部１３は、ログ書込部１７に異常発生時の動作情報と異常情報と異常情報の通知が失敗したことを示す異常通知失敗の情報を通知し、ステップ１６へ進む。
【００３２】
ステップ１６で、ログ書込部１７が、ＨＤＤ６に異常発生時の動作情報と異常情報と異常通知失敗の情報を記録し、この処理を終了する。
上述の処理において、異常情報等の記憶先としてＮＶＲＡＭ５とＨＤＤ６を用いる場合を示したが、いずれか一方を用いるようにしても良いし、その他の不揮発性メモリ（不揮発性記憶手段）を用いるようにしても良い。
このようにして、複数の制御部間でも異常発生時の通知を正しく行うことができ、ユーザに根本原因の正しいエラーを通知して、ユーザに正しい復旧措置を取らせることができる。
【００３３】
次に、本体制御部１のＪａｖａＶＭ１２に異常が発生した場合の処理を説明する。
図４は図１に示したＪａｖａＶＭ１２の異常発生時の処理を示すフローチャート図である。
この処理は、何らかの異常により、ＪａｖａＶＭ１２のプロセスそのものがダウンした場合の異常表示処理であり、ステップ（図中「Ｓ」で示す）２１で、本体制御部１の起動管理部１１は、ＪａｖａＶＭ１２が落ちたことを検知すると、ステップ２２へ進む。
ステップ２２で、起動管理部１１は、ＪａｖａＶＭ１２の異常とその異常状態（異常発生時の動作状態も含む）を検知し、その検知結果に基づいて、異常通知部１３へ異常発生時の動作情報と異常の内容を示す異常情報を通知し、ステップ２３へ進む。
【００３４】
ステップ２３で、異常通知部１３は、異常情報等の通知有りか否かを判断し、有りならステップ３１へ進み、無ければステップ２４へ進む。
ステップ２４で、異常通知部１３は、通信経路監視部１４に対して通信経路状態を確認する。この確認の詳細については後述するが、通信経路監視部１４に保持された通信経路状態フラグを確認する。その確認後、ステップ２５へ進む。
このステップ２３，２４の処理により、異常通知部１３は、起動管理部１１から異常情報等の通知があったとき、保持している異常情報等が無ければ、その通知された異常情報等を保持するが、先に発生した異常の異常情報等を既に保持している場合はログ書込部１７へ送って保持しない。
【００３５】
このようにすれば、操作制御部２へＪａｖａＶＭ１２が落ちたことを示す異常情報のみを送ることができ、その後に本体制御部１内で発生した二次的異常の異常情報を操作制御部２へ通知しないようにすることができる。
ステップ２５で、異常通知部１３は、通信経路の状態は正常か否かを判断する。ここでは操作制御部２との通信が正常に行えるか否かを判断する。その判断で通信経路の状態が正常ならステップ２６へ進み、正常でなければ（異常ならば）ステップ３２へ進む。
ステップ２６で、通信経路監視部１４は、操作制御部２側の通信経路監視部３４に異常通知部１３の異常情報を送信し、ステップ２７へ進む。この送信された異常情報は、操作制御部２の通信経路監視部３４によって受信されて記憶される。
【００３６】
ステップ２７で、異常通知部１３は、ログ書込部１７に異常発生時の動作情報と異常情報と異常情報の通知が成功したことを示す異常通知成功の情報を通知し、ステップ２８へ進む。
ステップ２８で、ログ書込部１７は、ＨＤＤ６に異常発生時の動作情報と異常情報と異常通知成功の情報（これらの情報をまとめて「ログ情報」ともいう）を記録し、ステップ２９へ進む。
ステップ２９で、操作制御部２の異常検知部３３が、通信経路監視部３４に本体制御部１から異常情報がきたことを検知すると、通信経路監視部３４に記憶されている異常情報を読み出して表示部３１に送信し、ステップ３０へ進む。
【００３７】
ステップ３０で、表示部３１は、異常検知部３３からの異常情報に基づく異常通知画面を生成し、その画面を表示パネルに表示し、この処理を終了する。
このステップ３０の処理において、表示部３１は、異常対処方法データベース３２を参照し、上記異常情報に関する対応方法の情報を読み出し、上記異常通知画面内に今回の異常に対する対処方法をユーザに知らせるメッセージを表示する。
このようにして、本体制御部１において最初に発生したＪａｖａＶＭ１２が落ちたことを示す異常情報をユーザに正しく通知することができ、ユーザはＪａｖａＶＭ１２が落ちたのに続けて二次的異常が発生しても、最初に発生したＪａｖａＶＭ１２が落ちたことの根本の原因を突きとめる作業を直ちに始めることができ、復旧作業を能率良く行うことができる。
【００３８】
一方、ステップ３１では、ログ書込部１７が、ＨＤＤ６に異常通知部１３からの異常情報等を記録する。このステップ３１の処理により、既に異常情報が通知されている場合はロギングのみ行うことになる。ステップ３１の処理を終えるとこの処理を終了する。
このようにして、操作制御部２へＪａｖａＶＭ１２が落ちたことを示す異常情報のみを送るために、異常通知部１３に保持されなかった二次的異常の異常情報等も保存するので、原因の調査や復旧作業の際に適宜利用することができる。
また、ステップ３２では、異常通知部１３が、異常情報書込部１５に異常情報を通知し、ステップ３３へ進む。
ステップ３３で、異常情報書込部１５は、ＮＶＲＡＭ５の所定位置に異常情報を書き込み、ステップ３４へ進む。
【００３９】
このステップ３３の処理により、通信経路の異常のエラーで操作制御部２に異常情報を通知できない場合は、ＮＶＲＡＭ５に異常情報を記録し、次回複合機の起動時に操作制御部２へ送る処理を実行することができる。
ステップ３４で、異常通知部１３は、ログ書込部１７に異常発生時の動作情報と異常情報と異常情報の通知が失敗したことを示す異常通知失敗の情報を通知し、ステップ３５へ進む。
ステップ３５で、ログ書込部１７が、ＨＤＤ６に異常発生時の動作情報と異常情報と異常通知失敗の情報を記録し、この処理を終了する。
【００４０】
上述の処理において、異常情報等の記憶先としてＮＶＲＡＭ５とＨＤＤ６を用いる場合を示したが、いずれか一方を用いるようにしても良いし、その他の不揮発性メモリ（不揮発性記憶手段）を用いるようにしても良い。
このようにして、ユーザに各プログラムで発生した異常、ＪａｖａＶＭ１２の動作異常を知らせて正しい復旧措置を取らせることができる。
【００４１】
次に、操作制御部２で実行するアプリケーションプログラムに異常が発生した場合の処理を説明する。
図５は、図１に示した操作制御部２のアプリケーションプログラムの異常発生時の処理を示すフローチャート図である。
操作制御部２で実行するアプリケーションプログラムの異常表示処理は、ステップ（図中「Ｓ」で示す）４１で、操作制御部２の異常検知部３３は、操作制御部２上のアプリケーションで異常が発生したことを検知すると、ステップ４２へ進む。
ステップ４２で、異常検知部３３は、表示部３１へ異常の検知結果に基づく異常情報を通知し、ステップ４３へ進む。
【００４２】
ステップ４３で、表示部３１は、異常検知部３３から通知された異常情報に基づく異常通知画面を生成し、その画面を表示パネルに表示し、この処理を終了する。
このステップ４３の処理において、表示部３１は、異常対処方法データベース３２を参照し、上記異常情報に関する対応方法の情報を読み出し、上記異常通知画面内に今回の異常に対する対処方法をユーザに知らせるメッセージを表示する。
このようにして、操作制御部２上での異常についてもユーザに異常情報を知らせることができる。
【００４３】
次に、本体制御部１と操作制御部２との間の通信経路の異常をユーザに通知する場合の処理を説明する。
図６は、図１に示した本体制御部１と操作制御部２との間の通信経路監視処理を示すフローチャート図である。
本体制御部１と操作制御部２との間の通信経路の異常表示処理は、ステップ（図中「Ｓ」で示す）５１で、各通信経路監視部１４，３４は、もう一方の通信経路監視部３４，１４へシグナルを送る。このステップでは、本体制御部１の通信経路監視部１４が操作制御部２の通信経路監視部３４へ、操作制御部２の通信経路監視部３４が本体制御部１の通信経路監視部１４へそれぞれ応答確認用のシグナル（信号）を送る。このように、本体制御部１と操作制御部２との間の通信経路の異常の確認にポーリング方式を用いてもよいし、各制御部がもう一方の制御部への通信が発生するたびに監視し、通信経路の状態の情報を更新するようにしてもよい。このステップの後、ステップ５２へ進む。
【００４４】
ステップ５２で、各通信経路監視部１４，３４は、シグナルの送信先の制御部から応答が有ったか否かを判断し、応答があったらステップ５３へ進み、応答がなかったらステップ５６へ進む。
ステップ５３で、各通信経路監視部１４，３４は、自部内（あるいは操作制御部２内）のメモリに保持する通信経路状態フラグを“正常”にする。この通信経路状態フラグは、通信経路が正常であるか否かを示す識別情報であり、例えば、通信経路が正常であることを示す通信経路状態フラグを“０”、通信経路が異常であることを示す通信経路状態フラグを“１”とする。このステップの後、ステップ５４へ進む。
ステップ５４で、各通信経路監視部１４，３４は、自部内（あるいは操作制御部２内）のメモリの応答無し回数＝０とし、シグナルの送信先からの応答無し回数をカウントするカウンタ値をリセットして、ステップ５５へ進む。
【００４５】
ステップ５５で、各通信経路監視部１４，３４は、上記シグナルの送信から予め設定した一定時間待ち（待機し）、ステップ５１へ戻る。
一方、ステップ５６で、各通信経路監視部１４，３４は、応答無し回数＝応答無し回数＋１とし、シグナルの送信先からの応答無し回数をカウントするカウンタ値を１つ加算し、ステップ５７へ進む。
ステップ５７で、各通信経路監視部１４，３４は、応答無し回数と予め設定した閾値とを比較し、応答無し回数＜閾値か否かを判断する。この判断は、閾値以上の応答無し回数を確認したときに通信経路が異常であると判断するためのものである。この判断で、応答無し回数＜閾値ならば、ステップ５５へ戻り、応答無し回数≧閾値ならば、ステップ５８へ進む。
【００４６】
ステップ５８で、各通信経路監視部１４，３４は、自部内（あるいは操作制御部２内）のメモリに保持する通信経路状態フラグを“異常”にし、ステップ５９へ進む。
ステップ５９で、操作制御部２側の通信経路監視部３４は、自部内（あるいは操作制御部２内）のメモリに保持する通信経路状態フラグを“異常”にすると、通信経路に異常があることを示す異常情報を異常検知部３３へ発行し、ステップ６０へ進む。
ステップ６０で、異常検知部３３は、通信経路監視部３４からの異常情報を検知し、表示部３１にその異常情報を通知し、ステップ６１へ進む。
【００４７】
ステップ６１で、表示部３１は、異常検知部３３から通知された異常情報に基づく異常通知画面を生成し、その画面を表示パネルに表示し、この処理を終了する。
このステップ６１の処理において、表示部３１は、異常対処方法データベース３２を参照し、上記異常情報に関する対応方法の情報を読み出し、上記異常通知画面内に今回の異常に対する対処方法をユーザに知らせるメッセージを表示する。
このようにして、本体制御部１と操作制御部２との通信経路上での異常についてもユーザに異常情報を知らせることができる。
【００４８】
次に、本体制御部１と操作制御部２との間のソケット通信での異常をユーザに通知する場合の処理を説明する。
図７は、図１に示した本体制御部１と操作制御部２との間のソケット通信監視処理を示すフローチャート図である。
本体制御部１と操作制御部２との間のソケット通信の異常表示処理は、ステップ（図中「Ｓ」で示す）７１で、操作制御部２側のＵＩアプリ部３０は、本体制御部１へ送信するデータのソケットを作成し、ステップ７２へ進む。
ステップ７２で、操作制御部２側のＵＩアプリ部３０は、上記作成したソケットを本体制御部１側のＵＩアプリ部２０へ直接ソケット通信で送信し、ステップ７３へ進む。
【００４９】
ステップ７３で、ＵＩアプリ部３０は、ソケットの送信先の本体制御部１のＵＩアプリ部２０から応答が有ったか否かを判断し、応答があったらステップ７４へ進み、応答がなかったらステップ７５へ進む。
ステップ７４で、ＵＩアプリ部３０は、自部内（あるいは操作制御部２内）のメモリの応答無し回数＝０とし、ソケットの送信先からの応答無し回数をカウントするカウンタ値をリセットして、ステップ７１へ戻る。
ステップ７５で、ＵＩアプリ部３０は、応答無し回数＝応答無し回数＋１とし、ソケットの送信先からの応答無し回数をカウントするカウンタ値を１つ加算し、ステップ７６へ進む。
【００５０】
ステップ７６で、ＵＩアプリ部３０は、応答無し回数と予め設定した閾値とを比較し、応答無し回数＜閾値か否かを判断する。この判断は、閾値以上の応答無し回数を確認したときにソケット通信が異常であると判断するためのものである。この判断で、応答無し回数＜閾値ならば、ステップ７１へ戻り、応答無し回数≧閾値ならば、ステップ７７へ進む。
ステップ７７で、ＵＩアプリ部３０は、自部内（あるいは操作制御部２内）のメモリの応答無し回数＝０とし、ソケットの送信先からの応答無し回数をカウントするカウンタ値をリセットして、ステップ７８へ進む。
【００５１】
ステップ７８で、操作制御部２側のＵＩアプリ部３０は、本体制御部１側の異常通知部１３に上記作成したソケットでソケット通信し、ステップ７９へ進む。
ステップ７９で、ＵＩアプリ部３０は、ソケットの送信先の本体制御部１の異常通知部１３から応答が有ったか否かを判断し、応答があったらステップ８０へ進み、応答がなかったらステップ８６へ進む。
ステップ８０で、操作制御部２側のＵＩアプリ部３０は、ソケット通信によって異常通知部１３の異常情報の取得を試み、ステップ８１へ進む。
ステップ８１で、ＵＩアプリ部３０は、上記異常通知部１３の異常情報の取得処理によって異常通知部１３に異常情報が有るか否かを判断する。この判断では、異常通知部１３から異常情報を取得できたら異常情報有りと判断し、取得できなかったら異常情報無しと判断する。この判断で、異常情報有りなら、ステップ８２へ進み、異常情報無しなら、ステップ８４へ進む。
【００５２】
ステップ８２で、操作制御部２側のＵＩアプリ部３０は、表示部３１に上記取得した異常情報を通知し、ステップ８３へ進む。
ステップ８３で、表示部３１は、ＵＩアプリ部３０から通知された異常情報に基づく異常通知画面を生成し、その画面を表示パネルに表示し、この処理を終了する。
このステップ８３の処理において、表示部３１は、異常対処方法データベース３２を参照し、上記異常情報に関する対応方法の情報を読み出し、上記異常通知画面内に今回の異常に対する対処方法をユーザに知らせるメッセージを表示する。
このようにして、異常通知部１３とはソケット通信可能であり、異常通知部１３に異常情報がある場合には、本体制御部１でエラーが起こったものとして異常を知らせることができる。
【００５３】
また、ステップ８４で、操作制御部２側のＵＩアプリ部３０は、特定ソケット通信異常を示す異常情報を生成し、表示部３１に通知し、ステップ８５へ進む。
ステップ８５で、表示部３１は、ＵＩアプリ部３０から通知された異常情報に基づく異常通知画面を生成し、その画面を表示パネルに表示し、この処理を終了する。
このステップ８５の処理において、表示部３１は、異常対処方法データベース３２を参照し、上記異常情報に関する対応方法の情報を読み出し、上記異常通知画面内に今回の異常に対する対処方法をユーザに知らせるメッセージを表示する。
このように、異常通知部１３とはソケット通信可能であり、異常通知部１３に異常情報がない場合には、本体制御部１の特定のソケット（ポート）にエラーがあるとして、この場合は本体制御部１のＵＩアプリ部２０とのソケットにエラーがあることを異常表示することができる。
【００５４】
一方、ステップ８６で、ＵＩアプリ部３０は、応答無し回数＝応答無し回数＋１とし、ソケットの送信先からの応答無し回数をカウントするカウンタ値を１つ加算し、ステップ８７へ進む。
ステップ８７で、ＵＩアプリ部３０は、応答無し回数と予め設定した閾値とを比較し、応答無し回数＜閾値か否かを判断する。この判断は、閾値以上の応答無し回数を確認したときにソケット通信が異常であると判断するためのものである。この判断で、応答無し回数＜閾値ならば、ステップ７８へ戻り、応答無し回数≧閾値ならば、ステップ８８へ進む。
ステップ８８で、操作制御部２側のＵＩアプリ部３０は、全ソケット通信異常を示す異常情報を生成し、表示部３１に通知し、ステップ８９へ進む。
【００５５】
ステップ８９で、表示部３１は、ＵＩアプリ部３０から通知された異常情報に基づく異常通知画面を生成し、その画面を表示パネルに表示し、この処理を終了する。
このステップ８９の処理において、表示部３１は、異常対処方法データベース３２を参照し、上記異常情報に関する対応方法の情報を読み出し、上記異常通知画面内に今回の異常に対する対処方法をユーザに知らせるメッセージを表示する。
このように、本体制御部１とはＵＩアプリ部２０とも異常通知部１３ともソケット通信できない場合は、本体制御部１のソケット通信全体にエラーがあるとして異常表示することができる。
このようにして、ある異常の副次的障害でソケット通信ができなくなった場合に、副次的障害であることを切り分けることができ、ユーザへの異常通知の誤表示を低減させることができる。
【００５６】
次に、この複合機の起動時における異常情報回収処理を説明する。
図８は、図１に示した複合機の起動時における異常情報回収処理を示すフローチャート図である。
この処理は、ステップ（図中「Ｓ」で示す）９１で、複合機の主電源がＯＮにされ、本体制御部１，操作制御部２を含む各部への給電が開始されると、ステップ９２へ進む。
ステップ９２で、本体制御部１のＯＳ１０が、異常情報読込部１６にＮＶＲＡＭ５からの異常情報の読み込みを依頼し、ステップ９３へ進む。
ステップ９３で、異常情報読込部１６は、ＮＶＲＡＭ５の特定領域から異常情報を読み込み、ステップ９４へ進む。
【００５７】
ステップ９４で、異常情報読込部１６は、異常情報有りか否かを判断する。この判断では、ＮＶＲＡＭ５の特定領域から異常情報を読み込めた場合は異常情報有りと判断し、特定領域に異常情報が記録されていなくて読み込めなかった場合は異常情報無しと判断する。この判断で、異常情報無しと判断したら、ステップ９５へ進み、異常情報有りと判断したら、ステップ９６へ進む。
ステップ９５で、ＯＳ１０はそのまま通常の立ち上げ処理を実行し、この処理を終了する。
一方、ステップ９６で、異常情報読込部１６は、異常通知部１３に異常情報を通知し、図３に示したステップ５の処理へ進み、上述した図３に示したステップ４以降の処理を実行する。
【００５８】
すなわち、ステップ５で、異常通知部１３は、通信経路監視部１４に対して通信経路状態を確認する。この確認の詳細については後述するが、通信経路監視部１４に保持された通信経路状態フラグを確認する。その確認後、ステップ６へ進む。
このステップ４，５の処理により、異常通知部１３は、機内監視部１９から異常情報等の通知があったとき、保持している異常情報等が無ければ、その通知された異常情報等を保持するが、先に発生した異常の異常情報等を既に保持している場合はログ書込部１７へ送って保持しない。
このようにすれば、操作制御部２へロジックアプリ部１８で最初に発生した異常の根本の原因を示す異常情報のみを送ることができ、その後に本体制御部１内で発生した二次的異常の異常情報を操作制御部２へ通知しないようにすることができる。
【００５９】
ステップ６で、異常通知部１３は、通信経路の状態は正常か否かを判断する。ここでは操作制御部２との通信が正常に行えるか否かを判断する。その判断で通信経路の状態が正常ならステップ７へ進み、正常でなければ（異常ならば）ステップ１３へ進む。
ステップ７で、通信経路監視部１４は、操作制御部２側の通信経路監視部３４に異常通知部１３の異常情報を送信し、ステップ８へ進む。この送信された異常情報は、操作制御部２の通信経路監視部３４によって受信されて記憶される。
ステップ８で、異常通知部１３は、ログ書込部１７に異常発生時の動作情報と異常情報と異常情報の通知が成功したことを示す異常通知成功の情報を通知し、ステップ９へ進む。
【００６０】
ステップ９で、ログ書込部１７は、ＨＤＤ６に異常発生時の動作情報と異常情報と異常通知成功の情報（これらの情報をまとめて「ログ情報」ともいう）を記録し、ステップ１０へ進む。
ステップ１０で、操作制御部２の異常検知部３３が、通信経路監視部３４に本体制御部１から異常情報がきたことを検知すると、通信経路監視部３４に記憶されている異常情報を読み出して表示部３１に送信し、ステップ１１へ進む。
ステップ１１で、表示部３１は、異常検知部３３からの異常情報に基づく異常通知画面を生成し、その画面を表示パネルに表示し、この処理を終了する。
このステップ１１の処理において、表示部３１は、異常対処方法データベース３２を参照し、上記異常情報に関する対応方法の情報を読み出し、上記異常通知画面内に今回の異常に対する対処方法をユーザに知らせるメッセージを表示する。
【００６１】
このようにして、本体制御部１において最初に発生した異常の情報をユーザに正しく通知することができ、ユーザは最初に発生した異常に続けて二次的異常が発生しても、最初に発生した異常の根本の原因を突きとめる作業を直ちに始めることができ、復旧作業を能率良く行うことができる。
一方、ステップ１２では、ログ書込部１７が、ＨＤＤ６に異常通知部１３からの異常情報等を記録する。このステップ１２の処理により、既に異常情報が通知されている場合はロギングのみ行うことになる。ステップ１２の処理を終えるとこの処理を終了する。
このようにして、操作制御部２へロジックアプリ部１８で最初に発生した異常の根本の原因を示す異常情報のみを送るために、異常通知部１３に保持されなかった二次的異常の異常情報等も保存するので、原因の調査や復旧作業の際に適宜利用することができる。
【００６２】
また、ステップ１３では、異常通知部１３が、異常情報書込部１５に異常情報を通知し、ステップ１４へ進む。
ステップ１４で、異常情報書込部１５は、ＮＶＲＡＭ５の所定位置に異常情報を書き込み、ステップ１５へ進む。
このステップ１４の処理により、通信経路の異常のエラーで操作制御部２に異常情報を通知できない場合は、ＮＶＲＡＭ５に異常情報を記録し、次回複合機の起動時に操作制御部２へ送る処理を実行することができる。
ステップ１５で、異常通知部１３は、ログ書込部１７に異常発生時の動作情報と異常情報と異常情報の通知が失敗したことを示す異常通知失敗の情報を通知し、ステップ１６へ進む。
【００６３】
ステップ１６で、ログ書込部１７が、ＨＤＤ６に異常発生時の動作情報と異常情報と異常通知失敗の情報を記録し、この処理を終了する。
上述の処理において、異常情報等の記憶先としてＮＶＲＡＭ５とＨＤＤ６を用いる場合を示したが、いずれか一方を用いるようにしても良いし、その他の不揮発性メモリ（不揮発性記憶手段）を用いるようにしても良い。
こうして、複数の制御部間でも異常発生時の通知を正しく行うことができ、ユーザに根本原因の正しいエラーを通知して、ユーザに正しい復旧措置を取らせることができる。
このようにして、本体制御部１は、操作制御部２との通信経路に異常があり、操作制御部２に異常情報を通知できなかった場合に、複合機の次回の起動時に操作制御部２へ異常情報を通知して表示させることができる。
【００６４】
次に、ユーザに異常を通知する際の表示例を説明する。
図９は、ソケット通信エラーの異常が発生した場合の表示例を示す図である。
このように、表示部３１の表示パネルには、ソケット通信エラーが発生した場合、そのエラーコード「ＳＣ  ＸＸＸ−Ｘ」と共に、エラーを知らせるメッセージ「本体制御部と操作制御部のシステム間の通信エラーが発生しました。」と、このエラーへの対処方法を示すメッセージ「以下の点をご確認の上、手動での再起動をお願いいたします。・本体制御部と操作制御部のシステム間の接続ケーブルがはずれていませんか？・本体制御部と操作制御部のネットワークケーブルがはずれていませんか？」を表示する。
【００６５】
図１０は、操作制御部２にエラー表示できなかった場合に再起動時に表示される画面の一例を示す図である。
前回の通信経路障害等で本体制御部１から操作制御部２へ異常情報を通知できなかった場合、本体制御部１は複合機の再起動時に再度送信を試みてそれが成功すると、表示部３１は図１０のような画面を表示する。
このように、表示部３１の表示パネルには、エラーコード「ＳＣ  ＸＸＸ−Ｘ」と共に、エラー等を知らせるメッセージ「前回起動時、本体制御部でＹＹＹ問題が発生しました。以下の「確認」ボタンを押下すると詳細を確認できます。そのまま起動を続ける場合は「スキップ」ボタンを押下してください。」を表示する。
【００６６】
この実施例の複合機は、ある異常の二次的異常が発生した場合に、本体制御部１はそれらを全て操作制御部２に通信するという通信負荷を押さえることができ、かつ、根本の異常情報のみを送信することができる。
また、異常発生時の動作情報を記録するので、異常の通知の際にユーザはその記録された動作情報を容易に取得して参照することができるため、異常による障害解析効率を向上させることができる。
さらに、異常情報を表示する際、ユーザに正しい対処の方法を示すことができるので、ユーザに復旧作業を素早く能率良く行わせることができる。
【産業上の利用可能性】
【００６７】
この発明による組み込み装置と組み込み装置の異常表示方法とプログラムは、プリンタ，複写機，複合機，コンピュータを含む組み込み装置全般に適用することができる。
【符号の説明】
【００６８】
１：本体制御部    ２：操作制御部    ３：エンジン制御部    ４：通信制御部    ５：ＮＶＲＡＭ    ６：ＨＤＤ    １０：ＯＳ    １１：起動管理部    １２：ＪａｖａＶＭ    １３：異常通知部    １４，３４：通信経路監視部    １５：異常情報書込部    １６：異常情報読込部    １７：ログ書込部    １８，３５：ロジックアプリ部    １９：機内監視部    ２０，３０：ＵＩアプリ部    ３１：表示部    ３２：異常対処方法データベース    ３３：異常検知部
【先行技術文献】
【特許文献】
【００６９】
【特許文献１】特開２００６−０４２０７３号公報
【図１】
0005625374.tif 000002
【図２】
0005625374.tif 000003
【図３】
0005625374.tif 000004
【図４】
0005625374.tif 000005
【図５】
0005625374.tif 000006
【図６】
0005625374.tif 000007
【図７】
0005625374.tif 000008
【図８】
0005625374.tif 000009
【図９】
0005625374.tif 000010
【図１０】
0005625374.tif 000011