(57)【要約】【課題】本発明は、複数のモジュールを備えた画像処理装置における故障等の異常管理を適切に行う。【解決手段】複合装置１は、それぞれ所定の機能を実現する複数のモジュール２〜５と、該モジュール２〜５のうちそれぞれの機能を実現するのに必要な他のモジュール２〜５との通信を行なうバス６〜８と、モジュール２〜５のそれぞれに搭載され、該各モジュール２〜５における異常情報を取得して相互に通信するＩ２Ｃ２ａ〜５ａと、を備えている。複合装置１は、起動時には、操作部３のＩ２Ｃ３ａがマスタとして異常管理を行い、通常動作時には、メインコントローラ２のＩ２Ｃ２ａが、マスタとして異常管理を行う。【選択図】          図１
2013197677.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ所定の機能を実現する複数のモジュールと、
前記モジュールのうちそれぞれの機能を実現するのに必要な他のモジュールとの通信を行なう通信手段と、
前記モジュールのそれぞれに搭載され、該各モジュールにおける異常情報を取得して相互に通信する異常通信手段と、
を備えていることを特徴とする画像処理装置。
【請求項２】
前記異常通信手段は、
マルチマスタ・シリアルインターフェイスと、
前記マルチマスタ・シリアルインターフェイスを接続するシリアル通信線と、
を備えていることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像処理装置は、
前記モジュールとして、少なくとも外部への情報通知を行う通知モジュールを備え、
前記画像処理装置の起動時には、前記通知モジュールがマスターとして動作し、他のモジュールから前記異常情報を受け取って通知することを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項４】
前記画像処理装置は、
通常動作時に、動作情報を順次記憶する動作情報記憶手段を有した情報記憶機能付きモジュールを、さらに備え、
前記情報記憶機能付きモジュールは、前記画像処理装置の通常動作時に、マスターとして動作して、他のモジュールから前記異常情報を受け取ると、前記動作情報記憶手段に該異常情報を記憶するとともに、該異常情報を前記通知モジュールに送信し、該通知モジュールが、該異常情報を通知することを特徴とする請求項１から請求項３のいずれかに記載の画像処理装置。
【請求項５】
請求項１から請求項４のいずれかに記載の画像処理装置を備えていることを特徴とする画像形成装置。
【請求項６】
それぞれ所定の機能を実現する複数のモジュールのうちそれぞれの機能を実現するのに必要な他のモジュールとの通信を行なう通信処理ステップと、
前記モジュールのそれぞれに搭載されている異常通信手段で、該各モジュールにおける異常情報を取得して相互に通信する異常通知処理ステップと、
を有していることを特徴とする異常管理処理方法。
【請求項７】
コンピュータに、
それぞれ所定の機能を実現する複数のモジュールのうちそれぞれの機能を実現するのに必要な他のモジュールとの通信を行なう通信処理と、
前記モジュールのそれぞれに搭載されている異常通信手段で、該各モジュールにおける異常情報を取得して相互に通信する異常通知処理と、
を実行させることを特徴とする異常管理処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置、異常管理処理方法及び異常管理処理プログラムに関し、詳細には、複数のモジュールの故障等の異常管理を適切に行う画像処理装置、画像形成装置、異常管理処理方法及び異常管理処理プログラムに関する。
【背景技術】
【０００２】
複写装置、ファクシミリ装置、プリンタ装置、複合装置、スキャナ装置等の各種画像処理装置は、高機能化、多様化する傾向にあり、特に、その機能が、コピー機能、ファクシミリ機能、プリンタ機能、スキャナ機能等の複数の機能を有する複合装置においては、各種の機能を制御する必要上、１台の複合装置の中に、それぞれＣＰＵ（Central Processing Unit ）を含むコントローラを搭載した複数のユニット（モジュール）を備えるようになってきている。
【０００３】
このような複数のモジュールを搭載する画像処理装置においては、各ユニットがＵＳＢ（Universal Serial Bus）等のインターフェイスで接続されており、このインターフェイスが確立される前に、一部のモジュールで異常が発生すると、どのモジュールで、どのような異常が発生したのかを知ることができない。
【０００４】
例えば、操作部とメインコントローラがＵＳＢで接続されていて、操作部がＵＳＢデバイスで、メインコントローラがＵＳＢホストである場合、メインコントローラが起動しない異常が発生すると、操作部は、通信が確立しないという事実しか把握することができず、通信が確立しないというエラー情報を操作部のディスプレイに表示することしかできない。その結果、システムが起動しなかった原因、すなわち、エラー内容を表示することができない。
【０００５】
そして、従来、データ信号線および同期信号線を備える同期シリアルバスと、該同期信号線にシフトクロックを送出し、かつ、前記データ信号線にスレーブを特定するアドレス及びマスタ側データを、前記シフトクロックに同期してシリアルに送出するマスタと、前記同期シリアルバスに接続された複数のスレーブであって、それぞれがマスタからの自己を特定するアドレス及びマスタ側データに応答してスレーブ側データを前記シフトクロックに同期して、それぞれに接続した各スレーブ信号線にシリアルに送り出す、複数のスレーブと、前記マスタに接続されたスレーブ側データ信号線と、前記同期シリアルバスに前記マスタが送出したアドレスデータを読み取り、該アドレスデータによって特定されるスレーブを指定する信号を発生するマスタ側データ監視手段及び該指定する信号によって特定されるスレーブに接続されたスレーブ信号線の前記シフトクロックに同期してシリアルに送られるスレーブ側データを前記スレーブ側データ信号線に送るスレーブ側データ選択手段、を備えるスレーブデータ制御デバイスと、を含むシリアルデータ通信装置が提案されている（特許文献１参照）。
【０００６】
すなわち、この従来技術は、複数のスレーブの全ての、マスタからの送信に応答する返信を、スレーブ側データ信号線から受けることで、マスタが、マスタの返信を読み取る信号線の切り換えを行なうことなく、マスタ側信号線数（入力ポート数）を少なくして、返信読み込みの負荷を軽減するとともに、複数のスレーブ全体に対するデータ送受信の処理速度を高くすることを図っている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記公報記載の従来技術にあっては、複数のスレーブの全ての、マスタからの送信に応答する返信を、スレーブ側データ信号線から受けるようにしているのみであるため、複数のモジュールのうち、一部に異常が発生した場合に、どのモジュールにどのような異常が発生したかを、外部から分かるようにするうえで、改良の必要があった。例えば、上記従来技術では、メインコントローラがマスタであって、他のモジュールであるプロッタ部や操作部等のコントローラがスレーブである場合に、メインコントローラと操作部との通信が確立される前に異常が発生すると、操作部のコントローラは、操作部の表示部に、通信が確立しないというエラー情報を操作部のディスプレイに表示することしかできず、システムが起動しなかった原因、すなわち、エラー内容を表示することができないという問題を解決することができない。
【０００８】
そこで、本発明は、複数存在するモジュールにおける異常情報を安価かつ正確に通知することを目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、請求項１記載の画像処理装置は、それぞれ所定の機能を実現する複数のモジュールと、前記モジュールのうちそれぞれの機能を実現するのに必要な他のモジュールとの通信を行なう通信手段と、前記モジュールのそれぞれに搭載され、該各モジュールにおける異常情報を取得して相互に通信する異常通信手段と、を備えていることを特徴としている。
【発明の効果】
【００１０】
本発明によれば、複数存在するモジュールにおける異常情報を安価かつ正確に通知することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例を適用した複合装置の要部ブロック構成図。
【図２】Ｉ２Ｃの要部回路図。
【図３】Ｉ２Ｃの通信プロトコルを示す図。
【図４】実施例で用いるＩ２Ｃ通信書式を示す図。
【図５】操作部のＩ２Ｃによる起動時異常管理処理を閉めすフローチャート。
【図６】起動時のエラー通知処理の説明図。
【図７】メインコントローラのＩ２Ｃによる通常動作移行通知処理の説明図。
【図８】通常動作時におけるエラー通知処理の説明図。
【発明を実施するための形態】
【００１２】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１３】
図１〜図８は、本発明の画像処理装置、画像形成装置、異常管理処理方法及び異常管理処理プログラムの一実施例を示す図であり、図１は、本発明の画像処理装置、画像形成装置、異常管理処理方法及び異常管理処理プログラムの一実施例を適用した複合装置１の要部ブロック構成図である。
【００１４】
図１において、複合装置（画像処理装置）１は、モジュールとして、メインコントローラ２、操作部３、エンジン部４及び省電力部５等を備えており、所定の画像形成プロセスで画像を用紙に記録出力するプリント機能、原稿の画像を読み取るスキャナ機能、スキャナ機能で読み取った原稿の画像をプリント機能で記録出力する複写機能、スキャナ機能で読み取った原稿の画像データをファクシミリ送信したり、ファクシミリ送信されてきた画像データを受信してプリント機能で記録出力するするファクシミリ通信機能等の複合機能を備えている。
【００１５】
複合装置１は、メインコントローラ２が、通信手段としてのＰＣＩ（Peripheral Component Interconnect） Express（以下、ＰＣＩｅという。）バス６によってエンジン部４に接続され、通信手段としてのＰＣＩバス７によって省電力部５に接続されている。また、複合装置１は、メインコントローラ２が、通信手段としてのＵＳＢ（Universal Serial Bus）バス８によって操作部３に接続されている。
【００１６】
また、複合装置１は、メインコントローラ２、操作部３、エンジン部４及び省電力部５が、それぞれＩ２Ｃ（Inter Integrated Circuit）２ａ、３ａ、４ａ、５ａを搭載しており、各Ｉ２Ｃ２ａ、３ａ、４ａ、５ａは、相互にＩ２Ｃ信号線９によって接続されている。これらのＩ２Ｃ２ａ、３ａ、４ａ、５ａ及びＩ２Ｃ信号線９は、全体として、異常通信手段として機能している。
【００１７】
メインコントローラ（情報記憶機能付きモジュール）２は、ＣＰＵ（Central Processing Unit ）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等を備え、ＣＰＵが、ＲＯＭ内のプログラムに基づいてＲＡＭをワークメモリとして利用しつつ、複合装置１の各部を制御して、複合装置１としての基本処理を実行する。特に、メインコントローラ２は、各部（モジュール）の異常情報を収集して、該異常情報を記憶する不揮発性メモリ（動作情報記憶手段）を備えている。
【００１８】
操作部（通知モジュール）３は、複合装置１を操作するのに必要な各種操作キー及びディスプレイ（例えば、液晶ディスプレイ）を備え、操作キーからは複合装置１の操作を行うのに必要な各種操作が行われる。また、操作部３は、ディスプレイに、操作キーによる操作内容や後述する本発明のエラー情報等を表示することで通知する。なお、操作部３は、例えば、ディスプレイである液晶ディスプレイ上に配設されたタッチパネル等であってもよい。操作部３は、操作キーの操作内容を、ＵＳＢバス８を介してメインコントローラ２に送信し、メインコントローラ２からＵＳＢバス８を介して送られてくる表示情報や後述するＩ２Ｃ３ａの検出したエラー情報やＩ２Ｃ３ａがメインコントローラ２のＩ２Ｃ２ａから受け取ったエラー情報をディスプレイに表示して通知する。
【００１９】
エンジン部４は、原稿を主走査及び副走査して該原稿の画像を読み取るスキャナ部、画像データに基づいて所定の画像形成プロセス（例えば、電子写真プロセス）で用紙に画像を形成するプリント部等を備えており、メインコントローラ２の制御下で動作して、スキャナ部で読み取った原稿の画像データをＰＣＩｅバス６を介してメインコントローラ２に送ったり、メインコントローラ２からＰＣＩｅバス６を介して受け取った画像データに基づいてプリント部で画像を用紙に記録出力する。
【００２０】
省電力部５は、ＰＣＩバス７を介してメインコントローラ２の動作を監視して、待機状態が所定の待ち時間経過すると、主要各部への電源電力の供給を停止したり、削減する省電力モードへの移行を行うとともに、各種復帰要因、例えば、エンジン部４のスキャナ部への原稿セットの検出、複合装置１の本体筐体の扉の開操作、操作部３のキー操作等を検出すると、省電力モードから通常動作可能な待機モードへの復帰処理を行なう。
【００２１】
そして、メインコントローラ２のＩ２Ｃ２ａ、操作部３のＩ２Ｃ３ａ、エンジン部４のＩ２Ｃ４ａ及び省電力部５のＩ２Ｃ５ａは、図２に示すように、それぞれＩ２Ｃバス９に接続されており、Ｉ２Ｃバス９は、プルアップ抵抗Ｒ（通常、１ＫΩ程度）を介してプルアップ電源電圧Ｖｄｄに接続されておいる。各Ｉ２Ｃ２ａ、３ａ、４ａ、５ａは、デバイスとして同じものが用いられているが、内蔵のプログラムとして、メインコントローラ２のＩ２Ｃ２ａと操作部３のＩ２Ｃ３ａには、マスタ及びスレーブとして動作することのできるプログラムが格納されていて、エンジン部４のＩ２Ｃ４ａと省電力部５のＩ２Ｃ５ａには、スレーブとして動作することのできるプログラムのみが格納されている。すなわち、複合装置１は、メインコントローラ２のＩ２Ｃ２ａ、操作部３のＩ２Ｃ３ａ、エンジン部４のＩ２Ｃ４ａ及び省電力部５のＩ２Ｃ５ａのうち、メインコントローラ２のＩ２Ｃ２ａと操作部３のＩ２Ｃ３ａが、選択的にマスタとなりうるマルチマスタＩ２Ｃシステムが構築されている。このマルチマスタＩ２Ｃシステムでは、マスタとなりうるメインコントローラ２のＩ２Ｃ２ａと、操作部３のＩ２Ｃ３ａのうち、先に「Ｌ」をデータラインに送出したほうが優先的にマスタとなる。
【００２２】
なお、以下の説明では、メインコントローラ２、操作部３、エンジン部４及び省電力部５を、適宜、モジュール２、３、４、５として表記する。
【００２３】
複合装置１は、Ｉ２Ｃ信号線９として、シリアルクロック線（ＳＣＬ）９ａと、シリアルデータ線（ＳＤＡ）９ｂを有し、各Ｉ２Ｃ２ａ、３ａ、４ａ、５ａは、シリアルクロック線９ａとシリアルデータ線９ｂに接続されるＳＣＬ端子とＳＤＡ端子を備えている。Ｉ２Ｃの通信プロトコルは、一般的に、図３のように示される。Ｉ２Ｃ通信プロトコルでは、シリアルクロック（ＳＣＬ）は、同期を取るための信号線であり、通常は、マスタ→スレーブの一方向である。また、Ｉ２Ｃ通信プロトコルでは、ＳＣＬがＬｏｗ（ロー）の期間に、シリアルデータ（ＳＤＡ）を変更し、ＳＣＬをＨｉｇｈ（ハイ）で保持することによってその通信を行なう。さらに、Ｉ２Ｃ通信プロトコルでは、シリアルデータ（ＳＤＡ）は、ＳＣＬに同期して、データの転送に用いる信号線であり、マスタ、スレーブのどちらからも送信されることがある。Ｉ２Ｃ通信プロトコルでは、ＡＣＫ（ACKnowledgement：肯定応答）コマンドもＳＤＡを通じて送信され、転送方向は、ＡＣＫコマンドの前のＲ／Ｗによって、通信中に随時変化する。そして、Ｉ２Ｃ通信プロトコルでは、データは、スタートコンディションＳから始まり、ＳＣＬがＬｏｗのときにデータの変化が行われて、実際のデータ送受信が続いて、ストップコンディションで終わる。
【００２４】
また、複合装置１は、メインコントローラ２のＩ２Ｃ２ａに対して、アドレス「００１」が、操作部３のＩ２Ｃ３ａに対して、アドレス「００２」が、エンジン部４のＩ２Ｃ４ａに対して、アドレス「００３」が、省電力部５のＩ２Ｃ５ａに対して、アドレス「００４」が割り当てられている。
【００２５】
さらに、Ｉ２Ｃ通信プロトコルでは、規定はないが、本実施例においては、図４に示すような通信書式を前提として、各モジュールの異常管理処理を行なう。すなわち、［通信元アドレス］［コマンド］［データ長］［コマンドに依存するデータ］でフレーム構成されており、コマンドとしては、［Ready問い合わせ］が、［0x01］、［Ready通知］が、［0x02］、［エラー通知］が、［0x03］、［通常動作移行通知］が、［0x04］がある。そして、データ長が［０］のときには、［データ長］が［０］になり、後続の［コマンドに依存したデータ］がない形式となる。
【００２６】
そして、複合装置１は、本発明の異常管理処理プログラムとして、メインコントローラ２のＩ２Ｃ２ａと操作部３のＩ２Ｃ３ａに、マスタとスレーブの双方のプログラムが搭載され、他のユニットであるエンジン部４のＩ２Ｃ４ａと省電力部５のＩ２Ｃ５ａに、スレーブとしてのプログラムが搭載されて、各部２〜５のエラー情報に対して、Ｉ２Ｃのマルチマスタシリアル通信をメインコントローラ２のＩ２Ｃ２ａ、操作部３のＩ２Ｃ３ａ、エンジン部４のＩ２Ｃ４ａ及び省電力部５のＩ２Ｃ５ａで実行させることによって、本発明の異常管理処理方法を実行する。すなわち、複合装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明の異常管理処理方法を実行する異常管理処理プログラムを読み込んで、メインコントローラ２のＩ２Ｃ２ａと操作部３のＩ２Ｃ３ａに、マスタとスレーブの双方のプログラムが搭載され、他のユニットであるエンジン部４のＩ２Ｃ４ａと省電力部５のＩ２Ｃ５ａに、スレーブとしてのプログラムが搭載されて、各部２〜５のエラー情報に対して、Ｉ２Ｃのマルチマスタシリアル通信をメインコントローラ２のＩ２Ｃ２ａ、操作部３のＩ２Ｃ３ａ、エンジン部４のＩ２Ｃ４ａ及び省電力部５のＩ２Ｃ５ａ実行させることで、本発明の異常管理処理方法を実行する画像処理装置として構築されている。この異常管理処理プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００２７】
次に、本実施例の作用を説明する。本実施例の複合装置１は、複数存在するモジュールであるメインコントローラ２、操作部３、エンジン部４及び省電力部５における異常情報を安価かつ正確に通知する。
【００２８】
すなわち、複合装置１は、電源がオン時や省電力モードからの復帰起動時には、操作部３のＩ２Ｃ３ａが、マスタ、他のモジュールであるメインコントローラ２、エンジン部４及び省電力部５のＩ２Ｃ２ａ、４ａ、５ａがスレーブとなって、マスタである操作部３のＩ２Ｃ３ａが、他のＩ２Ｃ２ａ、４ａ、５ａとのポーリング動作によるＲｅａｄｙ問い合わせに対する該他のＩ２Ｃ２ａ、４ａ、５ａからの応答に基づいて、異常判定を行い、判定結果を操作部３のディスプレイに表示する。
【００２９】
操作部３のＩ２Ｃ３ａは、図３に示したように、メインコントローラ２のＩ２Ｃ２ａよりも先に「Ｌ」のＳＤＡをＩ２Ｃ信号線９のシリアルデータ線９ｂに送出することで、マスタとなり、他のＩ２Ｃ２ａ、４ａ、５ａをスレーブとして、該他のＩ２Ｃ２ａ、４ａ、５ａからの応答を確認することで、該他のＩ２Ｃ２ａ、４ａ、５ａの設けられているメインコントローラ２、エンジン部４及び省電力部５の異常の有無を検出・管理する。
【００３０】
そして、操作部３のＩ２Ｃ３ａは、マスタとなると、図５に示すように、複合装置１のエラー管理を行う対象としているモジュールであるメインコントローラ２、エンジン部４及び省電力部５のＩ２Ｃ２ａ、４ａ、５ａと所定のタイムアウト時間とをセットとした対象モジュールリストを初期化する（ステップＳ１０１）。この対象モジュールリストは、予めＩ２Ｃ３ａのレジスタ等にセットされている。
【００３１】
Ｉ２Ｃ３ａは、次に、対象モジュールリストのタイムアウト時間の更新を行って（ステップＳ１０２）、全ての対象モジュールに対する異常管理処理を完了して、異常管理対象としての対象モジュールが無くなったかチェックする（ステップＳ１０３）。
【００３２】
Ｉ２Ｃ３ａは、ステップＳ１０３で、対象モジュールが存在するとき（ステップＳ１０３で、ＮＯのとき）には、対象モジュールリストのタイムアウト時間の残り時間が期限切れになったかチェックし（ステップＳ１０４）、期限切れになっていないとき（ステップＳ１０４で、ＮＯのとき）には、全ての対象モジュールについて処理を行ったかチェックする（ステップＳ１０５）。
【００３３】
ステップＳ１０５で、全ての対象モジュールについて処理が完了していないとき（ステップＳ１０５で、ＮＯのとき）には、Ｉ２Ｃ３ａは、操作部３のＩ２Ｃ３ａがマスタとなってポーリング動作によって、対象モジュールに対してマスタとして受信動作を行い（ステップＳ１０６）、受信に成功したかチェックする（ステップＳ１０７）。
【００３４】
ステップＳ１０７で、受信に成功すると、Ｉ２Ｃ３ａは、成功した対象モジュールを対象モジュールリストから外し（ステップＳ１０８）、５０ｍｓ間だけスレーブ動作を行って、対象モジュールからのエラー通知等の受信を行なう（ステップＳ１０９）。また、ステップＳ１０７で、受信に失敗した時にも、Ｉ２Ｃ３ａは、５０ｍｓ間だけスレーブ動作を行って、対象モジュールからのエラー通知等の受信を行なう（ステップＳ１０９）。
【００３５】
すなわち、操作部３のＩ２Ｃ３ａは、この起動時の異常管理処理において、図６に示すよに、他のモジュールからマスタ動作でエラー送信があってエラー処理コマンドが送られてくると、このエラー処理コマンドをスレーブ動作中に受信して、ＡＣＫコマンドを該モジュールに送信する。そして、エラーの発生したモジュールのＩ２Ｃ２ａ、４ａ、５ａは、操作部３のＩ２Ｃ３ａからＡＣＫコマンドが送られてくるまで、エラー送信処理をリトライし、ＡＣＫコマンドが操作部３のＩ２Ｃ３ａから送られてくると、Ｉ２Ｃ通信方式に従って、エラー内容の送信を行う。
【００３６】
すなわち、操作部３のＩ２Ｃ３ａは、マスタとして動作して、他のモジュール２、４、５であるメインコントローラ２、エンジン部４、省電力部５の異常管理を行うが、この間に、スレーブ動作を挟んでいるため、スレーブ動作時に他のモジュール２、４、５のＩ２Ｃ２ａ、４ａ、５ａからのエラー通知を受け取ることができる。
【００３７】
Ｉ２Ｃ３ａは、５０ｍｓ間のスレーブ動作を行うと、ステップＳ１０４に戻り、上記同様に残り時間が期限切れになったかのチェックから上記同様に処理する。
【００３８】
ステップＳ１０５で、全ての対象モジュールについて処理が完了すると（ステップＳ１０４で、ＹＥＳのとき）、Ｉ２Ｃ３ａは、ステップＳ１０２に戻って、対象モジュールリストのタイムアウト時間の更新を行い（ステップＳ１０２）、対象モジュールが無くなったかのチェックから上記同様に処理する（ステップＳ１０２〜Ｓ１０９）。
【００３９】
ステップＳ１０４で、残り時間が期限切れになった対象モジュールがあると、Ｉ２Ｃ３ａは、その対象モジュールについて、無応答であるとして、タイムアウトエラーとして処理し、例えば、タイムアウトエラーが発生した旨のメッセージを操作部３のディスプレイに表示出力する等の処理を行なって異常管理処理を終了する（ステップＳ１１０）。
【００４０】
ステップＳ１０３で、対象モジュールが無くなると（ステップＳ１０３で、ＹＥＳのとき）、全ての異常管理処理を終了したとして、メインコントローラ２のＩ２Ｃ２ａからの要求に応じてスレーブ動作へ移行して、異常管理処理を終了する（ステップＳ１１１）。
【００４１】
そして、メインコントローラ２は、そのＩ２Ｃ２ａが、図７に示すように、マスタ動作による通常動作へ移行する旨の［通常動作移行通知］コマンドを各モジュール３、４、５、すなわち、操作部３のＩ２Ｃ３ａ、エンジン部４のＩ２Ｃ４ａ、省電力部５のＩ２Ｃ５ａに送信する。具体的には、メインコントローラ２は、通常起動に成功すると、Ｉ２Ｃ２ａが、マスタとして動作して、通常動作移行通知を、エラー処理コマンドをモジュール３〜５に送信し、他のモジュール３〜５がスレーブ動作中に、このエラー処理コマンドを受信すると、ＡＣＫコマンドをメインコントローラ２にＩ２Ｃ２ａへ送信する。メインコントローラ２は、ＡＣＫコマンドが送られてくるまで、エラー処理コマンドの送信をリトライする。
【００４２】
メインコントローラ２は、ＡＣＫコマンドを受信すると、メインコントローラ２のＩ２Ｃ２ａがエラー内容の送信、すなわち、通常動作移行通知を行って、以降のエラー通知をメインコントローラのＩ２Ｃ２ａに対して行なうように通知する。メインコントローラ２のＩ２Ｃ２ａは、全ての他のモジュール３〜５についてこの通常動作移行通知を行う。
【００４３】
そして、通常動作に移行すると、図８に示すように、操作部３のＩ２Ｃ３ａからメインコントローラ２のＩ２Ｃ２ａにマスタが移行して、Ｉ２Ｃ２ａが、図５に示した異常管理処理と同様の異常管理処理を実行する。
【００４４】
すなわち、メインコントローラ２のＩ２Ｃ２ａは、通常動作に入ると、既に高速のバスでの通信が確立しており、この高速通信バスを用いてエラー通知を行なってもよいが、システムの動作状態、例えば、高速バスのエラー状態等によりＩ２Ｃを経由してエラー通知を行う必要が発生する場合がある。
【００４５】
そこで、本実施例の複合装置１においては、図８に示すように、通常動作時のエラー通知を、メインコントローラ２のＩ２Ｃ２ａがマスタとなって、マスタのスレーブ動作中にエラー通知を受け取る。すなわち、メインコントローラ２は、Ｉ２Ｃ２ａがマスタとして、ポーリング動作によるＲｅａｄｙ問い合わせに対する応答に基づいて、異常判定を行い、判定結果を操作部３のディスプレイに表示する。このとき、メインコントローラ２のＩ２Ｃ２ａのスレーブ動作中に、エラーの発生したモジュールのＩ２Ｃ３ａ〜５ａが、マスタ動作でエラー送信を、メインコントローラ２のＩ２Ｃ２ａに対して行い、メインコントローラ２のＩ２Ｃ２ａからＡＣＫコマンドが戻ってくるまでリトライする。該他のモジュール３〜５のＩ２Ｃ３ａ〜５ａは、メインコントローラ２のＩ２Ｃ２ａからＡＣＫコマンドが戻ってくると、エラー内容を該Ｉ２Ｃ２ａに対して送信する。
【００４６】
このように、本実施例の複合装置１は、それぞれ所定の機能を実現する複数のモジュール２〜５と、モジュール２〜５のうちそれぞれの機能を実現するのに必要な他のモジュール２〜５との通信を行なうバス（通信手段）６〜８と、モジュール２〜５のそれぞれに搭載され、該各モジュール２〜５における異常情報を取得して相互に通信するＩ２Ｃ（異常通信手段）２ａ〜５ａと、を備えている。
【００４７】
したがって、機能動作に必要なバス６〜８以外のＩ２Ｃ２ａ〜５ａを用いて異常情報を通知することができ、複数存在するモジュールにおける異常情報を安価かつ正確に通知することができる。
【００４８】
また、本実施例の複合装置１は、それぞれ所定の機能を実現する複数のモジュール２〜５のうちそれぞれの機能を実現するのに必要な他のモジュール２〜５との通信を行なう通信処理ステップと、モジュール２〜５のそれぞれに搭載されているＩ２Ｃ２ａ〜５ａで、該各モジュール２〜５における異常情報を取得して相互に通信する異常通知処理ステップと、を有する異常管理処理方法を実行している。
【００４９】
したがって、機能動作に必要なバス６〜８以外のＩ２Ｃ２ａ〜５ａを用いて異常情報を通知することができ、複数存在するモジュールにおける異常情報を安価かつ正確に通知することができる。
【００５０】
さらに、本実施例の複合装置１は、コンピュータに、それぞれ所定の機能を実現する複数のモジュール２〜５のうちそれぞれの機能を実現するのに必要な他のモジュール２〜５との通信を行なう通信処理と、モジュール２〜５のそれぞれに搭載されているＩ２Ｃ２ａ〜５ａで、該各モジュール２〜５における異常情報を取得して相互に通信する異常通知処理と、を実行させる異常管理処理プログラムを搭載している。
【００５１】
したがって、機能動作に必要なバス６〜８以外のＩ２Ｃ２ａ〜５ａを用いて異常情報を通知することができ、複数存在するモジュールにおける異常情報を安価かつ正確に通知することができる。
【００５２】
また、本実施例の複合装置１は、異常通信手段が、Ｉ２Ｃ（マルチマスタ・シリアルインターフェイス）２ａ〜５ａと、Ｉ２Ｃ２ａ〜５ａを接続する信号線（シリアル通信線）９と、を備えている。
【００５３】
したがって、異常情報をマルチマスタ・シリアルインターフェイスを用いて通知することができ、初期化の処理や制御に時間を要するＰＣＩｅバス６、ＰＣＩバス７やＵＳＢバス２８を用いることなく、確実に異常情報を安価かつ正確に通知することができる。
【００５４】
さらに、本実施例の複合装置１は、モジュール２〜５として、少なくとも外部への情報通知を行う操作部（通知モジュール）３を備え、複合装置１の起動時には、操作部３のＩ２Ｃ３ａがマスタとして動作して、他のモジュール２、４、５から異常情報を受け取って通知する。
【００５５】
したがって、メインコントローラ２に依存することなく、起動時における異常情報を収集して通知することができ、複数存在するモジュールにおける起動時における異常情報を安価かつ正確に通知することができる。
【００５６】
また、本実施例の複合装置１は、通常動作時に、動作情報を順次記憶する不揮発性メモリ（動作情報記憶手段）を有したメインコントローラ（情報記憶機能付きモジュール）２を、備えており、メインコントローラ２が、複合装置１の通常動作時に、マスタとして動作して、他のモジュールから前記異常情報を受け取ると、不揮発性メモリに該異常情報を記憶するとともに、該異常情報を前記操作部（通知モジュール）３に送信して、操作部３が、該異常情報をディスプレイに表示出力する等の方法で通知する。
【００５７】
したがって、操作部３及びメインコントローラ２が通常のより高速な通信が確立したあとは、I２Ｃのエラー通知を、不揮発性メモリを搭載しているメインコントローラ２に通知を投げることで、異常情報のログを不揮発性メモリに残すことができ、異常発生に対する対応を適切に取ることができる。
【００５８】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【００５９】
１  複合装置
２  メインコントローラ
２ａ、３ａ、４ａ、５ａ  Ｉ２Ｃ
３  操作部
４  エンジン部
５  省電力部
６  ＰＣＩｅバス
７  ＰＣＩバス
８  ＵＳＢバス
９  Ｉ２Ｃ信号線
９ａ  シリアルクロック線（ＳＣＬ）
９ｂ  シリアルデータ線（ＳＤＡ）
【先行技術文献】
【特許文献】
【００６０】
【特許文献１】特開２００５−２０２６４３号公報
【図１】
2013197677.tif 000003
【図２】
2013197677.tif 000004
【図３】
2013197677.tif 000005
【図４】
2013197677.tif 000006
【図５】
2013197677.tif 000007
【図６】
2013197677.tif 000008
【図７】
2013197677.tif 000009
【図８】
2013197677.tif 000010