「第1の実施形態」
以下、図1〜9を参照しつつ、第1の実施形態について、詳細に説明する。本実施形態は、高速印刷が可能なインクジェット方式のプリンタ100に本発明を適用したものである。
図1は、本実施形態にかかるプリンタ100の内部構成を示す断面図である。図2は、プリンタ100の電気的構成を示すブロック図である。図3はページ管理テーブルの一例を示すテーブルである。図4はRAM33の領域構成を示す図である。図5はプリンタ100における受信処理の手順を示すフローチャートである。図6は印刷処理の手順を示すフローチャートである。図7は印刷処理における通常印刷処理の手順を示すフローチャートである。図8は印刷処理における第1交互印刷処理の手順を示すフローチャートである。図9は印刷処理における第2交互印刷処理の手順を示すフローチャートである。
<プリンタの内部構成>
図1を参照しつつ、プリンタ100の内部構成について説明する。
プリンタ100は、図1に示すように、用紙などの被記録媒体に印刷を行う画像印刷部10と、印刷前の被記録媒体を収容する給紙トレイ91と、画像印刷部10で印刷された被記録媒体の排紙先となる排紙部20とを備えている。
排紙部20は、画像印刷部10の上面に設けられ、排紙トレイ92と、排紙トレイ93の2段の排紙トレイを備えている。なお、排紙部20は、2段の排紙トレイに限るものではない。すなわち、3段以上であってもよい。
プリンタ100の画像印刷部10は、被記録媒体を搬送する搬送機構11と、画像を被記録媒体に印刷する印刷機構12等で構成されている。
搬送機構11は、被記録媒体搬送に利用される各種ローラとローラを駆動するためのモータ等を備えている。
また、プリンタ100の画像印刷部10内には、給紙トレイ91に収容された被記録媒体が、給紙ローラ71、送りローラ72〜74、レジストローラ75、印刷機構12を通り、排紙ローラ76を介して排紙トレイ92へ導かれるように、略S字形状の搬送路21(図1中の一点鎖線)が設けられている。
また、プリンタ100内には、印刷済みの被記録媒体を排紙ローラ77を介して排紙トレイ93に導かれるように、搬送路22(図1中の二点鎖線)が設けられている。
また、印刷機構12には、ヘッド13、ヘッド13に対応する支持・メンテナンスユニット60と、ヘッド13に供給するブラックインクを貯留するカートリッジ(不図示)とを備えている。
ヘッド13は、主走査方向に長尺なライン式であり、略直方体の外形形状を有する。ヘッド13は、フレーム3を介して画像印刷部10の筐体に支持されている。ヘッド10において、上面には、可撓性チューブが取り付けられるジョイント(ともに不図示)が設けられ、下面の吐出面13aには、多数の吐出口が開口し、内部には、チューブ及びジョイントを介してカートリッジから供給されたインクが吐出口に至るまでの流路が形成されている。
支持・メンテナンスユニット60は、対応するヘッド13の吐出面13aに鉛直方向に対向して配置されている。支持・メンテナンスユニット60は、プラテン61と廃液トレイ62を含む。
プラテン61の表面は、吐出面13aに対向しつつ被記録媒体を支持する支持面61aであり、被記録媒体を保持できるように材料や加工に工夫が施されている。例えば支持面61aに、弱粘着性のシリコン層を形成したり、副走査方向に沿ったリブを多数形成したりすることで、支持面61a上に載置された被記録媒体の浮き等が防止される。また、プラテン61は、樹脂により構成されている。
廃液トレイ62は、プラテン61の下方に配置されており、廃液タンク(図示せず)に連通している。プラテン61から吐出された廃液は、廃液トレイ62に受容され、廃液タンクに排紙される。
なお、本実施形態の印刷機構12は単色で印刷する構成であるが、多色で印刷する構成であってもよい。
<プリンタの電気的構成>
次に、図2を参照しつつ、プリンタ100の電気的構成について説明する。
プリンタ100は、図2に示すように、CPU31と、ROM32と、RAM33と、NVRAM(不揮発性RAM)34と、ネットワークインターフェイス36と、画像印刷部10と、操作パネル40とを備えている。
CPU31は、ROM32から読み出した制御プログラムや各種センサから送られる信号に従って、その処理結果をRAM33またはNVRAM34に記憶させながら、プリンタ100の各構成要素を制御する。
ROM32には、プリンタ100を制御するための各種制御プログラムや各種設定、初期値等が記憶されている。
RAM33は、各種制御プログラムや印刷job(以降、単にjobと称する)の一時的な記憶領域として、また、PDL(ページ記述言語)で記述されたjobを解析しビットマップイメージデータ(説明上の都合で、印刷データと称する)に展開する作業などを行う作業領域として利用される。
具体的に、図4に示すように、RAM33は、作業領域333、一時的なデータ記憶領域331としての一時記憶バッファ、job1バッファ、及びjob2バッファ、並びに「ページ管理テーブル」を記憶するテーブル記憶領域332とで構成されている。
一時記憶バッファは、作業領域で展開されたjobの印刷データが一時的にRAM33に記憶される。
job1バッファは、排紙トレイ92(以降、Tray1と称する)に排紙するjobを一時に記憶するバッファである。job2バッファは排紙トレイ93(以降、Tray2と称する)に排紙するjobを一時に記憶するバッファである。
CPU31は、一時記憶バッファに記憶されているjobを、後述の印刷処理に応じて、空いているjob1バッファまたはjob2バッファに入れて印刷を実行する。印刷が完了したら、印刷が完了した印刷データをjob1バッファまたはjob2バッファのいずれかRAM33から削除し、処理を繰り返す。
また、テーブル記憶領域は、各jobに関するページ毎のインクの乾燥時間などを管理する「ページ管理テーブル」を記憶するための領域である。
図3のように、「ページ管理テーブル」には、jobの識別記号、インクの乾燥時間に基づく後述のjobの分類、ページ番号、後述する乾燥時間算出方法によって算出されたページ毎の乾燥時間、後述の印刷処理により、CPU31から通知された印刷終了時刻、印刷終了時刻と乾燥時間から算出された乾燥終了時刻をフィールドとして有している。
ネットワークインターフェイス36は、LANなどの通信回線に接続され、プリンタ100用のドライバが組み込まれたコンピュータなどの外部装置との接続を可能にしている。プリンタ100は、ネットワークインターフェイス36を介して印刷データのやりとりを行うことができる。
<印刷制御処理>
以下、プリンタ100における第1の実施形態の印刷制御処理を、図5〜図9のフローチャートに基づいて説明する。
該印刷制御処理は、受信処理及び印刷処理の2つの処理から構成されるものである。なお、受信処理及び印刷処理は、おのおの並行して実行されるものであり、プリンタ100の電源を投入している間繰り返し実行される。
<受信処理>
図5に示す受信処理は、jobを受信する度に実行される処理である。まず、CPU31は、LANなどの通信回線を介してjobを受信したか否かを判断し(S101)、受信していないと判断した場合、受信するまで待機する(S101:No)。
CPU31は、jobを受信したと判断した場合(S101:Yes)、受信した1つjobを解析・展開し、展開したjobをRAM33に記憶する(S102)。
そして、CPU31は、展開したそれぞれのjobの印刷データに基づいて、ページ毎に付着するインクの乾燥時間を算出する(S103)。なお、乾燥時間の算出は、例えば各ページの画像のドット数をカウントし、そのカウント結果とプリンタの印字ヘッド及びインクの構成から求められるページ毎のインク全体付着量または単位面積当たりのインク付着率を算出する。そして、図示しない温度計から取得される環境温度、及び図示しない湿度計から取得される環境湿度をもとに、実験的にあらかじめ決定された乾燥時間テーブル等を参照することによって行われる。
例えば、ROM32には、jobのページ毎に付着するインク付着率を算出する付着率算出プログラムが記憶されている。CPU31は、S102で展開された印刷データに基づいて、付着率算出プログラムにより、印刷されるドット数Cが算出され、ページに付着するインク付着面積Tが導出される。導出されたインク付着面積Tとページの面積Pに基づき、ページにおけるインクの付着率DがD=T/P*100(%)により算出される。さらに、CPU31は、該付着率算出プログラムによって、ドット数Cや付着率Dから、ページ毎に付着されるインクの全体付着量QPを算出させることも可能である。
そして、これらの乾燥時間情報に基づいて、CPU31は、記憶したjobをjobAとjobBのいずれかに分類する(S104)。ここで、乾燥時間が基準時間Tを超えるページを有するjob(以降、jobAと称する)と、乾燥時間が基準時間Tを超えるページを有しないjob(以降、jobBと称する)とが分類される。
次に、CPU31は、これらの乾燥時間情報や分類情報などをRAM33の「ページ管理情報テーブル」に記憶させる(S105)。
また、CPU31は、新たなjobを受信する度に、当該jobに対する解析・展開を行い、当該jobをRAM33の一時記憶バッファに記憶し、当該jobの乾燥時間情報や分類情報などを「ページ管理情報テーブル」に追加する。
また、本実施形態において、CPU31は、当該「ページ管理テーブル」に、ページの乾燥時間が基準時間T以下である印刷データの乾燥時間は全て「基準時間T以下」、例えば、図3では、「20秒以下」と記録し、印刷終了時刻と乾燥終了時刻を記録しなくてもよい。従って、後述の印刷処理においてインクの乾燥時間が基準時間T以下であるページが印刷された場合、十分乾燥していると見なし、乾燥するまで待つ必要がなく、すぐに次のページを排紙してもよい。
また、当該「ページ管理テーブル」に記憶されている各jobのページ毎の乾燥時間情報や分類情報などは、後述の通常印刷処理におけるS303とS305、第1交互印刷処理におけるS408とS410、第2交互印刷処理におけるS512とS514のいずれかの処理により参照される度に、参照されたページの乾燥時間情報や分類情報などを削除される。
<印刷処理>
また、図5の受信処理と並行に、CPU31は、図6に示す印刷処理を実行する。なお、該印刷処理はページ毎に実行される処理であり、実行中のページを含むjobが実行対象となる。
まず、CPU31は、RAM33にjobがあるか否かを判断する(S201)。RAM33にjobがなければ(S201:No)、プリンタ100はjobが記憶されるまで待機する。
CPU31は、RAM33にjobがあると判断した場合(S201:Yes)、2つ以上のjobがあるか否かを判断する(S202)。RAM33に2つ以上のjobがなく、すなわち、1つしかないと判断された場合(S202:No)、CPU31は、図6の通常印刷処理に移行する(S204)。
一方、CPU31は、RAM33に2つ以上のjobがあると判断した場合(S202;Yes)、これらのjobのうち、前述のjobAがあるか否かを判断する(S203)。RAM33に2つ以上のjobのうち、jobAがなければ(S203:No)、すなわち、RAM33にはjobBしかない場合、CPU31は、図6の通常印刷処理に移行する(S204)。
CPU31は、RAM33に2つ以上のjobのうち、jobAがあると判断した場合(S203:Yes)、さらに、それらのjobのうち、前述のjobBがあるか否かを判断する(S205)。RAM33に2つ以上のjobのうち、jobBがなければ(S205:No)、すなわち、RAM33にはjobAしかない場合、CPU31は、図7の第1交互印刷処理に移行する(S206)。
それに対して、CPU31は、RAM33にある2つ以上のjobのうち、jobBがある、すなわち、jobAとjobBを両方があると判断した場合(S205:Yes)、図8の第2交互印刷処理に移行する(S207)。
すなわち、RAM33に1つのjobしかない場合、CPU31は、このjobをjob1バッファまたはjob2バッファのいずれかに入れて、実行対象として印刷を実行する。
また、RAM33に2つ以上のjobがあり、かつ、jobBしかない場合、CPU31は、それらのjobBのうち、早く受信したものから順に1つずつ、job1バッファまたはjob2バッファのいずれかに入れて、実行対象として印刷を実行する。
また、RAM33に2つ以上のjobがあり、かつ、jobAしかない場合、CPU31は、それらのjobAのうち、早く受信したものから2つについて、一方をjob1バッファに入れ、他方をjob2バッファに入れて、実行対象として交互に印刷を実行し、異なる排紙トレイに排紙する。
また、RAM33に2つ以上のjobがあり、かつ、jobAとjobBの両方がある場合、CPU31は、それらのjobのうち、最も早く受信したjobAと最も早く受信したjobBについて、一方をjob1バッファに入れ、他方をjob2バッファに入れて、実行対象として交互に印刷を実行し、異なる排紙トレイに排紙する。
また、前述のように、該印刷処理はページ毎に実行される処理であるため、該ページを含むjob、すなわち実行対象の印刷が実行途中に、CPU31は、次の実行対象となるjobを決めることが可能である。詳細は図7〜図9を参照しつつ、後述する。
なお、第1の実施形態のjobの交互印刷においては、例えば、jobAの1ページが印刷されてTray1に排紙されてから、jobBの1ページが印刷されてTray2に排紙され、そして、またjobAの1ページが印刷されてTray1に排紙される。また、jobの交互印刷の別の実施形態として、一方のjobを2ページ以上連続して印刷して排紙し、その一方のjobの全てのページの印刷が終了する前に、他方のjobの印刷をして排紙をするようにしてもよい。この実施形態については、第2の実施形態として後述する。このように、複数のjobを切り替えて実行対象とすることを、jobを交互に印刷することとする。
また、CPU31は、上述の通常印刷処理、第1交互印刷処理および第2交互印刷処理のいずれかを実行した後、該印刷処理に戻り、実行対象となるjobの印刷が全て終了したか否かを判断する(S208)。
CPU31は、実行対象となるjobの印刷が全て終了していないと判断した場合(S208:No)、S201に戻り、jobの印刷が全て終了するまで、S201〜S208の処理を繰り返し実行する。
一方、CPU31は、実行対象となるjobの印刷が全て終了したと判断した場合(S208:Yes)、該jobの印刷データをRAM33から削除し(S209)、S201に戻る。
<通常印刷処理>
次に、図7を参照しつつ、「印刷処理」における「通常印刷処理」を説明する。
「通常印刷処理」は前述のように、図6の「印刷処理」で、S202の判断結果がNo、または、S203の判断結果がNoの場合に実行される処理であり、CPU31は、RAM33の一時記憶バッファに記憶されているjobの印刷を早く受信したものから順に1つずつ実行する。
まず、CPU31は、job1バッファ又はjob2バッファのいずれかのバッファにjobがあるか否かを確認する(S301)。
詳しくは後述するが、CPU31は、新たににjobを実行する場合に、job1バッファ又はjob2バッファのいずれかのバッファにjobを記憶させる。よって、現在実行中のjobがある場合、RAM33のjob1バッファとjob2バッファとのいずれかにjobが入っていることになる。いずれかのバッファにjobがある場合(S301:Yes)、CPU31は、直前に印刷されたページはTray1とTray2のどれに排紙したかを判断する(S302)。
CPU31は、直前に印刷されたページはTray1に排紙したと判断した場合(S302:Yes)、すなわち、job1バッファにjobを記憶しているなら、直前にTray1に排紙された該jobの1ページに付着されたインクが乾燥したか否かを判断する(S303)。
より具体的に、CPU31は図3の「ページ管理テーブル」を参照し、直前に印刷された該ページの乾燥時間が基準時間Tを超えるのであれば、該ページの乾燥終了時刻を取得し、現在時刻と比較する。現在時刻が乾燥終了時刻に達した場合、該ページに付着されたインクが乾燥したと見なす。しかし、前述のように、該ページの乾燥時間が「基準時間T以下」である場合、印刷されると十分乾燥していると見なし、乾燥終了時刻を取得しなくてもよい。
直前にTray1に排紙された該jobの1ページに付着されたインクが乾燥したと判断された場合(S303:Yes)、CPU31は、該jobにおける次の1ページの印刷データを印刷し、Tray1に排紙させる(S304)。
それに対して、CPU31は、現在時刻が該ページの乾燥終了時刻に達してなく、すなわち、直前に印刷された該jobの1ページに付着されたインクが乾燥していないと判断した場合(S303:No)、該ページが乾燥するまで、印刷を中断する。
CPU31は、直前に印刷されたページをTray2に排紙したと判断した場合(S302:No)、S303と同様に、直前にTray2に排紙された該jobの1ページに付着されたインクが乾燥したか否かを判断する(S305)。
CPU31は、乾燥したと判断した場合(S305:Yes)、該jobにおける次の1ページの印刷データを印刷し、Tray2に排紙させ(S306)、乾燥していないと判断した場合、該ページが乾燥するまで、印刷を中断する。
一方、CPU31は、現在実行中のjobがないと判断した場合(S301:No)、一時記憶バッファに記憶されている1つまたは複数のjobから、jobを受信した古い順に従って、最も古いjobを取り出して実行対象とする(S307)。
そして、CPU31は、この実行対象となるjobをTray1かTray2かに排紙させることを決める。ここで、CPU31は、直前にTray1に排紙されたページ、すなわち、直前にjob1バッファに記憶されたjobにおいて、Tray1に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S308)。具体的には、ページ管理テーブルを参照し、現在時刻が直前にjob1バッファに記憶されたjobの最後のページの乾燥終了時刻を越えた場合、または乾燥終了時刻が記憶されていない場合は、インクが乾燥したと判断し、超えない場合はインクが乾燥していないと判断する。また、直前のjobが存在しない場合、すなわち、初めてjobを実行する場合は、インクが乾燥したと判断する。
該最後のページに付着されたインクが乾燥したと判断された場合(S308:Yes)、CPU31は、実行対象となるjobをjob1バッファに入れて、該jobにおける1ページの印刷データを印刷し、Tray1に排紙させる(S309)。
それに対して、CPU31は、該最後のページに付着されたインクが乾燥していないと判断した場合(S308:No)、直前にTray2に排紙されたページ、すなわち、直前にjob2バッファに記憶されたjobにおいて、Tray2に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S310)。
該最後のページに付着されたインクが乾燥したと判断された場合(S310:Yes)、CPU31は、実行対象となるjobをjob2バッファに入れて、該jobにおける1ページの印刷データを印刷し、Tray2に排紙させる(S311)。
しかし、Tray2に排紙された最後のページに付着されたインクも乾燥していないなら(S310:No)、CPU31は、S308に戻り、Tray1またはTray2に排紙された最後のページのうち、いずれかに付着されたインクが乾燥するまで、印刷を中断し、S308とS310の処理を繰り返し実行する。
すなわち、CPU31は、Tray1またはTray2に排紙された最後のページのうち、実行対象となるjobを先にインクが乾燥するページが排紙されている排紙トレイと対応するバッファに入れる。
最後に、CPU31は、S309とS311のいずれかを実行した場合、図6の「印刷処理」におけるS208に戻る。
<第1交互印刷処理>
次、図8を参照しつつ、印刷処理における第1交互印刷処理を説明する。
第1交互印刷処理は前述のように、図6の印刷処理で、S205の判断結果がNoの場合に実行される処理である。すなわち、RAM33の一時記憶バッファに2つ以上のjobがあり、しかも、jobAしかない場合、CPU31は、jobを受信した古い順に従って、2つのjobAの印刷を交互に実行し、異なる排紙トレイに排紙する処理である。以降、該第1交互印刷処理において、例えばjob1バッファに記憶されているjobをjobA1、job2バッファに記憶されているjobをjobA2と称する。
まず、CPU31は、job1バッファにjobがあるか否かを判断し(S401)、job1バッファにjobがないと判断した場合(S401:No)、job2バッファにjobがあるか否かを判断する(S402)。
job1バッファにjobがなく、job2バッファにjobがあれば(S402:Yes)、CPU31は、一時記憶バッファに記憶されているjobAを受信した古い順に従って、最も古いjobAを実行対象jobA1とし、job1バッファに入れる(S403)。
一方、job1バッファにjobがなく、job2バッファにもjobがない場合(S402:No)、CPU31は、一時記憶バッファに記憶されているjobを受信した古い順に従って、最も古い2つのjobAをそれぞれ実行対象jobA1とjobA2とし、それぞれjob1バッファとjob2バッファに入れる(S404)。
それに対して、job1バッファにjobがあれば(S401:Yes)、job2バッファにjobがあるか否かを判断する(S405)。
job1バッファにjobがあるが、job2バッファにjobがなければ(S405:No)、CPU31は、一時記憶バッファに記憶されているjobAを受信した古い順に従って、最も古いjobAを実行対象jobA2とし、job2バッファに入れる(S406)。
job1バッファおよびjob2バッファの両方ともjobがある場合(S405:Yes)、または、S403、S404、S406のいずれかの処理を実行された後、CPU31は、直前に印刷されたページはTray1に排紙したか否かを判断し(S407)、すなわち、直前の実行対象となったのはjobA1か、若しくはjobA2であるかを判断する。ここで、CPU31は、直前に実行対象となったjobが存在しない場合、すなわち、初めてjobを実行する場合には直前に印刷されたページはTray1に排紙していないと判断する。
CPU31は、直前に印刷されたページはTray1に排紙した、すなわち、jobA1は直前の実行対象であると判断した場合(S407:Yes)、直前にTray2に排紙された最後のページ、すなわち、直前にjob2バッファに記憶されたjobA2において、Tray2に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S408)。
該最後のページに付着されたインクが乾燥したと判断された場合(S408:Yes)、CPU31は、実行対象となるjobA2における1ページの印刷データを印刷し、Tray2に排紙させ(S409)、乾燥していないと判断した場合(S408:No)、該ページが乾燥するまで、印刷を中断する。
一方、CPU31は、直前に印刷されたページはTray2に排紙し、すなわち、jobA2は直前の実行対象であると判断した場合(S407:No)、直前にTray1に排紙された最後のページ、直前にjob1バッファに記憶されたjobA1において、Tray1に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S410)。ここで、CPU31は、直前にjob1バッファに記憶されたjobが存在しない場合、すなわち、初めてjob1バッファにjobを記憶した場合は、インクが乾燥したと判断する。
該最後のページに付着されたインクが乾燥したと判断された場合(S410:Yes)、CPU31は、実行対象となるjobA1における1ページの印刷データを印刷し、Tray1に排紙させ(S411)、乾燥していないと判断した場合(S410:No)、該ページが乾燥するまで、印刷を中断する。
前述と同様に、CPU31は、S409とS411のいずれかの処理を実行した後、図6の「印刷処理」におけるS208に移行する。
<第2交互印刷処理>
次、図9を参照しつつ、印刷処理における第2交互印刷処理を説明する。
第2交互印刷処理は前述のように、図6の印刷処理で、S205の判断結果がYesの場合に実行される処理である。RAM33の一時記憶バッファに2つ以上のjobがあり、しかも、jobAとjobBの両方がある場合、CPU31は、jobを受信した古い順に従って、1つのjobAと1つのjobBの印刷を交互に実行し、異なる排紙トレイに排紙させる処理である。以降、該第2交互印刷処理において、例えばjob1バッファに記憶されているjobAをjobA1、job2バッファに記憶されているjobAをjobA2、job1バッファに記憶されているjobBをjobB1、job2バッファに記憶されているjobBをjobB2と称する。
まず、CPU31は、job1バッファにjobがあるか否かを判断し(S501)、job1バッファにjobがないと判断した場合(S501:No)、job2バッファにjobがあるか否かを判断する(S502)。
job1バッファにjobがなく、job2バッファにjobがあれば(S502:Yes)、CPU31は、job2バッファに記憶されているjobはjobAであるかを判断する(S503)。
job2バッファに記憶されているjobはjobAであれば(S503:Yes)、CPU31は、一時記憶バッファに記憶されているjobBを受信した古い順に従って、最も古いjobBを実行対象jobB1とし、job1バッファに入れる(S504)。job2バッファに記憶されているjobはjobAでなければ、すなわち、job2バッファに記憶されているjobはjobBである場合(S503:No)、CPU31は、一時記憶バッファに記憶されているjobAを受信した古い順に従って、最も古いjobAを実行対象jobA1とし、job1バッファに入れる(S505)。
一方、job1バッファにjobがなく、job2バッファにもjobがない場合(S502:No)、CPU31は、一時記憶バッファに記憶されているjobを受信した古い順に従って、最も古い1つのjobAと1つのjobBをそれぞれ実行対象jobA1とjobB2とし、それぞれjob1バッファとjob2バッファに入れる(S506)。ここで、CPU31は、最も古い1つのjobAと1つのjobBをそれぞれ実行対象jobA2とjobB1とし、それぞれjob2バッファとjob1バッファに入れてもよい。
それに対して、job1バッファにjobがあれば(S501:Yes)、CPU31は、job2バッファにjobがあるか否かを判断する(S507)。
job1バッファにjobがあるが、job2バッファにjobがなければ(S507:No)、CPU31は、job1バッファに記憶されているjobはjobAであるかを判断する(S508)。
job1バッファに記憶されているjobはjobAであれば(S508:Yes)、CPU31は、一時記憶バッファに記憶されているjobBを受信した古い順に従って、最も古いjobBを実行対象jobB2とし、job2バッファに入れる(S509)。job1バッファに記憶されているjobはjobAでない、すなわち、job1バッファに記憶されているjobはjobBである場合(S508:No)、CPU31は、一時記憶バッファに記憶されているjobAを受信した古い順に従って、最も古いjobAを実行対象jobA2とし、job2バッファに入れる(S510)。
一方、job1バッファおよびjob2バッファの両方ともjobがある場合(S507:Yes)、または、S504、S505、S509、S510のいずれかの処理が実行された後、CPU31は、直前に印刷されたページはTray1に排紙したかを判断し(S511)、すなわち、直前の実行対象となったのはjobA1(jobB1)か、若しくはjobB2(jobA2)であるかを判断する。ここで、直前に実行対象となったjobが存在しない場合、すなわち初めてjobを実行対象とした場合は、CPU31は、Tray1に排紙していないと判断する。
CPU31は、直前に印刷されたページはTray1に排紙し、すなわち、jobA1(jobB1)は直前の実行対象であると判断した場合(S511:Yes)、直前にTray2に排紙された最後のページ、すなわち、直前にjob2バッファに記憶されたjobB2(jobA2)において、Tray2に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S512)。
該最後のページに付着されたインクが乾燥したと判断された場合(S512:Yes)、CPU31は、実行対象となるjobB2(jobA2)における1ページの印刷データを印刷し、Tray2に排紙させ(S513)、乾燥していないと判断した場合(S512:No)、該ページが乾燥するまで、印刷を中断する。
一方、CPU31は、直前に印刷されたページはTray2に排紙し、すなわち、jobB2(jobA2)は直前の実行対象であると判断した場合(S511:No)、直前にTray1に排紙された最後のページ、直前にjob1バッファに記憶されたjobA1(jobB1)において、Tray1に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S514)。ここで、直前にjob1バッファに記憶されたjobがない場合、すなわち初めてjob1バッファにjobを記憶した場合は、CPU31は、インクが乾燥したと判断する。
該最後のページに付着されたインクが乾燥したと判断された場合(S514:Yes)、CPU31は、実行対象となるjobA1(jobB1)における1ページの印刷データを印刷し、Tray1に排紙させ(S515)、乾燥していないと判断した場合(S514:No)、該ページが乾燥するまで、印刷を中断する。
前述と同様に、CPU31は、S513とS515の処理を実行した後、図6の「印刷処理」におけるS208に移行する。
以上の図5〜9の処理によれば、通常印刷処理において、一時記憶バッファに1つのjobAしかない、または、jobBしかない場合、CPU31は、jobの印刷を1つずつ実行する。また、第1交互印刷処理において、一時記憶バッファにjobBがなく、2つ以上のjobAがある場合、CPU31は、2つのjobAの印刷を交互に実行し、異なる排紙トレイに排紙させる。また、第2交互印刷処理において、一時記憶バッファにjobAとjobBの両方がある場合、CPU31は、jobAとjobBの印刷を交互に実行し、異なる排紙トレイに排紙させる。
さらに、通常印刷処理において、jobAの印刷を実行中に、新たなjobAまたはjobBを受信した場合、CPU31は、第1交互印刷処理または第2交互印刷処理に移行し、実行中のjobAを新しく受信したjobAまたはjobBと交互に実行し、異なる排紙トレイに排紙させる。
さらに、通常印刷処理において、jobBの印刷が実行中に、新たなjobAを受信した場合、CPU31は、第2交互印刷処理に移行し、実行中のjobBを新しく受信したjobAと交互に実行し、異なる排紙トレイに排紙させる。
さらに、第1交互印刷処理において、いずれかのjobAの印刷が実行中に、新たなjobBを受信した場合、CPU31は、第2交互印刷処理に移行し、いずれかのjobAの印刷が終了した後、終了していないjobAを新しく受信したjobBと交互に実行し、異なる排紙トレイに排紙させる。
さらに、第2交互印刷処理において、jobBがjobAの印刷より早く終了した場合、CPU31は優先的に他のjobBを選択し、実行中のjobAと交互に実行し、異なる排紙トレイに排紙させる。一方、他のjobBがなく、他のjobAしかない場合、CPU31は、第1交互印刷処理に移行し、実行中のjobAを他のjobAと交互に実行し、異なる排紙トレイに排紙させる。しかし、他のjobBもなく、他のjobAもない場合、CPU31は、通常印刷処理に移行し、実行中のjobAの印刷を完了するまで実行する。
一方、第2交互印刷処理において、jobAがjobBの印刷より早く終了した場合、CPU31は優先的に他のjobAを選択する。実行中のjobBと交互に実行し、異なる排紙トレイに排紙させる。一方、他のjobAがない場合、CPU31は、「通常印刷処理」に移行し、実行中のjobBの印刷を完了するまで実行する。
<第1の実施形態の効果>
上記第1の実施形態によれば、インクの乾燥時間が長い印刷データを有するjobAの印刷を、インクの乾燥時間が長い印刷データを有しないjobBまたは他のjobAの印刷と交互に実行し、異なる排紙トレイに排紙することにより、インクの乾燥時間による生産性の低下を抑制しつつ、インクの乾燥不足による前後の被記録媒体の裏写りを防ぐことができる。
また、該第1の実施形態によれば、インクの乾燥時間が長い印刷データを有するjobAの印刷と交互に印刷される実行対象として、RAM33に他のjobAとjobBがある場合、CPU31は、優先的にjobBを選択し、jobAとjobBを交互に印刷させことにより、インクの乾燥時間による生産性の低下を防止しつつ、jobBの印刷データの印刷時間を利用し、jobAに基づいて印刷された被記録媒体を乾燥させ、インクの乾燥不足による前後の被記録媒体の裏写りを防ぐことができる。
「第2の実施形態」
以下、図10および図11を参照しつつ、第2の実施形態2について詳細に説明する。図10は印刷処理における第1交互印刷処理の手順を示すフローチャートである。図11は印刷処理における第2交互印刷処理の手順を示すフローチャートである。
本実施形態の説明では、プリンタ100の構成及び機能、第1の実施形態の第1交互印刷処理(図8)と第2交互印刷処理(図9)を除く処理は同様であるため、説明を省略する。また、第1の実施形態の処理と同じ処理には同様の符号を付する。
本実施形態の印刷処理は、第1の実施形態と異なり、jobAの印刷中に、インクの乾燥時間の長い印刷データが印刷された後のみ、もう1つのjobの1ページの印刷データを実行させ、異なる排紙トレイに排紙する。
<第1交互印刷処理>
図10を参照しつつ、印刷処理における第1交互印刷処理を説明する。
該第1交互印刷処理は前述のように、図6の印刷処理で、S204の判断結果がNoの場合に実行される処理である。S401〜S406の処理は、第1の実施形態と同様であるので、説明を省略する。
次に、CPU31は、次に印刷されたページはTray1とTray2のどれに排紙したかを判断するため、直前にTray1に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S410)。該最後のページに付着されたインクが乾燥したと判断された場合(S410:Yes)、CPU31は、実行対象となるjobA1における1ページの印刷データを印刷し、Tray1に排紙させる(S411)。
一方、CPU31は、直前にTray1に排紙された最後のページに付着されたインクが乾燥していないと判断した場合(S410:No)、Tray2に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S408)。
該最後のページに付着されたインクが乾燥したと判断された場合(S408:Yes)、CPU31は、実行対象となるjobA2における1ページの印刷データを印刷し、Tray2に排紙させる(S409)。
しかし、直前にTray2に排紙された最後のページの印刷データに付着されたインクも乾燥していないなら(S408:No)、CPU31は、S410に戻り、Tray1またはTray2に排紙された最後のページのうち、いずれかに付着されたインクが乾燥するまで、印刷を中断し、S410とS408の処理を繰り返し実行する。
すなわち、第2の実施形態における第1交互印刷処理では、CPU31は、Tray1とTray2のうち、直前に排紙された最後のページに付着されたインクが先に乾燥した排紙トレイから、次のページを排紙し、いずれかの排紙トレイに排紙されたページが乾燥するまで、他の排紙トレイに1または複数ページを連続して排紙することが可能である。
前述と同様に、CPU31は、S409とS411の処理を実行した後、図6の「印刷処理」におけるS208に移行する。
<第2交互印刷処理>
図11を参照しつつ、印刷処理における第2交互印刷処理を説明する。
第2交互印刷処理は前述のように、図6の印刷処理で、S204の判断結果がYesの場合に実行される処理である。S501〜S510の処理は第1の実施形態と同様であるので、説明を省略する。
次に、CPU31は、次に印刷されたページはTray1とTray2のどれに排紙したかを判断ため、Tray1に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S514)。該最後のページに付着されたインクが乾燥したと判断された場合(S514:Yes)、CPU31は、実行対象となるjobA1(jobB1)における1ページの印刷データを印刷し、Tray1に排紙させる(S515)。
一方、CPU31は、Tray1に排紙された最後のページに付着されたインクが乾燥していないと判断した場合(S514:No)、直前にTray2に排紙された最後のページに付着されたインクが乾燥したか否かを判断する(S512)。
該最後のページに付着されたインクが乾燥したと判断された場合(S512:Yes)、CPU31は、実行対象となるjobB2(jobA2)における1ページの印刷データを印刷し、Tray2に排紙させる(S513)。
しかし、直前にTray2に排紙された最後のページに付着されたインクも乾燥していないなら(S512:No)、CPU31は、S514に戻し、Tray1またはTray2に排紙された最後のページのうち、いずれかに付着されたインクが乾燥するまで、印刷を中断し、S514とS512の処理を繰り返し実行する。
すなわち、第2の実施形態における第2交互印刷処理では、CPU31は、Tray1とTray2のうち、排紙された最後のページに付着されたインクが先に乾燥した排紙トレイから次のページを排紙し、いずれかの排紙トレイに排紙されたページを乾燥するまで、他の排紙トレイに1または複数ページを連続して排紙することが可能である。
前述と同様に、CPU31は、S513とS515の処理を実行した後、図6の「印刷処理」におけるS208に移行する。
<第2の実施形態の効果>
上記第2の実施形態によれば、インクの乾燥時間が長い印刷データを有するjobAの印刷において、インクの乾燥時間が長い印刷データが印刷された場合、インクの乾燥時間が長い印刷データを有しないjobBまたは他のjobAの印刷を実行し、異なる排紙トレイに排紙することにより、インクの乾燥時間による生産性の低下を抑制しつつ、他の印刷ジョブの印刷時間を利用し、jobAにいけるインクの乾燥時間が長い印刷データに基づいて印刷された被記録媒体を乾燥させ、インクの乾燥不足による前後の被記録媒体の裏写りを防ぐことができる。
また、該第2の実施形態によれば、インクの乾燥時間が長い印刷データを有するjobAにおける印刷データのインクの乾燥時間が長いと、交互に印刷されているjobBまたは他のjobAが連続して印刷される被記録媒体の枚数を増やすことにより、インクの乾燥時間による生産性の低下を抑制し、また、他の印刷ジョブの印刷データを連続して印刷する印刷時間を利用し、該印刷データに基づいて印刷された被記録媒体を乾燥させ、インクの乾燥不足による前後の被記録媒体の裏写りを防ぐことができる。
「他の実施形態」
なお、上記実施形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、プリンタに限らず、複数の排紙トレイを備える印刷機能付きのものであれば適用可能である。
また、上記実施形態において、プリンタ100は2段の排紙トレイを有するものであったが、3段以上の排紙トレイを有するものであってもよい。その場合、図8〜11の第1交互印刷処理および第2交互印刷処理において、CPU31は、2つのjobの印刷を交互に実行しても、インクの乾燥時間が非常に長いページが十分乾燥できない場合、3つ以上のjobの印刷を交互に実行し、それぞれのjobの印刷物を異なる排紙トレイに排紙する。すなわち、ページ毎の乾燥時間に従って、交互に実行することが必要なjobを増やしてもよい。この場合、各排紙トレイに排紙するjobを一時に記憶するバッファも排紙トレイの数分増やす。
例えば、RAM33に3つのjobがある場合、各jobに乾燥時間が最も長いページの乾燥時間を取得する。S104により、job1はjobAであり、ほかのjobはjobBであると判断される。job1に乾燥時間が最も長いページの乾燥時間が50秒である場合、job1とjob2を交互に1ページを印刷して排紙しても、該最も長いページはまだ乾燥できない。なお、前述のように、job2の全てのページの乾燥時間は20秒以下である。その場合、図9のS512またはS514の処理により、該最も長いページが乾燥するまで印刷を中断される。
これに対して、job3を加えて、job1とjob2とjob3との印刷を交互に実行すれば、job3の1ページの印刷時間を利用し、job1の最も乾燥時間の長いページを乾燥させることにより、インクの乾燥時間による生産性の低下を防止しつつ、インクの乾燥不足による前後の被記録媒体の裏写りを防ぐことができる。 従って、インクの乾燥時間が非常に長いページの印刷データが印刷されても、交互に実行するjobを増やすことで、生産性の低下を抑制しつつ、インクの乾燥不足による前後の被記録媒体の裏写りを防ぐことができる。
また、本実施形態において、図5の受信処理におけるS103では、インク全体付着量またはインク付着率に基づいてページ毎の乾燥時間を算出していたが、そのほかに、印刷形式が両面印刷か片面印刷に基づいて乾燥時間を算出してもよい。具体的には、印刷形式によって実験的にあらかじめ決定された乾燥時間テーブル等を参照することによって乾燥時間が算出される。その結果、CPU31は、S104で両面印刷の印刷データを有するjobであれば、該jobをjobAに分類し、全ての印刷データが片面印刷のjobであれば、該jobをjobBに分類する。従って、両面印刷の印刷データを有するjobがある場合、2つのjobを交互に実行し、異なる排紙トレイに排紙することにより、生産性の低下を抑制しつつ、インクの乾燥不足による前後の被記録媒体の裏写りを防ぐことができる。
また、上記実施形態では、S104において、乾燥時間が基準時間Tを越えたか否かに基づいてjobを分類していたが、1ページの被記録媒体全体のインク付着量、ページ単位のインク付着密度が閾値を超えるなら、乾燥時間が基準時間Tを超えると見なしてもよい。また、印刷形式が両面印刷であれば、乾燥時間が基準時間Tを超えると見なしてもよい。