画像形成装置
【課題】分散制御システムを適用するとともに、各制御部におけるエラーの検出精度を向上させる画像形成装置を提供する。
【解決手段】本画像形成装置は、画像形成装置の全体を制御するマスタ制御部と、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、前記複数の機能を実現するための負荷を制御する複数のスレーブ制御部とを備える。また、各スレーブ制御部は、非動作中である場合に、動作中の他の前記スレーブ制御部の動作を監視してエラー診断を行う監視部を備える。
【解決手段】本画像形成装置は、画像形成装置の全体を制御するマスタ制御部と、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、前記複数の機能を実現するための負荷を制御する複数のスレーブ制御部とを備える。また、各スレーブ制御部は、非動作中である場合に、動作中の他の前記スレーブ制御部の動作を監視してエラー診断を行う監視部を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、階層構造を有する複数のCPU群を有する分散制御システムによって実現された画像形成装置に関するものである。
【背景技術】
【0002】
電子写真方式を採用する画像形成装置のプリンタデバイス制御では、1CPUによる集中制御が行われている。しかし、制御の一点集中によるCPU負荷の増大によって、より高性能なCPUが必要となる。さらに、プリンタデバイスの負荷の増大に伴い制御通信束線を制御CPU基板から離れた負荷ドライバユニットまで引き回す必要があり、長大な制御通信束線が多数必要となっていた。このような問題を解決するために、電子写真システムを構成する各制御モジュールを個々のサブCPUに分割する制御形態が注目されている。
【0003】
このように複数のCPUにより個々の部分モジュール制御機能を分割して制御システムを構築する例については、複写機以外のいくつかの制御機器製品分野で提案されている。例えば、車両のシステム等において分散制御システムが適用されている。しかし、集中制御による集中管理とは異なり、分散制御システムでは相互に協調しながら動作する複数の基板(CPU)が正しく動作を行うためにエラー検出を厳しく行う必要がある。
【0004】
例えば、特許文献1では、複数のバス内で定期的に送信される定期メッセージを監視し、当該定期メッセージの通信状況から故障デバイスを検出するゲートウエイ装置が提案されている。また、特許文献2では、故障診断装置より擬似制御情報を送出することにより、自動車の不具合要因の特定を容易に行なう技術が提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−191338号公報
【特許文献2】特開2002−301997号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記従来技術には以下に記載する問題がある。複数のCPUが協調制御を行う分散制御システムでは、個別に協調制御を行うCPUの動作確認と、エラーが発生した場合の故障部位の特定とが重要となる。しかし、集中的に故障を監視するデバイスを設けることで故障ノードの確認は可能であるが、監視専用のノードが必要となりコスト増加の要因となる。また、システムを階層構造で構成した場合に、上位の階層のトラフィックのみで故障の判定を行うと詳細な故障部位の特定を行うことが困難である。
【0007】
テストモードで故障部位を検出することも有効であるが、画像形成装置に適用した場合に、動作中の不具合によって紙詰まりが発生した状態ではテストできる内容が制限されてしまう。さらに、動的なタイミングエラーが発生した場合や動作中の緊急停止処理の場合には、テストモードでの故障部位の検出は困難である。
【0008】
本発明は、上述の問題に鑑みて成されたものであり、分散制御システムを適用するとともに、各制御部におけるエラーの検出精度を向上させる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、例えば、画像形成装置として実現できる。画像形成装置は、記録材に画像を形成する画像形成装置の全体を制御するマスタ制御部と、マスタ制御部により制御され、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、サブマスタ制御部により制御され、複数の機能を実現するための負荷を制御する複数のスレーブ制御部とを備え、スレーブ制御部は、非動作中である場合に、動作中の他のスレーブ制御部の動作を監視してエラー診断を行う監視部を備えることを特徴とする。
【発明の効果】
【0010】
本発明は、例えば、分散制御システムを適用するとともに、各制御部におけるエラーの検出精度を向上させる画像形成装置を提供できる。
【図面の簡単な説明】
【0011】
【図1】本実施形態に係る画像形成装置1000の概観を示す図である。
【図2】本実施形態に係る画像形成部300の構成例を示す断面図である。
【図3】本実施形態に係るマスタCPU、サブマスタCPU及びスレーブCPUの関連を模式的に示す図である。
【図4】本実施形態に係る画像形成装置1000の制御基板の一例を示す図である。
【図5】本実施形態に係るスレーブCPU802の構成例及びデバイス接続を示す図である。
【図6】本実施形態に係るCPU1401におけるステッピングモータ制御を説明する図である。
【図7】本実施形態に係るCPU1401におけるソレノイド駆動を説明する図である。
【図8】本実施形態に係るCPU1401におけるポート制御を説明するフローチャートである。
【図9】本実施形態に係るスレーブCPU602、603の構成例及びデバイス接続を示す図である。
【図10】本実施形態に係るスレーブCPUの動作状態を示す図である。
【図11】本実施形態に係る動作確認時の各制御部におけるシーケンス図である。
【発明を実施するための形態】
【0012】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0013】
<画像形成装置の構成>
以下では、図1乃至図11を参照して、本実施形態について説明する。図1に示すように、画像形成装置1000は、自動原稿搬送装置100、画像読取部200、画像形成部300、及び操作部10を備える。また、画像読取部200は、画像形成部300の上に載置されている。さらに、画像読取部200上には、自動原稿搬送装置(DF)100が載置されている。また、本画像形成装置1000は、複数の制御部(CPU)を用いて分散制御を実現する。
【0014】
自動原稿搬送装置100は、原稿を自動的に原稿台ガラス上に搬送する。画像読取部200は、自動原稿搬送装置100から搬送された原稿を読み取って画像データを出力する。画像形成部300は、自動原稿搬送装置100から出力された画像データやネットワークを介して接続された外部装置から入力された画像データに従って記録材に画像を形成する。操作部10は、ユーザが各種操作を行うためのGUI(グラフィカル・ユーザ・インタフェース)を有する。さらに、操作部10は、タッチパネル等の表示部を有し、ユーザに対して情報を提示することもできる。
【0015】
<画像形成部>
次に、図2を参照して、画像形成部300の詳細について説明する。なお、本実施形態の画像形成部300は電子写真方式を採用している。なお、図2の参照番号の末尾に示すアルファベットY、M、C、Kは、それぞれイエロー、マゼンダ、シアン、ブラックのトナーに対応した各エンジンを示す。以下では、全てのトナーに対応するエンジンを示す場合は末尾のアルファベットY、M、C、Kを省略して参照番号を記載し、個別に示す場合は参照番号の末尾にアルファベットY、M、C、Kを付記して記載する。
【0016】
像担持体としてフルカラー静電画像を形成するための感光ドラム(以下、単に「感光体」と称する。)225は、モータで矢印Aの方向に回転可能に設けられる。感光体225の周囲には、一次帯電装置221、露光装置218、現像装置223、転写装置220、クリーナ装置222、除電装置271が配置されている。
【0017】
現像装置223Kはモノクロ現像のための現像装置であり、感光体225K上の潜像をKのトナーで現像する。また現像装置223Y、M、Cはフルカラー現像のための現像装置であり、現像装置223Y、M、Cは、感光体225Y、M、C上の潜像をそれぞれY、M、Cのトナーで現像する。感光体225上に現像された各色のトナー像は、転写装置220によって中間転写体である転写ベルト226に一括で多重転写されて、4色のトナー像が重ね合わされる。
【0018】
転写ベルト226は、ローラ227、228、229に張架されている。ローラ227は、駆動源に結合されて転写ベルト226を駆動する駆動ローラとして機能し、ローラ228は転写ベルト226の張力を調節するテンションローラとして機能する。また、ローラ229は、2次転写装置231としての転写ローラのバックアップローラとして機能する。転写ローラ脱着ユニット250は、2次転写装置231を転写ベルト226に接着させるか、又は離脱させるための駆動ユニットである。2次転写装置231を通過した後の転写ベルト226の下部にはクリーナブレード232が設けられており、転写ベルト226上の残留トナーがブレードで掻き落とされる。
【0019】
カセット240、241及び手差し給紙部253に格納された記録材(記録紙)は、レジストローラ255、給紙ローラ対235及び縦パスローラ対236、237によってニップ部、つまり2次転写装置231と転写ベルト226との当接部に給送される。なお、その際2次転写装置231は、転写ローラ脱着ユニット250によって転写ベルト226に当接されている。転写ベルト226上に形成されたトナー像は、このニップ部で記録材上に転写される。その後、トナー像が転写された記録材は、定着装置234でトナー像が熱定着されて装置外へ排出される。
【0020】
カセット240、241及び手差し給紙部253は、それぞれ記録材の有無を検知するためのシートなし検知センサ243、244、245を備える。また、カセット240、241及び手差し給紙部253は、それぞれ記録材のピックアップ不良を検知するための給紙センサ247、248、249を備える。
【0021】
ここで、画像形成部300による画像形成動作について説明する。画像形成が開始されると、カセット240、241及び手差し給紙部253に格納された記録材は、ピックアップローラ238、239、254により1枚毎に給紙ローラ対235に搬送される。記録材は、給紙ローラ対235によりレジストローラ255へと搬送されると、その直前のレジストセンサ256により記録材の通過が検知される。
【0022】
レジストセンサ256により記録材の通過が検知された時点で、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は停止しているレジストローラ255に突き当たり搬送が停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように搬送位置が固定され、記録材の搬送方向が搬送経路に対してずれた状態の斜行が補正される。以下では、この処理を位置補正と称する。位置補正は、以降の記録材に対する画像形成方向の傾きを最小化するために必要となる。位置補正後、レジストローラ255を起動させることにより、記録材は、2次転写装置231へ供給される。なお、レジストローラ255は、駆動源に結合され、クラッチによって駆動が伝えられることで回転駆動を行う。
【0023】
次に、一次帯電装置221に電圧を印加して感光体225の表面を予定の帯電部電位で一様にマイナス帯電させる。続いて、帯電された感光体225上の画像部分が所定の露光部電位になるようにレーザスキャナ部からなる露光装置218で露光を行い潜像が形成される。露光装置218はプリンタ制御I/F215を介してコントローラ460より送られてくる画像データに基づいてレーザ光をオン、オフすることによって画像に対応した潜像を形成する。
【0024】
また、現像装置223の現像ローラには各色毎に予め設定された現像バイアスが印加されており、上記潜像は、現像ローラの位置を通過する際にトナーで現像され、トナー像として可視化される。トナー像は、転写装置220により転写ベルト226に転写され、さらに2次転写装置231で、給紙部より搬送された記録材に転写された後、レジスト後搬送パス268を通過し、定着搬送ベルト230を介して、定着装置234へと搬送される。
【0025】
定着装置234では、まずトナーの吸着力を補って画像乱れを防止するために、定着前帯電器251、252で帯電され、さらに定着ローラ233でトナー画像が熱定着される。その後、記録材は、排紙フラッパ257により排紙パス258側に搬送パスが切り替えられることにより、排紙ローラ270によってそのまま排紙トレー242に排紙される。
【0026】
感光体225上に残留したトナーは、クリーナ装置222で除去、回収される。最後に、感光体225は、除電装置271で一様に0ボルト付近まで除電されて、次の画像形成サイクルに備える。
【0027】
画像形成装置1000によるカラーの画像形成開始タイミングは、Y、M、C、Kの同時転写であるため転写ベルト226上の任意の位置に画像形成を行うことが可能である。しかし、感光体225Y、M、C上のトナー像を転写する位置のずれ分をタイミング的にシフトさせながら画像形成開始タイミングを決定する必要がある。
【0028】
なお、画像形成部300においては、記録材を連続的にカセット240、241及び手差し給紙部253より給送させることが可能である。この場合、先行する記録材のシート長を考慮し、記録材が重なり合わないような最短の間隔でカセット240、241及び手差し給紙部253からの給紙を行う。上述したように、位置補正後に、レジストローラ255を起動させることにより、記録材は2次転写装置231へ供給されるが、2次転写装置231に到達すると、再びレジストローラ255が一時停止される。これは、後続の記録材に対して先行する記録材と同様に位置補正を行うためである。
【0029】
次に、記録材の裏面に画像を形成する場合の動作について詳細に説明する。記録材の裏面に画像を形成する際には、まず記録材の表面への画像形成が先行して実行される。表面のみの画像形成であれば、定着装置234でトナー像が熱定着された後に、そのまま排紙トレー242に排紙される。一方、引き続き裏面の画像形成を行なう場合、センサ269で記録材が検知されると、排紙フラッパ257により裏面パス259側に搬送パスが切り替えられ、それに併せた反転ローラ260の回転駆動により記録材が両面反転パス261に搬送される。その後、記録材は、送り方向幅の分だけ両面反転パス261に搬送された後に反転ローラ260の逆回転駆動により進行方向が切り替えられ、表面に画像形成された画像面を下向きにして両面パス搬送ローラ262の駆動により両面パス263に搬送される。
【0030】
続いて、記録材は、両面パス263を再給紙ローラ264に向かって搬送されると、その直前の再給紙センサ265により通過が検知される。再給紙センサ265により記録材の通過が検知されると、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は、停止している再給紙ローラ264に突き当たり搬送が一時停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように位置が固定され、記録材の搬送方向が再給紙パス内の搬送経路に対してずれる斜行が補正される。以下では、この処理を再位置補正と称する。
【0031】
再位置補正は、以降の記録材裏面に対する画像形成方向の傾きを最小化するために必要となる。再位置補正後、再給紙ローラ264を起動させることにより、記録材は、表裏が逆転した状態で再度給紙パス266上に搬送される。その後の画像形成動作については、上述した表面の画像形成動作と同じであるためここでは省略する。このように表裏両面に画像形成された記録材は、そのまま排紙フラッパ257より排紙パス258側に搬送パスが切り替えられることにより、排紙トレー242に排紙される。
【0032】
なお、本画像形成部300においては、両面印刷時においても、記録材の連続給送が可能である。しかしながら、記録材への画像形成や形成されたトナー像の定着などを行うための装置は1系統しか有していないため、表面への印刷と裏面への印刷を同時に行うことはできない。したがって、両面印刷時においては、画像形成部300に対し、カセット240、241及び手差し給紙部253からの記録材と、裏面印刷のために反転させて画像形成部に再度給送された記録材とは交互に画像形成されることとなる。
【0033】
本画像形成部300は、図2に示す各制御負荷を、後述する搬送モジュールA280、搬送モジュールB281、作像モジュール282、定着モジュール283という4つの制御ブロックに分けて各々が自律的に制御されている。さらに、これらの4つの制御ブロックを統括して画像形成装置として機能させるためのマスタモジュール284を有する。以下では、各モジュールの制御構成について図3を用いて説明する。
【0034】
図3に示すように、本実施形態において、マスタモジュール284に備えられるマスタCPU(マスタ制御部/第1層制御部)1001は、プリンタ制御I/F215を介してコントローラ460より送られる指示及び画像データに基づいて画像形成装置1000の全体を制御する。また、画像形成を実行するための搬送モジュールA280、搬送モジュールB281、作像モジュール282、及び定着モジュール283は、各機能を制御するサブマスタCPU(サブマスタ制御部/第2層制御部)601、901、701、801を備える。サブマスタCPU601、901、701、801はマスタCPU1001により制御される。さらに、各機能モジュールは、さらに、各機能を実行するための制御負荷を動作させるためのスレーブCPU(スレーブ制御部/第3層制御部)602、603、604、605、902、903、702、703、704、705、706、802、803を備える。スレーブCPU602、603、604、605はサブマスタCPU601に、スレーブCPU902、903はサブマスタCPU901に、スレーブCPU702、703、704、705、706はサブマスタCPU701に、スレーブCPU802、803はサブマスタCPU801に制御される。
【0035】
図3に示すように、マスタCPU1001と複数のサブマスタCPU601、701、801、901は共通のネットワーク型通信バス(第1信号線)1002によってバス接続される。サブマスタCPU601、701、801、901同士の間もネットワーク型通信バス(第1信号線)1002によってバス接続される。なお、マスタCPU1001と複数のサブマスタCPU601、701、801、901はリング接続されるものでもよい。サブマスタCPU601は、さらに、高速シリアル通信バス(第2信号線)612、613、614、615を介して、複数のスレーブCPU602、603、604、605のそれぞれと1対1接続(ピアツーピア接続)されている。同様に、サブマスタCPU701は、高速シリアル通信バス(第2信号線)711、712、713、714、715を介して、それぞれスレーブCPU702、703、704、705、706と接続される。サブマスタCPU801は、高速シリアル通信バス(第2信号線)808、809を介して、それぞれスレーブCPU802、803と接続される。サブマスタCPU901は、高速シリアル通信バス(第2信号線)909、910を介して、それぞれスレーブCPU902、903と接続される。ここで、高速シリアル通信バスは、短距離高速通信に用いられる。
【0036】
本実施形態に係る画像形成装置1000において、タイミングに依存した応答性が必要とされる制御に関しては、各サブマスタCPUに統括された機能モジュール内で実現されるように機能分割されている。そのため、末端の制御負荷を駆動するための各スレーブCPUと各サブマスタCPUとの間の通信は、応答性のよい高速シリアル通信バスによって接続されている。つまり、上記第2信号線には、上記第1信号線よりもデータ転送のタイミング精度が高い信号線が用いられる。
【0037】
一方、サブマスタCPU601、701、801、901とマスタCPU1001との間では、精密な制御タイミングを必要としない、画像形成動作の大まかな処理の流れを統括するようなやり取りだけが行われる。例えば、マスタCPU1001はサブマスタCPUに、画像形成前処理開始、給紙開始、画像形成後処理開始といった指示を出す。また、マスタCPU1001はサブマスタCPUに、コントローラ460から指示されたモード(例えばモノクロモードや両面画像形成モードなど)に基づいた指示を画像形成開始の前に出す。サブマスタCPU601、701、801、901のそれぞれの間でも、精密なタイミング制御を必要としないやり取りだけが行われる。すなわち、画像形成装置の制御を、相互に精密なタイミング制御を必要としない制御単位に分け、それぞれのサブマスタCPUがそれぞれの制御単位を精密なタイミングで制御する。これにより、本画像形成装置1000では、通信トラフィックを最小限に抑え、低速で安価なネットワーク型通信バス1002で接続することを可能としている。なお、マスタCPU、サブマスタCPU、及びスレーブCPUについては、実装される制御基板が必ずしも一律である必要はなく、装置実装上の事情に合わせて可変的に配置させることが可能である。
【0038】
次に、図4を参照して、本実施形態における具体的なマスタCPU、サブマスタCPU、スレーブCPUの基板構成上の配置について説明する。本実施形態によれば、図4に示すように、様々な制御基板の構成を採用することができる。例えば、サブマスタCPU601とスレーブCPU602、603、604、605とは、同一の基板上に実装されている。また、サブマスタCPU701及びスレーブCPU702、703、704、又は、サブマスタCPU801及びスレーブCPU802、803のように、サブマスタCPUと個々のスレーブCPUが独立の基板として実装されてもよい。また、スレーブCPU705、706のように一部のスレーブCPUが同一の基板上に実装されてもよい。また、サブマスタCPU901及びスレーブCPU902のように、サブマスタCPUとスレーブCPUの一部だけが同一基板上に配置されてもよい。
【0039】
<動作確認制御>
次に、図5乃至図11を参照して、本発明の特徴である分散制御を適用した画像形成装置における動作確認制御について説明する。ここで、動作確認制御とは、ある制御部が他の制御部の動作をモニタし、エラー検出を行う制御を示す。本実施形態によれば、動作中の他の制御部の動作を監視する制御部は、非動作中の制御部となる。したがって、各制御部は、他の制御部の動作を監視して、エラー診断を行う監視部を有する。図5は、本実施形態に係るスレーブCPU802の構成例及びデバイス接続を示す図である。図3のマスタCPU1001、サブマスタCPU801、スレーブCPU802、803を詳細に記載したもので、スレーブCPU802の内部構造と、デバイス接続を示した図でサブマスタCPU801とスレーブCPU802の構成モデルを示している。スレーブCPU802は、図4に示すようなデバイスを制御する。しかし、この構成例は制御内容を説明するためのもので、実際の機器構成を反映したものではない。
【0040】
スレーブCPU802は、CPU1401、フラッシュメモリ1402、SRAM1403、ウォッチドックタイマ1404、割り込みコントローラ1405、汎用タイマ1406、1413、シリアルI/F1407、D/Aコンバータ1408、A/Dコンバータ1409、PWM生成器1410、1411、及びGPIO1412を備える。
【0041】
CPU1401は、プログラムに従って周辺回路を使用しながら種々のデバイスを制御する。フラッシュメモリ1402は、CPU1401によって実行されるプログラムや、データを保持する。SRAM(Static Random Access Memory)1403は、CPU1401のワーク用のメモリである。
【0042】
ウォッチドックタイマ1404は、CPU1401の動作状態を監視する。割り込みコントローラ1405は、シリアル通信などの内部の状態変化や、外部IOからの信号の変化を受けてCPU1401の処理の中断を促し、処理を切り替えるための割り込み要因を受け付け、状態変化に即応した処理を行なうために用いられる。汎用タイマ1406は、1ms周期の割り込みとして使用される。汎用タイマ1413は、モータ駆動信号を生成するための高速周期割り込みを発生する。本例では20μs周期の割り込みを発生させる。
【0043】
シリアルI/F1407は、サブマスタCPU801及びスレーブCPU803との間でシリアル通信を行う。D/Aコンバータ1408は、デジタル信号をアナログ信号に変換し、複数のチャネルを備える。A/Dコンバータ1409は、アナログ信号をデジタル信号に変換し、複数のチャネルを備える。
【0044】
PWM(パルス幅変調)生成器1410,1411は、汎用タイマを使用してPWM信号を生成する。GPIO(General Purpose I/O)1412は、複数の汎用入出力ポートを有する。
【0045】
スレーブCPU802に接続された各負荷について説明する。1421は検出値をアナログ値で出力するアナログセンサを示す。1422は入力されるクロック周波数に応じてモータの励磁パターンを更新し、ステッピングモータを駆動するモータドライバを示す。1423,1430,1432は、複数のコイルを備え、コイルに流れる電流パターンに応じて回転するステッピングモータを示す。1424は入力される電圧を電流に変換しソレノイドを駆動するソレノイドドライバを示す。1425はコイルを流れる電流に応じて次回を発生させ内部のアクチュエータを吸引するソレノイドを示す。1426は入力される電圧を電流に変換し、ファンを駆動するファンドライバを示す。1427は機体冷却用のファンを示す。1428はLED(発光ダイオード)とフォトトランジスタで構成され、フォトトランジスタの入射光に応じて出力が変化するフォトインタラプタを示す。1429,1431は複数の相励磁パターン信号の入力に応じてモータの励磁パターンを更新するモータドライバを示す。
【0046】
図5ではモータドライバへの制御信号は20μsの汎用タイマ1413に接続するように記載している。しかし、これはフラッシュメモリ1402に格納されたファームウェアがモータドライバ1422へのタイミング信号の生成を20μsの周期に設定した汎用タイマ1413の割り込みを使用してタイミング信号を生成していることを示しているだけである。実際には、GPIO1412のポートと接続されている。
【0047】
<ステッピングモータ制御>
次に、CPU1401の処理内容について説明する。まず、図6を参照して、ステッピングモータ制御について説明する。
【0048】
スレーブCPU802のCPU1401は、モータドライバ1422への駆動信号を汎用タイマ1413の周期で更新する。CPU1401は、シリアルI/F1407を介してサブマスタCPU801と制御情報を授受しながら、モータドライバ1422への駆動信号を制御することによりステッピングモータ1423,1430,1432の加減速制御を行う。
【0049】
図6に示すstm_on、stm_stopコマンドはサブマスタCPU801からスレーブCPU802への指示コマンドを表す。モータが停止状態でstm_onコマンドが入力されると、CPU1401は、初期ホールドを行い、加速して定速搬送を行う。また、定速搬送中にstm_stopコマンドが入力されると、CPU1401は、減速させて、ホールド処理後に励磁をオフする。
【0050】
<ソレノイド駆動>
次に、図7を参照して、ソレノイド駆動について説明する。図7に示すSL_on、SL_offコマンドはサブマスタCPU801からスレーブCPU802への指示コマンドを示す。
【0051】
SL_onコマンドが入力されると、CPU1401は、1601のホールドデューティでのPWM駆動を行う。また、ホールド時間が経過すると、CPU1401は、1602の定常駆動デューティでの駆動を継続する。一方、SL_offコマンドが入力されると、CPU1401は、1603に示すようにオンデューティを徐々に減らしながら励磁オフ状態に制御する。この場合、オンデューティの更新は1msの周期で行われる。
【0052】
<ポート制御>
次に、図8を参照して、ポート制御について説明する。以下で説明する処理は、スレーブCPU802のCPU1401によって統括的に制御される。
【0053】
CPU1401は、GPIO1412の制御、A/Dコンバータ1409の入力制御、D/Aコンバータ1408の出力制御を行う。入出力の更新は1msカウンタの周期で行われる。出力する値はサブマスタCPU801より通知される指示に従う。入力信号のレベルはサブマスタCPU801の指示に従って逐次サブマスタCPU801へ送信する。
【0054】
1msカウンタの割り込みが発生すると、ステップS1701において、CPU1401は、GPIO1412で入力に定義した入力ポートの入力レベルをSRAM1403に格納する。次に、ステップS1702において、CPU1401は、ステップS1701で格納した入力レベルと、前回格納した入力ポートの入力レベルとを比較する。続いて、ステップS1703において、CPU1401は、ステップS1702の比較結果に基づき、変化が無い場合はVALIDデータとして更新する。この比較処理は外部入力信号に重畳されたノイズや、読み取り時に入力信号が同時変化した場合の誤検出を防止するために行われる。また、同一レベルが連続入力されたかどうかによるVALID確定のための確認回数は、入力される信号の種類によって変更してもよい。
【0055】
次に、ステップS1704において、CPU1401は、サブマスタCPU801より指示のあった出力値に従ってGPIO1412の出力ポートの出力値の更新を行なう。
【0056】
続いて、ステップS1705において、CPU1401は、A/Dコンバータ1409からの入力値をSRAM1403へ格納する。さらに、ステップS1706において、CPU1401は、GPIO1412の入出力制御と同様にD/Aコンバータ1408の出力更新を行う。
【0057】
上述したように、GPIO1412の出力制御、D/Aコンバータ1408の出力更新をサブマスタCPU801からの指示に基づいて行い、GPIO1412の入力、及びA/Dコンバータ1409からの入力を全てサブマスタCPU801に送信する。制御内容によっては入力や制御状態の変化に伴い、GPIO1412の出力値D/Aコンバータ1408の出力更新を行うようにしてもよい。
【0058】
図9は、マスタCPU1001、サブマスタCPU601、スレーブCPU602〜605を詳細に記載したものであり、スレーブCPU602、603の内部構造と、デバイス接続を示す。スレーブCPU602の内部構成又はスレーブCPU602に接続されるデバイスは参照番号の末尾に”a”を付し、スレーブCPU603の内部構成又はスレーブCPU603接続されるデバイスは参照番号の末尾に”b”を付す。
【0059】
スレーブCPU602は、カセット240に関連したピックアップローラ238を駆動させるための駆動源モータ606、シートなし検知センサ243、及び給紙センサ247を制御負荷とし、給紙パス266に記録材を引き渡すまでの制御を行う。スレーブCPU603は、カセット241に関連したピックアップローラ239を駆動させるための駆動源モータ607、シートなし検センサ244、給紙センサ248を制御負荷とし、給紙パス266に記録材を引き渡すまでの制御を行う。
【0060】
スレーブCPU602の動作をスレーブCPU603で確認するためスレーブCPU602と制御デバイスとの接続線(信号線)の一部は動作の確認のためにスレーブCPU603に接続されている。確認のための接続図は簡単のためにスレーブCPU602とデバイスの接続部位をスレーブCPU603がモニタできる接続を示す。しかし、実際には相互に監視できるようにスレーブCPU603とデバイスの接続部位をスレーブCPU602がモニタできるように接続するようにすれば相互に動作を確認することができる。接続部分の説明を行う。なお、スレーブCPUの構成は、図5を用いて説明した構成と同様であるため、説明を省略する。
【0061】
1802はアナログセンサ1421aの出力をA/Dコンバータ1409bでもモニタするための接続線を示す。1803はD/Aコンバータ1408aからアナログセンサ1421aへの基準電圧出力をA/Dコンバータ1409bでモニタするための接続線を示す。1804はPWM生成器1411aからのPWM波形をPWM生成器1410bに接続するための接続線を示す。1805は給紙センサ247からの状態信号をGPIO1412bに入力するための接続線を示す。1406はモータドライバ1429aの制御入力をGPIO1412bでモニタするための接続線を示す。1807はモータドライバ1429aの出力をモニタするための接続線を示し、電圧変換器1801及び接続線1808を経由してGPIO1412bに接続される。
【0062】
スレーブCPU602とスレーブCPU603とは異なる給紙カセットから記録紙をピックアップして搬送する処理を制御する。したがって、この2つのスレーブCPU602、603は基本的に排他的に動作する。
【0063】
次に、図10を参照して、プリントジョブの実行中における各スレーブCPU602〜605の動作状態について説明する。1901〜1904では、プリントジョブ実行中における時間軸に合わせて各スレーブCPU602〜605の各部の動作状態を示している。また、1905は、記録紙の搬送状態を表す紙搬送ステータスを示している。
【0064】
プリントジョブが発生するとマスタCPU1001からの指示に従ってサブマスタCPU601がスレーブCPU602,603,604,605に対して動作指示を与えることで連携した動作を行う。給紙段として給紙カセット240が選択されるとサブマスタCPU601は、スレーブCPU602に記録紙をピックアップするように指示する。
【0065】
この指示に従って、スレーブCPU602は、モータ606とソレノイド1425aの駆動を開始し、記録紙のピックアップを行う。記録紙がピックアップされ正常に搬送されると、給紙センサ247の状態が紙検知状態(rise)に変化する。給紙センサの情報はサブマスタCPU601に伝えられ、紙搬送ステータス1905は給紙ピックアップから記録前搬送状態となる。
【0066】
次に、サブマスタCPU601はスレーブCPU605に記録紙を搬送するように指示する。スレーブCPU605はモータ609〜611の駆動を開始し、レジストセンサ256の状態が変化するまでモータ609〜611の駆動を継続する。レジストセンサ256の状態が紙検知状態(rise)に変化したことを通知されると、サブマスタCPU601はスレーブCPU602、605にモータを一旦停止するように指示を出し、紙搬送ステータス1905を記録準備ステータスに変化させる。
【0067】
印刷データの準備ができるとサブマスタCPU601は、スレーブCPU602、605に対してモータを再度駆動するように指示し、紙搬送ステータス1905を記録処理状態へ変化させる。この記録処理の中で、給紙センサ247の状態が紙なし状態(fall)に変化すると、スレーブCPU602は、モータ606及びソレノイド1425aの駆動を停止する。さらに、レジストセンサ256の状態が紙なし状態(fall)へ変化したことを検出すると、スレーブCPU605は、モータ609〜611の駆動を所定時間後に停止する。その後、2次転写装置231、定着装置234によって記録紙に画像が形成されて定着され、排紙パス258側から排紙トレイ242に当該記録紙が排紙されてプリントジョブが終了する。
【0068】
上述したように、プリントジョブにおいては、一度に1つの給紙カセットのみから記録紙が給紙される。つまり、記録紙の給送を制御するスレーブCPU602、603は排他的に動作するため、スレーブCPU602が動作する場合、スレーブCPU603は、入出力ポート情報の取得とサブマスタCPU601からの通知を監視するのみのアイドル状態である。
【0069】
図10において、各スレーブCPUのアイドル期間は動作種別毎に網掛けで記載している。本実施形態によれば、このようなアイドル状態のスレーブCPUにおいて、前述した相互確認のための接続線を利用し、動作中のスレーブCPUの動作を確認する処理を行なう。以下に相互確認の動作について説明する。
【0070】
サブマスタCPU601と各スレーブCPUとは、1つの伝送線路(接続線)を介して接続されている。また、個々の接続デバイスには固有のノードIDが与えられている。スレーブCPU(各ノード)はサブマスタCPUからの通信メッセージに付加されたIDを読み取り、自分のIDと一致した通信メッセージを受信し処理を行なっている。本実施形態によれば、アイドル状態のスレーブCPUは、自分のIDと一致しない通信メッセージでも、監視対象のスレーブCPUのIDと一致する場合は、監視対象のスレーブCPUとサブマスタCPU間の通信メッセージを読み取り、サブマスタCPUからスレーブCPUの指示、サブマスタCPUへの通知をモニタする。以下に個々のデバイスに対するスレーブCPUの動作の確認方法について説明する。なお、以下では、スレーブCPU602が動作中であり、スレーブCPU603がアイドル状態であることを前提に説明する。
【0071】
図9に示すように、スレーブCPU603は、アナログセンサ1421aの出力を接続線1802を介してA/Dコンバータ1409bでデジタル変換しながらモニタする。さらに、スレーブCPU603は、スレーブCPU602からサブマスタCPU601への送信情報とA/Dコンバータ1409bを介してモニタした情報とを比較することで正常に動作しているか否かを監視する。
【0072】
スレーブCPU603は、D/Aコンバータ1408aからのアナログセンサ1421aへの基準電圧出力を接続線1803を介してA/Dコンバータ1409bでデジタル変換しながらモニタする。さらに、スレーブCPU603は、サブマスタCPU601からスレーブCPU602への指示と、A/Dコンバータ1409bを介してモニタした情報とを比較し、サブマスタCPU601からの指示通りに基準電圧が出力されているかを確認する。
【0073】
接続線1804は、PWM生成器1411aからのPWM波形をPWM生成器1410bへ入力するように接続される。これにより、スレーブCPU603は、PWM生成器1410bの外部信号の周期キャプチャ機能を使用して、Hパルス幅、Lパルス幅の検定を行なう。また、接続線1805は、給紙センサ247からの状態信号をGPIO1412bに入力するように接続される。これにより、スレーブCPU603は、スレーブCPU602からサブマスタCPU601への通知が正常か否かを確認する。
【0074】
また、スレーブCPU603は、モータドライバ1429aの制御入力を接続線1806を介してGPIO1412bでモニタし、正常な周期で動作しているかを確認する。或いは、スレーブCPU603は、サブマスタCPU601からスレーブCPU602への指示に従って駆動波形を生成しながら接続線1806を介して入力される入力値と比較する方法でもよい。さらに、モータドライバ1429aの出力を接続線1807、電圧変換器1801、及び接続線1808を経由してGPIO1412bに接続し、接続線1806の指定どおりにモータドライバが動作しているかを確認する。また、サブマスタCPU601とスレーブCPU602との間の通信をモニタすることにより間接的にサブマスタCPU601の動作状態を監視することも可能である。
【0075】
また、上述した例では他のノード間の通信をモニタするために擬似的に自分のノードを切り替えることで通信をモニタしている。しかし、これに限定されず、通信メッセージパケット上に定義される通信データ種別をノード毎にユニークに定義し受信するメッセージパケットを追加することによっても同様の効果が得られる。
【0076】
また、ここでは、スレーブCPU602の動作をスレーブCPU603が監視する例について説明したが、本発明はこれに限定されない。例えば、動作シーケンス上負荷が重ならない部分の存在するスレーブCPU602とスレーブCPU605とが自己の負荷状況により監視可能な範囲を切替ながら相互に動作の監視を行うようにすることも可能である。
【0077】
図10に示すように、スレーブCPU602とスレーブCPU605とは同時に動作する部分と、一方だけが動作する部分が存在する。例えば、紙搬送ステータス1905の給紙ピックアップ搬送状態では、スレーブCPU605のモータ駆動はアイドル状態であるため、スレーブCPU602のモータ動作を監視可能である。また、紙搬送ステータス1905の記録処理後半においては、スレーブCPU602のモータ駆動がアイドル状態となるため、この期間のスレーブCPU605のモータ駆動状態を監視するように構成してもよい。
【0078】
このように、負荷状況、資源の使用状況に応じて相互に動作の確認を行えば、監視のためのスレーブCPUを設けることなく、精度のよい動作確認を行うことが可能になる。このような動作確認を行うハードウェアを設けた場合、ハードウェア構成が複雑化したり、確認用のハードウェアを別途設ける必要があり、コスト増加の要因となってしてしまう。また、確認方法を種々のデバイスに対応して、詳細に変更することは困難である。一方、ソフトウェアを用いた動作確認を行う場合、確認するためのプログラムの変更は容易で様々な内容の確認に応用することができる。また、CPUの負荷状況に応じてエラーチェック内容を変更することにより、動作中の確認や詳細診断の自由度とコストの両立が可能である。
【0079】
次に、図11を参照して、本実施形態における動作確認時のコマンドシーケンスについて説明する。ここでは、プリントジョブを実行する際のマスタCPU1001、サブマスタCPU601、スレーブCPU602、スレーブCPU603及びスレーブCPU605の処理について説明する。
【0080】
ステップS2001でユーザからプリントジョブの開始を受け付けると、マスタCPU1001は、プリントジョブを開始し、ステップS2002において、サブマスタCPU601にジョブ通知と動作要求を命令する。続いて、ステップS2003において、サブマスタCPU601は、マスタCPU1001に応答(Ack)を通知する。さらに、ステップS2004において、サブマスタCPU601は、スレーブCPU603に対して、スレーブCPU602の動作を監視するように要求する。ここでは、プリントジョブにおいて、スレーブCPU602を介して給紙制御が行われることを前提としているため、スレーブCPU603に対して監視要求が通知される。ステップS2005において、スレーブCPU603は、監視要求に対する応答をサブマスタCPU601に対して通知する。
【0081】
次に、ステップS2006において、サブマスタCPU601は、スレーブCPU602に対してモータを駆動し紙ピックアップ搬送を行う要求(stm_onコマンド)を通知する。これに対して、ステップS2007において、スレーブCPU602は、サブマスタCPU601に対してAckを通知する。ここで、ステップS2008、S2009において、スレーブCPU603は、サブマスタCPU601とスレーブCPU602間の通信をモニタする。図11では、ステップS2008、S2009のように、スレーブCPU603の監視動作を点線矢印で示している。
【0082】
ステップS2010において、スレーブCPU602は、モータ607を駆動し、紙ピックアップ搬送を実行する。紙搬送を実行し、給紙センサ247のレベル変化(紙検知状態:rise)を検知すると、ステップS2011において、スレーブCPU602は、サブマスタCPU601に対して給紙センサ247のステータス変化を通知する。これに対して、ステップS2012において、サブマスタCPU601は、スレーブCPU602に対してAckを通知する。なお、ステップS2013、S2014において、スレーブCPU603は、サブマスタCPU601とスレーブCPU602との間で送受信されるコマンドを監視する。
【0083】
給紙センサ247のレベル変化の通知を受けると、ステップS2015において、サブマスタCPU601は、スレーブCPU605に対してモータ609〜611の駆動開始(stm_onコマンド)を通知する。これに対して、ステップS2016において、スレーブCPU605は、サブマスタCPU601に対してAckを通知する。さらに、ステップS2017において、スレーブCPU605は、モータの駆動を開始する。その後、レジストセンサ256の変化を検出(紙検知状態:rise)すると、ステップS2018において、スレーブCPU605は、サブマスタCPU601にレジストセンサ256のステータス変化を通知する。これに対して、ステップS2019において、サブマスタCPU601は、スレーブCPU605に対してAckを通知する。
【0084】
次に、ステップS2020、S2022において、サブマスタCPU601は、スレーブCPU605に対してモータ609−611の駆動停止を、スレーブCPU602に対してモータ607の駆動停止(stm_stopコマンド)を通知する。これに対して、ステップS2021、S2023において、スレーブCPU605、スレーブCPU602は、それぞれサブマスタCPU601に対してAckを通知する。なお、ステップS2024、S2025において、スレーブCPU603は、サブマスタCPU601とスレーブCPU602との間で送受信されるコマンドを監視する。
【0085】
ここで、ステップS2026において、スレーブCPU603は、例えば、停止命令を受信したにもかかわらずスレーブCPU602がモータ607の駆動を継続していることを検出する。すると、ステップS2027において、スレーブCPU603はサブマスタCPU601に対してエラー通知を行う。これに対して、ステップS2028において、サブマスタCPU601は、スレーブCPU603に対してAckを通知する。
【0086】
エラー通知を受けると、ステップS2029において、サブマスタCPU601は、マスタCPU1001に異常の検出を通知する。これに対して、ステップS2030において、マスタCPU1001は、サブマスタCPU601に対してAckを通知し、ステップS2031において異常が検出された情報を操作部10に対してエラー表示を行うように制御する。
【0087】
次に、ステップS2032において、サブマスタCPU601は、モータの緊急停止を行うためにハード又はコマンドによるリセット要求をスレーブCPU602に発行し、モータの緊急停止を促すとともに、モータ電源の強制オフ処理を行なう。これに対して、ステップS2033において、スレーブCPU602は、サブマスタCPU601に対してAckを通知する。なお、ステップS2034、S2035において、スレーブCPU603は、サブマスタCPU601とスレーブCPU602との間で送受信されるコマンドを監視する。
【0088】
次に、ステップS2036、S2040において、サブマスタCPU601は、スレーブCPU602とスレーブCPU603に対して詳細診断要求を通知する。これに対して、ステップS2037、S2041において、スレーブCPU602、スレーブCPU603は、サブマスタCPU601に対してAckを通知するとともに、ステップS2042において、互いに協調しながら詳細診断を実行する。ここでの詳細診断は、例えば、エラー内容及びエラー箇所を特定する。
【0089】
その後、ステップS2043、S2045において、スレーブCPU602、スレーブCPU603は、それぞれの判定結果であるエラー内容及びエラー箇所を含むエラー情報をサブマスタCPU601に通知する。これに対して、ステップS2044、S2046において、サブマスタCPU601は、それぞれスレーブCPU602及びスレーブCPU603に対してAckを通知する。さらに、ステップS2047において、サブマスタCPU601は、各スレーブCPUの通知結果を照合して故障部位の詳細判定を行い、マスタCPU1001に結果を通知する。ステップS2048において、マスタCPU1001は、結果通知を受けエラー内容の詳細をユーザに報知(例えば、表示部に表示する。)し、ユーザがエラー修復を容易に行えるようにサポートする。
【0090】
以上説明したように、本実施形態に係る画像形成装置おいては、非動作中のスレーブCPUが動作中の他のスレーブCPUの動作を監視してエラー診断を行う。具体的には、本画像形成装置は、他のスレーブCPUと、他のCPU及び負荷との間で送受信されるコマンドを監視することにより、エラー診断を行う。このため、例えば、スレーブCPUは、上記コマンドを監視するための信号線を有する。このように、本画像形成装置は、複数のCPUで分散制御を実現するとともに、専用の監視モジュール(ハードウェア、ソフトウェアを含む。)を追加することなく、分散制御システムにおいて懸念されるエラー検出を行うことができる。これにより、画像形成装置において、複数のCPUを用いた分散制御システムを採用した際に問題となるコスト増加を抑制することができる。
【0091】
なお、上述の実施形態においては、スレーブCPU間での動作確認制御について説明したが、本発明は、これに限定されず、マスタCPUやサブマスタCPUにも適用することができる。
【符号の説明】
【0092】
601:サブマスタCPU、602:スレーブCPU、603:スレーブCPU、604:スレーブCPU、605:スレーブCPU、701:サブマスタCPU、801:サブマスタCPU、901:サブマスタCPU、1000:画像形成装置、1001:マスタCPU、1802:接続線、1803:接続線
【技術分野】
【0001】
本発明は、階層構造を有する複数のCPU群を有する分散制御システムによって実現された画像形成装置に関するものである。
【背景技術】
【0002】
電子写真方式を採用する画像形成装置のプリンタデバイス制御では、1CPUによる集中制御が行われている。しかし、制御の一点集中によるCPU負荷の増大によって、より高性能なCPUが必要となる。さらに、プリンタデバイスの負荷の増大に伴い制御通信束線を制御CPU基板から離れた負荷ドライバユニットまで引き回す必要があり、長大な制御通信束線が多数必要となっていた。このような問題を解決するために、電子写真システムを構成する各制御モジュールを個々のサブCPUに分割する制御形態が注目されている。
【0003】
このように複数のCPUにより個々の部分モジュール制御機能を分割して制御システムを構築する例については、複写機以外のいくつかの制御機器製品分野で提案されている。例えば、車両のシステム等において分散制御システムが適用されている。しかし、集中制御による集中管理とは異なり、分散制御システムでは相互に協調しながら動作する複数の基板(CPU)が正しく動作を行うためにエラー検出を厳しく行う必要がある。
【0004】
例えば、特許文献1では、複数のバス内で定期的に送信される定期メッセージを監視し、当該定期メッセージの通信状況から故障デバイスを検出するゲートウエイ装置が提案されている。また、特許文献2では、故障診断装置より擬似制御情報を送出することにより、自動車の不具合要因の特定を容易に行なう技術が提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−191338号公報
【特許文献2】特開2002−301997号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記従来技術には以下に記載する問題がある。複数のCPUが協調制御を行う分散制御システムでは、個別に協調制御を行うCPUの動作確認と、エラーが発生した場合の故障部位の特定とが重要となる。しかし、集中的に故障を監視するデバイスを設けることで故障ノードの確認は可能であるが、監視専用のノードが必要となりコスト増加の要因となる。また、システムを階層構造で構成した場合に、上位の階層のトラフィックのみで故障の判定を行うと詳細な故障部位の特定を行うことが困難である。
【0007】
テストモードで故障部位を検出することも有効であるが、画像形成装置に適用した場合に、動作中の不具合によって紙詰まりが発生した状態ではテストできる内容が制限されてしまう。さらに、動的なタイミングエラーが発生した場合や動作中の緊急停止処理の場合には、テストモードでの故障部位の検出は困難である。
【0008】
本発明は、上述の問題に鑑みて成されたものであり、分散制御システムを適用するとともに、各制御部におけるエラーの検出精度を向上させる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は、例えば、画像形成装置として実現できる。画像形成装置は、記録材に画像を形成する画像形成装置の全体を制御するマスタ制御部と、マスタ制御部により制御され、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、サブマスタ制御部により制御され、複数の機能を実現するための負荷を制御する複数のスレーブ制御部とを備え、スレーブ制御部は、非動作中である場合に、動作中の他のスレーブ制御部の動作を監視してエラー診断を行う監視部を備えることを特徴とする。
【発明の効果】
【0010】
本発明は、例えば、分散制御システムを適用するとともに、各制御部におけるエラーの検出精度を向上させる画像形成装置を提供できる。
【図面の簡単な説明】
【0011】
【図1】本実施形態に係る画像形成装置1000の概観を示す図である。
【図2】本実施形態に係る画像形成部300の構成例を示す断面図である。
【図3】本実施形態に係るマスタCPU、サブマスタCPU及びスレーブCPUの関連を模式的に示す図である。
【図4】本実施形態に係る画像形成装置1000の制御基板の一例を示す図である。
【図5】本実施形態に係るスレーブCPU802の構成例及びデバイス接続を示す図である。
【図6】本実施形態に係るCPU1401におけるステッピングモータ制御を説明する図である。
【図7】本実施形態に係るCPU1401におけるソレノイド駆動を説明する図である。
【図8】本実施形態に係るCPU1401におけるポート制御を説明するフローチャートである。
【図9】本実施形態に係るスレーブCPU602、603の構成例及びデバイス接続を示す図である。
【図10】本実施形態に係るスレーブCPUの動作状態を示す図である。
【図11】本実施形態に係る動作確認時の各制御部におけるシーケンス図である。
【発明を実施するための形態】
【0012】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0013】
<画像形成装置の構成>
以下では、図1乃至図11を参照して、本実施形態について説明する。図1に示すように、画像形成装置1000は、自動原稿搬送装置100、画像読取部200、画像形成部300、及び操作部10を備える。また、画像読取部200は、画像形成部300の上に載置されている。さらに、画像読取部200上には、自動原稿搬送装置(DF)100が載置されている。また、本画像形成装置1000は、複数の制御部(CPU)を用いて分散制御を実現する。
【0014】
自動原稿搬送装置100は、原稿を自動的に原稿台ガラス上に搬送する。画像読取部200は、自動原稿搬送装置100から搬送された原稿を読み取って画像データを出力する。画像形成部300は、自動原稿搬送装置100から出力された画像データやネットワークを介して接続された外部装置から入力された画像データに従って記録材に画像を形成する。操作部10は、ユーザが各種操作を行うためのGUI(グラフィカル・ユーザ・インタフェース)を有する。さらに、操作部10は、タッチパネル等の表示部を有し、ユーザに対して情報を提示することもできる。
【0015】
<画像形成部>
次に、図2を参照して、画像形成部300の詳細について説明する。なお、本実施形態の画像形成部300は電子写真方式を採用している。なお、図2の参照番号の末尾に示すアルファベットY、M、C、Kは、それぞれイエロー、マゼンダ、シアン、ブラックのトナーに対応した各エンジンを示す。以下では、全てのトナーに対応するエンジンを示す場合は末尾のアルファベットY、M、C、Kを省略して参照番号を記載し、個別に示す場合は参照番号の末尾にアルファベットY、M、C、Kを付記して記載する。
【0016】
像担持体としてフルカラー静電画像を形成するための感光ドラム(以下、単に「感光体」と称する。)225は、モータで矢印Aの方向に回転可能に設けられる。感光体225の周囲には、一次帯電装置221、露光装置218、現像装置223、転写装置220、クリーナ装置222、除電装置271が配置されている。
【0017】
現像装置223Kはモノクロ現像のための現像装置であり、感光体225K上の潜像をKのトナーで現像する。また現像装置223Y、M、Cはフルカラー現像のための現像装置であり、現像装置223Y、M、Cは、感光体225Y、M、C上の潜像をそれぞれY、M、Cのトナーで現像する。感光体225上に現像された各色のトナー像は、転写装置220によって中間転写体である転写ベルト226に一括で多重転写されて、4色のトナー像が重ね合わされる。
【0018】
転写ベルト226は、ローラ227、228、229に張架されている。ローラ227は、駆動源に結合されて転写ベルト226を駆動する駆動ローラとして機能し、ローラ228は転写ベルト226の張力を調節するテンションローラとして機能する。また、ローラ229は、2次転写装置231としての転写ローラのバックアップローラとして機能する。転写ローラ脱着ユニット250は、2次転写装置231を転写ベルト226に接着させるか、又は離脱させるための駆動ユニットである。2次転写装置231を通過した後の転写ベルト226の下部にはクリーナブレード232が設けられており、転写ベルト226上の残留トナーがブレードで掻き落とされる。
【0019】
カセット240、241及び手差し給紙部253に格納された記録材(記録紙)は、レジストローラ255、給紙ローラ対235及び縦パスローラ対236、237によってニップ部、つまり2次転写装置231と転写ベルト226との当接部に給送される。なお、その際2次転写装置231は、転写ローラ脱着ユニット250によって転写ベルト226に当接されている。転写ベルト226上に形成されたトナー像は、このニップ部で記録材上に転写される。その後、トナー像が転写された記録材は、定着装置234でトナー像が熱定着されて装置外へ排出される。
【0020】
カセット240、241及び手差し給紙部253は、それぞれ記録材の有無を検知するためのシートなし検知センサ243、244、245を備える。また、カセット240、241及び手差し給紙部253は、それぞれ記録材のピックアップ不良を検知するための給紙センサ247、248、249を備える。
【0021】
ここで、画像形成部300による画像形成動作について説明する。画像形成が開始されると、カセット240、241及び手差し給紙部253に格納された記録材は、ピックアップローラ238、239、254により1枚毎に給紙ローラ対235に搬送される。記録材は、給紙ローラ対235によりレジストローラ255へと搬送されると、その直前のレジストセンサ256により記録材の通過が検知される。
【0022】
レジストセンサ256により記録材の通過が検知された時点で、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は停止しているレジストローラ255に突き当たり搬送が停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように搬送位置が固定され、記録材の搬送方向が搬送経路に対してずれた状態の斜行が補正される。以下では、この処理を位置補正と称する。位置補正は、以降の記録材に対する画像形成方向の傾きを最小化するために必要となる。位置補正後、レジストローラ255を起動させることにより、記録材は、2次転写装置231へ供給される。なお、レジストローラ255は、駆動源に結合され、クラッチによって駆動が伝えられることで回転駆動を行う。
【0023】
次に、一次帯電装置221に電圧を印加して感光体225の表面を予定の帯電部電位で一様にマイナス帯電させる。続いて、帯電された感光体225上の画像部分が所定の露光部電位になるようにレーザスキャナ部からなる露光装置218で露光を行い潜像が形成される。露光装置218はプリンタ制御I/F215を介してコントローラ460より送られてくる画像データに基づいてレーザ光をオン、オフすることによって画像に対応した潜像を形成する。
【0024】
また、現像装置223の現像ローラには各色毎に予め設定された現像バイアスが印加されており、上記潜像は、現像ローラの位置を通過する際にトナーで現像され、トナー像として可視化される。トナー像は、転写装置220により転写ベルト226に転写され、さらに2次転写装置231で、給紙部より搬送された記録材に転写された後、レジスト後搬送パス268を通過し、定着搬送ベルト230を介して、定着装置234へと搬送される。
【0025】
定着装置234では、まずトナーの吸着力を補って画像乱れを防止するために、定着前帯電器251、252で帯電され、さらに定着ローラ233でトナー画像が熱定着される。その後、記録材は、排紙フラッパ257により排紙パス258側に搬送パスが切り替えられることにより、排紙ローラ270によってそのまま排紙トレー242に排紙される。
【0026】
感光体225上に残留したトナーは、クリーナ装置222で除去、回収される。最後に、感光体225は、除電装置271で一様に0ボルト付近まで除電されて、次の画像形成サイクルに備える。
【0027】
画像形成装置1000によるカラーの画像形成開始タイミングは、Y、M、C、Kの同時転写であるため転写ベルト226上の任意の位置に画像形成を行うことが可能である。しかし、感光体225Y、M、C上のトナー像を転写する位置のずれ分をタイミング的にシフトさせながら画像形成開始タイミングを決定する必要がある。
【0028】
なお、画像形成部300においては、記録材を連続的にカセット240、241及び手差し給紙部253より給送させることが可能である。この場合、先行する記録材のシート長を考慮し、記録材が重なり合わないような最短の間隔でカセット240、241及び手差し給紙部253からの給紙を行う。上述したように、位置補正後に、レジストローラ255を起動させることにより、記録材は2次転写装置231へ供給されるが、2次転写装置231に到達すると、再びレジストローラ255が一時停止される。これは、後続の記録材に対して先行する記録材と同様に位置補正を行うためである。
【0029】
次に、記録材の裏面に画像を形成する場合の動作について詳細に説明する。記録材の裏面に画像を形成する際には、まず記録材の表面への画像形成が先行して実行される。表面のみの画像形成であれば、定着装置234でトナー像が熱定着された後に、そのまま排紙トレー242に排紙される。一方、引き続き裏面の画像形成を行なう場合、センサ269で記録材が検知されると、排紙フラッパ257により裏面パス259側に搬送パスが切り替えられ、それに併せた反転ローラ260の回転駆動により記録材が両面反転パス261に搬送される。その後、記録材は、送り方向幅の分だけ両面反転パス261に搬送された後に反転ローラ260の逆回転駆動により進行方向が切り替えられ、表面に画像形成された画像面を下向きにして両面パス搬送ローラ262の駆動により両面パス263に搬送される。
【0030】
続いて、記録材は、両面パス263を再給紙ローラ264に向かって搬送されると、その直前の再給紙センサ265により通過が検知される。再給紙センサ265により記録材の通過が検知されると、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は、停止している再給紙ローラ264に突き当たり搬送が一時停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように位置が固定され、記録材の搬送方向が再給紙パス内の搬送経路に対してずれる斜行が補正される。以下では、この処理を再位置補正と称する。
【0031】
再位置補正は、以降の記録材裏面に対する画像形成方向の傾きを最小化するために必要となる。再位置補正後、再給紙ローラ264を起動させることにより、記録材は、表裏が逆転した状態で再度給紙パス266上に搬送される。その後の画像形成動作については、上述した表面の画像形成動作と同じであるためここでは省略する。このように表裏両面に画像形成された記録材は、そのまま排紙フラッパ257より排紙パス258側に搬送パスが切り替えられることにより、排紙トレー242に排紙される。
【0032】
なお、本画像形成部300においては、両面印刷時においても、記録材の連続給送が可能である。しかしながら、記録材への画像形成や形成されたトナー像の定着などを行うための装置は1系統しか有していないため、表面への印刷と裏面への印刷を同時に行うことはできない。したがって、両面印刷時においては、画像形成部300に対し、カセット240、241及び手差し給紙部253からの記録材と、裏面印刷のために反転させて画像形成部に再度給送された記録材とは交互に画像形成されることとなる。
【0033】
本画像形成部300は、図2に示す各制御負荷を、後述する搬送モジュールA280、搬送モジュールB281、作像モジュール282、定着モジュール283という4つの制御ブロックに分けて各々が自律的に制御されている。さらに、これらの4つの制御ブロックを統括して画像形成装置として機能させるためのマスタモジュール284を有する。以下では、各モジュールの制御構成について図3を用いて説明する。
【0034】
図3に示すように、本実施形態において、マスタモジュール284に備えられるマスタCPU(マスタ制御部/第1層制御部)1001は、プリンタ制御I/F215を介してコントローラ460より送られる指示及び画像データに基づいて画像形成装置1000の全体を制御する。また、画像形成を実行するための搬送モジュールA280、搬送モジュールB281、作像モジュール282、及び定着モジュール283は、各機能を制御するサブマスタCPU(サブマスタ制御部/第2層制御部)601、901、701、801を備える。サブマスタCPU601、901、701、801はマスタCPU1001により制御される。さらに、各機能モジュールは、さらに、各機能を実行するための制御負荷を動作させるためのスレーブCPU(スレーブ制御部/第3層制御部)602、603、604、605、902、903、702、703、704、705、706、802、803を備える。スレーブCPU602、603、604、605はサブマスタCPU601に、スレーブCPU902、903はサブマスタCPU901に、スレーブCPU702、703、704、705、706はサブマスタCPU701に、スレーブCPU802、803はサブマスタCPU801に制御される。
【0035】
図3に示すように、マスタCPU1001と複数のサブマスタCPU601、701、801、901は共通のネットワーク型通信バス(第1信号線)1002によってバス接続される。サブマスタCPU601、701、801、901同士の間もネットワーク型通信バス(第1信号線)1002によってバス接続される。なお、マスタCPU1001と複数のサブマスタCPU601、701、801、901はリング接続されるものでもよい。サブマスタCPU601は、さらに、高速シリアル通信バス(第2信号線)612、613、614、615を介して、複数のスレーブCPU602、603、604、605のそれぞれと1対1接続(ピアツーピア接続)されている。同様に、サブマスタCPU701は、高速シリアル通信バス(第2信号線)711、712、713、714、715を介して、それぞれスレーブCPU702、703、704、705、706と接続される。サブマスタCPU801は、高速シリアル通信バス(第2信号線)808、809を介して、それぞれスレーブCPU802、803と接続される。サブマスタCPU901は、高速シリアル通信バス(第2信号線)909、910を介して、それぞれスレーブCPU902、903と接続される。ここで、高速シリアル通信バスは、短距離高速通信に用いられる。
【0036】
本実施形態に係る画像形成装置1000において、タイミングに依存した応答性が必要とされる制御に関しては、各サブマスタCPUに統括された機能モジュール内で実現されるように機能分割されている。そのため、末端の制御負荷を駆動するための各スレーブCPUと各サブマスタCPUとの間の通信は、応答性のよい高速シリアル通信バスによって接続されている。つまり、上記第2信号線には、上記第1信号線よりもデータ転送のタイミング精度が高い信号線が用いられる。
【0037】
一方、サブマスタCPU601、701、801、901とマスタCPU1001との間では、精密な制御タイミングを必要としない、画像形成動作の大まかな処理の流れを統括するようなやり取りだけが行われる。例えば、マスタCPU1001はサブマスタCPUに、画像形成前処理開始、給紙開始、画像形成後処理開始といった指示を出す。また、マスタCPU1001はサブマスタCPUに、コントローラ460から指示されたモード(例えばモノクロモードや両面画像形成モードなど)に基づいた指示を画像形成開始の前に出す。サブマスタCPU601、701、801、901のそれぞれの間でも、精密なタイミング制御を必要としないやり取りだけが行われる。すなわち、画像形成装置の制御を、相互に精密なタイミング制御を必要としない制御単位に分け、それぞれのサブマスタCPUがそれぞれの制御単位を精密なタイミングで制御する。これにより、本画像形成装置1000では、通信トラフィックを最小限に抑え、低速で安価なネットワーク型通信バス1002で接続することを可能としている。なお、マスタCPU、サブマスタCPU、及びスレーブCPUについては、実装される制御基板が必ずしも一律である必要はなく、装置実装上の事情に合わせて可変的に配置させることが可能である。
【0038】
次に、図4を参照して、本実施形態における具体的なマスタCPU、サブマスタCPU、スレーブCPUの基板構成上の配置について説明する。本実施形態によれば、図4に示すように、様々な制御基板の構成を採用することができる。例えば、サブマスタCPU601とスレーブCPU602、603、604、605とは、同一の基板上に実装されている。また、サブマスタCPU701及びスレーブCPU702、703、704、又は、サブマスタCPU801及びスレーブCPU802、803のように、サブマスタCPUと個々のスレーブCPUが独立の基板として実装されてもよい。また、スレーブCPU705、706のように一部のスレーブCPUが同一の基板上に実装されてもよい。また、サブマスタCPU901及びスレーブCPU902のように、サブマスタCPUとスレーブCPUの一部だけが同一基板上に配置されてもよい。
【0039】
<動作確認制御>
次に、図5乃至図11を参照して、本発明の特徴である分散制御を適用した画像形成装置における動作確認制御について説明する。ここで、動作確認制御とは、ある制御部が他の制御部の動作をモニタし、エラー検出を行う制御を示す。本実施形態によれば、動作中の他の制御部の動作を監視する制御部は、非動作中の制御部となる。したがって、各制御部は、他の制御部の動作を監視して、エラー診断を行う監視部を有する。図5は、本実施形態に係るスレーブCPU802の構成例及びデバイス接続を示す図である。図3のマスタCPU1001、サブマスタCPU801、スレーブCPU802、803を詳細に記載したもので、スレーブCPU802の内部構造と、デバイス接続を示した図でサブマスタCPU801とスレーブCPU802の構成モデルを示している。スレーブCPU802は、図4に示すようなデバイスを制御する。しかし、この構成例は制御内容を説明するためのもので、実際の機器構成を反映したものではない。
【0040】
スレーブCPU802は、CPU1401、フラッシュメモリ1402、SRAM1403、ウォッチドックタイマ1404、割り込みコントローラ1405、汎用タイマ1406、1413、シリアルI/F1407、D/Aコンバータ1408、A/Dコンバータ1409、PWM生成器1410、1411、及びGPIO1412を備える。
【0041】
CPU1401は、プログラムに従って周辺回路を使用しながら種々のデバイスを制御する。フラッシュメモリ1402は、CPU1401によって実行されるプログラムや、データを保持する。SRAM(Static Random Access Memory)1403は、CPU1401のワーク用のメモリである。
【0042】
ウォッチドックタイマ1404は、CPU1401の動作状態を監視する。割り込みコントローラ1405は、シリアル通信などの内部の状態変化や、外部IOからの信号の変化を受けてCPU1401の処理の中断を促し、処理を切り替えるための割り込み要因を受け付け、状態変化に即応した処理を行なうために用いられる。汎用タイマ1406は、1ms周期の割り込みとして使用される。汎用タイマ1413は、モータ駆動信号を生成するための高速周期割り込みを発生する。本例では20μs周期の割り込みを発生させる。
【0043】
シリアルI/F1407は、サブマスタCPU801及びスレーブCPU803との間でシリアル通信を行う。D/Aコンバータ1408は、デジタル信号をアナログ信号に変換し、複数のチャネルを備える。A/Dコンバータ1409は、アナログ信号をデジタル信号に変換し、複数のチャネルを備える。
【0044】
PWM(パルス幅変調)生成器1410,1411は、汎用タイマを使用してPWM信号を生成する。GPIO(General Purpose I/O)1412は、複数の汎用入出力ポートを有する。
【0045】
スレーブCPU802に接続された各負荷について説明する。1421は検出値をアナログ値で出力するアナログセンサを示す。1422は入力されるクロック周波数に応じてモータの励磁パターンを更新し、ステッピングモータを駆動するモータドライバを示す。1423,1430,1432は、複数のコイルを備え、コイルに流れる電流パターンに応じて回転するステッピングモータを示す。1424は入力される電圧を電流に変換しソレノイドを駆動するソレノイドドライバを示す。1425はコイルを流れる電流に応じて次回を発生させ内部のアクチュエータを吸引するソレノイドを示す。1426は入力される電圧を電流に変換し、ファンを駆動するファンドライバを示す。1427は機体冷却用のファンを示す。1428はLED(発光ダイオード)とフォトトランジスタで構成され、フォトトランジスタの入射光に応じて出力が変化するフォトインタラプタを示す。1429,1431は複数の相励磁パターン信号の入力に応じてモータの励磁パターンを更新するモータドライバを示す。
【0046】
図5ではモータドライバへの制御信号は20μsの汎用タイマ1413に接続するように記載している。しかし、これはフラッシュメモリ1402に格納されたファームウェアがモータドライバ1422へのタイミング信号の生成を20μsの周期に設定した汎用タイマ1413の割り込みを使用してタイミング信号を生成していることを示しているだけである。実際には、GPIO1412のポートと接続されている。
【0047】
<ステッピングモータ制御>
次に、CPU1401の処理内容について説明する。まず、図6を参照して、ステッピングモータ制御について説明する。
【0048】
スレーブCPU802のCPU1401は、モータドライバ1422への駆動信号を汎用タイマ1413の周期で更新する。CPU1401は、シリアルI/F1407を介してサブマスタCPU801と制御情報を授受しながら、モータドライバ1422への駆動信号を制御することによりステッピングモータ1423,1430,1432の加減速制御を行う。
【0049】
図6に示すstm_on、stm_stopコマンドはサブマスタCPU801からスレーブCPU802への指示コマンドを表す。モータが停止状態でstm_onコマンドが入力されると、CPU1401は、初期ホールドを行い、加速して定速搬送を行う。また、定速搬送中にstm_stopコマンドが入力されると、CPU1401は、減速させて、ホールド処理後に励磁をオフする。
【0050】
<ソレノイド駆動>
次に、図7を参照して、ソレノイド駆動について説明する。図7に示すSL_on、SL_offコマンドはサブマスタCPU801からスレーブCPU802への指示コマンドを示す。
【0051】
SL_onコマンドが入力されると、CPU1401は、1601のホールドデューティでのPWM駆動を行う。また、ホールド時間が経過すると、CPU1401は、1602の定常駆動デューティでの駆動を継続する。一方、SL_offコマンドが入力されると、CPU1401は、1603に示すようにオンデューティを徐々に減らしながら励磁オフ状態に制御する。この場合、オンデューティの更新は1msの周期で行われる。
【0052】
<ポート制御>
次に、図8を参照して、ポート制御について説明する。以下で説明する処理は、スレーブCPU802のCPU1401によって統括的に制御される。
【0053】
CPU1401は、GPIO1412の制御、A/Dコンバータ1409の入力制御、D/Aコンバータ1408の出力制御を行う。入出力の更新は1msカウンタの周期で行われる。出力する値はサブマスタCPU801より通知される指示に従う。入力信号のレベルはサブマスタCPU801の指示に従って逐次サブマスタCPU801へ送信する。
【0054】
1msカウンタの割り込みが発生すると、ステップS1701において、CPU1401は、GPIO1412で入力に定義した入力ポートの入力レベルをSRAM1403に格納する。次に、ステップS1702において、CPU1401は、ステップS1701で格納した入力レベルと、前回格納した入力ポートの入力レベルとを比較する。続いて、ステップS1703において、CPU1401は、ステップS1702の比較結果に基づき、変化が無い場合はVALIDデータとして更新する。この比較処理は外部入力信号に重畳されたノイズや、読み取り時に入力信号が同時変化した場合の誤検出を防止するために行われる。また、同一レベルが連続入力されたかどうかによるVALID確定のための確認回数は、入力される信号の種類によって変更してもよい。
【0055】
次に、ステップS1704において、CPU1401は、サブマスタCPU801より指示のあった出力値に従ってGPIO1412の出力ポートの出力値の更新を行なう。
【0056】
続いて、ステップS1705において、CPU1401は、A/Dコンバータ1409からの入力値をSRAM1403へ格納する。さらに、ステップS1706において、CPU1401は、GPIO1412の入出力制御と同様にD/Aコンバータ1408の出力更新を行う。
【0057】
上述したように、GPIO1412の出力制御、D/Aコンバータ1408の出力更新をサブマスタCPU801からの指示に基づいて行い、GPIO1412の入力、及びA/Dコンバータ1409からの入力を全てサブマスタCPU801に送信する。制御内容によっては入力や制御状態の変化に伴い、GPIO1412の出力値D/Aコンバータ1408の出力更新を行うようにしてもよい。
【0058】
図9は、マスタCPU1001、サブマスタCPU601、スレーブCPU602〜605を詳細に記載したものであり、スレーブCPU602、603の内部構造と、デバイス接続を示す。スレーブCPU602の内部構成又はスレーブCPU602に接続されるデバイスは参照番号の末尾に”a”を付し、スレーブCPU603の内部構成又はスレーブCPU603接続されるデバイスは参照番号の末尾に”b”を付す。
【0059】
スレーブCPU602は、カセット240に関連したピックアップローラ238を駆動させるための駆動源モータ606、シートなし検知センサ243、及び給紙センサ247を制御負荷とし、給紙パス266に記録材を引き渡すまでの制御を行う。スレーブCPU603は、カセット241に関連したピックアップローラ239を駆動させるための駆動源モータ607、シートなし検センサ244、給紙センサ248を制御負荷とし、給紙パス266に記録材を引き渡すまでの制御を行う。
【0060】
スレーブCPU602の動作をスレーブCPU603で確認するためスレーブCPU602と制御デバイスとの接続線(信号線)の一部は動作の確認のためにスレーブCPU603に接続されている。確認のための接続図は簡単のためにスレーブCPU602とデバイスの接続部位をスレーブCPU603がモニタできる接続を示す。しかし、実際には相互に監視できるようにスレーブCPU603とデバイスの接続部位をスレーブCPU602がモニタできるように接続するようにすれば相互に動作を確認することができる。接続部分の説明を行う。なお、スレーブCPUの構成は、図5を用いて説明した構成と同様であるため、説明を省略する。
【0061】
1802はアナログセンサ1421aの出力をA/Dコンバータ1409bでもモニタするための接続線を示す。1803はD/Aコンバータ1408aからアナログセンサ1421aへの基準電圧出力をA/Dコンバータ1409bでモニタするための接続線を示す。1804はPWM生成器1411aからのPWM波形をPWM生成器1410bに接続するための接続線を示す。1805は給紙センサ247からの状態信号をGPIO1412bに入力するための接続線を示す。1406はモータドライバ1429aの制御入力をGPIO1412bでモニタするための接続線を示す。1807はモータドライバ1429aの出力をモニタするための接続線を示し、電圧変換器1801及び接続線1808を経由してGPIO1412bに接続される。
【0062】
スレーブCPU602とスレーブCPU603とは異なる給紙カセットから記録紙をピックアップして搬送する処理を制御する。したがって、この2つのスレーブCPU602、603は基本的に排他的に動作する。
【0063】
次に、図10を参照して、プリントジョブの実行中における各スレーブCPU602〜605の動作状態について説明する。1901〜1904では、プリントジョブ実行中における時間軸に合わせて各スレーブCPU602〜605の各部の動作状態を示している。また、1905は、記録紙の搬送状態を表す紙搬送ステータスを示している。
【0064】
プリントジョブが発生するとマスタCPU1001からの指示に従ってサブマスタCPU601がスレーブCPU602,603,604,605に対して動作指示を与えることで連携した動作を行う。給紙段として給紙カセット240が選択されるとサブマスタCPU601は、スレーブCPU602に記録紙をピックアップするように指示する。
【0065】
この指示に従って、スレーブCPU602は、モータ606とソレノイド1425aの駆動を開始し、記録紙のピックアップを行う。記録紙がピックアップされ正常に搬送されると、給紙センサ247の状態が紙検知状態(rise)に変化する。給紙センサの情報はサブマスタCPU601に伝えられ、紙搬送ステータス1905は給紙ピックアップから記録前搬送状態となる。
【0066】
次に、サブマスタCPU601はスレーブCPU605に記録紙を搬送するように指示する。スレーブCPU605はモータ609〜611の駆動を開始し、レジストセンサ256の状態が変化するまでモータ609〜611の駆動を継続する。レジストセンサ256の状態が紙検知状態(rise)に変化したことを通知されると、サブマスタCPU601はスレーブCPU602、605にモータを一旦停止するように指示を出し、紙搬送ステータス1905を記録準備ステータスに変化させる。
【0067】
印刷データの準備ができるとサブマスタCPU601は、スレーブCPU602、605に対してモータを再度駆動するように指示し、紙搬送ステータス1905を記録処理状態へ変化させる。この記録処理の中で、給紙センサ247の状態が紙なし状態(fall)に変化すると、スレーブCPU602は、モータ606及びソレノイド1425aの駆動を停止する。さらに、レジストセンサ256の状態が紙なし状態(fall)へ変化したことを検出すると、スレーブCPU605は、モータ609〜611の駆動を所定時間後に停止する。その後、2次転写装置231、定着装置234によって記録紙に画像が形成されて定着され、排紙パス258側から排紙トレイ242に当該記録紙が排紙されてプリントジョブが終了する。
【0068】
上述したように、プリントジョブにおいては、一度に1つの給紙カセットのみから記録紙が給紙される。つまり、記録紙の給送を制御するスレーブCPU602、603は排他的に動作するため、スレーブCPU602が動作する場合、スレーブCPU603は、入出力ポート情報の取得とサブマスタCPU601からの通知を監視するのみのアイドル状態である。
【0069】
図10において、各スレーブCPUのアイドル期間は動作種別毎に網掛けで記載している。本実施形態によれば、このようなアイドル状態のスレーブCPUにおいて、前述した相互確認のための接続線を利用し、動作中のスレーブCPUの動作を確認する処理を行なう。以下に相互確認の動作について説明する。
【0070】
サブマスタCPU601と各スレーブCPUとは、1つの伝送線路(接続線)を介して接続されている。また、個々の接続デバイスには固有のノードIDが与えられている。スレーブCPU(各ノード)はサブマスタCPUからの通信メッセージに付加されたIDを読み取り、自分のIDと一致した通信メッセージを受信し処理を行なっている。本実施形態によれば、アイドル状態のスレーブCPUは、自分のIDと一致しない通信メッセージでも、監視対象のスレーブCPUのIDと一致する場合は、監視対象のスレーブCPUとサブマスタCPU間の通信メッセージを読み取り、サブマスタCPUからスレーブCPUの指示、サブマスタCPUへの通知をモニタする。以下に個々のデバイスに対するスレーブCPUの動作の確認方法について説明する。なお、以下では、スレーブCPU602が動作中であり、スレーブCPU603がアイドル状態であることを前提に説明する。
【0071】
図9に示すように、スレーブCPU603は、アナログセンサ1421aの出力を接続線1802を介してA/Dコンバータ1409bでデジタル変換しながらモニタする。さらに、スレーブCPU603は、スレーブCPU602からサブマスタCPU601への送信情報とA/Dコンバータ1409bを介してモニタした情報とを比較することで正常に動作しているか否かを監視する。
【0072】
スレーブCPU603は、D/Aコンバータ1408aからのアナログセンサ1421aへの基準電圧出力を接続線1803を介してA/Dコンバータ1409bでデジタル変換しながらモニタする。さらに、スレーブCPU603は、サブマスタCPU601からスレーブCPU602への指示と、A/Dコンバータ1409bを介してモニタした情報とを比較し、サブマスタCPU601からの指示通りに基準電圧が出力されているかを確認する。
【0073】
接続線1804は、PWM生成器1411aからのPWM波形をPWM生成器1410bへ入力するように接続される。これにより、スレーブCPU603は、PWM生成器1410bの外部信号の周期キャプチャ機能を使用して、Hパルス幅、Lパルス幅の検定を行なう。また、接続線1805は、給紙センサ247からの状態信号をGPIO1412bに入力するように接続される。これにより、スレーブCPU603は、スレーブCPU602からサブマスタCPU601への通知が正常か否かを確認する。
【0074】
また、スレーブCPU603は、モータドライバ1429aの制御入力を接続線1806を介してGPIO1412bでモニタし、正常な周期で動作しているかを確認する。或いは、スレーブCPU603は、サブマスタCPU601からスレーブCPU602への指示に従って駆動波形を生成しながら接続線1806を介して入力される入力値と比較する方法でもよい。さらに、モータドライバ1429aの出力を接続線1807、電圧変換器1801、及び接続線1808を経由してGPIO1412bに接続し、接続線1806の指定どおりにモータドライバが動作しているかを確認する。また、サブマスタCPU601とスレーブCPU602との間の通信をモニタすることにより間接的にサブマスタCPU601の動作状態を監視することも可能である。
【0075】
また、上述した例では他のノード間の通信をモニタするために擬似的に自分のノードを切り替えることで通信をモニタしている。しかし、これに限定されず、通信メッセージパケット上に定義される通信データ種別をノード毎にユニークに定義し受信するメッセージパケットを追加することによっても同様の効果が得られる。
【0076】
また、ここでは、スレーブCPU602の動作をスレーブCPU603が監視する例について説明したが、本発明はこれに限定されない。例えば、動作シーケンス上負荷が重ならない部分の存在するスレーブCPU602とスレーブCPU605とが自己の負荷状況により監視可能な範囲を切替ながら相互に動作の監視を行うようにすることも可能である。
【0077】
図10に示すように、スレーブCPU602とスレーブCPU605とは同時に動作する部分と、一方だけが動作する部分が存在する。例えば、紙搬送ステータス1905の給紙ピックアップ搬送状態では、スレーブCPU605のモータ駆動はアイドル状態であるため、スレーブCPU602のモータ動作を監視可能である。また、紙搬送ステータス1905の記録処理後半においては、スレーブCPU602のモータ駆動がアイドル状態となるため、この期間のスレーブCPU605のモータ駆動状態を監視するように構成してもよい。
【0078】
このように、負荷状況、資源の使用状況に応じて相互に動作の確認を行えば、監視のためのスレーブCPUを設けることなく、精度のよい動作確認を行うことが可能になる。このような動作確認を行うハードウェアを設けた場合、ハードウェア構成が複雑化したり、確認用のハードウェアを別途設ける必要があり、コスト増加の要因となってしてしまう。また、確認方法を種々のデバイスに対応して、詳細に変更することは困難である。一方、ソフトウェアを用いた動作確認を行う場合、確認するためのプログラムの変更は容易で様々な内容の確認に応用することができる。また、CPUの負荷状況に応じてエラーチェック内容を変更することにより、動作中の確認や詳細診断の自由度とコストの両立が可能である。
【0079】
次に、図11を参照して、本実施形態における動作確認時のコマンドシーケンスについて説明する。ここでは、プリントジョブを実行する際のマスタCPU1001、サブマスタCPU601、スレーブCPU602、スレーブCPU603及びスレーブCPU605の処理について説明する。
【0080】
ステップS2001でユーザからプリントジョブの開始を受け付けると、マスタCPU1001は、プリントジョブを開始し、ステップS2002において、サブマスタCPU601にジョブ通知と動作要求を命令する。続いて、ステップS2003において、サブマスタCPU601は、マスタCPU1001に応答(Ack)を通知する。さらに、ステップS2004において、サブマスタCPU601は、スレーブCPU603に対して、スレーブCPU602の動作を監視するように要求する。ここでは、プリントジョブにおいて、スレーブCPU602を介して給紙制御が行われることを前提としているため、スレーブCPU603に対して監視要求が通知される。ステップS2005において、スレーブCPU603は、監視要求に対する応答をサブマスタCPU601に対して通知する。
【0081】
次に、ステップS2006において、サブマスタCPU601は、スレーブCPU602に対してモータを駆動し紙ピックアップ搬送を行う要求(stm_onコマンド)を通知する。これに対して、ステップS2007において、スレーブCPU602は、サブマスタCPU601に対してAckを通知する。ここで、ステップS2008、S2009において、スレーブCPU603は、サブマスタCPU601とスレーブCPU602間の通信をモニタする。図11では、ステップS2008、S2009のように、スレーブCPU603の監視動作を点線矢印で示している。
【0082】
ステップS2010において、スレーブCPU602は、モータ607を駆動し、紙ピックアップ搬送を実行する。紙搬送を実行し、給紙センサ247のレベル変化(紙検知状態:rise)を検知すると、ステップS2011において、スレーブCPU602は、サブマスタCPU601に対して給紙センサ247のステータス変化を通知する。これに対して、ステップS2012において、サブマスタCPU601は、スレーブCPU602に対してAckを通知する。なお、ステップS2013、S2014において、スレーブCPU603は、サブマスタCPU601とスレーブCPU602との間で送受信されるコマンドを監視する。
【0083】
給紙センサ247のレベル変化の通知を受けると、ステップS2015において、サブマスタCPU601は、スレーブCPU605に対してモータ609〜611の駆動開始(stm_onコマンド)を通知する。これに対して、ステップS2016において、スレーブCPU605は、サブマスタCPU601に対してAckを通知する。さらに、ステップS2017において、スレーブCPU605は、モータの駆動を開始する。その後、レジストセンサ256の変化を検出(紙検知状態:rise)すると、ステップS2018において、スレーブCPU605は、サブマスタCPU601にレジストセンサ256のステータス変化を通知する。これに対して、ステップS2019において、サブマスタCPU601は、スレーブCPU605に対してAckを通知する。
【0084】
次に、ステップS2020、S2022において、サブマスタCPU601は、スレーブCPU605に対してモータ609−611の駆動停止を、スレーブCPU602に対してモータ607の駆動停止(stm_stopコマンド)を通知する。これに対して、ステップS2021、S2023において、スレーブCPU605、スレーブCPU602は、それぞれサブマスタCPU601に対してAckを通知する。なお、ステップS2024、S2025において、スレーブCPU603は、サブマスタCPU601とスレーブCPU602との間で送受信されるコマンドを監視する。
【0085】
ここで、ステップS2026において、スレーブCPU603は、例えば、停止命令を受信したにもかかわらずスレーブCPU602がモータ607の駆動を継続していることを検出する。すると、ステップS2027において、スレーブCPU603はサブマスタCPU601に対してエラー通知を行う。これに対して、ステップS2028において、サブマスタCPU601は、スレーブCPU603に対してAckを通知する。
【0086】
エラー通知を受けると、ステップS2029において、サブマスタCPU601は、マスタCPU1001に異常の検出を通知する。これに対して、ステップS2030において、マスタCPU1001は、サブマスタCPU601に対してAckを通知し、ステップS2031において異常が検出された情報を操作部10に対してエラー表示を行うように制御する。
【0087】
次に、ステップS2032において、サブマスタCPU601は、モータの緊急停止を行うためにハード又はコマンドによるリセット要求をスレーブCPU602に発行し、モータの緊急停止を促すとともに、モータ電源の強制オフ処理を行なう。これに対して、ステップS2033において、スレーブCPU602は、サブマスタCPU601に対してAckを通知する。なお、ステップS2034、S2035において、スレーブCPU603は、サブマスタCPU601とスレーブCPU602との間で送受信されるコマンドを監視する。
【0088】
次に、ステップS2036、S2040において、サブマスタCPU601は、スレーブCPU602とスレーブCPU603に対して詳細診断要求を通知する。これに対して、ステップS2037、S2041において、スレーブCPU602、スレーブCPU603は、サブマスタCPU601に対してAckを通知するとともに、ステップS2042において、互いに協調しながら詳細診断を実行する。ここでの詳細診断は、例えば、エラー内容及びエラー箇所を特定する。
【0089】
その後、ステップS2043、S2045において、スレーブCPU602、スレーブCPU603は、それぞれの判定結果であるエラー内容及びエラー箇所を含むエラー情報をサブマスタCPU601に通知する。これに対して、ステップS2044、S2046において、サブマスタCPU601は、それぞれスレーブCPU602及びスレーブCPU603に対してAckを通知する。さらに、ステップS2047において、サブマスタCPU601は、各スレーブCPUの通知結果を照合して故障部位の詳細判定を行い、マスタCPU1001に結果を通知する。ステップS2048において、マスタCPU1001は、結果通知を受けエラー内容の詳細をユーザに報知(例えば、表示部に表示する。)し、ユーザがエラー修復を容易に行えるようにサポートする。
【0090】
以上説明したように、本実施形態に係る画像形成装置おいては、非動作中のスレーブCPUが動作中の他のスレーブCPUの動作を監視してエラー診断を行う。具体的には、本画像形成装置は、他のスレーブCPUと、他のCPU及び負荷との間で送受信されるコマンドを監視することにより、エラー診断を行う。このため、例えば、スレーブCPUは、上記コマンドを監視するための信号線を有する。このように、本画像形成装置は、複数のCPUで分散制御を実現するとともに、専用の監視モジュール(ハードウェア、ソフトウェアを含む。)を追加することなく、分散制御システムにおいて懸念されるエラー検出を行うことができる。これにより、画像形成装置において、複数のCPUを用いた分散制御システムを採用した際に問題となるコスト増加を抑制することができる。
【0091】
なお、上述の実施形態においては、スレーブCPU間での動作確認制御について説明したが、本発明は、これに限定されず、マスタCPUやサブマスタCPUにも適用することができる。
【符号の説明】
【0092】
601:サブマスタCPU、602:スレーブCPU、603:スレーブCPU、604:スレーブCPU、605:スレーブCPU、701:サブマスタCPU、801:サブマスタCPU、901:サブマスタCPU、1000:画像形成装置、1001:マスタCPU、1802:接続線、1803:接続線
【特許請求の範囲】
【請求項1】
記録材に画像を形成する画像形成装置の全体を制御するマスタ制御部と、
前記マスタ制御部により制御され、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、
前記サブマスタ制御部により制御され、前記複数の機能を実現するための負荷を制御する複数のスレーブ制御部と
を備え、
前記スレーブ制御部は、
非動作中である場合に、動作中の他の前記スレーブ制御部の動作を監視してエラー診断を行う監視部を備えることを特徴とする画像形成装置。
【請求項2】
前記監視部は、
前記他のスレーブ制御部の動作を監視するため、該スレーブ制御部が他の制御部及び前記負荷との間で送受信されるコマンドを監視することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
各スレーブ制御部は、
他のスレーブ制御部と、前記他の制御部及び前記負荷とがコマンドを送受信する信号線に対して、該コマンドを監視するための信号線を介して接続されていることを特徴とする請求項1又は2に記載の画像形成装置。
【請求項4】
前記スレーブ制御部は、
前記監視部によってエラーが検知されると、エラー内容及びエラー箇所を特定し、上位の前記サブマスタ制御部に特定した前記エラー内容及びエラー箇所を含むエラー情報を通知し、
前記サブマスタ制御部は、
前記スレーブ制御部から通知された前記エラー情報を前記マスタ制御部に通知し、
前記マスタ制御部は、
前記サブマスタ制御部から通知された前記エラー情報をユーザに報知することを特徴とする請求項1乃至3の何れか1項に記載の画像形成装置。
【請求項5】
前記複数のスレーブ制御部は、
前記負荷である給紙カセットを制御する複数のスレーブ制御部を含み、
前記画像形成装置において画像形成を実行する際に、給紙を行なわない給紙カセットを制御するスレーブ制御部が、給紙を行う給紙カセットを制御するスレーブ制御部の動作を監視することを特徴とする請求項1乃至4の何れか1項に記載の画像形成装置。
【請求項6】
前記マスタ制御部と、前記複数のサブマスタ制御部との間は、第1信号線によって接続され、
前記複数のサブマスタ制御部と、前記複数のスレーブ制御部との間は、前記第1信号線よりもデータ転送のタイミング精度が高い第2信号線によって接続されることを特徴とする請求項1乃至5の何れか1項に記載の画像形成装置。
【請求項7】
記録材に画像を形成する画像形成装置の全体を制御するマスタ制御部と、
前記マスタ制御部により制御され、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、
前記サブマスタ制御部により制御され、前記複数の機能を実現するための負荷を制御する複数のスレーブ制御部と
を備え、
前記スレーブ制御部は、
非動作中である場合に、前記サブマスタ制御部の動作を監視してエラー診断を行う監視部を備えることを特徴とする画像形成装置。
【請求項8】
記録材に画像を形成する画像形成装置の全体を制御する第1層制御部と、
前記第1層制御部により制御され、画像形成を実行するための複数の機能を制御する複数の第2層制御部と、
前記第2層制御部により制御され、前記複数の機能を実現するための制御負荷を制御する複数の第3層制御部と
を備え、
前記第3層制御部は、
非動作中である場合に、動作中の他の前記第3層制御部の動作を監視してエラー診断を行う監視部を備えることを特徴とする画像形成装置。
【請求項1】
記録材に画像を形成する画像形成装置の全体を制御するマスタ制御部と、
前記マスタ制御部により制御され、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、
前記サブマスタ制御部により制御され、前記複数の機能を実現するための負荷を制御する複数のスレーブ制御部と
を備え、
前記スレーブ制御部は、
非動作中である場合に、動作中の他の前記スレーブ制御部の動作を監視してエラー診断を行う監視部を備えることを特徴とする画像形成装置。
【請求項2】
前記監視部は、
前記他のスレーブ制御部の動作を監視するため、該スレーブ制御部が他の制御部及び前記負荷との間で送受信されるコマンドを監視することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
各スレーブ制御部は、
他のスレーブ制御部と、前記他の制御部及び前記負荷とがコマンドを送受信する信号線に対して、該コマンドを監視するための信号線を介して接続されていることを特徴とする請求項1又は2に記載の画像形成装置。
【請求項4】
前記スレーブ制御部は、
前記監視部によってエラーが検知されると、エラー内容及びエラー箇所を特定し、上位の前記サブマスタ制御部に特定した前記エラー内容及びエラー箇所を含むエラー情報を通知し、
前記サブマスタ制御部は、
前記スレーブ制御部から通知された前記エラー情報を前記マスタ制御部に通知し、
前記マスタ制御部は、
前記サブマスタ制御部から通知された前記エラー情報をユーザに報知することを特徴とする請求項1乃至3の何れか1項に記載の画像形成装置。
【請求項5】
前記複数のスレーブ制御部は、
前記負荷である給紙カセットを制御する複数のスレーブ制御部を含み、
前記画像形成装置において画像形成を実行する際に、給紙を行なわない給紙カセットを制御するスレーブ制御部が、給紙を行う給紙カセットを制御するスレーブ制御部の動作を監視することを特徴とする請求項1乃至4の何れか1項に記載の画像形成装置。
【請求項6】
前記マスタ制御部と、前記複数のサブマスタ制御部との間は、第1信号線によって接続され、
前記複数のサブマスタ制御部と、前記複数のスレーブ制御部との間は、前記第1信号線よりもデータ転送のタイミング精度が高い第2信号線によって接続されることを特徴とする請求項1乃至5の何れか1項に記載の画像形成装置。
【請求項7】
記録材に画像を形成する画像形成装置の全体を制御するマスタ制御部と、
前記マスタ制御部により制御され、画像形成を実行するための複数の機能を制御する複数のサブマスタ制御部と、
前記サブマスタ制御部により制御され、前記複数の機能を実現するための負荷を制御する複数のスレーブ制御部と
を備え、
前記スレーブ制御部は、
非動作中である場合に、前記サブマスタ制御部の動作を監視してエラー診断を行う監視部を備えることを特徴とする画像形成装置。
【請求項8】
記録材に画像を形成する画像形成装置の全体を制御する第1層制御部と、
前記第1層制御部により制御され、画像形成を実行するための複数の機能を制御する複数の第2層制御部と、
前記第2層制御部により制御され、前記複数の機能を実現するための制御負荷を制御する複数の第3層制御部と
を備え、
前記第3層制御部は、
非動作中である場合に、動作中の他の前記第3層制御部の動作を監視してエラー診断を行う監視部を備えることを特徴とする画像形成装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2010−219790(P2010−219790A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−63234(P2009−63234)
【出願日】平成21年3月16日(2009.3.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願日】平成21年3月16日(2009.3.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]