(57)【要約】【課題】分散制御システムを適用するとともに、各制御部におけるエラーの検出精度を向上させる画像形成装置を提供する。【解決手段】本画像形成装置は、画像形成装置の全体を制御するマスタ制御部と、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、複数の機能を実現するための負荷を制御する複数のスレーブ制御部とを備える。また、マスタ制御部は、各制御部が接続されている信号線及び前記接続ブリッジを用いて、前記エラーの診断処理を実行するための診断経路を決定し、決定された診断経路に従ってエラーの診断処理を実行する。【選択図】図４
2010250129.tif 000002
【特許請求の範囲】
【請求項１】
記録材に画像を形成する画像形成装置の全体を制御するマスタ制御部と、
前記マスタ制御部により制御され、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、
前記サブマスタ制御部により制御され、前記複数の機能を実現するための負荷を制御する複数のスレーブ制御部と、
各制御部の間に接続された接続ブリッジであって、エラーが発生した場合にエラーの診断処理を実行するための前記接続ブリッジと
を備え、
前記マスタ制御部は、
各制御部が接続されている信号線及び前記接続ブリッジを用いて、前記エラーの診断処理を実行するための診断経路を決定する決定部と、
決定された前記診断経路に従って前記エラーの診断処理を実行する実行部と
を備えることを特徴とする画像形成装置。
【請求項２】
前記決定部は、
前記信号線を介して各制御部と通信を行い、正常な応答を戻した制御部への信号線を用いて前記診断経路を決定することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記決定部は、
前記信号線を介して各制御部と通信を行い、正常な応答を戻した制御部への信号線及び前記接続ブリッジを用いて前記診断経路を決定することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
各スレーブ制御部は、
非動作中である場合に、動作中の他の前記スレーブ制御部の動作を監視してエラー診断を行う監視部を備え、
前記マスタ制御部は、
前記監視部によってエラーが検知された場合に、前記エラーの診断処理を実行することを特徴とする請求項１乃至３の何れか１項に記載の画像形成装置。
【請求項５】
前記診断処理は、エラーの箇所及び内容を特定することを特徴とする請求項１乃至４の何れか１項に記載の画像形成装置。
【請求項６】
前記実行部は、
前記診断処理の結果を、ユーザに対して報知することを特徴とする請求項１乃至５の何れか１項に記載の画像形成装置。
【請求項７】
前記マスタ制御部と、前記複数のサブマスタ制御部との間は、第１信号線によって接続され、
前記複数のサブマスタ制御部と、前記複数のスレーブ制御部との間は、前記第１信号線よりもデータ転送のタイミング精度が高い第２信号線によって接続されることを特徴とする請求項１乃至６の何れか１項に記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、階層構造を有する複数のＣＰＵ群を有する分散制御システムによって実現された画像形成装置に関するものである。
【背景技術】
【０００２】
電子写真方式を採用する画像形成装置のプリンタデバイス制御では、１ＣＰＵによる集中制御が行われている。しかし、制御の一点集中によるＣＰＵ負荷の増大によって、より高性能なＣＰＵが必要となる。さらに、プリンタデバイスの負荷の増大に伴い制御通信束線を制御ＣＰＵ基板から離れた負荷ドライバユニットまで引き回す必要があり、長大な制御通信束線が多数必要となっていた。このような問題を解決するために、電子写真システムを構成する各制御モジュールを個々のサブＣＰＵに分割する制御形態が注目されている。
【０００３】
このように複数のＣＰＵにより個々の部分モジュール制御機能を分割して制御システムを構築する例については、複写機以外のいくつかの制御機器製品分野で提案されている。例えば、車両のシステム等において分散制御システムが適用されている。しかし、集中制御による集中管理とは異なり、分散制御システムでは相互に協調しながら動作する複数の基板（ＣＰＵ）が正しく動作を行うためにエラー検出を厳しく行う必要がある。
【０００４】
例えば、特許文献１では、複数のバス内で定期的に送信される定期メッセージを監視し、当該定期メッセージの通信状況から故障デバイスを検出するゲートウエイ装置が提案されている。また、特許文献２では、故障診断装置より擬似制御情報を送出することにより、自動車の不具合要因の特定を容易に行なう技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１９１３３８号公報
【特許文献２】特開２００２−３０１９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術には以下に記載する問題がある。複数のＣＰＵが協調制御を行う分散制御システムでは、個別に協調制御を行うＣＰＵの動作確認と、エラーが発生した場合の故障部位の特定とが重要となる。しかし、集中的に故障を監視するデバイスを設けることで故障ノードの確認は可能であるが、監視専用のノードが必要となりコスト増加の要因となる。また、システムを階層構造で構成した場合に、上位の階層のトラフィックのみで故障の判定を行うと詳細な故障部位の特定を行うことが困難である。
【０００７】
テストモードで故障部位を検出することも有効であるが、画像形成装置に適用した場合に、動作中の不具合によって紙詰まりが発生した状態ではテストできる内容が制限されてしまう。さらに、動的なタイミングエラーが発生した場合や動作中の緊急停止処理の場合には、テストモードでの故障部位の検出は困難である。
【０００８】
本発明は、上述の問題に鑑みて成されたものであり、分散制御システムを適用するとともに、各制御部におけるエラーの検出精度を向上させる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、例えば、画像形成装置として実現できる。画像形成装置は、記録材に画像を形成する画像形成装置の全体を制御するマスタ制御部と、マスタ制御部により制御され、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、サブマスタ制御部により制御され、複数の機能を実現するための負荷を制御する複数のスレーブ制御部と、各制御部の間に接続された接続ブリッジであって、エラーが発生した場合にエラーの診断処理を実行するための接続ブリッジとを備え、マスタ制御部は、各制御部が接続されている信号線及び接続ブリッジを用いて、エラーの診断処理を実行するための診断経路を決定する決定部と、決定された診断経路に従ってエラーの診断処理を実行する実行部とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明は、例えば、分散制御システムを適用するとともに、各制御部におけるエラーの検出精度を向上させる画像形成装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係る画像形成装置１０００の概観を示す図である。
【図２】第１の実施形態に係る画像形成部３００の構成例を示す断面図である。
【図３】第１の実施形態に係るマスタＣＰＵ、サブマスタＣＰＵ及びスレーブＣＰＵの関連を模式的に示す図である。
【図４】第１の実施形態に係る画像形成装置１０００の制御基板の一例を示す図である。
【図５】第１の実施形態に係るスレーブＣＰＵ８０２の構成例及びデバイス接続を示す図である。
【図６】第１の実施形態に係るＣＰＵ１４０１におけるステッピングモータ制御を説明する図である。
【図７】第１の実施形態に係るＣＰＵ１４０１におけるソレノイド駆動を説明する図である。
【図８】第１の実施形態に係るスレーブＣＰＵ６０２、６０３の構成例及びデバイス接続を示す図である。
【図９】第１の実施形態に係る動作確認時の各制御部におけるシーケンス図である。
【図１０】第１の実施形態に係る詳細診断処理の処理手順を示すフローチャートである。
【図１１】第１の実施形態に係る搬送モジュールＡ２８０の診断を行う際のコマンドフローを示す図である。
【図１２】第１の実施形態に係る搬送モジュールＡ２８０の診断を行う際のコマンドフローを示す図である。
【図１３】第１の実施形態に係る作像モジュール２８２の診断を行う際のコマンドフローを示す図である。
【発明を実施するための形態】
【００１２】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１３】
＜第１の実施形態＞
＜画像形成装置の構成＞
以下では、図１乃至図１３を参照して、第１の実施形態について説明する。図１は、第１の実施形態に係る画像形成装置１０００の概観を示す図である。
【００１４】
画像形成装置１０００は、自動原稿搬送装置１００、画像読取部２００、画像形成部３００、及び操作部１０を備える。図１に示すように、画像読取部２００は、画像形成部３００の上に載置されている。さらに、画像読取部２００上には、自動原稿搬送装置（ＤＦ）１００が載置されている。また、本画像形成装置１０００は、複数の制御部（ＣＰＵ）を用いて分散制御を実現する。各ＣＰＵの構成については、図３を用いて後述する。
【００１５】
自動原稿搬送装置１００は、原稿を自動的に原稿台ガラス上に搬送する。画像読取部２００は、自動原稿搬送装置１００から搬送された原稿を読み取って画像データを出力する。画像形成部３００は、自動原稿搬送装置１００から出力された画像データやネットワークを介して接続された外部装置から入力された画像データに従って記録材に画像を形成する。操作部１０は、ユーザが各種操作を行うためのＧＵＩ（グラフィカル・ユーザ・インタフェース）を有する。さらに、操作部１０は、タッチパネル等の表示部を有し、ユーザに対して情報を提示することもできる。
【００１６】
＜画像形成部＞
次に、図２を参照して、画像形成部３００の詳細について説明する。図２は、第１の実施形態に係る画像形成部３００の構成例を示す断面図である。なお、本実施形態の画像形成部３００は電子写真方式を採用している。なお、図２の参照番号の末尾に示すアルファベットＹ、Ｍ、Ｃ、Ｋは、それぞれイエロー、マゼンダ、シアン、ブラックのトナーに対応した各エンジンを示す。以下では、全てのトナーに対応するエンジンを示す場合は末尾のアルファベットＹ、Ｍ、Ｃ、Ｋを省略して参照番号を記載し、個別に示す場合は参照番号の末尾にアルファベットＹ、Ｍ、Ｃ、Ｋを付記して記載する。
【００１７】
像担持体としてフルカラー静電画像を形成するための感光ドラム（以下、単に「感光体」と称する。）２２５は、モータで矢印Ａの方向に回転可能に設けられる。感光体２２５の周囲には、一次帯電装置２２１、露光装置２１８、現像装置２２３、転写装置２２０、クリーナ装置２２２、除電装置２７１が配置されている。
【００１８】
現像装置２２３Ｋはモノクロ現像のための現像装置であり、感光体２２５Ｋ上の潜像をＫのトナーで現像する。また現像装置２２３Ｙ、Ｍ、Ｃはフルカラー現像のための現像装置であり、現像装置２２３Ｙ、Ｍ、Ｃは、感光体２２５Ｙ、Ｍ、Ｃ上の潜像をそれぞれＹ、Ｍ、Ｃのトナーで現像する。感光体２２５上に現像された各色のトナー像は、転写装置２２０によって中間転写体である転写ベルト２２６に一括で多重転写されて、４色のトナー像が重ね合わされる。
【００１９】
転写ベルト２２６は、ローラ２２７、２２８、２２９に張架されている。ローラ２２７は、駆動源に結合されて転写ベルト２２６を駆動する駆動ローラとして機能し、ローラ２２８は転写ベルト２２６の張力を調節するテンションローラとして機能する。また、ローラ２２９は、２次転写装置２３１としての転写ローラのバックアップローラとして機能する。転写ローラ脱着ユニット２５０は、２次転写装置２３１を転写ベルト２２６に接着させるか、又は離脱させるための駆動ユニットである。２次転写装置２３１を通過した後の転写ベルト２２６の下部にはクリーナブレード２３２が設けられており、転写ベルト２２６上の残留トナーがブレードで掻き落とされる。
【００２０】
給紙カセット２４０、２４１及び手差し給紙部２５３に格納された記録材（記録紙）は、レジストローラ２５５、給紙ローラ対２３５及び縦パスローラ対２３６、２３７によってニップ部、つまり２次転写装置２３１と転写ベルト２２６との当接部に給送される。なお、その際２次転写装置２３１は、転写ローラ脱着ユニット２５０によって転写ベルト２２６に当接されている。転写ベルト２２６上に形成されたトナー像は、このニップ部で記録材上に転写される。その後、トナー像が転写された記録材は、定着装置２３４でトナー像が熱定着されて装置外へ排出される。
【００２１】
給紙カセット２４０、２４１及び手差し給紙部２５３は、それぞれ記録材の有無を検知するためのシートなし検知センサ２４３、２４４、２４５を備える。また、給紙カセット２４０、２４１及び手差し給紙部２５３は、それぞれ記録材のピックアップ不良を検知するための給紙センサ２４７、２４８、２４９を備える。
【００２２】
ここで、画像形成部３００による画像形成動作について説明する。画像形成が開始されると、給紙カセット２４０、２４１及び手差し給紙部２５３に格納された記録材は、ピックアップローラ２３８、２３９、２５４により１枚毎に給紙ローラ対２３５に搬送される。記録材は、給紙ローラ対２３５によりレジストローラ２５５へと搬送されると、その直前のレジストセンサ２５６により記録材の通過が検知される。
【００２３】
レジストセンサ２５６により記録材の通過が検知された時点で、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は停止しているレジストローラ２５５に突き当たり搬送が停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように搬送位置が固定され、記録材の搬送方向が搬送経路に対してずれた状態の斜行が補正される。以下では、この処理を位置補正と称する。位置補正は、以降の記録材に対する画像形成方向の傾きを最小化するために必要となる。位置補正後、レジストローラ２５５を起動させることにより、記録材は、２次転写装置２３１へ供給される。なお、レジストローラ２５５は、駆動源に結合され、クラッチによって駆動が伝えられることで回転駆動を行う。
【００２４】
次に、一次帯電装置２２１に電圧を印加して感光体２２５の表面を予定の帯電部電位で一様にマイナス帯電させる。続いて、帯電された感光体２２５上の画像部分が所定の露光部電位になるようにレーザスキャナ部からなる露光装置２１８で露光を行い潜像が形成される。露光装置２１８はプリンタ制御Ｉ／Ｆ２１５を介してコントローラ４６０より送られてくる画像データに基づいてレーザ光をオン、オフすることによって画像に対応した潜像を形成する。
【００２５】
また、現像装置２２３の現像ローラには各色毎に予め設定された現像バイアスが印加されており、上記潜像は、現像ローラの位置を通過する際にトナーで現像され、トナー像として可視化される。トナー像は、転写装置２２０により転写ベルト２２６に転写され、さらに２次転写装置２３１で、給紙部より搬送された記録材に転写された後、レジスト後搬送パス２６８を通過し、定着搬送ベルト２３０を介して、定着装置２３４へと搬送される。
【００２６】
定着装置２３４では、まずトナーの吸着力を補って画像乱れを防止するために、定着前帯電器２５１、２５２で帯電され、さらに定着ローラ２３３でトナー画像が熱定着される。その後、記録材は、排紙フラッパ２５７により排紙パス２５８側に搬送パスが切り替えられることにより、排紙ローラ２７０によってそのまま排紙トレイ２４２に排紙される。感光体２２５上に残留したトナーは、クリーナ装置２２２で除去、回収される。最後に、感光体２２５は、除電装置２７１で一様に０ボルト付近まで除電されて、次の画像形成サイクルに備える。
【００２７】
画像形成装置１０００によるカラーの画像形成開始タイミングは、Ｙ、Ｍ、Ｃ、Ｋの同時転写であるため転写ベルト２２６上の任意の位置に画像形成を行うことが可能である。しかし、感光体２２５Ｙ、Ｍ、Ｃ上のトナー像を転写する位置のずれ分をタイミング的にシフトさせながら画像形成開始タイミングを決定する必要がある。
【００２８】
なお、画像形成部３００においては、記録材を連続的に給紙カセット２４０、２４１及び手差し給紙部２５３より給送させることが可能である。この場合、先行する記録材のシート長を考慮し、記録材が重なり合わないような最短の間隔で給紙カセット２４０、２４１及び手差し給紙部２５３からの給紙を行う。上述したように、位置補正後に、レジストローラ２５５を起動させることにより、記録材は２次転写装置２３１へ供給されるが、２次転写装置２３１に到達すると、再びレジストローラ２５５が一時停止される。これは、後続の記録材に対して先行する記録材と同様に位置補正を行うためである。
【００２９】
次に、記録材の裏面に画像を形成する場合の動作について詳細に説明する。記録材の裏面に画像を形成する際には、まず記録材の表面への画像形成が先行して実行される。表面のみの画像形成であれば、定着装置２３４でトナー像が熱定着された後に、そのまま排紙トレイ２４２に排紙される。一方、引き続き裏面の画像形成を行なう場合、センサ２６９で記録材が検知されると、排紙フラッパ２５７により裏面パス２５９側に搬送パスが切り替えられ、それに併せた反転ローラ２６０の回転駆動により記録材が両面反転パス２６１に搬送される。その後、記録材は、送り方向幅の分だけ両面反転パス２６１に搬送された後に反転ローラ２６０の逆回転駆動により進行方向が切り替えられ、表面に画像形成された画像面を下向きにして両面パス搬送ローラ２６２の駆動により両面パス２６３に搬送される。
【００３０】
続いて、記録材は、両面パス２６３を再給紙ローラ２６４に向かって搬送されると、その直前の再給紙センサ２６５により通過が検知される。再給紙センサ２６５により記録材の通過が検知されると、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は、停止している再給紙ローラ２６４に突き当たり搬送が一時停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように位置が固定され、記録材の搬送方向が再給紙パス内の搬送経路に対してずれる斜行が補正される。以下では、この処理を再位置補正と称する。
【００３１】
再位置補正は、以降の記録材裏面に対する画像形成方向の傾きを最小化するために必要となる。再位置補正後、再給紙ローラ２６４を起動させることにより、記録材は、表裏が逆転した状態で再度給紙パス２６６上に搬送される。その後の画像形成動作については、上述した表面の画像形成動作と同じであるためここでは省略する。このように表裏両面に画像形成された記録材は、そのまま排紙フラッパ２５７より排紙パス２５８側に搬送パスが切り替えられることにより、排紙トレイ２４２に排紙される。
【００３２】
なお、本画像形成部３００においては、両面印刷時においても、記録材の連続給送が可能である。しかしながら、記録材への画像形成や形成されたトナー像の定着などを行うための装置は１系統しか有していないため、表面への印刷と裏面への印刷を同時に行うことはできない。したがって、両面印刷時においては、画像形成部３００に対し、給紙カセット２４０、２４１及び手差し給紙部２５３からの記録材と、裏面印刷のために反転させて画像形成部に再度給送された記録材とは交互に画像形成されることとなる。
【００３３】
本画像形成部３００は、図２に示す各負荷を、後述する搬送モジュールＡ２８０、搬送モジュールＢ２８１、作像モジュール２８２、定着モジュール２８３という４つの制御ブロックに分けて各々が自律的に制御されている。さらに、これらの４つの制御ブロックを統括して画像形成装置として機能させるためのマスタモジュール２８４を有する。以下では、各モジュールの制御構成について図３を用いて説明する。
【００３４】
図３は、第１の実施形態に係るマスタＣＰＵ、サブマスタＣＰＵ及びスレーブＣＰＵの関連を模式的に示す図である。本実施形態において、マスタモジュール２８４に備えられるマスタＣＰＵ（マスタ制御部／第１層制御部）１００１は、プリンタ制御Ｉ／Ｆ２１５を介してコントローラ４６０より送られる指示及び画像データに基づいて画像形成装置１０００の全体を制御する。また、画像形成を実行するための搬送モジュールＡ２８０、搬送モジュールＢ２８１、作像モジュール２８２、及び定着モジュール２８３は、各機能を制御するサブマスタＣＰＵ（サブマスタ制御部／第２層制御部）６０１、９０１、７０１、８０１を備える。サブマスタＣＰＵ６０１、９０１、７０１、８０１はマスタＣＰＵ１００１により制御される。さらに、各機能モジュールは、さらに、各機能を実行するための負荷を動作させるためのスレーブＣＰＵ（スレーブ制御部／第３層制御部）６０２、６０３、６０４、６０５、９０２、９０３、７０２、７０３、７０４、７０５、７０６、８０２、８０３を備える。スレーブＣＰＵ６０２、６０３、６０４、６０５はサブマスタＣＰＵ６０１に、スレーブＣＰＵ９０２、９０３はサブマスタＣＰＵ９０１に、スレーブＣＰＵ７０２、７０３、７０４、７０５、７０６はサブマスタＣＰＵ７０１に、スレーブＣＰＵ８０２、８０３はサブマスタＣＰＵ８０１に制御される。
【００３５】
図３に示すように、マスタＣＰＵ１００１と複数のサブマスタＣＰＵ６０１、７０１、８０１、９０１は共通のネットワーク型通信バス（第１信号線）１００２によってバス接続される。サブマスタＣＰＵ６０１、７０１、８０１、９０１同士の間もネットワーク型通信バス（第１信号線）１００２によってバス接続される。なお、マスタＣＰＵ１００１と複数のサブマスタＣＰＵ６０１、７０１、８０１、９０１はリング接続されるものでもよい。サブマスタＣＰＵ６０１は、さらに、高速シリアル通信バス（第２信号線）６１２、６１３、６１４、６１５を介して、複数のスレーブＣＰＵ６０２、６０３、６０４、６０５のそれぞれと１対１接続（ピアツーピア接続）されている。同様に、サブマスタＣＰＵ７０１は、高速シリアル通信バス（第２信号線）７１１、７１２、７１３、７１４、７１５を介して、それぞれスレーブＣＰＵ７０２、７０３、７０４、７０５、７０６と接続される。サブマスタＣＰＵ８０１は、高速シリアル通信バス（第２信号線）８０８、８０９を介して、それぞれスレーブＣＰＵ８０２、８０３と接続される。サブマスタＣＰＵ９０１は、高速シリアル通信バス（第２信号線）９０９、９１０を介して、それぞれスレーブＣＰＵ９０２、９０３と接続される。ここで、高速シリアル通信バスは、短距離高速通信に用いられる。
【００３６】
本実施形態に係る画像形成装置１０００において、タイミングに依存した応答性が必要とされる制御に関しては、各サブマスタＣＰＵに統括された機能モジュール内で実現されるように機能分割されている。そのため、末端の負荷を駆動するための各スレーブＣＰＵと各サブマスタＣＰＵとの間の通信は、応答性のよい高速シリアル通信バスによって接続されている。つまり、上記第２信号線には、上記第１信号線よりもデータ転送のタイミング精度が高い信号線が用いられる。
【００３７】
一方、サブマスタＣＰＵ６０１、７０１、８０１、９０１とマスタＣＰＵ１００１との間では、精密な制御タイミングを必要としない、画像形成動作の大まかな処理の流れを統括するようなやり取りだけが行われる。例えば、マスタＣＰＵ１００１はサブマスタＣＰＵに、画像形成前処理開始、給紙開始、画像形成後処理開始といった指示を出す。また、マスタＣＰＵ１００１はサブマスタＣＰＵに、コントローラ４６０から指示されたモード（例えばモノクロモードや両面画像形成モードなど）に基づいた指示を画像形成開始の前に出す。サブマスタＣＰＵ６０１、７０１、８０１、９０１のそれぞれの間でも、精密なタイミング制御を必要としないやり取りだけが行われる。すなわち、画像形成装置の制御を、相互に精密なタイミング制御を必要としない制御単位に分け、それぞれのサブマスタＣＰＵがそれぞれの制御単位を精密なタイミングで制御する。これにより、本画像形成装置１０００では、通信トラフィックを最小限に抑え、低速で安価なネットワーク型通信バス１００２で接続することを可能としている。なお、マスタＣＰＵ、サブマスタＣＰＵ、及びスレーブＣＰＵについては、実装される制御基板が必ずしも一律である必要はなく、装置実装上の事情に合わせて可変的に配置させることが可能である。
【００３８】
次に、図４を参照して、本実施形態における具体的なマスタＣＰＵ、サブマスタＣＰＵ、スレーブＣＰＵの基板構成上の配置について説明する。図４は、第１の実施形態に係る画像形成装置１０００の制御基板の一例を示す図である。
【００３９】
本実施形態によれば、図４に示すように、様々な制御基板の構成を採用することができる。例えば、サブマスタＣＰＵ６０１とスレーブＣＰＵ６０２、６０３、６０４、６０５とは、同一の基板上に実装されている。また、サブマスタＣＰＵ７０１及びスレーブＣＰＵ７０２、７０３、７０４、又は、サブマスタＣＰＵ８０１及びスレーブＣＰＵ８０２、８０３のように、サブマスタＣＰＵと個々のスレーブＣＰＵが独立の基板として実装されてもよい。また、スレーブＣＰＵ７０５、７０６のように一部のスレーブＣＰＵが同一の基板上に実装されてもよい。また、サブマスタＣＰＵ９０１及びスレーブＣＰＵ９０２のように、サブマスタＣＰＵとスレーブＣＰＵの一部だけが同一基板上に配置されてもよい。
【００４０】
また、図４に示すように、サブマスタＣＰＵとスレーブＣＰＵ間のサブモジュール毎のシリアルバスにはサブモジュールを接続する接続ブリッジ（接続線）が備えられている。この接続はエラーが発生した場合に診断処理を実行するために使用される。接続線６１２ｂはマスタＣＰＵ１００１とサブマスタＣＰＵ６０１の制御シリアルバス６１２を接続する。接続線６１２ａは、サブマスタＣＰＵ６０１の制御シリアルバス６１２とスレーブＣＰＵ７０６とを接続する。接続線７１１ａはサブマスタＣＰＵ７０１の制御シリアルバス７１１とスレーブＣＰＵ８０３とを接続する。接続線８０８ａはサブマスタＣＰＵ８０１の制御シリアルバス８０８とスレーブＣＰＵ９０３とを接続する。接続線９０９ｂはマスタＣＰＵ１００１とサブマスタＣＰＵ９０１の制御シリアルバス９０９とを接続する。
【００４１】
ここで、シリアルバス６１２、７１１、８０８、９０９は複数のバスマスタを許容するインタフェース形式になっている。スレーブＣＰＵ７０６はシリアルバス６１２上ではマスタとして動作する。同様に、スレーブＣＰＵ８０３、スレーブＣＰＵ９０３、及びマスタＣＰＵ１００１は、それぞれシリアルバス７１１、シリアルバス９０９、シリアルバス６１２、９０９上でマスタとして動作する。
【００４２】
＜スレーブＣＰＵ＞
次に、図５乃至図８を参照して、スレーブＣＰＵによる制御について説明する。図５は、第１の実施形態に係るスレーブＣＰＵ８０２の構成例及びデバイス接続を示す図である。図３のマスタＣＰＵ１００１、サブマスタＣＰＵ８０１、スレーブＣＰＵ８０２、８０３を詳細に記載したもので、スレーブＣＰＵ８０２の内部構造と、デバイス接続を示した図でサブマスタＣＰＵ８０１とスレーブＣＰＵ８０２の構成モデルを示している。スレーブＣＰＵ８０２は、図５に示すようなデバイスを制御する。しかし、この構成例は制御内容を説明するためのもので、実際の機器構成を反映したものではない。
【００４３】
スレーブＣＰＵ８０２は、ＣＰＵ１４０１、フラッシュメモリ１４０２、ＳＲＡＭ１４０３、ウォッチドックタイマ１４０４、割り込みコントローラ１４０５、汎用タイマ１４０６、１４１３、シリアルＩ／Ｆ１４０７、Ｄ／Ａコンバータ１４０８、Ａ／Ｄコンバータ１４０９、ＰＷＭ生成器１４１０、１４１１、及びＧＰＩＯ１４１２を備える。
【００４４】
ＣＰＵ１４０１は、プログラムに従って周辺回路を使用しながら種々のデバイスを制御する。フラッシュメモリ１４０２は、ＣＰＵ１４０１によって実行されるプログラムや、データを保持する。ＳＲＡＭ（Ｓｔａｔｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）１４０３は、ＣＰＵ１４０１のワーク用のメモリである。
【００４５】
ウォッチドックタイマ１４０４は、ＣＰＵ１４０１の動作状態を監視する。割り込みコントローラ１４０５は、シリアル通信などの内部の状態変化や、外部ＩＯからの信号の変化を受けてＣＰＵ１４０１の処理の中断を促し、処理を切り替えるための割り込み要因を受け付け、状態変化に即応した処理を行なうために用いられる。汎用タイマ１４０６は、１ｍｓ周期の割り込みとして使用される。汎用タイマ１４１３は、モータ駆動信号を生成するための高速周期割り込みを発生する。本例では２０μｓ周期の割り込みを発生させる。
【００４６】
シリアルＩ／Ｆ１４０７は、サブマスタＣＰＵ８０１及びスレーブＣＰＵ８０３との間でシリアル通信を行う。Ｄ／Ａコンバータ１４０８は、デジタル信号をアナログ信号に変換し、複数のチャネルを備える。Ａ／Ｄコンバータ１４０９は、アナログ信号をデジタル信号に変換し、複数のチャネルを備える。
【００４７】
ＰＷＭ（パルス幅変調）生成器１４１０，１４１１は、汎用タイマを使用してＰＷＭ信号を生成する。ＧＰＩＯ（Ｇｅｎｅｒａｌ Ｐｕｒｐｏｓｅ Ｉ／Ｏ）１４１２は、複数の汎用入出力ポートを有する。
【００４８】
スレーブＣＰＵ８０２に接続された各負荷について説明する。１４２１は検出値をアナログ値で出力するアナログセンサを示す。１４２２は入力されるクロック周波数に応じてモータの励磁パターンを更新し、ステッピングモータを駆動するモータドライバを示す。１４２３，１４３０，１４３２は、複数のコイルを備え、コイルに流れる電流パターンに応じて回転するステッピングモータを示す。１４２４は入力される電圧を電流に変換しソレノイドを駆動するソレノイドドライバを示す。１４２５はコイルを流れる電流に応じて次回を発生させ内部のアクチュエータを吸引するソレノイドを示す。１４２６は入力される電圧を電流に変換し、ファンを駆動するファンドライバを示す。１４２７は機体冷却用のファンを示す。１４２８はＬＥＤ（発光ダイオード）とフォトトランジスタで構成され、フォトトランジスタの入射光に応じて出力が変化するフォトインタラプタを示す。１４２９，１４３１は複数の相励磁パターン信号の入力に応じてモータの励磁パターンを更新するモータドライバを示す。
【００４９】
図５ではモータドライバへの制御信号は２０μｓの汎用タイマ１４１３に接続するように記載している。しかし、これはフラッシュメモリ１４０２に格納されたファームウェアがモータドライバ１４２２へのタイミング信号の生成を２０μｓの周期に設定した汎用タイマ１４１３の割り込みを使用してタイミング信号を生成していることを示しているだけである。実際には、ＧＰＩＯ１４１２のポートと接続されている。
【００５０】
＜ステッピングモータ制御＞
次に、ＣＰＵ１４０１の処理内容について説明する。まず、図６を参照して、ステッピングモータ制御について説明する。図６は、第１の実施形態に係るＣＰＵ１４０１におけるステッピングモータ制御を説明する図である。
【００５１】
スレーブＣＰＵ８０２のＣＰＵ１４０１は、モータドライバ１４２２への駆動信号を汎用タイマ１４１３の周期で更新する。ＣＰＵ１４０１は、シリアルＩ／Ｆ１４０７を介してサブマスタＣＰＵ８０１と制御情報を授受しながら、モータドライバ１４２２への駆動信号を制御することによりステッピングモータ１４２３，１４３０，１４３２の加減速制御を行う。
【００５２】
図６に示すｓｔｍ＿ｏｎ、ｓｔｍ＿ｓｔｏｐコマンドはサブマスタＣＰＵ８０１からスレーブＣＰＵ８０２への指示コマンドを表す。モータが停止状態でｓｔｍ＿ｏｎコマンドが入力されると、ＣＰＵ１４０１は、初期ホールドを行い、加速して定速搬送を行う。また、定速搬送中にｓｔｍ＿ｓｔｏｐコマンドが入力されると、ＣＰＵ１４０１は、減速させて、ホールド処理後に励磁をオフする。
【００５３】
＜ソレノイド駆動＞
次に、図７を参照して、ソレノイド駆動について説明する。図７は、第１の実施形態に係るＣＰＵ１４０１におけるソレノイド駆動を説明する図である。図７に示すＳＬ＿ｏｎ、ＳＬ＿ｏｆｆコマンドはサブマスタＣＰＵ８０１からスレーブＣＰＵ８０２への指示コマンドを示す。
【００５４】
ＳＬ＿ｏｎコマンドが入力されると、ＣＰＵ１４０１は、１６０１のホールドデューティでのＰＷＭ駆動を行う。また、ホールド時間が経過すると、ＣＰＵ１４０１は、１６０２の定常駆動デューティでの駆動を継続する。一方、ＳＬ＿ｏｆｆコマンドが入力されると、ＣＰＵ１４０１は、１６０３に示すようにオンデューティを徐々に減らしながら励磁オフ状態に制御する。この場合、オンデューティの更新は１ｍｓの周期で行われる。
【００５５】
図８は、第１の実施形態に係るスレーブＣＰＵ６０２、６０３の構成例及びデバイス接続を示す図である。図８は、マスタＣＰＵ１００１、サブマスタＣＰＵ６０１、スレーブＣＰＵ６０２〜６０５を詳細に記載したものであり、スレーブＣＰＵ６０２、６０３の内部構造と、デバイス接続を示す。スレーブＣＰＵ６０２の内部構成又はスレーブＣＰＵ６０２に接続されるデバイスは参照番号の末尾に”ａ”を付し、スレーブＣＰＵ６０３の内部構成又はスレーブＣＰＵ６０３接続されるデバイスは参照番号の末尾に”ｂ”を付す。
【００５６】
スレーブＣＰＵ６０２は、カセット２４０に関連したピックアップローラ２３８を駆動させるための駆動源モータ６０６、シートなし検知センサ２４３、及び給紙センサ２４７を制御負荷とし、給紙パス２６６に記録材を引き渡すまでの制御を行う。スレーブＣＰＵ６０３は、カセット２４１に関連したピックアップローラ２３９を駆動させるための駆動源モータ６０７、シートなし検センサ２４４、給紙センサ２４８を制御負荷とし、給紙パス２６６に記録材を引き渡すまでの制御を行う。
【００５７】
スレーブＣＰＵ６０２の動作をスレーブＣＰＵ６０３で確認するためスレーブＣＰＵ６０２と制御デバイスとの接続線（信号線）の一部は動作の確認のためにスレーブＣＰＵ６０３に接続されている。確認のための接続図は簡単のためにスレーブＣＰＵ６０２とデバイスの接続部位をスレーブＣＰＵ６０３がモニタできる接続を示す。しかし、実際には相互に監視できるようにスレーブＣＰＵ６０３とデバイスの接続部位をスレーブＣＰＵ６０２がモニタできるように接続するようにすれば相互に動作を確認することができる。接続部分の説明を行う。なお、スレーブＣＰＵの構成は、図５を用いて説明した構成と同様であるため、説明を省略する。
【００５８】
１８０２はアナログセンサ１４２１ａの出力をＡ／Ｄコンバータ１４０９ｂでもモニタするための接続線を示す。１８０３はＤ／Ａコンバータ１４０８ａからアナログセンサ１４２１ａへの基準電圧出力をＡ／Ｄコンバータ１４０９ｂでモニタするための接続線を示す。１８０４はＰＷＭ生成器１４１１ａからのＰＷＭ波形をＰＷＭ生成器１４１０ｂに接続するための接続線を示す。１８０５は給紙センサ２４７からの状態信号をＧＰＩＯ１４１２ｂに入力するための接続線を示す。１４０６はモータドライバ１４２９ａの制御入力をＧＰＩＯ１４１２ｂでモニタするための接続線を示す。１８０７はモータドライバ１４２９ａの出力をモニタするための接続線を示し、電圧変換器１８０１及び接続線１８０８を経由してＧＰＩＯ１４１２ｂに接続される。
【００５９】
スレーブＣＰＵ６０２とスレーブＣＰＵ６０３とは異なる給紙カセットから記録紙をピックアップして搬送する処理を制御する。したがって、この２つのスレーブＣＰＵ６０２、６０３は基本的に排他的に動作する。
【００６０】
＜動作確認制御＞
次に、図９を参照して、本実施形態における動作確認制御について説明する。ここで、動作確認制御とは、ある制御部が他の制御部の動作をモニタし、エラー検出を行う制御を示す。本実施形態によれば、動作中の他の制御部の動作を監視する制御部は、非動作中の制御部となる。したがって、各制御部は、他の制御部の動作を監視して、エラー診断を行う監視部を有する。図９は、第１の実施形態に係る動作確認時の各制御部におけるシーケンス図である。ここでは、プリントジョブを実行する際のマスタＣＰＵ１００１、サブマスタＣＰＵ６０１、スレーブＣＰＵ６０２、スレーブＣＰＵ６０３及びスレーブＣＰＵ６０５の処理について説明する。
【００６１】
ステップＳ２００１でユーザからプリントジョブの開始を受け付けると、マスタＣＰＵ１００１は、プリントジョブを開始し、ステップＳ２００２において、サブマスタＣＰＵ６０１にジョブ通知と動作要求を命令する。続いて、ステップＳ２００３において、サブマスタＣＰＵ６０１は、マスタＣＰＵ１００１に応答（Ａｃｋ）を通知する。さらに、ステップＳ２００４において、サブマスタＣＰＵ６０１は、スレーブＣＰＵ６０３に対して、スレーブＣＰＵ６０２の動作を監視するように要求する。ここでは、プリントジョブにおいて、スレーブＣＰＵ６０２を介して給紙制御が行われることを前提としているため、スレーブＣＰＵ６０３に対して監視要求が通知される。ステップＳ２００５において、スレーブＣＰＵ６０３は、監視要求に対する応答をサブマスタＣＰＵ６０１に対して通知する。
【００６２】
次に、ステップＳ２００６において、サブマスタＣＰＵ６０１は、スレーブＣＰＵ６０２に対してモータを駆動し紙ピックアップ搬送を行う要求（ｓｔｍ＿ｏｎコマンド）を通知する。これに対して、ステップＳ２００７において、スレーブＣＰＵ６０２は、サブマスタＣＰＵ６０１に対してＡｃｋを通知する。ここで、ステップＳ２００８、Ｓ２００９において、スレーブＣＰＵ６０３は、サブマスタＣＰＵ６０１とスレーブＣＰＵ６０２間の通信をモニタする。図９では、ステップＳ２００８、Ｓ２００９のように、スレーブＣＰＵ６０３の監視動作を点線矢印で示している。
【００６３】
ステップＳ２０１０において、スレーブＣＰＵ６０２は、モータ６０７を駆動し、紙ピックアップ搬送を実行する。紙搬送を実行し、給紙センサ２４７のレベル変化（紙検知状態：ｒｉｓｅ）を検知すると、ステップＳ２０１１において、スレーブＣＰＵ６０２は、サブマスタＣＰＵ６０１に対して給紙センサ２４７のステータス変化を通知する。これに対して、ステップＳ２０１２において、サブマスタＣＰＵ６０１は、スレーブＣＰＵ６０２に対してＡｃｋを通知する。なお、ステップＳ２０１３、Ｓ２０１４において、スレーブＣＰＵ６０３は、サブマスタＣＰＵ６０１とスレーブＣＰＵ６０２との間で送受信されるコマンドを監視する。
【００６４】
給紙センサ２４７のレベル変化の通知を受けると、ステップＳ２０１５において、サブマスタＣＰＵ６０１は、スレーブＣＰＵ６０５に対してモータ６０９〜６１１の駆動開始（ｓｔｍ＿ｏｎコマンド）を通知する。これに対して、ステップＳ２０１６において、スレーブＣＰＵ６０５は、サブマスタＣＰＵ６０１に対してＡｃｋを通知する。さらに、ステップＳ２０１７において、スレーブＣＰＵ６０５は、モータの駆動を開始する。その後、レジストセンサ２５６の変化を検出（紙検知状態：ｒｉｓｅ）すると、ステップＳ２０１８において、スレーブＣＰＵ６０５は、サブマスタＣＰＵ６０１にレジストセンサ２５６のステータス変化を通知する。これに対して、ステップＳ２０１９において、サブマスタＣＰＵ６０１は、スレーブＣＰＵ６０５に対してＡｃｋを通知する。
【００６５】
次に、ステップＳ２０２０、Ｓ２０２２において、サブマスタＣＰＵ６０１は、スレーブＣＰＵ６０５に対してモータ６０９−６１１の駆動停止を、スレーブＣＰＵ６０２に対してモータ６０７の駆動停止（ｓｔｍ＿ｓｔｏｐコマンド）を通知する。これに対して、ステップＳ２０２１、Ｓ２０２３において、スレーブＣＰＵ６０５、スレーブＣＰＵ６０２は、それぞれサブマスタＣＰＵ６０１に対してＡｃｋを通知する。なお、ステップＳ２０２４、Ｓ２０２５において、スレーブＣＰＵ６０３は、サブマスタＣＰＵ６０１とスレーブＣＰＵ６０２との間で送受信されるコマンドを監視する。
【００６６】
ここで、ステップＳ２０２６において、スレーブＣＰＵ６０３は、例えば、停止命令を受信したにもかかわらずスレーブＣＰＵ６０２がモータ６０７の駆動を継続していることを検出する。すると、ステップＳ２０２７において、スレーブＣＰＵ６０３はサブマスタＣＰＵ６０１に対してエラー通知を行う。これに対して、ステップＳ２０２８において、サブマスタＣＰＵ６０１は、スレーブＣＰＵ６０３に対してＡｃｋを通知する。
【００６７】
エラー通知を受けると、ステップＳ２０２９において、サブマスタＣＰＵ６０１は、マスタＣＰＵ１００１に異常の検出を通知する。これに対して、ステップＳ２０３０において、マスタＣＰＵ１００１は、サブマスタＣＰＵ６０１に対してＡｃｋを通知し、ステップＳ２０３１において異常が検出された情報を操作部１０に対してエラー表示を行うように制御する。
【００６８】
次に、ステップＳ２０３２において、サブマスタＣＰＵ６０１は、モータの緊急停止を行うためにハード又はコマンドによるリセット要求をスレーブＣＰＵ６０２に発行し、モータの緊急停止を促すとともに、モータ電源の強制オフ処理を行なう。これに対して、ステップＳ２０３３において、スレーブＣＰＵ６０２は、サブマスタＣＰＵ６０１に対してＡｃｋを通知する。なお、ステップＳ２０３４、Ｓ２０３５において、スレーブＣＰＵ６０３は、サブマスタＣＰＵ６０１とスレーブＣＰＵ６０２との間で送受信されるコマンドを監視する。
【００６９】
次に、ステップＳ２０３６、Ｓ２０４０において、サブマスタＣＰＵ６０１は、スレーブＣＰＵ６０２とスレーブＣＰＵ６０３に対して詳細診断要求を通知する。これに対して、ステップＳ２０３７、Ｓ２０４１において、スレーブＣＰＵ６０２、スレーブＣＰＵ６０３は、サブマスタＣＰＵ６０１に対してＡｃｋを通知するとともに、ステップＳ２０４２において、互いに協調しながら詳細診断を実行する。ここでの詳細診断は、例えば、エラー内容及びエラー箇所を特定する。
【００７０】
その後、ステップＳ２０４３、Ｓ２０４５において、スレーブＣＰＵ６０２、スレーブＣＰＵ６０３は、それぞれの判定結果であるエラー内容及びエラー箇所を含むエラー情報をサブマスタＣＰＵ６０１に通知する。これに対して、ステップＳ２０４４、Ｓ２０４６において、サブマスタＣＰＵ６０１は、それぞれスレーブＣＰＵ６０２及びスレーブＣＰＵ６０３に対してＡｃｋを通知する。さらに、ステップＳ２０４７において、サブマスタＣＰＵ６０１は、各スレーブＣＰＵの通知結果を照合して故障部位の詳細判定を行い、マスタＣＰＵ１００１に結果を通知する。ステップＳ２０４８において、マスタＣＰＵ１００１は、結果通知を受けエラー内容の詳細をユーザに報知（例えば、表示部に表示する。）し、ユーザがエラー修復を容易に行えるようにサポートする。
【００７１】
本実施形態では、図４に示す接続線６１２ｂ、６１２ａ、７１１ａ、８０８ａ、９０９ｂを使用してサブモジュール外のスレーブＣＰＵ又はマスタＣＰＵ１００１が他のサブモジュールの動作を監視する。例えば、スレーブＣＰＵ７０５は接続線６１２ａを介して、サブマスタＣＰＵ６０１の制御シリアルバス６１２と接続されている。スレーブＣＰＵ７０５はカラーのＹ色に関わる制御を担当しており、モノクロモードではＩＤＬＥとなる。従ってモノクロモードでは、サブマスタＣＰＵ６０１とスレーブＣＰＵ６０２〜６０５の動作状態をシリアルバスの通信をモニタすることにより監視することが可能である。
【００７２】
＜詳細診断処理＞
次に、図１０を参照して、図９のステップＳ２０４２における詳細診断処理について説明する。図１０は、第１の実施形態に係る詳細診断処理の処理手順を示すフローチャートである。詳細診断では、故障している基板、通信線を特定する制御が行われる。システム内でエラーが発生すると、マスタＣＰＵ１００１の指示により詳細診断処理が行なわれる。詳細診断処理は、第１診断処理と、第２診断処理とを含み、第１診断処理では通信路のチェックを行い、第２診断処理では故障個所を特定する。
【００７３】
詳細診断処理を開始すると、ステップＳ２１００において、マスタＣＰＵ１００１は、自らのプログラムデータの破損確認、ワークＲＡＭの動作の確認、ネットワーク型通信バス１００２との接続確認等の自分自装置の診断を行う。さらに、マスタＣＰＵ１００１は、診断結果が正常であるか否かを判定する。ここで、正常である場合はステップＳ２１０１に進み、異常である場合はステップＳ２１６０に進む。ステップＳ２１６０において、マスタＣＰＵ１００１は、コントローラ４６０に対してエラー通知を行い、コントローラ４６０に異常処理の実行を指示するとともに、電源の供給及びコマンドの発行を強制停止させる。
【００７４】
一方、診断結果が正常である場合は、ステップＳ２１０１において、マスタＣＰＵ１００１は、ネットワーク型通信バス１００２の通信確認を行う。続いて、ステップＳ２１０２において、マスタＣＰＵ１００１は、上位ネットワークの全てのノードとの通信が正常であるか否かを判定する。つまり、全てのサブマスタＣＰＵが通信可能であるか否かを判定する。ここで、全てのサブマスタＣＰＵの通信が正常であればステップＳ２１０３に進み、少なくとも１つのサブマスタＣＰＵの通信が異常であればステップＳ２１２０に進む。
【００７５】
ステップＳ２１０３において、マスタＣＰＵ１００１は、決定部として機能し、診断経路を決定する。具体的には、マスタＣＰＵ、サブマスタＣＰＵ、及びスレーブＣＰＵを含む各ＣＰＵを接続した複数の接続線のうち、何れの接続線を経由して詳細診断処理を実行するかが決定される。ここで、診断経路は、サブマスタＣＰＵ経由として決定される。診断経路を決定すると、ステップＳ２１０４において、マスタＣＰＵ１００１は、実行部として機能し、全サブマスタＣＰＵに対して、サブモジュール単位の第１診断処理の実行を指示する。第１診断処理では、サブモジュール構成要素の通信可否の確認と、各サブマスタＣＰＵ、スレーブＣＰＵの自己診断が行われる。ステップＳ２１０５において、マスタＣＰＵ１００１は、第１診断処理が終了したか否かを判定する。ここで、各サブマスタＣＰＵ及びスレーブＣＰＵは、自装置の第１診断処理が終了すると、診断結果をマスタＣＰＵ１００１に通知する。したがって、マスタＣＰＵ１００１は、全てのＣＰＵから第１診断処理の終了通知を受信したか否かを判定する。全てＣＰＵにおいて、第１診断処理が終了すると、ステップＳ２１０６に進む。ステップＳ２１０６において、マスタＣＰＵ１００１は、操作部１０の表示部に第１診断処理の結果を表示する。
【００７６】
第１診断処理が終了すると、ステップＳ２１０７において、マスタＣＰＵ１００１は、詳細な故障部位を特定するために第２診断処理の実行を各サブマスタＣＰＵに指示する。第１診断処理と同様に、ステップＳ２１０８において、マスタＣＰＵ１００１は、各サブマスタＣＰＵから第２診断処理の結果を受信したと判定すると、ステップＳ２１０９に進み、第２診断処理の結果を操作部１０の表示部に表示し、詳細診断処理を終了する。
【００７７】
ステップＳ２１０２で少なくとも１つのサブマスタＣＰＵの通信が異常であると判定すると、ステップＳ２１２０において、マスタＣＰＵ１００１は、図４に示す接続線６１２ｂ、６１２ａ、７１１ａ、８０８ａ、９０９ｂを使用して診断経路を決定する。診断経路を決定すると、ステップＳ２１２１において、マスタＣＰＵ１００１は、決定した複数の診断経路を経由してサブモジュールに対して第１診断処理の実行を指示する。その後、ステップＳ２１２２において、マスタＣＰＵ１００１は、全てのサブモジュール単位での第１診断処理が終了したか否かを判定し、終了したと判定するとステップＳ２１２３に進む。ステップＳ２１２３において、マスタＣＰＵ１００１は、各サブモジュールから受信した診断結果を、操作部１０の表示部に表示する。
【００７８】
次に、ステップＳ２１２４において、マスタＣＰＵ１００１は、各サブマスタＣＰＵが通信可能か否かの情報に基づき、第２診断処理の実行が可能であるか否かを判定する。ここで、第２診断処理の実行が可能なサブマスタＣＰＵがあると判定すると、ステップＳ２１２５に進み、マスタＣＰＵ１００１は、第２診断処理の実行が可能なサブマスタＣＰＵに対して第２診断処理の実行を指示する。続いて、ステップＳ２１２６において、マスタＣＰＵ１００１は、全てのサブマスタＣＰＵでの第２診断処理が終了したか否かを判定し、終了するとステップＳ２１２７に進み、診断結果を操作部１０の表示部に表示し、詳細診断処理を終了する。
【００７９】
一方、ステップＳ２１２４で第２診断処理の実行が不可能であると判定されたサブマスタＣＰＵに対しては、ステップＳ２１２８において、マスタＣＰＵ１００１は、第２診断処理を行うことなく、通信確認状況を操作部１０の表示部に表示し、詳細診断処理を終了する。
【００８０】
以下では、図１１乃至図１３を参照して、故障状況に応じた、各ＣＰＵ間の診断処理時のコマンドフローについて説明する。診断処理は、全サブモジュールについて行なわれるが、簡単のため１つのモジュールについてのみ記載する。
【００８１】
図１１は、第１の実施形態に係る搬送モジュールＡ２８０の診断を行う際のコマンドフローを示す図である。図１１では、ネットワーク型通信バス１００２の通信においてサブマスタＣＰＵ６０１の通信のみが途絶したことを想定している。なお、図１１では、各コマンドに対する応答（Ａｃｋ）についても記載しているが、説明を容易にするため、Ａｃｋについての説明は省略する。また、図１１において、コマンドに対するＡｃｋが記載されていない場合は、当該コマンド通知の失敗を示す。つまり、ステップＳ２２０３及びＳ２２０５のコマンド通知は、正常な応答が戻されていないため、失敗していることを示す。
【００８２】
まず、ステップＳ２２０３において、マスタＣＰＵ１００１は、搬送モジュールＡ２８０を統括するサブマスタＣＰＵ６０１に対して通信確認要求を発行する。ここで、要求に対する応答が無いため、ステップＳ２２０４において、マスタＣＰＵ１００１は、全てのサブモジュールに対してリセット信号線を使用してハードウエアリセットを発行する。その後、ステップＳ２２０５において、マスタＣＰＵ１００１は、サブマスタＣＰＵ６０１に対して再び通信確認要求を発行する。ここで、サブマスタＣＰＵ６０１の応答が無いため、ステップＳ２２０６において、マスタＣＰＵ１００１は、診断経路をサブマスタＣＰＵ７０１経由に切り替え、サブマスタＣＰＵ７０１に対して搬送モジュールＡ２８０の通信確認要求を発行する。
【００８３】
通信確認要求を受けると、ステップＳ２２０８において、サブマスタＣＰＵ７０１は、接続線６１２ａを介してスレーブＣＰＵ６０５に対して通信確認要求を送信する。通信確認要求を受信すると、ステップＳ２２０９において、スレーブＣＰＵ６０５は、自らのプログラムデータの破損確認、ワークＲＡＭの動作の確認、シリアルバス６１２との接続確認等の自己診断を行う。その後、ステップＳ２２２０において、スレーブＣＰＵ６０５は、シリアルバス６１２を介してサブマスタＣＰＵ６０１との通信を試みる。コマンドを受信すると、ステップＳ２２２１において、サブマスタＣＰＵ６０１は、自己診断を行い、ステップＳ２２２２おいてスレーブＣＰＵ６０５に自己診断結果を付加して返信する。
【００８４】
以降同様に、ステップＳ２２２３〜Ｓ２２３１において、スレーブＣＰＵ６０５はシリアルバス６１２に接続されるスレーブＣＰＵ６０２〜６０４に対して通信確認を行う。各スレーブＣＰＵは、自己診断を行い、自己診断結果を付加して返信する。搬送モジュールＡ２８０の全デバイスとの通信確認が終了すると、ステップＳ２２３２において、スレーブＣＰＵ６０５は、サブマスタＣＰＵ７０１に対して確認結果を通知する。その後、ステップＳ２２３４において、サブマスタＣＰＵ７０１は、マスタＣＰＵ１００１に対して受信した確認結果を通知する。
【００８５】
通信確認が終了すると、ステップＳ２２３６において、マスタＣＰＵ１００１は、診断すべき項目を通信確認結果に応じて決定し、通信確認を行ったパスを経由して第２診断処理をサブマスタＣＰＵ７０１に対して要求する。ステップＳ２２３８において、サブマスタＣＰＵ７０１は、スレーブＣＰＵ６０５に対して第２診断処理の実行を要求する。ステップＳ２２４０において、スレーブＣＰＵ６０５は、サブマスタＣＰＵ６０１に対して第２診断処理の実行を要求する。
【００８６】
ステップＳ２２４２において、サブマスタＣＰＵ６０１は、マスタＣＰＵ１００１との通信が不良となっている理由を通信確認で使用したパスを介して送受レベルを確認し、マスタＣＰＵ１００１とネットワーク型通信バス１００２との接続状態を確認する。次に、ステップＳ２２４３〜Ｓ２２５２において、サブマスタＣＰＵ６０１は、各スレーブＣＰＵ６０２〜６０５に対して、第２診断処理の実行要求を通知し、複数のスレーブＣＰＵを連携させながら、相互の動作確認を指示する。その後、ステップＳ２２５３において、搬送モジュールＡ２８０は、モジュール全体で相互診断を行う。その後、ステップＳ２２６０〜Ｓ２２６８において、各スレーブＣＰＵは、診断結果をサブマスタＣＰＵ６０１に送信する。
【００８７】
診断結果を受信すると、ステップＳ２２７０において、サブマスタＣＰＵ６０１は、スレーブＣＰＵ６０５に対して、診断結果を送信する。ステップＳ２２７２において、スレーブＣＰＵ６０５は、サブマスタＣＰＵ７０１に対して診断結果を送信する。さらに、ステップＳ２２７４において、サブマスタＣＰＵ７０１は、マスタＣＰＵ１００１に対して、診断結果を送信する。ステップＳ２２７６において、マスタＣＰＵ１００１は、診断結果を操作部１０の表示部に表示するとともに、エラー状態を回避する処理、電源の一部遮断等のエラー処理を行う。
【００８８】
＜変形例＞
次に、図１２を参照して、図１１のコマンドフローにおける変形例について説明する。図１２は、第１の実施形態に係る搬送モジュールＡ２８０の診断を行う際のコマンドフローを示す図である。図１２では、ネットワーク型通信バス１００２の通信がすべて途絶したことを想定している。なお、図１２では、各コマンドに対する応答（Ａｃｋ）についても記載しているが、説明を容易にするため、Ａｃｋについての説明は省略する。また、図１２において、コマンドに対するＡｃｋが記載されていない場合は、当該コマンド通知の失敗を示す。つまり、ステップＳ２３０３、Ｓ２３０５及びＳ２３０６のコマンド通知は、正常な応答が戻されていないため、失敗していることを示す。
【００８９】
まず、ステップＳ２３０３において、マスタＣＰＵ１００１は、搬送モジュールＡ２８０を統括するサブマスタＣＰＵ６０１に対して通信確認要求を発行する。ここで、要求に対する応答が無いため、ステップＳ２３０４において、マスタＣＰＵ１００１は、全てのサブモジュールに対してリセット信号線を使用してハードウエアリセットを発行する。その後、ステップＳ２３０５において、マスタＣＰＵ１００１は、サブマスタＣＰＵ６０１に対して再び通信確認要求を発行する。ここで、サブマスタＣＰＵ６０１の応答が無いため、ステップＳ２３０６において、マスタＣＰＵ１００１は、診断経路をサブマスタＣＰＵ７０１経由に切り替え、サブマスタＣＰＵ７０１に対して搬送モジュールＡ２８０の通信確認要求を発行する。ここで、サブマスタＣＰＵ７０１からの応答が無いため、ステップＳ２３０８において、マスタＣＰＵ１００１は、接続線６１２ｂを介して、スレーブＣＰＵ６０５に対して搬送モジュールＡ２８０の通信確認要求を発行する。
【００９０】
通信確認要求を受けると、ステップＳ２３０９において、スレーブＣＰＵ６０５は、自らのプログラムデータの破損確認、ワークＲＡＭの動作の確認、シリアルバス６１２との接続確認等の自己診断を行う。その後、ステップＳ２３２０において、スレーブＣＰＵ６０５は、シリアルバス６１２を介してサブマスタＣＰＵ６０１との通信を試みる。コマンドを受信すると、ステップＳ２３２１において、サブマスタＣＰＵ６０１は、自己診断を行い、ステップＳ２３２２においてスレーブＣＰＵ６０５に自己診断結果を付加して返信をする。
【００９１】
以降同様に、ステップＳ２３２３〜Ｓ２３３１において、スレーブＣＰＵ６０５はシリアルバス６１２に接続されるスレーブＣＰＵ６０２〜６０４に対して通信確認を行う。各スレーブＣＰＵは、自己診断を行い、自己診断結果を付加して返信する。搬送モジュールＡ２８０の全デバイスとの通信確認が終了すると、ステップＳ２３４０において、スレーブＣＰＵ６０５は、マスタＣＰＵ１００１に対して確認結果を通知する。
【００９２】
通信確認が終了すると、ステップＳ２３４２において、マスタＣＰＵ１００１は、診断すべき項目を通信確認状態に応じて決定し、通信確認を行ったパスを経由して第２診断処理をスレーブＣＰＵ６０５に対して要求する。ステップＳ２３４４において、スレーブＣＰＵ６０５は、サブマスタＣＰＵ６０１に対して第２診断処理の実行を要求する。
【００９３】
ステップＳ２３４６において、サブマスタＣＰＵ６０１は、マスタＣＰＵ１００１との通信が不良となっている理由を通信確認で使用したパスを介して送受レベルを確認し、マスタＣＰＵ１００１とネットワーク型通信バス１００２との接続状態を確認する。次に、ステップＳ２３４７〜Ｓ２３５６において、サブマスタＣＰＵ６０１は、各スレーブＣＰＵ６０２〜６０５に対して、第２診断処理の実行要求を通知し、複数のスレーブＣＰＵを連携させながら、相互の動作確認を指示する。その後、ステップＳ２３５７において、搬送モジュールＡ２８０は、モジュール全体で相互診断を行う。その後、ステップＳ２３６０〜Ｓ２３６９において、各スレーブＣＰＵは、診断結果をサブマスタＣＰＵ６０１に送信する。
【００９４】
ステップＳ２３７０において、サブマスタＣＰＵ６０１は、受信した診断結果を、スレーブＣＰＵ６０５に送信する。ステップＳ２３７２において、スレーブＣＰＵ６０５は、受信した診断結果をマスタＣＰＵ１００１に送信する。ステップＳ２３７４において、マスタＣＰＵ１００１は、受信した診断結果を操作部１０の表示部に表示し、エラー状態を回避する処理、電源の一部遮断等のエラー処理を行う。
【００９５】
次に、図１３を参照して、作像モジュールにおける詳細診断処理について説明する。図１３は、第１の実施形態に係る作像モジュール２８２の診断を行う際のコマンドフローを示す図である。図１３では、ネットワーク型通信バス１００２及び作像モジュール２８２内部での通信エラーが発生したことを想定している。なお、図１３は、図１１及び図１２と基本的なフローは同じであるため、簡略化して説明する。また、図１３では、各コマンドに対する応答（Ａｃｋ）についても記載しているが、説明を容易にするため、Ａｃｋについての説明は省略する。また、図１３において、コマンドに対するＡｃｋが記載されていない場合は、当該コマンド通知の失敗を示す。つまり、ステップＳ２４０３、Ｓ２４０８、Ｓ２４１０、Ｓ２４１１、Ｓ２４２０、Ｓ２４２５及びＳ２４３５のコマンド通知は、正常な応答が戻されていないため、失敗していることを示す。
【００９６】
まず、ステップＳ２４０３において、マスタＣＰＵ１００１は、作像モジュール２８２を統括するサブマスタＣＰＵ７０１に対して通信確認要求を発行する。ここで、応答が無いため、ステップＳ２３０４において、マスタＣＰＵ１００１は、ハードウエアリセットを発行し、ステップＳ２４０８でサブマスタＣＰＵ７０１に対して再び通信確認要求を発行する。ここで、応答が無いため、通信確認のためのパスを順次切り替えて通信確認を行う。
【００９７】
ステップＳ２４１０〜Ｓ２４１４において、マスタＣＰＵ１００１は、各ＣＰＵに通信確認を行い、通信が正常に行えるＣＰＵを特定する。ここでは、スレーブＣＰＵ９０３との通信が正常であることとする。その後、ステップＳ２４２０〜Ｓ２４４０において、スレーブＣＰＵ９０３は、他のＣＰＵに対して通信確認を行い、ステップＳ２４４２においてマスタＣＰＵ１００１に対して津新結果を通知する。ステップＳ２４４４において、マスタＣＰＵ１００１は、サブマスタＣＰＵ７０１との通信ができなかったため、第２診断処理の実行は行なわず、通信確認の結果を操作部１０の表示部に表示し、エラー状態を回避する処理、電源の一部遮断等のエラー処理を行う。
【００９８】
以上説明したように、本実施形態では、通常動作では使用しない診断用の接続線６１２ｂ、６１２ａ、７１１ａ、８０８ａ、９０９ｂを設ける。これにより、本実施形態では、通常動作の通信にエラーが発生した場合であっても、上記接続線を使用して診断処理を実行するための通信パスを確保することができる。単純に通信ラインを二重化した場合、通信ライン故障に対する保証は可能であるが、階層構造をもった本発明のような形態では複数の通信パスを備えた形態の方が様々な状況のエラーに対応でき、故障時の診断精度の向上を図ることができる。よって、本実施形態に係る画像形成装置では、機器故障時の修復が容易化され、必要最小限の修理で復旧させることが可能となる。
【００９９】
＜他の実施形態＞
次に、他の実施形態について説明する。第１の実施形態では、シリアルバス６１２、７１１、８０８、９０９が複数のバスマスタを許容するインタフェース形式になっている。したがって、スレーブＣＰＵ７０６はシリアルバス６１２上ではマスタとして動作する。同様に、スレーブＣＰＵ８０３、スレーブＣＰＵ９０３、マスタＣＰＵ１００１は、それぞれシリアルバス７１１、シリアルバス９０９、シリアルバス６１２及びシリアルバス９０９上でマスタとして動作する。
【０１００】
しかし、シリアルバス形式が単一のマスタのみしか許容しないバスも想定される。したがって、通常は上記ＣＰＵをスレーブとして動作させ、各シリアルバスのマスタがシリアルバスを使用した通信を正常に行えないときのみマスタとして動作させるようにしてもよい。
【符号の説明】
【０１０１】
６０１：サブマスタＣＰＵ、６０２：スレーブＣＰＵ、６０３：スレーブＣＰＵ、６０４：スレーブＣＰＵ、６０５：スレーブＣＰＵ、７０１：サブマスタＣＰＵ、８０１：サブマスタＣＰＵ、９０１：サブマスタＣＰＵ、１０００：画像形成装置、１００１：マスタＣＰＵ
【図１】
2010250129.tif 000003
【図２】
2010250129.tif 000004
【図３】
2010250129.tif 000005
【図４】
2010250129.tif 000006
【図５】
2010250129.tif 000007
【図６】
2010250129.tif 000008
【図７】
2010250129.tif 000009
【図８】
2010250129.tif 000010
【図９】
2010250129.tif 000011
【図１０】
2010250129.tif 000012
【図１１】
2010250129.tif 000013
【図１２】
2010250129.tif 000014
【図１３】
2010250129.tif 000015