(57)【要約】【課題】  シリアルプリンタにおいて、パス印字動作の終了直後に行われる印字後処理による紙送動作開始の遅れを解消し、スループットを向上させる。【解決手段】  シリアルプリンタ２０のコントローラ２４内で、ジョブ制御部３２がパス印字メッセージをエンジン制御部３４に送った後、印刷エンジン２２でのパス印字動作が終了する前に、直ちに紙送メッセージをメッセージバッファに出力し同時にイベントフラグ３６をセットする。エンジン制御部３４は、パス印字メッセージに基づくパス印字動作が終了した時点で、直ちに印字後処理（インク使用量カウンタの更新や印刷ヘッドの微小振動波形の設定など）を開始し、同時に、イベントフラグ３６がセットされていたならば、メッセージバッファから紙送メッセージを取りそれに基づき印刷エンジン２２に紙送動作を実行させる。よって、紙送動作と印字後処理とがパス印字動作の終了直後に開始され並行して実行される。【選択図】図２
2006231556.tif 000002
【特許請求の範囲】
【請求項１】
パス印字動作と紙送動作とを組み合わせて印刷媒体への印刷を行うシリアルプリンタにおいて、
印刷ヘッドとキャリッジと紙送装置を含む印刷エンジンと、
前記印刷エンジンを制御するコントローラと
を備え、
前記コントローラは、前記印刷エンジンによるパス印字動作の終了時に紙送量が確定している場合には、前記パス印字動作の終了直後に前記紙送量分の紙送動作を前記印刷エンジンに開始させ、かつ、所定の印字後処理を前記紙送動作と並行して実行することを特徴とするシリアルプリンタ。
【請求項２】
請求項１記載のシリアルプリンタにおいて、
前記コントローラは、前記パス印字動作の終了時に紙送量が確定していない場合には、前記パス印字動作に後続する前記印字後処理が終了した後で、かつ前記紙送量が確定したときに、前記紙送動作を前記印刷エンジンに開始させることを特徴とするシリアルプリンタ。
【請求項３】
請求項１又は２記載のシリアルプリンタにおいて、
前記コントローラは、
前記パス印字動作を制御するためのパス印字メッセージと、前記紙送動作を制御するための紙送メッセージを生成するジョブ制御部と、
前記ジョブ制御部からの前記パス印字メッセージに応答して前記パス印字動作を実行するよう前記印刷エンジンを制御し、前記ジョブ制御部からの前記紙送メッセージに応答して前記紙送動作を実行するよう前記印刷エンジンを制御するエンジン制御部と、
を有し、
前記ジョブ制御部は、前記パス印字メッセージを前記エンジン制御部へ送り、その後、前記パス印字動作の終了を知る前に前記紙送量が確定した場合には前記紙送メッセージを前記エンジン制御部に送り、
前記エンジン制御部は、前記パス印字動作の終了前に紙送メッセージが前記ジョブ制御部から送られた場合、前記紙送メッセージに基づいて前記パス印字動作の終了直後に前記紙送動作が実行されるよう前記印刷エンジンを制御する
ことを特徴とするシリアルプリンタ。
【請求項４】
請求項３記載のシリアルプリンタにおいて、
前記コントローラは、前記紙送メッセージの有無を示す紙送イベントフラグを更に有し、
前記ジョブ制御部は、前記パス印字動作の終了を知る前に前記紙送量が確定した場合には、前記紙送メッセージを前記エンジン制御部が取得できる格納場所に格納し、かつ前記紙送イベントフラグをセットし、
前記エンジン制御部は、前記紙送イベントフラグをチェックすることにより、前記パス印字動作の終了時に紙送量が確定しているか否かを判断し、前記紙送量が確定している場合、前記格納場所から前記紙送メッセージを取得する
ことを特徴とするシリアルプリンタ。
【請求項５】
請求項３記載のシリアルプリンタにおいて、
前記コントローラは、前記紙送メッセージを一時的に保持するためのメッセージバッファを更に有し、
前記ジョブ制御部は、前記パス印字メッセージを作成するとき、前記メッセージバッファ内の前記紙送メッセージのための格納場所を示すポインタを前記パス印字メッセージに付加し又は含ませ、そして、前記パス印字動作の終了を知る前に前記紙送メッセージを生成した場合、前記紙送メッセージを前記メッセージバッファ内の前記紙送メッセージのための格納場所に格納し、
前記エンジン制御部は、前記ジョブ制御部から受けた前記パス印字メッセージに付加又は含まれている前記ポインタに基づいて、前記メッセージバッファ内の前記紙送メッセージのための格納場所を把握し、そして、前記パス印字動作の終了前に前記紙送イベントフラグがセットされていた場合、前記メッセージバッファ内の前記紙送メッセージのための格納場所から前記紙送メッセージを取得する
ことを特徴とするシリアルプリンタ。
【請求項６】
請求項３記載のシリアルプリンタにおいて、
前記エンジン制御部は、前記印字後処理が終了した時、前記パス印字動作の終了と前記紙送動作の開始の有無を知らせる印字終了メッセージを前記ジョブ制御部に送り、
前記ジョブ制御部は、前記エンジン制御部からの前記印字終了メッセージを受信した後、前記印字終了メッセージが前記紙送動作の未開始を示す場合には、前記紙送メッセージを既に送信していたとしても、前記紙送メッセージを前記エンジン制御部へ再送信し、前記印字終了メッセージが前記紙送動作の開始済みを示す場合には前記紙送メッセージの再送信を行わない、
ことを特徴とするシリアルプリンタ。
【請求項７】
上位装置と通信可能に接続され、パス印字動作と紙送動作とを組み合わせて印刷媒体への印刷を行うシリアルプリンタにおいて、
印刷ヘッドとキャリッジと紙送装置を含む印刷エンジンと、
前記上位装置に応答して前記印刷エンジンを制御するコントローラと
を備え、
前記コントローラは、前記印刷エンジンによるパス印字動作の終了時に前記上位装置から紙送動作が要求された場合には、前記パス印字動作の終了直後に前記要求された紙送動作を前記印刷エンジンに開始させ、かつ、所定の印字後処理を前記紙送動作と並行して実行することを特徴とするシリアルプリンタ。
【請求項８】
パス印字動作と紙送動作とを組み合わせて印刷媒体への印刷を行うシリアルプリンタの制御方法において、
パス印字動作の終了時に、紙送量が確定している場合には、前記パス印字動作の終了直後に紙送動作を開始するステップと、
所定の印字後処理を前記紙送動作と並行して実行するステップと
を備えることを特徴とするシリアルプリンタの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パス印字動作と紙送動作とを組み合わせて印刷媒体への印刷を行うシリアルプリンタ及びその制御方法に関する。
【背景技術】
【０００２】
シリアルプリンタは、印刷ヘッドで印刷媒体の表面をラスタ式に走査しながら、印刷ヘッドを駆動して印刷媒体の表面に印刷を行う。典型的な構成のシリアルプリンタは、主走査方向に往復走行することができるキャリッジを有し、そのキャリッジ上に印刷ヘッドが搭載され、また、印刷ヘッドの正面にプラテンが配置され、さらに、印刷媒体をプラテンの表面上で副走査方向へ送る紙送装置を有する。このようなシリアルプリンタに関し、例えば特許文献１には、スループットを向上させるために、キャリッジのスタート遅れを改善するように、キャリッジ動作と紙送動作を部分的に重ね合わせる制御が開示されている。
【０００３】
【特許文献１】特開平２００４−９０４３１号公報、例えば図５
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１で述べられているキャリッジのスタート遅れの問題とは別に、紙送動作の遅れという問題がある。すなわち図１に示すように、キャリッジの１回の片道走行１４と並行して印刷ヘッドからインクを吐出するパス印字動作１０が行われ、パス印字動作１０に引き続いて印字後処理１２が行われる。印字後処理１２は、直前のパス印字動作１０で吐出されたインク量を計算してインク使用量カウンタを更新したり、印刷ヘッドの微小振動（パス印字動作間のインターバル中、インク状態を良好に維持するために印刷ヘッドを微小振動させること）のための振動波形データを印刷ヘッドに設定したりする。従来のプリンタのコントローラは、パス印字動作１０と印字後処理１２とは一体の処理として扱い（換言すれば、印字後処理１２はパス印字動作１０にその一部として組み込まれているといってよく）、印字後処理１２の終了をもって印字動作１０が終了したと判断して次の紙送動作１６を開始するように、制御を行っている。そのため、印字動作１０の終了時点から紙送動作１６を開始時点までに、印字後処理１２に要する時間にほぼ相当する遅れ時間Ｔが存在する。しかし、印字後処理１２が行われている時には、パス印字動作１０は既に実際に終了しているから、紙送動作１６を開始しても差し支えない。よって、紙送動作開始の遅れ時間Ｔは無駄な待ち時間である。
【０００５】
したがって、本発明の目的は、シリアルプリンタにおいて、パス印字動作の終了後の紙送動作開始の遅れ時間を解消して、スループットを向上させることにある。
【課題を解決するための手段】
【０００６】
本発明に従えば、パス印字動作と紙送動作とを組み合わせて印刷媒体への印刷を行うシリアルプリンタは、印刷ヘッドとキャリッジと紙送装置を含む印刷エンジンと、印刷エンジンを制御するコントローラとを備え、コントローラは、印刷エンジンによるパス印字動作の終了時に、紙送量が確定している場合には、パス印字動作の終了直後に紙送量分の紙送動作を印刷エンジンに開始させ、かつ、所定の印字後処理を紙送動作と並行して実行する。
【０００７】
本発明に従うシリアルプリンタによれば、パス印字動作の終了時に既に紙送量が確定している場合には、パス印字動作の終了直後にその紙送量分の紙送動作が開始される。そして、印字後処理を紙送動作と並行して実行される。したがって、紙送動作開始の遅れが解消され、スループットが向上する。
【０００８】
好適な実施形態では、コントローラは、パス印字動作の終了時に紙送量が確定していない場合には、その後に印字後処理が終了し且つ紙送量が確定したときに、紙送動作を印刷エンジンに開始させるようになっている。したがって、何らかの原因（例えば上位装置からの印刷ジョブコマンドの到来の遅れなど）により紙送量の確定がパス印字動作の終了より遅れたとしても、パス印字動作の後の印字後処理が終了し且つ紙送量が確定した時点で、紙送動作が実行されるので、従来装置より紙送動作の開始が遅れる虞はない。
【０００９】
好適な実施形態では、コントローラは、パス印字動作を制御するためのパス印字メッセージと紙送動作を制御するための紙送メッセージを生成するジョブ制御部と、ジョブ制御部からのパス印字メッセージに応答してパス印字動作を実行するよう印刷エンジンを制御し、ジョブ制御部からの紙送メッセージに応答して紙送動作を実行するよう印刷エンジンを制御するエンジン制御部とを有する。コントローラ内のジョブ制御部は、パス印字メッセージをエンジン制御部へ送り、その後、パス印字動作の終了を知る前に紙送量が確定した場合には紙送メッセージをエンジン制御部に送る。エンジン制御部は、パス印字動作の終了前に紙送メッセージがジョブ制御部から送られた場合、その紙送メッセージに基づいて、パス印字動作の終了直後に紙送動作が実行されるよう前記印刷エンジンを制御する。このようにして、コントローラ内では紙送メッセージがジョブ制御部からエンジン制御部へ渡される。
【００１０】
好適な実施形態では、さらに、紙送メッセージの有無を示す紙送イベントフラグが設けられ、ジョブ制御部は、パス印字動作の終了を知る前に紙送量が確定した場合には、紙送メッセージをエンジン制御部が取得できる格納場所に格納し、かつ紙送イベントフラグをセットする。そして、エンジン制御部は、その紙送イベントフラグをチェックすることにより、パス印字動作の終了時に紙送量が確定しているか否かを判断し、その結果、紙送量が確定している場合、上記格納場所から紙送メッセージを取得する。このように、コントローラ内では、紙送イベントフラグを用いて、ジョブ制御部からエンジン制御部へと、パス印字動作終了前に紙送量が確定したか否か（換言すれば、上記格納場所に紙送メッセージが格納されたか否か）が通知される。よって、エンジン制御部は、遅くともパス印字動作の終了時点には、紙送メッセージの有無を確実に把握でき、紙送メッセージが有れば直ちに紙送動作の制御を開始することができる。
【００１１】
好適な実施形態では、コントローラは、紙送メッセージを一時的に保持するためのメッセージバッファを更に有し、ジョブ制御部は、メッセージバッファ内の紙送メッセージのための格納場所を予め確保し、パス印字メッセージを作成するとき、その格納場所へのポインタをパス印字メッセージに付加し又は含ませ、そして、パス印字動作の終了を知る前に紙送メッセージを生成した場合、紙送メッセージをメッセージバッファ内の上記格納場所に格納する。エンジン制御部は、ジョブ制御部から受けたパス印字メッセージに付加又は含まれているポインタに基づいて、メッセージバッファ内の上記格納場所を把握し、そして、パス印字動作の終了直後に紙送イベントフラグがセットされていた場合、メッセージバッファ内の上記格納場所から紙送メッセージを取得する。このように、ジョブ制御部からエンジン制御部へ送られるパス印字メッセージを用いて、メッセージバッファ内に予め確保された紙送メッセージのための格納場所をエンジン制御部に通知することにより、エンジン制御部はパス印字動作の終了時点で速やかに、予め通知されたメッセージバッファ内格納場所から紙送メッセージを取得することができ、よって、パス印字動作の終了後直ちに紙送動作の制御を開始することができる。
【００１２】
好適な実施形態では、エンジン制御部は、印字後処理が終了した時、パス印字動作の終了と紙送動作の開始の有無を知らせる印字終了メッセージをジョブ制御部に送る。ジョブ制御部は、エンジン制御部からの印字終了メッセージを受信した後、その印字終了メッセージが紙送動作の未開始を示す場合には、紙送メッセージを既に送信していたとしても、紙送メッセージをエンジン制御部へ再送信する。他方、印字終了メッセージが紙送動作の開始済みを示す場合には、上記紙送メッセージの再送信は行わない。このように、印字終了メッセージを用いて紙送動作が開始されたか否かをジョブ制御部に通知して、開始されてない場合には紙送メッセージのエンジン制御部への再送信を行うことで、何らかの原因で紙送メッセージの送信がパス印字動作の終了時点より遅れたために、パス印字動作の終了時点で紙送メッセージがエンジン制御部に受け取られなかった場合でも、印字後処理の終了後に確実に紙送処理を実行することが可能である。
【００１３】
本発明の別の側面に従えば、上位装置と通信可能に接続され、パス印字動作と紙送動作とを組み合わせて印刷媒体への印刷を行うシリアルプリンタは、印刷ヘッドとキャリッジと紙送装置を含む印刷エンジンと、前記上位装置に応答して前記印刷エンジンを制御するコントローラとを備え、前記コントローラは、前記印刷エンジンによるパス印字動作の終了時に前記上位装置から紙送動作が要求された場合には、前記パス印字動作の終了直後に前記要求された紙送動作を前記印刷エンジンに開始させ、かつ、所定の印字後処理を前記紙送動作と並行して実行する。
【００１４】
このシリアルプリンタによれば、パス印字動作の終了時に上位装置から紙送動作が要求されている場合には、パス印字動作の終了直後にその要求された紙送動作が開始される。そして、印字後処理を紙送動作と並行して実行される。したがって、紙送動作開始の遅れが解消され、スループットが向上する。
【００１５】
本発明のまた別の側面に従えば、パス印字動作と紙送動作とを組み合わせて印刷媒体への印刷を行うシリアルプリンタの制御方法は、パス印字動作の終了時に、紙送量が確定している場合には、パス印字動作の終了直後に紙送動作を開始するステップと、所定の印字後処理を紙送動作と並行して実行するステップとを備える。
【発明の効果】
【００１６】
本発明のシリアルプリンタによれば、パス印字動作の終了直後に実行される印字後処理後による紙送動作開始の遅れ時間を解消し、スループットを向上させることができる。
【発明を実施するための最良の形態】
【００１７】
図２は、本発明の一実施形態にかかるシリアルプリンタの構成を示す。
【００１８】
図２に示すように、シリアルプリンタ(以下、単にプリンタという）２０は、印刷エンジン２２と、印刷エンジン２２を制御するコントローラ２４とを有する。印刷エンジン２２は、印刷ヘッド２４、キャリッジ２６及び紙送装置２８などを含む。印刷エンジン２２の具体的な構成は周知のものであってよい。コントローラ２４は、一方で印刷エンジン２２に接続され、他方でホストコンピュータやデジタルカメラのような上位装置４０に接続される。コントローラ２４は、コマンド解析部３０、ジョブ制御部３２及びエンジン制御部３４を有する。コントローラ２４は例えばマイクロコンピュータ（図示せず）を含んだ電子回路であり、コマンド解析部３０、ジョブ制御部３２及びエンジン制御部３４は例えばそのマイクロコンピュータにて多重に実行される複数タスクである。また、本発明の原理に従って紙送動作を制御するためにジョブ制御部３２とエンジン制御部３４との間（例えばマイクロコンピュータ内のメモリ上）に、紙送イベントフラグ３６が設けられる。
【００１９】
コントローラ２４のコマンド解析部３０は、上位装置４０から印刷ジョブを構成するコマンドのストリームを受信し、受信したコマンドを順次に解釈し、解釈の結果として各種の動作要求、例えばパス印字要求や紙送要求や排紙要求など、を順次に生成する。ジョブ制御部３２は、コマント解析部３０で順次に生成された動作要求を順次に受け取り、各動作要求に対応した動作メッセージ、例えばパス印字メッセージ、紙送メッセージ又は排紙メッセージなど、を順次に生成してエンジン制御部３４に送る。エンジン制御部３４は、ジョブ制御部３２から順次に受信した動作メッセージにそれぞれ応答して、印刷エンジン２２を制御して、各種の動作、例えばパス印字動作、紙送動作又は排紙動作などを順次に印刷エンジン２２に実行させる。
【００２０】
ジョブ制御部３２とエンジン制御部３４とは、両者間のメッセージ通信に関して、原則として、次のような手順で動作する。すなわち、ジョブ制御部３２は、1度に１つの動作メッセージをエンジン制御部３４に送る。エンジン制御部３４は、受信した動作メッセージに応答して、対応する１つの動作を印刷エンジン２２に実行させる。そして、その１つの動作の実行が終了すると、エンジン制御部３４は、その動作の終了を示す動作終了メッセージをジョブ制御部３２に返信する。ジョブ制御部３２は、その動作終了メッセージを受信すると、次の１つの動作メッセージをエンジン制御部３４に送る。
【００２１】
この原則的な動作手順に単純に従えば、パス印字動作を行なった後に紙送動作を行いたい場合には、まず、パス印字メッセージがジョブ制御部３２からエンジン制御部３４に送られ、そのパス印字メッセージに対する動作終了メッセージがエンジン制御部３４からジョブ制御部３２に返信されると、次の紙送メッセージがジョブ制御部３２からエンジン制御部３４に送られることになる。その場合、エンジン制御部３４は、パス印字メッセージを受けると、印刷エンジン２２を制御してパス印字動作を実行させ、パス印字動作が終わると、引き続いて印字後処理を実行させ、印字後処理が終了した時に、パス印字動作の終了を示す印字終了メッセージをジョブ制御部３２へ返送する。そのため、もし、上述した原則的な動作手順にみに単純に従えば、図１を参照して既に説明したように、印字後処理１２が終了した後に紙送動作１６が開始されることになり、無駄な遅れ時間Ｔが生じてしまうという問題が生じる。
【００２２】
そこで、この問題を解決するために、本実施形態では、ジョブ制御部３２とエンジン制御部３４の動作手順として、上述した原則的な動作手順をベースにして、これにパス印字動作と紙送動作に関して本発明の原理に従った改善を施した動作手順が採用される。その改善された動作手順により、本実施形態では、図４に示すように、一部の例外的場合を除いて、通常は、パス印字動作１０が終了した直後に紙送動作５０が開始され、紙送動作５０と並行して印字後処理１２が実行されることになる。その結果、従来の紙送動作開始の遅れ時間Ｔが解消され、その分だけ次のパス印字動作も図１に示した従来の場合より早く開始され、スループットが向上する。
【００２３】
以下、上述したパス印字動作と紙送動作に関するジョブ制御部３２とエンジン制御部３４の改善された動作手順について詳細に説明する。
【００２４】
図４（A）は、この改良された動作手順によって、パス印字動作の終了直後に紙送動作が開始される場合の制御例を示すタイムチャートである。これに対し、図４（B）は、この改良された動作手順が行われる場合であっても、従来技術と同様に紙送動作の遅れが生じてしまう場合の制御例を示すタイムチャートである。ここで、通常は、図４（A）に示すような制御が実行されるのであるが、例外的な特別の場合、例えば、上位装置４０からの紙送コマンドの到来が遅れた場合や要求された紙送量がゼロである場合には、図４（B）に示すような制御が行われることになる。
【００２５】
まず、図４（A）に示す制御例を説明する。この制御例では、コマンド解析部３０が、上位装置４０から受信したコマンドストリームを解析した結果として、パス印字要求６０、紙送要求６１及び次のパス印字要求６２をこの順序で矢印９０，９１，９２に示すように連続的に生成した場合を想定する。コマンド解析部３０は、生成したパス印字要求６０、紙送要求６１及び次のパス印字要求６２を、順次に要求バッファ７０に格納する（矢印９０、９１、９２）。
【００２６】
ジョブ制御部３２は、まずパス印字要求６０を要求バッファ７０から読み込み（矢印１００）、そのパス印字要求６０に基づいてパス印字メッセージ８０を生成し、生成したパス印字メッセージ８０を、メッセージバッファ７２に格納し（矢印１０１）、そして、パス印字メッセージ８０のメッセージバッファ７２内での格納アドレスをエンジン制御部３４に通知する。ここで、ジョブ制御部３２は、パス印字メッセージ８０に、パス印字動作の制御に必要なパス印字制御データを記述するだけでなく、加えて、次に送られることになる紙送メッセージ８１の格納アドレスをメッセージバッファ７２内に予め確保して、その格納アドレスを指すポインタをパス印字メッセージ８０に付加する（つまり、そのポインタをパス印字メッセージ８０内に記述する）。
【００２７】
エンジン制御部３４は、ジョブ制御部３２から通知されたメッセージバッファ７２内の格納アドレスから、パス印字メッセージ８０を読み込み（矢印１０２）、そして、パス印字メッセージ８０に基づいて印刷エンジン２２を制御して、パス印字動作１０を開始させる（矢印１０３）。また、エンジン制御部３４は、読み込んだパス印字メッセージ８０に付加されたポインタから、次に送られることになる紙送メッセージ８１のメッセージバッファ７２内での格納アドレスを把握する。
【００２８】
パス印字メッセージ８０がまだ終了してなくても、ジョブ制御部３２は、コマンド解析部３０からの紙送要求６１が要求バッファ７０内に在れば、その紙送要求６１を読み込み、その紙送要求６１に基づいて、紙送量を指定した紙送量データが含まれた紙送メッセージ８１を作成する。そして、ジョブ制御部３２は、その紙送メッセージ８１を、先にエンジン制御部３４に通知しておいたメッセージバッファ７２内の格納アドレスに格納する（矢印１１２）。同時に、ジョブ制御部３２は、紙送イベントバッファ３６（初期状態はリセット状態「０」である）をセット状態「１」にセットする（矢印１１１）。その後、ジョブ制御部３２は、先に送ったパス印字メッセージ８０に対するエンジン制御部３４からの応答である、パス印字終了メッセージ８２が返信されるのを待つ状態になる。
【００２９】
その後、印刷エンジン２２でのパス印字動作１０が終了すると、これに応答して（矢印１１３）、エンジン制御部３４は、印字後処理１２を直ちに開始すると同時に、紙送イベントバッファ３６の状態をチェックする（矢印１１４）。チェックの結果、紙送イベントバッファ３６がセット状態「１」であるならば、これは既に紙送メッセージ８１が発されていること、すなわち、これから行うべき紙送動作の紙送量が既に確定していること、を意味するので、エンジン制御部３４は、先に通知されたメッセージバッファ７２内の格納アドレスから、紙送メッセージ８１を読み込み（矢印１１５）、そして、印刷エンジン２２を制御して、その紙送メッセージ８１により指定された紙送量分の紙送動作１６を直ちに実行させる（矢印１１６）。したがって、紙送動作１６は、印字後処理１２と同様に、パス印字動作１０の終了時点から直ちに開始されることになり、印字後処理１２と並行して実行される。さらに、同時に、エンジン制御部３４は、紙送イベントバッファ３６をリセット状態「０」にリセットする(矢印１１７）。
【００３０】
その後、通常は、紙送動作１６が終了する前に、印字後処理１２が終了する。印字後処理１２が終了すると、これに直ちに応答して（矢印１１８）、エンジン制御部３４は、パス印字終了メッセージ８２を生成し、このパス印字終了メッセージ８２を、メッセージバッファ７２を通じて、ジョブ制御部３２に送る(矢印１１９）。このパス印字終了メッセージ８２には、既に受信した紙送メッセージ８１に基づいて開始された紙送動作１６における紙送量（これは、このときに印字後処理１２の終了時点で既に紙送動作１６が開始され実行中である場合には、その紙送動作１６による予定の紙送量であり、一方、同時点でまだ紙送動作１６が開始されてない場合には、ゼロである。）が記述されている。コマンド解析部３０は、そのパス印字終了メッセージ８２を受けると、そのパス印字終了メッセージ８２に記述されている紙送量が、既に送信した紙送メッセージ８１に記述されていた紙送量と同じであるか否かチェックする。チェックの結果、同じであれば、それは、先に送信した紙送メッセージ８１に従って紙送動作１６が既に開始されたことを意味する。その場合、コマンド解析部３０は、次のパス印刷要求６２を要求バッファ７０から読み込み（矢印１２０）、そして、そのパス印刷要求６２について、図示してないが、既に説明したパス印刷要求６０に対する処理と同様の処理を行う。
【００３１】
次に、図４（B）に示す制御例を説明する。この制御例では、例えば上位装置４０からのコマンドの到来が遅れたために、コマンド解析部３０からジョブ制御部３２へ紙送要求６１が送られる時点が、パス印字動作１０の終了時点以後になった場合が想定されている。
【００３２】
図４（B）に示すように、コマンド解析部３０からパス印字要求６０が出されてから、パス印字動作１０が開始されるまでの制御（矢印９０、１００〜１０３）は、既に説明した図４（A）の制御例と同様である。パス印字動作１０が終了した時点で（矢印１１３）、エンジン制御部３４は、印字後処理１２を開始すると同時に、紙送イベントバッファ３６の状態をチェックする（矢印１１４）。チェックの結果、紙送イベントバッファ３６がリセット状態「０」であるならば、これは、まだ紙送メッセージ８１が発されていないこと、すなわち、これから行うべき紙送動作の紙送量が未だ確定していないこと、を意味するので、エンジン制御部３４は、紙送動作１６を開始できず、印字後処理１２のみを行なう。
【００３３】
その後、エンジン制御部３４からパス印刷終了メッセージ８２が出力される前にコマンド解釈部３０から紙送要求８１が出された（矢印９１）ならば、ジョブ制御部３２は、図４（A）で説明した制御と同様に、その紙送要求８１を受けて（矢印１１０）、紙送メッセージ８１を生成し、紙送メッセージ８１をメッセージバッファ７２に格納し（矢印１１２）、紙送イベントバッファ３６をセット状態「１」にセットする（矢印１１１）。しかし、この時点では既に、エンジン制御部３４は紙送イベントバッファ３６のチェック（矢印１１４）を終えているので、メッセージバッファ７２内の紙送メッセージ８１を認識しない。
【００３４】
その後、印字後処理１２が終了すると、これに直ちに応答して（矢印１１８）、エンジン制御部３４は、紙送イベントバッファ３６をリセット状態「０」にリセットするとともに、パス印字終了メッセージ８２を生成し、このパス印字終了メッセージ８２を、メッセージバッファ７２を通じて、ジョブ制御部３２に送る(矢印１１９）。このときのパス印字終了メッセージ８２には、図４（A）の場合と異なり、紙送量としてゼロが記述されており、これは、パス印字動作１０の後に紙送動作１６が行われていないことを意味する。
【００３５】
コマンド解析部３０は、そのパス印字終了メッセージ８２を受けると、そのパス印字終了メッセージ８２に記述されている紙送量をチェックする。その結果、紙送量がゼロであれば、コマンド解析部３０は、紙送要求６1に基づいて紙送メッセージ８１を再度生成し(矢印１３０）、その紙送メッセージ８１をメッセージバッファ８１に格納し（矢印１３１）、そのメッセージバッファ８１のメッセージバッファ８１内での格納アドレスをエンジン制御部３４に通知することで、エンジン制御部３４に紙送メッセージ８１を再度送信する（矢印１３２）。エンジン制御部３４は、受け取った紙送メッセージ８１に応答して、印刷エンジン２２を制御して紙送動作１６を実行させる。したがって、紙送動作１６は、従来と同様に、印字後処理１２が終了した時点から開始される。
【００３６】
以上のように、図４で説明した改良された動作手順では、ジョブ制御部３２が、パス印字メッセージ８０をエンジン制御部３４に送った後、紙送要求６１が既に存在するなら、パス印字動作１０の終了を待つことなく、紙送メッセージ８１を用意し、そして、紙送イベントフラグ３６をセットすることで、紙送メッセージ８１が用意されていることをエンジン制御部３４が何時でも認識してその紙送メッセージ８１を受け取れるようにする。一方、エンジン制御部３４は、パス印字メッセージ８０に応答してパス印字動作１０の制御を開始した後、パス印字動作１０が終了した時点で、印字後処理１２を開始するとともに、紙送イベントフラグ３６を参照して紙送メッセージ８１が用意されているか否かをチェックし、そのチェックの結果、用意されているならば、その紙送メッセージ８１を直ちに受け取り直ちに紙送動作１６を開始するよう制御を行う。それにより、紙送動作１６は、パス印字動作１０の終了直後から開始され、従来のような遅れがなくなる。
【００３７】
以下では、図４で説明した制御を実現するための、ジョブ制御部３２とエンジン制御部３４のそれぞれの制御動作をより詳細に説明する。
【００３８】
図５は、ジョブ制御部３２が印刷ページ毎に行う制御動作の流れを示す。
【００３９】
図５に示すように、ジョブ制御部３２は、ステップS1でコマンド解釈部３０からのパス印字要求が要求バッファ７０内に有るか否かチェックし、有ればステップS2でパス印字メッセージを作成して、これをメッセージバッファを介してエンジン制御部３４に送信する。その際、パス印字メッセージには、次に送られることになる紙送メッセージのメッセージバッファ内での格納アドレスを示すポインタが付加又は記述される。
【００４０】
ステップS3で、要求バッファ７０内に紙送要求が有るか否かがチェックされ、有れば、ステップS4で紙送メッセージが作成されて、これがメッセージバッファの上記ポインタが指す格納アドレスに格納され、また、ステップS５で、紙送イベントバッファがセットされる。
【００４１】
ステップS6で、エンジン制御部３４からのパス印字終了メッセージが目セージバッファ７２内に有るか否かがチェックされ、有れば、ステップS7で、パス印字終了メッセージに記述されている紙送量がチェックされて、それにより、紙送動作が開始済みか否かが判断される。その結果、紙送動作が開始済みであれば、制御はステップS1へ戻る。
【００４２】
一方、ステップS7のチェックで、紙送動作がまだ開始されていないと判断されたならば、制御はステップS9へ進み、要求バッファ７０内に紙送要求が有るか再度チェックされる。紙送要求が有れば、ステップS10で、紙送メッセージが再度生成されて、それがメッセージバッファを通じてエンジン制御部３４へ送信される。その後、ステップS11で、紙送メッセージに対するエンジン制御部３４からの応答である紙送終了メッセージがメッセージバッファ７２内に有るか否かがチェックされ、有れば、紙送動作が終了したことを意味するので、制御はステップS1へ戻る。
【００４３】
なお、ステップS9のチェックで、紙送要求が無かった場合、ステップS13で、排紙要求の有無がチェックされ、排紙要求があれば、ステップS14で、排紙要求に基づき排紙メッセージが生成されて、それがメッセージバッファを通じてエンジン制御部３４へ送信される。その後、ステップS15で、排紙メッセージに対するエンジン制御部３４からの応答である排紙終了メッセージがメッセージバッファ７２内に有るか否かがチェックされ、有れば、排紙動作が終了したことを意味するので、当該印刷ページの制御は終了する。
【００４４】
なお、ステップS1のチェックで、パス印字要求が無かった場合には、制御は前述したステップS9へ進む。また、ステップS8に示すように、パス印字メッセージを送ってからパス印字終了メッセージが来ない状態が所定時間以上継続した場合には、エラー発生と判断される。また、ステップS11に示すように、紙送メッセージを送ってから紙送終了メッセージが来ない状態が所定時間以上継続した場合にも、エラー発生と判断される。また、ステップS16に示すように、排紙メッセージを送ってから排紙終了メッセージが来ない状態が所定時間以上継続した場合にも、エラー発生と判断される。さらに、ステップS17に示すように、印字要求も紙送要求も排紙要求も無い状態が所定時間以上継続した場合にも、エラー発生と判断される。
【００４５】
図６は、エンジン制御部３４が行う制御動作の流れを示す。
【００４６】
図６に示すように、ステップS31で、エンジン制御部３４は、ジョブ制御部３２からのパス印字メッセージがメッセージバッファ７２内に有るか否かチェックし、有れば、ステップS32で、そのパス印字メッセージに基づいて印刷エンジン２２を制御してパス印字動作を実行させる。パス印字動作が終了すると直ちに、ステップS33で、紙送イベントフラグ３６がチェックされ、紙送イベントフラグ３６がセットされていれば、ステップS34で、紙送メッセージが受信され、ステップS35で、その紙送メッセージに基づいて印刷エンジン２２が制御されて紙送動作が実行される。また、これと並行して、パス印字動作の終了後直ちに、ステップS37で、印字後処理が実行される。印字後処理が終了すると、ステップS38で、紙送イベントフラグ３６がリセットされ、ステップS39で、印字終了メッセージが、ジョブ制御部３２へ送信される。このとき、印字終了メッセージには、ステップS35で開始された紙送動作の紙送量を示すデータが付加又は含まれる。その後、紙送動作が終了すると、ステップS36で紙送終了メッセージがジョブ制御部３２へ返信される。そして、制御はステップS31へ戻る。
【００４７】
上記ステップS33で、紙送イベントフラグがリセット状態であった場合には、制御はステップS40へ進み、印字後処理だけがパス印字動作の終了後直ちに行われる。印字後処理が終了すると、ステップS41で、紙送イベントフラグ３６がリセットされ、ステップS42で、印字終了メッセージが、ジョブ制御部３２へ送信される。このとき、印字終了メッセージには、紙送動作が開始されていないことを意味する紙送量ゼロのデータが付加又は含まれる。そして、制御はステップS31へ戻る。
【００４８】
上述したステップS31で、メッセージバッファ７２内にパス印字メッセージが無かった場合には、ステップS43で、メッセージバッファ７２内に紙送メッセージが有るか否かがチェックされ、有れば、ステップS44で、紙送メッセージに基づいて印刷エンジン２２が制御されて紙送動作が実行される。紙送動作が終了すると、ステップS45で紙送終了メッセージがジョブ制御部３２へ返信される。そして、制御はステップS31へ戻る。
【００４９】
また、上記のステップS43で、メッセージバッファ７２内に紙送メッセージが無かった場合には、ステップS46で、メッセージバッファ７２内に排紙メッセージが有るか否かがチェックされ、有れば、ステップS47で、排紙メッセージに基づいて印刷エンジン２２が制御されて排紙動作が実行される。排紙動作が終了すると、ステップS48で排紙終了メッセージがジョブ制御部３２へ返信される。
【００５０】
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、上記実施形態は、紙送量が確定しているか否かのチェックを、パス印字動作の終了時に行うが、別法として、パス印字動作の終了前において所定時点でそのチェックを行い、その結果既に確定していれば、パス印字動作の終了時直ちに紙送動作を開始し、一方、パス印字動作の終了前のチェック時にはまだ紙送量が確定してなかった場合には、パス印字動作の終了時に再度チェックして、その結果に応じて上記実施形態と同様な制御を行うようにしてもよい。
【図面の簡単な説明】
【００５１】
【図１】従来技術の問題を説明するためのタイムチャート。
【図２】本発明の一実施形態にかかるシリアルプリンタの構成を示すブロック図。
【図３】同シリアルプリンタの改善された動作を説明するためのタイムチャート。
【図４】同シリアルプリンタのコントローラ内でのタスク間のメッセージの受け渡しの手順を説明するシーケンス図。
【図５】同コントローラ内のジョブ制御部の制御動作の流れを示すフローチャート。
【図６】同コントローラ内のエンジン制御部の制御動作の流れを示すフローチャート。
【符号の説明】
【００５２】
１０  パス印字動作
１２  印字後処理
１４  キャリッジ動作
２０  シリアルプリンタ
２２  印刷エンジン
２４  コントローラ
３０  コマンド解釈部
３２  ジョブ制御部
３４  エンジン制御部
３６  紙送イベントフラグ
５０  紙送動作
６０  パス印字要求
６１  紙送要求
６２  次のパス印字要求
７０  要求バッファ
７２  メッセージバッファ
８０  パス印字メッセージ
８１  紙送メッセージ
【図１】
2006231556.tif 000003
【図２】
2006231556.tif 000004
【図３】
2006231556.tif 000005
【図４】
2006231556.tif 000006
【図５】
2006231556.tif 000007
【図６】
2006231556.tif 000008