IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

<>
  • 特許-印刷装置および制御方法 図1
  • 特許-印刷装置および制御方法 図2
  • 特許-印刷装置および制御方法 図3
  • 特許-印刷装置および制御方法 図4
  • 特許-印刷装置および制御方法 図5
  • 特許-印刷装置および制御方法 図6
  • 特許-印刷装置および制御方法 図7
  • 特許-印刷装置および制御方法 図8
  • 特許-印刷装置および制御方法 図9
  • 特許-印刷装置および制御方法 図10
  • 特許-印刷装置および制御方法 図11
  • 特許-印刷装置および制御方法 図12
  • 特許-印刷装置および制御方法 図13
  • 特許-印刷装置および制御方法 図14
  • 特許-印刷装置および制御方法 図15
  • 特許-印刷装置および制御方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】印刷装置および制御方法
(51)【国際特許分類】
   B41J 2/17 20060101AFI20240610BHJP
   B41J 2/165 20060101ALI20240610BHJP
   B41J 2/01 20060101ALI20240610BHJP
【FI】
B41J2/17 201
B41J2/165 207
B41J2/01 401
B41J2/01 451
【請求項の数】 14
(21)【出願番号】P 2020119452
(22)【出願日】2020-07-10
(65)【公開番号】P2022022914
(43)【公開日】2022-02-07
【審査請求日】2023-06-12
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】宇津井 修
【審査官】岩本 太一
(56)【参考文献】
【文献】特開2001-293885(JP,A)
【文献】特開平03-234662(JP,A)
【文献】特開2000-127420(JP,A)
【文献】特開2009-056728(JP,A)
【文献】米国特許出願公開第2007/0126778(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 2/01-2/215
(57)【特許請求の範囲】
【請求項1】
記録ヘッドからインクを吐出することにより用紙に印刷を行う印刷手段と、
前記印刷手段による印刷と並行して実施可能なメンテナンス動作を行うメンテナンス手段と、
前記印刷手段による印刷と前記メンテナンス手段によるメンテナンス動作が並行して行われ、前記印刷手段による印刷の終了時に該メンテナンス動作が完了していない場合、前記メンテナンス動作を中断するよう前記メンテナンス手段を制御する制御手段と、
を備えることを特徴とする印刷装置。
【請求項2】
前記メンテナンス動作は、複数のステップ動作として行われ、
前記制御手段は、前記印刷手段による印刷の終了時に前記メンテナンス動作が完了していない場合、前記印刷手段による印刷と並行して行われている該メンテナンス動作のステップ動作を終了させ、後続するステップ動作を行わないよう前記メンテナンス手段を制御する、
ことを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記印刷手段が複数ページの印刷を行い、
前記印刷手段による第1のページの印刷の終了時に前記第1のページに後続する第2のページがある場合、前記制御手段は、前記メンテナンス動作を中断するよう前記メンテナンス手段を制御することを特徴とする請求項1又は2に記載の印刷装置。
【請求項4】
前記制御手段は、前記メンテナンス動作の中断後、残りの分のメンテナンス動作を前記第2のページの印刷と並行して行うよう前記メンテナンス手段を制御することを特徴とする請求項に記載の印刷装置。
【請求項5】
前記印刷手段による前記第1のページの印刷の終了時に前記第1のページに後続する前記第2のページがなく、且つ、前記メンテナンス動作が完了していない場合、前記制御手段は、前記メンテナンス動作を完了させるよう前記メンテナンス手段を制御することを特徴とする請求項に記載の印刷装置。
【請求項6】
前記印刷手段による前記第1のページの印刷の終了時に前記第1のページに後続する前記第2のページがないことは、前記印刷手段による印刷がキャンセルされたことを含むことを特徴とする請求項に記載の印刷装置。
【請求項7】
前記メンテナンス手段は、
前記記録ヘッドから予備吐出されたインクを受けるキャップと、
前記キャップに貯留したインクを廃インク貯留部に送るポンプと、を備え、
前記制御手段は、前記ポンプを動作させることにより、前記キャップに貯留したインクを前記廃インク貯留部に送るよう前記メンテナンス手段を制御することを特徴とする請求項1乃至のいずれか1項に記載の印刷装置。
【請求項8】
前記キャップに貯留したインク量を示すパラメータを記憶する第1記憶手段、をさらに備えることを特徴とする請求項に記載の印刷装置。
【請求項9】
前記キャップに貯留したインク量を示すパラメータは、前記インク量を示すドットカウントを含むことを特徴とする請求項に記載の印刷装置。
【請求項10】
前記制御手段は、前記第1記憶手段に記憶されたパラメータに基づいて、前記キャップに貯留したインク量が閾値を超えた場合に、前記ポンプを動作させることを特徴とする請求項又はに記載の印刷装置。
【請求項11】
前記制御手段は、前記ポンプを動作させるモータの駆動を制御することを特徴とする請求項乃至10のいずれか1項に記載の印刷装置。
【請求項12】
前記モータの駆動に関するパラメータを記憶する第2記憶手段、をさらに備えることを特徴とする請求項11に記載の印刷装置。
【請求項13】
前記モータの駆動に関するパラメータは、駆動速度と駆動量の少なくともいずれかを含むことを特徴とする請求項12に記載の印刷装置。
【請求項14】
記録ヘッドからインクを吐出することにより用紙に印刷を行う印刷手段と、
前記印刷手段による印刷と並行して実施可能なメンテナンス動作を行うメンテナンス手段と、を備える印刷装置において実行される制御方法であって、
前記印刷手段による印刷と前記メンテナンス手段によるメンテナンス動作が並行して行われ、前記印刷手段による印刷の終了時に該メンテナンス動作が完了していない場合、前記メンテナンス動作を中断するよう前記メンテナンス手段を制御する制御工程、
を有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メンテナンス動作を実施可能な印刷装置および制御方法に関する。
【背景技術】
【0002】
インクジェットプリンタでは、印刷開始時や印刷動作中にメンテナンス動作を行うことがある。メンテナンス動作としては、例えば、記録ヘッドのノズル詰まりの予防や、記録ヘッドに滞留して粘性が高くなったインクを排出することを目的とする予備吐出が行われる。予備吐出は、専用の廃インク受け口や記録ヘッドを保護するキャップ上に対して行われる。キャップ上に排出されたインクは、滞留時間が長くなると、蒸発により粘性が高くなる。従って、メンテナンス動作として、キャップ内のインク除去を目的とするインク除去吸引動作が行われる。
【0003】
特許文献1では、印刷開始時にキャップ内に貯留されたインク量とこれから行う印刷動作に伴う予備吐出によってキャップ内に排出されると予測されるインク量とを算出することが記載されている。そして、閾値を越える場合は、キャップ内に貯留されたインクを排出するためのインク除去吸引動作が行われることが記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2008-221796号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1のように、印刷開始前にインク除去吸引動作が実行されると、印刷開始が遅くなってしまう。ここで、印刷と並行してインク除去吸引動作を可能なように構成することが考えられる。しかしながら、印刷と並行してインク除去吸引動作を可能なように構成したとしても、印刷終了時にインク除去吸引動作が実行中であれば、インク除去吸引動作の終了待ちが発生してしまう。従って、インク除去吸引動作の実行によって、印刷の進行に影響を及ぼしてしまう可能性がある。
【0006】
本発明は、インク除去吸引動作による印刷の進行への影響を防ぐ印刷装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係る印刷装置は、記録ヘッドからインクを吐出することにより用紙に印刷を行う印刷手段と、前記印刷手段による印刷と並行して実施可能なメンテナンス動作を行うメンテナンス手段と、前記印刷手段による印刷と前記メンテナンス手段によるメンテナンス動作が並行して行われ、前記印刷手段による印刷の終了時に該メンテナンス動作が完了していない場合、前記メンテナンス動作を中断するよう前記メンテナンス手段を制御する制御手段とを備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、インク除去吸引動作による印刷の進行への影響を防ぐことができる。
【図面の簡単な説明】
【0009】
図1】プリンタの制御系システムの構成を示すブロック図である。
図2】プリンタの記録ヘッド周辺のデバイス構成を示す図である。
図3】キャップ内貯留インクカウンタを示す図である。
図4】インク除去吸引動作シーケンステーブルを示す図である。
図5】インク除去吸引動作進捗テーブルを示す図である。
図6】タスク構成を示す図である。
図7】メインタスクとサブタスクの間におけるシーケンスを示す図である。
図8】メインタスクの処理を示すフローチャートである。
図9】サブタスクの処理を示すフローチャートである。
図10】サブタスクの処理を示すフローチャートである。
図11】インク除去吸引動作シーケンステーブルを示す図である。
図12】インク除去吸引動作進捗テーブルを示す図である。
図13】サブタスクの処理を示すフローチャートである。
図14】サブタスクの処理を示すフローチャートである。
図15】サブタスクの処理を示すフローチャートである。
図16】キャップ内貯留インクカウンタを示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には、複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
[第1実施形態]
図1は、本実施形態におけるプリンタの制御系システムの構成を示すブロック図である。本実施形態におけるプリンタ(印刷装置)は、インクジェット記録方式により、用紙等の記録媒体上にインク滴を吐出して記録を行うインクジェットプリンタ(インクジェット記録装置)である。本実施形態では、記録ヘッドとして、用紙の搬送方向と交差する方向に往復移動可能なシリアル記録ヘッドを用いたインクジェットプリンタを説明する。制御系システム100において、ローカルバス110に対して、CPU120、ROM121、RAM122、インタフェース(I/F)123、表示部I/O124、デバイスI/O125が接続され、相互に通信可能である。I/F123には、USB130、NIC(Network Interface Card)131が接続される。また、I/F123には、無線LANやその他の通信インタフェースが接続されても良い。表示部I/O124には、各種ユーザインタフェース画面を表示可能な表示部132が接続される。表示部132は、ハードキー等の操作受付部を含み、ユーザ操作を受付可能である。操作受付部として、ユーザ操作を受付可能なタッチパネルが構成されても良い。デバイスI/O125には、記録ヘッド制御部133やモータ制御部134が接続される。記録ヘッド制御部133は、例えば、記録ヘッドのノズル(不図示)からのインク滴の吐出や、記録ヘッドが登載されたキャリッジ(不図示)の移動を制御する。モータ制御部134は、例えば、記録ヘッドが搭載されたキャリッジを移動させるためのモータ、用紙の搬送や給送のためのモータ、記録ヘッドのメンテナンス動作のためのモータ、の駆動を制御する。
【0012】
図2は、プリンタ200の記録ヘッド周辺のデバイス構成を示す図である。プリンタ200は、装置全体を表し、図1の制御系システム100は、プリンタ200に含まれる。図2には、プリンタ200の記録ヘッド周辺のデバイス構成として、記録ヘッド制御デバイス210、用紙制御デバイス220、回復制御デバイス230が示されている。記録ヘッド制御デバイス210には、モータ211と記録ヘッド212が含まれ、駆動装置213及びモータ211により、記録ヘッド212の走査方向上の位置が制御される。なお、図2では不図示であるが、記録ヘッド212は、キャリッジに搭載されている。位置P1は、記録ヘッド212の回復動作(メンテナンス動作)を行うための位置である。位置P2は、記録ヘッド212による記録開始位置である。位置P3は、記録ヘッド212による記録終了位置である。
【0013】
用紙制御デバイス220では、モータ221に紙送りローラ222が接続されており、用紙223の搬送方向上の位置が制御される。回復制御デバイス230では、モータ231に駆動切替え装置232が接続されており、モータ231の駆動方向によってキャップ233とポンプ234の制御を切替可能である。キャップ233には、ポンプ234を経由して廃インク貯留部235にインクを送るためのインク流路236が接続されている。プリンタ200が電源オフ、または電源オン状態においても動作していない場合には、記録ヘッド212は、位置P1に移動してキャップ233で保護された状態になる。なお、駆動切替え装置232を設けずに、キャップ233とモータ234を個別に制御するように構成しても良い。図2の記録ヘッド212は、図1の記録ヘッド制御部133により制御され、図2のモータ211、221、231は、図1のモータ制御部134により制御される。
【0014】
以下、本実施形態の印刷動作の一例として、複数ページ印刷、特に2ページ印刷を行う場合について説明する。本実施形態におけるメンテナンス動作の流れとしては、1ページ目の印刷を開始し、予備吐出実行判断および予備吐出、印刷動作、を繰り返し実行する。そして、予備吐出によりキャップ233内に排出されたインク量が閾値を越えた場合、印刷と並行してインク除去吸引動作(印刷並行メンテナンス動作)を開始する。そして、1ページ目の印刷終了時にインク除去吸引動作が実行中の場合には、そのインク除去吸引動作を中断する。そして、2ページ目の印刷と並行してインク除去吸引動作を再開し、2ページ目の印刷終了時にインク除去吸引動作の完了を待って印刷を終了する。そのような構成により、印刷開始時、または最終ページ以外のページの印刷終了時に、インク除去吸引動作の完了を待機するために印刷開始タイミングや印刷終了タイミングが遅くなってしまうことを防ぐことができる。
【0015】
図3は、キャップ内貯留インクカウンタ300の一例を示す図である。図3(a)は、初期状態を示す。キャップ内貯留インクカウンタ300は、例えば、制御系システム100のROM121やRAM122に記憶される。予備吐出により記録ヘッド212のノズル(不図示)からインクを吐出してキャップ233に排出を行った際には、キャップ内貯留インクカウンタ300の、キャップ233内に貯留されたインク量を示すパラメータが更新される。図3(b)は、キャップ内貯留インクカウンタ300のインク量を示すパラメータが更新された状態を示す。
【0016】
図4は、インク除去吸引動作シーケンステーブル400の一例を示す図である。インク除去吸引動作シーケンステーブル400は、例えば、制御系システム100のROM121やRAM122に記憶される。インク除去吸引動作シーケンステーブル400は、インク除去吸引動作を行うためのパラメータとして、駆動速度401、総駆動量402を含む。駆動速度401は、モータ231の駆動する際の最高速度を示す。総駆動量402は、モータ231が動作を開始してから停止するまでの総駆動量を示す。本実施形態では、一例として、モータ231を、駆動速度1000pps、総駆動量15000plsで駆動させるものとする。なお、単位ppsは1秒当たりのパルス駆動量であり、単位plsはパルス駆動量(パルス数)である。
【0017】
図5は、インク除去吸引動作進捗テーブル500の一例を示す図である。インク除去吸引動作進捗テーブル500は、例えば、制御系システム100のROM121やRAM122に記憶される。本実施形態では、インク除去吸引動作進捗テーブル500は、図4のインク除去吸引動作シーケンステーブル400と同じデータ構造を持つ。図5(a)は、初期状態を示しており、駆動速度501と駆動量502の値は全てゼロで初期化されている。図5(b)は、インク除去吸引動作開始条件を満たしてモータ231の駆動を開始するときの値を示しており、インク除去吸引動作シーケンステーブル400のパラメータの値が格納される。図5(c)は、1ページ目の印刷終了時にインク除去吸引動作を中断した場合に格納された値の一例を示す。例えば、1ページ目の印刷終了時にモータ231が駆動速度1000pps、駆動量8000pls分動作する。その場合、図5(b)のインク除去吸引動作進捗テーブル500の駆動量502の値から、上記の動作済みの駆動量8000plsを減算した値が格納される。
【0018】
次に、図6図10を参照しながら、本実施形態の動作について説明する。
【0019】
図6は、本実施形態におけるタスク構成を示す図である。本実施形態では、メインタスク600とサブタスク601が、制御系システム100上で動作する。即ち、メインタスク600とサブタスク601それぞれの動作は、CPU120により実現される。メインタスク600からサブタスク601に対して送信されるメッセージとして、メッセージM1001、M1002、M1003、M1004がある。メッセージM1001は、印刷並行メンテナンス動作が有効であることを示すメッセージ(印刷並行メンテンナンス有効)である。メッセージM1002は、印刷並行メンテナンス動作が無効であることを示すメッセージ(印刷並行メンテナンス無効)である。メッセージM1003及びM1004は、サブタスク601において動作中のインク除去吸引動作を制御するためのメッセージである。メッセージM1003は、印刷並行メンテナンス動作を停止させるためのメッセージ(印刷並行メンテナンス動作停止)である。メッセージM1004は、印刷並行メンテナンス動作の終了を待機するためのメッセージ(印刷並行メンテナンス動作終了待ち)である。サブタスク601は、各メッセージを受信して対応する処理を行って終了すると、メインタスク600に対してリプライM1005を送信する。
【0020】
図7は、メインタスク600とサブタスク601の間におけるシーケンスを示す図である。まず、S701において、メインタスク600は、1ページ目の印刷を開始する。印刷開始において、メインタスク600は、記録ヘッド212とキャップ233の接合の解除と、用紙223の移動を行う。同時に、メインタスク600は、印刷時メンテナンス動作として記録ヘッド212の予備吐出を実施する。予備吐出の実施により、キャップ233に廃インクが貯留される。なお、本実施形態では、メンテナンス動作のうち、用紙223に対する印刷時の記録ヘッド212の動作として実施されるメンテナンス動作(例えば、予備吐出)を印刷時メンテナンス動作という。一方、印刷時メンテナンス動作以外のメンテナンス動作で、用紙223に対する印刷時の記録ヘッド212の動作と並行に実施可能なメンテナンス動作を印刷並行メンテナンス動作という。
【0021】
S702において、メインタスク600は、サブタスク601にメッセージM1001(印刷並行メンテナンス有効)を送信することにより、印刷並行メンテナンス動作の実施を有効化する。その有効化によって、印刷時メンテナンスの予備吐出により発生した廃インク量が条件を満たす場合、印刷並行メンテナンス動作として、キャップ233から廃インクを除去するため、ポンプ234の駆動が開始される。印刷並行メンテナンス動作は、S703の印刷と並行して実施される。
【0022】
S703において、メインタスク600は、記録ヘッド212を位置P2からP3、または位置P3からP2に移動させながら用紙223上にインクを吐出させることにより、画像形成を行う。メインタスク600は、記録ヘッド212の印刷動作が終了すると、用紙223を移動させる。上記の印刷動作は、1回または複数回繰り返して実施される。なお、図7では、印刷時メンテナンス動作は示されていないが、所定の吐出回数に達したなど条件を満たす場合に印刷時メンテナンス動作を実施するようにしても良い。
【0023】
S703の印刷の終了により、1ページ目の印刷が終了する。メインタスク600は、用紙223を排出させるとともに、サブタスク601にメッセージM1003(印刷並行メンテナンス動作停止)を送信することにより、印刷並行メンテナンス動作の中断を行う。S706において、サブタスク601は、メッセージM1003を受け、ポンプ234が動作中の場合は、ポンプ234を停止させる。そして、S707において、サブタスク601は、メインタスク600にリプライM1005を送信する。S708において、メインタスク600は、サブタスク601にメッセージM1002(印刷並行メンテナンス無効)を送信することにより、印刷並行メンテナンス動作の実施を無効化する。そして、S709において、メインタスク600は、1ページ目の印刷を終了する。
【0024】
次に、S710において、メインタスク600は、2ページ目の印刷を開始する。S711において、メインタスク600は、サブタスク601にメッセージM1001(印刷並行メンテナンス有効)を送信することにより、印刷並行メンテナンス動作の実施を有効化する。S713の印刷並行メンテナンス動作では、1ページ目の場合と同じ動作が行われる。本実施形態では、先に中断された印刷並行メンテナンス動作の残りの分の動作がある場合にも、サブタスク601は、ポンプ234の駆動を再開し、残りの分の印刷並行メンテナンス動作を実施する。
【0025】
S712において、S703と同様の印刷動作が行われる。また、S703と同様に、条件を満たす場合には、印刷時メンテナンス動作を実施するようにしても良い。S712の印刷終了により、2ページ目の印刷が終了する。メインタスク600は、用紙223を排出させるとともに、サブタスク601にメッセージM1004(印刷並行メンテナンス動作終了待ち)を送信することにより、サブタスク601における印刷並行メンテナンス動作の終了を待機する。
【0026】
S715において、サブタスク601は、メッセージM1004を受け、ポンプ234が動作中の場合は、印刷並行メンテナンス動作を完了させる。即ち、1ページ目と異なり、印刷対象となる後続ページがないので、印刷並行メンテナンス動作を中断させるのではなく完了させる。そして、S716において、サブタスク601は、メインタスク600にリプライM1005を送信する。
【0027】
S717において、メインタスク600は、サブタスク601にメッセージM1002(印刷並行メンテナンス無効)を送信することにより、印刷並行メンテナンス動作の実施を無効化する。そして、S718において、メインタスク600は、印刷並行メンテナンス動作の完了後に、記録ヘッド212とキャップ233を接合させ、図7の処理を終了する。
【0028】
上記のように、1ページ目の印刷が終了したときに、印刷対象の後続するページ(例えば2ページ目)があれば、印刷並行メンテナンス動作を中断させる。また、中断による残りの分の印刷並行メンテナンス動作は、2ページ目の印刷と並行して行われる。そのような構成により、印刷並行メンテナンス動作の実施によって、複数ページの印刷処理の全体の進行が遅れてしまうことを防ぐことができる。
【0029】
図8は、メインタスク600の処理を示すフローチャートである。図8のフローチャートを用いてメインタスク600の処理の詳細について説明する。以下、2ページ印刷を一例として説明する。
【0030】
S801において、メインタスク600は、キャップ開動作を行う。例えば、CPU120は、ローカルバス110とデバイスI/O125を経由して記録ヘッド制御部133及びモータ制御部134にキャップ開動作の指示を行う。モータ制御部134の制御によりモータ231が駆動すると、駆動切り替え装置232を経由してキャップ233が制御され、キャップ233と記録ヘッド212の接続が解除される。
【0031】
S802において、メインタスク600は、サブタスク601にメッセージM1001(印刷並行メンテナンス有効)を送信することにより、印刷並行メンテナンス動作の実施を有効化する。
【0032】
S803において、メインタスク600は、用紙223を印刷位置に移動させるための用紙給紙を行う。例えば、CPU120は、モータ制御部134に用紙給紙の指示を行う。モータ制御部134の制御によりモータ221が駆動し、紙送りローラ222が駆動することにより用紙223の位置制御が行われる。
【0033】
S804において、メインタスク600は、印刷時メンテナンス動作確認を行う。例えば、CPU120は、最後にインクを吐出した時刻からの経過時間等に基づいて、予備吐出を行うためのインク吐出回数を決定する。なお、インク吐出回数が0回と決定された場合には、予備吐出は実施されない。
【0034】
S805において、メインタスク600は、印刷時メンテナンス動作を実施するか否かの判定を行う。印刷時メンテナンス動作を実施すると判定された場合はS806へ進み、印刷時メンテナンス動作を実施しないと判定された場合はS807に進む。
【0035】
S806において、メインタスク600は、予備吐出を実行する。例えば、CPU120は、ローカルバス110とデバイスI/O125を経由してモータ制御部134と記録ヘッド制御部133に対して予備吐出動作を指示する。予備吐出動作では、記録ヘッド212は、位置P1に移動し、ノズルからインクを吐出する。吐出されたインクは、キャップ233に貯留される。CPU120は、キャップ233に貯留されたインク量に基づいて、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値を更新する。S801~S806は、図7のS701における1ページ目の印刷開始に対応する。
【0036】
S807において、メインタスク600は、印刷動作を行う。例えば、CPU120は、ROM121に予め記憶されたパターンやUSB130やNIC131からI/F123を経由してRAM122に展開されたパターンを、ローカルバス110及びデバイスI/O125を経由して記録ヘッド制御部133に転送する。記録ヘッド212は、モータ211によって駆動され、図3の位置P2からP3、あるいは位置P3からP2に移動しながら、用紙223に対してインクを吐出して印刷を行う。
【0037】
S808において、メインタスク600は、用紙送りを行う。例えば、CPU120は、ローカルバス110とデバイスI/O125を経由してモータ制御部134に対して用紙送りを指示する。モータ制御部134の制御によりモータ221が駆動すると、紙送りローラ222が駆動し、印刷動作に必要な分、用紙223が搬送方向に移動する。
【0038】
S809において、メインタスク600は、1ページ分の印刷が終了しているか否かを判定する。ここで、1ページ分の印刷が終了していないと判定された場合はS804からの処理を繰り返す。一方、S809で1ページ分の印刷が終了したと判定された場合はS810に進む。S804~S809は、図7のS703における印刷に対応する。
【0039】
S809で1ページ分の印刷が終了していると判定された場合、S810において、メインタスク600は、用紙排出を行う。例えば、用紙223がカット紙の場合、CPU120は、ローカルバス110とデバイスI/O125を経由してモータ制御部134に対して用紙排出を指示する。モータ制御部134の制御によりモータ221が駆動すると、紙送りローラ222が駆動し、用紙223が排出される。用紙223がロール紙の場合、ロール紙の構成に対応した処理が行われても良い。例えば、カッターによるカット処理、巻き取り装置による巻取りが行われても良い。
【0040】
S811において、メインタスク600は、次ページ(後続ページ)の有無を判定する。例えば、2ページ印刷における2ページ目であれば、次ページなしと判定されてS814に進む。一方、例えば、2ページ印刷における1ページ目であれば、次ページありと判定されてS812に進む。
【0041】
S812において、メインタスク600は、サブタスク601にメッセージM1003(印刷並行メンテナンス動作停止)を送信することにより、印刷並行メンテナンス動作を停止させる。メッセージM1003の送信後、メインタスク600は、サブタスク601からのリプライM1005を待機し、リプライM1005を受信したらS813に進む。
【0042】
S813において、メインタスク600は、サブタスク601にメッセージM1002(印刷並行メンテナンス無効)を送信することにより、印刷並行メンテナンス動作の実施を無効化する。S810~S813は、図7のS709における1ページ目の印刷終了に対応する。
【0043】
このように、本実施形態では、次ページがあると判定された場合には、印刷並行メンテナンス動作の停止をサブタスク601に要求する。そのような構成により、印刷並行メンテナンス動作の完了を待つことなく次ページの印刷を優先させることが可能となり、印刷並行メンテナンス動作によって複数ページの印刷の進行が遅れてしまうことを防ぐことができる。
【0044】
S813までが1ページ目の処理であり、その後、S802に戻り、2ページ目の処理が開始される。2ページ目の処理は、S811までは1ページ目における説明と同じである。S802~S806は、図7のS710における2ページ目の印刷開始に対応する。
【0045】
S811において、メインタスク600は、次ページの有無を判定する。ここでは、2ページ印刷における2ページ目であるので、次ページなしと判定されてS814に進む。S814において、メインタスク600は、サブタスク601にメッセージM1004(印刷並行メンテナンス動作終了待ち)を送信することにより、サブタスク601における印刷並行メンテナンス動作の終了を待機する。メッセージM1004の送信後、メインタスク600は、サブタスク601からのリプライM1005を待機し、リプライM1005を受信したら、S815に進む。
【0046】
S815において、メインタスク600は、サブタスク601にメッセージM1002(印刷並行メンテナンス無効)を送信することにより、印刷並行メンテナンス動作の実施を無効化する。
【0047】
S816において、メインタスク600は、キャップ閉動作を行う。例えば、CPU120は、ローカルバス110とデバイスI/O125を経由して記録ヘッド制御部133及びモータ制御部134にキャップ閉動作の指示を行う。記録ヘッド制御部133の制御によりモータ211が駆動すると、記録ヘッド212は、図3の位置P1に移動する。モータ制御部134の制御によりモータ231が駆動すると、駆動切り替え装置232を経由してキャップ233が制御され、記録ヘッド232がキャップ233で保護される。S816の後、図8の処理を終了する。S810~S811とS814~S816は、図7のS718における2ページ目の印刷終了に対応する。
【0048】
図9及び図10は、サブタスク601の処理を示すフローチャートである。図9はサブタスク601の全体処理を示し、図10はサブタスク601の全体処理のうちの分岐処理を示す。図9及び図10のフローチャートを用いてサブタスク601の処理の詳細について説明する。図8のメインタスク600の説明と同様に、2ページ印刷を一例として説明する。ここで、サブタスク601は、1ページの印刷毎に起動および終了を繰り返す。
【0049】
1ページ目の処理について説明する。
【0050】
印刷が開始されるとサブタスク601が起動する。S901において、サブタスク601は、メインタスク600からのメッセージの受信を待機する。S902において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1001(印刷並行メンテナンス有効)であるか否かを判定する。受信したメッセージがメッセージM1001であると判定された場合はS903に進み、メッセージM1001でないと判定された場合はS901からの処理を繰り返す。
【0051】
S903において、サブタスク601は、キャップ233内のインク量の確認を行う。例えば、CPU120は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値を取得する。
【0052】
S904において、サブタスク601は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が予め定められた閾値を越えているか否かを判定する。閾値を超えていると判定された場合は、S905に進む。一方、閾値を越えていないと判定された場合は、S915に進む。例えば、図7のS703における印刷時メンテナンス動作によってキャップ内貯留インクカウンタ300のインク量を示すパラメータの値が閾値を超えた場合には、S905に進む。
【0053】
S904で閾値を超えていないと判定された場合、S915において、サブタスク601は、インク除去吸引動作進捗テーブル500の各パラメータを参照する。そして、S916において、サブタスク601は、インク除去吸引動作進捗テーブル500の各パラメータに保存されている値の有無を判定する。ここで、インク除去吸引動作進捗テーブル500の各パラメータに保存されている値があると判定された場合は、S908に進む。一方、保存されている値がないと判定された場合には、S917に進む。S915及びS916の処理については、2ページ目の処理において説明する。S917において、サブタスク601は、周期タイマで10ミリ秒程度の遅延を行ってから、S913に進む。
【0054】
S904で閾値を超えていると判定された場合、S905において、サブタスク601は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値のクリアを行う。例えば、CPU120は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値を初期値(例えばゼロ)にする。
【0055】
S906において、サブタスク601は、インク除去吸引動作シーケンスのパラメータの値を取得する。例えば、CPU120は、インク除去吸引動作シーケンステーブル400から、駆動速度401及び総駆動量402の値を取得する。
【0056】
S907において、サブタスク601は、S906で取得したインク除去吸引動作シーケンスのパラメータの値を、インク除去吸引動作進捗テーブル500に格納する。例えば、S907の処理によって、図5(b)に示すように、インク除去吸引動作進捗テーブル500の各パラメータの値が設定され、後段で行われるインク除去吸引動作の進行に伴って、図5(c)に示すように、各パラメータの値が減少していく。
【0057】
S908において、サブタスク601は、インク除去吸引動作を開始する。例えば、CPU120は、インク除去吸引動作進捗テーブル500に記憶されているパラメータに従って、ローカルバス110とI/O125を経由してモータ制御回路134に対して駆動命令を出す。そして、モータ制御回路134の制御によりモータ231が駆動し、駆動切り替え装置232を経由してポンプ234が駆動することで、キャップ233に貯留されたインクは、インク流路236を介して廃インク貯留部235に移動する。S909において、サブタスク601は、周期タイマを実行する。例えば、CPU120、若しくは不図示のリアルタイムクロックにより、10ミリ秒程度の遅延が行われる。
【0058】
S910において、サブタスク601は、メインタスク600から送信されたメッセージを受信するか、S908で開始されたインク除去吸引動作が終了しているか、のいずれかの条件を満たすことを確認する。いずれかの条件を満たすことが確認されれば、S911に進む。S911において、サブタスク601は、インク除去吸引動作が終了しているか否かの判定を行う。
【0059】
ここで、1ページ目の印刷がインク除去吸引動作より長い場合、メインタスク600からのメッセージの受信より先にインク除去吸引動作が終了する。従って、その場合には、S912に進む。一方、1ページ目の印刷がインク除去吸引動作より短い場合、インク除去吸引動作の終了より先にメインタスク600からのメッセージを受信する。従って、その場合には、図10の分岐処理に進む。
【0060】
1ページ目の印刷がインク除去吸引動作より長い場合について説明する。
【0061】
S912において、サブタスク601は、インク除去吸引動作進捗テーブル500の各パラメータの値をクリアする。例えば、CPU120は、インク除去吸引動作進捗テーブル500の各パラメータの値を初期値(例えばゼロ)にする。
【0062】
S913において、サブタスク601は、メインタスク600から送信されたメッセージを受信するか、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたか、のいずれの条件を満たすことを確認する。いずれかの条件を満たすことが確認されれば、S914に進む。S914において、サブタスク601は、確認された条件は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたことであるかの判定を行う。
【0063】
ここで、確認された条件は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたことであると判定された場合、S903からの処理を繰り返す。加算された結果のインク量が閾値を超えた場合には、S905からの処理が繰り返される。一方、加算された結果のインク量が閾値を超えていない場合には、インク除去吸引動作進捗テーブル500の各パラメータの値は既にクリアされているので、S916からS917を介してS913に進む。即ち、2ページ印刷における1ページ目の印刷がインク除去吸引動作より長い場合、予備吐出の実行に伴ってインク量を示すパラメータの値が加算されていくと、閾値を超えた場合にインク除去吸引動作が行われる。
【0064】
一方、確認された条件は、メインタスク600から送信されたメッセージを受信したことであると判定された場合、S926に進む。S926において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1002(印刷並行メンテナンス動作無効)であるか否かの判定を行う。
【0065】
図8のメインタスク600の処理で説明したように、2ページ印刷における1ページ目の印刷終了時の処理では、インク除去吸引動作の終了後、メインタスク600からメッセージM1003(印刷並行メンテナンス動作停止)、メッセージM1002(印刷並行メンテナンス動作無効)の順にメッセージを受信する。従って、先に受信するのは、メッセージM1003であるのでS927に進む。
【0066】
S927において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1003(印刷並行メンテナンス動作停止)であるか、またはメッセージM1004(印刷並行メンテナンス動作終了待ち)であるかの判定を行う。ここでは、メインタスク600から受信したメッセージはメッセージM1003であるので、S928に進む。
【0067】
S928において、サブタスク601は、メインタスク600にリプライM1005を送信し、S913からの処理を繰り返す。S913において、サブタスク601は、メインタスク600からのメッセージM1002(印刷並行メンテナンス動作無効)を受信するので、S914の後、S926においてメッセージM1002(印刷並行メンテナンス動作無効)を受信したと判定される。そして、サブタスク601の処理を終了し、1ページ目の印刷を終了する。
【0068】
次に、1ページ目の印刷がインク除去吸引動作より短い場合について説明する。
【0069】
上述したように、1ページ目の印刷がインク除去吸引動作より短い場合、インク除去吸引動作の終了より先にメインタスク600からのメッセージを受信する。図8のメインタスク600で説明したように、2ページ印刷における1ページ目の印刷終了時の処理では、インク除去吸引動作が終了する前にメッセージM1003(印刷並行メンテナンス動作停止)を受信する。
【0070】
1ページ目の印刷がインク除去吸引動作より短い場合には、図10の分岐処理が行われる。図10のS918において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1004(印刷並行メンテナンス動作終了待ち)であるか否かを判定する。ここでは、メッセージM1003を受信しているので、メッセージM1004ではないと判定され、S922に進む。
【0071】
S922において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1003(印刷並行メンテナンス動作停止)であるか否かを判定する。ここでは、メッセージM1003を受信しているので、S923に進む。
【0072】
S923において、サブタスク601は、インク除去吸引動作を停止させる。例えば、CPU120は、ローカルバス110とI/O125を経由してモータ制御回路134に対して駆動命令を出す。そして、モータ制御回路134の制御によりモータ231が停止する。
【0073】
S924において、サブタスク601は、インク除去吸引動作進捗テーブル500の各パラメータの値の更新を行う。例えば、CPU120は、モータ231から不図示のエンコーダなどを用いて動作済みの駆動量を取得し、その取得した動作済みの駆動量に基づいてインク除去吸引動作進捗テーブル500の各パラメータの値を更新する。例えば、駆動量502の値から、動作済みの駆動量を減算することによって更新を行う。S925において、サブタスク601は、メインタスク600にリプライM1005を送信し、S913に進む。
【0074】
その後、S913において、サブタスク601は、メインタスク600からのメッセージM1002(印刷並行メンテナンス動作無効)を受信するので、S914の後、S926においてメッセージM1002を受信したと判定される。そして、サブタスク601の処理を終了し、1ページ目の印刷を終了する。
【0075】
上記のように、1ページ目の印刷がインク除去吸引動作より短い場合には、S911から図10の分岐処理を介してS913に進む。そのため、S912におけるインク除去吸引動作進捗テーブル500の各パラメータのクリアは行われず、S924における値の更新が行われる。本実施形態では、そのような構成により、1ページ目の印刷がインク除去吸引動作より短いことにより中断された残りの分のインク除去吸引動作について記憶することができる。記憶された残りの分のインク除去吸引動作については、2ページ目の処理と並行して行われる。
【0076】
次に、2ページ目の処理について説明する。
【0077】
印刷を開始すると、1ページ目の場合と同様にサブタスク601が起動する。S901からS904までは1ページ目における説明と同様である。また、S904でキャップ内貯留インクカウンタ300のインク量を示すパラメータの値が予め定められた閾値を越えていると判定された場合は、S911までは1ページ目における説明と同様である。
【0078】
S904でキャップ内貯留インクカウンタ300のインク量を示すパラメータの値が予め定められた閾値を越えていないと判定された場合はS915に進む。S915において、サブタスク601は、インク除去吸引動作進捗テーブル500の各パラメータを参照し、S916において、インク除去吸引動作進捗テーブル500の各パラメータに保存されている値の有無を判定する。ここで、インク除去吸引動作進捗テーブル500の各パラメータに保存されている値が初期値以外の値であれば、保存されている値があると判定する。保存されている値がないと判定された場合、S917に進む。S917の後の処理は、1ページ目における説明と同様である。一方、インク除去吸引動作進捗テーブル500の各パラメータに保存されている値があると判定された場合は、S908に進む。
【0079】
ここで、インク除去吸引動作進捗テーブル500の各パラメータに保存されている値があると判定された場合について説明する。
【0080】
S908において、サブタスク601は、保存されている駆動速度501および駆動量502の値を用いてインク除去吸引動作を開始する。S911までは、1ページ目における説明と同じである。S911において、サブタスク601は、インク除去吸引動作が終了しているか否かの判定を行う。2ページ目の印刷がインク除去吸引動作より長い場合は、メインタスク600からメッセージを受信するより先にインク除去吸引動作が終了するので、S912に進む。一方、2ページ印刷における2ページ目の印刷がインク除去吸引動作より短い場合は、図8のメインタスク600で説明したように、メインタスク600からメッセージM1004(印刷並行メンテナンス動作終了待ち)を受信する。従って、その場合、図10のS918からS919に進む。
【0081】
このように、本実施形態では、1ページ目の印刷がインク除去吸引動作より短いことにより中断された残りの分のインク除去吸引動作について、後続ページである2ページ目の処理と並行して行うことができる。
【0082】
2ページ目の印刷がインク除去吸引動作より長い場合について説明する。
【0083】
図8で説明したように、2ページ印刷における2ページ目の印刷終了時の処理では、インク除去吸引動作の終了後、メインタスク600からメッセージM1004(印刷並行メンテナンス動作終了待ち)、メッセージM1002(印刷並行メンテナンス動作無効)の順にメッセージを受信する。
【0084】
S912において、サブタスク601は、インク除去吸引動作進捗テーブル500の各パラメータの値をクリアする。例えば、CPU120は、インク除去吸引動作進捗テーブル500の各パラメータの値を初期値(例えばゼロ)にする。
【0085】
S913において、サブタスク601は、メインタスク600から送信されたメッセージを受信するか、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたか、のいずれの条件を満たすことを確認する。いずれかの条件を満たすことが確認されれば、S914に進む。S914において、サブタスク601は、確認された条件は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたことであるかの判定を行う。
【0086】
ここで、確認された条件は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたことであると判定された場合、S903からの処理を繰り返す。一方、確認された条件は、メインタスク600から送信されたメッセージを受信したことであると判定された場合、S926に進む。
【0087】
S926において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1002(印刷並行メンテナンス動作無効)であるか否かの判定を行う。
【0088】
図8のメインタスク600の処理で説明したように、2ページ印刷における2ページ目の印刷終了時の処理では、インク除去吸引動作の終了後、メインタスク600からメッセージM1004(印刷並行メンテナンス動作終了待ち)、メッセージM1002(印刷並行メンテナンス動作無効)の順にメッセージを受信する。従って、先に受信するのは、メッセージM1004であるので、S927に進む。
【0089】
S927において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1003(印刷並行メンテナンス動作停止)であるか、またはメッセージM1004(印刷並行メンテナンス動作終了待ち)であるかの判定を行う。ここでは、メインタスク600から受信したメッセージはメッセージM1004であるので、S913に進む。
【0090】
S913において、サブタスク601は、メインタスク600からのメッセージM1002(印刷並行メンテナンス動作無効)を受信するので、S914の後、S926においてメッセージM1002を受信したと判定される。そして、サブタスク601の処理を終了し、2ページ目の印刷を終了する。
【0091】
次に、2ページ目の印刷がインク除去吸引動作より短い場合について説明する。
【0092】
2ページ目の印刷がインク除去吸引動作より短い場合には、S911から図10の分岐処理が行われる。図10のS918において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1004(印刷並行メンテナンス動作終了待ち)であるか否かを判定する。2ページ印刷における2ページ目の印刷終了時の処理では、インク除去吸引動作が終了する前にメッセージM1004(印刷並行メンテナンス動作終了待ち)を受信するので、S919に進む。
【0093】
S919において、サブタスク601は、インク除去吸引動作を完了させる。S920において、サブタスク601は、インク除去吸引動作進捗テーブル500の各パラメータの値をクリアする。例えば、CPU120は、インク除去吸引動作進捗テーブル500の各パラメータの値を初期値(例えばゼロ)にする。S921において、サブタスク601は、メインタスク600にリプライM1005を送信し、S913に進む。
【0094】
その後、S913において、サブタスク601は、メインタスク600からメッセージM1002(印刷並行メンテナンス動作無効)を受信するので、S914の後、S926においてメッセージM1002を受信したと判定される。そして、サブタスク601の処理を終了し、2ページ目の印刷を終了する。
【0095】
図9のS908~S912は、図7のS704、S713における印刷並行メンテナンス動作に対応する。また、S923~S924は、図7のS706における中断処理に対応し、S919~S920は、図7のS715における印刷並行メンテナンス動作の完了に対応する。
【0096】
以上のように、本実施形態によれば、一つのページの印刷がインク除去吸引動作より短い場合にその一つのページの印刷が終了したときに後続ページ(例えば、2ページ目)があれば、印刷並行メンテナンス動作を中断させる。また、中断による残りの印刷並行メンテナンス動作は、後続ページの印刷と並行して行われる。そのような構成により、印刷並行メンテナンス動作によって、印刷処理の全体の進行が遅くなってしまうことを防ぐことができる。
【0097】
[第2実施形態]
以下、第1実施形態と異なる点について第2実施形態について説明する。図11は、本実施形態におけるインク除去吸引動作シーケンステーブル1100の一例を示す図である。また、図12は、本実施形態におけるインク除去吸引動作進捗テーブル1200の一例を示す図である。インク除去吸引動作シーケンステーブル1100とインク除去吸引動作進捗テーブル1200は、例えば、制御系システム100のROM121やRAM122に記憶される。
【0098】
本実施形態では、インク除去吸引動作シーケンステーブル1100とインク除去吸引動作進捗テーブル1200は同じデータ構造を持たない。インク除去吸引動作シーケンステーブル1100では、メンテナンス動作が複数の駆動単位(ステップ動作)に細分化されたデータ構造であり、ステップ1101、駆動速度1102、駆動量1103のパラメータを持つ。インク除去吸引動作進捗テーブル1200では、インク除去吸引動作シーケンステーブル1100のステップ1101に格納されているステップ番号のうち未実施のステップ番号で最も小さいステップ番号がシーケンス進捗1201に格納される。
【0099】
図13及び図14は、サブタスク601の処理を示すフローチャートである。図13はサブタスク601の全体処理を示し、図14はサブタスク601の全体処理のうちの分岐処理を示す図である。図13及び図14のフローチャートを用いてサブタスク601の処理の詳細について説明する。以下、2ページ印刷を一例として説明する。ここで、サブタスク601は1ページの印刷毎に起動、および終了を繰り返す。
【0100】
1ページ目の処理について説明する。
【0101】
印刷が開始されるとサブタスク601が起動する。S1301において、サブタスク601は、メインタスク600からのメッセージの受信を待機する。S1302において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1001(印刷並行メンテナンス有効)であるか否かを判定する。受信したメッセージがメッセージM1001であると判定された場合はS1303に進み、メッセージM1001でないと判定された場合はS1301からの処理を繰り返す。
【0102】
S1303において、サブタスク601は、キャップ233内のインク量の確認を行う。例えば、CPU120は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値を取得する。
【0103】
S1304において、サブタスク601は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が予め定められた閾値を越えているか否かを判定する。閾値を超えていると判定された場合は、S1305に進む。一方、閾値を超えていないと判定された場合は、S1314に進む。例えば、図7のS703における印刷時メンテナンス動作によってキャップ内貯留インクカウンタ300のインク量を示すパラメータの値が閾値を超えた場合には、S1305に進む。
【0104】
S1304で閾値を超えていないと判定された場合、S1314において、サブタスク601は、インク除去吸引動作進捗テーブル500の各パラメータを参照する。そして、S1315において、サブタスク601は、インク除去吸引動作進捗テーブル500の各パラメータに保存されている値の有無を判定する。ここで、インク除去吸引動作進捗テーブル500の各パラメータに保存されている値があると判定された場合は、S1308に進む。一方、保存されている値がないと判定された場合には、S1316に進む。S1314及びS1315の処理については、2ページ目の処理において説明する。S1316において、サブタスク601は、周期タイマで10ミリ秒程度の遅延を行ってから、S1312に進む。
【0105】
S1304で閾値を超えていると判定された場合、S1305において、サブタスク601は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値のクリアを行う。例えば、CPU120は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値を初期値(例えばゼロ)にする。
【0106】
S1306において、サブタスク601は、インク除去吸引動作進捗テーブル1200のパラメータの値をクリアする。例えば、CPU120は、インク除去吸引動作進捗テーブル1200のシーケンス進捗1201の値を初期化(例えばゼロ)する。クリアされた値は、インク除去吸引動作シーケンステーブル1100のステップ1101の最も小さいステップ番号に対応する。図12(a)は、インク除去吸引動作進捗テーブル1200のパラメータの値が初期化された状態の一例を示す図である。
【0107】
S1307において、サブタスク601は、インク除去吸引動作のシーケンスのパラメータを取得する。例えば、CPU120は、インク除去吸引動作シーケンステーブル1100から、ステップ1101、駆動速度1102、駆動量1103の値を取得する。
【0108】
S1308において、サブタスク601は、インク除去吸引動作のステップを実行する。例えば、CPU120は、インク除去吸引動作進捗テーブル1200のシーケンス進捗1201に格納されたステップ番号を取得する。そして、インク除去吸引動作シーケンステーブル1100のステップ1101のステップ番号のうち、取得されたステップ番号に該当する駆動速度1102と駆動量1103を取得する。そして、CPU120は、ローカルバス110とI/O125を経由してモータ制御部134に対して駆動命令を出す。モータ制御部134の制御によりモータ231が駆動し、駆動切り替え装置232を経由してポンプ234が駆動することで、キャップ233に貯留されたインクは、インク流路236を経由して廃インク貯留部235に移動する。
【0109】
S1309において、サブタスク601は、メインタスク600から送信されたメッセージを受信するか、S1308におけるインク除去吸引動作のステップの実行が終了しているか、のいずれかの条件を満たすことを確認する。いずれかの条件を満たすことが確認されれば、S1310に進む。S1310において、サブタスク601は、インク除去吸引動作の全てのステップが終了しているか否かの判定を行う。
【0110】
例えば、インク除去吸引動作の全てのステップが終了しておらず、また、メインタスク600からのメッセージも受信していない場合は、図14の分岐処理に進む。図14のS1317において、サブタスク601は、メインタスク600から送信されたメッセージがメッセージM1004(印刷並行メンテナンス動作終了待ち)であるか否かを判定する。ここでは、メインタスクからのメッセージを受信していないので、メッセージM1004でないと判定されてS1321に進む。S1321において、サブタスク601は、メインタスク600から送信されたメッセージがメッセージM1003(印刷並行メンテナンス動作停止)であるか否かを判定する。ここでは、メインタスクからのメッセージを受信していないので、メッセージM1003でないと判定されてS1325に進む。S1325において、サブタスク601は、インク除去吸引動作進捗テーブル1200のシーケンス進捗1201の値に1加算する。その後、S1308に戻り、次のステップ番号に対応するインク除去吸引動作が実行される。
【0111】
1ページ目の印刷がインク除去吸引動作より長い場合は、メインタスク600からのメッセージ受信より先にインク除去吸引動作の全てのステップが終了する。従って、その場合には、S1310からS1311に進む。一方、1ページ目の印刷がインク除去吸引動作より短い場合、インク除去吸引動作の全てのステップの終了より先にメインタスク600からのメッセージを受信する。従って、その場合には、S1310から図14の分岐処理に進む。
【0112】
1ページ目の印刷がインク除去吸引動作より長い場合について説明する。
【0113】
S1311において、サブタスク601は、インク除去吸引動作進捗テーブル1200のパラメータの値をクリアする。例えば、CPU120は、インク除去吸引動作進捗テーブル1200のシーケンス進捗1201の値を初期値(例えばゼロ)にする。
【0114】
S1312において、サブタスク601は、メインタスク600から送信されたメッセージを受信するか、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたか、のいずれの条件を満たすことを確認する。いずれかの条件を満たすことが確認されれば、S1313に進む。S1313において、サブタスク601は、確認された条件は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたことであるかの判定を行う。
【0115】
ここで、確認された条件は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたことであると判定された場合、S1303からの処理を繰り返す。一方、確認された条件は、メインタスク600から送信されたメッセージを受信したことであると判定された場合、S1326に進む。
【0116】
S1326において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1002(印刷並行メンテナンス動作無効)であるか否かの判定を行う。
【0117】
図8のメインタスク600の処理で説明したように、2ページ印刷における1ページ目の印刷終了時の処理では、インク除去吸引動作(全てのステップ)の終了後、メインタスク600からメッセージM1003(印刷並行メンテナンス動作停止)、メッセージM1002(印刷並行メンテナンス動作無効)の順にメッセージを受信する。従って、先に受信するのは、メッセージM1003であるのでS1327に進む。
【0118】
S1327において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1003(印刷並行メンテナンス動作停止)であるか、またはメッセージM1004(印刷並行メンテナンス動作終了待ち)であるかの判定を行う。ここでは、メインタスク600から受信したメッセージはメッセージM1003であるので、S1328に進む。
【0119】
S1328において、サブタスク601は、メインタスク600にリプライM1005を送信し、S1312からの処理を繰り返す。S1312において、サブタスク601は、メインタスク600からのメッセージM1002(印刷並行メンテナンス動作無効)を受信する。そのため、S1313の後、S1326においてメッセージM1002(印刷並行メンテナンス動作無効)を受信したと判定される。そして、サブタスク601の処理を終了し、1ページ目の印刷を終了する。
【0120】
次に、1ページ目の印刷がインク除去吸引動作より短い場合について説明する。
【0121】
上述したように、1ページの印刷がインク除去吸引動作より短い場合、インク除去吸引動作の全てのステップの終了より先にメインタスク600からのメッセージを受信する。図8のメインタスク600で説明したように、2ページ印刷における1ページ目の印刷終了時の処理では、インク除去吸引動作(即ち全てのステップ)が終了する前にメッセージM1003(印刷並行メンテナンス動作停止)を受信する。
【0122】
1ページ目の印刷がインク除去吸引動作より短い場合には、図14の分岐処理が行われる。図14のS1317において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1004(印刷並行メンテナンス動作終了待ち)であるか否かを判定する。ここでは、メッセージM1003を受信しているので、メッセージM1004ではないと判定され、S1321に進む。
【0123】
S1321において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1003(印刷並行メンテナンス動作停止)であるか否かを判定する。ここでは、メッセージM1003を受信しているので、S1322に進む。
【0124】
S1322において、サブタスク601は、インク除去吸引動作のステップ実行を完了させる。S1323において、サブタスク601は、インク除去吸引動作進捗テーブル1200のパラメータの更新を行う。例えば、CPU120は、インク除去吸引動作シーケンステーブル1100のステップ1101のステップ番号のうち実施済みステップの次のステップ番号を取得する。そして、その取得したステップ番号に基づいて、インク除去吸引動作進捗テーブル1200のシーケンス進捗1201を更新する。図12(b)は、シーケンス進捗1201の値が更新された一例を示す図である。S1324において、サブタスク601は、メインタスク600にリプライM1005を送信し、S1312に進む。
【0125】
その後、S1312において、サブタスク601は、メインタスク600からのメッセージM1002(印刷並行メンテナンス動作無効)を受信するので、S1313の後、S1326においてメッセージM1002を受信したと判定される。そして、サブタスク601の処理を終了し、1ページ目の印刷を終了する。
【0126】
次に、2ページ目の処理について説明する。
【0127】
印刷を開始すると、1ページ目の場合と同様にサブタスク610が起動する。S1301からS1304までは1ページ目における説明と同様である。また、S1304でキャップ内貯留インクカウンタ300のインク量を示すパラメータの値が予め定められた閾値を越えていると判定された場合は、S1310までは1ページ目における説明と同様である。
【0128】
キャップ内貯留インクカウンタ300のインク量が予め定められた閾値を越えていないと判定された場合はS1314に進む。S1314において、サブタスク601は、インク除去吸引動作進捗テーブル1200を参照し、S1315において、インク除去吸引動作進捗テーブル1200のパラメータに保存されている値の有無を判定する。ここで、インク除去吸引動作進捗テーブル1200に保存されている値が初期値以外の値であれば、保存されている値があると判定する。保存されている値がないと判定された場合、S1316に進む。S1316の後の処理は、1ページ目における説明と同様である。一方、インク除去吸引動作進捗テーブル1200のシーケンス進捗1201のパラメータに保存されている値があると判定された場合は、S1308に進む。
【0129】
ここで、インク除去吸引動作進捗テーブル1200のシーケンス進捗1201のパラメータに保存されている値があると判定された場合について説明する。
【0130】
S1308において、サブタスク601は、シーケンス進捗1201の値に基づいて、インク除去吸引動作のステップを実行する。S1310までは、1ページ目における説明と同じである。S1310において、サブタスク601は、インク除去吸引動作の全てのステップが終了しているか否かの判定を行う。インク除去吸引動作の全てのステップが終了しておらず、また、メインタスク600からのメッセージも受信していない場合は1ページ目における説明と同じである。
【0131】
2ページ目の印刷がインク除去吸引動作より長い場合は、メインタスク600からメッセージを受信するより先にインク除去吸引動作の全てのステップの実行が終了するので、S1310からS1311に進む。一方、2ページ印刷における2ページ目の印刷がインク除去吸引動作より短い場合は、図8のメインタスク600で説明したように、メインタスク600からのメッセージM1004(印刷並行メンテナンス動作終了待ち)を受信する。従って、図14のS1317からS1318に進む。
【0132】
2ページ目の印刷がインク除去吸引動作より長い場合について説明する。
【0133】
図8で説明したように、2ページ印刷における2ページ目の印刷終了時の処理では、インク除去吸引動作の全てのステップの終了後、メインタスク600からメッセージM1004(印刷並行メンテナンス動作終了待ち)、メッセージM1002(印刷並行メンテナンス動作無効)の順にメッセージを受信する。
【0134】
S1311において、サブタスク601は、インク除去吸引進捗テーブル1200のパラメータの値をクリアする。例えば、CPU120は、インク除去吸引動作進捗テーブル1200のシーケンス進捗1201の値を初期値(例えばゼロ)にする。
【0135】
S1312において、サブタスク601は、メインタスク600から送信されたメッセージを受信するか、キャップ内貯留インクカウンタ300のインク量を示すパラメータが加算されたか、のいずれの条件を満たすことを確認する。いずれかの条件を満たすことが確認されれば、S1313に進む。S1313において、サブタスク601は、確認された条件は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたことであるかの判定を行う。
【0136】
ここで、確認された条件は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が加算されたことであると判定された場合、S1303からの処理を繰り返す。一方、確認された条件は、メインタスク600から送信されたメッセージを受信したことであると判定された場合、S1326に進む。
【0137】
S1326において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1002(印刷並行メンテナンス動作無効)であるか否かの判定を行う。
【0138】
図8のメインタスク600の処理で説明したように、2ページ印刷における2ページ目の印刷終了時の処理では、インク除去吸引動作(全てのステップ)の終了後、メインタスク600からメッセージM1004(印刷並行メンテナンス動作終了待ち)、メッセージM1002(印刷並行メンテナンス動作無効)の順にメッセージを受信する。従って、先に受信するのはメッセージM1004であるので、S1327に進む。
【0139】
S1327において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1003(印刷並行メンテナンス動作停止)であるか、またはメッセージM1004(印刷並行メンテナンス動作終了待ち)であるかの判定を行う。ここでは、メインタスク600から受信したメッセージはメッセージM1004(印刷並行メンテナンス動作終了待ち)であるので、S1312に進む。
【0140】
S1312において、サブタスク601は、メインタスク600からのメッセージM1002(印刷並行メンテナンス動作無効)を受信するので、S1313の後、S1326においてメッセージM1002を受信したと判定される。そして、サブタスク601の処理を終了し、2ページ目の印刷を終了する。
【0141】
次に、2ページ目の印刷がインク除去吸引動作より短い場合について説明する。
【0142】
2ページ目の印刷がインク除去吸引動作より短い場合には、S1310から図14の分岐処理が行われる。図14のS1317において、サブタスク601は、メインタスク600から受信したメッセージがメッセージM1004(印刷並列メンテナンス動作終了待ち)であるか否かを判定する。2ページ印刷における2ページ目の印刷終了時の処理では、インク除去吸引動作の全てのステップが終了する前にメッセージM1004(印刷並行メンテナンス動作終了待ち)を受信するので、S1318に進む。
【0143】
S1318において、サブタスク601は、インク除去吸引動作の残りのステップの実行を完了させる。そして、S1319において、サブタスク601は、インク除去吸引動作進捗テーブル1200のパラメータの値をクリアする。例えば、CPU120は、インク除去吸引動作進捗テーブル1200のシーケンス進捗1201の値を初期値(例えばゼロ)にする。S1320において、サブタスク601は、メインタスク600にリプライM1005を送信し、S1312に進む。
【0144】
その後、S1312において、サブタスク601は、メインタスク600からメッセージM1002(印刷並行メンテナンス動作無効)を受信するので、S1313の後、S1326においてメッセージM1002を受信したと判定される。そして、サブタスク601の処理を終了し、2ページ目の印刷を終了する。
【0145】
S1308~S1311は、図7のS704、S713における印刷並行メンテナンス動作に対応する。また、S1322~S1323は、図7のS706における中断処理に対応し、S1318~S1319は、図7のS715における印刷並行メンテナンス動作の完了に対応する。
【0146】
以上のように、本実施形態によれば、印刷並行メンテナンス動作は、複数のステップに細分化されて実行される。一つのページの印刷がインク除去吸引動作より短い場合に、後続ページ(例えば、2ページ目)があれば、その時点で行われていた印刷並行メンテナンス動作のステップを完了させ、その後続のステップの実行を行わないよう制御する。また、残りのステップについての印刷並行メンテナンス動作は、後続ページの印刷と並行して行われる。そのような構成により、印刷並行メンテナンス動作によって、印刷処理の全体の進行が遅くなってしまうことを防ぐことができる。
【0147】
[第3実施形態]
以下、第1及び第2実施形態と異なる点について説明する。本実施形態では、連続印刷の途中で印刷がキャンセルされた場合の処理について説明する。連続印刷の途中で印刷がキャンセルされると、例えば、キャップ233内にインクが残った状態、あるいはインク除去吸引動作が中断された状態となる。本実施形態では、一例として、2ページ印刷における1ページ目の印刷終了後に印刷がキャンセルされた場合の処理について説明する。本実施形態では、メインタスク600は、キャンセル指示を受け付けると、サブタスク601にメッセージM1003(印刷並行メンテナンス動作停止)を送信する。そのとき、印刷並行メンテナンス動作の実行中であれば、サブタスク601は、第1実施形態で説明したような中断処理、もしくは、第2実施形態で説明したような実行中の印刷並行メンテナンス動作のステップの完了処理を行う。
【0148】
図8のS813の処理が実行されると、図7のS709において1ページ目の印刷が終了する。このタイミングで印刷がキャンセルされると、サブタスク600は、図15の処理を開始する。
【0149】
図15は、サブタスク601の処理を示すフローチャートである。S1501において、サブタスク601は、キャップ233内のインク量の確認を行う。例えば、CPU120は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値を取得する。
【0150】
S1502において、サブタスク601は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値が予め定められた閾値を越えているか否かを判定する。閾値を超えていると判定された場合は、S1503に進む。なお、S1502で用いられる閾値は、図9のS904で用いられる閾値と同じでも良いし、異なっていても良い。S1502で閾値を超えていないと判定された場合は、S1509に進む。S1509に進む場合は後述する。
【0151】
S1503において、サブタスク601は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値のクリアを行う。例えば、CPU120は、キャップ内貯留インクカウンタ300のインク量を示すパラメータの値を初期値(例えばゼロ)にする。
【0152】
S1504において、サブタスク601は、インク除去吸引動作シーケンスのパラメータの値を取得する。例えば、CPU120は、インク除去吸引動作シーケンステーブル400から、駆動速度401や総駆動量402の値を取得する。
【0153】
S1505において、サブタスク601は、S1504で取得したインク除去吸引動作シーケンスのパラメータの値を、インク除去吸引動作進捗テーブル500に格納する。
【0154】
S1506において、サブタスク601は、インク除去吸引動作を実行する。例えば、CPU120は、インク除去吸引動作進捗テーブル500もしくは1200に記憶されているパラメータの値に従って、ローカルバス110とデバイスI/O125を経由してモータ制御部134に対して駆動命令を出す。そして、モータ制御部134の制御によりモータ231が駆動し、駆動切り替え装置232を経由してポンプ234が駆動することで、キャップ233に貯留されたインクは、インク流路236を介して廃インク貯留部235に移動する。本実施形態では、S1506のインク除去吸引動作は、中断せず、完了するまで実行される。
【0155】
S1507において、サブタスク601は、インク除去吸引動作進捗テーブル500もしくは1200をクリアする。例えば、CPU120は、インク除去吸引動作進捗テーブル500もしくは1200の各パラメータの値を初期値(例えばゼロ)にする。
【0156】
S1508において、サブタスク601は、キャップ閉動作を行い、図15のキャンセル処理を終了する。例えば、CPU120は、モータ制御部134にキャップ閉動作の指示を行う。まず、記録ヘッド212は、モータ211によって駆動され、図3の位置P1に移動する。モータ制御部134の制御によりモータ231が駆動すると、駆動切り替え装置232を経由してキャップ233が制御され、記録ヘッド212がキャップ233により保護され、印刷動作を終了する。
【0157】
次に、S1502でキャップ内貯留インクカウンタ300のインク量を示すパラメータの値が予め定められた閾値を越えていないと判定された場合について説明する。その場合は、S1502からS1509に進む。
【0158】
S1509において、サブタスク601は、インク除去吸引動作進捗テーブル500もしくは1200の各パラメータを参照する。そして、S1510において、インク除去吸引動作進捗テーブル500もしくは1200の各パラメータに保存されている値の有無を判定する。ここで、インク除去吸引動作進捗テーブル500の各パラメータに保存されている値が初期値以外の値であれば、保存されている値があると判定する。インク除去吸引動作進捗テーブル500もしくは1200の各パラメータに保存されている値があると判定された場合、S1506に進み、サブタスク601は、保存されている駆動速度および駆動量の値を用いて、インク除去吸引動作を実行する。その後、S1507でインク除去吸引動作進捗テーブル500もしくは1200のクリアが実行され、S1508でキャップ閉動作が実行され、図15のキャンセル処理を終了する。なお、S1506では、インク除去吸引動作進捗テーブル500の駆動速度501および駆動量502の値を用いずに、インク除去吸引動作シーケンステーブル400の駆動速度401および総駆動量402の値を用いてインク除去吸引動作を実行しても良い。
【0159】
S1510でインク除去吸引動作進捗テーブル500もしくは1200の各パラメータに保存されている値がないと判定された場合、S1508に進み、キャップ閉動作が実行される。その後、図15のキャンセル処理を終了する。
【0160】
以上のように、本実施形態によれば、連続印刷の途中で印刷がキャンセルされた場合、キャップ内に貯留されたインクがあれば、その貯留されたインクに対してインク除去吸引動作を行うことができる。また、印刷がキャンセルされたことによる、残りのインク除去吸引動作があれば、その残りのインク除去吸引動作を行うことができる。
【0161】
以上の各実施形態において、図3のキャップ内貯留インクカウンタ300のインク量を示すパラメータとして、インク量を説明した。しかしながら、インク量を示すパラメータは、インク量以外であっても良い。例えば、図16のキャップ内貯留インクカウンタ1600のように、記録ヘッド212から吐出されたインク滴のドットカウントの値が格納されるようにしても良い。その場合、インク除去吸引動作の実施判定(S904、S1304、S1502)は、ドットカウントの値と閾値に基づいて行われても良い。
【0162】
また、複数ページの印刷中において、印刷と並行して実施することができないメンテナンス動作(例えば、記録ヘッドのノズル清掃)を行うケースがある。そのようなケースではそもそもページ間においてそのメンテナンス動作が行われるので、印刷処理の全体の進行は一旦止まることになる。従って、そのようなケースにおいては、前ページ(例えば、1ページ目)の印刷終了時に、実行中のインク除去吸引動作があれば、それを中断せずに完了させるようにしても良い。
【0163】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0164】
100 制御系システム: 120 CPU: 200 プリンタ: 212 記録ヘッド: 230 回復制御デバイス: 231 モータ: 233 キャップ: 234 ポンプ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16