(57)【要約】【課題】  メイン制御部から送信されるコマンドの送信時間を予測し、当該予測時間に応じたエンジン速度でエンジン部を動作させることでコマンドタイムアウトの発生を抑止することが可能な画像形成装置を提供する。【解決手段】  給紙手段と搬送手段とを駆動させる駆動手段と、受信したジョブから印刷画像データを生成するメイン制御部と、メイン制御部からコマンドと印刷画像データを受信して、媒体への画像形成を制御するエンジン制御部とを有し、エンジン制御部は、メイン制御部から印刷ジョブ開始コマンドを受信後に印刷画像データ受信準備完了コマンドを応答するまでの時間であるコマンド送信予測時間を受信した場合、所定の位置から画像形成開始までの媒体搬送時間が、前記コマンド送信予測時間を下回らないように、媒体搬送速度を決定する。【選択図】  図１
2014016520.tif 000002
【特許請求の範囲】
【請求項１】
媒体に画像形成する画像形成部と、
前記画像形成部に媒体を給紙する給紙手段と、
給紙した媒体を搬送する搬送手段と、
前記給紙手段と前記搬送手段とを駆動させる駆動手段と、
印刷要求および当該装置に関する設定要求を含む処理要求をジョブとして受信し、印刷画像データを生成するメイン制御部と、
前記メイン制御部からコマンドと前記印刷画像データを受信して、媒体への画像形成を制御するエンジン制御部とを有し、
前記エンジン制御部は、前記メイン制御部から印刷ジョブ開始コマンドを受信して媒体の給紙を開始後、前記媒体が所定の位置に到達したとき、前記メイン制御部へ印刷画像データ受信準備完了コマンドを通知し、前記メイン制御部からの応答である印刷プロセス開始コマンドを受信して、前記印刷画像データの受信と画像形成を開始し、
前記エンジン制御部は、前記メイン制御部から前記印刷ジョブ開始コマンドを受信後に前記印刷画像データ受信準備完了コマンドを応答するまでの時間であるコマンド送信予測時間を受信した場合に、前記所定の位置から画像形成開始までの媒体搬送時間が、前記コマンド送信予測時間を下回らないように、媒体搬送速度を決定することを特徴とする画像形成装置。
【請求項２】
前記メイン制御部は、前記メイン制御部内に存在する前記ジョブに関するジョブ情報を取得するジョブ情報取得部と、
前記ジョブの処理に必要な機能を実行する処理単位であるタスクのタスク情報を取得するタスク情報取得部と、
処理されたジョブにおけるタスクの実行時間をタスク履歴情報として記憶するタスク実行時間履歴部と、
前記ジョブ情報と前記タスク情報と前記タスク履歴情報とから、前記コマンド送信予測時間を予測するコマンド送信時間予測部を有することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記メイン制御部は、前記エンジン制御部にコマンドを送信するコマンド送信タスクを有し、
前記コマンド送信時間予測部は、前記コマンド送信予測時間を前記コマンド送信タスクの実行時間と前記コマンド送信タスクよりも優先度が高いタスクの実行時間との和から算出することを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記ジョブが処理される毎にタスクの処理に要する時間を計測するタイマを備え、
前記タスク実行時間履歴部は前記タイマによる計測時間の値が、前記履歴情報として記憶されている前記タスク実行時間の値よりも大きい場合、前記タイマによる計測時間の値を前記履歴情報として更新することを特徴とする請求項２記載の画像形成装置。
【請求項５】
前記メイン制御部と前記エンジン制御部との間におけるコマンドタイムアウトの値と、前記媒体搬送速度の速度値とを関連付けた情報をテーブル情報として記憶するテーブル情報記憶部を備え、
前記エンジン制御部は受信した前記コマンド送信予測時間の値を元に前記テーブル情報を参照して、前記媒体搬送速度を決定することを特徴とする請求項２記載の画像形成装置。
【請求項６】
前記エンジン制御部は受信した前記コマンド送信予測時間の値が、前記テーブル情報内の前記コマンドタイムアウトの値よりも大きい場合、前記コマンド送信予測時間の時間経過を待って前記媒体の搬送を開始することを特徴とする請求項５記載の画像形成装置。
【請求項７】
前記エンジン制御部は、前記コマンド送信予測時間を受信した場合に、前記媒体の給紙位置から画像形成位置までの搬送距離に基づいて前記媒体搬送速度を決定することを特徴とする請求項１乃至請求項４の何れか１項記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置に関するものである。
【背景技術】
【０００２】
一般的に、従来の画像形成装置は、入力された印刷データに基づき印刷画像データを生成するメイン制御部と、生成した印刷画像データに基づく印刷画像を媒体に印刷するエンジン制御部とを有しており、エンジン制御部は、媒体への印刷画像の印刷を制御する他に、更に媒体を給紙する給紙機構と媒体を搬送する媒体搬送機構とを制御している。
【０００３】
メイン制御部とエンジン制御部との間はコマンドやデータの送受が可能となるように、電気信号線を介して接続されており、メイン制御部とエンジン制御部との間におけるインタフェース制御方法として、例えば、特許文献１には、メイン制御部とエンジン制御部とのＩ／Ｆ（インタフェース）間においてコマンドタイムアウトが発生した場合、送信したコマンドの最上位ビットを反転させ、同じコマンドを再送する制御方法について記載がなされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２６１９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えば、給紙機構と媒体搬送機構とをメインモータ１個で動作させる比較的安価な画像形成装置では、媒体を搬送途中で停止させることができない。したがって、上記従来技術をこのような画像形成装置に適用した場合、メイン制御部とエンジン制御部との間でコマンドタイムアウトが発生してしまうと、コマンドを再送信したとしても、メイン制御部での印刷画像データの形成がエンジン制御部による印刷速度（以下、エンジン速度と称する）に対して追いつかなくなる問題（アンダーラン）を解決することができなかった。
【０００６】
本発明は、このような実情に鑑みてなされたものであり、本発明の課題は、メイン制御部から送信されるコマンドの送信時間を予測し、当該予測時間に応じたエンジン速度でエンジン部を動作させることでコマンドタイムアウトの発生を抑止することが可能な画像形成装置を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る画像形成装置は、媒体に画像形成する画像形成部と、前記画像形成部に媒体を給紙する給紙手段と、給紙した媒体を搬送する搬送手段と、前記給紙手段と前記搬送手段とを駆動させる駆動手段と、印刷要求および当該装置に関する設定要求を含む処理要求をジョブとして受信し、印刷画像データを生成するメイン制御部と、前記メイン制御部からコマンドと前記印刷画像データを受信して、媒体への画像形成を制御するエンジン制御部とを有し、前記エンジン制御部は、前記メイン制御部から印刷ジョブ開始コマンドを受信して媒体の給紙を開始後、前記媒体が所定の位置に到達したとき、前記メイン制御部へ印刷画像データ受信準備完了コマンドを通知し、前記メイン制御部からの応答である印刷プロセス開始コマンドを受信して、前記印刷画像データの受信と画像形成を開始し、前記エンジン制御部は、前記メイン制御部から前記印刷ジョブ開始コマンドを受信後に前記印刷画像データ受信準備完了コマンドを応答するまでの時間であるコマンド送信予測時間を受信した場合に、前記所定の位置から画像形成開始までの媒体搬送時間が、前記コマンド送信予測時間を下回らないように、媒体搬送速度を決定することを特徴とするとしている。
【発明の効果】
【０００８】
本発明によれば、メイン制御部から送信されるコマンドの送信時間を予測し、当該予測時間に応じたエンジン速度でエンジン部を動作させることでコマンドタイムアウトの発生を抑止することが可能な画像形成装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】画像形成装置の構成を表すブロック図である。
【図２】メイン側印刷制御部に常駐するタスクとタスク優先度を説明する図である。
【図３】メイン側印刷制御部で実行されるタスクの状態を説明する図である。
【図４】ジョブ一覧テーブルを説明する図である。
【図５】タスク一覧テーブルを説明する図である。
【図６】ジョブ毎のタスク実行時間テーブルを説明する図である。
【図７】タスク実行時間履歴テーブルを説明する図である。
【図８】画像形成装置の内部構成を説明する図である。
【図９】画像形成装置の内部構成を説明する図である。
【図１０】エンジン速度−コマンドタイムアウト時間対応テーブルを説明する図である。
【図１１】比較例での通常時の印刷動作を説明するシーケンス図である。
【図１２】シーケンス図の凡例を説明する図である。
【図１３】メイン制御部とエンジン制御部との間で行われる各種コマンドシーケンスを説明する図である。
【図１４】印刷動作中にメイン側印刷制御部に高負荷処理が掛かった場合の比較例での印刷動作を説明する図である。
【図１５】印刷動作中にメイン側印刷制御部に高負荷処理が掛かった場合の比較例でのメイン制御部とエンジン制御部との間で行われる各種コマンドシーケンスを説明する図である。
【図１６】印刷動作中にメイン側印刷制御部に高負荷処理が掛かった場合の本発明でのメイン制御部とエンジン制御部との間で行われる各種コマンドシーケンスを説明する図である。
【図１７】コマンド送信時間予測部によるコマンド送信時間予測処理を説明するフローチャートである。
【図１８】エンジン側コマンドＩ／Ｆ制御部による印刷速度の決定処理を説明するフローチャートである。
【図１９】タスク実行時間履歴テーブルの更新処理を説明するフローチャートである。
【図２０】タスク実行時間履歴テーブルの更新処理を説明するフローチャートである。
【図２１】本発明の適用前後の各種コマンドシーケンを説明するタイムチャートである。
【図２２】画像形成装置の構成を表すブロック図である。
【図２３】エンジン速度テーブルを説明する図である。
【図２４】搬送距離テーブルを説明する図である。
【図２５】エンジン側コマンドＩ／Ｆ制御部による印刷速度の決定処理を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照して説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１１】
［第１の実施形態］
第１の実施形態の説明においては、給紙手段と媒体搬送手段との駆動に駆動手段たる１個のメインモータを用いるプリンタを画像形成装置１００の一例として説明する。
【００１２】
図１は、第１の実施形態に係る画像形成装置１００の構成を表すブロック図である。図１に示すように、画像形成装置１００は、メイン制御部１０１と、エンジン制御部１１２と、エンジン部１１６と、ＦＬＡＳＨ  ＲＯＭ（Read only memory）１１７と、ＲＡＭ（Random access memory）１１８と、ＥＥＰＲＯＭ（Electrically erasable programmable ROM）１１９とを備える。
【００１３】
まず、メイン制御部１０１の構成要素について説明する。メイン制御部１０１は、ネットワーク受信部１０２と、印刷データコマンド解析部１０３と、印刷データ編集・展開部１０４と、メイン側コマンドＩ／Ｆ制御部１０５と、メイン側タイマ１０６と、メイン側印刷制御部１０７と、ジョブ情報取得部１０８と、タスク情報取得部１０９と、タスク実行時間履歴部１１０と、コマンド送信時間予測部１１１とを備える。
【００１４】
ネットワーク受信部１０２は、ネットワーク回線経由で図示せぬ外部端末から印刷データを受信し、受信した印刷データをＲＡＭ１１８に格納させる。また、ネットワーク受信部１０２は、ネットワーク回線経由で図示せぬ外部端末から実行される設定値初期化処理を実行する。
【００１５】
印刷データコマンド解析部１０３は、ＲＡＭ１１８に格納された印刷データのＰＪＬ（Print job language）部分を解析し、解析した結果をＲＡＭ１１８に再度格納させる。
【００１６】
印刷データ編集・展開部１０４は、ＲＡＭ１１８に格納された印刷データのＰＪＬ部分の解析結果を基に印刷データのＰＤＬ（Page description language）部分を翻訳し、ＲＡＭ１１８上において印刷データの編集・展開を行い、印刷画像データを生成する。
【００１７】
メイン側コマンドＩ／Ｆ制御部１０５は、エンジン部１１６の印刷動作を制御するエンジン制御部１１２との間で各種コマンドの送受信を行う。メイン側コマンドＩ／Ｆ制御部１０５は、コマンド送受信を行う中で、印刷データ編集・展開部１０４で生成した印刷画像データをエンジン制御部１１２に送信する。
【００１８】
メイン側タイマ１０６はメイン制御部１０１内の計時手段である。本実施形態においては、メイン側タイマ１０６は、タスク実行時間履歴部１１０の指示に基づき、主にメイン制御部１０１内で実行されるジョブ（ユーザが画像形成装置１００に与える仕事の単位）毎のタスク（メイン制御部１０１から見た処理の実行単位）がその処理の完了までに要する時間（以下、タスク実行時間）を計測する。
【００１９】
メイン側印刷制御部１０７は、メイン制御部１０１の各構成要素間の動作をそれぞれ制御する。図２に示すように、メイン側印刷制御部１０７は、複数のタスクを同時に実行するマルチタスクで動作する。また、メイン側印刷制御部１０７上で動作するタスクは図３に示すように、ＲＵＮ（実行状態）、ＲＥＡＤＹ（実行可能状態）、ＰＥＮＤ（待ち状態）の３つの状態をそれぞれ遷移する。
【００２０】
ジョブ情報取得部１０８は、メイン制御部１０１内で実行されるジョブの一覧情報を取得し、取得した情報を図４に示すジョブ一覧テーブル３００としてＲＡＭ１１８に格納させる。ジョブ一覧テーブル３００には、ジョブＩＤ、ジョブ名が含まれる。
【００２１】
タスク情報取得部１０９は、メイン側印刷制御部１０７が実行するタスクのタスク情報を特定のタイミングで取得し、取得した情報を図５に示すタスク一覧テーブル４００としてＲＡＭ１１８に格納させる。なお、タスク情報取得部１０９が取得可能なタスク情報は、メイン側印刷制御部１０７で実行されるタスクのタスクＩＤ、タスク名、タスク優先度、タスク状態である。本実施形態においては、タスク優先度が示す数値が小さい程、メイン側印刷制御部１０７により実行されるタスクの優先度が高い旨を示し、タスク優先度"０"が最も優先度が高く、タスク優先度"２５５"が最も低い優先度を表す。なお、優先度が高いタスクが実行されているときには、優先度の低いタスクは実行されずに待たされることになる。
【００２２】
タスク実行時間履歴部１１０は、メイン側タイマ１０６を用いて、メイン側印刷制御部１０７で実行されるタスクのタスク実行時間をジョブ毎に取得し、図６に示すジョブ毎のタスク実行時間テーブル５００としてＲＡＭ１１８に一時的に格納させる。また、タスク実行時間履歴部１１０は、ジョブ毎のタスク実行時間を取得後、メイン側印刷制御部１０７が実行可能な全てのジョブ毎のタスク実行時間が予め格納された、図７に示すタスク実行時間履歴テーブル６００の値と、ＲＡＭ１１８に一時的に格納させたジョブ毎のタスク実行時間の値とを比較し、タスク実行時間の値の大きい方をタスク実行時間履歴テーブル６００の値として更新する。
【００２３】
コマンド送信時間予測部１１１は、ジョブ情報取得部１０８、タスク情報取得部１０９、及びタスク実行時間履歴部１１０で取得、履歴化したジョブ一覧テーブル３００、タスク一覧テーブル４００、及びタスク実行時間履歴テーブル６００から、メイン側印刷制御部１０７で実行中の特定タスクの実行時間を予測し、メイン側コマンドＩ／Ｆ制御部１０６からエンジン制御部１１２へ送信される印刷プロセス開始コマンド送信予測時間を算出する。なお、印刷プロセス開始コマンド送信予測時間については後述する。
【００２４】
次に、エンジン制御部１１２の構成要素について説明する。エンジン制御部１１２は、エンジン側コマンドＩ／Ｆ制御部１１３と、エンジン側タイマ１１４と、エンジン側印刷制御部１１５とを備える。
【００２５】
エンジン側コマンドＩ／Ｆ制御部１１３は、メイン制御部１０１との各種コマンド送受信を行う。例えば、エンジン側コマンドＩ／Ｆ制御部１１３は、メイン制御部１０１から後述する印刷ジョブ情報通知コマンドを受信すると、エンジン側印刷制御部１１５へ給紙動作を開始するよう指示を与える。
【００２６】
エンジン側タイマ１１４は、エンジン制御部１１２内の計時手段であり、主にエンジン制御部１１２内で一定の時間計測を行う際に使用される。
【００２７】
エンジン側印刷制御部１１５は、エンジン側コマンドＩ／Ｆ制御部１１３から受信した印刷画像データに基づく印刷画像を媒体に印刷するために、媒体搬送を中心としたエンジン部１１６の制御を行う。
【００２８】
次に、エンジン部１１６の構成要素について、図１、図８、及び図９を用いて説明する。エンジン部１１６は、給紙手段としてのピックアップローラ２００，給紙ローラ２０２と、搬送手段としての搬送ローラ２０４，レジストローラ２０５と、入口センサ２０６と、書き出しセンサ２０７と、駆動手段としてのメインモータ２０８と、画像形成部２０９とを備える。
【００２９】
ピックアップローラ２００は、画像形成装置１００下部に設けられたトレイに収容された媒体２０１をその最上部から１枚ずつ繰り出す。
【００３０】
給紙ローラ２０２は、ピックアップローラ２００により繰り出された媒体２０１を媒体搬送ルート２０３へ送り出す。
【００３１】
搬送ローラ２０４は、給紙ローラ２０２により送り出された媒体２０１を媒体搬送ルート２０３に沿って搬送する。
【００３２】
レジストローラ２０５は、搬送ローラ２０４により搬送された媒体２０１の斜行を矯正しながら、画像形成部２０９に搬送する。
【００３３】
入口センサ２０６は、搬送されてきた媒体２０１の先端を検知すると、検知信号を生成し、生成した検知信号をエンジン側印刷制御部１１５に出力する。
【００３４】
書き出しセンサ２０７は、搬送されてきた媒体２０１の先端を検知すると、検知信号を生成し、生成した検知信号をエンジン側印刷制御部１１５に出力する。なお、書き出しセンサ２０７からの検知信号の入力を受けると、エンジン側印刷制御部１１５は、媒体２０１上に印刷画像データに基づく印刷画像を印刷するために画像形成部２０９が備える図示せぬ露光手段に露光を指示する。
【００３５】
メインモータ２０８は、ピックアップローラ２００、給紙ローラ２０２、搬送ローラ２０４、レジストローラ２０５を駆動させるためのモータである。ピックアップローラ２００から書き出しセンサ２０７までの給紙手段、及び媒体搬送手段は１つの駆動手段たるメインモータ２０８で動作する。
【００３６】
画像形成部２０９は、少なくとも、印刷画像データに基づく光を照射することで像担持体を露光する露光手段と、像担持体上に形成された静電潜像に現像剤を供給することで印刷画像を現像する現像手段と、現像された印刷画像を媒体２０１に転写させる転写手段とを備える。
【００３７】
最後に、ＦＬＡＳＨ  ＲＯＭ１１７、ＲＡＭ１１８、及びＥＥＰＲＯＭ１１９について説明する。
【００３８】
ＦＬＡＳＨ  ＲＯＭ１１７は、タスク実行時間履歴部１１０で履歴化された、図７に示すタスク実行時間履歴テーブル６００を格納するための不揮発性記憶装置である。
【００３９】
ＲＡＭ１１８は、メイン制御部１０１による印刷処理実行時に、一時的にデータを格納するために用いられる揮発性記憶装置である。
【００４０】
テーブル情報記憶部としてのＥＥＰＲＯＭ１１９は、エンジン速度と、メイン制御部１０１−エンジン制御部１１２間のコマンドタイムアウト時間との対応関係をエンジン速度−コマンドタイムアウト時間対応テーブル７００として格納する不揮発性記憶装置である。
【００４１】
次に、本実施形態に係る動作について説明する。なお、以下の説明においては、まず始めに、本発明が適用されていない場合の画像形成装置１００の例を比較例とし、メイン側印刷制御部１０７に高負荷が掛かっていない状態である通常時の印刷動作について説明し、次いで、印刷動作中にメイン側印刷制御部１０７に高負荷処理が掛かった場合の比較例での印刷動作について説明し、最後に、本発明が適用された画像形成装置１００において、印刷動作中にメイン側印刷制御部１０７に高負荷処理が掛かった場合の印刷動作について順に説明する。
【００４２】
まず、比較例での通常時の印刷動作について説明する。事前条件として、画像形成装置１００はアイドル状態であり、印刷処理を実行していない。始めに図示せぬ外部端末から印刷データが送信され、画像形成装置１００がこの印刷データを受信し、印刷を実行する処理について説明する。
【００４３】
図１１に示すように（シーケンス図の凡例は図１２を参照）、画像形成装置１００は、図示せぬ外部端末からネットワーク回線を介して１ジョブ１ページのカラー印刷データを受信すると（ステップＳ１２０１）、メイン側印刷制御部１０７は、内部に常駐しているＰＥＮＤ状態のネットワークタスクに対して処理を依頼する（ステップＳ１２０２）。ネットワークタスクに処理が依頼されると、タスクの状態はＲＥＡＤＹ状態に遷移後、ＲＵＮ状態に遷移する。
【００４４】
そして、ネットワーク受信部１０２は、印刷データの受信処理を実行する（ステップＳ１２０３）。印刷データを受信すると、ネットワーク受信部１０２は、受信した印刷データをＲＡＭ１１８に格納させる。ネットワーク受信部１０２による受信処理が完了すると、ネットワークタスクの状態は、ＲＵＮ状態からＰＥＮＤ状態に遷移する。
【００４５】
次に、メイン側印刷制御部１０７は、内部に常駐しているＰＥＮＤ状態の印刷データ解析タスクに対して処理を依頼する（ステップＳ１２０４）。印刷データ解析タスクに対して処理が依頼されると、タスクの状態はＲＥＡＤＹ状態に遷移後、ＲＵＮ状態に遷移する。
【００４６】
そして、印刷データ解析部１０３は、ＲＡＭ１１８に格納された印刷データのＰＪＬ部分を解析し（ステップＳ１２０５）、解析した結果をＲＡＭ１１８に再度格納させる。印刷データ解析部１０３による解析処理が完了すると、印刷データ解析タスクの状態は、ＲＵＮ状態からＰＥＮＤ状態に遷移する。
【００４７】
次に、メイン側印刷制御部１０７は、内部に常駐しているＰＥＮＤ状態の印刷データ編集・展開タスクに対して処理を依頼する（ステップＳ１２０６）。印刷データ編集・展開タスクに対して処理が依頼されると、タスク状態はＲＥＡＤＹ状態に遷移後、ＲＵＮ状態に遷移する。
【００４８】
そして、印刷データ編集・展開部１０４は、ＲＡＭ１１８に格納された印刷データのＰＪＬ部分の解析結果を基に印刷データのＰＤＬ部分を翻訳し、ＲＡＭ１１８上において印刷データの編集・展開を行い印刷画像データを生成する（ステップＳ１２０７）。生成した印刷画像データは、ＲＡＭ１１８に再度格納される。印刷データ編集・展開部１０４による編集・展開処理が完了すると、印刷データ編集・展開部タスクの状態は、ＲＵＮ状態からＰＥＮＤ状態に遷移する。
【００４９】
次に、メイン側印刷制御部１０７は、内部に常駐しているＰＥＮＤ状態のコマンドＩ／Ｆタスクに対して処理を依頼する（ステップＳ１２０８）。コマンドＩ／Ｆタスクに対して処理が依頼されると、タスクの状態はＲＥＡＤＹ状態に遷移後、ＲＵＮ状態に遷移する。
【００５０】
そして、メイン側コマンドＩ／Ｆ制御部１０５は印刷動作を実行させるため、各種コマンドをエンジン制御部１１２に対して出力する（ステップＳ１２０９）。
【００５１】
ここで、メイン制御部１０１とエンジン制御部１１２との間で行われる各種コマンドシーケンスについて、図８、図９、及び図１３を用いて説明する。
【００５２】
まず、メイン側コマンドＩ／Ｆ制御部１０５は、エンジン側コマンドＩ／Ｆ制御部１１３に対して印刷ジョブ開始コマンドを送信する（ステップＳ１３０１）。
【００５３】
印刷ジョブ開始コマンドの送信後、メイン側コマンドＩ／Ｆ制御部１０５は、同様に、エンジン側コマンドＩ／Ｆ制御部１１３に対して印刷ジョブ情報通知コマンドを送信する（ステップＳ１３０２）。なお、送信される印刷ジョブ情報には、片面／両面印刷指定、カラー／モノクロ印刷指定、出力スタッカ指定等が含まれる。
【００５４】
エンジン側Ｉ／Ｆ制御部１０５に印刷ジョブ情報通知コマンドが送信されると、エンジン側印刷制御部１１２は、予めエンジン制御部１１２内で設定されているエンジン速度（４０ＰＰＭ：Page per minute）で、エンジン部１１６のメインモータ２０８を駆動させる。メインモータ２０８が駆動すると、給紙機構であるピックアップローラ２００、給紙ローラ２０２、及び媒体搬送機構である搬送ローラ２０４、レジストローラ２０５がそれぞれ駆動を開始し、図８に示す媒体２０１が１枚ずつ給紙され、給紙動作が開始される（ステップＳ１３０３）。
【００５５】
給紙動作が開始すると、媒体２０１は媒体搬送ルート２０３に沿って搬送される。そして、媒体２０１が入口センサ２０６に到達すると、当該入口センサ２０６は媒体２０１が到達した旨をエンジン側印刷制御部１１５に通知する。通知を受けたエンジン側印刷制御部１１５は、エンジン側コマンドＩ／Ｆ制御部１１３に対して、画像データ受信準備完了通知コマンドを送信するよう指示を与える。指示を受けたエンジン側コマンドＩ／Ｆ制御部１１３は、画像データ受信準備完了通知コマンドをメイン側コマンドＩ／Ｆ制御部１０５に対して画像データ受信準備完了通知コマンドを送信する（ステップＳ１３０４）。
【００５６】
画像データ受信準備完了通知コマンドを受信したメイン側コマンドＩ／Ｆ制御部１０５は、印刷データ編集・展開部１０４で生成され、ＲＡＭ１１８に格納されている印刷画像データの送信準備を開始する。メイン側コマンドＩ／Ｆ制御部１０５は、印刷画像の送信準備が完了すると、印刷プロセス開始コマンドをエンジン側コマンドＩ／Ｆ制御部１１３に対して送信する（ステップＳ１３０５）。
【００５７】
印刷プロセス開始コマンドを受信したエンジン側印刷制御部１１５は、印刷画像データをメイン制御部１０１から受信し（ステップＳ１３０６）、その後、媒体２０１が書き出しセンサ２０７に到達したタイミングで、画像形成部２０９を制御し印刷動作を開始させる（ステップＳ１３０７）。
【００５８】
すなわち、媒体２０１が入口センサ２０６を通過してから書き出しセンサ２０７に到達するまでの間に、メイン側コマンドＩ／Ｆ制御部１０５からエンジン側コマンドＩ／Ｆ制御部１１３に印刷プロセス開始コマンドが送信されない場合、コマンドタイムアウト（アンダーラン）が発生することになる。
【００５９】
媒体２０１が入口センサ２０６を通過してから書き出しセンサ２０７に到達するまでの間に、メイン側コマンドＩ／Ｆ制御部１０５からエンジン側コマンドＩ／Ｆ制御部１１３に印刷プロセス開始コマンドが送信され、印刷動作が行われた後、最終的に媒体２０１のスタッカ２１０への排出が完了すると（ステップＳ１３０８）、エンジン側コマンドＩ／Ｆ制御部１１３は、メイン側コマンドＩ／Ｆ制御部１０５に排出完了コマンドを送信する（ステップＳ１３０９）。
【００６０】
排出完了コマンドを受信したメイン側コマンドＩ／Ｆ制御部１０５は、エンジン側コマンドＩ／Ｆ制御部１１３に印刷ジョブ終了コマンドを送信する（ステップＳ１３１０）。
【００６１】
以上が、メイン制御部１０１とエンジン制御部１１２との間での行われる各種コマンドシーケンスの詳細説明である。なお、メイン側印刷制御部１０７においてコマンドＩ／Ｆタスクが完了すると、コマンドＩ／Ｆタスクの状態は、ＲＵＮ状態からＰＥＮＤ状態に遷移する。以上が、比較例での通常時の印刷動作の説明である。
【００６２】
次に、印刷動作中にメイン側印刷制御部１０７に高負荷処理が掛かった場合の比較例での印刷動作について、図１４、及び図１５を用いて説明する。なお、既に説明した印刷動作と同じ動作については説明を省略する。また、事前条件として、画像形成装置１００はアイドル状態であり、印刷処理を実行していない。画像形成装置１００は、図示せぬ外部端末からネットワーク回線を介して１ジョブ１ページのカラー印刷データを受信し、印刷を実行する処理を開始するが、この動作は既に説明している動作であるため、ここでの説明は省略する。ここでは、メイン制御部１０１からエンジン制御部１１２に対して印刷ジョブ開始コマンドが送信された直後（図１５のステップＳ１５０１）の動作について説明する。
【００６３】
メイン制御部１０１からエンジン制御部１１２に対して印刷ジョブ開始コマンドが送信された直後、ネットワーク回線経由で図示せぬ外部端末から設定値初期化処理が実行されると、図１４、及び図１５に示すように、メイン側印刷制御部１０７は、ＰＥＮＤ状態のネットワークタスクに対して処理を依頼する（ステップＳ１４１０、ステップＳ１５０２）。ネットワークタスクに処理が依頼されると、タスクの状態はＲＥＡＤＹ状態に遷移する。このときは、ネットワークタスクで即座に設定値初期化処理は実行されずに、既にＲＵＮ状態であったコマンドＩ／Ｆタスクが実行される。
【００６４】
すなわち、メイン制御部１０１はエンジン制御部１１２に対して印刷ジョブ情報通知コマンドを送信し（ステップＳ１５０３）、これを受信したエンジン制御部１１２は給紙動作を開始する（ステップＳ１５０４）。その後、媒体２０１が入口センサ２０６に到達したならば、エンジン制御部１１２はメイン制御部１０１に画像データ受信準備完了通知コマンドを送信する（ステップＳ１５０５）。
【００６５】
その後、メイン側印刷制御部１０７は、現在実行中（ＲＵＮ状態）のコマンドＩ／Ｆタスク（優先度：１００）よりも優先度が高いネットワークタスク（優先度：５０）に実行タスクを切り替えて、コンテキストスイッチ（メイン側印刷制御部１０７の状態を保存、復元する処理）を実行する（ステップＳ１５０６）。
【００６６】
コンテキストスイッチが発生すると、コマンドＩ／Ｆタスクの状態はＲＵＮ状態からＲＥＡＤＹ状態に遷移し、ネットワークタスクの状態はＲＥＡＤＹ状態からＲＵＮ状態に遷移するため、メイン側印刷制御部１０７は、ネットワークタスクで設定値初期化処理を実行する（ステップＳ１４１１）。なお、本実施形態に係る設定値初期化処理は、ネットワークタスクで３００ｍｓの時間が掛かってしまうため、処理を待たされているコマンドＩ／Ｆタスクが印刷プロセス開始コマンドを出力する前に、媒体２０１が書き出しセンサ２０７に到達してしまい（印刷速度が４０ＰＰＭの場合、メイン制御部１０１とエンジン制御部１１２とのコマンドタイムアウト時間は１２０ｍｓ）、コマンドタイムアウト（アンダーラン）が発生してしまう（ステップＳ１５０７）。
【００６７】
以上が、印刷動作中にメイン側印刷制御部１０７に高負荷処理が掛かった場合の比較例での印刷動作の説明である。
【００６８】
最後に、本発明が適用された画像形成装置１００において、印刷動作中にメイン側印刷制御部１０７に高負荷処理が掛かった場合の印刷動作について説明する。なお、既に説明した印刷動作と同じ動作については説明を省略する。また、事前条件として、画像形成装置１００はアイドル状態であり、印刷処理を実行していない。そして、図７に示すように、ＦＬＡＳＨ  ＲＯＭ１１７には、メイン側印刷制御部１０７が実行可能な全てのジョブ毎にタスク実行時間の最大値を備えたタスク実行時間履歴テーブル６００と、図示していないが、通常印刷時における印刷ジョブ情報通知コマンドの出力から印刷プロセス開始コマンドの出力までの処理時間（３０ｍｓ）とが格納されている。また、ＥＥＰＲＯＭ１１９には、図１０に示すように、エンジン部１１６でサポートされているエンジン速度毎に対応するコマンドタイムアウト時間をテーブル化したエンジン速度−コマンドタイムアウト時間対応テーブル７００が格納されている。
【００６９】
まず、画像形成装置１００は、図示せぬ外部端末から印刷データを受信し、印刷を実行する処理を開始するが、この動作は既に説明している動作であるため、ここでの説明は省略する。ここでは、図１６に示すように、メイン制御部１０１からエンジン制御部１１２に対して印刷ジョブ開始コマンドが送信され（ステップＳ１６０１）、メイン側印刷制御部１０７が、ネットワークタスクに処理を依頼した直後（ステップＳＳ１６０２）から説明する。なお、コマンド送信時間予測部１１１によるコマンド送信時間予測処理については図１７を用いて説明し、エンジン側コマンドＩ／Ｆ制御部１１３による印刷速度の決定処理については図１８を用いて説明する。
【００７０】
コマンド送信時間予測部１１１は印刷ジョブ情報通知コマンドの送信前に、コマンド送信時間予測処理（ステップＳ１６０３）を実行する。ここで、コマンド送信時間予測処理について図１７を用いて説明する。コマンド送信時間予測部１１１は、タスク情報取得部１０９からメイン制御部１０１内に存在するタスクの一覧を取得し（ステップＳ１７０１）、図５に示すタスク一覧テーブル４００をＲＡＭ１１８に格納させる。
【００７１】
そして、コマンド送信時間予測部１１１は、ＲＡＭ１１８に格納したタスク一覧テーブル４００から「ＲＥＡＤＹ状態のタスク」、かつ、「コマンドＩ／Ｆタスクよりも優先度の高いタスク」を検索する（ステップＳ１７０２）。なお、本実施形態においては、ネットワークタスクがこれに相当する。
【００７２】
そして、条件（「ＲＥＡＤＹ状態のタスク」、かつ、「コマンドＩ／Ｆタスクよりも優先度が高いタスク」）に一致するタスクが存在した場合（ステップＳ１７０３  Ｙｅｓ）、コマンド送信時間予測部１１１は、ジョブ情報取得部１０８からメイン制御部１０１内で実行中のジョブ一覧を取得し（ステップＳ１７０４）、図４に示すジョブ一覧テーブル３００をＲＡＭ１１８に格納させる（本実施形態においては、メイン制御部１０１内では、「カラー印刷処理」と「設定値初期化処理」とが実行されているため、図４に示すジョブ一覧テーブル３００が取得される）。一方、条件に一致するタスクが存在しない場合（ステップＳ１７０３  Ｎｏ）、コマンド送信時間予測部１１１による処理は終了する。
【００７３】
次に、コマンド送信時間予測部１１１は、取得したジョブ一覧の中から「印刷ジョブ以外のジョブ」、かつ、「ステップＳ１７０２において検索されたタスクで動作するジョブ」の条件を満たすジョブを検索する（ステップＳ１７０５）。なお、「ステップＳ１７０２において検索されたタスクで動作するジョブ」の具体的な検索方法としては、図７に示すタスク実行時間履歴テーブル６００を参照し、実行ジョブに対して、ステップＳ１７０２において検索されたタスクのタスク実行時間が格納されているか否かで判断することができる（本実施形態においては、設定値初期化ジョブが該当する）。
【００７４】
条件に一致するジョブが存在する場合（ステップＳ１７０６  Ｙｅｓ）、コマンド送信時間予測部１１１は、ＦＬＡＳＨ  ＲＯＭ１１７に格納されているタスク実行時間履歴テーブル６００を参考にして、条件に一致したタスク、ジョブに該当するタスク実行時間を取得する（ステップＳ１７０７）。本実施形態においては、ネットワークタスクに係る設定値初期化ジョブであることから、コマンド送信時間予測部１１１は、タスク実行時間として３００ｍｓを取得する。一方、条件に一致するジョブが存在しない場合（ステップＳ１７０６  Ｎｏ）、コマンド送信時間予測部１１１による処理は終了する。
【００７５】
最後に、コマンド送信時間予測部１１１は、ＦＬＡＳＨ  ＲＯＭ１１７に格納されている「印刷ジョブ情報通知コマンド出力から印刷プロセス開始コマンド出力までの処理時間」に「タスク実行時間履歴テーブル６００から取得したタスク実行時間」を加算し、印刷プロセス開始コマンド送信予測時間を算出する（ステップＳ１７０８）。本実施形態の場合、コマンド送信時間予測部１１１は、「印刷ジョブ情報通知コマンド出力から印刷プロセス開始コマンド出力までの処理時間」としての３０ｍｓに、「タスク実行時間履歴テーブル６００から取得したタスク実行時間」としての３００ｍｓを加算した３３０ｍｓを印刷プロセス開始コマンド送信予測時間として算出する。
【００７６】
ここで、再び図１６に戻り、コマンド送信時間予測処理完了後、メイン側コマンドＩ／Ｆ制御部１０５は、印刷プロセス開始コマンド送信予測時間（３３０ｍｓ）を印刷ジョブ情報通知コマンドに付加して、エンジン側コマンドＩ／Ｆ制御部１１３に出力する（ステップＳ１６０４）。
【００７７】
印刷ジョブ情報通知コマンドを受信すると、エンジン側コマンドＩ／Ｆ制御部１１３は、入力された印刷プロセス開始コマンド送信予測時間（３３０ｍｓ）とＥＥＰＲＯＭ１１９に格納されている、エンジン速度−コマンドタイムアウト時間対応テーブル７００とから、メイン制御部１０１とエンジン制御部１１２との間でコマンドタイムアウトが発生しないエンジン速度を決定するため、印刷速度決定処理を実行する（ステップＳ１６０５）。
【００７８】
ここで、エンジン側コマンドＩ／Ｆ制御部１１３による印刷速度決定処理について図１８を用いて説明する。印刷速度決定処理では、まず、エンジン側コマンドＩ／Ｆ制御部１１３は、メイン制御部１０１から送信された印刷プロセス開始コマンド送信予測時間（３３０ｍｓ）を取得する（ステップＳ１８０１）。次に、エンジン側コマンドＩ／Ｆ制御部１１３は、エンジン速度−コマンドタイムアウト時間対応テーブル７００が保持するコマンドタイムアウト時間の値が、取得した印刷プロセス開始コマンド送信予測時間の値よりも大きい値を全て検索する（ステップＳ１８０２）。本実施形態においては、取得した印刷プロセス開始コマンド送信予測時間の値が３３０ｍｓであるため、エンジン側コマンドＩ／Ｆ制御部１１３は、これよりも大きな値（３５０ｍｓ、４００ｍｓ）をエンジン速度−コマンドタイムアウト時間対応テーブル７００から検索する。
【００７９】
取得した印刷プロセス開始コマンド送信予測時間よりも大きい値のコマンドタイムアウト時間の値を取得できた場合（ステップＳ１８０３  Ｙｅｓ）、エンジン側コマンドＩ／Ｆ制御部１１３は、エンジン速度−コマンドタイムアウト時間対応テーブル７００から検索したコマンドタイムアウト時間に対応するエンジン速度において最大の値を有するもの印刷速度として設定する（ステップＳ１８０４）。本実施形態においては、エンジン速度１５ＰＰＭ、１０ＰＰＭがが検索可能であるため、エンジン側コマンドＩ／Ｆ制御部１１３は１５ＰＰＭを印刷速度として設定する。
【００８０】
一方、取得した印刷プロセス開始コマンド送信予測時間よりも大きい値のコマンドタイムアウト時間の値を取得できなかった場合（ステップＳ１８０３  Ｎｏ）、エンジン側コマンドＩ／Ｆ制御部１１３は、この旨をエンジン側印刷制御部１１５に通知する。通知を受けたエンジン側印刷制御部１１５は、給紙動作を開始する前に、エンジン側タイマ１１４を用いて印刷プロセス開始コマンド送信予測時間が経過するのを待ってから（ステップＳ１８０５）、給紙動作を行う。すなわち、エンジン側印刷制御部１１５は、メイン制御部１０１内の高負荷状態が解除されてから印刷動作を実行するため、コマンドタイムアウトを抑止することができる。
【００８１】
再び図１６に戻り、印刷速度決定処理後の印刷動作について説明する。エンジン側印刷制御部１１５は、エンジン側コマンドＩ／Ｆ制御部１１３により設定された印刷速度でエンジン部１１６を制御し、給紙動作を開始させる（ステップＳ１６０６）。給紙動作開始後、媒体２０１が入口センサ２０６に到達すると、エンジン側コマンドＩ／Ｆ制御部１１３は、メイン制御部１０１に画像データ受信準備完了通知コマンドを送信する（ステップＳ１６０７）。
【００８２】
その後、メイン側印刷制御部１０７は、現在実行中（ＲＵＮ状態）のコマンドＩ／Ｆタスク（優先度：１００）よりも優先度が高いネットワークタスク（優先度：５０）に実行タスクを切り替えて、コンテキストスイッチを実行する（ステップＳ１６０８）。コンテキストスイッチが発生したため、メイン側印刷制御部１０７は、ネットワークタスクで設定値初期化処理を３００ｍｓの間実行するが、上述したように、印刷速度は４０ＰＰＭから１５ＰＰＭに変更されたため、コマンドタイムアウト時間も１２０ｍｓから３５０ｍｓに延長される。この結果、エンジン制御部１１２においてコマンドタイムアウトは発生せずに、メイン制御部１０１からエンジン制御部１１２に印刷プロセス開始コマンドが出力されることになる（ステップＳ１６０９）。この後の印刷動作については、既に説明済みであるため、ここでの説明は省略する。
【００８３】
次に、タスク実行時間履歴テーブル６００の更新処理について図１９、及び図２０を用いて説明する。
【００８４】
図１９に示すように、タスク実行時間履歴部１１０は、新規ジョブが投入されるまで待機する（ステップＳ１９０１）。新規ジョブが投入されると、タスク実行時間履歴部１１０は、メイン側タイマ１０６を用いてジョブ毎のタスク実行時間のタイマ計測を開始する（ステップＳ１９０２）。
【００８５】
次に、タスク実行時間履歴部１１０は、ジョブ情報取得部１０８から投入されたジョブのジョブ名を取得し、図６に示すＲＡＭ１１８上のジョブ毎のタスク実行時間テーブル５００のように、当該テーブルにジョブ名を格納させる（ステップＳ１９０３）。そして、タスク実行時間履歴部１１０は、タスク情報取得部１０９から現在実行中（ＲＵＮ状態）のタスク名を取得し、同じく、ジョブ毎のタスク実行時間テーブル５００に当該タスク名を格納する（ステップＳ１９０４）。この後、タスク実行時間履歴部１１０は、コンテキストスイッチ（タスクの切り替え）が発生するまで待機する（ステップＳ１９０５）。
【００８６】
コンテキストスイッチが発生すると、タスク実行時間履歴部１１０は、メイン側タイム１０６によるタイマ計測を停止し(ステップＳ１９０６)、メイン側タイマ１０６で計測した時間の値をＲＡＭ１１８上のジョブ毎のタスク実行時間テーブル５００に加算する（ステップＳ１９０７）。その後、タスク実行時間履歴部１１０は、ジョブの処理がまだ完了していない場合（ステップＳ１９０８  Ｎｏ）、再び計測を開始する（ステップＳ１９０９）。タイマ計測を再開後、タスク実行時間履歴部１１０は、タスク情報取得部１０９から現在実行中（ＲＵＮ状態）のタスク名を取得し、ＲＡＭ１１８上のタスク一覧テーブル４００に格納させる（ステップＳ１９１０）。このように、タスク実行時間履歴部１１０は、コンテキストスイッチをトリガーとして、ジョブが終了するまでＲＵＮ状態のタスクの実行時間をメイン側タイマ１０６で計測させる。
【００８７】
一方、タスク実行時間履歴部１１０は、ジョブの処理が完了した場合（ステップＳ１９０８  Ｙｅｓ）、以下に説明するタスク実行時間履歴テーブル６００の更新処理を実行する（ステップＳ１９１１）。
【００８８】
次に、ジョブが終了した後に実行されるタスク実行時間履歴テーブル６００の更新処理について説明する。
【００８９】
ジョブ毎のタスク処理が全て完了すると、タスク実行時間履歴部１１０は、ＲＡＭ１１８に一時的に格納させた、ジョブ毎のタスク実行時間テーブル５００からジョブ名を取得し、取得したジョブ名と同じ名のジョブがＦＬＡＳＨ  ＲＯＭ１１７のタスク実行時間履歴テーブル６００に格納されているか否かを検索する（ステップＳ２００１）。
【００９０】
検索の結果、一致するジョブ名がＦＬＡＳＨ  ＲＯＭ１１７に格納されている場合（ステップＳ２００２  Ｙｅｓ）、タスク実行時間履歴部１１０は、更に、ＦＬＡＳＨ  ＲＯＭ１１７、ＲＡＭ１１８に格納されたテーブルに同じ名のタスク名が存在するか否かを検索する。ここで、同じ名のタスク名が存在する場合、タスク実行時間履歴部１１０は、それぞれのタスク実行時間の値を取得する（ステップＳ２００３）。
【００９１】
ステップＳ２００４において、それぞれのタスク実行時間の値が取得できた場合（ステップＳ２００４Ｙｅｓ）、タスク実行時間履歴部１１０は、ＦＬＡＳＨ  ＲＯＭ１１７から取得したタスク実行時間の値とＲＡＭ１１８から取得したタスク実行時間の値とを比較する。ここで、ＲＡＭ１１８から取得したタスク実行時間の値の方が大きい場合（ステップＳ２００５Ｙｅｓ）、タスク実行時間履歴部１１０は、ＲＡＭ１１８から取得したタスク実行時間の値をＦＬＡＳＨ  ＲＯＭ１１７に格納させる（ステップＳ２００６）。一方、ＲＡＭ１１８から取得したタスク実行時間の値の方が小さい場合（ステップＳ２００５  Ｎｏ）、タスク実行時間履歴部１１０による処理は、ステップＳ２００３に戻る。
【００９２】
なお、ＲＡＭ１１８に格納されたジョブの名と同じ名のジョブがＦＬＡＳＨＲＯＭ１１７に存在しなかった場合（ステップＳ２００２  Ｎｏ）、タスク実行時間履歴部１１０は、ジョブ毎のタスク実行時間テーブル５００が保持するジョブ毎のタスク実行時間を全てＦＬＡＳＨ  ＲＯＭ１１７のタスク実行時間履歴テーブル６００に格納する（ステップＳ２００７）。
【００９３】
以上のように、第１の実施形態によれば、図２１に示すタイムチャートに示すように、エンジン制御部において給紙動作が実行される前に、メイン制御部から出力されるコマンドの送信時間を予測し、かつ、当該コマンド送信予測時間をエンジン制御部に出力し、この予測時間に応じた印刷速度でエンジン部を動作させることが可能であるため、コマンドタイムアウトの発生を抑止することができる。
【００９４】
［第２の実施形態］
第２の実施形態に係る画像形成装置の構成は第１の実施形態に係る画像形成装置の構成と略同一である。したがって、第１の実施形態と同一な構成については、同一の符号を付してその説明を省略し、異なる箇所について説明する。
【００９５】
図２２は、第２の実施形態に係る画像形成装置２２００の構成を表すブロック図である。画像形成装置２２００は、第１の実施形態に係る画像形成装置１００のエンジン側コマンドＩ／Ｆ制御部１１３に替えてエンジン側コマンドＩ／Ｆ制御部２２１３と、ＥＥＰＲＯＭ１１９に替えてＥＥＰＲＯＭ２２１９とを備える。
【００９６】
エンジン制御部２２１２のエンジン側コマンドＩ／Ｆ制御部２２１３は、印刷動作を制御する上で、メイン制御部１０１と各種コマンドの入出力を行うが、第１の実施形態に係るエンジン側コマンドＩ／Ｆ制御部１１３との違いは、メイン側コマンドＩ／Ｆ制御部１０５から印刷プロセス開始コマンド送信予測時間が入力されたときの動作が異なる。この動作については、後述する。
【００９７】
ＥＥＰＲＯＭ２２１９は、図２３に示す、エンジン部１１６でサポートしているエンジン速度テーブル８００と、図２４に示す、媒体の給紙位置から書き出しセンサ２０７までの搬送距離を保持する搬送距離テーブル９００とをそれぞれ格納する。
【００９８】
次に、本実施形態に係る動作について説明する。なお、本実施形態に係る大部分の動作は第１の実施形態に係る動作と略同様に行うことができるため、ここでの説明は省略し、異なる動作たる印刷速度決定処理について、図２５を用いて説明する。
【００９９】
事前条件として、画像形成装置２２００はアイドル状態であり、印刷処理を実行していない。また、ＥＥＰＲＯＭ２２１９は、上述したように、エンジン部１１６でサポートしているエンジン速度を保持するエンジン速度テーブル８００と、媒体の給紙位置から書き出しセンサ２０７までの搬送距離を保持する搬送距離テーブル９００とををそれぞれ格納しているものとする。
【０１００】
まず、エンジン側コマンドＩ／Ｆ制御部２２１３は、印刷プロセス開始コマンド送信予測時間（３００ｍｓ）を取得し（ステップＳ２３０１）、取得した印刷プロセス開始コマンド送信予測時間（３３０ｍｓ）と、ＥＥＰＲＯＭ２２１９に格納されている、搬送距離テーブル９００が保持する搬送距離とからコマンドタイムアウトが発生する予測のエンジン速度を下式から算出する（ステップＳ２３０２）。
【０１０１】
４０［ｍｍ］／３３０［ｍｓ］＝１２１［ｍｍ／ｓ］（小数点以下四捨五入）
【０１０２】
次に、エンジン側コマンドＩ／Ｆ制御部２２１３は、算出したエンジン速度をＰＰＭ（Page Per minute）単位に変換する（ステップＳ２３０３）。本実施形態における変換式は下式で表される。
【０１０３】
（１２１［ｍｍ／ｓ］／（２９７［ｍｍ］＋７０［ｍｍ］））＊６０［ｓｅｃ／ｍｉｎ］＝２０［ＰＰＭ］（小数点以下四捨五入）
【０１０４】
次に、エンジン側コマンドＩ／Ｆ制御部２２１３は、変換して得られたエンジン速度［ＰＰＭ］と、エンジン速度テーブル８００とを比較し、変換して得られたエンジン速度の値よりも小さい値を有するエンジン速度を全て取得する（ステップＳ２３０４）。
【０１０５】
変換して得られたエンジン速度の値よりも小さい値を有するエンジン速度が得られた場合（ステップＳ２３０５  Ｙｅｓ）、エンジン側コマンドＩ／Ｆ制御部２２１３は、取得したエンジン速度において最大の値を有するエンジン速度を印刷速度として設定する（ステップＳ２３０６）。
【０１０６】
本実施形態においては、エンジン側コマンドＩ／Ｆ制御部２２１３は、１５［ＰＰＭ］、及び１０［ＰＰＭ］のエンジン速度を取得し、１５［ＰＰＭ］を印刷速度として設定する。
【０１０７】
一方、変換して得られたエンジン速度の値よりも小さい値を有するエンジン速度が得られない場合（ステップＳ２３０５  Ｎｏ）、エンジン側コマンドＩ／Ｆ制御部２２１３は、この旨をエンジン側印刷制御部１１５に通知する。通知を受けたエンジン側印刷制御部１１５は、給紙動作を開始する前に、エンジン側タイマ１１４を用いて印刷プロセス開始コマンド送信予測時間が経過するのを待ってから（ステップＳ２３０７）、給紙動作を行う。
【０１０８】
以上のように、第２の実施形態によれば、エンジン制御部において給紙動作が実行される前に、メイン制御部から出力されるコマンドの送信予測時間とＥＥＰＲＯＭに格納されている媒体の搬送距離からコマンドタイムアウトが発生する予測印刷速度を算出し、この予測印刷速度よりも遅い印刷速度でエンジン部を動作させることが可能であるため、第１の実施形態と同様に、コマンドタイムアウトの発生を抑止することができる。また、第２の実施形態では、ＥＥＰＲＯＭにエンジン速度に対応したコマンドタイムアウト時間を格納させる必要が無いため、ＥＥＰＲＯＭに対する記憶容量の削減を図ることができる。
【０１０９】
本発明の実施形態の説明においては、本発明を適用した画像形成装置の一例として、プリンタについて説明したが、本発明はこれに限定されず、例えば、ＭＦＰ（Multifunction peripheral）、ファクシミリ等にも適用可能である。
【符号の説明】
【０１１０】
１００，２２００  画像形成装置
１０１  メイン制御部
１０２  ネットワーク受信部
１０３  印刷データコマンド解析部
１０４  印刷データ編集・展開部
１０５  メイン側コマンドＩ／Ｆ制御部
１０６  メイン側タイマ
１０７  メイン側印刷制御部
１０８  ジョブ情報取得部
１０９  タスク情報取得部
１１０  タスク実行時間履歴部
１１１  コマンド送信時間予測部
１１２  エンジン制御部
１１３，２２１３  エンジン側コマンドＩ／Ｆ制御部
１１４  エンジン側タイマ
１１５  エンジン側印刷制御部
１１６  エンジン部
１１７  ＦＬＡＳＨ  ＲＯＭ
１１８  ＲＡＭ
１１９，２２１９  ＥＥＰＲＯＭ
２００  ピックアップローラ
２０２  給紙ローラ
２０４  搬送ローラ
２０５  レジストローラ
２０６  入口センサ
２０７  書き出しセンサ
２０８  メインモータ
２０９  画像形成部
【図１】
2014016520.tif 000003
【図２】
2014016520.tif 000004
【図３】
2014016520.tif 000005
【図４】
2014016520.tif 000006
【図５】
2014016520.tif 000007
【図６】
2014016520.tif 000008
【図７】
2014016520.tif 000009
【図８】
2014016520.tif 000010
【図９】
2014016520.tif 000011
【図１０】
2014016520.tif 000012
【図１１】
2014016520.tif 000013
【図１２】
2014016520.tif 000014
【図１３】
2014016520.tif 000015
【図１４】
2014016520.tif 000016
【図１５】
2014016520.tif 000017
【図１６】
2014016520.tif 000018
【図１７】
2014016520.tif 000019
【図１８】
2014016520.tif 000020
【図１９】
2014016520.tif 000021
【図２０】
2014016520.tif 000022
【図２１】
2014016520.tif 000023
【図２２】
2014016520.tif 000024
【図２３】
2014016520.tif 000025
【図２４】
2014016520.tif 000026
【図２５】
2014016520.tif 000027