(57)【要約】【課題】駆動開始条件が満足されたモータの駆動制御を迅速に開始可能とする。【解決手段】画像形成装置のＣＰＵは、モータ制御タスクＫ１及びスケジュール管理タスクＫ３の実行により、印刷指令に基づく用紙への画像形成動作を、複数のモータの駆動制御により実現する。具体的に、モータ制御タスクＫ１は、スケジュール管理タスクＫ３により設定された駆動開始条件の満足されたモータの駆動制御を開始する。この際、モータ制御タスクＫ１は、入力インタフェースを介してハードウェア信号を直接取得し、この取得信号に基づき、駆動開始条件が満足されたか否かを判断する。一方、スケジュール管理タスクＫ３は、印刷指令に対応する画像形成処理を実現するために必要な各モータの動作スケジュールを生成し、この動作スケジュールに従って、順次、駆動すべきモータの駆動開始条件及び制御パラメータを、モータ制御タスクＫ１に対して設定する。【選択図】図６
2012080641.tif 000002
【特許請求の範囲】
【請求項１】
複数のモータの駆動制御を行う電子機器であって、
前記モータ毎に、前記電子機器が備えるハードウェアの動作状態を検知する検知器から取得した前記検知器の出力信号に基づき、該当するモータの駆動開始条件が満足されたか否かを判断し、前記駆動開始条件が満足された前記モータの駆動制御を開始する制御手段と、
実行対象の処理に対応した前記複数のモータの動作スケジュールを生成し、前記生成した動作スケジュールに従って、前記モータ毎の前記駆動開始条件を、前記制御手段に対して設定する管理手段と、
を備えることを特徴とする電子機器。
【請求項２】
前記制御手段は、前記駆動開始条件が満足された前記モータの駆動制御として、予め設定された制御パラメータに従う前記モータの駆動制御を開始し、
前記管理手段は、前記駆動開始条件の設定時に、前記駆動開始条件が満足されたときに実行されるべき前記駆動制御の内容を定義する前記制御パラメータを前記制御手段に対して設定すること
を特徴とする請求項１記載の電子機器。
【請求項３】
前記電子機器は、コンピュータを内蔵し、
前記管理手段及び前記制御手段の内、少なくとも前記管理手段としての機能は、前記コンピュータ上でのタスクの実行により実現されること
を特徴とする請求項１又は請求項２記載の電子機器。
【請求項４】
前記管理手段は、前記動作スケジュールの生成後、前記検知器から取得した前記検知器の出力信号に基づき、前記ハードウェアの動作異常の有無を判断し、前記ハードウェアの動作異常があると判断した場合には、前記動作異常の発生時に実行すべき処理に対応した前記複数のモータの動作スケジュールを新たに生成し、前記新たに生成した動作スケジュールに従って、前記モータ毎の前記駆動開始条件を前記制御手段に設定することで、前記動作異常の発生時に対応した処理を実現することを特徴とする請求項１〜請求項３のいずれか一項記載の電子機器。
【請求項５】
前記管理手段は、前記動作スケジュールに従って、前記複数のモータの内、次に駆動されるべき前記モータについての前記駆動開始条件を、前記制御手段に設定すること
を特徴とする請求項１〜請求項４のいずれか一項記載の電子機器。
【請求項６】
前記電子機器は、前記複数のモータとして、記録ヘッドを主走査方向に搬送するモータと、記録ヘッドにより画像が形成されるシートを副走査方向に搬送するモータと、を備える画像形成装置であり、
前記管理手段は、前記実行対象の処理として、外部から指定された画像データに基づく画像をシートに形成する処理を実現するための前記動作スケジュールを生成し、前記生成した動作スケジュールに従って、前記モータ毎の前記駆動開始条件を、前記制御手段に対して設定すること
を特徴とする請求項１〜請求項５のいずれか一項記載の電子機器。
【請求項７】
前記制御手段は、前記検知器としての前記複数のモータ夫々の回転量を検知する機器及びシート端を検知する機器の出力信号に基づき、前記モータ毎の前記駆動開始条件が満足されたか否かを判断すること
を特徴とする請求項６記載の電子機器。
【請求項８】
コンピュータ上でのタスクの実行によって複数のモータの駆動制御を伴う処理を実現する電子機器であって、
前記モータ毎に、前記電子機器が備えるハードウェアの動作状態を検知する検知器から取得した前記検知器の出力信号に基づき、該当するモータの駆動開始条件が満足されたか否かを判断し、前記駆動開始条件が満足された前記モータの駆動制御を開始する制御タスクと、
実行対象の処理に対応した前記複数のモータの動作スケジュールを生成し、前記生成した動作スケジュールに従って、前記モータ毎の前記駆動開始条件を、前記制御タスクに対して設定する管理タスクと、
によって、前記複数のモータの駆動制御を伴う処理を実現することを特徴とする電子機器。
【請求項９】
前記制御タスクでは、前記駆動開始条件が満足された前記モータの駆動制御として、予め設定された制御パラメータに従う前記モータの駆動制御を開始し、
前記管理タスクでは、前記駆動開始条件の設定時に、前記駆動開始条件が満足されたときに実行されるべき前記駆動制御の内容を定義する前記制御パラメータを前記制御タスクに対して設定する
ことを特徴とする請求項８記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に関する。
【背景技術】
【０００２】
従来、電子機器としては、プログラマブルコントローラと連携してモーション制御を行う電子機器が知られている（例えば、特許文献１参照）。例えば、モーションコントローラが制御コマンドの実行完了状態をプログラマブルコントローラに通知した後、プログラマブルコントローラが次の制御コマンドをモーションコントローラに入力する電子機器が知られている。この他、次制御コマンドをモーションコントローラに予約可能な電子機器として、次制御コマンドが予約されている場合には、モーションコントローラが、現在実行中の制御コマンドの実行が完了次第、次制御コマンドを実行する電子機器が知られている。
【０００３】
この他、電子機器としては、複数のモータ（原動機）を用いて機械を駆動し、所定の処理を実現するものが知られている。例えば、インクジェットプリンタ等の画像形成装置では、給紙ローラをモータにより駆動することで、給紙トレイに載置された用紙を、用紙搬送路下流に位置する搬送ローラに供給する。
【０００４】
更に、搬送ローラを、給紙ローラを回転駆動するモータ（以下、「ＡＳＦモータ」と表現する。）とは別のモータ（以下、搬送ローラを回転駆動するモータを「ＰＦモータ」と表現する。）により回転駆動することで、給紙ローラから供給された用紙を、記録ヘッドによる画像形成位置に間欠搬送する。
【０００５】
また、用紙を間欠搬送することで当該用紙を所定量副走査方向に送り出しては、別のモータを介して記録ヘッドを搭載するキャリッジを副走査方向とは直交する主走査方向に搬送し、この過程では記録ヘッドにインク液滴を吐出させることにより、用紙に一連の画像を形成する。尚、キャリッジの搬送の際には、記録ヘッドを、ＡＳＦモータやＰＦモータとは別のモータ（以下、キャリッジを駆動するモータを「ＣＲモータ」と表現する。）を用いて主走査方向に搬送する。画像形成装置では、このように複数のモータを用いて機械を駆動し、用紙への画像形成処理を実現する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２２９６１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、上記種類の画像形成装置としては、各モータの駆動開始条件が満足されたか否かを、各モータの動作シーケンスを管理する管理タスクが判断し、駆動開始条件が満足されると、当該駆動開始条件が満足されたモータの駆動制御を行う制御回路（又は制御タスク）に対して該当モータの駆動開始を指示し、更に、駆動制御の内容を定義する制御パラメータを制御回路（制御タスク）に対して通知するものが良く知られている。
【０００８】
しかしながら、このような手法では、管理タスクが、駆動開始条件が満足されてから制御回路（制御タスク）に対して駆動指示及び制御パラメータを入力して、制御回路（制御タスク）を起動するため、駆動開始条件が満足されてから実際に制御回路（制御タスク）が該当モータの駆動制御を開始するまでの無駄時間が大きかった。そして、このことが、画像形成に係る一連の処理のスループット向上に限界を与えていた。
【０００９】
本発明は、こうした問題に鑑みなされたものであり、従来よりも迅速に駆動開始条件が満足されたモータの駆動制御を開始可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するためになされた本発明の電子機器は、複数のモータの駆動制御を行う電子機器であって、当該電子機器が備えるハードウェアの動作状態を検知する検知器から取得した当該検知器の出力信号に基づき、モータ毎に、当該モータの駆動開始条件が満足されたか否かを判断し、駆動開始条件が満足されたモータの駆動制御を開始する制御手段と、実行対象の処理に対応した上記複数のモータの動作スケジュールを生成し、生成した動作スケジュールに従って、モータ毎の駆動開始条件を、制御手段に対して設定する管理手段と、を備えることを特徴とする。
【００１１】
即ち、本発明の電子機器では、管理手段が、動作スケジュールに従って、モータの駆動開始条件を、モータの駆動制御を司る制御手段に対して設定し、制御手段が、モータの駆動開始条件が満足されたか否かの判断を行って、駆動開始条件が満足されたモータの駆動制御を開始する。従って、この電子機器によれば、従来必要であった管理手段から制御手段への駆動開始条件が満足されたことについての通知動作を行う必要がなく、制御手段では、従来よりも迅速に駆動開始条件が満足されたことを認識して、モータの駆動制御を開始することができる。換言すると、本発明によれば、管理手段から制御手段への駆動開始条件が満足されたことについての通知動作に要する時間を省略することができ、この結果として、制御手段では、駆動開始条件が満足されたモータの駆動制御を迅速に開始することができる。
【００１２】
ところで、上記制御手段は、駆動開始条件が満足されたモータの駆動制御として、予め設定された制御パラメータに従う駆動制御を開始する構成にすることができ、管理手段は、駆動開始条件の設定時に、当該駆動開始条件が満足されたときに実行されるべき駆動制御の内容を定義する制御パラメータを制御手段に対して設定する構成にすることができる（請求項２）。制御手段に対して制御パラメータを設定可能に、電子機器を構成すれば、様々なパターンの駆動制御を実現可能に、電子機器を構成することができる。更に言えば、駆動開始条件が満足されてから制御手段に対して制御パラメータを設定する従来手法では、その設定に時間を要することから、一層の無駄時間が発生する結果となっていたが、この電子機器によれば、無駄時間を抑えて、迅速にモータの駆動制御を開始することができる。
【００１３】
また、電子機器は、上記管理手段としての機能を、コンピュータ上でのタスクの実行により実現する構成にすることができる（請求項３）。更に言えば、上記電子機器は、管理手段だけでなく上記制御手段としての機能を、コンピュータ上でのタスクの実行により実現する構成にすることができる。
【００１４】
即ち、上記電子機器は、コンピュータ上でのタスクの実行によって複数のモータの駆動制御を行う電子機器であって、当該電子機器が備えるハードウェアの動作状態を検知する検知器から取得した当該検知器の出力信号に基づき、モータ毎に、該当するモータの駆動開始条件が満足されたか否かを判断し、駆動開始条件が満足されたモータの駆動制御を開始する制御タスクと、実行対象の処理に対応した複数のモータの動作スケジュールを生成し、生成した動作スケジュールに従って、モータ毎の駆動開始条件を、上記制御タスクに対して設定する管理タスクと、によって、複数のモータの駆動制御を伴う処理を実現する構成にすることができる（請求項８）。更に言えば、制御タスクは、駆動開始条件が満足されたモータの駆動制御として、予め設定された制御パラメータに従う駆動制御を開始する構成にすることができ、管理タスクは、駆動開始条件の設定時に、当該駆動開始条件が満足されたときに実行されるべき駆動制御の内容を定義する制御パラメータを制御タスクに対して設定する構成にすることができる（請求項９）。
【００１５】
コンピュータによるタスクの実行により、管理手段や制御手段としての機能を実現する場合には、管理手段や制御手段としての機能を専用のハードウェアによって実現する場合と比較して、手段（タスク）間の情報伝達に時間を要するが、本発明を適用すれば、従来よりも迅速に駆動開始条件が満足されたモータの駆動制御を開始することができる。
【００１６】
また、上記電子機器において、管理手段は、動作スケジュールの生成後、検知器から取得した当該検知器の出力信号に基づき、ハードウェアの動作異常の有無を判断し、ハードウェアの動作異常があると判断した場合には、動作異常の発生時に実行すべき処理に対応した上記複数のモータの動作スケジュールを新たに生成し、当該新たに生成した動作スケジュールに従って、モータ毎の駆動開始条件を制御手段に設定することで、動作異常の発生時に対応した処理を実現する構成にすることができる（請求項４）。
【００１７】
この他、管理手段は、上記動作スケジュールに従って、複数のモータの内、次に駆動されるべきモータについての駆動開始条件を、制御手段に設定する構成にすることができる（請求項５）。
【００１８】
また、本発明は、上記複数のモータとして、記録ヘッドを主走査方向に搬送するモータと、記録ヘッドにより画像が形成されるシートを副走査方向に搬送するモータと、を備える画像形成装置に適用することができ、この場合、管理手段は、実行対象の処理として、外部から指定された画像データに基づく画像をシートに形成する処理を実現するための動作スケジュールを生成し、当該生成した動作スケジュールに従って、モータ毎の駆動開始条件を、制御手段に対して設定する構成にすることができる（請求項６）。
【００１９】
本発明の思想を、画像形成装置に適用すれば、各モータの駆動制御を迅速に実行することができる結果、シート搬送を含む画像形成に関する一連の処理を迅速に実行することができ、結果として、画像形成に関する一連の処理のスループットが向上する。
【００２０】
尚、このように画像形成装置を構成する場合、制御手段は、上記検知器として、複数のモータ夫々の回転量を検知する機器及びシート端を検知する機器の出力信号に基づき、モータ毎の駆動開始条件が満足されたか否かを判断する構成にすることができる（請求項７）。
【図面の簡単な説明】
【００２１】
【図１】画像形成装置１の機械構成を示す断面図である。
【図２】モータＭ１，Ｍ２，Ｍ３と駆動対象との関係を示す図である。
【図３】画像形成装置１の電気的構成を示すブロック図である。
【図４】印刷指令入力時に実行される処理の流れを示すタイムチャートである。
【図５】ジャム発生時に実行される処理の流れを示すタイムチャートである。
【図６】ＣＰＵ４１上で実行されるタスクの種類を示す図である。
【図７】スケジュール管理タスクＫ３による処理内容を示すフローチャートである。
【図８】モータ制御タスクＫ１による処理内容を示すフローチャートである。
【図９】操作量演算処理の内容を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下に本発明の実施例について、図面と共に説明する。図１に示す本実施例の画像形成装置１は、所謂インクジェットプリンタとして構成され、用紙Ｐを記録ヘッド２３による画像形成位置に所定量ずつ送り出し、用紙Ｐを所定量送り出す度に、記録ヘッド２３を用紙Ｐの搬送方向である副走査方向とは直交する主走査方向（図１紙面法線方向）に搬送することにより、用紙Ｐに一連の画像を形成するものである。
【００２３】
この画像形成装置１は、第一の用紙搬送路１１と、用紙搬送路１１の上流に位置する給紙トレイ１３と、給紙トレイ１３に載置された用紙群の表面に接触して、最上位の用紙Ｐを給紙トレイ１３から分離搬送する給紙ローラ１５と、用紙搬送路１１の下流に位置する搬送ローラ１７と、搬送ローラ１７より下流に設けられた第二の用紙搬送路２１と、記録ヘッド２３を搭載するキャリッジであって用紙搬送路２１を構成するプラテン２１１上で主走査方向に搬送されるキャリッジ２５と、用紙搬送路２１の下流領域に設けられた排紙ローラ２７と、更に下流に設けられた排紙トレイ２９と、を備える。
【００２４】
給紙トレイ１３は、画像形成に供される用紙を格納するトレイであり、この給紙トレイ１３には、複数の用紙が積層配置される。給紙ローラ１５は、支軸Ｏを中心に回動可能な回動アーム１５１の自由端側で軸支されることで、自重により、給紙トレイ１３に積層された用紙群の表面と当接するように設置され、図２に示すように、直流モータで構成されるＡＳＦモータＭ１からの駆動力を受けて回転して、これにより給紙トレイ１３から最上位の用紙Ｐを一枚分離し、用紙搬送路１１に搬送する。この給紙ローラ１５には、複数のギアが噛合されてなる駆動伝達機構１５３を通じてＡＳＦモータＭ１の駆動力が伝達され、この駆動力を受けて、給紙ローラ１５は回転する。
【００２５】
給紙ローラ１５の回転により給紙トレイ１３から分離される用紙Ｐは、給紙トレイ１３の上流側に位置する分離傾斜板１３１と接触して、上方へ案内され、用紙搬送路１１に送り出される。また、用紙搬送路１１は、給紙トレイ１３から搬送ローラ１７側へと湾曲した形状にされている。即ち、給紙ローラ１５の回転により用紙搬送路１１に送り出された用紙Ｐは、このＵ字形状の用紙搬送路１１を通じて、給紙トレイ１３の上部に位置する搬送ローラ１７側に供給される。
【００２６】
また、搬送ローラ１７は、用紙搬送路１１を通じて給紙ローラ１５から供給されてくる用紙Ｐをピンチローラ１７１と共に挟持し、挟持した用紙Ｐを、回転により、記録ヘッド２３による画像形成位置（プラテン２１１上）に搬送する。この搬送ローラ１７に対しては、図２に示すように、ＡＳＦモータＭ１とは別の直流モータで構成されるＰＦモータＭ２が設けられており、搬送ローラ１７は、このＰＦモータＭ２の駆動力を受けて回転する。この搬送ローラ１７の回転により搬送される用紙Ｐは、用紙搬送路２１を通じて記録ヘッド２３による画像形成位置に搬送され、更に、排紙ローラ２７側に搬送される。
【００２７】
尚、用紙搬送路２１は、搬送ローラ１７から排紙ローラ２７までの用紙搬送路を構成するものであり、中央部にプラテン２１１を備える。プラテン２１１上では、上述したように、記録ヘッド２３を搭載するキャリッジ２５が主走査方向に搬送され、このとき、記録ヘッド２３からはインク液滴が吐出されて、用紙Ｐには、画像が形成される。
【００２８】
また、キャリッジ搬送機構は、図２に示すように、主走査方向に延びるガイド軸２５１と、ガイド軸２５１の両端に設けられたプーリ２５３，２５４と、プーリ２５３，２５４に巻回された無端ベルト２５６とを備える。このキャリッジ搬送機構において、キャリッジ２５は、ガイド軸２５１に貫挿されて、移動方向が主走査方向に規制され、更に、無端ベルト２５６に接続されている。即ち、キャリッジ２５は、無端ベルト２５６の回転により駆動力を受け、ガイド軸２５１に沿って主走査方向に移動する。このキャリッジ搬送機構において、無端ベルト２５６は、プーリ２５３に接続された直流モータで構成されるＣＲモータＭ３の駆動力を受けて回転する。これによって、キャリッジ２５ひいては記録ヘッド２３は、主走査方向に搬送される。
【００２９】
また、排紙ローラ２７は、ピンチローラ２７１と共に、上記画像形成位置にて画像形成に供された用紙Ｐを挟持し、この用紙Ｐを、回転により排紙トレイ２９へと排出するものである。この排紙ローラ２７は、搬送ローラ１７と同一のＰＦモータＭ２の駆動力を受けて、搬送ローラ１７と共に回転する。
【００３０】
続いては、画像形成装置１の電気的構成について説明する。本実施例の画像形成装置１は、記録ヘッド２３、キャリッジ２５及びローラ１５，１７，２７を駆動するための構成として、上述のモータＭ１，Ｍ２，Ｍ３の他、図３に示すように、エンコーダＥ１，Ｅ２，Ｅ３、信号処理回路３１，３３，３５、制御ユニット４０、駆動回路５１，５３，５５，５７、及び、レジストセンサＲＳを備える。
【００３１】
エンコーダＥ１（以下、ＡＳＦエンコーダと表現する。）は、ＡＳＦモータＭ１の回転軸に接続されて、ＡＳＦモータＭ１の回転位置（回転角）に応じたパルス信号（所謂Ａ相信号及びＢ相信号）を出力する周知のロータリエンコーダである。信号処理回路３１（以下、ＡＳＦ信号処理回路と表現する。）は、このＡＳＦエンコーダＥ１から入力されるパルス信号に基づき、ＡＳＦモータＭ１の回転位置（具体的には初期位置からの回転量）及び回転速度を検出し、この情報を制御ユニット４０に入力する。尚、ＡＳＦモータＭ１の回転位置及び回転速度は、給紙ローラ１５の回転位置及び回転速度に対応する。このエンコーダＥ１は、例えば、給紙ローラ１５の回転軸、ＡＳＦモータＭ１の回転軸やＡＳＦモータＭ１から給紙ローラ１５へ駆動を伝達する駆動伝達機構の回転軸に取り付けられて、ＡＳＦモータＭ１の回転軸に直接又は間接的に接続される。
【００３２】
また、エンコーダＥ２（以下、ＰＦエンコーダと表現する。）も、同様にロータリエンコーダとして構成されており、ＰＦモータＭ２の回転軸に接続されて、ＰＦモータＭ２の回転位置に応じたパルス信号を出力する。信号処理回路３３（以下、ＰＦ信号処理回路と表現する。）は、このＰＦエンコーダＥ２から入力されるパルス信号に基づき、ＰＦモータＭ２の回転位置（具体的には初期位置からの回転量）及び回転速度を検出し、この情報を制御ユニット４０に入力する。尚、ＰＦモータＭ２の回転位置及び回転速度は、搬送ローラ１７の回転位置及び回転速度に対応する。このエンコーダＥ２は、例えば、搬送ローラ１７の回転軸、ＰＦモータＭ２の回転軸やＰＦモータＭ２から搬送ローラ１７へ駆動を伝達する駆動伝達機構の回転軸に取り付けられて、ＰＦモータＭ２の回転軸に直接又は間接的に接続される。
【００３３】
この他、エンコーダＥ３（以下、ＣＲエンコーダと表現する。）は、リニアエンコーダで構成されており、キャリッジ搬送機構におけるキャリッジ２５の主走査方向の位置に応じたパルス信号を出力する。信号処理回路３５（以下、ＣＲ信号処理回路と表現する。）は、このＣＲエンコーダＥ３から出力されるパルス信号に基づき、キャリッジ２５の位置及び速度を検出し、この情報を制御ユニット４０に入力する。
【００３４】
また、レジストセンサＲＳは、搬送ローラ１７近傍に設けられ、搬送ローラ１７に供給される用紙Ｐの先端及び搬送ローラ１７から抜ける用紙Ｐの後端を検知して、その検知結果を表す信号を制御ユニット４０に入力するものである。
【００３５】
この他、制御ユニット４０は、通信インタフェース４９を通じて外部装置（パーソナルコンピュータ等）から入力される印刷指令に従って、印刷対象の画像データに基づく画像を用紙Ｐに形成するものである。具体的に、この制御ユニット４０は、通信インタフェース４９の他、ＣＰＵ４１と、ＣＰＵ４１が実行するプログラムを記憶するＲＯＭ４３と、ＣＰＵ４１によるプログラム実行時に作業領域として使用されるＲＡＭ４５と、入力インタフェース４７と、出力インタフェース４８と、を備え、ＣＰＵ４１によるプログラムの実行により各種処理を実現する。
【００３６】
例えば、制御ユニット４０は、印刷指令が入力されると、ＣＰＵ４１によって、当該印刷指令にて指定された印刷対象の画像データに基づく画像を用紙Ｐに形成するために必要なモータの駆動制御及び記録ヘッド２３の駆動制御を行う。この際には、入力インタフェース４７を通じて、センサ類（レジストセンサＲＳや信号処理回路３１，３３，３５等）からの入力信号を取得し、出力インタフェース４８を通じて、駆動回路５１，５３，５５，５７に対する指令信号を出力する。
【００３７】
ここで制御ユニット４０の処理動作について、その概略を説明する。制御ユニット４０は、印刷指令が入力されると、図４に示す態様でモータＭ１，Ｍ２，Ｍ３を駆動する。具体的には、駆動回路５１（以下、ＡＳＦ駆動回路５１と表現する。）を通じてＡＳＦモータＭ１を駆動し（図４に示すイベント＜１＞）、これによって給紙ローラ１５を回転させて、給紙トレイ１３から用紙Ｐが分離搬送され、用紙Ｐが搬送ローラ１７に供給されるようにする。
【００３８】
更に、この供給が終了するタイミングで、ＡＳＦモータＭ１の駆動を終了し、次に駆動回路５３（以下、ＰＦ駆動回路５３と表現する。）を通じてＰＦモータＭ２を駆動する（図４に示すイベント＜２＞）。これによって、搬送ローラ１７を回転させて、用紙Ｐが頭出しされるようにする。
【００３９】
そして、頭出しが完了する前のタイミングであって頭出しの完了直後からキャリッジ２５の定速搬送を伴う記録ヘッド２３によるインク液滴の吐出動作を実行可能なタイミングで、駆動回路５５（以下、ＣＲ駆動回路５５と表現する）を通じてＣＲモータＭ３を駆動し（イベント＜３＞）、キャリッジ２５を主走査方向に搬送する。そして、キャリッジ２５を定速搬送中には、駆動回路５７（以下、ヘッド駆動回路５７と表現する。）を通じて記録ヘッド２３を駆動することにより、用紙Ｐに、印刷対象の画像データに基づく線状画像を形成する。
【００４０】
また、記録ヘッド２３による画像形成が完了した直後から、ＰＦモータＭ２を駆動して、搬送ローラ１７による用紙Ｐの間欠搬送を開始することで（イベント＜４＞）、用紙Ｐにおける次の印字位置まで用紙Ｐを副走査方向に送り出す。
【００４１】
そして、用紙Ｐの送出が完了する前のタイミングであって、送出完了直後からキャリッジ２５の定速搬送を伴う記録ヘッド２３によるインク液滴の吐出動作を実行可能なタイミングで、ＣＲモータＭ３を駆動し（イベント＜５＞）、キャリッジ２５を主走査方向に搬送する。そして、キャリッジ２５の定速搬送中には、記録ヘッド２３を駆動することにより、用紙Ｐに、印刷対象の画像データに基づく線状画像を形成する。
【００４２】
制御ユニット４０は、このような動作を繰返し、用紙Ｐに対する最終ラインの画像形成が完了すると（イベント＜７＞）、ＰＦモータＭ２を駆動し、搬送ローラ１７及び排紙ローラ２７を回転させることにより、用紙Ｐの排紙動作を行う（＜イベント＜８＞）。更に、印刷対象の画像データに次頁のデータがある場合には、当該排紙動作の終盤に、ＡＳＦモータＭ１の駆動を開始することで、次用紙が搬送ローラ１７に供給されるようにし（イベント＜９＞）、その後、ＰＦモータＭ２を駆動して、用紙Ｐの頭出し処理を行う。その後、後続の処理を上述したように実行する。
【００４３】
このようにして制御ユニット４０は、印刷指令が入力されると、用紙Ｐを間欠搬送しては、用紙Ｐに線状画像を形成して、印刷対象の画像データに基づく一連の画像を、用紙Ｐに形成する。
【００４４】
また、制御ユニット４０は、印刷指令に基づく上記処理の実行中にジャムが発生して、ＣＲモータＭ３の異常停止を検知すると、図５に示すように、ＰＦモータＭ２の駆動をキャンセルして、異常停止がジャムによるものであるか否かを判断するためにＣＲモータＭ３をテスト駆動する（イベント＜１１＞）。このような動作を、複数回実行して（イベント＜１２＞）、ＣＲモータＭ３の異常停止が解消しない場合には、この異常がジャムによるものであると判定して、ＣＲモータＭ３を逆方向に回転駆動し、キャリッジ２５を後退させる（イベント＜１３＞）。その後、印刷指令に基づく処理を終了する。
【００４５】
尚、このような処理は、ＣＰＵ４１が図６に示すタスクを実行することにより実現される。同図では、記録ヘッド２３からのインク液滴の吐出制御を行うタスクの図示を省略するが、記録ヘッド２３の制御についても、モータ制御と同様のタスクの組合せで実現することができる。
【００４６】
図６に示すように、ＣＰＵ４１は、モータ制御タスクＫ１、動作監視タスクＫ２及びスケジュール管理タスクＫ３によって、外部装置から入力される印刷指令に対応する処理を実行する。ここで、モータ制御タスクＫ１は、モータＭ１，Ｍ２，Ｍ３の制御周期に合わせて定期実行されるものであり、スケジュール管理タスクＫ３から設定された駆動開始条件が満足されると、モータＭ１，Ｍ２，Ｍ３の内、当該駆動開始条件が満足されたモータの駆動制御（操作量の演算）を開始するものである。特に、本実施例のモータ制御タスクＫ１は、センサ類（レジストセンサＲＳや信号処理回路３１，３３，３５等）からの入力信号を、入力インタフェース４７を介して自ら取得し、この取得信号に基づき、モータの駆動開始条件が満足されたか否かを判断する。
【００４７】
一方、動作監視タスクＫ２は、センサ類からの入力信号やモータ制御タスクＫ１からの入力信号に基づき、各モータＭ１，Ｍ２，Ｍ３の動作状態（正常停止／異常停止／動作中）やレジストセンサＲＳの状態を検知し、検知した状態を通知する状態通知信号をスケジュール管理タスクＫ３に入力するものである。この動作監視タスクＫ２は、モータ制御タスクＫ１の動作に合わせて、定期実行される。
【００４８】
また、スケジュール管理タスクＫ３は、外部装置から印刷指令が入力されると、入力された印刷指令及び印刷対象の画像データに基づき、印刷指令に従って印刷対象の画像データに基づく画像を形成するために動作が必要なモータＭ１，Ｍ２，Ｍ３の動作スケジュールを生成し、この動作スケジュールに従って、各モータＭ１，Ｍ２，Ｍ３の駆動開始条件を、モータ制御タスクＫ１に対して設定するものである。
【００４９】
このスケジュール管理タスクＫ３は、モータＭ１，Ｍ２，Ｍ３の駆動開始条件を、モータ制御タスクＫ１に対して設定することで、駆動開始条件が満足された場合には、モータ制御タスクＫ１が、すぐさま該当するモータの駆動制御を開始することができるようにする。このスケジュール管理タスクＫ３は、モータ制御タスクＫ１や動作監視タスクＫ２が割込処理によって定期駆動され、優先的に実行されることになるため、モータ制御タスクＫ１や動作監視タスクＫ２の非実行時間に、実行される。
【００５０】
続いて、図７〜図９を用いて、スケジュール管理タスクＫ３により実現される処理及びモータ制御タスクＫ１により実現される処理について説明する。
ＣＰＵ４１は、外部装置から印刷指令が入力されて、スケジュール管理タスクＫ３の実行を開始すると、印刷指令にて指定された印刷条件及び印刷対象の画像データに基づき、印刷対象の画像データに基づく画像を用紙に形成するための各モータＭ１，Ｍ２，Ｍ３の動作スケジュールを生成する。
【００５１】
例えば、印刷指令にて指定された用紙サイズ、余白領域、印刷解像度（高速印刷、詳細印刷等）、及び、印刷対象の画像データから特定される頁枚数等の情報に基づき、モータＭ１，Ｍ２，Ｍ３をどのような順序で、どのような条件で駆動開始すべきかを特定すると共に、モータＭ１，Ｍ２，Ｍ３の駆動制御時に、どのような制御内容で、モータＭ１，Ｍ２，Ｍ３を駆動すべきかを特定する。そして、特定した内容に従って、駆動すべきモータＭ１，Ｍ２，Ｍ３の駆動開始条件及び当該駆動開始条件が満足されたときに実行すべき駆動制御の内容を定義する制御パラメータを、駆動すべきモータＭ１，Ｍ２，Ｍ３の順序でリスト化して動作スケジュールを生成する。尚、制御パラメータとしては、目標とするモータＭ１，Ｍ２，Ｍ３の駆動量（換言すれば停止位置）や速度、モータＭ１，Ｍ２，Ｍ３の回転時間、加速時間、定速回転時間、減速時間等を挙げることができる（Ｓ１１０）。
【００５２】
Ｓ１１０での処理を終えると、ＣＰＵ４１は、続くＳ１２０にて動作監視タスクＫ２から入力された最新の上記状態通知信号に基づき、モータＭ１，Ｍ２，Ｍ３の異常停止が発生したか否かを判断し、異常停止が発生していない場合には（Ｓ１２０でＮｏ）、次に駆動すべきモータが動作中（駆動制御されている状態）であるか否かを判断する（Ｓ１３０）。そして、次に駆動すべきモータが動作中でない場合には（Ｓ１３０でＮｏ）、Ｓ１４０に移行して、次に駆動すべきモータについての駆動開始条件及び制御パラメータを、モータ制御タスクＫ１に対して設定することにより、当該モータについての駆動予約を行い、その後、Ｓ１５０に移行する。
【００５３】
尚、ここで設定する駆動開始条件としては、例えば、図４に示すものが挙げられる。図４に示す矢印は、矢印の基点に記載された駆動開始条件を、矢印の終点が指し示す時間軸上の点でモータ制御タスクＫ１に対して設定することを示している。また、矢印の基点に示される括弧＜＞は、上段のタイムチャートにおける番号の一致する括弧が記載された時刻に、この矢印の基点に示された駆動開始条件が満足されて、対応するモータが駆動されることを示している。この矢印に示す内容については、図５についても同様である。
【００５４】
図４及び図５に示すように、駆動開始条件は、例えば、エンコーダＥ１，Ｅ２，Ｅ３の出力信号を処理する信号処理回路３１，３３，３５から得られるモータＭ１，Ｍ２の位置及びキャリッジ２５の位置（ＡＳＦエンコーダ値、ＰＦエンコーダ値及びＣＲエンコーダ値）並びにレジストセンサＲＳの出力値により規定される。その他、「即実行」との駆動開始条件は、駆動予約が登録されたら直ちに該当モータの駆動制御を開始することを駆動開始条件とするものであり、「前動作完了後」との動作開始条件は、動作スケジュールに従う一つ前の駆動予約に対応したモータの駆動制御が終了したら直ちに該当モータの駆動制御を開始することを、駆動開始条件とするものである。この「前動作完了後」との動作開始条件には、「前動作」に対応する上記一つ前の駆動予約に対応したモータの情報が記述され、モータ制御タスクＫ１に設定される。
【００５５】
また、図４から理解できるように、ここで言う「次に駆動すべきモータ」とは、最後に行われた駆動予約に起因して駆動の開始されたモータの次に駆動すべきモータのことである。本実施例では、生成された動作スケジュールに従って、駆動されるべきモータＭ１，Ｍ２，Ｍ３の順に、当該モータについての駆動予約を行うが、駆動予約については、現在から遡って最後に駆動開始条件が満足されて駆動が開始されたモータの次に駆動すべきモータに対する駆動予約までしか行わない。即ち、駆動開始条件が満足されていない駆動予約が一つのみとなるように、駆動予約を行う。
【００５６】
そして、駆動予約をする対象のモータが、過去の駆動予約に基づき未だ動作中の場合には、更に駆動予約をした場合、制御パラメータ等が書き換えられてしまうことで駆動制御に支障が生じる。このため、本実施例では、次に駆動すべきモータが動作中であるか否かを判断し、次に駆動すべきモータが動作中である場合には（Ｓ１３０でＹｅｓ）、Ｓ１２０に移行して、次に駆動すべきモータの駆動制御が終了するまで待機する。
【００５７】
また、この過程で、動作中モータが異常停止すると、ＣＰＵ４１は、Ｓ１２０で肯定判断し、既に設定した駆動予約をキャンセルするためのキャンセルフラグをオンに設定する（Ｓ１２５）。その後、Ｓ１５０に移行する。
【００５８】
Ｓ１５０に移行すると、ＣＰＵ４１は、動作スケジュールを追加修正すべきか否かを判断し、動作スケジュールを追加修正すべきであると判断すると（Ｓ１５０でＹｅｓ）、既に生成された動作スケジュールに対して新規の動作シーケンス（モータの駆動手順）を追加する処理を行う（Ｓ１５５）。具体的に、Ｓ１５０では、現在生成されている動作スケジュールの当該生成時点で、印刷指令にて指定された印刷対象の画像データを全て受信しておらず、その後、残りの画像データの受信により、印刷に必要なモータの駆動手順が増えたとき、この増加した手順が実行されるように、既に生成されている動作スケジュールに対して後続の動作シーケンスを追加する。増加した駆動手順を実現するために必要な各モータＭ１，Ｍ２，Ｍ３の駆動開始条件及び制御パラメータを、実行すべき順に動作スケジュールに追加登録するのである。その後、Ｓ１９０に移行する。
【００５９】
一方、ＣＰＵ４１は、動作スケジュールの追加修正が不要であると判断すると（Ｓ１５０でＮｏ）、Ｓ１６０に移行して、動作スケジュールの再生成が必要であるか否かを判断する。ここでは、Ｓ１２０で肯定判断してキャンセルフラグがＯＮに設定された場合に、再生成が必要であると判断し（Ｓ１６０でＹｅｓ）、それ以外の場合には否定判断する（Ｓ１６０でＮｏ）。
【００６０】
そして、否定判断した場合には（Ｓ１６０でＮｏ）、Ｓ１９０に移行して、動作スケジュールに基づく駆動予約が全て完了したか否かを判断し、全て完了した場合には（Ｓ１９０でＹｅｓ）、スケジュール管理タスクＫ３を終了し、全て完了していない場合には（Ｓ１９０でＮｏ）、Ｓ１２０に移行して、上述した処理により動作スケジュールに基づく次の駆動予約を行う。
【００６１】
一方、Ｓ１６０で肯定判断すると、ＣＰＵ４１は、Ｓ１７０に移行し、異常停止したモータＭ１，Ｍ２，Ｍ３の種類及び動作監視タスクＫ２から入力された最新の上記状態通知信号に基づき、異常の発生原因を推定し、更に、当該推定した原因に対応するエラー処理を実行するために、現動作スケジュールを破棄して、新しい動作スケジュールを生成する。即ち、上記エラー処理を実現するために駆動すべきモータＭ１，Ｍ２，Ｍ３の駆動開始条件及びその駆動制御時の制御パラメータを、駆動すべきモータＭ１，Ｍ２，Ｍ３の順序でリスト化した動作スケジュールを新たに生成する。
【００６２】
その後、Ｓ１９０に移行し、ここでは再生成後の動作スケジュールについての駆動予約を行っていないので否定判断して（Ｓ１９０でＮｏ）、Ｓ１２０に移行し、再生成後の動作スケジュールに対応した処理を実行する。
【００６３】
例えば、ＣＲモータＭ３の異常停止が生じた場合には、ジャムが発生した状態であるか否かを確認するためのエラー処理（図５参照）を実行するために、異常発生前の回転方向と同方向にＣＲモータＭ３をテスト回転させる駆動制御を「即実行」するための動作スケジュールをＳ１７０で生成する。そして、この動作スケジュールに対応した処理を実行する（図５に示すイベント＜１１＞）。但し、ジャムが発生している場合には、このようなエラー処理を実行しても、再度、ＣＲモータＭ３の異常停止が生じる。この場合、スケジュール管理タスクＫ３では、再度、同様の動作スケジュールを再生成して、この動作スケジュールに対応した処理を実行する（図５に示すイベント＜１２＞）。
【００６４】
そして、更に再度、ＣＲモータＭ３の異常停止が生じた場合には、異常停止がジャムを原因とするものであると判断し、エラー処理として、ＣＲモータＭ３を逆方向に回転させてキャリッジ２５を後退させる駆動制御を「即実行」するための動作スケジュールをＳ１７０で生成する。そして、この動作スケジュールに対応した処理の終了後（Ｓ１９０でＹｅｓ）、当該スケジュール管理タスクＫ３を終了する。
【００６５】
一方、定期実行するモータ制御タスクＫ１では、図８に示すように、まず、入出力処理を実行する（Ｓ２１０）。ここで言う入出力処理とは、前回のモータ制御タスクＫ１で算出したＡＳＦモータＭ１に対する操作量（電流指令値）、ＰＦモータＭ２に対する操作量（電流指令値）及びＣＲモータＭ３に対する操作量（電流指令値）を、夫々対応するモータの駆動回路５１，５３，５５に入力（設定）すると共に、ＡＳＦ信号処理回路３１、ＰＦ信号処理回路３３、ＣＲ信号処理回路３５、及び、レジストセンサＲＳからの入力信号（ハードウェア信号）を、入力インタフェース４７を通じて取得する処理を実行する（Ｓ２１０）。尚、操作量が設定される駆動回路５１，５３，５５は、設定された操作量に対応する駆動電流を対応する駆動対象のモータＭ１，Ｍ２，Ｍ３に入力することにより、当該操作量に対応する量、駆動対象のモータＭ１，Ｍ２，Ｍ３を駆動する。
【００６６】
その後、ＣＰＵ４１は、ＣＲモータＭ３に対する操作量を算出するためのＣＲ操作量演算処理、ＰＦモータＭ２に対する操作量を算出するためのＰＦ操作量演算処理、及び、ＡＳＦモータＭ１に対する操作量を算出するためのＡＳＦ操作量演算処理を順に実行する（Ｓ２２０，Ｓ２３０，Ｓ２４０）。そして、これらの処理を終了すると、モータ制御タスクＫ１を終了する。ＣＰＵ４１は、このようなモータ制御タスクＫ１を定期的に実行する。
【００６７】
ここで、上記ＣＲ操作量演算処理、ＰＦ操作量演算処理、及び、ＡＳＦ操作量演算処理の処理内容について詳述すると、上記ＣＲ操作量演算処理、ＰＦ操作量演算処理、及び、ＡＳＦ操作量演算処理では、図９に示す内容の処理を実行する。但し、上記ＣＲ操作量演算処理、ＰＦ操作量演算処理、及び、ＡＳＦ操作量演算処理の夫々は、スケジュール管理タスクＫ３から設定された、自己の処理に対応するモータＭ１，Ｍ２，Ｍ３の駆動開始条件及び制御パラメータに従って、このモータＭ１，Ｍ２，Ｍ３に対する操作量Ｕを演算するものであり、参照する駆動開始条件及び制御パラメータ、並びに、算出する操作量が異なる程度のものである。ちなみに、ＣＲ操作量演算処理に対応するモータは、ＣＲモータＭ３であり、ＰＦ操作量演算処理に対応するモータは、ＰＦモータＭ２であり、ＡＳＦ操作量演算処理に対応するモータは、ＡＳＦモータＭ１である。
【００６８】
従って、以下では、上記ＣＲ操作量演算処理、ＰＦ操作量演算処理、及び、ＡＳＦ操作量演算処理の夫々を、共通の図９を用いてまとめて説明する。尚、以下では、上記ＣＲ操作量演算処理、ＰＦ操作量演算処理、及び、ＡＳＦ操作量演算処理の夫々のことを、操作量演算処理と表現する。また、各操作量演算処理に対応するモータのことを「対応モータ」と表現する。
【００６９】
ＣＰＵ４１は、操作量演算処理を開始すると、まず対応モータの動作中フラグがオンに設定されているか否かを判断することにより（Ｓ３１０）、対応モータの駆動開始条件が既に満足された状態にあるか否かを判断する。そして、動作中フラグがオンに設定されている場合には（Ｓ３１０でＹｅｓ）、Ｓ３８０に移行する。
【００７０】
一方、動作中フラグがオフに設定されている場合には（Ｓ３１０でＮｏ）、対応モータの駆動予約フラグがオンに設定されているか否かを判断する（Ｓ３２０）。尚、この駆動予約フラグは、スケジュール管理タスクＫ３により、対応モータに対して駆動予約がなされたときにオンに設定される。そして、駆動予約フラグがオフに設定されている場合（駆動予約がなされていない場合）には（Ｓ３２０でＮｏ）、当該操作量演算処理を終了することで、対応モータを駆動することなく、操作量演算処理を終了する。
【００７１】
一方、駆動予約フラグがオンに設定されている場合には（Ｓ３２０でＹｅｓ）、駆動予約をキャンセルする旨のキャンセルフラグがオンに設定されているか否かを判断し（Ｓ３３０）、キャンセルフラグがオンに設定されている場合には（Ｓ３３０でＹｅｓ）、対応モータの駆動予約フラグをオフにして駆動予約を無効にすると共に、キャンセルフラグをオフに設定する（Ｓ３３５）。その後、対応モータを駆動することなく、当該操作量演算処理を終了する。
【００７２】
この他、キャンセルフラグがオフに設定されている場合には（Ｓ３３０でＮｏ）、Ｓ３４０に移行し、対応モータに対して駆動予約時に設定された駆動開始条件が「即実行」することを条件とするものであるか否かを判断し（Ｓ３４０）、「即実行」することを条件とするものである場合には（Ｓ３４０でＹｅｓ）、対応モータの動作中フラグをオンに設定する一方、対応モータの駆動予約フラグをオフに設定して（Ｓ３６０）、対応モータの駆動制御であって、予め設定された対応モータの制御パラメータに従う駆動制御をすぐさま開始する（Ｓ３７０）。
【００７３】
具体的に、Ｓ３７０では、対応モータに対する操作量（電流指令値）Ｕを演算し、当該操作量Ｕを、次回モータ制御タスクＫ１実行時に対応モータの駆動回路５１，５３，５５に入力すべき操作量Ｕとして記憶する。更に付言すれば、ここでは、駆動開始条件と共に設定された制御パラメータにて定義される内容の対応モータに対する駆動制御が実現されるように上記操作量Ｕを演算する。駆動開始条件時に設定された制御パラメータを用いて、当該制御パラメータを設計変数とする予め定められた操作量Ｕの演算式に従って、操作量Ｕを算出するといった具合である。この後、当該操作量演算処理を終了する。
【００７４】
一方、対応モータに対して駆動予約時に設定された駆動開始条件が「即実行」することを条件とするものではない場合には（Ｓ３４０でＮｏ）、当該駆動開始条件が満足されているか否かを、今回のモータ制御タスクＫ１のＳ２１０でセンサ類から取得したハードウェア信号（ＡＳＦ信号処理回路３１、ＰＦ信号処理回路３３、ＣＲ信号処理回路３５、及び、レジストセンサＲＳからの入力信号）に基づき判断し（Ｓ３５０）、駆動開始条件が満足されていない場合には（Ｓ３５０でＮｏ）、Ｓ３６０，Ｓ３７０の処理を実行することなく、換言すれば、対応モータの駆動制御を開始することなく、当該操作量演算処理を終了する。
【００７５】
これに対し、駆動開始条件が満足されていると判断すると（Ｓ３５０でＹｅｓ）、上述したＳ３６０，Ｓ３７０の処理を実行することで、駆動開始条件と共に設定された制御パラメータに従う対応モータの駆動制御を開始する。その後、当該操作量演算処理を終了する。
【００７６】
また、このような処理を経て、対応モータの動作中フラグがオンに設定された（Ｓ３６０参照）回以降の操作量演算処理では、まず対応モータの動作中フラグがオンに設定されていると判断して（Ｓ３１０でＹｅｓ）、Ｓ３８０に移行する。そして、Ｓ３８０では、対応モータの駆動制御が正常終了し、対応モータが正常停止した状態にあるか否かを判断する。尚、対応モータの駆動制御が開始された直後では、駆動制御を継続中であるので、ここでは、否定判断することになる。
【００７７】
そして、対応モータの駆動制御が正常停止した状態にはないと判断すると、ＣＰＵ４１は、対応モータを含むモータＭ１，Ｍ２，Ｍ３のいずれかにおいて、異常停止が生じているか否かを判断し（Ｓ３９０）、異常停止が生じていなければ（Ｓ３９０でＮｏ）、Ｓ３７０に移行し、操作量Ｕの演算を行うことで、対応モータの駆動制御を継続する。その後、操作量演算処理を終了する。
【００７８】
一方、対応モータを含むモータＭ１，Ｍ２，Ｍ３のいずれかにおいて異常停止が生じている場合には（Ｓ３９０でＹｅｓ）、現在行っている対応モータの駆動制御を終了し、対応モータの動作を停止させるための処理を実行する。そして、対応モータの動作が停止したことを契機に、対応モータの動作中フラグをオフに設定する。その後、操作量演算処理を終了する。
【００７９】
この他、対応モータを含むモータＭ１，Ｍ２，Ｍ３のいずれにも異常停止が生じないまま、対応モータの駆動制御が正常終了し、対応モータが正常停止した場合には、Ｓ３８０で肯定判断し、対応モータの動作中フラグをオフに設定して（Ｓ３８５）、当該操作量演算処理を終了する。
【００８０】
このような操作量演算処理をモータ毎に実行することにより（Ｓ２２０，Ｓ２３０，Ｓ２４０）、モータ制御タスクＫ１では、駆動予約のなされたモータの駆動開始条件が満足されたか否かを、自らセンサ類から取得したハードウェア信号に基づき判断し、駆動開始条件が満足され次第、駆動開始条件が満足されたモータの駆動制御を開始する。
【００８１】
以上、本実施例の画像形成装置１の構成について説明したが、本実施例によれば、モータ制御タスクＫ１が、画像形成装置１が備えるモータＭ１，Ｍ２，Ｍ３及びレジストセンサＲＳの動作状態を示す信号を、入力インタフェース４７を通じて取得し、この取得信号に基づいてモータの駆動開始条件が満足されたか否かを判断し、駆動開始条件が満足されたモータの駆動制御であって、駆動開始条件と共にスケジュール管理タスクＫ３から設定された制御パラメータに従う駆動制御を開始する。一方、スケジュール管理タスクＫ３は、印刷指令に対応する処理を実行するために、各モータの駆動順序に合わせて、モータ制御タスクＫ１に駆動開始条件及び制御パラメータを設定し、各モータの駆動予約を行う。
【００８２】
従って、本実施例によれば、駆動開始条件が満足されたモータの駆動制御を迅速に開始することができる。即ち、従来装置では、管理タスクがモータの駆動開始条件が満足されたか否かを判断し、駆動開始条件が満足されてから、モータの駆動指示をモータ制御タスクに入力すると共に、制御パラメータを設定（通知）していた。そして、この場合には、駆動開始条件が満足されたか否かを判断して、制御パラメータを設定し終えるまでの処理時間が必要であることから、駆動開始条件が満足されてから迅速に、モータの駆動制御を開始することができなかった。
【００８３】
特に、制御パラメータを設定し終えるまでにモータ制御タスクが実行されてしまうと、この期間には割込処理であるモータ制御タスクが優先実行されるため、制御パラメータに基づくモータの駆動制御の開始が先延ばしになってしまい、実際に駆動開始条件が満足されてからモータの駆動制御が開始されるまでのタイムラグが大きくなるといった問題があった。即ち、ソフトウェアによる処理では、複数のタスクを時分割してＣＰＵにより実行することになるので、情報伝達に時間を要するといった問題があった。そして、このような無駄時間の多い従来手法では、画像形成処理に係るスループットの向上に限界があった。
【００８４】
これに対し、本実施例によれば、モータの駆動制御を司るモータ制御タスクＫ１に、駆動開始条件が満足されたか否かを判断させる一方で、前もって駆動開始条件及び制御パラメータをモータ制御タスクＫ１に設定するようにしたので、駆動開始条件が満足され次第、迅速に対応するモータの駆動制御を開始することができ、この結果として、画像形成処理に係る一連の処理のスループットを向上させることができる。
【００８５】
また、本実施例によれば、動作スケジュールに従って駆動開始条件をモータ制御タスクＫ１に設定する手法を採用しているが、動作異常が生じた場合には、駆動予約をキャンセルして、エラー処理に対応した動作スケジュールを再生成することができるようにしたので、動作異常にも適切に対応することが可能である。
【００８６】
以上、本発明の実施例について説明したが、上記実施例のモータ制御タスクＫ１によって実現される処理は、本発明の制御手段によって実現される処理の一例に対応し、レジストセンサＲＳや信号処理回路３１，３３，３５は、本発明の検知器の一例に対応する。また、スケジュール管理タスクＫ３によって実現される処理は、本発明の管理手段によって実現される処理の一例に対応する。
【００８７】
この他、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、モータ制御タスクＫ１に対応する処理は、専用のハードウェア回路により実現されてもよく、同様に、スケジュール管理タスクＫ３に対応する処理についても、専用のハードウェア回路により実現することができる。また、本発明は、その適用が画像形成装置１に限定される類のものではなく、種々の電子機器に適用可能である。この他、上記実施例において、駆動予約は一つのみ登録されるが、不都合な動作が行われないことが確定していれば、駆動予約は複数登録されても良い。
【符号の説明】
【００８８】
１…画像形成装置、１３…給紙トレイ、１５…給紙ローラ、１７…搬送ローラ、２３…記録ヘッド、２５…キャリッジ、２７…排紙ローラ、２９…排紙トレイ、３１…ＡＳＦ信号処理回路、３３…ＰＦ信号処理回路、３５…ＣＲ信号処理回路、４０…制御ユニット、４１…ＣＰＵ、４３…ＲＯＭ、４５…ＲＡＭ、４７…入力インタフェース、４８…出力インタフェース、４９…通信インタフェース、５１…ＡＳＦ駆動回路、５３…ＰＦ駆動回路、５５…ＣＲ駆動回路、５７…ヘッド駆動回路、２５１…ガイド軸、２５３，２５４…プーリ、２５６…無端ベルト、Ｅ１…ＡＳＦエンコーダ、Ｅ２…ＰＦエンコーダ、Ｅ３…ＣＲエンコーダ、Ｍ１…ＡＳＦモータ、Ｍ２…ＰＦモータ、Ｍ３…ＣＲモータ、ＲＳ…レジストセンサ、Ｋ１…モータ制御タスク、Ｋ２…動作監視タスク、Ｋ３…スケジュール管理タスク、Ｐ…用紙
【図１】
2012080641.tif 000003
【図２】
2012080641.tif 000004
【図３】
2012080641.tif 000005
【図４】
2012080641.tif 000006
【図５】
2012080641.tif 000007
【図６】
2012080641.tif 000008
【図７】
2012080641.tif 000009
【図８】
2012080641.tif 000010
【図９】
2012080641.tif 000011