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