JP2019049933A - 情報処理装置および画像形成装置 - Google Patents
情報処理装置および画像形成装置 Download PDFInfo
- Publication number
- JP2019049933A JP2019049933A JP2017174762A JP2017174762A JP2019049933A JP 2019049933 A JP2019049933 A JP 2019049933A JP 2017174762 A JP2017174762 A JP 2017174762A JP 2017174762 A JP2017174762 A JP 2017174762A JP 2019049933 A JP2019049933 A JP 2019049933A
- Authority
- JP
- Japan
- Prior art keywords
- control means
- slave control
- control unit
- slave
- master control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】スレーブ制御手段の暴走を効率よく監視する画像形成装置を提供する。【解決手段】画像形成装置は、スレーブ制御部331と、スレーブ制御部332と、スレーブ制御部331及びスレーブ制御部332の動作を制御するサブマスタ制御部330と、を備える。サブマスタ制御部330は、スレーブ制御部331に対して動作確認を行わせるためのSlave動作確認命令を送信する。スレーブ制御部331は、サブマスタ制御部330へSlave動作確認命令に対する応答を送信するとともに、スレーブ制御部332に対してSlave動作確認命令を受信したことを通知する。スレーブ制御部332は、スレーブ制御部331からSlave動作確認命令を受信したことの通知を受信すると、動作状態を表す状態変数値を更新し、サブマスタ制御部330からの読取命令に応じて、状態変数値を含む応答をサブマスタ制御部330へ送信する。【選択図】図4
Description
本発明は、マスタ制御手段が第1および第2スレーブ手段の動作確認を実行する装置に関する。
画像形成装置は、モータやファン等の電気部品を筐体内部に分散して備える。これらの電気部品の制御は、マスタ制御部及びスレーブ制御部から構成されるマスタスレーブ型の分散制御システムにより行われる。マスタ制御部は、画像形成装置全体の動作を制御する。スレーブ制御部は、マスタ制御部と協働し対応する電気部品の動作を制御する。マスタ制御部とスレーブ制御部との間の通信方式には、シリアル通信が利用されることが多い。シリアル通信は、信号線の数を削除可能であり、配線削減によるコストダウンが可能であるためである。
マスタスレーブ型の分散制御システムは、スレーブ制御部にCPUコアが搭載される場合、リソース不足、無限ループ、電源瞬断によるプログラム破壊等の異常の発生に対応するために、システムの暴走保護が必須の技術となる。特許文献1は、マスタ制御部が、一定周期でスレーブ制御部との間でデータの送受信を行うことで、スレーブ制御部の暴走を監視する技術を開示する。マスタ制御部は、データ送信後の所定時間以内にスレーブ制御部からデータを受信しない場合に、スレーブ制御部の暴走を検知して、スレーブ制御部をリセットする。
近年、画像形成装置を構成する電気部品の複雑化、高機能化により、スレーブ制御部による制御対象が増加する傾向にある。これに対応するために、スレーブ制御部に、いわゆるマルチコアCPUが用いられることがある。マルチコアCPUを用いる場合、各CPUコアの暴走を監視する必要がある。特許文献1の技術を適用すると、マスタ制御部は、一定周期で複数のCPUコアとの間でデータの送受信を行うことになる。これは、マスタ制御部とスレーブ制御部との間の通信量の増加を招くことになる。マスタ制御部とスレーブ制御部との間の通信量の増加は、制御システムの動作のボトルネックとなり、画像形成装置の動作に影響する可能性がある。
本発明は、上記課題に鑑みてなされたものであり、スレーブ制御手段の暴走を効率よく監視することを目的とする。
本発明の情報処理装置は、装置の第1の構成要素の動作を制御する第1スレーブ制御手段と、前記装置の第2の構成要素の動作を制御する第2スレーブ制御手段と、前記第1スレーブ制御手段及び前記第2スレーブ制御手段の動作を制御するマスタ制御手段と、を備え、前記マスタ制御手段は、前記第1スレーブ制御手段に対して動作確認を行わせるための動作確認命令を送信し、前記第1スレーブ制御手段は、前記動作確認命令を受信した後に、前記第2スレーブ制御手段に対して前記動作確認命令を受信したことを通知し、前記第2スレーブ制御手段は、前記第1スレーブ制御手段から前記通知を受信すると、動作状態を表す状態変数値を更新し、前記マスタ制御手段は、前記状態変数値の読み取りを指示し、前記第2スレーブ制御手段は、前記マスタ制御手段から前記状態変数値の読み取りの指示を受信すると、前記更新した状態変数値を返信し、前記マスタ制御手段は、前記更新した状態変数値に基づき、前記第1スレーブ制御手段及び前記第2スレーブ制御手段に対してリセットを行うことを特徴とする。
本発明によれば、スレーブ制御手段の暴走を効率よく監視することができる。
以下、本実施形態の画像形成装置を、4つの感光体をタンデムに配した4ドラム系のカラー複合装置に適用した場合について説明する。
図1は、画像形成装置の外観図である。画像形成装置1000は、自動原稿搬送部100、画像読取部200、画像形成部300、及び操作部10を備える。画像読取部200は、画像形成部300上に設けられる。画像読取部200上には、自動原稿搬送部100が取り付けられる。画像形成装置1000を構成するこれらの構成要素は、複数の制御部により分散制御される。各制御部には、CPU(Central Processing Unit)やASIC(Application Specific Integrated Circuit)等を用いることができる。
自動原稿搬送部100は、原稿を自動的に画像読取部200の原稿台ガラス上に搬送する。画像読取部200は、自動原稿搬送部100から搬送された原稿を読み取って画像データを出力する。画像形成部300は、画像読取部200から出力された画像データやネットワークを介して外部装置から入力された画像データに基づく画像を、紙等の記録材に形成する。操作部10は、ユーザが各種操作を行うためのGUI(Graphical User Interface)を有する。操作部10は、例えばタッチパネル等を備えたディスプレイにより構成されており、ユーザに対して情報を提示可能である。
(画像形成部)
図2は、画像形成部300の詳細な構成図である。本実施形態の画像形成部300は、電子写真方式を採用している。図2において、符号末尾のアルファベットY、M、C、Kは、それぞれイエロー、マゼンタ、シアン、ブラックの各色を示す。なお、以下の説明で全色を表す場合には、符号末尾のアルファベットY、M、C、Kを省略して説明する。
図2は、画像形成部300の詳細な構成図である。本実施形態の画像形成部300は、電子写真方式を採用している。図2において、符号末尾のアルファベットY、M、C、Kは、それぞれイエロー、マゼンタ、シアン、ブラックの各色を示す。なお、以下の説明で全色を表す場合には、符号末尾のアルファベットY、M、C、Kを省略して説明する。
フルカラー静電画像を形成するための像担持体である感光ドラム(以下、単に「感光体」と称する。)225は、モータからの駆動力によって図中矢印Aの方向に回転する。感光体225の周囲には、一次帯電部221、露光部218、現像部223、転写部220、クリーナ222、及び除電部271が設けられている。
現像部223Kはモノクロ現像のための現像モジュールであり、感光体225K上に形成された潜像をブラックのトナーで現像する。現像部223Y、223M、223Cは、カラー現像のための現像モジュールであり、感光体225Y、225M、225C上に形成された潜像を、それぞれイエロー、マゼンタ、シアンのトナーで現像する。感光体225上に現像された各色のトナー像は、転写部220によって中間転写体である転写ベルト226に多重転写される。これにより4色のトナー像が重畳される。
転写ベルト226は、ローラ227、228、229に張架される。ローラ227は、駆動源からの駆動力により転写ベルト226を駆動する駆動ローラである。ローラ228は、転写ベルト226の張力を調節するテンションローラである。ローラ229は、二次転写部231としての転写ローラのバックアップローラである。転写ローラ着脱ユニット250は、二次転写部231を転写ベルト226に接着、離間するための駆動ユニットである。二次転写部231を通過後の転写ベルト226の下部には、クリーナーブレード232が設けられる。クリーナーブレード232は、転写ベルト226上の残留トナーを掻き落とす。
カセット240、241及び手差し給紙部253は記録材を収納する。カセット240、241及び手差し給紙部253は、それぞれ記録材の有無を検知するための検知センサ243、244、245を備える。また、カセット240、241及び手差し給紙部253は、それぞれ記録材のピックアップ不良を検知するための給紙センサ247、248、249を備える。カセット240、241に収納された記録材は、ピックアップローラ238、239により1枚ずつ縦パスローラ対236、237を介して給紙ローラ対235に搬送される。手差し給紙部253に収納された記録材は、ピックアップローラ254により1枚ずつ給紙ローラ対235に搬送される。記録材は、給紙ローラ対235及びレジストローラ255により二次転写部231と転写ベルト226との当接部(ニップ部)に給送される。その際、二次転写部231は、転写ローラ着脱ユニット250によって転写ベルト226に当接される。転写ベルト226上に形成されたトナー像は、ニップ部で記録材上に転写される。記録材に転写されたトナー像は、定着部234によって、記録材に熱定着される。そして、トナー像が定着された記録材は外部に排紙される。
画像形成部300による画像形成動作について説明する。画像形成の開始指示に応じて、カセット240、241及び手差し給紙部253に収納された記録材は、ピックアップローラ238、239、254により1枚ずつ給紙ローラ対235へ搬送される。記録材は、給紙ローラ対235によりレジストローラ255へ搬送される。レジストセンサ256はレジストローラ255の上流に配置されており、記録材の通過を検知する。
レジストセンサ256が記録材の通過を検知したことに応じて、給紙ローラは一旦停止する。その結果、記録材は、停止しているレジストローラ255に当接して停止する。この当接により、記録材の搬送方向端部が搬送経路に対して直交するように、記録材の姿勢が補正される。以下、この処理を「斜行補正」と称する。斜行補正は、以降の処理において、記録材に形成される画像の傾きを低減するために行われる。斜行補正後、レジストローラ255が再起動することで、記録材は、二次転写部231へ搬送される。なお、レジストローラ255は、クラッチを介して駆動源に結合されている。
一方、感光体225の表面は、電圧が印加された一次帯電部221によって所定の電位に一様にマイナス帯電される。そして、露光部218が、帯電された感光体225上の表面を露光し、潜像を形成する。露光部218は、プリンタ制御I/F(インタフェース)215を介してコントローラ460から送られてくる画像データに基づいてレーザ光の発光制御を行うことで、該画像データに応じた潜像を形成する。コントローラ460は、画像読取部200や外部装置から画像データを取得する。また、コントローラ460は、操作部10から入力される指示を受け付ける。
現像部223の現像ローラには、色毎に予め設定された現像バイアスが印加される。現像ローラは、トナーを用いて潜像を現像し、感光体225にトナー像を形成する。トナー像は、転写部220により転写ベルト226に転写され、さらに、二次転写部231で、搬送されてきた記録材に転写される。トナー像が転写された記録材は、搬送パス268を通過し、定着搬送ベルト230によって定着部234へ搬送される。
定着部234は、トナーの吸着力を補って画像乱れを防止するために、定着前帯電器251、252により記録材に転写されたトナー像を帯電する。定着部234は、定着ローラ233によりトナー像を記録材に熱定着する。トナー像の定着により、記録材への画像形成処理が終了する。画像形成された記録材は、排紙フラッパ257により排紙パス258側に切り替えられた搬送パスを介して、排紙ローラ270により排紙トレー242に排紙される。
なお、感光体225上に残留するトナーは、クリーナ222によって除去され、回収される。感光体225は、除電部271により一様にゼロボルト付近まで除電されて、次の画像形成処理に備える。
感光体225Y、225M、225C、225Kのトナー像は、回転する転写ベルト226上に重畳される。そのために、感光体225Y、225M、225C、225K上へのトナー像の形成タイミングは、感光体225Y、225M、225C、225Kの位置及び転写ベルト226の回転速度に応じて決められる。
記録材は、カセット240、241及び手差し給紙部253から連続して給紙される。この場合、記録材は、記録材が重なり合わず、かつ最短の間隔でカセット240、241及び手差し給紙部253から給紙される。上述したように、斜行補正後に、レジストローラ255を起動させることにより、記録材は二次転写部231へ供給される。しかし、記録材が二次転写部231に到達すると、再びレジストローラ255が一時停止する。これは、後続の記録材に対して先行する記録材と同様に斜行補正を行うためである。
両面印刷を行う場合、画像形成部300は、記録材の表面に画像形成された後に、記録材を排紙トレー242に排紙せず、引き続き記録材の裏面に画像を形成する。裏面に画像形成を行なう場合、センサ269が記録材を検知すると、排紙フラッパ257が搬送パスを裏面パス259側に切り替える。反転ローラ260は、裏面パス259を通過した記録材を両面反転パス261に搬送する。記録材は、送り方向幅の分だけ両面反転パス261に搬送された後に、反転ローラ260の逆回転駆動により進行方向が切り替えられる。そして、両面パス搬送ローラ262が、表面が下向きになっている記録材を両面パス263に搬送する。
記録材は、両面パス263を再給紙ローラ264に向かって搬送される。再給紙センサ265による記録材の通過検知に応じて(本実施形態では所定の時間経過後)、搬送動作が中断する。記録材は、停止している再給紙ローラ264に当接して停止する。このとき、記録材の進行方向端部が搬送経路に対して直交するように記録材の姿勢が補正される。以下、この処理を「再斜行補正」と称する。再斜行補正は、記録材の裏面に形成される画像の傾きを低減するために行われる。再斜行補正後、再給紙ローラ264が再起動する。再給紙ローラ264は、表裏が逆転した状態の記録材を、再度、給紙パス266上に搬送する。その後の画像形成動作については、上述した表面の画像形成動作と同じであるため省略する。両面に画像形成された記録材は、排紙トレー242に排紙される。
なお、画像形成部300は、両面印刷時においても、記録材の連続給送が可能である。しかしながら、画像形成部300は、記録材への画像形成や形成されたトナー像の定着などを行うための機構を1系統しか有していないため、表面への画像形成と裏面への画像形成とを同時に行うことはできない。したがって、両面印刷時には、画像形成部300に対し、カセット240、241及び手差し給紙部253からの記録材と、裏面印刷のために反転させて再度給送された記録材とが、交互に画像形成される。
(制御システム)
図3は、画像形成部300の動作を制御する制御システムの構成例示図である。制御システムは、画像形成部300の各構成要素を、それぞれ異なる一部の構成要素を複数の制御モジュールに分けて制御する情報処理装置である。本実施形態では、画像形成部300の各構成要素が、第1搬送モジュール302、第2搬送モジュール303、作像モジュール304、定着モジュール305の4つの制御モジュールに分けて制御される。各制御モジュールは、各々が自律的に、対応する構成要素の動作を制御する。画像形成部300は、4つの制御モジュールを統括して制御するためのマスタモジュール306を有する。
図3は、画像形成部300の動作を制御する制御システムの構成例示図である。制御システムは、画像形成部300の各構成要素を、それぞれ異なる一部の構成要素を複数の制御モジュールに分けて制御する情報処理装置である。本実施形態では、画像形成部300の各構成要素が、第1搬送モジュール302、第2搬送モジュール303、作像モジュール304、定着モジュール305の4つの制御モジュールに分けて制御される。各制御モジュールは、各々が自律的に、対応する構成要素の動作を制御する。画像形成部300は、4つの制御モジュールを統括して制御するためのマスタモジュール306を有する。
マスタモジュール306であるマスタ制御部301は、プリンタ制御I/F215を介してコントローラ460から送られる指示及び画像データに基づいて、画像形成装置1000の全体の動作制御を行う。画像形成を実行するための、第1搬送モジュール302、第2搬送モジュール303、作像モジュール304、及び定着モジュール305は、各制御モジュールの動作を制御するサブマスタ制御部310、320、330、340を備える。サブマスタ制御部310、320、330、340は、マスタ制御部301により制御される。各制御モジュールは、機能実現のための構成要素の動作制御を行うスレーブ制御部311〜314、321、322、331〜334、341、342を備える。スレーブ制御部311〜314は、サブマスタ制御部310により制御される。スレーブ制御部321、322は、サブマスタ制御部320により制御される。スレーブ制御部331〜334は、サブマスタ制御部330により制御される。スレーブ制御部341、342は、サブマスタ制御部340により制御される。スレーブ制御部311〜314、321、322、331〜334、341、342の各々は、ローラ駆動部、モータ、高電圧生成部等の、制御対象となる負荷が接続される。マスタ制御部301、サブマスタ制御部310、320、330、340、及びスレーブ制御部311〜314、321、322、331〜334、341、342の各々は、共通の発振器から供給されるクロック信号に基づいて、内部クロック信号を生成する。
マスタ制御部301と複数のサブマスタ制御部310、320、330、340とは、1対1接続(ピアツーピア接続)型のシリアル通信線150〜153を介して接続される。サブマスタ制御部310は、シリアル通信線160〜163を介して、複数のスレーブ制御部311〜314の各々に1対1接続される。サブマスタ制御部320は、シリアル通信線170、171を介して、スレーブ制御部321、322の各々に接続される。サブマスタ制御部330は、シリアル通信線380〜383を介して、スレーブ制御部331〜334の各々に接続される。サブマスタ制御部340は、シリアル通信線190、191を介して、スレーブ制御部341、342の各々に接続される。
マスタ制御部301とサブマスタ制御部310、320、330、340の各々との間の通信には、1以上のフレームで構成されるパケットが用いられる。サブマスタ制御部310とスレーブ制御部311〜314の各々との間の通信にもパケットが用いられる。サブマスタ制御部320とスレーブ制御部321、322との間の通信にもパケットが用いられる。サブマスタ制御部330とスレーブ制御部331〜334の各々との間の通信にもパケットが用いられる。サブマスタ制御部340とスレーブ制御部341、342との間の通信にもパケットが用いられる。
以下、作像モジュール304を例に詳細な構成及び動作を説明するが、他の各モジュールも同様な構成及び動作となる。
図4は、作像モジュール304の詳細な構成例示図である。主制御部としてのサブマスタ制御部330は、マイクロコンピュータ405を有する。マイクロコンピュータ405は、CPU401、RAM(Random Access Memory)402、ROM(Read Only Memory)403、通信I/F404a〜404d、及びリセット部407を備える。
図4は、作像モジュール304の詳細な構成例示図である。主制御部としてのサブマスタ制御部330は、マイクロコンピュータ405を有する。マイクロコンピュータ405は、CPU401、RAM(Random Access Memory)402、ROM(Read Only Memory)403、通信I/F404a〜404d、及びリセット部407を備える。
CPU401は、画像形成装置1000の機能の一つである作像に関わる動作及びシーケンスの制御を行う。RAM402は、CPU401の一時記憶領域として使われる。ROM403は、作像に関わる動作及びシーケンスの制御を行うためのプログラムと、マスタ制御部301及び副制御部としてのスレーブ制御部331〜334と通信するためのプログラムとを格納する。通信I/F404a〜404dは、シリアル通信線380〜384を介して、スレーブ制御部331〜334との間で1対1のシリアル通信を行う。通信I/F404a〜404dは、各スレーブ制御部331〜334との間で、同時に、異なる通信速度で通信可能である。リセット部407は、スレーブ制御部331〜334に対して動作のリセットを指示するリセット信号385を送信する。リセット信号385は、GPIO端子から出力される。
スレーブ制御部331は、露光部218Yに内蔵されるポリゴンミラー駆動モータ415の制御を行う。そのためにスレーブ制御部331は、CPU410、RAM411、ROM412、通信I/F413、及びGPIO端子419を有するマイクロコンピュータ417と、ACC/DEC制御部414と、BD(Beam Detect)センサ416とを備える。CPU410は、ポリゴンミラーの起動、所定の回転速度による回転、及び回転停止の回転制御を行う。RAM411は、CPU410の一時記憶領域として使われる。ROM412は、ポリゴンミラーの回転制御を行うためのプログラム及びサブマスタ制御部330と通信するためのプログラムを格納する。通信I/F413は、シリアル通信線380を介してサブマスタ制御部330との間で1対1のシリアル通信を行う。GPIO端子419は、信号481の論理がCPU410の指示に応じて反転する。
ACC/DEC制御部414は、ポリゴンミラー駆動モータ415を回転駆動する駆動部である。BDセンサ416は、露光部218Yに内蔵されており、ポリゴンミラーにより走査されたレーザの光路上に配置されて、レーザ光検知を行う。BDセンサ416は、レーザ光のAPC(Auto Power Control)時の参照光検知にも用いられる。ACC/DEC制御部414は、BDセンサ416が所定の周期でレーザ光を検知するように、ポリゴンミラー駆動モータ415の速度を制御する。ポリゴンミラー駆動モータ415は、ポリゴンミラーを回転させる。各露光部218M、218C、218Kに内蔵されるポリゴンミラーについても、同様に、図示しない他のスレーブ制御部で動作が制御される。
スレーブ制御部332は、感光体225Yを回転駆動するドラムモータ425の制御を行う。そのためにスレーブ制御部332は、CPU420、RAM421、ROM422、通信I/F423、及びGPIO端子429を有するマイクロコンピュータ427と、ドラムモータ駆動部424とを備える。CPU420は、感光体225Yを一定の速度で回転するように制御する。回転の開始と停止、及び回転速度は、複数の感光体225Y、225M、225C、225K、及び転写ベルト226と同期して制御される。RAM421は、CPU420の一時記憶領域として使われる。ROM422は、感光体225Yの駆動制御を行うためのプログラムと、サブマスタ制御部330と通信するためのプログラムとを格納する。通信I/F423は、シリアル通信線381を介して、サブマスタ制御部330との間で1対1のシリアル通信を行う。CPU420は、GPIO端子429を介して信号481の論理を検知する。ドラムモータ駆動部424は、ドラムモータ425を駆動する。ここでは図示しないが、感光体225M、225C、225Kの制御に関わるスレーブ制御部も同様の構成であり、感光体225Y、225M、225C、225Kが個別に回転制御される。
スレーブ制御部333は、ローラ227を回転駆動するローラ駆動モータ435を制御して、ローラ227、228、229に張架されている転写ベルト226の回転制御を行う。そのためにスレーブ制御部333は、CPU430、RAM431、ROM432、通信I/F433、及びGPIO端子439を有するマイクロコンピュータ437と、ローラ駆動部434とを備える。CPU430は、ローラ227を駆動して、転写ベルト226を、感光体225Y、225M、225C、225Kの回転駆動に同期するように予め定められた回転速度で制御する。スレーブ制御部332と同様に、回転の開始と停止、回転速度は、複数の感光体225Y、225M、225C、225Kと同期して制御される。RAM431は、CPU430の一時記憶領域として使われる。ROM432は、ローラ227の駆動制御、つまり転写ベルト226の回転制御を行うためのプログラムと、サブマスタ制御部330と通信するためのプログラムとを格納する。通信I/F433は、シリアル通信線382を介して、サブマスタ制御部330との間で1対1のシリアル通信を行う。GPIO端子439は、信号483の論理がCPU430の指示に応じて反転する。ローラ駆動部434は、転写ベルト226を所定速度で回転させるために、ローラ駆動モータ435を駆動する。
スレーブ制御部334は、一次帯電部221Yに高電圧を供給する昇圧コイル445の動作の制御を行う。そのためにスレーブ制御部334は、CPU440、RAM441、ROM442、通信I/F443、及びGPIO端子449を有するマイクロコンピュータ447と、高圧生成部444とを備える。CPU440は、感光体225Yの駆動と共に高電圧を生成し、一次帯電部221Yに感光体225Yの表面を帯電させる。RAM441は、CPU440の一時記憶領域として使われる。ROM442は、一次帯電部221Yの制御を行うためのプログラムと、サブマスタ制御部330と通信するためのプログラムとを格納する。通信I/F443は、シリアル通信線383を介して、サブマスタ制御部330との間で1対1のシリアル通信を行う。CPU440は、GPIO端子449を介して信号483の論理を検知する。高電圧生成部244は、昇圧コイル445にPWM信号を入力する。昇圧コイル445は、PWM信号に応じた高電圧を生成して、一次帯電部221Yに印加する。一次帯電部221M、221C、221Kについても、同様に、図示しない他のスレーブ制御部により印加される高電圧が制御される。
図5は、サブマスタ制御部330とスレーブ制御部331との接続関係の詳細な説明図である。サブマスタ制御部330とスレーブ制御部331とは、通信I/F404aと通信I/F413とによりシリアル通信を行う。サブマスタ制御部330は、他のスレーブ制御部332〜334との間でも、スレーブ制御部331と同様に接続され、シリアル通信を行う。通信I/F404aは、2線の調歩同期通信のマスタとなる。通信I/F413は、2線の調歩同期通信のスレーブとなる。通信I/F404aと通信I/F413とは、後述のパケットの送受信を行う。
通信I/F404aと通信I/F413とは、2線のシリアル通信線380a、380bで接続される。シリアル通信線380aは、通信I/F404aから通信I/F413へのパケットm2sの送信に用いられる。シリアル通信線380bは、通信I/F413から通信I/F404aへのパケットs2mの送信に用いられる。通信I/F413は、シリアル通信線380aを介してパケットm2sを受信すると、CPU410に対して割込信号418を通知する。通信I/F404aも同様に、シリアル通信線380bを介してパケットs2mを受信すると、CPU401に対して割込信号408を通知する。
図6は、パケットを構成するフレームの構成例示図、及びサブマスタ制御部330と各スレーブ制御部331〜334とのシリアル通信時のタイミングチャートである。サブマスタ制御部330と各スレーブ制御部331〜334とは、調歩同期通信を行う。
図6(a)は、パケットを構成するフレームの構成例示図である。1フレームは、1ビットのスタートビット(論理ロー)、8ビットのデータ部、1ビットのパリティビット(奇数パリティ)、及び1ビットのストップビット(論理ロー)の11ビットのビット列で構成される。サブマスタ制御部330とスレーブ制御部331との相互通信は、1以上のフレームで構成されるパケットの送受信により行われる。
図6(b)は、シリアル通信線380a、380bを用いて、サブマスタ制御部330とスレーブ制御部331とがパケットの交換を行う際のタイミングチャートの一例を示す。この例は、サブマスタ制御部330がスレーブ制御部331にポリゴンミラー駆動モータ415の回転を指示する場合の例である。
CPU401は、通信I/F404aを介して、シリアル通信線380aに、図6(a)のフォーマットに従ったフレームを含むパケット転送することで通信を開始する。本例では、CPU401は、3つのフレーム(フレーム1〜フレーム3)からなるパケットm2sにより、スレーブ制御部331に指示を送る。フレーム1は、モータの回転を指示するためのコマンドである。フレーム2は、回転速度を指定するパラメータである。フレーム3は、通信エラー検知のためのCRC(Cyclic Redundancy Check)である。
通信I/F413は、シリアル通信線380aを介して転送されるパケットm2sを受信すると、CPU410に、割込信号418とともに受信したパケットm2sを送信する。CPU410は、受信したパケットm2sに応じた応答を、通信I/F413に指示する。この例では、モータの回転を指示するコマンド(フレーム1)を受信したことに対する応答(フレーム4)を含むパケットs2mを送信する。
このようにサブマスタ制御部330は、通信I/F404aにより、シリアル通信線380aを介して命令パケット(パケットm2ss)を送信する。スレーブ制御部331は、シリアル通信線380bを介して、当該命令パケットに応じた応答パケット(パケットs2m)を転送することで受信状態をサブマスタ制御部330へ通知する。
図7は、命令パケットと応答パケットとの組み合わせの例示図である。図7では、Write命令(書込命令)、read命令(読取命令)、及びSlave動作確認命令について説明する。
図7(a)は、指定した番地への指定したデータの書き込む場合のパケットを構成するフレームを示す。命令パケットは、6フレームで構成される。応答パケットは1フレームで構成される。サブマスタ制御部330のCPU401は、命令パケットとして、Write命令(16進数で20、以降16進数の表記には「0x」を記載)、書き込みたいアドレスの上位、下位、書き込みたいデータの上位、下位、を順次フレームとして送信する。その後、CPU401は、フレーム1〜5を加算した結果の下位8ビットをチェックサム(フレーム6)として送信する。
スレーブ制御部331のCPU410は、受信した命令パケットのフレーム1からWrite命令を判断し、受信した命令パケットのフレーム1〜5からチェックサムを算出し、命令パケットのフレーム6と一致するかを確認する。CPU410は、算出したチェックサムがフレーム6と一致する場合、応答パケットとしてAcknowledge(0x02)を送信する。また、CPU410は、命令パケットで指定された番地に、指定されたデータ(値)の書き込み動作を行う。
図7(b)は、指定した番地の値を読み出したい場合のパケットを構成するフレームを示す。命令パケットは、4フレームで構成される。応答パケットも4フレームで構成される。サブマスタ制御部330のCPU401は、命令パケットとして、Read命令(0x30)、読み取りたいアドレスの上位、下位、を順次フレームとして送信する。その後、CPU401は、フレーム1〜3を加算した結果の下位8ビットをチェックサム(フレーム4)として送信する。
スレーブ制御部331のCPU410は、受信した命令パケットのフレーム1からRead命令を判断し、受信した命令パケットのフレーム1〜3からチェックサムを算出し、命令パケットのフレーム4と一致するかを確認する。CPU410は、算出したチェックサムがフレーム4と一致する場合、応答パケットとしてAcknowledge(0x03)を送信する。また、CPU410は、順次Read値(上位、Read値(下位)を送信し、応答パケットのフレーム1〜3を加算した結果の下位8ビットをチェックサム(フレーム4)として送信する。
サブマスタ制御部330のCPU401は、応答パケットを受信すると応答パケットのフレーム2、3からRead値を確認する。
サブマスタ制御部330のCPU401は、応答パケットを受信すると応答パケットのフレーム2、3からRead値を確認する。
図7(c)は、スレーブ制御部331の動作確認(Slave動作確認)を行う際のパケットを構成するフレームを示す。命令パケットは、1フレームで構成される。応答パケットも1フレームで構成される。 サブマスタ制御部330のCPU401は、命令パケットとしてSlave動作確認命令(0x99)を送信する。スレーブ制御部331のCPU410は、受信した命令パケットのフレーム1からSlave動作確認命令を判断し、応答パケットとしてAcknowledgeパケット(0x99)を送信する。このような命令パケット及び応答パケットの送受信により、Slave動作確認が行われる。
(スレーブ制御部の動作確認)
図8は、Slave動作確認の説明図である。図8のSlave動作確認では、サブマスタ制御部330が、スレーブ制御部331、332に対して、暴走などの誤動作を起こしていないかを監視する。ここでは、サブマスタ制御部330に搭載されるCPU401が、スレーブ制御部331、332にそれぞれ搭載されているCPU410、420の正常動作を確認する。図8は、CPU410、420が正常に動作しており、監視動作が正常に行われた場合のシーケンスを表す。
図8は、Slave動作確認の説明図である。図8のSlave動作確認では、サブマスタ制御部330が、スレーブ制御部331、332に対して、暴走などの誤動作を起こしていないかを監視する。ここでは、サブマスタ制御部330に搭載されるCPU401が、スレーブ制御部331、332にそれぞれ搭載されているCPU410、420の正常動作を確認する。図8は、CPU410、420が正常に動作しており、監視動作が正常に行われた場合のシーケンスを表す。
CPU401は、通信I/F404bに対してWrite命令送信指示を行う(S801)。CPU401は、図7(a)に示すフォーマットで、0xFFFF番地に0x0000を書き込むWrite命令の送信指示を行う。通信I/F404bは、送信指示を受け付けると、Write命令をシリアル変換した命令パケットを送信する(S802)。
スレーブ制御部332の通信I/F423は、命令パケットを受信して、スレーブ制御部332のCPU420に割込信号を通知し、割り込みを発生させる(S803)。CPU420は、割込信号を受信すると、受信した命令パケットを解釈して(S804)、命令に従いRAM421の0xFFFF番地に0x0000を書き込む(S805)。RAM421の0xFFFF番地の値は、スレーブ制御部332の動作状態を表す状態変数値となる。書き込みを終了したCPU420は、通信I/F423に対して図7(a)に示すフォーマットでAcknowledgeの送信指示を行う(S806)。通信I/F423は、送信指示を受け付けると、通信I/F404bへAcknowledgeをシリアル変換した応答パケットを送信する(S807)。
サブマスタ制御部330の通信I/F404bは、応答パケットを受信して、サブマスタ制御部330のCPU401に割込信号を通知し、割り込みを発生させる(S808)。CPU401は、割込信号によりWrite命令が正常に終了したことを確認する。
S801〜S808までの動作は、Slave動作確認の初期動作として画像形成装置1000の電源投入時に必ず1度行われる。
スレーブ制御部332の通信I/F423は、命令パケットを受信して、スレーブ制御部332のCPU420に割込信号を通知し、割り込みを発生させる(S803)。CPU420は、割込信号を受信すると、受信した命令パケットを解釈して(S804)、命令に従いRAM421の0xFFFF番地に0x0000を書き込む(S805)。RAM421の0xFFFF番地の値は、スレーブ制御部332の動作状態を表す状態変数値となる。書き込みを終了したCPU420は、通信I/F423に対して図7(a)に示すフォーマットでAcknowledgeの送信指示を行う(S806)。通信I/F423は、送信指示を受け付けると、通信I/F404bへAcknowledgeをシリアル変換した応答パケットを送信する(S807)。
サブマスタ制御部330の通信I/F404bは、応答パケットを受信して、サブマスタ制御部330のCPU401に割込信号を通知し、割り込みを発生させる(S808)。CPU401は、割込信号によりWrite命令が正常に終了したことを確認する。
S801〜S808までの動作は、Slave動作確認の初期動作として画像形成装置1000の電源投入時に必ず1度行われる。
初期動作後、サブマスタ制御部330のCPU401は、通信I/F404aに対してSlave動作確認命令送信指示を行う(S810)。通信I/F404aは、送信指示を受け付けると、スレーブ制御部331の通信I/F413へSlave動作確認命令をシリアル変換した命令パケットを送信する(S811)。
スレーブ制御部331の通信I/F413は、命令パケットを受信して、スレーブ制御部331のCPU410に割込信号を通知し、割り込みを発生させる(S812)。CPU410は、割込信号を受信すると、受信した命令パケットを解釈する(S813)。CPU410は、命令パケットを解釈して動作確認を行った後に、通信I/F413に対してSlave動作確認命令を正常に受信したことを知らせるAcknowledgeの送信指示を行う(S814)。通信I/F413は、送信指示を受け付けると、通信I/F404aへAcknowledgeをシリアル変換した応答パケットを送信する(S815)。
サブマスタ制御部330の通信I/F404aは、応答パケットを受信して、サブマスタ制御部330のCPU401に割込信号を通知し、割り込みを発生させる(S816)。
スレーブ制御部331の通信I/F413は、命令パケットを受信して、スレーブ制御部331のCPU410に割込信号を通知し、割り込みを発生させる(S812)。CPU410は、割込信号を受信すると、受信した命令パケットを解釈する(S813)。CPU410は、命令パケットを解釈して動作確認を行った後に、通信I/F413に対してSlave動作確認命令を正常に受信したことを知らせるAcknowledgeの送信指示を行う(S814)。通信I/F413は、送信指示を受け付けると、通信I/F404aへAcknowledgeをシリアル変換した応答パケットを送信する(S815)。
サブマスタ制御部330の通信I/F404aは、応答パケットを受信して、サブマスタ制御部330のCPU401に割込信号を通知し、割り込みを発生させる(S816)。
スレーブ制御部331のCPU410は、S814の処理でAcknowledge送信指示を行う際に、GPIO端子419の信号481の論理を反転する指示を行う(S817)。これにより信号481は、論理が反転する(S818)。信号481は、反転することでスレーブ制御部331がSlave動作確認命令を受信したことをスレーブ制御部332に通知する。スレーブ制御部331のGPIO端子419は、信号481を送信する信号線によりスレーブ制御部332のGPIO端子419に接続される。
スレーブ制御部332のCPU420は、GPIO端子429を介して信号481を定期的に監視している。CPU420は、信号481の論理反転を確認した場合(S819)、RAM421の0xFFFF番地を読み出し(S820)、読み出した値に「1」を加算して、RAM421の0xFFFF番地に加算結果を書き込む(S821)。これにより、信号481の反転に応じてRAM421の0xFFFF番地の値が「1」インクリメントされる。つまりスレーブ制御部332が正常に動作し、信号481の論理が反転するたびに、状態変数値が更新されることになる。
スレーブ制御部332のCPU420は、GPIO端子429を介して信号481を定期的に監視している。CPU420は、信号481の論理反転を確認した場合(S819)、RAM421の0xFFFF番地を読み出し(S820)、読み出した値に「1」を加算して、RAM421の0xFFFF番地に加算結果を書き込む(S821)。これにより、信号481の反転に応じてRAM421の0xFFFF番地の値が「1」インクリメントされる。つまりスレーブ制御部332が正常に動作し、信号481の論理が反転するたびに、状態変数値が更新されることになる。
サブマスタ制御部330のCPU401は、Slave動作確認命令に従ってCPU420がRAM421番地の0xFFFF番地の値を1インクリメントしたと推定されるタイミングで、通信I/F404bに対してRead命令送信指示を行う(S830)。通信I/F404bは、送信指示を受け付けると、スレーブ制御部332の通信I/F423へRead命令をシリアル変換した命令パケットを送信する(S831)。このRead命令送信指示は、サブマスタ制御部330が任意のタイミングで送信する。そのために、サブマスタ制御部330の処理負荷が大きい場合等には、Read命令送信指示の送信タイミングが、処理負荷が小さくなるまで待機されることもある。
スレーブ制御部332の通信I/F423は、命令パケットを受信して、スレーブ制御部332のCPU420に割込信号を通知し、割り込みを発生させる(S832)。CPU420は、受信した命令パケットを解釈して(S833)、命令に従いRAM421の0xFFFF番地の値を読み出す(S834)。CPU420は、通信I/F423に対して、読み出した値を含むAcknowledgeの送信指示を行う(S835)。通信I/F423は、送信指示を受け付けると、通信I/F404bへAcknowledgeをシリアル変換した応答パケットを送信する(S836)。
スレーブ制御部332の通信I/F423は、命令パケットを受信して、スレーブ制御部332のCPU420に割込信号を通知し、割り込みを発生させる(S832)。CPU420は、受信した命令パケットを解釈して(S833)、命令に従いRAM421の0xFFFF番地の値を読み出す(S834)。CPU420は、通信I/F423に対して、読み出した値を含むAcknowledgeの送信指示を行う(S835)。通信I/F423は、送信指示を受け付けると、通信I/F404bへAcknowledgeをシリアル変換した応答パケットを送信する(S836)。
サブマスタ制御部330の通信I/F404bは、この応答パケットを受信して、サブマスタ制御部330のCPU401に割込信号を通知し、割り込みを発生させる(S837)。CPU401は、割込信号を受信すると0xFFFF番地の読取値がSlave動作確認命令を指示する前に対して1インクリメントした値であるかを確認する(S838)。ここで1インクリメントした値である場合、CPU401は、スレーブ動作確認命令に応じてCPU410、CPU420の両方が正常に動作していると判断して、Slave動作確認処理を終了する。このようにしてスレーブ動作を行うCPU410、CPU420が両方協調して命令が実行できているかを確認することで、サブマスタ制御部330は、スレーブ制御部331、332の暴走を監視することが可能である。スレーブ制御部331、332のいずれか一方が暴走する場合に、サブマスタ制御部330はスレーブ制御部331〜334をリセットさせる。
図9〜図14は、サブマスタ制御部330がスレーブ制御部331、332の動作を確認する処理を表すフローチャートである。図9〜図11は、サブマスタ制御部330の処理である。図12は、スレーブ制御部331の処理である。図13、図14は、スレーブ制御部332の処理である。
図9は、サブマスタ制御部330によるSlave動作確認の初期動作のフローチャートである。この処理は、図8のS801、S808の処理に対応する。この処理は、画像形成装置1000に電源が投入され、サブマスタ制御部330と各スレーブ制御部331〜334とが通信可能な状態となったときに、一度実行される。
サブマスタ制御部330のCPU401は、スレーブ制御部332のRAM421の0xFFFF番地の値を初期化するために、0xFFFF番地に0x0000を書き込むWrite命令を発行する(S901)。これによりWrite命令の命令パケットが、サブマスタ制御部330の通信I/F404bから、通信I/F423を介してスレーブ制御部332のCPU420へ命令が伝達される。Write命令の命令パケットを受信したスレーブ制御部332の処理については後述する。
サブマスタ制御部330のCPU401は、命令パケットの送信から所定時間、該命令パケットに対するAcknowledgeを待機する(S902)。所定時間内にAcknowledgeを受信しない場合(S902:N)、CPU401は、通信が正常に確立できていないか、或いはスレーブ制御部332が暴走状態にありAcknowledgeを返せないものと判断する。この場合、CPU401は、エラー処理を行う(S903)。所定時間内にAcknowledgeを受信した場合(S902:Y)、CPU401は、サブマスタ制御部330のRAM402の0xFFFF番地に0x0000を書き込む(S904)。これによりサブマスタ制御部330は、RAM402の0xFFFF番地の値を、スレーブ制御部332のRAM421の0xFFFF番地の値と同値にする。つまりサブマスタ制御部330は、初期化されたスレーブ制御部332の状態変数値と同値を保存する。以上により、Slave動作確認の初期動作が終了する。
図10は、S903のエラー処理を表すフローチャートである。この処理は、所定時間内にAcknowledgeを受信しない場合の処理である。そのためにサブマスタ制御部330のCPU401は、スレーブ制御部332に異常が発生したと判断してこの処理を行うことになる。サブマスタ制御部330のCPU401は、スレーブ制御部332にリセットを指示する。CPU401は、リセット部407を介して、リセット信号385をアサートさせ、各スレーブ制御部331〜334にリセットをかける(S1001)。これによりCPU401は、制御対象の動作を停止して、エラー処理を終了する。各スレーブ制御部331〜334は、リセット信号385に応じて所定のリセット動作を行うことになる。
図11は、サブマスタ制御部330によるSlave動作確認のフローチャートである。この処理は、図8のS810、S816、S830、S837、S838の処理に対応し、図9の初期動作処理後に行われる。サブマスタ制御部330は、この処理を定期的に行うことで、定期的にスレーブ制御部331、332の動作確認を行う。
サブマスタ制御部330のCPU401は、スレーブ制御部331に対するSlave動作命令を発行する(S1101)。CPU401は、通信I/F404a及びスレーブ制御部331の通信I/F413を介して、スレーブ制御部331のCPU410へSlave動作確認命令の命令パケットを送信する。この命令パケットを受信したCPU410の処理については後述する。
サブマスタ制御部330のCPU401は、命令パケットの送信から所定時間、該命令パケットに対するAcknowledgeを待機する(S1102)。スレーブ制御部331のCPU410は、正常に通信及び動作ができた場合に、Slave動作命令に対するAcknowledgeを返信する。所定時間内にAcknowledgeを受信しない場合(S1102:N)、CPU401は、通信が正常に確立できていないか、或いはスレーブ制御部331が暴走状態にありAcknowledgeを返せないものと判断する。この場合、CPU401は、図10に示すエラー処理を行う(S903)。
所定時間内にAcknowledgeを受信した場合(S1102:Y)、CPU401は、Acknowledge受信後に所定時間待機する。この待機時間は、スレーブ制御部331及びスレーブ制御部332がSlave動作確認に対する応答処理を全て終える時間以上である。
サブマスタ制御部330のCPU401は、待機時間が経過すると、スレーブ制御部332のRAM421の0xFFFF番地へのRead命令を発行する(S1104)。これにより、通信I/F404b及び通信I/F423を介して、スレーブ制御部332のCPU420にRead命令の命令パケットが伝達される。サブマスタ制御部330のCPU401は、この命令パケットの送信から所定時間、該命令パケットに対するAcknowledgeを待機する(S1105)。所定時間内にAcknowledgeを受信しない場合(S1105:N)、CPU401は、通信が正常に確立できていないか、或いはスレーブ制御部332が暴走状態にありAcknowledgeを返せないものと判断する。この場合、CPU401は、図10に示すエラー処理を行う(S903)。
所定時間内にAcknowledgeを受信した場合(S1105:Y)、CPU401は、Read命令に応じてスレーブ制御部332が読み取った値(RAM421の0xFFFF番地に書き込まれている値)を確認する。ここでは、CPU401は、この値(状態変数値)が、Slave動作確認命令を発行する前と発行後で1インクリメントしているかを確認する。確認方法は、S1105で取得したAcknowledgeに含まれる値と、サブマスタ制御部330のRAM402の0xFFFF番地の値とを比較することで行われる。Acknowledgeに含まれる値がRAM402の0xFFFF番地の値より1大きい場合、Acknowledgeに含まれる値が、Slave動作確認命令を発行する前と発行後で1インクリメントしていると判断される。
1インクリメントしていない場合(S1106:N)、CPU401は、Slave動作確認命令がうまく動作しておらず、スレーブ動作を担うスレーブ制御部331及びスレーブ制御部332の少なくとも一方が暴走していると判断する。この場合、CPU401は、図10に示すエラー処理(S903)を実行する。1インクリメントされている場合(S1106:Y)、CPU401は、スレーブ動作を担うスレーブ制御部331及びスレーブ制御部332が正常に動作していると判断する。この場合、CPU401は、RAM402の0xFFFF番地の値を1インクリメントする(S1107)。これによりサブマスタ制御部330は、RAM402の0xFFFF番地の値を、スレーブ制御部332のRAM421の0xFFFF番地の値と同値に更新する。つまりサブマスタ制御部330は、更新されたスレーブ制御部332の状態変数値と同値を保存する。以上により、Slave動作確認が終了する。
図12は、スレーブ制御部331によるサブマスタ制御部330からの命令パケットに対する応答処理を表すフローチャートである。この処理は、図8のS812〜S814、S817、S818の処理に対応する。スレーブ制御部331は、図12の処理を繰り返し実行することでサブマスタ制御部330からの命令パケットに応じた処理を行う。
スレーブ制御部331のCPU410は、通信I/F413がサブマスタ制御部330から命令パケットを受信することで通知する割込信号の有無を判断する(S1201)。割込信号の通知が有る場合(S1201:Y)、CPU410は、通信I/F413が受信した命令パケットを取得する(S1202)。CPU410は、取得した命令パケットがSlave動作確認命令であるか否かを判断する(S1203)。Slave動作確認命令の命令パケットは、図11のS1101の処理でサブマスタ制御部330から送信される。命令パケットがSlave動作確認命令ではない場合(S1203:N)、CPU410は、該命令パケットに応じたSlave動作確認命令以外の処理を行う(S1204)。本実施形態ではSlave動作確認命令以外の処理は関係がないために、説明は省略する。処理が終わると、命令パケットに対する応答処理は終了する。
取得した命令パケットがSlave動作確認命令である場合(S1203:Y)、CPU410は、自身の動作確認を行った後に、通信I/F413を介してサブマスタ制御部330へAcknowledgeの応答パケットを送信する(S1205)。CPU410は、通信I/F413へAcknowledgeの送信を指示する。Acknowledgeの応答パケットの送信後、CPU410は、信号481の論理を現状出力している値から反転する(S1206)。信号481は、別のスレーブ制御部332へSlave動作確認命令を受信したことを示す信号である。以上により、サブマスタ制御部330からの命令パケットに対する応答処理が終了する。
図13は、スレーブ制御部332によるサブマスタ制御部330からの命令パケットに対する応答処理を表すフローチャートである。この処理は、図8のS803〜S806、S832〜S835の処理に対応する。スレーブ制御部332は、図13の処理を繰り返し実行することでサブマスタ制御部330からの命令パケットに応じた処理を行う。
スレーブ制御部332のCPU420は、通信I/F423がサブマスタ制御部330から命令パケットを受信することで通知する割込信号の有無を判断する(S1301)。割込信号の通知が有る場合(S1301:Y)、CPU420は、通信I/F423が受信した命令パケットを取得する(S1302)。CPU420は、取得した命令パケットがWrite命令であるか否かを判断する(S1303)。Write命令の命令パケットは、図9のS901の処理でサブマスタ制御部330から送信される。
命令パケットがWrite命令ではない場合(S1303:N)、CPU420は、取得した命令パケットがRead命令であるか否かを判断する(S1304)。Read命令の命令パケットは、図11のS1104の処理でサブマスタ制御部330から送信される。命令パケットがRead命令ではない場合(S1304:N)、CPU420は、該命令パケットに応じたWrite命令及びRead命令以外の処理を行う(S1305)。本実施形態ではWrite命令及びRead命令以外の処理は関係がないために、説明は省略する。処理が終わると、命令パケットに対する応答処理は終了する。
命令パケットがWrite命令ではない場合(S1303:N)、CPU420は、取得した命令パケットがRead命令であるか否かを判断する(S1304)。Read命令の命令パケットは、図11のS1104の処理でサブマスタ制御部330から送信される。命令パケットがRead命令ではない場合(S1304:N)、CPU420は、該命令パケットに応じたWrite命令及びRead命令以外の処理を行う(S1305)。本実施形態ではWrite命令及びRead命令以外の処理は関係がないために、説明は省略する。処理が終わると、命令パケットに対する応答処理は終了する。
取得した命令パケットがWrite命令である場合(S1303:Y)、CPU420は、命令に応じて指定された番地に指定された値を書き込む(S1306)。命令実行後にCPU420は、通信I/F423を介してサブマスタ制御部330へWrite命令に対するAcknowledgeの応答パケットを送信する(S1307)。スレーブ制御部332は、Acknowledgeの応答パケットをサブマスタ制御部330へ送信することで、命令を実行したことを通知する。そのため、CPU420は、通信I/F413へWrite命令に対するAcknowledgeの送信を指示する。
取得した命令パケットがRead命令である場合(S1304:Y)、CPU420は、命令に応じて指定された番地の値を読み出す(S1308)。命令実行後にCPU420は、通信I/F423を介してサブマスタ制御部330へRead命令に対するAcknowledgeの応答パケットを送信する(S1309)。Read命令に対するAcknowledgeの応答パケットには、S1308の処理で読み出した値が含まれる。スレーブ制御部332は、Acknowledgeの応答パケットをサブマスタ制御部330へ送信することで、命令を実行したことを通知する。そのため、CPU420は、通信I/F413へWrite命令に対するAcknowledgeの送信指示を送る。
図13は、スレーブ制御部332によるSlave動作確認時の処理を表すフローチャートである。この処理は、図8のS819〜S821の処理に対応する。
スレーブ制御部332のCPU420は、信号481の値(論理)の反転を一定時間間隔で判断する(S1401、S1402:N)。信号481の値(論理)が反転した場合(S1402:Y)、CPU420は、RAM421の0xFFFF番地の値を読み出す(S1403)。CPU420は、読み出した値に1インクリメントする(S1404)。CPU420は、インクリメントした値をRAM421の0xFFFF番地に書き込み(S1405)、処理を終了する。
上記では、スレーブ制御部331及びスレーブ制御部332を1つのグループとして動作の監視を行う構成を説明したが、スレーブ制御部333、334を該グループに含めてもよい。この場合、スレーブ制御部333、334は、Slave動作確認時にスレーブ制御部332と同様の処理を行うことになる。即ちスレーブ制御部333、334は、信号481の値に応じた処理を行う。このように動作の監視対象となる1つのグループのスレーブ制御部の数は、3以上であってもよい。
また、上記の説明では、サブマスタ制御部330からの命令に応じてスレーブ制御部331〜334が正常動作の確認を行う。これは、そのままマスタ制御部301とサブマスタ制御部310〜340との関係に用いることができる。すなわち、マスタ制御部301からの命令に応じて、サブマスタ制御部310〜340が自身の正常動作の確認を行ってもよい。
また、上記の説明では、サブマスタ制御部330からの命令に応じてスレーブ制御部331〜334が正常動作の確認を行う。これは、そのままマスタ制御部301とサブマスタ制御部310〜340との関係に用いることができる。すなわち、マスタ制御部301からの命令に応じて、サブマスタ制御部310〜340が自身の正常動作の確認を行ってもよい。
このように本実施形態では、マスタ側の制御部が、スレーブ側の制御部が正常に動作しているかを確認する命令をスレーブ側の制御部に指示する。スレーブ側の制御部は、該命令に応じた処理を行う。マスタ側の制御部は、その処理結果を確認することですべてのスレーブ側の制御部が正常に動作しているかを確認することができる。そのためにマスタ側の制御部は、スレーブ側の制御部の確認処理の負荷を軽減することができる。
また、マスタ側の制御部は、スレーブ側の制御部が正常に動作をしているかの応答結果を任意のタイミングで取得する。そのためにマスタ側の制御部は、別の処理で負荷がかかっているときには、応答結果の取得タイミングを遅らせることができる。マスタ側の制御部は、スレーブ側の制御部のリセットを、異常と判断したタイミングで行うことができるため、処理負荷を分散することができる。
また、マスタ側の制御部は、スレーブ側の制御部が正常に動作をしているかの応答結果を任意のタイミングで取得する。そのためにマスタ側の制御部は、別の処理で負荷がかかっているときには、応答結果の取得タイミングを遅らせることができる。マスタ側の制御部は、スレーブ側の制御部のリセットを、異常と判断したタイミングで行うことができるため、処理負荷を分散することができる。
Claims (10)
- 装置の第1の構成要素の動作を制御する第1スレーブ制御手段と、
前記装置の第2の構成要素の動作を制御する第2スレーブ制御手段と、
前記第1スレーブ制御手段及び前記第2スレーブ制御手段の動作を制御するマスタ制御手段と、を備え、
前記マスタ制御手段は、前記第1スレーブ制御手段に対して動作確認を行わせるための動作確認命令を送信し、
前記第1スレーブ制御手段は、前記動作確認命令を受信した後に、前記第2スレーブ制御手段に対して前記動作確認命令を受信したことを通知し、
前記第2スレーブ制御手段は、前記第1スレーブ制御手段から前記通知を受信すると、動作状態を表す状態変数値を更新し、
前記マスタ制御手段は、前記状態変数値の読み取りを指示し、
前記第2スレーブ制御手段は、前記マスタ制御手段から前記状態変数値の読み取りの指示を受信すると、前記更新した状態変数値を返信し、
前記マスタ制御手段は、前記更新した状態変数値に基づき、前記第1スレーブ制御手段及び前記第2スレーブ制御手段に対してリセットを行うことを特徴とする、
情報処理装置。 - 前記第1スレーブ制御手段は、前記マスタ制御手段へ前記動作確認命令に対する応答を送信するとともに、前記第2スレーブ制御手段に対して前記動作確認命令を受信したことを通知し、
前記マスタ制御手段は、前記第1スレーブ制御手段からの前記通知を受信した後に、前記状態変数値の読み取りを指示することを特徴とする、
請求項1記載の情報処理装置。 - 画像形成のための一部の構成要素の動作を制御する第1スレーブ制御手段と、
画像形成のための他の一部の構成要素の動作を制御する第2スレーブ制御手段と、
前記第1スレーブ制御手段及び前記第2スレーブ制御手段の動作を制御するマスタ制御手段と、を備え、
前記マスタ制御手段は、前記第1スレーブ制御手段に対して動作確認を行わせるための動作確認命令を送信し、
前記第1スレーブ制御手段は、前記動作確認命令に応じて動作確認を行い、前記マスタ制御手段へ前記動作確認命令に対する第1応答を送信するとともに、前記第2スレーブ制御手段に対して前記動作確認命令を受信したことを通知し、
前記第2スレーブ制御手段は、前記第1スレーブ制御手段から前記動作確認命令を受信したことの前記通知を受信すると、動作状態を表す状態変数値を更新し、前記マスタ制御手段からの読取命令に応じて、前記状態変数値を含む第2応答を前記マスタ制御手段へ送信することを特徴とする、
画像形成装置。 - 前記マスタ制御手段は、前記動作確認命令を前記第1スレーブ制御手段へ送信する前の前記第2スレーブ制御手段の第1状態変数値を保存しており、前記第2応答に含まれる第2状態変数値を前記第2スレーブ制御手段から取得して、前記第1状態変数値と前記第2状態変数値との比較により、前記第2スレーブ制御手段の動作確認を行うことを特徴とする、
請求項3記載の画像形成装置。 - 前記マスタ制御手段は、前記第2スレーブ制御手段が正常に動作している場合に、前記第1状態変数値を前記第2状態変数値に更新することを特徴とする、
請求項4記載の画像形成装置。 - 前記マスタ制御手段は、電源投入時に前記第2スレーブ制御手段に前記状態変数値を初期化させるとともに、自身で保存する状態変数値を初期化することを特徴とする、
請求項3〜5のいずれか1項記載の画像形成装置。 - 前記マスタ制御手段は、前記第1スレーブ制御手段から前記動作確認命令に対する前記第1応答を所定時間内に受信しない場合に前記第1スレーブ制御手段が暴走していると判断し、前記第2スレーブ制御手段から前記読取命令に対する前記第2応答を所定時間内に受信しない場合或いは前記第2応答に含まれる前記状態変数値と自身で保存する状態変数値との比較の結果に応じて前記第2スレーブ制御手段が暴走していると判断することを特徴とする、
請求項3〜6のいずれか1項記載の画像形成装置。 - 前記マスタ制御手段は、前記第1スレーブ制御手段と前記第2スレーブ制御手段とのいずれか一方が暴走する場合に、前記第1スレーブ制御手段と前記第2スレーブ制御手段とをリセットさせることを特徴とする、
請求項7記載の画像形成装置。 - 前記第1スレーブ制御手段は、前記動作確認命令を受信したことを表す信号の論理を、前記動作確認命令の受信に応じて反転し、
前記第2スレーブ制御手段は、前記信号の論理の反転を確認すると、前記状態変数値を更新することを特徴とする、
請求項3〜8のいずれか1項記載の画像形成装置。 - 前記第2スレーブ制御手段は、前記信号の論理の反転を一定時間間隔で判断することを特徴とする、
請求項9記載の画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017174762A JP2019049933A (ja) | 2017-09-12 | 2017-09-12 | 情報処理装置および画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017174762A JP2019049933A (ja) | 2017-09-12 | 2017-09-12 | 情報処理装置および画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019049933A true JP2019049933A (ja) | 2019-03-28 |
Family
ID=65906330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017174762A Pending JP2019049933A (ja) | 2017-09-12 | 2017-09-12 | 情報処理装置および画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019049933A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021047667A (ja) * | 2019-09-19 | 2021-03-25 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、データ整合性判定方法 |
JP2021047668A (ja) * | 2019-09-19 | 2021-03-25 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、データ通信方法 |
-
2017
- 2017-09-12 JP JP2017174762A patent/JP2019049933A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021047667A (ja) * | 2019-09-19 | 2021-03-25 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、データ整合性判定方法 |
JP2021047668A (ja) * | 2019-09-19 | 2021-03-25 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、データ通信方法 |
JP7327029B2 (ja) | 2019-09-19 | 2023-08-16 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、データ通信方法 |
JP7419715B2 (ja) | 2019-09-19 | 2024-01-23 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、データ整合性判定方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5460084B2 (ja) | 画像形成装置 | |
JP2011107845A (ja) | 電子機器の通信システム | |
US8892932B2 (en) | Image forming apparatus and control apparatus | |
JP2019049933A (ja) | 情報処理装置および画像形成装置 | |
JP6039276B2 (ja) | 画像形成装置 | |
JP2006330698A (ja) | 画像形成システム及びその制御方法並びに画像形成装置の制御装置 | |
JP7363387B2 (ja) | 画像形成装置、プログラム | |
US9555994B2 (en) | Image forming apparatus, method of controlling the same, and storage medium | |
JP7363386B2 (ja) | 画像形成装置、プログラム | |
JP2011065141A (ja) | 画像形成装置及び制御装置 | |
JP2006225108A (ja) | 画像形成装置およびデータ通信方法 | |
JP6004806B2 (ja) | 情報処理システム | |
JP2014016730A (ja) | バス調停装置、バス調停方法、及びコンピュータプログラム | |
JP2019012298A (ja) | 電子機器 | |
JP6671970B2 (ja) | 画像形成装置 | |
JP2005014595A (ja) | 画像形成装置およびその制御方法 | |
JP6739199B2 (ja) | 欠歯ギア機構の制御装置及び画像形成装置 | |
JP6949682B2 (ja) | 画像形成装置 | |
JP2017011455A (ja) | 画像形成装置、通信装置、及び通信制御方法 | |
JP2021096341A (ja) | モータ制御装置、モータ制御方法、及び画像形成装置 | |
JP2007049470A (ja) | 機能モジュール、及び該機能モジュールを備える情報処理装置 | |
JP5766231B2 (ja) | 画像形成装置 | |
JP2014044558A (ja) | 分散制御システム、制御装置 | |
JP2023081685A (ja) | 画像形成装置 | |
JP2010256566A (ja) | 画像形成装置 |