以下、本発明の一実施形態について、図面を参照して説明する。これらの図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている装置の構成、各種処理のフローチャート等は、それのみに限定する趣旨ではなく、単なる説明例である。
図1を参照し、印刷システム5の概要について説明する。印刷システム5は、印刷装置1および外部端末2を備える。印刷装置1および外部端末2は、USB(登録商標)ケーブル3によって接続する。印刷装置1は、印刷媒体である感熱テープ8(図6等参照)に文字や図形等を印刷した後、感熱テープ8のうち文字や図形等が印刷された部分を切り離すことによって、ラベルを作成する。印刷装置1は、外部端末2から受信した印刷データに基づいて駆動し、ラベルを作成する。外部端末2は汎用のパーソナルコンピュータ(PC)である。外部端末2は、印刷装置1がラベルを作成する場合に必要な印刷データを作成する。ユーザは、外部端末2のキーボードやマウスを介して印刷データを編集することができる。
図2から図4を参照し、印刷装置1の構成について説明する。図2の右下、左上、右上、左下、上方向、および下方向を、それぞれ、印刷装置1の右方、左方、後方、前方、上方、下方と定義する。
図2に示すように、印刷装置1は筐体100を備える。筐体100の形状は略箱形である。筐体100は、トップカバー101およびアンダーカバー102を備える。トップカバー101は、筐体100の上面に設けられる。アンダーカバー102は、筐体100の下面に設けられる。トップカバー101は、固定部101Aおよび開閉蓋101Bを備える。固定部101Aは、トップカバー101の前側部分である。開閉蓋101Bは、トップカバー101の後側部分である。
図3に示すように、開閉蓋101B(図2参照)の下方に、ロール収納部161が設けられる。ロール収納部161には、感熱テープ8が巻回されたロール9が収容される。ロール9の両端部に、支持部材162が取り付けられる。ロール9は、支持部材162によって回転可能に軸支される。これによって、ロール収納部161から連続的に感熱テープ8を供給することができる。開閉蓋101Bの後端は、ヒンジ部164に回転可能に軸支される。開閉蓋101Bは、後端を軸として前端を上下に揺動させることで開閉する。開閉蓋101Bが開いた状態で、ロール収納部161は露出する。従ってユーザは、ロール9の装着および交換を容易に行うことができる。
図4に示すように、トップカバー101(図2参照)の前後方向略中央部であって固定部101Aと開閉蓋101Bとの間に、排出口107が設けられる。排出口107は、感熱テープ8のうち印刷が行われた部分を、筐体100の内部から外部に向けて通す。これによって、感熱テープ8は筐体100の内部から外部に排出される。開閉蓋101Bの前方側端部に、プラテンローラ111が回転可能に支持される。筐体100の内部に設けられた駆動モータ18(図5参照)は、ギア機構(図示外)を介してプラテンローラ111に接続する。駆動モータ18は、筐体100内部前方に設けられた制御基板170上のCPU11(図5参照)によって駆動が制御される。駆動モータ18の回転駆動力はプラテンローラ111に伝達し、プラテンローラ111は回転する。
固定部101Aの後端部下方に、サーマルラインヘッド112、固定板113、およびばね114が設けられる。固定板113は、プラテンローラ111の前方に設けられる。固定板113は、平面を前後方向に向けた状態で左右方向に延びる。固定板113の後面に、サーマルラインヘッド112が設けられる。サーマルラインヘッド112は、左右方向に延びる。サーマルラインヘッド112は、感熱テープ8に形成する画像の一ライン分の発熱素子が左右方向に配列した構造を有している。サーマルラインヘッド112の発熱素子は、電流を通電することによって発熱する。ばね114は、固定板113を後方に付勢する。
サーマルラインヘッド112の上方に切断歯160が設けられる。切断歯160は、排出口107に沿うように延びる。ユーザは、排出口107から排出された感熱テープ8を前方に引っ張り、切断歯160に押し付けることによって、感熱テープ8を手動で切断できる。
ラベルが作成されるまでの工程について説明する。プラテンローラ111とサーマルラインヘッド112との間に、ロール収納部161に収容されたロール9から延びる感熱テープ8が下方から上方に向けて挿通される。ばね114が固定板113を後方に付勢し、サーマルラインヘッド112は所定の力でプラテンローラ111に感熱テープ8を押し付ける。この状態で、サーマルラインヘッド112の発熱素子が発熱する。発熱素子のうち発熱した部分に対応する画素の像が感熱テープ8に形成され、一ライン分の画像が印刷される。同時に、駆動モータ18の回転に伴いプラテンローラ111が回転することによって、ロール9から感熱テープ8が順次繰り出され、下方から上方に向けて搬送される。これによって、感熱テープ8に対して一ライン分ずつ画像が繰り返し形成され、最終的に文字や図形が印刷される。
印刷後の感熱テープ8は、プラテンローラ111およびサーマルラインヘッド112の搬送方向下流側側にある排出口107から、筐体100の外部へ排出される。排出された感熱テープ8は、排出口107に沿って設けられた切断歯160によって切断される。これによってラベルが作成される。なお以下、サーマルラインヘッド112における発熱素子が配列する方向である左右方向を主走査方向ともいい、感熱テープ8の搬送方向を副走査方向ともいう。
図5を参照し、印刷装置1の電気的構成について説明する。印刷装置1は、CPU11、SRAM12、FLASH ROM13、EEPROM14、入出力インタフェース(以下、入出力I/Fという。)15、駆動部16、駆動モータ18、サーマルラインヘッド112、プラテンローラ111、及びUSBコントローラ20を備える。CPU11、SRAM12、FLASH ROM13、EEPROM14、入出力I/F15、駆動モータ16、18、及びUSBコントローラ20は、制御基板170(図4参照)に実装される。
CPU11は、印刷装置1全体の制御を司る。FLASH ROM13は、書き換え可能な不揮発性記憶素子である。FLASH ROM13には、制御プログラム等が記憶される。SRAM12には、外部端末2から受信した印刷データが一時的に記憶される。入出力I/F15は、駆動部16、駆動モータ18、およびUSBコントローラ20とCPU11との間に挿入される。入出力I/F15は、データや制御信号を伝達する。駆動部16は、サーマルラインヘッド112を駆動する。駆動モータ18は、プラテンローラ111を駆動する。USBコントローラ20は、USBケーブル3を介して外部端末2と通信を行うためのデバイスである。
感熱テープ8の搬送速度(以下、単に「搬送速度」ともいう。)を制御する方法について説明する。サーマルラインヘッド112は、発熱素子に電流を通電することによって発熱素子を発熱させる(以下「発熱素子を駆動する」という。)ため、駆動する発熱素子の数が増加すると、サーマルラインヘッド112全体の消費電流も増加する。従って通常、印刷装置1は、同時に駆動可能な発熱素子の数を制限する。これによって印刷装置1は、サーマルラインヘッド112の消費電流のピーク値を抑制する。
従って、一ライン分の画像をサーマルラインヘッド112によって印刷する場合であって、印刷する画素に応じて駆動する発熱素子の数(以下「オンドット数」という。)が多い場合、印刷装置1は、一度に多数の発熱素子を駆動しない。印刷装置1は、発熱素子を複数のグループに分割し、分割したグループ毎に複数回に分けて時分割で発熱素子を駆動する。オンドット数が多いラインの場合、グループの数は多くなる。従って、グループ毎に発熱素子を駆動する回数が多くなるので、オンドット数が少ないラインの場合と比較して、一ライン分の印刷が完了するまでに時間を要する。
このため印刷装置1は、オンドット数が多いラインの印刷を実行する場合、プラテンローラ111の回転速度を減速して搬送速度を遅くする。これによって印刷装置1は、一ライン分の印刷位置に印刷が完了する前に感熱テープ8が搬送されることを抑止し、一ライン分の印刷を確実に行う。一方印刷装置1は、オンドット数が少ないラインの印刷を行う場合、一ライン分の印刷が完了するまでの時間は短くて済むので、プラテンローラ111の回転速度を加速して搬送速度を速くする。これによって印刷装置1は、感熱テープ8への印刷が完了するまでに要する時間を短縮する。このように印刷装置1は、オンドット数に応じた搬送速度で感熱テープ8が搬送されるようにプラテンローラ111の回転速度を制御することによって、感熱テープ8への印刷を行う処理を最適化する。
プラテンローラ111は、駆動モータ18の回転に伴って回転する。ここで駆動モータ18の回転速度を変化させるために要する時間は、回転速度の変化量が大きい程長くなる。従って、搬送速度を急速に変化させる必要がある場合、変化後の回転速度で駆動モータ18を回転させるまでに時間がかかってしまう。このため、オンドット数が急速に変化した場合、オンドット数に応じた搬送速度で即座に感熱テープ8の搬送を開始できない可能性がある。そこで通常、印刷装置1は、急速な搬送速度の変化に対応するために、以下に示す方法でオンドット数を取得し、プラテンローラ111を駆動する駆動モータ18の回転速度を制御する。
図6を参照し、搬送速度を制御する従来の方法について、具体的に説明する。印刷模様(線分61〜64)を感熱テープ8に印刷することによってラベルが作成される場合を想定する。図6の折れ線グラフ71及び棒グラフ72のうち横軸で示されるラインは、線分61〜64が感熱テープ8に印刷される場合において、サーマルラインヘッド112によって印刷が行われる副走査方向のラインを示している。CPU11は、サーマルラインヘッド112を周期的に制御して発熱素子を駆動し、感熱テープ8に線分61〜64を一ライン分ずつ印刷する。なお以下、CPU11がサーマルラインヘッド112を制御する周期をTとする。またCPU11は、サーマルラインヘッド112を制御する周期Tと同一周期で、駆動モータ18に対して制御パルスを送信し、駆動モータ18の回転速度を制御する。従って横軸で示されるラインは、CPU11から駆動モータ18に対して送信される制御パルスも示している。
折れ線グラフ71の縦軸で示される搬送速度は、0から8の合計9段階で示されている。最小の搬送速度(以下「最小搬送速度」という。)は0である。最大の搬送速度(以下「最大搬送速度」という。)は8である。CPU11は、駆動モータ18の回転速度を9段階で変化させる。プラテンローラ111は、駆動モータ18の回転駆動に伴って回転し、搬送速度を9段階で調整する。
棒グラフ72は、CPU11がライン毎のオンドット数を取得する場合のウィンドウサイズを示している。CPU11は、横棒線によって示される範囲のラインのオンドット数を、横棒線の最左端の位置に相当するラインをサーマルラインヘッド112によって印刷するタイミングで取得する。CPU11は、取得したオンドット数に基づいて駆動モータ18の回転速度を制御し、搬送速度を調整する。詳細は後述する。
折れ線グラフ71のライン80〜96、144〜160、192〜224、256〜288、320〜352等で示される部分の折れ線の傾きの絶対値は、1/4である。このことは、搬送速度を1変化させるために、駆動モータ18に対して送信する制御パルスが4つ必要となることを意味する。従って、搬送速度を1変化させるためには、4T時間を必要とする。搬送速度を0から8の間で変化させる(ライン192〜224、256〜288、320〜352)ためには、制御パルスが32(32T時間)必要となる。
例えば、副走査方向に並行な線分62、63、64がサーマルラインヘッド112によって印刷される場合を想定する。この場合、オンドット数は急速に変化するので、搬送速度も急速に変化させる必要がある。オンドット数が大きくなった場合には搬送速度を遅くし、オンドット数が小さくなった場合には搬送速度を速くしなければならない。しかしながら上述したように、駆動モータ18の回転速度を変化させるには所定の時間を要する。このためCPU11は、各ラインのオンドット数を所定数分前もって取得する。そして、駆動モータ18の回転速度を変化させる必要がある場合には、駆動モータ18の回転速度を前もって徐々に変化させる。詳細は以下のとおりである。
CPU11は、64ライン分のオンドット数を32T周期で繰り返し取得する(横棒線81(ライン1〜64)、82(ライン33〜96)、83(ライン65〜128)、・・・)。オンドット数を取得するラインの数であるライン数を64とした理由は後述する。CPU11は、取得したオンドット数のうち最大値を特定する。最大のオンドット数を特定する理由は、オンドット数が多い場合に搬送速度を遅くしないと、サーマルラインヘッド112による一ライン分の印刷が終了していないにもかかわらず感熱テープ8が搬送され、一ライン分の印刷に失敗する可能性があるためである。一方、オンドット数が小さい場合には、搬送速度が遅くてもサーマルラインヘッド112による印刷結果に支障はない。このためCPU11は、オンドット数の最大値に応じて搬送速度を最適化する。CPU11は、オンドット数の最大値に基づいて、駆動モータ18に送信する制御パルスを32ずつ決定し、駆動モータ18に対して順番に送信する。これによってCPU11は、最大のオンドット数に対応するラインの印刷に搬送速度の変化が間に合うように、駆動モータ18の回転速度を前もって徐々に変化させる。
具体的には次のとおりである。例えばCPU11が、ライン64の印刷を実行するタイミングでライン65〜128のオンドット数を取得した場合を想定する(横棒線83)。ライン112で線分62の印刷が実行されるので、線分62の印刷が実行される場合のオンドット数Xが、オンドット数の最大値として特定される。オンドット数Xのラインを印刷するために必要な搬送速度が4であったとする。ライン64の時点では、搬送速度は8であるため、搬送速度を4だけ遅くして8から4に減速させる必要がある。
CPU11は、搬送速度を8から4に減速させるための32の制御パルスを決定する。搬送速度を8から4に減速するためには、制御パルスは16(=4×4)必要になる。従ってCPU11は、32の制御パルスのうち前半の16は搬送速度を8で維持し、残りの16で搬送速度が8から4に減衰するように、制御パルスを決定する。決定された制御パルスは、オンドット数を取得したライン64の次のライン65の印刷が行われるタイミングから、順番に駆動モータ18に対して送信される(ライン65→96)。これによって駆動モータ18は、ライン81(=65+16)の印刷が実行されるタイミングから減速を開始する。搬送速度は、ライン81の印刷が実行されるタイミングから減速を開始し、8から4に徐々に減速する(折れ線91)。そして、ライン96の印刷が実行されるタイミングで、搬送速度は4となる。
CPU11は、ライン96の印刷が実行されるタイミングで、ライン97〜160のオンドット数を取得する(横棒線84)。ライン112で線分62の印刷が実行されるので、線分62の印刷が実行される場合のオンドット数Xが、オンドット数の最大値として特定される。オンドット数Xに対応する搬送速度は4であり、ライン96の時点での搬送速度4と同じである。このためCPU11は、搬送速度を4で維持するための32の制御パルスを決定する。制御パルスは、オンドット数を取得したライン96の次のライン97の印刷が行われるタイミングから、順番に駆動モータ18に対して送信される(ライン97→128)。これによって、ライン112で線分62の印刷が実行される時点では、搬送速度は4となる(折れ線92)。オンドット数に応じて最適化された搬送速度4で感熱テープ8が搬送されることによって、サーマルラインヘッド112は、線分62を感熱テープ8に確実に印刷する。
なお、ライン176で線分63の印刷を実行するために搬送速度を4から0に減速させる場合(折れ線93)も、上述と同様の方法で駆動モータ18の回転速度が制御され、搬送速度が最適化される。
CPU11が、ライン192の印刷を実行するタイミングでライン193〜256のオンドット数を取得した場合(横棒線86)を想定する。この範囲では、線分63の印刷は終了しており、線分61のみの印刷が実行される。従って、特定されるオンドット数の最大値は小さい。このため、ライン193の印刷が実行された時点の搬送速度0を8に加速させる必要がある。
そこでCPU11は、搬送速度を0から8に加速させるための32の制御パルスを決定する。搬送速度を0から8に加速するためには、制御パルスは32(=4×8)必要になる。従ってCPU11は、32の制御パルスで搬送速度を0から8に加速させるように、制御パルスを決定する。決定された制御パルスは、オンドット数を取得したライン192の次のライン193の印刷が実行されるタイミングから、順番に駆動モータ18に対して送信される(ライン193→224)。これによって駆動モータ18は、ライン193の印刷が実行されるタイミングから加速を開始する。搬送速度は、ライン193の印刷が実行されるタイミングから加速を開始し、0から8に加速する(折れ線94)。このため、ライン224の印刷が実行されるタイミングで、搬送速度は8となる。
また、ライン304(オンドット数2X)で線分64の印刷を実行するために搬送速度を8から0に減速させる場合、制御パルスは32(=4×8)必要になる。従ってCPU11は、32の制御パルスで搬送速度が8から0に減速するように、制御パルスを決定する。決定された制御パルスは、オンドット数を取得したライン256の次のライン257の印刷が実行されるタイミングから、順番に駆動モータ18に対して送信される(ライン257→288)。これによって駆動モータ18は、ライン257の印刷が実行されるタイミングから減速を開始する。搬送速度は、ライン257の印刷が実行されるタイミングから減速を開始し、8から0に減速する(折れ線95)。そして、ライン288の印刷が実行されるタイミングで、搬送速度は0となる。これによって、ライン304で線分64の印刷が実行される時点では、搬送速度は0となる。オンドット数2Xに応じて最適化された搬送速度0で感熱テープ8が搬送されることによって、サーマルラインヘッド112は、線分64を感熱テープ8に確実に印刷する。
以上のように、目的とするラインの印刷が実行される場合の搬送速度を適切に制御するためには、オンドット数を取得するライン数は64である必要がある。理由は次の通りである。搬送速度の変化量が最大(0→8または8→0)である場合、搬送速度の変化が完了するまでに32の制御パルスが必要となる。また上述では、32単位で制御パルスを決定して駆動モータ18の回転速度を制御している。従って、オンドット数を取得するライン数を32とした場合、駆動モータ18の制御を開始するタイミングによっては、目的とするラインの印刷が実行される前に搬送速度の制御を完了させることができない可能性がある。従って上述では、オンドット数を取得するライン数を32よりも大きい64としている。これによって、目的とするラインの印刷が実行される前に搬送速度の制御を確実に完了させることができる。
図7および図8を参照し、上述した制御がCPU11によって実行される場合の処理(メイン処理)について具体的に説明する。図7に示すように、はじめにCPU11は、オンドット数に基づいて搬送速度を決定する処理(速度決定処理、図8参照)を実行する(S11)。図8に示すように、はじめにCPU11は、64ライン分のオンドット数を取得する(S31)。CPU11は、取得した64ライン分のオンドット数のうち最大値を特定する(S33)。CPU11は、特定したオンドット数の最大値を、同時に駆動可能な発熱素子の数で除算することによって、発熱素子のグループの数を算出する。なおCPU11は、発熱素子をグループ単位で複数回に分けて駆動する。このため、算出されたグループの数は、オンドット数が最大のラインを印刷する場合において、発熱素子をグループ単位で繰り返し駆動する場合の繰り返し回数に相当する(S35)。CPU11は、算出した繰り返し回数に基づき、最適な搬送速度を9段階のいずれかに決定する(S37)。CPU11は、現時点での搬送速度およびS37で決定した搬送速度に基づき、駆動モータ18を駆動するための32の制御パルスを決定する(S39)速度決定処理は終了し、処理はメイン処理(図7参照)に戻る。
図7に示すように、速度決定処理(S11)の終了後、CPU11は、一ライン分の印刷を実行する(S13)。CPU11は、S39(図8参照)で決定した制御パルスを、駆動モータ18に対して順に送信する(S15)。これによってCPU11は、駆動モータ18の回転速度を制御する。駆動モータ18の回転に伴ってプラテンローラ111は回転するので、搬送速度は、駆動モータ18の回転速度に応じて調整される。CPU11は、32ライン分の印刷が完了したかを判断する(S17)。32ライン分の印刷が完了していない場合(S17:NO)、CPU11は、周期T分待機する(S19)。CPU11は、32ラインのうち残りのラインの印刷を継続して実行するため、処理はS13に戻る。
一方、S13で一ライン分の印刷が繰り返し実行され、32ライン分の印刷が完了したとする(S17:YES)。CPU11は、感熱テープ8への印刷が全て完了したかを判断する(S21)。感熱テープ8への印刷が完了していない場合(S21:NO)、CPU11は、周期T分待機する(S23)。CPU11は、残りのラインの印刷を継続して実行するため、処理はS11に戻る。これに対し、感熱テープ8への印刷が全て完了した場合(S21:YES)、メイン処理は終了する。
以上説明した従来の方法では、オンドット数を取得する周期を32Tとし、且つ、オンドット数を取得するライン数を64とすることによって、目的とするラインの印刷が実行される前に搬送速度の制御が適切に完了するようにしている。しかしながらこの方法では、搬送速度を前もって遅くすることになるため、感熱テープ8への印刷が完了するまでの時間が長くなる場合があるという問題がある。
例えば図6では、サーマルラインヘッド112がライン304で線分64の印刷を行うために、搬送速度が制御されている。これによって、ライン288の印刷が実行される時点で既に搬送速度は0になる。このため、ライン288〜303の印刷が実行される場合の搬送速度は0になる。ライン288〜303はオンドット数が少ないので、搬送速度を速くしても印刷を実行することは可能である。従ってライン288〜303の印刷が実行される場合の搬送速度を速くできれば、感熱テープ8への印刷が完了するまでの時間を短縮できることになる。
そこで本発明の印刷装置1は、(1)オンドット数を取得する周期を32Tから4Tに変更する。また、(2)オンドット数を取得するライン数を、4〜36の間で可変とする。オンドット数を取得するライン数は、オンドット数を取得する時点での搬送速度に基づいて決定される。これによって印刷装置1は、オンドット数の変化に対する搬送速度の追従性を最適化できる。従って印刷装置1は、搬送速度を適切に制御して感熱テープ8への印刷を実行しつつ、図6から図8で示した従来の方法の場合と比較して、感熱テープ8への印刷が完了するまでに要する時間を短縮できる。詳細は以下のとおりである。
印刷装置1は、第一テーブル141(図9参照)を参照することによってオンドット数を取得するライン数を特定する。図9は、FLASH ROM13に記憶された第一テーブル141を示している。第一テーブル141では、オンドット数を取得する時点での搬送速度と、オンドット数を取得するライン数との関係が示される。例えば、オンドット数を取得する時点での搬送速度が0である場合、オンドット数を取得するライン数は4に設定される。以下、搬送速度/ライン数で示した場合、1/8、2/12、3/16、4/20、5/24、6/28、7/32、8/36のようになる。このように、オンドット数を取得するライン数は、搬送速度の増加に伴って大きくなる。理由は以下のとおりである。
駆動モータ18の回転速度を変化させるには所定の時間を要するため、回転速度の変化量が大きくなる程、変更後の回転速度で駆動モータ18が回転するまでに要する時間は長くなる。従って印刷装置1は、搬送速度の大きな変化に対応できるように、多くのラインからオンドット数を前もって取得しておく必要がある。ここで例えば搬送速度が8である場合、搬送速度の変化量は最大9(8→最小搬送速度0)となる。一方、搬送速度が4である場合、搬送速度の変化量は最大4(4→最小搬送速度0、または4→最大搬送速度8)となる。このように、搬送速度が最大搬送速度又は最小搬送速度に近い値である程、搬送速度の変化量が大きくなる可能性がある。従って印刷装置1は、オンドット数を取得する時点での搬送速度が最大搬送速度8又は最小搬送速度0に近い値である程、より多くのオンドット数を前もって取得しておく必要がある。
また、オンドット数が多い場合に搬送速度を遅くしないと、サーマルラインヘッド112による一ライン分の印刷が終了していないにもかかわらず感熱テープ8が搬送され、一ライン分の印刷に失敗する可能性がある。このため印刷装置1は、搬送速度が遅くなる方向に変化する場合には、目的とするタイミングまでに搬送速度の制御を完了させる必要がある。一方、オンドット数が小さい場合には、搬送速度が遅くてもサーマルラインヘッド112による印刷は失敗しない。このため印刷装置1は、搬送速度が速くなる方向に変化する場合には、目的とするタイミングまでに搬送速度の制御が完了していなくても支障はない。
従って第一テーブル141では、搬送速度と最小搬送速度0との差分が大きい程、即ち搬送速度が最大搬送速度8に近い程、オンドット数を取得するライン数を多くする。一方、搬送速度と最小搬送速度0との差分が小さい程、即ち搬送速度が最小搬送速度0に近い程、オンドット数を取得するライン数を少なくしている。これによって印刷装置1は、搬送速度を最小搬送速度0まで減速させるための時間を十分確保することができる。従って印刷装置1は、搬送速度を適切に変化させることができる。また印刷装置1は、搬送速度と最小搬送速度0との差分が大きい場合に、オンドット数を取得するライン数をより多くするため、より先のラインのオンドット数を取得し、搬送速度を予測できる。従って印刷装置1は、搬送速度を最小搬送速度0に減速させるための時間を確実に確保できる。
また印刷装置1は、第二テーブル142(図10参照)を参照することによって搬送速度を調整する。図10は、FLASH ROM13に記憶された第二テーブル142を示している。第二テーブル142では、オンドット数を取得した時点での搬送速度を、オンドット数に基づいて決定される搬送速度(以下「目標搬送速度」という。)まで徐々に変化させる場合に、次にオンドット数を取得するタイミングまでの4Tの時間内で搬送速度をどのように変化させるかが示される。
例えば、オンドット数を取得する時点での搬送速度が8であって、目標搬送速度が0〜7である場合、4Tの時間内で搬送速度は7に変更される。目標搬送速度が8である場合、4Tの時間内で搬送速度は8で維持される。また例えば、オンドット数を取得する時点での搬送速度が7であって、目標搬送速度が0〜6である場合、4Tの時間内で搬送速度は6に変更される。目標搬送速度が8である場合、4Tの時間内で搬送速度は8に変更される。
駆動モータ18は、回転速度を1変化させるために制御パルス4つを必要とする。制御パルスを送信する周期はTであるため、4Tの時間内で変更可能な搬送速度は最大1となる。従って例えば、オンドット数を取得した時点での搬送速度8を、目標搬送速度0に変化させる場合、最初の4Tの時間内で搬送速度は8から7に変化し、次の4Tの時間内で搬送速度は7から6に変化する。このように段階を経ることによって、32T(=4T×8)の時間を経て、搬送速度は0になる。以下、第二テーブル142に基づいて定められる、4Tの時間内で変化させる搬送速度を「仮搬送速度」という。
図11を参照し、本発明における搬送速度を制御する方法について、具体的に説明する。ライン0〜75の印刷が実行される場合、線分61のみが印刷されることになるので、オンドット数は小さい。従ってCPU11は、搬送速度を8に設定する(折れ線40)。第一テーブル141(図9参照)では、搬送速度8に対応するライン数は36である。従ってCPU11は、ライン0〜75の印刷が実行される間は、36ライン分のオンドット数を4T周期で繰り返し取得する(横棒線51)。
ライン76の印刷が実行されるタイミングで、CPU11が36ライン分のオンドット数を取得したとする。取得されたラインには、線分62の印刷を行うライン112が含まれる。このため、ライン112で線分62の印刷が実行される場合のオンドット数Xが、最大値として特定される。オンドット数Xに対応する目標搬送速度は4である。
ライン76の時点の搬送速度は8であるため、搬送速度を8から4に減速させる必要がある。第二テーブル142(図10参照)では、オンドット数を取得した時点での搬送速度8および目標搬送速度4には、仮搬送速度7が対応付けられている。CPU11は、4Tの時間内で搬送速度を8から7に変化させるための4つの制御パルスを決定する。決定された制御パルスは、オンドット数を取得したライン76の次のライン77の印刷が行われるタイミングから、順番に駆動モータ18に対して送信される(ライン77→80)。これによって、搬送速度は8から7に減速する。
次にCPU11は、ライン80の印刷が実行されるタイミングでオンドット数を取得する。この時点で搬送速度は7に変化している。CPU11は、第一テーブル141を参照し、搬送速度7に対応するライン数32を特定する。CPU11は、32ライン分のオンドット数を取得する。取得されたラインには、線分62の印刷を行うライン112が含まれており、オンドット数Xが最大値として特定される。従ってCPU11は、目標搬送速度を再び4に特定する。
ライン80の時点で搬送速度は7であるため、搬送速度を7から4に減速させる必要がある。第二テーブル142では、オンドット数を取得した時点での搬送速度7および目標搬送速度4には、仮搬送速度6が対応付けられている。CPU11は、4Tの時間内で搬送速度を7から6に変化させるための4つの制御パルスを決定する。決定された制御パルスは、オンドット数を取得したライン80の次のライン81の印刷が行われるタイミングから、順番に駆動モータ18に対して送信される(ライン81→84)。これによって、搬送速度は7から6に減速する。
以上の処理が、搬送速度が4となるまで繰り返される(ライン77→92)。搬送速度は徐々に遅くなるので、オンドット数を取得するライン数も徐々に小さくなる(横棒線52)。そして、ライン92の印刷が実行されるタイミングで、搬送速度は4となり(折れ線41)、オンドット数を取得するライン数は20となる(横棒線53)。従来の方法によって搬送速度が制御された場合の折れ線91と比較して、搬送速度が4となる時点は僅かに速くなる(折れ線91:ライン96、折れ線41:ライン92)。理由は、オンドット数を取得するライン数(36ライン)が従来の制御方法の場合(32ライン)と比べて僅かに大きいためである。
搬送速度が目標搬送速度4となったため、CPU11は、オンドット数を取得したラインにライン112が含まれている間は、搬送速度を4で維持する。CPU11は、ライン96〜112の印刷が実行される間は、20ライン分のオンドット数を4T周期で繰り返し取得する(横棒線54)。
ライン112の印刷が実行される時点で、CPU11は20ライン分のオンドット数を取得する。線分62の印刷は既に実行されているので、オンドット数を取得したラインにライン112は含まれない。線分61のみが印刷されることになるので、オンドット数の最大値は小さくなる。CPU11は、目標搬送速度を8に設定する。第二テーブル142では、オンドット数を取得した時点での搬送速度4および目標搬送速度8には、仮搬送速度5が対応付けられている。CPU11は、4Tの時間内で搬送速度を4から5に変化させるための4つの制御パルスを決定する。決定された制御パルスは、オンドット数を取得したライン112の次のライン113の印刷が行われるタイミングから、順番に駆動モータ18に対して送信される(ライン113→116)。これによって、搬送速度は4から5に加速する。
次にCPU11は、ライン116の印刷が実行されるタイミングでオンドット数を取得する。この時点で搬送速度は5に変化している。CPU11は、第一テーブル141を参照し、搬送速度5に対応するライン数24を特定する。CPU11は、24ライン分のオンドット数を取得する。取得されたラインでは、線分61の印刷のみが実行されるため、オンドット数の最大値は小さい。従ってCPU11は、目標搬送速度を再び8に特定する。
ライン116の時点で搬送速度は5であるため、搬送速度を5から8に加速させる必要がある。第二テーブル142では、オンドット数を取得した時点での搬送速度5および目標搬送速度8には、仮搬送速度6が対応付けられている。CPU11は、4Tの時間内で搬送速度を5から6に変化させるための4つの制御パルスを決定する。決定された制御パルスは、オンドット数を取得したライン116の次のライン117の印刷が行われるタイミングから、順番に駆動モータ18に対して送信される(ライン117→120)。これによって、搬送速度は5から6に加速する。
以上の処理が、搬送速度が8となるまで繰り返される(ライン113→128)。搬送速度は徐々に速くなるので、オンドット数を取得するライン数も徐々に大きくなる(横棒線55)。そして、ライン128の印刷が実行されるタイミングで、搬送速度は8となり(折れ線42)、オンドット数を取得するライン数は36となる。
従来の方法によって搬送速度が制御された場合の折れ線92と折れ線42とを比較する。折れ線42では、搬送速度が4から8に速くなるように変化しているのに対し、折れ線92では、搬送速度は4のまま維持されている。従って、折れ線42のように搬送速度が加速することによって、感熱テープ8はより速く搬送される。従って、感熱テープ8への印刷が完了するまでに要する時間は短縮される。このように本発明では、搬送速度を制御する従来の方法に対して(1)(2)の補正を加えることによって、感熱テープ8への印刷を短時間で完了させることが可能となる。
ライン140の印刷が実行される時点で、CPU11は36ライン分のオンドット数を取得する。取得されたラインには、線分63の印刷を行うライン176が含まれる。このため、ライン176で線分63の印刷が実行される場合のオンドット数2Xが、最大値として特定される。オンドット数2Xに対応する目標搬送速度は0である。
ライン140の時点の搬送速度は8であるため、搬送速度を8から0に減速させる必要がある。第二テーブル142では、オンドット数を取得した時点での搬送速度8および目標搬送速度0には、仮搬送速度7が対応付けられている。CPU11は、4Tの時間内で搬送速度を8から7に変化させるための4つの制御パルスを決定する。決定された制御パルスは、オンドット数を取得したライン140の次のライン141の印刷が行われるタイミングから、順番に駆動モータ18に対して送信される(ライン141→144)。これによって、搬送速度は8から7に減速する。以上の処理が、搬送速度が0となるまで繰り返される(ライン141→172)。搬送速度は徐々に遅くなるので、オンドット数を取得するライン数も徐々に小さくなる(横棒線56)。そして、ライン172の印刷が実行されるタイミングで、搬送速度は0となり(折れ線43)、オンドット数を取得するライン数は4となる(横棒線57)。
従来の方法によって搬送速度が制御された場合の折れ線93と折れ線43とを比較する。折れ線93では、ライン160の印刷が実行されるタイミングで最終的に搬送速度が0になるように変化する(図6参照)。これに対して折れ線43では、ライン172の印刷が実行されるタイミングで最終的に搬送速度が0になるように変化する。このように本発明では、ライン176で線分63が印刷される直前に搬送速度が0となるように制御することができる。従って、従来の方法と比較してより速い搬送速度で感熱テープ8を搬送することができる。このように本発明では、搬送速度を制御する従来の方法に対して(1)(2)の補正を加えることによって、オンドット数の変化に対する搬送速度の追従性を最適化できる。
ライン176の印刷が実行される時点で、CPU11は4ライン分のオンドット数を取得する。線分63の印刷は既に実行されており、オンドット数を取得したラインにライン176は含まれない。線分61のみが印刷されることになるので、オンドット数の最大値は小さくなる。CPU11は、目標搬送速度を8に設定する。上述と同様の処理が実行され、搬送速度は0となる(ライン176→208)。搬送速度は徐々に速くなるので、オンドット数を取得するライン数も徐々に大きくなる(横棒線58)。ライン208の印刷が実行されるタイミングで、搬送速度は8となり(折れ線44)、オンドット数を取得するライン数は36となる。
従来の方法によって搬送速度が制御された場合の折れ線94と折れ線44とを比較する。折れ線94では、ライン224の印刷が実行されるタイミングで最終的に搬送速度が8になるように変化する(図6参照)。これに対して折れ線44では、ライン208の印刷が実行されるタイミングで最終的に搬送速度が8になるように変化する。このように本発明では、ライン176で線分63の印刷が終了した直後から搬送速度を加速させるように制御することができる。従って、従来の方法と比較してより速い搬送速度で感熱テープ8を搬送することができる。このように本発明では、搬送速度を制御する従来の方法に対して(1)(2)の補正を加えることによって、オンドット数の変化に対する搬送速度の追従性を最適化できる。
図12および図13を参照し、上述した制御がCPU11によって実行される場合の処理(メイン処理)について具体的に説明する。図7および図8で説明したメイン処理と同一の処理部分については、同一符号を付し、説明を簡略化する。
図12に示すように、はじめにCPU11は、オンドット数に基づいて目標搬送速度を決定する処理(速度決定処理、図13参照)を実行する(S11)。図13に示すように、はじめにCPU11は、オンドット数を取得するライン数を決定する(S51)。CPU11は、第一テーブル141(図9参照)に、現時点での搬送速度を適用することによって、ライン数を決定する。CPU11は、決定したライン数分のオンドット数を取得する(S31)。CPU11は、取得したライン数分のオンドット数のうち、最大値を特定する(S33)。CPU11は、特定したオンドット数の最大値を、同時に駆動可能な発熱素子の数で除算することによって、繰り返し回数を算出する(S35)。
CPU11は、算出した繰り返し回数に基づき、最適な目標搬送速度を9段階のいずれかに決定する(S53)。CPU11は、現時点での搬送速度、および、決定した目標搬送速度を第二テーブル142(図10参照)に適用することによって、仮搬送速度を決定する(S55)。CPU11は、決定した仮搬送速度に基づき、駆動モータ18を駆動するための4つの制御パルスを決定する(S39)。速度決定処理は終了し、処理はメイン処理(図12参照)に戻る。
図12に示すように、速度決定処理(S11)の終了後、CPU11は、一ライン分の印刷を実行する(S13)。CPU11は、S39(図12参照)で決定した制御パスルを、駆動モータ18に対して順に送信する(S15)。これによってCPU11は、駆動モータ18の回転速度を制御する。CPU11は、4ライン分の印刷が完了したかを判断する(S41)。4ライン分の印刷が完了していない場合(S41:NO)、CPU11は、周期T分待機し(S19)、処理はS13に戻る。
一方、4ライン分の印刷が完了した場合(S41:YES)。CPU11は、感熱テープ8への印刷が全て完了したかを判断する(S21)。感熱テープ8への印刷が全て完了していない場合(S21:NO)、CPU11は、周期T分待機し(S23)、処理はS11に戻る。これに対し、感熱テープ8への印刷が全て完了した場合(S21:YES)、メイン処理は終了する。
以上説明したように、印刷装置1は、搬送速度に基づいてライン数を決定することによって、必要に応じてライン数を小さくできる。これによって印刷装置1は、搬送速度を変化させるタイミングを最適化し、搬送速度を可能な限り高い状態に維持できる。従って印刷装置1は、感熱テープ8への印刷が完了するまでの時間を短縮することができる。一方、印刷装置1は、必要に応じてライン数を大きくすることもできる。これによって印刷装置1は、より先のラインのオンドット数を特定して搬送速度を予測することにより、搬送速度を目標搬送速度に変更するための時間を十分確保できる。従って印刷装置1は、搬送手段を適切に変化させることによって印刷処理の正確性を高めることができる。
なお上述の実施形態は一例であり、種々の変更が可能である。上述におけるオンドット数を取得するライン数の範囲(4〜36)、オンドット数を取得する周期(4T)等のパラメータは一例であり、他の値であってもよい。印刷媒体は感熱テープ8に限定されず、感熱紙等であっても良い。上述では、オンドット数を同時に駆動可能な発熱素子の数で除算することによって、発熱素子のグループの数を算出し、グループの数に応じて目標搬送速度を特定した。例えば、オンドット数と目標搬送速度とを対応付けたテーブルをFLASH ROM13に記憶してもよい。CPU11は、オンドット数に対応する目標搬送速度を、テーブルを参照することによって特定してもよい。上述では、駆動モータ18を制御する制御パルスを4つ単位で決定していたが、制御パルスは一度に4以上決定してもよい。例えばCPU11は、目標搬送速度に変化させるために必要な全ての制御パルスを一度に特定し、駆動モータ18に対して送信してもよい。
仮搬送速度、および、搬送速度を仮搬送速度に変化させるために駆動モータ18に送信する制御パルスは、第三テーブル143に基づいて決定されてもよい。詳細は次の通りである。図14は、FLASH ROM13に記憶された第三テーブル143を示している。第三テーブル143には、オンドット数を取得した時点での搬送速度、目標搬送速度、仮搬送速度、および制御パルスが対応付けて記憶されている。CPU11は、特定したオンドット数の最大値から目標搬送速度を決定する(S53、図13参照)。CPU11は、第二テーブル142(図10参照)の代わりに第三テーブル143を参照することによって、仮搬送速度を決定する(S55)。CPU11は、決定した仮搬送速度に対応付けられている4つの制御パルスを取得することによって、駆動モータ18の回転速度を制御するための制御パルスを決定する(S39)。このようにCPU11は、第三テーブル143を使用することによって、仮搬送速度および制御パルスを容易に特定できる。
なお、印刷装置1が本発明の「印刷装置」に相当する。サーマルラインヘッド112が本発明の「印刷手段」に相当する。プラテンローラ111および駆動モータ18が本発明の「搬送手段」に相当する。S51の処理を行うCPU11が本発明の「第一決定手段」に相当する。S31の処理を行うCPU11が本発明の「取得手段」に相当する。S53の処理を行うCPU11が本発明の「第二決定手段」に相当する。S13、S15の処理を行うCPU11が本発明の「制御手段」に相当する。オンドット数が取得される時点での搬送速度が本発明の「第一速度」に相当し、目標搬送速度が本発明の「第二速度」に相当する。