(57)【要約】【課題】  印刷時の主走査プロセスのキャリッジ走行距離を短縮し印刷のスループットを向上させる。【解決手段】  右方シフトの双方向印刷調整値Abidが設定されている場合(図４B）、キャリッジが右方へ走る往走プロセス（１０１）では、ドット形成範囲Rdotに、右方への双方向印刷調整値Abid分の範囲拡張と、左右両方向への助走距離Laux分の範囲拡張を加えた範囲を、キャリッジの最小の走行範囲Rminrunとする。キャリッジが左方へ走る復走プロセス（１０３）では、ドット形成範囲Rdotに、左方への双方向印刷調整値Abid分の範囲拡張と、左右両方向への助走距離Laux分の範囲拡張を加えた範囲を、キャリッジの最小の走行範囲Rminrunとする。左方シフトの双方向印刷調整値Abidが設定されている場合(図４C)、双方向印刷調整値Abid分の範囲拡張の方向が逆になる。【選択図】図４
2005225171.tif 000002
【特許請求の範囲】
【請求項１】
印刷ヘッドが搭載されたキャリッジを走行させる主走査プロセスを複数繰り返しながら、各主走査プロセスにおいて前記印刷ヘッドを駆動してインクドットを印刷媒体上に形成することで印刷を行うシリアルプリンタであって、前記各主走査プロセスは、前記キャリッジを第一方向へ走行させる往走プロセスであるか、又は前記第一方向とは逆の第二方向へ走行させる復走プロセスであるものにおいて、
前記キャリッジを走行させるキャリッジモータと、
印刷データに基づいて、前記キャリッジモータ及び前記印刷ヘッドを駆動し制御する制御装置と
を備え、
前記制御装置は、
前記印刷データに基づいて、前記各主走査プロセスのための印刷範囲を決定する手段と、
前記各主走査プロセスのための前記印刷範囲と、所定のファーストドット調整値と、所定の双方向印刷調整値とに基づいて、前記各主走査プロセスのためのインクドット形成動作を行うべきキャリッジ位置の範囲を表すドット形成範囲を決定する手段と、
前記各主走査プロセスのための前記ドット形成範囲と、前記双方向印刷調整値と、所定の助走距離とに基づいて、前記各主走査プロセスのための最小走行範囲を決定する手段と、
前記各主走査プロセスのための前記最小走行範囲を包含するように、前記各主走査プロセスのための走行開始位置から停止位置までの走行範囲を決定する決定手段と、
前記各主走査プロセスにおいて、前記走行開始位置から前記停止位置まで前記キャリッジを走行させるよう、前記キャリッジモータを駆動し制御する手段と、
前記各回の主走査プロセスにおいて、前記ドット形成範囲にてインクドットを形成する動作を行うよう、前記印刷ヘッドを駆動し制御する手段と
を有し、
前記最小走行範囲決定手段は、前記各主走査プロセスのための前記ドット形成範囲に、前記第一及び第二の方向から選ばれた一方向への前記双方向印刷調整値の絶対値分の範囲拡張と、前記第一及び第二の双方向への前記助走距離分の範囲拡張とを加えた範囲を、前記各主走査プロセスのための前記最小走行範囲として決定する
シリアルプリンタ。
【請求項２】
前記最小走行範囲決定手段は、
前記各回の主走査プロセスが前記往走プロセスであって前記双方向印刷調整値が前記第一方向のシフト量である場合、及び、前記各回の主走査プロセスが前記復走プロセスであって前記双方向印刷調整値が第二方向のシフト量である場合、前記双方向印刷調整値の絶対値分の範囲拡張の方向として、第一方向を選び、
前記各回の主走査プロセスが前記往走プロセスであって前記双方向印刷調整値が前記第二方向のシフト量である場合、及び前記各回の主走査プロセスが前記復走プロセスであって前記双方向印刷調整値が前記第一方向のシフト量である場合、前記双方向印刷調整値の絶対値分の範囲拡張の方向として、第二方向を選ぶ、
請求項１記載のシリアルプリンタ。
【請求項３】
前記走行範囲決定手段が、
前記各主走査プロセスを開始する前に前記キャリッジが停止しているとき、前記キャリッジの現在位置と前記最小走行範囲との位置関係をチェックし、
前記チェックの結果、前記現在位置が前記最小走行範囲の外側に位置する場合、前記現在位置に前記走行開始位置を設定し、前記現在位置が前記最小走行範囲の一端又は内側に位置する場合、前記最小走行範囲の一端に前記走行開始位置を設定する、
請求項１記載のシリアルプリンタ。
【請求項４】
前記走行範囲決定手段が、
前記各主走査プロセスを実行している間に、次の主走査プロセスのための前記最小走行範囲を決定し、前記各主走査プロセスのための前記最小走行範囲と前記次の主走査プロセスのための前記最小走行範囲の前記キャリッジの走行方向側の端との位置関係をチェックし、
前記チェックの結果、前記各主走査プロセスのための前記最小走行範囲の一端が、前記最小走行範囲の前記キャリッジの走行方向側の端より外側に位置する場合、前記各主走査プロセスのための前記最小走行範囲の前記一端に前記停止位置を設定し、前記各主走査プロセスのための前記最小走行範囲の両端が、前記最小走行範囲の前記キャリッジの走行方向側の端より外側に位置しない場合、前記最小走行範囲の前記キャリッジの走行方向側の前記端に、前記停止位置を設定する、
請求項１記載のシリアルプリンタ。
【請求項５】
印刷ヘッドが搭載されたキャリッジを走行させる主走査プロセスを複数繰り返しながら、各主走査プロセスにおいて前記印刷ヘッドを駆動してインクドットを印刷媒体上に形成することで印刷を行うシリアルプリンタであって、前記各主走査プロセスは、前記キャリッジを第一方向へ走行させる往走プロセスであるか、又は前記第一方向とは逆の第二方向へ走行させる復走プロセスであるものにおける、前記各主走査プロセスの制御方法において、
前記印刷データに基づいて、前記各主走査プロセスのための印刷範囲を決定するステップと、
前記各主走査プロセスのための前記印刷範囲と、所定のファーストドット調整値と、所定の双方向印刷調整値とに基づいて、前記各主走査プロセスのためのインクドット形成動作を行うべきキャリッジ位置の範囲を表すドット形成範囲を決定するステップと、
前記各主走査プロセスのための前記ドット形成範囲と、前記双方向印刷調整値と、所定の助走距離とに基づいて、前記各主走査プロセスのための最小走行範囲を決定するステップと、
前記各主走査プロセスのための前記最小走行範囲を包含するように、前記各主走査プロセスのための走行開始位置から停止位置までの走行範囲を決定するステップと、
前記各主走査プロセスにおいて、前記走行開始位置から前記停止位置まで前記キャリッジを走行させるステップと、
前記各回の主走査プロセスにおいて、前記ドット形成範囲にて前記印刷ヘッドを駆動するステップと
を有し、
前記最小走行範囲を決定するステップでは、前記各主走査プロセスのための前記ドット形成範囲に、前記第一及び第二の方向から選ばれた一方向への前記双方向印刷調整値の絶対値分の範囲拡張と、前記第一及び第二の双方向への前記助走距離分の範囲拡張とを加えた範囲を、前記各主走査プロセスのための前記最小走行範囲として決定する、
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ヘッドが搭載されたキャリッジを走行させつつ印刷を行うシリアルプリンタに関し、特に、キャリッジの走行を制御するための技術の改良に関する。
【背景技術】
【０００２】
シリアルプリンタは、印刷ヘッドが搭載されたキャリッジを所定の主走査方向(例えば水平方向)に沿って走行させる主走査プロセスと、印刷媒体を所定の副走査方向（例えば、垂直方向）へ送る副走査プロセスとを、交互に繰り返しつつ、各主走査プロセスにおいて印刷ヘッドを駆動してインクドットを印刷媒体上に形成することにより、ページの印刷を行なう。１回の主走査のプロセスは、キャリッジ走行開始、加速フェーズ、定速フェーズ、減速フェーズそして停止というシーケンスで行われる(例えば特許文献１）。
【０００３】
図１は、従来技術に従う主走査プロセスの制御方法の一例を示す。
【０００４】
図１Aにおいて、横軸はキャリッジ位置Xを、縦軸はキャリッジ速度Vを示す。位置Xsttはキャリッジの走行開始位置を示し、位置Xstpは走行終了時のキャリッジの停止位置を示す。速度カーブ３０１は、１回の主走査プロセスにおけるキャリッジの位置Xに応じた走行速度Vの変化を簡易に示している。速度カーブ３０１は、図中左から右へキャリッジが走行する場合の主走査プロセス（以下、往路プロセスという）における例である。逆に右から左へキャリッジが走行する場合の主走査プロセス（以下、復路プロセスという）では、速度カーブは図示ものとは左右逆の形となる。往路プロセスでも復路プロセスでも、加速フェーズ及び減速フェーズでは、予めプログラムされた加速フェーズ用及び減速フェーズ用の目標速度セット（加速フェーズでは所定の上昇速度カーブを、また、減速フェーズでは所定の下降速度カーブをそれぞれ描くように、走行開始位置Xstt及び停止位置Pstpからの変位量に応じて設定された多数の目標速度のセット）に現在の走行速度を一致させるようなフィードバック制御が行われる。
【０００５】
従来の制御方法によると、主走査プロセスにおけるキャリッジの走行範囲、つまり、走行開始位置Xsttと停止位置Xstpとは、次のようにして決定される。
【０００６】
その主走査プロセス中にドット形成が行われるべき範囲（印刷範囲）Rprtの左端のドットの位置Xlendと右端のドットの位置Xrendが、印刷データに基づいて決定される。そして、図１Bに示すように、左端ドット位置Xlend及び右端ドット位置Xrendのそれぞれの外側に、予め設定されている位置調整マージンMadjと、予め設定されている助走距離Lauxが付加され、それにより、その主走査プロセスにおけるキャリッジの最小の走行範囲Rminrunが決定される。往走プロセスの場合、図１Cに示すように、最小走行範囲Rminrunの左端位置に（または、走行開始前のキャリッジの位置によっては、それより更に左側へずれた位置に）、走行開始位置Xstt_fwが設定され、また、最小走行範囲Rminrunの右端位置に（または、次の主走査プロセスの印刷範囲の位置によっては、それより更に右側へずれた位置に）、停止位置Xstp_fwが設定される。一方、復走プロセスの場合は、図１Dに示すように、往走プロセスの場合とは左右逆の関係で走行開始位置Xstt_bwと停止位置Xstp_bwが設定される。
【０００７】
ここで、上述した助走距離Lauxとは、加速フェーズにて、正常にドット形成が可能である高速安定走行状態になるまでキャリッジを加速するために、及び、減速フェーズにて上記高速安定走行状態からキャリッジを制動して停止させるために、設計上確保されている一定の走行距離である。従って、走行開始直後と停止直前の助走距離Lauxの区間では、ドット形成動作は行われず、その２つの区間の間に挟まれた中間の区間（つまり、ドット形成可能な高速安定状態でキャリッジが走行している区間）Rhsrunにおいてのみ、ドット形成動作が行われ得る。
【０００８】
また、上述した位置調整マージンMadjとは、ドット位置調整の影響を除去するために確保される一定のマージンである。ここで、ドット位置調整とは次のようなものをいう。すなわち、プリンタの印刷機構の組み立ての誤差（例えば、印刷ヘッドの傾きなど）、同機構の経年変化、使用環境の変動（例えば、印刷媒体の厚さの違いなど）及び往走プロセスと復走プロセスの走行方向に違いなどの原因のために、プリンタの制御装置が実際に印刷ヘッドを駆動してドット形成動作を実行する時のキャリッジ位置が、印刷データに基づいて決定される目標のドット位置から若干距離だけシフトされなければならない場合がある。例えば、印刷ヘッドが正しい指向軸に対して傾いて取り付けられている場合、その傾きを相殺するように、ドット形成動作が実行されるキャリッジ位置を目標のドット位置からシフトさせる必要がある。また、往走プロセスと復走プロセスで形成されるドットの位置を一致させるために、復走プロセスにてドット形成動作が実行されるキャリッジ位置を往走プロセスでのそれからシフトさせる必要がある。このようなドット形成動作が実行されるキャリッジ位置のシフト量を調整して設定する操作が、上述したドット位置調整である。ドット位置調整は、個々のプリンタ毎にその具体的な状態に応じて行われる。
【０００９】
ドット位置調整には、大きく分けて、ファーストドット調整と双方向印刷調整の２種類がある。ファーストドット調整とは、往走プロセスにおいて印刷データにより指定されたとおりの位置に正確にドットを形成できるように、往走プロセスでドット形成動作が行われるキャリッジ位置のシフト量を一定範囲内で調整し設定することである。一方、双方向印刷調整とは、往走プロセスと復走プロセスで印刷媒体上に形成されるドット位置を一致させるために、復走プロセスでドット形成動作が行われるキャリッジ位置を往走プロセスのそれからのシフトさせる量を一定の範囲内で調整し設定することである。例えば、図１Cに例示するように、往走プロセスでは、最初のドット形成動作を行うキャリッジ位置（以下、ファーストドット位置という）Xfstd_fw及び最後のドット形成動作を行うキャリッジ位置（以下、ラストドット位置という）Xfltd_fwは、印刷データにより決定される印刷範囲Rprtの左端ドット位置Xlend及び右端ドット位置Xrendより、ファーストドット調整によって設定されたシフト量（ファーストドット調整値）Afstd分だけプラス(右）又はマイナス(左）方向へシフトされる（図１Cでは、プラス(右）方向のシフトが例示されているが、マイナス(左）方向へのシフトもあり得る）。また、図１Dに例示するように、復走プロセスにおいては、ファーストドット位置Xfstd_bw及びラストドット位置XLaux_bwが、印刷データにより決定される印刷範囲Rprtの右端ドット位置Xrend及び左端ドット位置Xlendより、双方向印刷調整によって設定されたシフト（双方向印刷調整値）Abidと上記ファーストドット調整値Afstdとの加算値分だけプラス(右）又はマイナス(左）方向へシフトされる（図１Dでは、プラス(右）方向のシフトが例示されているが、マイナス(左）方向へのシフトもあり得る）。
【００１０】
さて、図１に示した従来の方法で採用されている位置補正マージンMadjは、少なくとも、上述したファーストドット調整Afstdと双方向印刷調整値Abidとを加算した合計のシフト量の絶対値の最大値（つまり、合計のシフト量の最大変動幅の二分の一）に設定されている。そのため、ファーストドット調整値Afstdと双方向印刷調整値Abidがいかなる値に設定されたとしても、ファーストドット位置Xfstd及びラストドット位置Xlstdは、必ず、図１に示した上述した高速安定走行区間Rhsrun内に位置することが保証される。換言すれば、高速安定走行区間Rhsrun内でのみドット形成動作が行われることが保証される。
【００１１】
また、上述の制御によれば、特に、例えば長方形の写真を印刷する場合のように、連続的に繰り返される複数回の主走査プロセスの印刷範囲Rprtの位置が全く同一である場合には、前回の主走査プロセスの停止位置と次回の主走査プロセスの走行開始位置とが一致することになるので、ロジカルシーク（前回の主走査プロセスの停止位置と次回の主走査プロセスの走行開始位置が異なる場合、主走査プロセスとは別途に、前回の停止位置から次回の走行開始位置までキャリッジを移動させる動作）を行う必要性が減り、スループットが向上する。
【００１２】
【特許文献１】特開平２００３−１８２１７９
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、図１を参照して説明した従来の主走査プロセスの制御によれば、主走査プロセスにおいてドット形成可能な高速安定走行区間Rhsrunとして確保される距離は、実際にドット形成動作が行われる範囲Rdot（ファーストドット位置Xfstdからラストドット位置Xlstd）に、上述した位置補正マージンMadjの２倍分の距離（つまり、ファーストドット調整Afstdと双方向印刷調整値Abidとを加算した合計のシフト量の最大変動幅）を余計に加わったものである。この余計に加わった距離分は、ドット形成が行えるにも拘らずドット形成せずに無駄にキャリッジが高速走行する区間である。この無駄な走行距離を縮めれば、プリンタのスループットが向上する。
【００１４】
従って、本発明の目的は、シリアルプリンタの印刷時の主走査プロセスのキャリッジ走行距離を短縮し、印刷のスループットを向上させることにある。
【課題を解決するための手段】
【００１５】
本発明の一つの観点に従がう、印刷ヘッドが搭載されたキャリッジを走行させる主走査プロセスを複数繰り返しながら、各主走査プロセスにおいて前記印刷ヘッドを駆動してインクドットを印刷媒体上に形成することで印刷を行うシリアルプリンタであって、前記各主走査プロセスは、前記キャリッジを第一方向へ走行させる往走プロセスであるか、又は前記第一方向とは逆の第二方向へ走行させる復走プロセスであるものは、前記キャリッジを走行させるキャリッジモータと、印刷データに基づいて、前記キャリッジモータ及び前記印刷ヘッドを駆動し制御する制御装置とを備える。前記制御装置は、前記印刷データに基づいて、前記各主走査プロセスのための印刷範囲を決定する手段と、前記各主走査プロセスのための前記印刷範囲と、所定のファーストドット調整値と、所定の双方向印刷調整値とに基づいて、前記各主走査プロセスのためのインクドット形成動作を行うべきキャリッジ位置の範囲を表すドット形成範囲を決定する手段と、前記各主走査プロセスのための前記ドット形成範囲と、前記双方向印刷調整値と、所定の助走距離とに基づいて、前記各主走査プロセスのための最小走行範囲を決定する手段と、前記各主走査プロセスのための前記最小走行範囲を包含するように、前記各主走査プロセスのための走行開始位置から停止位置までの走行範囲を決定する決定手段と、前記各主走査プロセスにおいて、前記走行開始位置から前記停止位置まで前記キャリッジを走行させるよう、前記キャリッジモータを駆動し制御する手段と、前記各回の主走査プロセスにおいて、前記ドット形成範囲にてインクドットを形成する動作を行うよう、前記印刷ヘッドを駆動し制御する手段とを有する。前記最小走行範囲決定手段は、前記各主走査プロセスのための前記ドット形成範囲に、前記第一及び第二の方向から選ばれた一方向への前記双方向印刷調整値の絶対値分の範囲拡張と、前記第一及び第二の双方向への前記助走距離分の範囲拡張とを加えた範囲を、前記各主走査プロセスのための前記最小走行範囲として決定する。
【００１６】
このシリアルプリンタによれば、各主走査プロセスにおいて、キャリッジの最小走行範囲の長さは、ドット形成範囲に双方向印刷調整値の絶対値と助走距離の２倍分の距離を加えた長さになる。これは、従来技術に従がう最小走行範囲の長さより短い。よって、各主走査プロセスでのキャリッジの走行距離が短縮され、スループットが向上する。
【００１７】
一つの実施形態では、前記最小走行範囲決定手段は、前記各回の主走査プロセスが前記往走プロセスであって前記双方向印刷調整値が前記第一方向のシフト量である場合、及び、前記各回の主走査プロセスが前記復走プロセスであって前記双方向印刷調整値が第二方向のシフト量である場合、前記双方向印刷調整値の絶対値分の範囲拡張の方向として、第一方向を選ぶ。また、前記最小走行範囲決定手段は、前記各回の主走査プロセスが前記往走プロセスであって前記双方向印刷調整値が前記第二方向のシフト量である場合、及び前記各回の主走査プロセスが前記復走プロセスであって前記双方向印刷調整値が前記第一方向のシフト量である場合、前記双方向印刷調整値の絶対値分の範囲拡張の方向として、第二方向を選ぶ。その結果、印刷データにより決定される印刷範囲が往走プロセスと復走プロセスで一致する場合には、往走プロセスでの最小双広範囲と復走プロセスでのそれとが一致するようになる。その結果、スループット低下の原因となるロジカルシークの必要性が減る。
【００１８】
一つの実施形態では、前記走行範囲決定手段が、前記各主走査プロセスを開始する前に前記キャリッジが停止しているとき、前記キャリッジの現在位置と前記最小走行範囲との位置関係をチェックする。そして、前記走行範囲決定手段は、前記チェックの結果、前記現在位置が前記最小走行範囲の外側に位置する場合、前記現在位置に前記走行開始位置を設定し、前記現在位置が前記最小走行範囲の一端又は内側に位置する場合、前記最小走行範囲の一端に前記走行開始位置を設定する。これにより、各主走査プロセスを開始する前のキャリッジの位置が最小走行範囲の外側に位置していても、ロジカルシークを行なう必要がない。よって、スループット低下の原因となるロジカルシークの必要性が減る。
【００１９】
一つの実施形態では、前記走行範囲決定手段が、前記各主走査プロセスを実行している間に、次の主走査プロセスのための前記最小走行範囲を決定し、前記各主走査プロセスのための前記最小走行範囲と前記次の主走査プロセスのための前記最小走行範囲の前記キャリッジの走行方向側の端との位置関係をチェックする。そして、前記走行範囲決定手段は、前記チェックの結果、前記各主走査プロセスのための前記最小走行範囲の一端が、前記最小走行範囲の前記キャリッジの走行方向側の端より外側に位置する場合、前記各主走査プロセスのための前記最小走行範囲の前記一端に前記停止位置を設定し、前記各主走査プロセスのための前記最小走行範囲の両端が、前記最小走行範囲の前記キャリッジの走行方向側の端より外側に位置しない場合、前記最小走行範囲の前記キャリッジの走行方向側の前記端に、前記停止位置を設定する。これにより、連続する２つの主走査プロセスの間で最小走行範囲がずれている場合において、スループット低下の原因となるロジカルシークの必要性が減る。
【００２０】
本発明の別の観点に従うシリアルプリンタのための各主走査プロセスの制御方法は、印刷データに基づいて、前記各主走査プロセスのための印刷範囲を決定するステップと、前記各主走査プロセスのための前記印刷範囲と、所定のファーストドット調整値と、所定の双方向印刷調整値とに基づいて、前記各主走査プロセスのためのインクドット形成動作を行うべきキャリッジ位置の範囲を表すドット形成範囲を決定するステップと、前記各主走査プロセスのための前記ドット形成範囲と、前記双方向印刷調整値と、所定の助走距離とに基づいて、前記各主走査プロセスのための最小走行範囲を決定するステップと、前記各主走査プロセスのための前記最小走行範囲を包含するように、前記各主走査プロセスのための走行開始位置から停止位置までの走行範囲を決定するステップと、前記各主走査プロセスにおいて、前記走行開始位置から前記停止位置まで前記キャリッジを走行させるステップと、前記各回の主走査プロセスにおいて、前記ドット形成範囲にて前記印刷ヘッドを駆動するステップとを有する。前記最小走行範囲を決定するステップでは、前記各主走査プロセスのための前記ドット形成範囲に、前記第一及び第二の方向から選ばれた一方向への前記双方向印刷調整値の絶対値分の範囲拡張と、前記第一及び第二の双方向への前記助走距離分の範囲拡張とを加えた範囲を、前記各主走査プロセスのための前記最小走行範囲として決定する、
【発明を実施するための最良の形態】
【００２１】
以下、本発明に従うシリアルプリンタの一実施形態について説明する。
【００２２】
図２は、この実施形態にかかるシリアルプリンタ（例えば、インクジェットプリンタ）の機械的構成を示す要部斜視図を示す。
【００２３】
図２に示すように、プリンタ１はプリンタ本体２を備え、この本体ケース２にキャリッジ軸８が固定され、このキャリッジ軸８にキャリッジ３が移動可能な状態で組み付けられている。キャリッジ３は無端の牽引ベルト６と結合され、牽引ベルト６は駆動プーリ４と従動プーリ５間に張設され、駆動プーリ４にはキャリッジモータ７が結合される。キャリッジモータ７が駆動プーリ４を介して牽引ベルト６を移動させることで、キャリッジ３がキャリッジ軸８に沿って主走査方向（図４、５に示すX軸方向）に往復移動する。本体ケース２の底部には紙送りモータ９が固定され、この紙送りモータ９は、紙送りローラ２５（図３参照）と排紙ローラ２６（図３参照）に結合される。紙送りモータ９が紙送りローラ２５（図３参照）と排紙ローラ２６（図３参照）を駆動することによって記録用紙１０が副走査方向に送られる。
【００２４】
キャリッジ３の下部には印刷ヘッド１１が記録用紙１０と対向するように搭載され、キャリッジ３の上部には印刷ヘッド１１にインクを供給するインクカートリッジ１２（例えばブラックインクと複数のカラーインクのカートリッジ）が着脱可能に取り付けられている。印刷ヘッド１１は複数のインクジェットノズル１３（図３参照）を有し、印刷動作では、所定の空間解像度に対応したタイミングでインクがインクジェットノズル１３から記録用紙１０に向かって吐出されるように、印刷ヘッド１１が駆動される。
【００２５】
キャリッジ３の所定のホームポジション（例えば図２では右側端部）には、印刷ヘッド１１のノズル１３を外気から遮断するためのキャップ１４が配設されている。キャリッジ３がホームポジション（ＨＰ）に位置すると、キャップ１４が自動的に印刷ヘッド１１にキャッピングされるようになっている。
【００２６】
キャップ１４には、印刷ヘッド１１のクリーニング動作においてキャップ１４の内部空間を負圧にするための吸引ポンプ１５がポンプチューブ１５ａを介して接続されている。吸引ポンプ１５はギヤ機構（図示省略）を介してポンプモータ１６（図３参照）に接続され、このポンプモータ１６により駆動される。また、印刷ヘッド１１の印字領域とホームポジションの間にはゴム等の弾性板からなるワイピング部材１７が配設され、印刷ヘッド１１が印字領域に向かうときにワイピング部材１７によって印刷ヘッド１１の表面がワイピング処理される。
【００２７】
プリンタ１は、キャリッジ３の速度、移動方向及び位置等を検出するためのリニアエンコーダ１８を備えている。リニアエンコーダ18は半透明樹脂製の被検出用テープ１９（以下、単にテープと称す）と光学センサ２０（図２参照）とからなり、テープ１９がプリンタ本体２の側壁に、キャリッジ３の移動経路と平行に取り付けられている。光学センサ２０がキャリッジ３の背面の、テープ１９表面をセンスする位置に取り付けられ、キャリッジ３と一緒にテープ１９に沿って移動する。
【００２８】
テープ１９表面には、キャリッジ３の移動方向に沿って一定ピッチで、例えば１／１８０（inch）（＝２．５４／１８０（cm））のピッチで、多数のスリット２１が形成されている。光学センサ２０はキャリッジ３とともに移動した際にテープ１９上のスリット２１を検出して、キャリッジ３の速度、移動方向及び位置を測定するために使用される９０度位相がシフトした2種類のパルス信号を出力する。
【００２９】
図３は、プリンタ１の内部に搭載される制御装置のハードウェア構成を示す。
【００３０】
図３に示すように、プリンタ１は制御装置２４を備え、制御装置２４はケーブル２２を介して、印刷データやヘッドクリーニング指令などのソースであるホスト装置２３と接続される。制御装置２４は、ホスト装置２３から受信した印刷データ又は指令に基づいて、キャリッジモータ７、紙送りモータ９、ポンプモータ１６及び印刷ヘッド１１を駆動し制御する。
【００３１】
制御装置２４はＣＰＵ２７、ＡＳＩＣ２８、ＰＲＯＭ２９、ＲＡＭ３０、ＥＥＰＲＯＭ３１、インターフェース（Ｉ／Ｆ）３２を備える。
【００３２】
ＰＲＯＭ２９には、ＣＰＵ２７により実行される制御プログラムや、主走査プロセスの加速フェーズ用及び減速フェーズ用の目標速度のセットを定義した複数の速度値テーブルや、それら複数の速度値テーブルにそれぞれ対応した複数の助走距離Lauxなどが記憶されている。ここで、複数の速度値テーブルとは、予め設定されている定速フェーズ用の複数の異なる目標速度にそれぞれ対応したものである。例えば、定速フェーズ用目標速度が所定の低速値である場合の速度値テーブル（これは例えば高画質又は高解像度の印刷に使用される）、それが所定の中速値である場合の速度値テーブル（これは例えば通常画質又は通常解像度の印刷に使用される）、及びそれが所定の高速値である場合の速度値テーブル（これは例えば高速又は低解像度の印刷に使用される）などがＰＲＯＭ２９に記憶されており、いずれの速度テーブルも、それぞれの定速フェーズ用目標速度に適した加速フェーズ用及び減速フェーズ用の目標速度のセットを定義している。また、複数の助走距離Lauxとは、上述した定速フェーズ用の複数の目標速度にそれぞれ対応したものである。定速フェーズ用の目標速度が高いほど、助走距離Lauxは長くなるように設定されている。ＣＰＵ２７による主走査プロセスの制御において、印刷モード（例えば、高速印刷か通常印刷か高画質印刷かという印刷品位又は印刷速度、或いは印刷解像度などのレベル）やその他の条件に応じて、上述した定速フェーズ用の複数の目標速度の中から適切な一つの目標速度がよって選択され、そして、その選択された定速フェーズ用の目標速度に対応した速度値テーブル及び助走距離Lauxが選択されることになる。
【００３３】
ＰＲＯＭ２９には、さらに、ファーストドット調整によって設定されたファーストドット調整値Afstd、及び双方向印刷調整によって設定された双方方向印刷調整値Abidが記憶されている。因みに、ファーストドット調整は例えばプリンタのメーカ側で組み立て後出荷前に行われ、また、双方向印刷調整はプリンタがユーザに渡った後にユーザの手で又は自動的に随時に行われる。
【００３４】
ＣＰＵ２７は、電源スイッチ３９に接続され、ＣＰＵ２７は、電源スイッチ３９のターンオン信号を入力したときプリンタ１内の各部を起動させる。ＣＰＵ２７はＰＲＯＭ２９に記憶された制御プログラムに基づき、ＲＡＭ３０を作業領域として用いて、プリンタ１内の各部を制御するための情報処理を行い、その結果として各部に制御信号を送る。ＣＰＵ２７は、Ｉ／Ｆ３２およびＡＳＩＣ２８を介してホスト装置２３との間で印刷データや各種指令のやり取りを行う。また、ＣＰＵ２７はＩ／Ｆ３２およびＡＳＩＣ２８を介してホスト装置２３から入力した印刷データを処理し、ＡＳＩＣ２８を制御して、キャリッジモータ７、紙送りモータ９及び印刷ヘッド１１の駆動などの印刷のための各種動作を実行させる。
【００３５】
ＡＳＩＣ２８は、ポンプモータドライバ３３、紙送りモータドライバ３４、キャリッジモータドライバ３５及びヘッドドライバ３６に接続される。ポンプモータドライバ３３にはポンプモータ１６が接続され、紙送りモータドライバ３４には紙送りモータ９が接続され、キャリッジモータドライバ３５にはキャリッジモータ７が接続され、また、ヘッドドライバ３６には印刷ヘッド１１（特に、インクジェットノズル１３からインクを押し出す例えばピエゾ素子を用いたアクチュエータ３７）に接続される。ＡＳＩＣ２８は、ＣＰＵ２７からの制御信号に基づき、ポンプモータドライバ３３、紙送りモータドライバ３４、キャリッジモータドライバ３５及びヘッドドライバ３６を制御し、その制御の下で、ポンプモータドライバ３３、紙送りモータドライバ３４、キャリッジモータドライバ３５及びヘッドドライバ３６がそれぞれ、ポンプモータ１６、紙送りモータ９、キャリッジモータ７及び印刷ヘッド１１を駆動する。
【００３６】
ＣＰＵ２７は、リニアエンコーダ１８の光学センサ２０と信号線３８を介して接続され、その光学センサ２０から、上述した2種類のパルス信号を入力する。そして、ＣＰＵ２７は、入力されたパルス信号の周期に基づきキャリッジ３の走行速度を算出する。また、ＣＰＵ２７は、入力された2種類のパルス信号のレベルを比較する(位相シフトの方向を把握する）ことで、キャリッジ３の移動方向を検出し、また、パルス信号の立ち上がり又は立ち下がりをカウントしてキャリッジ３の位置を検出する。そして、ＣＰＵ２７は、キャリッジの走行を制御する処理におけて、検出されキャリッジ３の走行速度、移動方向及び位置を使用する。なお、リニアエンコーダ１８の光学センサ２０からのパルス信号（以下、エンコーダパルスという）の空間分解能は例えば１／１８０（inch）（＝２．５４／１８０（cm））である。ＣＰＵ２７は、このエンコーダパルスのカウント値（以下、ステップ数という）に基づいてキャリッジの位置を制御する。
【００３７】
以下では、上述した構成の下でＣＰＵ２７とＡＳＩＣ２８が行う制御動作、とりわけ、ホスト装置２３から受信された印刷データに基づいて印刷を実行する場合における各回の主走査プロセスの制御動作に関して説明する。
【００３８】
まず、ＣＰＵ２７とＡＳＩＣ２８による各回の主走査プロセスの制御動作の概要を説明する。
【００３９】
ＣＰＵ２７は、各回の主走査プロセスに関して、印刷データに基づいて、その主走査プロセスにおいて印刷ヘッド１１を駆動するためのヘッド駆動データを生成し、そのヘッド駆動データをＲＡＭ３０に格納する。また、ＣＰＵ２７は、印刷データに基づいて、その主走査プロセスにおける目標の印刷範囲を決定し、その目標の印刷範囲の左端のドット位置と右端のドット位置を決定する。そして、ＣＰＵ２７は、その左端トドット位置と右端ドット位置、並びに印刷データにより指定された印刷モードなどに応じて、定速フェーズ用の目標速度としてＰＲＯＭ２９に記憶されている複数の目標速度の中から、適切な一つを選択する。そして、ＣＰＵ１２は、選択した定速フェーズ用の目標速度に対応した速度値テーブル４０をＰＲＯＭ２９から読んで、これをＲＡＭ３０に格納する。さらに、ＣＰＵ２７は、定速フェーズ用の目標速度に応じた助走距離Laux、並びにファーストドット調整値Afstd及び双方向印刷調整値AbidをＰＲＯＭ２９から読み、これらのデータと上述した目標の印刷範囲の左端ドット位置と右端ドット位置に基づいて、後に詳述する方法で、ファーストドット位置(最初のドット形成動作を行うべきキャリッジ位置）、ラストドット位置(最後のドット形成動作を行うべきキャリッジ位置）及びキャリッジの走行開始位置を設定し、そして、その走行開始位置をＲＡＭ３０に格納する。
【００４０】
また、キャリッジ３が移動している間、ＣＰＵ２７は、リニアエンコーダ１８の光学センサ２０からのパルス信号に基づいて、キャリッジ３の現在位置や現在速度や走行方向を実質的に実時間で計算し、キャリッジの現在位置や現在速度や走行方向を示すデータをＲＡＭ３０に格納する。
【００４１】
ＡＳＩＣ２８は、ＲＡＭ３０から走行開始位置及び速度値テーブル４０や現在位置や現在速度や走行方向を読み、そして、キャリッジドライバ３５を介してキャリッジモータ７の駆動を制御することにより、設定された走行開始位置からキャリッジ３の走行を開始し、速度値テーブル４０内の加速フェーズ用の標準目標速度セットに従って加速フェーズを実行する。場合によっては、ＡＳＩＣ２８は、速度値テーブル４０内の加速フェーズ用の標準目標速度セットをそのまま用いるのではなく、それを修正して、助走距離Lauxよりも若干短い助走でキャリッジを高速安定走行状態に到達させるような修正目標速度セットを作成し、その修正目標速度セットに基づいて加速フェーズを実行することもできる。また、場合によっては、ＡＳＩＣ２８は、キャリッジ３の走行を開始する前に、ロジカルシークを行って、キャリッジの現在位置を次の主走査プロセスの走行開始位置に修正することもある。ＡＳＩＣ２８は、加速フェーズが終わると、定速フェーズの制御を実行する。このキャリッジ走行制御と並行して、ＡＳＩＣ２８は、ＲＡＭ３０からファーストドット位置、ラスとドット位置及びヘッド駆動データを読み、そして、ヘッドドライバ３６を介して印刷ヘッド１１を制御することにより、ファーストドット位置からラストドット位置までの間インクドット形成動作を行わせる。
【００４２】
ＣＰＵ２７は、上述した定速フェーズが終了するより前に、今回の主走査プロセスの印刷範囲や次回の主走査プロセスの印刷範囲などに基づいて、後に詳述するような方法で、キャリッジの停止位置を設定し、この停止位置をＲＡＭ３０に格納する。ＡＳＩＣ２８は、ＲＡＭ３０から停止位置を読み、停止位置でキャリッジ３を停止するように減速フェーズの開始位置を決定し、そして、減速フェーズ開始位置から速度値テーブル４０の減速フェーズ用の目標速度セットを用いてキャリッジドライバ３５を介してキャリッジモータ７の駆動を制御することにより、減速フェーズを実行し、最終的にキャリッジ３を停止位置で停止させる。
【００４３】
以下では、ＣＰＵ２７とＡＳＩＣ２８による各回（Ｎ回目）の主走査プロセスの制御動作、とりわけ、走行開始位置と停止位置（つまり、キャリッジ走行範囲）を決定するための処理をより詳細に説明する。
【００４４】
図４及び図５は、キャリッジ走行範囲を決定するための方法を示している。
【００４５】
図４及び図５において、Xはキャリッジ位置を示し、右へ向かう方向がキャリッジ位置Xの値が増える方向つまりプラス方向、左へ向かう方向キャリッジ位置Xの値が減る方向つまりマイナス方向である。また、XlendとXrendは、それぞれ、印刷データに基づいて決定される目標の印刷範囲の左端と右端のドットの位置を指す。
【００４６】
図４には、予め設定されているファーストドット調整値Afstdの極性がプラス（右方向へのシフトを意味する）である場合のキャリッジ走行範囲の決定方法が示されている。図４中、図４Aは、本実施形態の方法との対比のために、図１で既に説明した従来の決定方法を示しており、図４Bと図４Cが、本実施形態の決定方法を示している。そして、図４Bは、予め設定されている双方向印刷調整値Abidの極性がプラスである（右方向へのシフトを指示する）場合に対応し、図４Cは、双方向印刷調整値Abidの極性がマイナスである（左方向へのシフトを指示する）場合に対応する。
【００４７】
図４Bを参照して、双方向印刷調整値Abidがプラス（右シフト）である場合の決定方法を説明する。
【００４８】
まず、往走プロセス（キャリッジがプラス方向へ走行する主走査プロセス）での決定方法を、図４Bの上側のグラフ１０１を参照して説明する。
【００４９】
グラフ１０１に示すように、印刷データにより決定された目標の左端ドット位置Vlendに、ファーストドット調整値Afstdが加算され、その結果がファーストドット位置（最初のドット形成動作を行うべきキャリッジ位置）Xfstd_fwとして設定される。つまり、ファーストドット位置Xfstd_fwは、左端ドット位置Vlendよりファーストドット調整値Afstdの絶対値分だけ右へシフトした位置に設定される。
【００５０】
このファーストドット位置Xfstd_fwに、助走距離Laux（常にプラスの値）が減算され、その結果が、キャリッジの最小走行範囲Rminrunの左端として設定される。つまり、キャリッジの最小走行範囲Rminrunの左端は、ファーストドット位置Xfstd_fwより助走距離Laux分だけ左へシフトした位置に設定される。
【００５１】
また、グラフ１０１に示すように、印刷データにより決定された右端ドット位置Vrendに、ファーストドット調整値Afstdが加算され、その結果がラストドット位置（最後のドット形成動作を行うべきキャリッジ位置）Xlstd_fwとして設定される。つまり、ラストドット位置Xlatd_fwは、右端ドット位置Vrendよりファーストドット調整値Afstdの絶対値分だけ右へシフトした位置に設定される。
【００５２】
このラストドット位置Xlstd_fwに、双方向印刷調整値Abidと助走距離Laux（常にプラスの値）が加算され、その結果が、キャリッジの最小走行範囲Rminrunの右端として設定される。つまり、キャリッジの最小走行範囲Rminrunの右端は、ラストドット位置Xlstd_fwより双方向印刷調整値Abidと助走距離Lauxの合計値の絶対値分だけ右へシフトした位置に設定される。
【００５３】
このようにして設定された最小走行範囲Rminrunは、キャリッジが必ず走行しなければならない区間である。なお、この最小走行範囲Rminrunの中で、両側の助走距離Lauxの区間を除いた中間の区間Rhsrunが、ドット形成可能な高速安定走行区間である。
【００５４】
そして、往走プロセスの走行開始位置Xstt_fwは、最小走行範囲Rminrunの左端位置に設定される（後述する図７のS19のように、この左端よりさらに左側へずれた位置に設定される場合もある）。また、往走プロセスの停止位置Xstp_fwは、最小走行範囲Rminrunの右端位置に設定される（後述する図９のS39のように、この右端よりさらに右側へずれた位置に設定される場合もある）。
【００５５】
次に、双方向印刷調整値Abidがプラス（右シフト）である場合の復走プロセス（キャリッジがマイナス方向へ走行する主走査プロセス）での決定方法を、図４Bの下側のグラフ１０３を参照して説明する。
【００５６】
グラフ１０３に示すように、印刷データにより決定された右端ドット位置Vrendに、ファーストドット調整値Afstdと双方向印刷調整値Abidが加算され、その結果がファーストドット位置Xfstd_bwとして設定される。つまり、ファーストドット位置Xfstd_bwは、右端ドット位置Vrendよりファーストドット調整値Afstdと双方向印刷調整値Abidの合計値の絶対値分だけ右へシフトした位置に設定される。
【００５７】
このファーストドット位置Xfstd_bwに、助走距離Laux（常にプラスの値）が加算され、その結果が、キャリッジの最小走行範囲Rminrunの右端として設定される。つまり、キャリッジの最小走行範囲Rminrunの右端は、ファーストドット位置Xfstd_bwより助走距離Laux分だけ右へシフトした位置に設定される。
【００５８】
また、グラフ１０３に示すように、印刷データにより決定された左端ドット位置Vlendに、ファーストドット調整値Afstdと双方向印刷調整値Abidが加算され、その結果がラストドット位置Xlstd_bwとして設定される。つまり、ラストドット位置Xlstd_bwは、左端ドット位置Vlendよりファーストドット調整値Afstdと双方向印刷調整値Abidの合計値の絶対値分だけ右へシフトした位置に設定される。
【００５９】
このラストドット位置Xlst_bwに、双方向印刷調整値Abidと助走距離Laux（常にプラスの値）が減算され、その結果が、キャリッジの最小走行範囲Rminrunの左端として設定される。つまり、キャリッジの最小走行範囲Rminrunの左端は、ラストドット位置Xfltd_bwより双方向印刷調整値Abidと助走距離Lauxの合計値の絶対値分だけ左へシフトした位置に設定される。
【００６０】
そして、復走プロセスの走行開始位置Xstt_bwは、最小走行範囲Rminrunの右端位置に設定される（後述する図８のS27のように、この右端よりさらに右側へずれた位置に設定される場合もある）。復走プロセスの停止位置Xstt_bwは、最小走行範囲Rminrunの左端に設定される（後述する図１０のS47のように、この左端よりさらに左側へずれた位置に設定される場合もある）。
【００６１】
次に、図４Cを参照して、双方向印刷調整値Abidがマイナス（左シフト）である場合の決定方法を説明する。
【００６２】
まず、往走プロセスでの決定方法を、図４Cの上側のグラフ１０５を参照して説明する。
【００６３】
グラフ１０５に示すように、ファーストドット位置Xfstd_fwが、グラフ１０１の場合と同様に、左端ドット位置Vlendよりファーストドット調整値Afstdの絶対値分だけ右へシフトした位置に設定される。このファーストドット位置Xfstd_fwに、双方向印刷調整値Abidが加算され、さらに助走距離Laux（常にプラスの値）が減算され、その結果が、キャリッジの最小走行範囲Rminrunの左端として設定される。つまり、キャリッジの最小走行範囲Rminrunの左端は、ファーストドット位置Xfstd_fwより、双方向印刷調整値Abidの絶対値と助走距離Lauxの合計値分だけ左へシフトした位置に設定される。
【００６４】
また、グラフ１０５に示すように、ラストドット位置Xlatd_fwが、グラフ１０１の場合と同様に、右端ドット位置Vrendよりファーストドット調整値Afstdの絶対値分だけ右へシフトした位置に設定される。このラストドット位置Xlstd_fwに、助走距離Laux（常にプラスの値）が加算され、その結果が、キャリッジの最小走行範囲Rminrunの右端として設定される。つまり、キャリッジの最小走行範囲Rminrunの右端は、ラストドット位置Xlstd_fwより助走距離Laux分だけ右へシフトした位置に設定される。
【００６５】
そして、往走プロセスの走行開始位置Xstt_fwは、最小走行範囲Rminrunの左端位置に設定される（後述する図７のS19のように、この左端よりさらに左側へずれた位置に設定される場合もある）。往走プロセスの停止位置Xstp_fwは、最小走行範囲Rminrunの右端位置に設定される（後述する図９のS39のように、この右端よりさらに右側へずれた位置に設定される場合もある）。
【００６６】
次に、双方向印刷調整値Abidがマイナス（左シフト）である場合の復走プロセスでの決定方法を、図４Cの下側のグラフ１０７を参照して説明する。
【００６７】
グラフ１０７に示すように、印刷データにより決定された右端ドット位置Vrendに、ファーストドット調整値Afstdと双方向印刷調整値Abidが加算され、その結果がファーストドット位置Xfstd_bwとして設定される。つまり、ファーストドット位置Xfstd_bwは、右端ドット位置Vrendより、ファーストドット調整値Afstd分だけ右へシフトし、更に双方向印刷調整値Abidの絶対値分だけ左へシフトした位置に設定される。
【００６８】
このファーストドット位置Xfstd_bwに、双方向印刷調整値Abidが減算され、更に助走距離Laux（常にプラスの値）が加算され、その結果が、キャリッジの最小走行範囲Rminrunの右端として設定される。つまり、キャリッジの最小走行範囲Rminrunの右端は、ファーストドット位置Xfstd_bwより、双方向印刷調整値Abidの絶対値と助走距離Lauxとの合計値分だけ右へシフトした位置に設定される。
【００６９】
また、グラフ１０７に示すように、印刷データにより決定された左端ドット位置Vlendに、ファーストドット調整値Afstdと双方向印刷調整値Abidが加算され、その結果がラストドット位置Xlstd_bwとして設定される。つまり、ラストドット位置Xlstd_bwは、左端ドット位置Vlendより、ファーストドット調整値Afstd分だけ右へシフトし、更に双方向印刷調整値Abidの絶対値分だけ左へシフトした位置に設定される。
【００７０】
このラストドット位置Xlst_bwに、助走距離Laux（常にプラスの値）が減算され、その結果が、キャリッジの最小走行範囲Rminrunの左端として設定される。つまり、キャリッジの最小走行範囲Rminrunの左端は、ラストドット位置Xfltd_bwより助走距離Laux分だけ左へシフトした位置に設定される。
【００７１】
そして、復走プロセスの走行開始位置Xstt_bwは、最小走行範囲Rminrunの右端位置に設定される（後述する図８のS27のように、この右端よりさらに右側へずれた位置に設定される場合もある）。復走プロセスの停止位置Xstt_bwは、最小走行範囲Rminrunの左端に設定される（後述する図１０のS47のように、この左端よりさらに左側へずれた位置に設定される場合もある）。
【００７２】
以上の図４B及び図４Cに示された決定方法を計算式で表すと、次のようになる。
【００７３】
（１）  双方向印刷調整値Abidがプラス（左シフト）の場合
（１−１）往走プロセス
最小走行範囲Rminrunの左端＝Xlend＋Astd−Laux          …1
最小走行範囲Rminrunの右端＝Xrend＋Astd＋Abid＋Laux    …２
Xstt_fw≦最小走行範囲Rminrunの左端                    …３
Xstp_fw≧最小走行範囲Rminrunの右端                    …４
（１−２）  復走プロセス
最小走行範囲Rminrunの左端＝Xlend＋Astd−Laux          …1
最小走行範囲Rminrunの右端＝Xrend＋Astd＋Abid−Laux    …２
Xstp_bw≦最小走行範囲Rminrunの左端                    …５
Xstt_bw≧最小走行範囲Rminrunの右端                    …６
（２）  双方向印刷調整値Abidがマイナス（右シフト）の場合
（２−１）往走プロセス
最小走行範囲Rminrunの左端＝Xlend＋Astd＋Abid−Laux    …７
最小走行範囲Rminrunの右端＝Xrend＋Astd＋Laux          …８
Xstt_fw≦最小走行範囲Rminrunの左端                    …３
Xstp_fw≧最小走行範囲Rminrunの右端                    …４
（２−２）  復走プロセス
最小走行範囲Rminrunの左端＝Xlend＋Astd＋Abid−Laux    …７
最小走行範囲Rminrunの右端＝Xrend＋Astd＋Laux          …８
Xstp_bw≦最小走行範囲Rminrunの左端                    …５
Xstt_bw≧最小走行範囲Rminrunの右端                    …６
図５には、ファーストドット調整値Afstdの極性がマイナスである（左方向へのシフトを指示する）場合の決定方法が示されている。図５中、図５Aは、本実施形態の方法との対比のために、図１で既に説明した従来の決定方法を示しており、図５Bと図５Cが、本実施形態の決定方法を示している。そして、図５Bは、双方向印刷調整値Abidの極性がプラスである場合に対応し、図５Cは、双方向印刷調整値Abidの極性がマイナスである場合に対応する。
【００７４】
図５Bと図５Cに示す決定方法は、既に説明した図４Bと図４Cに示した方法と比べて、ファーストドット調整値Afstdのシフト方向が逆である点が異なるのみで、他の点では実質的に同一である。そして、図５Bと図５Cに示す決定方法にも、上述した式１〜式８がそのまま適用される。
【００７５】
図４B、図４C、図５B及び図５Cに示された本実施形態で採用される計算式、そのうち特に式１，２，７及び８に基づけば、最小走行範囲Rminrunの長さは次式で示される。
【００７６】
最小走行範囲Rminrunの長さ＝Xrend−Xlend＋Abid＋２Laux  …９
この式９、並びに図４及び図５から分かるように、本実施形態の方法による最小走行範囲Rminrunの長さは、ドット形成範囲Rdot（ファーストドット位置Xrendからラストドット位置Xlendまで）の長さに、双方向印刷調整値Abidと助走距離Lauxの２倍を加えた長さとなる。これに対し、図１、図４A及び図５Aに示された従来技術に従うと、最小走行範囲Rminrunの長さは、ドット形成範囲Rdotの長さに、位置調整マージンMadjの２倍と助走距離Lauxの２倍を加えた長さとなる。従って、本実施形態と従来技術との間の最小走行範囲Rminrunの長さの違いは、双方向印刷調整値Abidと位置調整マージンMadjの２倍との間の長さの違いに相当する。ここで、位置調整マージンMadjの２倍とは、既に説明したように、少なくとも、ファーストドット調整値Afstdと双方向印刷調整値Abidとを加算した合計のシフト量の最大変動幅分の長さである。従って、本実施形態に従えば、従来技術より、最小走行範囲Rminrunの長さが短縮される。キャリッジの実際の走行範囲は、走行開始位置Xsttから停止位置Xstpまでであり、それは、最小で最小走行範囲Rminrunと一致する（場合によっては、最小走行範囲Rminrunより外側へ拡張されるが、その点は本実施形態も従来技術も同様である）。従って、本実施形態に従えば、従来技術より、キャリッジの実際の走行距離が短縮し、よって、印刷のスループットが向上する。
【００７７】
また、上述の制御によれば、特に、例えば長方形の写真を印刷する場合のように、連続的に交互に繰り返される往走プロセスと復走プロセスにおいて、印刷データに基づく目標の印刷範囲Rprtの位置が全く同一である場合には、図４及び図５から分かるように、往走プロセスの停止位置と次の復走プロセスの走行開始位置（または、復走プロセスの停止位置と次の往走プロセスの走行開始位置）とが一致することになるので、ロジカルシークを行う必要性が減り、スループットが向上する。
【００７８】
以下では、図４及び図５に示した走行範囲の決定方法を行うための、ＣＰＵ２７とＡＳＩＣ２８による制御動作の手順を説明する。
【００７９】
図６は、ＣＰＵ２７とＡＳＩＣ２８による各回（Ｎ回目）の主走査プロセスの制御動作の全体的な流れを示している。
【００８０】
図６に示すステップS1では、Ｎ回目の主走査プロセスを開始する（キャリッジの走行を開始する）前に、Ｎ回目の主走査プロセスのための走行開始位置を設定する。ステップS2で、Ｎ−１回目の主走査プロセスが終わってキャリッジが停止しているとき、キャリッジの現在位置が、設定された走行開始位置に一致するかチェックする。このチェックの結果、一致していれば、ステップS4に進み、現在位置（つまり、走行開始位置）からキャリッジの走行を開始して加速フェーズを実行する。上記チェックの結果、一致していなければ、ステップS3でロジカルシークを行って、キャリッジの現在位置を走行開始位置に一致するように修正し、その後にステップS4に進む。ただし、上記チェックの結果一致していない場合であっても、現在位置と走行開始位置との距離が僅かである場合には、加速フェーズにおいて前述した修正目標速度セットを使用するという方法を採用することで、ロジカルシークを省略して、直ちにステップS4に進むことができる。すなわち、現在位置と走行開始位置との距離が、修正目標速度セットでは補償できない程度に大きい場合を除けば、現在位置と走行開始位置とが一致してなくてもステップS3のロジカルシークを行わないようにすることができる。
【００８１】
加速フェーズが終わると、続いて、ステップS5で定速フェーズを行なう。定速フェーズの間に、ステップS6で、Ｎ回目の主走査プロセスのための停止位置を設定する。ステップS7で、定速フェーズを終了して、設定された停止位置でキャリッジを停止することができるように減速フェーズを実行する。ステップS8でキャリッジが停止し、これでＮ回目の主走査プロセスの制御動作が終了する。
【００８２】
図７から図８は、ＣＰＵ２７によるＮ回目の主走査プロセスのための走行開始位置（図４及び図５に示された走行開始位置Xstt_fw及びXstt_bw）を設定するための制御動作の流れを示す。
【００８３】
図７のステップS11にて、Ｎ回目の主走査プロセスのための印刷データに基づいて、Ｎ回目の主走査プロセスでの印刷範囲の左端ドット位置Vlendと右端ドット位置Vrendが計算される。ステップS12で、Ｎ回目の主走査プロセスが往走プロセスと復走プロセスのいずれであるか判断される。往走プロセスの場合、制御はステップS13以下のルーチンに進み、復走プロセスの場合、制御は図８のステップS21以下のルーチンに進む。
【００８４】
往走プロセスの場合、ステップS13において、ステップS11で計算されたＮ回目の左端ドット位置Vlendに、ファーストドット調整値Afstdが加算され、その結果がＮ回目のファーストドット位置Xfstd_fwとして設定される。ステップS14で、双方向印刷調整値Abidの極性がプラスかマイナスか(シフト方向が右か左が）が判断される。その極性がゼロ又はプラス(右シフト）である場合、ステップS15で、Ｎ回目のファーストドット位置Xfstd_fwに、助走距離Laux（常にプラスの値）が減算され、その結果が、Ｎ回目の最小走行範囲Rminrunの左端として設定される（図４Bのグラフ１０１、図５Bのグラフ１０９）。一方、上記極性がマイナス(左シフト）である場合、ステップS16で、Ｎ回目のファーストドット位置Xfstd_fwに、双方向印刷調整値Abidが加算され、さらに助走距離Laux（常にプラスの値）が減算され、その結果が、Ｎ回目の最小走行範囲Rminrunの左端として設定される（図４Cのグラフ１０５、図５Cのグラフ１１３）。
【００８５】
ステップS17で、停止しているキャリッジの現在位置が、Ｎ回目の最小走行範囲Rminrunの左端よりも左側（外側）に位置しているかチェックされる。このチェックの結果が否定的、すなわち、現在位置がＮ回目の最小走行範囲Rminrunの左端と一致しているか又はより右側(内側）にある場合には、ステップS18で、Ｎ回目の最小走行範囲Rminrunの左端が、Ｎ回目の走行開始位置Xstt_fwとして設定される。一方、上記チェックの結果が肯定的、すなわち、現在位置がＮ回目の最小走行範囲Rminrunの左端より左側(外側）にある場合には、ステップS19で、その現在位置がＮ回目の走行開始位置Xstt_fwとして設定される。
【００８６】
復走プロセスの場合、図８のステップS21で、Ｎ回目の右端ドット位置Vrendに、ファーストドット調整値Afstdと双方向印刷調整値Abidが加算され、その結果がＮ回目のファーストドット位置Xfstd_bwとして設定される。ステップS22で、双方向印刷調整値Abidの極性がプラスかマイナスか(シフト方向が右か左が）が判断される。その極性がゼロ又はプラス(右シフト）である場合、ステップS23で、Ｎ回目のファーストドット位置Xfstd_bwに、助走距離Laux（常にプラスの値）が加算され、その結果が、Ｎ回目の最小走行範囲Rminrunの右端として設定される（図４Bのグラフ１０３、図５Bのグラフ１１１）。一方、上記極性がマイナス(左シフト）である場合、ステップS16で、Ｎ回目のファーストドット位置Xfstd_bwに、双方向印刷調整値Abidが減算され、更に助走距離Laux（常にプラスの値）が加算され、その結果が、Ｎ回目の最小走行範囲Rminrunの右端として設定される（図４Cのグラフ１０７、図５Bのグラフ１１５）。
【００８７】
ステップS25で、停止しているキャリッジの現在位置が、Ｎ回目の最小走行範囲Rminrunの右端よりも右側（外側）に位置しているかチェックされる。このチェックの結果が否定的、すなわち、現在位置がＮ回目の最小走行範囲Rminrunの右端と一致しているか又はより左側（内側）にある場合には、ステップS26で、Ｎ回目の最小走行範囲Rminrunの右端が、Ｎ回目の走行開始位置Xstt_bwとして設定される。一方、上記チェックの結果が肯定的、すなわち、現在位置がＮ回目の最小走行範囲Rminrunの右端より右側（外側）にある場合には、ステップS27で、その現在位置がＮ回目の走行開始位置Xstt_bwとして設定される。
【００８８】
図９から図１０は、ＣＰＵ２７によるＮ回目の主走査プロセスのための停止位置（図４及び図５に示された停止位置Xstp_fw及びXstp_bw）を設定するための制御動作の流れを示す。
【００８９】
図９のステップS31にて、Ｎ回目の主走査プロセスが往走プロセスと復走プロセスのいずれであるか判断される。往走プロセスの場合、制御はステップS32以下のルーチンに進み、復走プロセスの場合、制御は図１０のステップS40以下のルーチンに進む。
【００９０】
往走プロセスの場合、ステップS32において、図７のステップS11で計算されたＮ回目の右端ドット位置Vrendに、ファーストドット調整値Afstdが加算され、その結果がＮ回目のラストドット位置Xlstd_fwとして設定される。ステップS33で、双方向印刷調整値Abidの極性がプラスかマイナスか(シフト方向が右か左が）が判断される。その極性がゼロ又はプラス(右シフト）である場合、ステップS34で、Ｎ回目のラストドット位置Xlstd_fwに、双方向印刷調整値Abidと助走距離Laux（常にプラスの値）が加算され、その結果が、Ｎ回目の最小走行範囲Rminrunの右端として設定される（図４Bのグラフ１０１、図５Bのグラフ１０９）。一方、上記極性がマイナス(左シフト）である場合、ステップS35で、Ｎ回目のラストドット位置Xlstd_fwに、助走距離Laux（常にプラスの値）が加算され、その結果が、Ｎ回目の最小走行範囲Rminrunの右端として設定される（図４Cのグラフ１０５、図５Cのグラフ１１３）。
【００９１】
ステップS36で、Ｎ＋１回目の主走査プロセスのための印刷データが既に入手済みであるならば、そのＮ＋１回目の印刷データに基づいて、既に図７から図８を参照して説明したと同様の方法で、Ｎ＋１回目の最小走行範囲が決定される。ステップS37で、Ｎ＋１回目の最小走行範囲の左端又は右端が、Ｎ回目の最小走行範囲Rminrunの右端より右側（外側）に位置しているかチェックされる。このチェックの結果が否定的、すなわち、Ｎ＋１回目の最小走行範囲の左端及び右端が、Ｎ回目の最小走行範囲Rminrunの右端より右側（外側）には位置してない場合には、ステップS38で、Ｎ回目の最小走行範囲Rminrunの右端が、Ｎ回目の停止位置Xstp_fwとして設定される。一方、上記チェックの結果が肯定的、すなわち、Ｎ＋１回目の最小走行範囲の左端又は右端が、Ｎ回目の最小走行範囲Rminrunの右端より右側（外側）に位置する場合には、ステップS39で、Ｎ＋１回目の最小走行範囲の左端又は右端であって、Ｎ回目の最小走行範囲Rminrunの右端より右側（外側）に位置する端が、Ｎ回目の停止位置Xstp_fwとして設定される。なお、ステップS39が行われた場合、Ｎ回目の停止位置Xstp_fwとして設定されたＮ＋１回目の最小走行範囲の左端又は右端は、その後のＮ＋１回目の主走査プロセスの制御では走行開始位置として設定されることになり、よってロジカルシークが不要となる。因みに、ステップS38からS39のように、今回の主走査プロセスの実行中に、次回の主走査プロセスの印刷範囲に基づいてロジカルシークが不要になるように、今回の主走査プロセスの停止位置を決定する制御は、スーパーロジカルシークと呼ばれる。
【００９２】
復走プロセスの場合、図１０のステップS40で、Ｎ回目の右端ドット位置Vrendに、ファーストドット調整値Afstdと双方向印刷調整値Abidが加算され、その結果がＮ回目のファーストドット位置Xfstd_bwとして設定される。ステップS41で、双方向印刷調整値Abidの極性がプラスかマイナスか(シフト方向が右か左が）が判断される。その極性がゼロ又はプラス(右シフト）である場合、ステップS42で、Ｎ回目のラストドット位置Xlst_bwに、双方向印刷調整値Abidと助走距離Laux（常にプラスの値）が減算され、その結果が、Ｎ回目の最小走行範囲Rminrunの左端として設定される（図４Bのグラフ１０３、図５Bのグラフ１１１）。一方、上記極性がマイナス(左シフト）である場合、ステップS35で、Ｎ回目のラストドット位置Xlst_bwに、助走距離Laux（常にプラスの値）が減算され、その結果が、キャリッジの最小走行範囲Rminrunの左端として設定される（図４Cのグラフ１０７、図５Cのグラフ１１５）。
【００９３】
ステップS44で、Ｎ＋１回目の主走査プロセスのための印刷データが既に入手済みであるならば、そのＮ＋１回目の印刷データに基づいて、既に図７から図８を参照して説明したと同様の方法で、Ｎ＋１回目の最小走行範囲が決定される。ステップS45で、Ｎ＋１回目の最小走行範囲の左端又は右端が、Ｎ回目の最小走行範囲Rminrunの左端より左側（外側）に位置しているかチェックされる。このチェックの結果が否定的、すなわち、Ｎ＋１回目の最小走行範囲の左端及び右端が、Ｎ回目の最小走行範囲Rminrunの左端より左側（外側）には位置してない場合には、ステップS46で、Ｎ回目の最小走行範囲Rminrunの左端が、Ｎ回目の停止位置Xstp_bwとして設定される。一方、上記チェックの結果が肯定的、すなわち、Ｎ＋１回目の最小走行範囲の左端又は右端が、Ｎ回目の最小走行範囲Rminrunの左端より左側（外側）に位置する場合には、ステップS47で、Ｎ＋１回目の最小走行範囲の左端又は右端であって、Ｎ回目の最小走行範囲Rminrunの左端より左側（外側）に位置している端が、Ｎ回目の停止位置Xstp_bwとして設定される(スーパーロジカルシーク）。
【００９４】
以上の制御動作により、図４及び図５に示した走行範囲の設定方法が実現される。
【００９５】
図４及び図５に示した各回の主走査プロセスの走行範囲の設定方法を要約すれば、次の（１）〜（４）のとおりである。
【００９６】
（１）  目標の印刷範囲の決定
印刷データに基づいて、その主走査プロセスでの目標の印刷範囲Rprt（左端ドット位置Xlend及び右端ドット位置Xrend）を決定する。
【００９７】
（２）  ドット形成範囲Rdot（ファーストドット位置Xfstd及びラストドット位置Xlstd）の決定
（２−１）  往走プロセス（キャリッジ位置座標系の第一方向(例えば右方向)へキャリッジを走行させる主走査プロセス）の場合
目標の印刷範囲Rprtをファーストドット調整値Afstdに従ってシフトすることで、ドット形成範囲Rdotを決定する。
【００９８】
（２−２）  復走プロセス（キャリッジ位置座標系における第二方向(例えば左方向)へキャリッジを走行させる主走査プロセス）の場合
目標の印刷範囲Rprtをファーストドット調整値Afstd及び双方向印刷調整値Abidに従ってシフトすることで、ドット形成範囲Rdotを決定する。
【００９９】
（３）  最小走行範囲Rminrunの決定
ドット形成範囲Rdotに、第一又は第二の方向から選ばれた一方向への双方向印刷調整値Abidｍの絶対値分の範囲拡張と、第一及び第二の双方向への助走距離Laux分の範囲拡張とが加えられた範囲を、最小走行範囲Rminrunとして設定する。
【０１００】
ここで、往走プロセスの場合であって双方向印刷調整値Abidが第一方向のシフト量である場合、及び、復走プロセスの場合であって双方向印刷調整値Abidが第二方向のシフト量である場合には、上述した双方向印刷調整値Abidｍの絶対値分の範囲拡張の方向として、第一方向が選ばれる。一方、往走プロセスの場合であって双方向印刷調整値Abidが第二方向のシフト量である場合、及び復走プロセスの場合であって双方向印刷調整値Abidが第一方向のシフト量である場合には、上述した双方向印刷調整値Abidｍの絶対値分の範囲拡張の方向として、第二方向が選ばれる。
【０１０１】
このようにして最小走行範囲Rminrunが決定される結果、図４及び図５から分かるように、往走プロセスでも復走プロセスでも、最小走行範囲Rminrun内の両側の助走距離Lauxの区間を除いた高速安定走行区間Rhsrunの長さは、ドット形成範囲Rdotに双方向印刷調整値Abidｍの絶対値を加算した長さになる。また、往走プロセスと復走プロセスの印刷範囲Pprtの位置が一致する場合には、図４及び図５から分かるように、往走プロセスと復走プロセスの最小走行範囲Rminrunの位置も一致することになる。
【０１０２】
（４）  実際の走行範囲（走行開始位置Xstt及び停止位置Xstp）の決定
最小走行範囲Rminrunを包含するように実際の走行範囲を決定する。
【０１０３】
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【図面の簡単な説明】
【０１０４】
【図１】従来の主走査プロセスの制御方法を説明した図。
【図２】本発明の一実施形態にかかるシリアルプリンタ（例えば、インクジェットプリンタ）の機械的構成を示す要部斜視図。
【図３】同実施形態にかかるシリアルプリンタの制御装置のハードウェア構成を示すブロック図。
【図４】ファーストドット調整値Afstdの極性がプラスである場合におけるキャリッジ走行範囲を決定するための方法を示す図。
【図５】ファーストドット調整値Afstdの極性がマイナスである場合におけるキャリッジ走行範囲を決定するための方法を示す図。
【図６】Ｎ回目の主走査プロセスの制御動作の全体的な流れを示すフローチャート。
【図７】図８と繋がって、Ｎ回目の主走査プロセスのための走行開始位置を設定するための制御動作の流れを示すフローチャート。
【図８】図７と繋がって、同制御動作の流れを示すフローチャート。
【図９】図１０と繋がって、Ｎ回目の主走査プロセスのための停止位置を設定するための制御動作の流れを示すフローチャート。
【図１０】図９と繋がって、同制御動作の流れを示すフローチャート。
【符号の説明】
【０１０５】
３  キャリッジ
７  キャリッジモータ
２７  ＣＰＵ
２８  ＡＳＩＣ
２９  ＰＲＯＭ
３５  キャリッジドライバ
４０  速度値テーブル
Xlend  左端ドット位置
Xrend  右端ドット位置
Laux  助走距離
Afstd  ファーストドット調整値
Abid  双方向印刷調整値
Xfstd  ファーストドット位置
Xlstd  ラスとドット位置
Rprt  印刷範囲
Rminrun  最小走行範囲
Xstt  走行開始位置
Xstp  停止位置
【図１】
2005225171.tif 000003
【図２】
2005225171.tif 000004
【図３】
2005225171.tif 000005
【図４】
2005225171.tif 000006
【図５】
2005225171.tif 000007
【図６】
2005225171.tif 000008
【図７】
2005225171.tif 000009
【図８】
2005225171.tif 000010
【図９】
2005225171.tif 000011
【図１０】
2005225171.tif 000012