(57)【要約】【課題】書き換え可能なデータ領域に記憶される処理データの一部が書き換えられたことに基づく誤作動を抑制できる情報処理装置、印刷装置及びデータ管理方法を提供する。【解決手段】コントローラーは、検査プログラムを記憶するＲＯＭと、ＲＯＭに記憶される検査プログラムが書き込まれる第１領域を有する第２メモリーと、第１領域の検査プログラムが書き換えられたか否かを判定する判定部１５０と、判定部１５０によって第１領域の検査プログラムが書き換えられていないと判定された場合に、検査プログラムに基づいたチェック処理を行う検査部１５２と、判定部１５０によって第１領域の検査プログラムが書き換えられたと判定された場合に、チェック処理とは異なる再書き込み処理を行うリード部１５１とを備えている。【選択図】図６
2012024957.tif 000002
【特許請求の範囲】
【請求項１】
処理データを記憶する第１の記憶手段と、
前記第１の記憶手段に記憶される前記処理データが書き込まれるデータ領域を有する第２の記憶手段と、
前記データ領域の処理データが書き換えられたか否かを判定する判定手段と、
前記判定手段によって前記データ領域の処理データが書き換えられていないと判定された場合に、前記データ領域に記憶される処理データに基づいた第１の処理を行う第１の処理手段と、
前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合に、前記第１の処理とは異なる第２の処理を行う第２の処理手段と、を備えることを特徴とする情報処理装置。
【請求項２】
出力手段による出力態様を制御する制御手段をさらに備え、
前記第２の処理手段は、前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合において、前記制御手段による前記出力手段の制御の終了後に、前記第１の記憶手段に記憶される処理データを前記データ領域に書き込む前記第２の処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記出力手段は、流体を収容する収容容器から供給された流体を一時的に貯留する貯留部と、前記収容容器から前記貯留部に流体を供給する際に駆動する供給装置と、前記貯留部から供給された流体を用いて印刷媒体に印刷を施す印刷ヘッドと、を有しており、
前記制御手段は、
前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合に、前記供給装置の駆動を禁止し、
この状態で前記貯留部内に貯留される流体の残量が多いと判定した場合には印刷媒体への印刷を行う一方、前記貯留部内に貯留される流体の残量が少ないと判定した場合には印刷媒体への印刷を中止することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記出力手段を駆動させるために必要な駆動データを他の情報処理装置から受信する通信手段をさらに備え、
前記第１の処理手段は、前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合には、前記第２の処理手段による前記第２の処理の終了後に前記第１の処理を行い、
前記通信手段は、前記第２の処理手段による前記第２の処理の開始前から前記出力手段を次回駆動させるために必要な駆動データの受信を開始していた場合には、前記第１の処理手段による前記第１の処理の終了後に、前記他の情報処理装置からの駆動データの再送信を要求することを特徴とする請求項２又は請求項３に記載の情報処理装置。
【請求項５】
前記第２の処理手段は、前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合に、前記第１の記憶手段に記憶される処理データを前記データ領域に書き込む前記第２の処理を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記第２の処理手段は、該第１の処理手段による前記第１の処理よりも優先順位の高い第３の処理が存在する場合には、該第３の処理の実行中に、前記第２の処理を行わないことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記第２の処理手段は、前記第３の処理の終了後に前記第２の処理を行い、
その後、前記第１の処理手段は、前記第１の処理を行った後、異常が発生した旨を報知する報知処理を行うことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
流体を用いて印刷媒体に印刷を行う出力手段を制御する情報処理装置であって、
前記第３の処理は、前記出力手段による流体の消費量を取得することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記処理データは、プログラムであることを特徴とする請求項１〜請求項８のうち何れか一項に記載の情報処理装置。
【請求項１０】
着脱可能な状態で装着された収容容器から供給された流体を貯留する貯留部、及び該貯留部から供給された流体を用いて印刷媒体に印刷を施す印刷ヘッドを有する出力手段と、
請求項１〜請求項９のうち何れか一項に記載の情報処理装置と、を備えることを特徴とする印刷装置。
【請求項１１】
処理データを記憶する第１の記憶手段と、前記第１の記憶手段に記憶される前記処理データが書き込まれるデータ領域を有する第２の記憶手段とを備えた情報処理装置におけるデータ管理方法であって、
前記データ領域の処理データが書き換えられたか否かを判定させる判定ステップと、
前記判定ステップで前記データ領域の処理データが書き換えられていないと判定した場合に、前記第２の記憶手段の前記データ領域の処理データに基づいた第１の処理を行わせる第１のステップと、
前記判定ステップで前記データ領域の処理データが書き換えられたと判定した場合には、前記第１の処理とは異なる第２の処理を行わせる第２のステップと、を有することを特徴とするデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、該情報処理装置を備える印刷装置に関する。また、本発明は、情報処理装置におけるデータ管理方法に関する。
【背景技術】
【０００２】
従来、印刷媒体に印刷を施す大型の印刷装置として、例えば特許文献１に記載の印刷装置が提案されている。この印刷装置は、複数の印刷ヘッドと、該各印刷ヘッドに個別対応する駆動制御部とを備えている。こうした各印刷ヘッド及び各駆動制御部は、１つのキャリッジにそれぞれ搭載されている。また、印刷装置の本体には、各駆動制御部に個別対応する複数のデータ処理部と、該各データ処理部を統括して制御する主制御部とが設けられている。データ処理部は、個別対応する駆動制御部にデータを転送する。すなわち、上記印刷装置は、１つの駆動制御部と１つのデータ処理部とを１組とする回路セットを印刷ヘッド毎に設けた構成である。
【０００３】
ところで、印刷装置では、一般的に、インクが収容されるインクカートリッジ（収容容器）が交換された場合には、該インクカートリッジが不適切カートリッジであるか否かが検査される。不適切カートリッジとは、空インクのインクカートリッジなどの使用不能なカートリッジを指すものではなく、印刷に使用できるものの印刷品質を保証する観点から適切ではないインクカートリッジを示している。例えば使用期限が過ぎたインクカートリッジが「不適切カートリッジ」に該当する。こうした検査時に実行される検査プログラム（処理データ）は、ＲＡＭなどで構成される所定のデータ領域に書き込まれている。
【０００４】
なお、印刷装置には、不揮発性のメモリーなどで構成される記憶手段が設けられており、該記憶手段には、上記検査プログラムを含め複数種類のプログラムが記憶されている。そして、印刷装置の電源がオンになった場合に、記憶手段に記憶される検査プログラムが、上記データ領域に書き込まれる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２５５５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、検査プログラムが書き込まれるデータ領域には、通常、印刷時に必要な印刷データなどが書き込まれることはない。しかしながら、印刷装置を制御するためのプログラムに、バグが潜んでいる可能性がある。こうしたバグによって予期せぬ事態が発生した場合には、上記データ領域に検査プログラムではない他のデータが書き込まれ、検査プログラムが壊れるおそれがある。特に、データ領域がＲＡＭの先頭アドレスから設定されている場合には、バグによって、データ領域に他のデータが書き込まれる可能性が高い。
【０００７】
インクカートリッジが交換されない間では、インクカートリッジの検査が行われないため、印刷装置が正常に動作する。しかし、インクカートリッジが交換され、上記検査を行う場合には、少なくとも一部が書き換えられた検査プログラムに基づいた処理が行われるため、印刷装置が誤作動を起こす可能性があった。
【０００８】
なお、こうした問題は、印刷装置を制御する情報処理装置に限らず、書き換え可能な記憶手段に書き込まれるデータに基づいた処理を行う情報処理装置であれば、印刷装置以外の他の装置を制御する情報処理装置でも発生し得る。
【０００９】
本発明は、上記問題点に鑑みてなされたものであり、その目的は、書き換え可能なデータ領域に記憶される処理データの一部が書き換えられたことに基づく誤作動を抑制できる情報処理装置、印刷装置及びデータ管理方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の情報処理装置は、処理データを記憶する第１の記憶手段と、前記第１の記憶手段に記憶される前記処理データが書き込まれるデータ領域を有する第２の記憶手段と、前記データ領域の処理データが書き換えられたか否かを判定する判定手段と、前記判定手段によって前記データ領域の処理データが書き換えられていないと判定された場合に、前記データ領域に記憶される処理データに基づいた第１の処理を行う第１の処理手段と、前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合に、前記第１の処理とは異なる第２の処理を行う第２の処理手段と、を備える。
【００１１】
上記構成によれば、データ領域に書き込まれた処理データが書き換えられた場合には、データ領域に書き込まれているデータに基づいた第１の処理を行わずに、第２の処理が行われる。そのため、書き換え可能なデータ領域に記憶される処理データの一部が書き換えられたことに基づく誤作動を抑制できる。
【００１２】
本発明の情報処理装置は、出力手段による出力態様を制御する制御手段をさらに備え、前記第２の処理手段は、前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合において、前記制御手段による前記出力手段の制御の終了後に、前記第１の記憶手段に記憶される処理データを前記データ領域に書き込む前記第２の処理を行う。
【００１３】
制御手段による出力手段の制御中に、データ領域に書き込まれた処理データが書き換えられる可能性がある。そのため、制御手段による出力手段の制御中に、第１の記憶手段に記憶される処理データをデータ領域に再度書き込ませたとしても、データ領域に書き込まれた処理データが再度書き換えられる可能性がある。そこで、本発明では、制御手段による出力手段の制御終了後に、第１の記憶手段に記憶される処理データがデータ領域に再度書き込まれる。この状態でデータ領域の処理データに基づいた第１の処理を行うことにより、情報処理装置を正常に動作させることができる。
【００１４】
本発明の情報処理装置において、前記出力手段は、流体を収容する収容容器から供給された流体を一時的に貯留する貯留部と、前記収容容器から前記貯留部に流体を供給する際に駆動する供給装置と、前記貯留部から供給された流体を用いて印刷媒体に印刷を施す印刷ヘッドと、を有しており、前記制御手段は、前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合に、前記供給装置の駆動を禁止し、この状態で前記貯留部内に貯留される流体の残量が多いと判定した場合には印刷媒体への印刷を行う一方、前記貯留部内に貯留される流体の残量が少ないと判定した場合には印刷媒体への印刷を中止する。
【００１５】
上記構成によれば、データ領域の処理データが書き換えられた場合には、供給装置の駆動が停止され、収容容器から貯留部に流体が供給されなくなる。すると、貯留部に貯留される流体を用いて印刷媒体に印刷を行うことになる。しかし、印刷に必要な流体量によっては、貯留部に貯留される流体だけでは印刷を完了させることができないおそれがある。この場合、印刷媒体への印刷が中止される。そのため、印刷媒体への印刷が中途半端な状態で中断される可能性を抑制できる。
【００１６】
本発明の情報処理装置は、前記出力手段を駆動させるために必要な駆動データを他の情報処理装置から受信する通信手段をさらに備え、前記第１の処理手段は、前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合には、前記第２の処理手段による前記第２の処理の終了後に前記第１の処理を行い、前記通信手段は、前記第２の処理手段による前記第２の処理の開始前から前記出力手段を次回駆動させるために必要な駆動データの受信を開始していた場合には、前記第１の処理手段による前記第１の処理の終了後に、前記他の情報処理装置からの駆動データの再送信を要求する。
【００１７】
上記構成によれば、データ領域の処理データが書き換えられた場合には、第１の記憶手段に記憶される処理データがデータ領域に再度書き込まれ（第２の処理）、該処理データに基づいた第１の処理が行われる。このとき、他の情報処理装置からの駆動データの受信を第２の処理の開始前から行っていた場合には、処理データをデータ領域に再度書き込ませたことによって、受信した駆動データの少なくとも一部が書き換えられた可能性がある。そのため、データ領域に再度書き込まれた処理データに基づいた第１の処理の実行後には、他の情報処理装置に対して駆動データの再送信が要求される。そして、再送信された駆動データに基づいて出力手段の駆動が制御される。そのため、出力手段の誤作動を抑制できる。
【００１８】
本発明の情報処理装置において、前記第２の処理手段は、前記判定手段によって前記データ領域の処理データが書き換えられたと判定された場合に、前記第１の記憶手段に記憶される処理データを前記データ領域に書き込む前記第２の処理を行う。
【００１９】
上記構成によれば、データ領域内が書き換えられた場合には、第１の記憶手段に記憶される処理データがデータ領域に再度書き込まれ、該処理データに基づいた第１の処理が実行される。そのため、第１の処理を正常に実行させることができる。
【００２０】
本発明の情報処理装置において、前記第２の処理手段は、該第１の処理手段による前記第１の処理よりも優先順位の高い第３の処理が存在する場合には、該第３の処理の実行中に、前記第２の処理を行わない。
【００２１】
一般的に、複数の処理が同時に実行される場合、各処理には優先順位が設定される。そこで、本発明では、データ領域の処理データが書き換えられた場合において第１の処理よりも優先順位の高い第３の処理がある場合には、該第３の処理が終了するまで第２の処理が行われない。そのため、第３の処理を正確に実行させることができる。
【００２２】
本発明の情報処理装置において、前記第２の処理手段は、前記第３の処理の終了後に前記第２の処理を行い、その後、前記第１の処理手段は、前記第１の処理を行った後、異常が発生した旨を報知する報知処理を行う。
【００２３】
上記構成によれば、データ領域に処理データが再度書き込まれ（第２の処理）、該処理データに基づいた第１の処理が行われた後では、情報処理装置が正常に動作しないおそれがある。そのため、情報処理装置内で異常が発生した旨の報知処理が行われる。すなわち、報処理装置内で異常が発生したことを、ユーザーに認識させることができる。
【００２４】
本発明の情報処理装置は、流体を用いて印刷媒体に印刷を行う出力手段を制御する情報処理装置であって、前記第３の処理は、前記出力手段による流体の消費量を取得する。
上記構成によれば、印刷で消費された流体の消費量を正確に取得させることができる。
【００２５】
本発明の情報処理装置において、前記処理データは、プログラムである。
上記構成によれば、第１の処理手段の誤作動を抑制できる。
本発明の印刷装置は、着脱可能な状態で装着された収容容器から供給された流体を貯留する貯留部、及び該貯留部から供給された流体を用いて印刷媒体に印刷を施す印刷ヘッドを有する出力手段と、上記情報処理装置と、を備える。
【００２６】
上記構成によれば、データ領域内に処理データ以外のデータが書き込まれたとしても、印刷装置の誤作動を抑制できる。
本発明の情報処理方法は、処理データを記憶する第１の記憶手段と、前記第１の記憶手段に記憶される前記処理データが書き込まれるデータ領域を有する第２の記憶手段とを備えた情報処理装置におけるデータ管理方法であって、前記データ領域の処理データが書き換えられたか否かを判定させる判定ステップと、前記判定ステップで前記データ領域の処理データが書き換えられていないと判定した場合に、前記第２の記憶手段の前記データ領域の処理データに基づいた第１の処理を行わせる第１のステップと、前記判定ステップで前記データ領域の処理データが書き換えられたと判定した場合には、前記第１の処理とは異なる第２の処理を行わせる第２のステップと、を有する。
【００２７】
上記構成によれば、上記情報処理装置と同等の作用・効果を得ることができる。
【図面の簡単な説明】
【００２８】
【図１】第１の実施形態における印刷システムを模式的に示す側面図。
【図２】記録ヘッドのノズル形成面とインク供給装置の構成を模式的に示す模式図。
【図３】印刷システムの電気的構成を示すブロック図。
【図４】マスター／スレーブの各コントローラーの構成を説明するブロック図。
【図５】ＲＡＭの構成と不揮発性メモリーの構成との要部を説明するブロック図。
【図６】インク管理部の構成を説明するブロック図。
【図７】第１の実施形態のインク検査処理ルーチンを説明するフローチャート。
【図８】第１の実施形態の印刷処理ルーチンを説明するフローチャート。
【図９】第２の実施形態のインク検査処理ルーチンを説明するフローチャート。
【発明を実施するための形態】
【００２９】
（第１の実施形態）
以下、本発明をラテラル方式のインクジェット式プリンターに具体化した第１の実施形態を図１〜図８に従って説明する。
【００３０】
図１は、ラテラル方式のインクジェット式プリンターを備えた印刷システムの模式図である。図１に示すように、印刷システム１００は、画像データを生成する画像生成装置１１０と、画像生成装置１１０から受信した画像データを基に印刷データを生成するホスト装置１２０と、ホスト装置１２０から受信した印刷データに基づく画像を印刷する印刷装置の一例としてのラテラル方式のインクジェット式プリンター（以下、単に「プリンター」ともいう。）１１とを備えている。
【００３１】
画像生成装置１１０は、例えばパーソナルコンピューターにより構成され、その本体１１１内のＣＰＵが画像作成用ソフトウェアを実行することで構築される画像生成部１１２を備えている。ユーザーは、画像生成部１１２を起動させて入力装置１１３を操作することにより、モニター１１４上で画像を作成し、画像の印刷を指示する。すると、その画像に係る画像データは、所定の通信インターフェイスを介してホスト装置１２０へ送信される。
【００３２】
ホスト装置１２０は、例えばパーソナルコンピューターにより構成され、その本体１２１内のＣＰＵがプリンタードライバー用ソフトウェアを実行することで構築されるプリンタードライバー１２２と、ユーザーによって操作される操作部１２４とを備えている。プリンタードライバー１２２は、画像生成装置１１０から受信した画像データを基に印刷データを生成し、プリンター１１に設けられた情報処理システムの一例としての制御装置Ｃへ送信する。制御装置Ｃは、プリンタードライバー１２２から受信した印刷データに基づいてプリンター１１を制御し、プリンター１１に印刷データに基づく画像を印刷させる。なお、モニター１２３には、プリンター１１に制御用設定値を入力設定するためのメニュー画面、プリンター１１で発生したエラーを報知するエラー画面及び印刷対象の画像などが表示される。
【００３３】
次に、図１に示すプリンター１１の構成について説明する。なお、以下における明細書中の説明において、「左右方向」、「上下方向」をいう場合は、図１等の図面に矢印で示した方向を基準として示すものとする。また、図１において手前側を前側、奥側を後側とする。
【００３４】
図１に示すように、プリンター１１は、直方体状の本体ケース１２を備えている。本体ケース１２内には、印刷媒体の一例としての長尺状のシート１３を繰り出す繰出し部１４と、そのシート１３にインク（流体）の噴射により印刷を施す印刷室１５と、その印刷によりインクが付着したシート１３に乾燥処理を施す乾燥装置１６と、乾燥処理が施されたシート１３を巻き取る巻取り部１７とが設けられている。
【００３５】
すなわち、本体ケース１２内におけるやや上寄りの位置には、本体ケース１２内を上下に区画する平板状の基台１８が設けられており、この基台１８よりも上側の領域が矩形板状の支持部材１９を基台１８上に支持してなる印刷室１５となっている。そして、基台１８よりも下側の領域において、シート１３の搬送方向で上流側となる左側寄りの位置に、繰出し部１４が配設されると共に、下流側となる右側寄りの位置に、乾燥装置１６及び巻取り部１７が配設されている。
【００３６】
繰出し部１４には、前後方向に延びる巻き軸２０が回転自在に設けられ、その巻き軸２０に対してシート１３が予めロール状に巻かれた状態で一体回転可能に支持されている。すなわち、シート１３は、巻き軸２０が回転することにより、繰出し部１４から繰り出される。また、繰出し部１４から繰り出されたシート１３は、巻き軸２０の右側に位置する第１ローラー２１に巻き掛けられて上方へ案内される。
【００３７】
一方、支持部材１９の左側であって下側の第１ローラー２１と上下方向で対応する位置には、第２ローラー２２が下側の第１ローラー２１と平行な状態で設けられている。そして、第１ローラー２１によって搬送方向が鉛直上方向に変換されたシート１３は、第２ローラー２２に左側下方から巻き掛けられることにより、その搬送方向が水平右方向に変換されて支持部材１９の上面に摺接する。
【００３８】
また、支持部材１９の右側には、左側の第２ローラー２２と支持部材１９を挟んで対向する第３ローラー２３が第２ローラー２２と平行な状態で設けられている。なお、第２ローラー２２及び第３ローラー２３は、各々の周面の頂部が支持部材１９の上面と同一高さとなるように位置調整されている。
【００３９】
印刷室１５内で左側の第２ローラー２２により搬送方向が水平右方向に変換されたシート１３は、支持部材１９の上面に摺接しつつ下流側となる右側に搬送された後、第３ローラー２３に右側上方から巻き掛けられることにより搬送方向が鉛直下方向に変換されて基台１８よりも下側の乾燥装置１６に向けて搬送される。そして、乾燥装置１６内を通過することにより乾燥処理が施されたシート１３は、更に鉛直下方向に搬送された後、第４ローラー２４に巻き掛けられて搬送方向を水平右方向に変換され、第４ローラー２４の右側に配設された巻取り部１７の巻取り軸２５が搬送モーター６１（図３参照）の駆動力に基づいて回転することによりロール状に巻き取られる。
【００４０】
印刷室１５内における支持部材１９の前後両側には、左右方向に延びるガイドレール２６（図１では２点鎖線で示す。）が対をなすように設けられている。ガイドレール２６の上面は支持部材１９の上面よりも高くなっており、両ガイドレール２６の上面には、矩形状のキャリッジ２７が第１及び第２キャリッジモーター６２，６３（図３参照）の駆動に基づき両ガイドレール２６に沿って主走査方向Ｘ（図１では左右方向）への往復移動が可能な状態で支持されている。そして、このキャリッジ２７の下面側には支持板２８を介して複数の記録ヘッド（印刷ヘッド）２９が支持されている。なお、本実施形態では、第１キャリッジモーター６２を「第１ＣＲモーター６２」というと共に、第２キャリッジモーター６３を「第２ＣＲモーター６３」というものとする。
【００４１】
支持部材１９の左端から右端までの一定範囲が印刷領域とされており、この印刷領域単位でシート１３は間欠的に搬送される。そして、支持部材１９上に停止したシート１３に対してキャリッジ２７の往復移動に伴い記録ヘッド２９からインクが噴射されることでシート１３に印刷が施される。
【００４２】
なお、印刷時には、支持部材１９の下側に設けられた吸引装置３０が駆動され、支持部材１９の上面に開口する多数の吸引孔に及ぶ負圧による吸引力により、シート１３が支持部材１９の上面に吸着される。そして、シート１３への１回分の印刷が終わると、吸引装置３０の負圧が解除され、シート１３の搬送が行われる。
【００４３】
また、印刷室１５内において、第３ローラー２３よりも右側となる非印刷領域には、非印刷時に記録ヘッド２９のメンテナンスを行うためのメンテナンス装置３２が設けられている。メンテナンス装置３２は、記録ヘッド２９毎にキャップ３３と昇降装置３４とを備えている。各キャップ３３は、昇降装置３４の駆動により、記録ヘッド２９のノズル形成面３５（図２参照）に当接するキャッピング位置と、ノズル形成面３５から離間する退避位置との間を移動する。
【００４４】
また、本体ケース１２内には、異なる色のインクをそれぞれ収容した複数（例えば８個）のインクカートリッジ（収容容器）ＩＣ１，ＩＣ２，ＩＣ３，ＩＣ４，ＩＣ５，ＩＣ６，ＩＣ７，ＩＣ８が着脱可能に装着されている。これら各インクカートリッジＩＣ１〜ＩＣ８は、インク供給路７０Ａ（図２参照）などを通じて記録ヘッド２９に接続され、各記録ヘッド２９は、各インクカートリッジＩＣ１〜ＩＣ８から供給されたインクを噴射する。すなわち、本実施形態のプリンター１１では、８色のインクを用いたカラー印刷が可能となっている。なお、図１及び図２に示すように、本体ケース１２においてインクカートリッジＩＣ１〜ＩＣ８の配置位置と対応する箇所には、開閉式のカバー３８が設けられている。そして、インクカートリッジＩＣ１〜ＩＣ８の交換作業は、カバー３８を開けた状態で行われる。
【００４５】
８個のインクカートリッジＩＣ１〜ＩＣ８は、例えば黒（Ｋ）、シアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ）等の各インクを収容する。なお、保湿液を収容する保湿液カートリッジが装填される構成も採用できる。もちろん、インクの種類（色数）は適宜設定でき、黒インクだけでモノクロ印刷する構成や、インクを２色としたり、８色以外で３色以上の任意の色数としたりした構成も採用できる。
【００４６】
各インクカートリッジＩＣ１〜ＩＣ８は、図示しないカートリッジホルダーを介して制御装置Ｃと電気的にそれぞれ接続されている。そして、各インクカートリッジＩＣ１〜ＩＣ８に実装された不揮発性の記憶素子４７（図３参照）には、対応する色のインク残量情報が書き込まれる。
【００４７】
図２は、キャリッジの底面に設けられた複数の記録ヘッドと、各記録ヘッドへインクを供給するインク供給装置とを示す模式図である。図２に示すように、キャリッジ２７の下面側に支持された支持板２８には、複数個（本実施形態では１５個）の記録ヘッド２９がシート１３の搬送方向（図２において白抜き矢印で示す方向）と直交する幅方向（前後方向）に亘って千鳥状の配置パターンで支持されている。そして、各記録ヘッド２９の下面となるノズル形成面３５には、多数のノズル３６が前後方向（副走査方向Ｙ）に沿って１列に配置されてなるノズル列３７が主走査方向Ｘに所定間隔をおいて複数列（本実施形態では８列）形成されている。
【００４８】
本実施形態のプリンター１１には、各インクカートリッジＩＣ１〜ＩＣ８に個別対応する複数（本実施形態では８個）のサブタンク（貯留部）６７と、図示しないカートリッジホルダーに装着されたインクカートリッジＩＣ１〜ＩＣ８からインクをサブタンク６７に供給するためのインク供給装置３９とが設けられている。このインク供給装置３９は、ポンプモーター６５、加圧ポンプ６６及び図示しないカートリッジホルダーを備えている。
【００４９】
カートリッジホルダーに装着されたインクカートリッジＩＣ１〜ＩＣ８は、インク供給路７０Ａ（例えばチューブ）を通じてサブタンク６７に接続されている。また、サブタンク６７は、インクカートリッジＩＣ１〜ＩＣ８から供給されたインクを一時的に貯留するタンクであって、インク供給路７０Ｂ（例えばチューブ）を通じて各記録ヘッド２９に接続されている。但し、図２では、複数（例えば８個）のサブタンク６７は１つの記録ヘッド２９との接続関係のみ示している。実際には、８個のサブタンク６７からは記録ヘッド２９と同数本のインク供給路７０Ｂ（例えばチューブ）が延びており、各インク供給路７０Ｂそれぞれ対応する記録ヘッド２９に接続されている。インクカートリッジＩＣ１〜ＩＣ８からの各色のインクは、サブタンク６７及びインク供給路７０Ｂを通じて各記録ヘッド２９に供給される。
【００５０】
また、カートリッジホルダーに装着されたインクカートリッジＩＣ１〜ＩＣ８は、加圧ポンプ６６の吐出口と空気供給路７１を通じて接続される。制御装置Ｃがポンプモーター６５を駆動して加圧ポンプ６６がポンプ駆動されることにより、加圧ポンプ６６から吐出された加圧空気が空気供給路７１を通じてインクカートリッジＩＣ１〜ＩＣ８内に供給される。したがって、本実施形態では、インク供給装置３９、サブタンク６７及び記録ヘッド２９により、印刷媒体に印刷を行う出力手段が構成される。
【００５１】
また、本体ケース１２において図２に実線で示す閉状態にあるカバー３８の回動端と対応する位置には、カバー３８を閉状態にロックするための電磁ロック６８が設けられている。例えば本体ケース１２におけるカバー３８の近傍位置には、ユーザーがカバー３８のロック／ロック解除の操作をするための操作スイッチ７２（図３参照）が設けられている。制御装置Ｃは、操作スイッチ７２からカバー３８をロックさせる操作がなされた際のロック信号を入力すると、電磁ロック６８を励磁駆動させることによりカバー３８を閉状態にロックさせる。また、制御装置Ｃは、操作スイッチ７２からカバー３８のロックを解除させる操作がなされた際のロック解除信号を入力すると、電磁ロック６８を消磁させることによりカバー３８をロック解除させる。カートリッジ交換を行う際は、図２に示すように、カバー３８を二点鎖線で示す開状態（但し最大開度は図２の状態より大きい）で、インクカートリッジＩＣ１〜ＩＣ８のうち少なくとも１個の交換を行って再びカバー３８を図２に実線で示す閉状態とした後、操作スイッチ７２を操作することでカバー３８を閉状態にロックさせる。なお、カバーロックを指示する方式は、操作スイッチ７２による操作方式に限定されず、カバー３８が閉状態にあることを検知するセンサーから制御装置Ｃが閉検知信号を入力したときに電磁ロック６８を励磁駆動させる構成も採用できる。
【００５２】
図３は、印刷システム１００の電気構成を示すブロック図である。図３に示すホスト装置（他の情報処理装置）１２０内のプリンタードライバー１２２は、モニター１２３に表示させるべきメニュー画面などの各種画面の表示制御を行うと共に、各画面の表示状態において操作部１２４から入力した操作信号に応じた所定処理を行うホスト制御部１２５を備えている。このホスト制御部１２５は、プリンタードライバー１２２を統括的に制御する。また、プリンタードライバー１２２は、上位の画像生成装置１１０から受信した画像データに対して印刷データの生成に必要な画像処理を施す、解像度変換部１２６、色変換部１２７及びハーフトーン処理部１２８を備えている。解像度変換部１２６は、画像データを表示解像度から印刷解像度へ変換する解像度変換処理を行う。色変換部１２７は、表示用の表色系（例えばＲＧＢ表色系やＹＣｂＣｒ表色系）から印刷用の表色系（例えばＣＭＹＫ表色系）に色変換する色変換処理を行う。さらにハーフトーン処理部１２８は、表示用の高階調（例えば２５６階調）の画素データを印刷用の低階調（例えば２階調又は４階調）の画素データに階調変換するハーフトーン処理などを行う。そして、プリンタードライバー１２２は、これらの画像処理によって生成された印刷画像データに、印刷制御コード（例えばＥＳＣ／Ｐ）で記述されたコマンドを付して駆動データの一例としての印刷ジョブデータ（以下、単に「印刷データ」ともいう。）を生成する。
【００５３】
ホスト装置１２０は、データの転送制御を行う転送制御部１２９を備えている。この転送制御部１２９は、プリンタードライバー１２２で生成された印刷データを所定容量のパケットデータずつ制御装置Ｃへ順次シリアル転送する。
【００５４】
プリンター１１側の制御装置Ｃは、ホスト装置１２０から印刷データを受信して記録系の制御をはじめとする各種制御を行う一対のコントローラー（情報処理装置）４１，４２を備えている。一対のコントローラー４１，４２は、複数個（本例では１５個）の記録ヘッド２９を所定個数（本例では７個と８個）の２つに分けて分担して制御する。すなわち、マスター側コントローラー４１が７個の記録ヘッド２９Ｂの制御を受け持ち、スレーブ側コントローラー４２が８個の記録ヘッド２９Ａの制御を受け持つ。
【００５５】
なお、図２に示すキャリッジ２７に設けられた１５個の記録ヘッド２９は、副走査方向Ｙに沿って２列で配列された記録ヘッド２９Ａ，２９Ｂが副走査方向Ｙに半ピッチ分ずつずれた千鳥配置をとっている。そして、図３に示す各コントローラー４１，４２は、２列のうち１列分ずつの記録ヘッド２９Ａ，２９Ｂをそれぞれ分担する。
【００５６】
さらに、制御装置Ｃは、マスター側コントローラー４１の出力側（制御下流側）に通信線ＳＬ１を通じて接続されたメカコントローラー４３を備えている。メカコントローラー４３は、主に搬送系及びキャリッジ駆動系を含むメカニカル機構部４４の制御を司る。マスター側コントローラー４１は、自身が受け持つ７個の記録ヘッド２９Ｂの印刷準備ができ（つまりインク滴噴射制御に使用する印刷画像データが揃っており）、且つスレーブ側コントローラー４２が受け持つ８個の記録ヘッド２９Ａも印刷準備ができた段階でキャリッジ起動コマンドをメカコントローラー４３へ送信する。これにより、コントローラー４１，４２のうち一方の印刷準備完了前にキャリッジ２７が起動されてしまうことに起因し、記録ヘッド２９が噴射位置に到達したにも拘わらずインク滴が噴射されない噴射ミスが防止される。
【００５７】
また、マスター側コントローラー４１は、自身が受け持つ７個の記録ヘッド２９Ｂの印刷を完了し、且つスレーブ側コントローラー４２が受け持つ８個の記録ヘッド２９Ａも印刷を完了した段階で、シート１３の搬送を指令する搬送コマンドをメカコントローラー４３へ送信する。これにより、コントローラー４１，４２のうち一方が印刷完了前の段階でシート１３が搬送開始（又は支持部材１９上のシートの吸着解除）されてしまうことに起因し、記録ヘッド２９から噴射されたインク滴のシート１３に対する着弾位置のずれ（印刷位置ずれ）が防止される。このようにマスター側コントローラー４１は、スレーブ側コントローラー４２と進捗の同期をとってコマンドを送信する機能を備えている。そして、両コントローラー４１，４２は、制御上の同期をとるために、他方のコントローラーへコマンドを出力するスレーブ側と、スレーブ側から受け付けたコマンドと自身のコマンドとが揃い且つコマンド内容が一致することを確認した時点でメカコントローラー４３へコマンドを出力するマスター側とに分かれる。本実施形態では、制御上の同期をとるための仕組みの部分でマスター側とスレーブ側とで異なる部分があっても、マスター側コントローラー４１とスレーブ側コントローラー４２とを同じプログラムの構成で実現している。この特徴部分については後述する。
【００５８】
図３に示すホスト装置１２０内のプリンタードライバー１２２は、２つのコントローラー４１，４２のそれぞれが受け持つ記録ヘッド２９の配置位置に応じて印刷画像データを２つに分割し、分割した各印刷画像データに同一のコマンドを付して２つの印刷データを生成する。
【００５９】
図３に示すように、ホスト装置１２０は、２つのシリアル通信ポートＵ１，Ｕ２を備えている。また、２つのコントローラー４１，４２もそれぞれシリアル通信ポートＵ３，Ｕ４を備えている。そして、転送制御部１２９は、シリアル通信ポートＵ１，Ｕ３間の通信を介してマスター側コントローラー４１へ対応する印刷データをシリアル転送すると共に、シリアル通信ポートＵ２，Ｕ４間の通信を介してスレーブ側コントローラー４２へ対応する印刷データをシリアル転送する。本実施形態では、シリアル通信ポートＵ１〜Ｕ４として、例えばＵＳＢ（Universal Serial Bus）ポートが用いられる。ホスト装置１２０は、２つのシリアル通信ポートＵ１，Ｕ２を構成する２つのＵＳＢホストによって２系統でシリアル転送を行って、各コントローラー４１，４２へ比較的高速に印刷データを転送する。
【００６０】
但し、２系統であるものの比較的遅いシリアル転送であるため、本実施形態のラテラル式のプリンター１１では、１回分（１頁分）の印刷データを全て受信し終わってから印刷が開始される。これは、例えば１パス分の印刷データ受信完了段階で印刷を開始すると、途中で次パスの印刷データの受信完了を待つ待機時間ができ、このときノズル３６内におけるインクの増粘によるノズル３６の目詰まりを回避すべく、キャリッジ２７を非印刷領域内のホーム位置（待機位置）へ一時退避させて、記録ヘッド２９をキャップ３３でキャッピングする必要が生じるからである。このように１回の印刷途中でキャリッジ２７をホーム位置に退避させていると、却って印刷所要時間が長くなってしまうので、１回分（１頁分）の印刷データを全て受信してから、印刷を開始するようにしている。
【００６１】
２つのコントローラー４１，４２には、複数個（Ｎ個（本例では４個））ずつのヘッド制御ユニット（以下、「ＨＣＵ」ともいう。）４５が接続され、各ＨＣＵ４５にはそれ一個につき記録ヘッド２９が複数個（Ｍ個（本例では２個））ずつ接続されている。
【００６２】
また、２つのコントローラー４１，４２に接続された各通信回路４６には、８個のインクカートリッジＩＣ１〜ＩＣ８に実装された８個の記憶素子４７のうち半分の４個ずつがそれぞれ接続されている。マスター側コントローラー４１は、４個のインクカートリッジＩＣ１〜ＩＣ４に実装された記憶素子４７と通信可能であり、スレーブ側コントローラー４２は、４個のインクカートリッジＩＣ５〜ＩＣ８に実装された記憶素子４７と通信可能である。記憶素子４７には、対応するインクカートリッジＩＣのインク残量情報、インク色、使用期限、メンテナンス情報、品番などの各種のインク関連情報が記憶される。
【００６３】
マスター側コントローラー４１は、４個のインクカートリッジＩＣ１〜ＩＣ４のインク残量を管理し、一方のスレーブ側コントローラー４２は、残り４個のインクカートリッジＩＣ５〜ＩＣ８のインク残量を管理する。マスター側コントローラー４１は、通信回路４６を介してインクカートリッジＩＣ１〜ＩＣ４の各記憶素子４７と通信してそのメモリーに記憶されたインク情報及びインク残量情報の読み出し及びインク残量情報の書込みが可能となっている。同様に、スレーブ側コントローラー４２は、通信回路４６を介して各インクカートリッジＩＣ５〜ＩＣ８に実装された記憶素子４７と通信してそのメモリーに記憶されたインク情報及びインク残量情報の読み出し及びインク残量情報の書込みが可能となっている。
【００６４】
各コントローラー４１，４２は、プリンター１１の起動時に記憶素子４７のメモリーからインク残量を読み出し、管理対象のインクカートリッジで消費されたインク消費量を所定の時期に算出し、各インクカートリッジの現在のインク残量を逐次算出する。そして、各コントローラー４１，４２は、例えばプリンター１１の電源遮断時にその管理している現在のインク残量情報を記憶素子４７に書き込む処理を行う。例えばホスト装置１２０は、プリンター１１の各コントローラー４１，４２と通信してインク残量情報を取得し、そのモニター１２３（図１参照）に各インクカートリッジＩＣ１〜ＩＣ８のインク残量を表示する。
【００６５】
２つのコントローラー４１，４２は、プリンター１１に複数個設けられた記録ヘッド２９及びインクカートリッジＩＣ１〜ＩＣ８を分担して制御又は管理することにより、負担の軽減を図っている。
【００６６】
図３に示すように、マスター側コントローラー４１には、リニアエンコーダー５０が接続されている。このリニアエンコーダー５０はキャリッジ２７の移動経路に沿って設けられ、マスター側コントローラー４１には、このリニアエンコーダー５０からキャリッジ２７の移動距離に比例する数のパルスをもつ検出信号（エンコーダーパルス信号）が入力される。マスター側コントローラー４１に入力されたエンコーダーパルス信号は、両コントローラー４１，４２間に接続された信号線ＳＬ２を通じてスレーブ側コントローラー４２へ伝達される。さらに、マスター側コントローラー４１とスレーブ側コントローラー４２は、通信線ＳＬ３を通じて互いに接続されている。
【００６７】
各コントローラー４１，４２は、ＣＰＵ５３（中央処理装置）、ＡＳＩＣ５４（Application Specific IC（特定用途向け集積回路））、ＲＡＭ５５、及び不揮発性メモリー５６をそれぞれ備えている。ＣＰＵ５３は、不揮発性メモリー５６に記憶されたプログラムを実行することにより、印刷制御に必要な各種タスク（各種処理）を実行する。また、ＡＳＩＣ５４は、印刷データの処理など記録系のデータ処理などを行う。ＡＳＩＣ５４は、印刷画像データに基づき記録ヘッド２９のインク滴噴射回数に相当するドット数を色別に計数し、記録ヘッド２９毎の各色のドット数を合計して色別のインク消費量も算出する。このとき、マスター側のＡＳＩＣ５４は、７個の記録ヘッド２９Ｂのインク消費量を色別に算出し、一方のスレーブ側のＡＳＩＣ５４は、８個の記録ヘッド２９Ａのインク消費量を色別に算出する。
【００６８】
そして、マスター側コントローラー４１は、７個の記録ヘッド２９Ｂが消費した８色分のインク消費量のうち、スレーブ側に接続された記憶素子４７に保存すべき４色分のインク消費量をスレーブ側コントローラー４２へ送る。一方、スレーブ側コントローラー４２は、８個の記録ヘッド２９Ａが消費した８色分のインク消費量のうち、マスター側に接続された記憶素子４７に保存すべき４色分のインク消費量をマスター側コントローラー４１へ送る。そして、各コントローラー４１，４２は、自身のＡＳＩＣ５４が算出した未送信の４色分のインク消費量と、相手側のコントローラーから受信した同色の４色分のインク消費量を色別に加算して、自身が受け持つ４個のインクカートリッジＩＣのインク消費量をそれぞれ求める。そして、記憶素子４７に記憶されたそれまでのインク残量から今回求めたインク消費量を減算し、その時々のインク残量を色毎に取得する。
【００６９】
例えばホスト装置１２０のプリンタードライバー１２２からインク残量情報の要求を受け付けると、各コントローラー４１，４２は、互いに自身が管理する４色分のインク残量を相手側に送信する。そして、各コントローラー４１，４２は、相手側から受信した４色分のインク残量と、自身管理の４色分のインク残量との合計８色分のインク残量情報をホスト装置１２０のプリンタードライバー１２２へ送信する。プリンタードライバー１２２は、各コントローラー４１，４２のそれぞれから８色分のインク残量情報を受信し、そのうち一方（例えばマスター側）から受信した８色分のインク残量情報に基づいて、モニター１２３に８色分のインク残量を示すインジケーターを含む印刷条件設定画面を表示する。
【００７０】
一方、メカコントローラー４３には、モーター駆動回路６０を介してメカニカル機構部４４を構成する搬送モーター６１、第１ＣＲモーター６２及び第２ＣＲモーター６３がそれぞれ接続されている。また、メカコントローラー４３には、メンテナンス装置３２及び電磁ロック６８がそれぞれ接続されている。さらに、メカコントローラー４３には、モーター駆動回路７６を介してインク供給装置３９を構成するポンプモーター６５が接続されており、ポンプモーター６５が駆動されることにより加圧ポンプ６６が駆動される。
【００７１】
また、メカコントローラー４３には、入力系として、前述の操作スイッチ７２及びエンコーダー７３がそれぞれ接続されている。メカコントローラー４３は、操作スイッチ７２からロック操作信号を入力すると電磁ロック６８を励磁し、操作スイッチ７２から解除操作信号を入力すると電磁ロック６８を消磁する。なお、メカコントローラー４３は、電磁ロック６８を励磁させてカバー３８をロックすると、カバー３８が閉じていることを示す正常情報をマスター側コントローラー４１に出力する。
【００７２】
こうしたメカコントローラー４３は、マスター側コントローラー４１から通信線ＳＬ１を通じて受信した各種コマンドに従って、各モーター６１〜６３，６５、メンテナンス装置３２及び電磁ロック６８を駆動制御する。
【００７３】
制御装置Ｃは、印刷時に、搬送モーター６１を駆動してシート１３の次の被印刷領域を支持部材１９上に配置すべくシート１３を搬送する搬送動作と、シート搬送後に次の被印刷領域を支持部材１９に吸着させる吸着動作と、記録ヘッド２９によるシート１３への印刷動作と、１回分（１頁分）の印刷終了後にシート１３の吸着を解除する吸着解除動作とを行う。このとき、印刷動作は、キャリッジ２７の主走査方向Ｘへの移動中に記録ヘッド２９からインク滴を噴射することにより行われる。この印刷動作は、各ＣＲモーター６２，６３の駆動によるキャリッジ２７の主走査方向への移動（１パス動作）と、１パス終了毎に行われるキャリッジ２７の副走査方向Ｙへの移動とを、所定回数繰り返すことにより行われる。
【００７４】
図４は、マスター側コントローラー４１とスレーブ側コントローラー４２の機能構成を説明するブロック図である。図４に示すように、両コントローラー４１，４２は、互いに対称な構成を有している。なお、対称な構成（ほぼ同じ機能構成）であるので、以下、マスター側コントローラー４１の構成を説明し、これと対比してスレーブ側コントローラー４２の一部異なる構成を説明する。
【００７５】
マスター側コントローラー４１は、通信手段の一例としてのシリアル通信ポートＵ３、画像処理部８１、主制御部８２、制御手段の一例としてのメカ制御部８３、メカＩ／Ｆ部８４、仮想メカコントローラー８５を備えている。さらに、マスター側コントローラー４１は、エラー管理部８６、通信Ｉ／Ｆ部８７、画像バッファー８８、ヘッド制御部８９及びインク管理部９０を備えている。一方、スレーブ側コントローラー４２は、仮想メカコントローラー８５に替えて、仮想駆動制御手段の一例としてのダミーメカコントローラー９５を備える点が異なるだけで、その他の構成はマスター側コントローラー４１と同様である。なお、主制御部８２は、各部８３〜９０を統括的に制御する機能を有する。
【００７６】
また、スレーブ側コントローラー４２のメカＩ／Ｆ部８４は、マスター側コントローラー４１の仮想メカコントローラー８５と通信線ＳＬ３を通じて接続されている。すなわち、マスター側コントローラー４１のメカＩ／Ｆ部８４が実際のメカコントローラー４３に接続されているのに対して、スレーブ側コントローラー４２のメカＩ／Ｆ部８４はマスター側コントローラー４１内に設けられた仮想メカコントローラー８５に接続されている。つまり、スレーブ側のメカＩ／Ｆ部８４は、メカコントローラー４３へコマンドを出力したつもりで実際は仮想メカコントローラー８５へコマンドを送信している。
【００７７】
図４に示すマスター側コントローラー４１においてシリアル通信ポートＵ３は、ホスト装置１２０のプリンタードライバー１２２（図１、図３参照）から印刷データを入力する。マスター側の画像処理部８１は、印刷データの解凍処理、コマンド解析、マイクロウィーブ処理及び縦横変換処理などの画像処理を行う。同様に、図４に示すスレーブ側コントローラー４２においてシリアル通信ポート（通信手段）Ｕ４は、ホスト装置１２０のプリンタードライバー１２２（図１、図３参照）から印刷データを入力する。スレーブ側の画像処理部８１は、印刷データの解凍処理、コマンド解析、マイクロウィーブ処理及び縦横変換処理などの画像処理を行う。
【００７８】
画像処理部８１は、解凍後の印刷データを画像バッファー８８に一時格納し、画像バッファー８８から読み出した印刷データに対してコマンド解析を行う。印刷データは、印刷画像データと印刷言語記述コマンドとを含む。画像処理部８１は、解凍後の印刷データ中の印刷言語記述コマンドを解析してコマンドを取得し、その取得したコマンドをメカ制御部８３へ送る。また、画像処理部８１は、印刷画像データに対してドットをノズルに割り付ける割付処理（マイクロウィーブ処理）及び縦横変換処理などの必要な画像処理を順次施し、記録ヘッド２９の制御に使用するヘッド制御データを生成して画像バッファー８８に格納する。
【００７９】
ヘッド制御部８９は、画像バッファー８８からヘッド制御データを読み出し、このヘッド制御データを記録ヘッド２９毎に分割して各ＨＣＵ４５へ割り振りつつ転送する。さらに、ＨＣＵ４５は、記録ヘッド２９へ対応するヘッド制御データを逐次送信する。記録ヘッド２９内の不図示のヘッド駆動回路は、ヘッド制御データに基づきノズル３６毎の噴射駆動素子を駆動制御し、ノズル３６からインク滴を噴射させる。このとき、ヘッド制御部８９は、リニアエンコーダー５０から入力されるエンコーダーパルス信号を基に噴射タイミング信号を生成し、ヘッド駆動回路はこの噴射タイミング信号に基づき噴射駆動素子を駆動させる。
【００８０】
メカ制御部８３は、画像処理部８１から受け付けたコマンドをメカＩ／Ｆ部８４へ送る。このとき、メカ制御部８３は、例えばヘッド制御部８９の処理の進捗を監視しており、次パスの印刷に使用するヘッド制御データが揃い印刷準備ができた段階でコマンドをメカＩ／Ｆ部８４へ送る。
【００８１】
メカＩ／Ｆ部８４は、メカ制御部８３からコマンドを受け付けると、仮想メカコントローラー８５に問合せをする。そして、メカＩ／Ｆ部８４は、仮想メカコントローラー８５から問合せの応答としてＡｃｋ信号（肯定信号）を受信すると、コマンドをメカコントローラー４３へ送信する。つまり、メカＩ／Ｆ部８４は、仮想メカコントローラー８５への問合せの応答としてＡｃｋ信号を受信しなければ、Ａｃｋ信号を受信するまで待機し、Ａｃｋ信号を受信するとコマンドをメカコントローラー４３へ送信する。但し、待機時間が予め設定時間に達してタイムアウトとなった場合は、その旨をメカ制御部８３を経由して主制御部８２へ送信する。
【００８２】
一方のスレーブ側コントローラー４２においても画像処理部８１、メカ制御部８３、メカＩ／Ｆ部８４は同様の処理を行う。但し、ダミーメカコントローラー９５は、仮想メカコントローラー８５と異なる機能をもつ。ダミーメカコントローラー９５は、メカＩ／Ｆ部８４から問合せを受け付けると、無条件で直ちにＡｃｋ信号を返す。このため、スレーブ側コントローラー４２におけるメカＩ／Ｆ部８４は、メカ制御部８３からコマンドを受け付けて問合せをすると、ダミーメカコントローラー９５から直ぐにＡｃｋ信号を受信するので、コマンドの受付けからほぼ待ち時間なくそのコマンドを出力できる。
【００８３】
これに対して、マスター側コントローラー４１における仮想メカコントローラー８５は、メカＩ／Ｆ部８４から問合せを受け付けると、通信線ＳＬ３に接続された入力端子としての入力ポート（シリアル通信ポートＵ３とは異なる入力ポート）で通信線ＳＬ３を通じて送られてきたコマンドを受信していることを条件に、メカＩ／Ｆ部８４にＡｃｋ信号を返す。このため、マスター側コントローラー４１におけるメカＩ／Ｆ部８４は、マスター側とスレーブ側の両メカＩ／Ｆ部８４が共にコマンドを受け付けるまで待ち、マスター側とスレーブ側の両方でコマンドが揃ってからメカコントローラー４３へコマンドを出力する。このため、マスターとスレーブの両コントローラー４１，４２間で同期をとってコマンドをメカコントローラー４３へ送信できる。
【００８４】
図４に示すように、仮想メカコントローラー８５とダミーメカコントローラー９５は同じ構成であり、共に仮想メカコン部９６とダミーメカコン部９７を備えている。仮想メカコン部９６が起動されると仮想メカコントローラー８５として機能し、ダミーメカコン部９７が起動されるとダミーメカコントローラー９５として機能する。仮想メカコン部９６とダミーメカコン部９７のうちどちらを起動するかは、主制御部８２が、自身がマスターであるかスレーブであるかを判定して決める。主制御部８２は、マスターであると判定した場合、仮想メカコン部９６を有効としこれを起動するとともに、ダミーメカコン部９７を無効としこれを起動させない。一方、主制御部８２は、スレーブであると判定した場合、ダミーメカコン部９７を有効としこれを起動するとともに、仮想メカコン部９６を無効としこれを起動させない。
【００８５】
通信Ｉ／Ｆ部８７は、マスターとスレーブにおける各ヘッド制御部８９及び各インク管理部９０が、処理の同期をとったり、互いの情報を交換し合ったりするための通信を行うために設けられたものである。
【００８６】
インク管理部９０は、ＡＳＩＣ５４内のインク消費量演算部（図示せず）から約半数の記録ヘッド２９Ａ（又は２９Ｂ）が消費した８色分のインク消費量を取得する。そして、インク管理部９０は、ホスト装置１２０のプリンタードライバー１２２からインク残量情報の要求を受け付けたとき、１回の印刷が終わったとき、電源が遮断されたときなどの所定時期に、相手側管理の４色分のインク消費量情報をメカ制御部８３及び通信Ｉ／Ｆ部８７を経由して相手側コントローラーのインク管理部９０へ送信する。また、インク管理部９０は、インク残量演算部９８を備え、受信した４色分のインク消費量と、自身が受け持つ４色分のインク消費量とを色別に加算して、全ての記録ヘッド２９で消費された４色分のインク消費量を算出する。さらに、インク残量演算部９８は、この４色分のインク消費量を前回のインク残量から減算することで、現在のインク残量を算出する。現在のインク残量情報は、ＲＡＭ５５の所定記憶領域に一時記憶され、例えば電源遮断時などの所定時期に、インク管理部９０がＲＡＭ５５から読み出した現在のインク残量を不揮発性メモリー５６に書き込むと共に記憶素子４７のメモリーに書き込む。
【００８７】
また、プリンタードライバー１２２からインク残量情報の要求を受け付けた場合、インク管理部９０は、ＲＡＭ５５に記憶した現在のインク残量を相手側コントローラーのインク管理部９０に送信する。そして、インク管理部９０は、自身が受け持つ４色と相手側が受け持つ４色とを合わせた合計８色分のインク残量情報をシリアル通信ポートＵ３，Ｕ４を介してプリンタードライバー１２２へ送信する。このとき、プリンタードライバー１２２は、マスターとスレーブの両コントローラー４１，４２からそれぞれ８色分のインク残量情報（同一情報）を受信するが、異なる通信経路で受信した２つのインク残量情報のうち一方のインク残量情報を用いてモニター１２３へのインク残量表示を行う。但し、２つのインク残量情報が異なる場合は、マスター側コントローラー４１から受信したインク残量情報を採用する。
【００８８】
また、インク管理部９０は、例えば、プリンター１１が起動された最初の初期化動作時や、インクカートリッジＩＣの交換直後には、インクカートリッジＩＣの適切性を判断（チェック）するチェック処理（第１の処理）を行う。そして、インク管理部９０は、不適切なインクカートリッジを検出した場合、その旨を示すエラーコードをメカ制御部８３に出力する。ここで、不適切なインクカートリッジとは、空インクのインクカートリッジなどの使用不能なカートリッジを指すものではなく、印刷に使用できるものの印刷品質を保証する観点から適切ではないインクカートリッジを指す。例えば使用期限が過ぎたインクカートリッジなどが「不適切カートリッジ」に該当する。
【００８９】
メカ制御部８３は、コマンドの実行順を制御するジョブ制御部９３と、ジョブ制御部９３で制御された順番でコマンドを出力することでシーケンス制御を行うシーケンス制御部９４とを備えている。そして、メカ制御部８３は、メカＩ／Ｆ部８４、ヘッド制御部８９及びインク管理部９０からエラーコードが入力された場合、該エラーコードをエラー管理部８６に転送する。
【００９０】
エラー管理部８６は、入力されたエラーコードに基づきエラーコマンドを生成し、該エラーコマンドを主制御部８２に出力する。エラーコマンドが入力された主制御部８２は、該エラーコマンドを、シリアル通信ポートＵ３（又はＵ４）を介してホスト装置１２０側に転送する。
【００９１】
次に、本実施形態のＲＡＭ５５及び不揮発性メモリー５６のうち要部について、図５に基づき説明する。
図５に示すように、不揮発性メモリー５６は、第１の記憶手段の一例としてのＲＯＭ１４０を有しており、該ＲＯＭ１４０には、インクカートリッジＩＣの適切性を検査するための検査プログラム（処理データ）が予め記憶されている。ＲＡＭ５５は、複数（例えば２つ）のメモリーを有している。例えば、ＲＡＭ５５は、第１メモリー１４１と、第２の記憶手段の一例としての第２メモリー１４２とを有している。第１メモリー１４１は、一例として、ＳＤＲＡＭ（Synchronous DRAM）であり、その先頭アドレスは、「５０００００００（１６進数）」に設定されている。また、第２メモリー１４２は、一例として、ＤＤＲ２（Double Data Rate 2）−ＳＤＲＡＭであり、その先頭アドレスは、「６０００００００（１６進数）」に設定されている。
【００９２】
第１メモリー１４１には、メカコントローラー４３を介してメカニカル機構部４４を駆動させるための各種プログラムが記憶される第１領域１４３と、プリンター１１の動作中に各種情報が適宜書き込まれる第２領域１４４とが形成されている。第２領域１４４は、第１領域１４３の最終アドレスの次のアドレス以降に位置している。
【００９３】
第２メモリー１４２には、検査プログラムが書き込まれる第１領域（データ領域）１４５と、画像バッファー８８とが形成されている。第１領域１４５は、第２メモリー１４２の先頭に配置されると共に、画像バッファー８８は、第２メモリー１４２の最終アドレスを含む位置に位置している。第１領域１４５には、プリンター１１の電源がオンになった場合にＲＯＭ１４０に記憶される検査プログラムがＣＰＵ５３によって書き込まれる。
【００９４】
画像バッファー８８は、プレーンバッファー８８ａと、ヘッドイメージバッファー８８ｂと、受信バッファー８８ｃとを含んでいる。プレーンバッファー８８ａは、各種割付処理（マイクロウィーブ処理）及び縦横変換処理などの必要な画像処理が施される前のデータが格納される領域であるとともに、ヘッドイメージバッファー８８ｂは、各種画像処理が施されたヘッド制御データが格納される領域である。さらに、受信バッファー８８ｃは、ホスト制御部１２５側から受信した印刷データが格納される領域である。ちなみに、ホスト装置１２０側からの印刷データの受信時に受信バッファー８８ｃがオーバーフローを起こした場合には、第２メモリー１４２の先頭アドレスを含んだ第１領域１４５に、印刷データの一部が格納される。その結果、第１領域１４５に元々書き込まれていたデータが書き換えられてしまう。
【００９５】
次に、インク管理部９０の要部について図６に基づき説明する。
図６に示すように、インク管理部９０は、インク残量演算部９８に加え、判定部１５０、リード部１５１及び検査部１５２をさらに有している。
【００９６】
判定部１５０は、第２メモリー１４２の第１領域１４５に記憶される検査プログラムが正常であるか否かを判定する。第２メモリー１４２の第１領域１４５には、プリンター１１の電源がオンになった場合に、ＲＯＭ１４０の検査プログラムが書き込まれる。換言すると、第１領域１４５に記憶される検査プログラムは、ＲＯＭ１４０に記憶される検査プログラム（「オリジナルプログラム」ともいう。）と同一であるはずである。そこで、一例として、判定部１５０は、第１領域１４５に記憶される検査プログラムの一部（例えば、先頭の一部分）と、ＲＯＭ１４０に記憶される検査プログラムの一部（例えば、先頭の一部分）とが同一である場合には正常であると判定し、同一ではない場合には検査プログラムが正常ではないと判定する。そして、判定部１５０は、第１領域１４５に記憶される検査プログラムの少なくとも一部が書き換えられたと判定した場合には、その旨をリード部１５１に出力する。したがって、本実施形態では、判定部１５０が、判定手段として機能する。なお、このように検査プログラムの少なくとも一部が他のデータに書き換えられたことを、「検査プログラムに異常が発生した」ということとする。
【００９７】
リード部１５１は、判定部１５０から検査プログラムが異常である旨が入力された場合に、ＲＯＭ１４０に記憶される検査プログラムを第２メモリー１４２の第１領域１４５に再度書き込ませる第２の処理を行う。この点で、本実施形態では、リード部１５１が、第２の処理手段として機能する。なお、リード部１５１は、プリンター１１の電源がオンになった場合にも、ＲＯＭ１４０に記憶される検査プログラムを、第２メモリー１４２の第１領域１４５に書き込ませる。
【００９８】
検査部１５２は、第１領域１４５に記憶される検査プログラムが正常である場合に、インクカートリッジＩＣの適切性を判断（チェック）するチェック処理（第１の処理）を行う。この点で、本実施形態では、検査部１５２が、第１の処理手段として機能する。
【００９９】
次に、インク管理部９０が実行するインク検査処理ルーチンについて、図７に示すフローチャートに基づき説明する。
さて、インク管理部９０は、インク検査処理ルーチンを予め設定された所定周期毎に行う。初めのステップＳ１００において、インク管理部９０は、インクカートリッジＩＣが交換されたか否かを判定する。マスター側で管理するインクカートリッジＩＣ１〜ＩＣ４が交換された場合、マスター側コントローラー４１は、インクカートリッジＩＣ１〜ＩＣ４の少なくとも一つが交換された旨を、通信Ｉ／Ｆ部８７を通じてスレーブ側コントローラー４２に送信する。同様に、スレーブ側で管理するインクカートリッジＩＣ５〜ＩＣ８が交換された場合、スレーブ側コントローラー４２は、インクカートリッジＩＣ５〜ＩＣ８の少なくとも一つが交換された旨を、通信Ｉ／Ｆ部８７を通じてマスター側コントローラー４１に送信する。そのため、マスター側のインク管理部９０は、スレーブ側で管理するインクカートリッジＩＣ５〜ＩＣ８の交換も検知できると共に、スレーブ側のインク管理部９０は、マスター側で管理するインクカートリッジＩＣ１〜ＩＣ４の交換も検知できる。そのため、ステップＳ１００の判定結果は、マスター側でもスレーブ側でも同一の判定結果となる。そして、インク管理部９０は、インクカートリッジＩＣが交換されていない場合（ステップＳ１００；ＮＯ）にはインク検査処理ルーチンを終了する一方、インクカートリッジＩＣが交換された場合（ステップＳ１００；ＹＥＳ）にはその処理を次のステップＳ１１０に移行する。
【０１００】
ステップＳ１１０において、インク管理部９０は、第２メモリー１４２の第１領域１４５に記憶される検査プログラムが正常であるか否かを判定する。そして、インク管理部９０は、第１領域１４５に記憶される検査プログラムが正常である場合（ステップＳ１１０；ＹＥＳ）にはその処理を後述するステップＳ１１５に移行する一方、正常ではない場合（ステップＳ１１０；ＮＯ）にはその処理を後述するステップＳ１２０に移行する。したがって、本実施形態では、ステップＳ１１０が、判定ステップに相当する。
【０１０１】
ここで、第１領域１４５に記憶される検査プログラムが異常となる場合の一例について説明する。第２メモリー１４２の第１領域１４５には、本来、検査プログラム以外の他のコードが書き込まれることはないはずである。しかし、コントローラー４１，４２は、設計者やユーザーの予期しない動作を行う可能性がある。一例として、ファームプログラム内などにバグが存在する場合、該バグに基づく誤作動が発生し得る。こうしたバグに基づく誤作動によって、例えば、本来は受信バッファー８８ｃに格納させるべきデータが、第２メモリー１４２の第１領域１４５に書き込まれたり、他のデータ領域に書き込むべきデータが、第２メモリー１４２の第１領域１４５に書き込まれたりすることがある。これは、指定するアドレスの下位側が誤って「００００（１６進数）」に設定されたことにより発生し得る。また、第１メモリー１４１の第２領域１４４がオーバーフローを起こし、本来は第１メモリー１４１の第２領域１４４に格納すべきデータが、第２メモリー１４２の第１領域１４５に書き込まれることがある。こうした場合には、第２メモリー１４２の第１領域１４５に書き込まれた検査プログラムが異常となり得る。
【０１０２】
ステップＳ１１５において、インク管理部９０は、第２メモリー１４２の第１領域１４５に記憶される検査プログラムが正常であるため、再書き込みフラグＦＬＧ２をオフにセットし、その処理を後述するステップＳ１４０に移行する。
【０１０３】
一方、ステップＳ１２０において、インク管理部９０は、サブタンク残量フラグＦＬＧ１がオンであるか否かを判定する。このサブタンク残量フラグＦＬＧ１は、詳しくは後述するが、ホスト装置１２０から受信した印刷データに基づいた印刷時におけるインク使用量の推定値が、サブタンク６７内のインク残量未満である場合にはオンにセットされ、インク使用量の推定値がサブタンク６７内のインク残量以上である場合にはオフにセットされるフラグである。そして、インク管理部９０は、サブタンク残量フラグＦＬＧ１がオフである場合（ステップＳ１２０；ＮＯ）には、サブタンク６７内のインク残量が少ないと判断し、その処理を後述するステップＳ１３０に移行する。一方、インク管理部９０は、サブタンク残量フラグＦＬＧ１がオンである場合（ステップＳ１２０；ＹＥＳ）には、サブタンク６７内のインク残量が多いと判断し、その処理を次のステップＳ１２５に移行する。
【０１０４】
ステップＳ１２５において、インク管理部９０は、印刷中であるか否かを判定する。そして、インク管理部９０は、印刷中である場合（ステップＳ１２５；ＹＥＳ）にはインク検査処理ルーチンを一旦終了し、印刷中ではない場合（ステップＳ１２５；ＮＯ）にはその処理を次のステップＳ１３０に移行する。
【０１０５】
ステップＳ１３０において、インク管理部９０は、再書き込み処理（第２の処理）を行う。したがって、本実施形態では、ステップＳ１３０が、第２のステップに相当する。次のステップＳ１３５において、インク管理部９０は、再書き込みフラグＦＬＧ２をオンにセットし、その処理を次のステップＳ１４０に移行する。すなわち、本実施形態では、印刷が行われていない場合（印刷終了後も含む。）に、第２の処理が行われる。
【０１０６】
ステップＳ１４０において、インク管理部９０は、上記チェック処理を行う。すなわち、インク管理部９０の検査部１５２は、第２メモリー１４２の第１領域１４５に記憶される検査プログラムを実行し、各インクカートリッジＩＣ１〜ＩＣ８の適切性を判断（チェック）するチェック処理を行う。このとき、検査部１５２は、自身が管理する全てのインクカートリッジＩＣに対してチェック（検査）を行ってもよいし、今回交換されたインクカートリッジＩＣにのみチェックを行ってもよい。そして、検査部１５２は、不適切カートリッジの存在を検知した場合には、その旨を示すエラーコードをメカ制御部８３に出力する。その後、インク管理部９０は、インク検査処理ルーチンを終了する。したがって、本実施形態では、ステップＳ１４０が、第１のステップに相当する。
【０１０７】
次に、主制御部８２が実行する印刷処理ルーチンについて、図８に示すフローチャートに基づき説明する。
さて、主制御部８２は、ホスト装置１２０からの印刷データの受信が完了したタイミングで、印刷処理ルーチンを行う。初めのステップＳ２００において、主制御部８２は、再書き込みフラグＦＬＧ２がオフであるか否かを判定する。このとき、マスター側の主制御部８２は、スレーブ側の再書き込みフラグＦＬＧ２がオフであるか否かの情報を通信Ｉ／Ｆ部８７を介して要求し、スレーブ側の再書き込みフラグＦＬＧ２を取得する。同様に、スレーブ側の主制御部８２は、マスター側の再書き込みフラグＦＬＧ２がオフであるか否かの情報を通信Ｉ／Ｆ部８７を介して要求し、マスター側の再書き込みフラグＦＬＧ２を取得する。そして、主制御部８２は、マスター側及びスレーブ側の各再書き込みフラグＦＬＧ２が共にオフである場合（ステップＳ２００；ＹＥＳ）には、その処理を後述するステップＳ２２０に移行する。これは、マスター側でもスレーブ側でも、第１メモリー１４１の第１領域１４５に書き込まれた検査プログラムが異常ではない、又は異常が検知されていないと判断されたためである。一方、主制御部８２は、マスター側及びスレーブ側のうち少なくとも一方の再書き込みフラグＦＬＧ２がオンである場合には、その処理を次のステップＳ２０５に移行する。これは、マスター側及びスレーブ側のうち少なくとも一方で、第１メモリー１４１の第１領域１４５に書き込まれた検査プログラムの異常が検知されたためである。
【０１０８】
ステップＳ２０５において、主制御部８２は、上記ステップＳ１４０のチェック処理の開始前から、次回用の印刷データの受信が開始されていたか否かを判定する。そして、主制御部８２は、次回用の印刷データを受信していない場合（ステップＳ２０５；ＮＯ）にはその処理を後述するステップＳ２２０に移行する一方、次回用の印刷データの受信が開始されていた場合（ステップＳ２０５；ＹＥＳ）にはその処理を次のステップＳ２１０に移行する。
【０１０９】
ステップＳ２１０において、主制御部８２は、ホスト装置１２０側に次回用の印刷データの送信を再要求する。次のステップＳ２１５において、主制御部８２は、次回用の印刷データの受信が完了したか否かを判定する。そして、主制御部８２は、次回用の印刷データの受信が完了するまでステップＳ２１０の判定処理を繰り返し、次回用の印刷データの受信が完了した場合（ステップＳ２１５；ＹＥＳ）には、その処理を次のステップＳ２２０に移行する。
【０１１０】
ステップＳ２２０において、主制御部８２は、現時点で、第２メモリー１４２の第１領域１４５に書き込まれた検査プログラムが正常であるか否かを、インク管理部９０に問い合わせて判定する。そして、主制御部８２は、検査プログラムが正常である場合（ステップＳ２２０；ＹＥＳ）にはその処理を次のステップＳ２２５に移行する一方、検査プログラムが異常である場合（ステップＳ２２０；ＮＯ）にはその処理を後述するステップＳ２５０に移行する。
【０１１１】
ステップＳ２２５において、主制御部８２は、インク供給装置３９の駆動を許可する。次のステップＳ２３０において、主制御部８２は、サブタンク残量フラグＦＬＧ１をオンにセットする。そして、次のステップＳ２３５において、主制御部８２は、印刷を許可する旨をメカ制御部８３に出力する印刷許可処理を行う。次のステップＳ２４０において、主制御部８２は、印刷が終了したか否かを判定する。そして、主制御部８２は、印刷が終了した場合（ステップＳ２４０；ＹＥＳ）には印刷処理ルーチンを終了する一方、印刷中である場合（ステップＳ２４０；ＮＯ）にはその処理を前述したステップＳ２２０に移行する。第２メモリー１４２の第１領域１４５の検査プログラムが正常である場合には、インク供給装置３９の駆動が許可された状態、即ちインクカートリッジＩＣ１〜ＩＣ８からサブタンク６７にインクを供給させつつシート１３に対して印刷が行われる。
【０１１２】
ステップＳ２５０において、主制御部８２は、インク供給装置３９の駆動を禁止する。すなわち、第２メモリー１４２の第１領域１４５の検査プログラムが異常である場合には、インクカートリッジＩＣ１〜ＩＣ８からサブタンク６７へのインク供給が禁止される。次のステップＳ２５５において、主制御部８２は、各サブタンク６７内におけるインク残量Ｉｚを取得する。このとき、マスター側コントローラー４１の主制御部８２は、スレーブ側コントローラー４２側から該スレーブ側コントローラー４２で管理するサブタンク６７のインク残量Ｉｚも取得する。同様に、スレーブ側コントローラー４２の主制御部８２は、マスター側コントローラー４１側から該マスター側コントローラー４１で管理するサブタンク６７のインク残量Ｉｚも取得する。
【０１１３】
次のステップＳ２６０において、主制御部８２は、各サブタンク６７内のインク残量Ｉｚだけで、受信した印刷データに基づいた印刷が可能であるか否かを判定する。そして、主制御部８２は、印刷可能と判定した場合（ステップＳ２６０；ＹＥＳ）にはその処理を前述したステップＳ２３０に移行する。すなわち、第２メモリー１４２の第１領域１４５の検査プログラムが異常である場合には、サブタンク６７内に貯留されるインクのみで、シート１３に対して印刷が行われる。一方、主制御部８２は、印刷不能と判定した場合（ステップＳ２６０；ＮＯ）にはその処理を次のステップＳ２６５に移行する。
【０１１４】
ステップＳ２６５において、主制御部８２は、サブタンク残量フラグＦＬＧ１をオフにセットし、その後、印刷を行わせることなく、印刷処理ルーチンを終了する。すなわち、印刷が中止される。
【０１１５】
上記実施形態によれば、以下のような効果を得ることができる。
（１）第２メモリー１４２の第１領域１４５に書き込まれた検査プログラムの少なくとも一部が書き換えられた場合には、上記チェック処理が行われない。そのため、書き換えられた検査プログラム、即ち異常と診断された検査プログラムの実行を回避でき、プリンター１１の制御装置Ｃの誤作動を抑制できる。
【０１１６】
（２）印刷中では、第２メモリー１４２の第１領域１４５に書き込まれた検査プログラムが誤って書き換えられる可能性がある。そのため、印刷中に、ＲＯＭ１４０に記憶される検査プログラムを第２メモリー１４２の第１領域１４５に再度書き込ませたとしても、第１領域１４５に書き込まれた検査プログラムが再び書き換えられる可能性がある。そこで、本実施形態では、印刷終了後に、ＲＯＭ１４０に記憶される検査プログラムが第２メモリー１４２の第１領域１４５に再度書き込まれる。その結果、印刷中に印刷に直接関係のないデータの書き換えが行われることが抑制され、印刷時においてプリンター１１を正常に動作させることができる。
【０１１７】
また、印刷が完了してから正常な検査プログラムの実行によってインクカートリッジＩＣの適切性を判断するチェック処理が行われるため、不適切カートリッジが有るか否かを適切に検査できる。
【０１１８】
（３）第２メモリー１４２の第１領域１４５に書き込まれた検査プログラムが異常である場合には、インク供給装置３９の駆動が停止され、インクカートリッジＩＣからサブタンク６７にインクが供給されなくなる。すると、サブタンク６７に貯留されるインクを用いてシート１３に印刷を行うことになる。しかし、サブタンク６７内のインク残量Ｉｚだけでは、印刷を完了させることができないおそれがある。この場合、シート１３への印刷が中止される。そのため、シート１３への印刷が中途半端な状態で停止させる可能性を抑制できる。
【０１１９】
こうして印刷が中止された場合には、ＲＯＭ１４０に記憶される検査プログラムが第２メモリー１４２の第１領域１４５に再度書き込まれ、検査プログラムに基づいたチェック処理が行われる。そして、検査の結果、不適切カートリッジがない場合には、ホスト装置１２０側から印刷データが再受信されると共に、インク供給装置３９の駆動が許可される。この状態で印刷が開始される。したがって、インクカートリッジＩＣ１〜ＩＣ８の検査を適切に行うことができると共に、シート１３に対して印刷を適切に行うことができる。
【０１２０】
（４）第２メモリー１４２の第１領域１４５に書き込まれた検査プログラムが異常である場合には、ＲＯＭ１４０に記憶される検査プログラムが第２メモリー１４２の第１領域１４５に再度書き込まれ、検査プログラムに基づいたチェック処理が行われる。第２メモリー１４２の第１領域１４５における検査プログラムの再書き込みが行われる前から、次回用の印刷データの受信が開始されていた場合には、第１領域１４５に検査プログラムを再度書き込むことによって、受信した次回用の印刷データの少なくとも一部が、検査プログラムの一部に書き換えられる可能性がある。これは、バグなどの原因によって、印刷データの一部が第２メモリー１４２の第１領域１４５に書き込まれている可能性があるためである。そこで、本実施形態では、第１領域１４５に再度書き込まれた検査プログラムに基づいたチェック処理の実行後には、ホスト装置１２０側に対して印刷データの再送信が要求される。そして、再送信された印刷データに基づいて印刷が行われる。そのため、シート１３に適切な画像を印刷させることができる。
【０１２１】
（５）本実施形態では、インクカートリッジＩＣが交換された場合に、第２メモリー１４２の第１領域１４５の検査プログラムが正常であるか否かが判定される。そして、正常ではないと判定された場合には、印刷の終了後などに、第１領域１４５に検査プログラムが再度書き込まれ、該検査プログラムに基づいて不適切カートリッジが存在するか否かが検査される。したがって、インクカートリッジＩＣが交換された場合には、不適切カートリッジが存在するか否かを確実に検査することができる。
【０１２２】
（６）また、本実施形態の制御装置Ｃは、複数のコントローラー４１，４２を備えており、各コントローラー４１，４２で検査プログラムに基づいたインクカートリッジＩＣ１〜ＩＣ８の検査が行われる。このとき、マスター側（又はスレーブ側）で第２メモリー１４２の第１領域１４５における検査プログラムの異常が検知された場合には、その情報がスレーブ側（又はマスター側）にも通知される。そして、各コントローラー４１，４２で、第２メモリー１４２の第１領域１４５における検査プログラムの再書き込みが行われる。また、印刷データの再要求を行う場合でも、コントローラー４１，４２の各々が印刷データの再要求を行う。すなわち、各コントローラー４１，４２は、互いに同期をとりつつ、各処理を行っている。したがって、各コントローラー４１，４２が個別に各種処理を行う場合と比較して、シート１３対する印刷不良の発生する可能性を低減することができる。
【０１２３】
（第２の実施形態）
次に、本発明の第２の実施形態を図９に基づき説明する。なお、第２の実施形態は、インク検査処理ルーチンの内容が第１の実施形態と異なっている。したがって、以下の説明においては、第１の実施形態と相違する部分について主に説明するものとし、第１の実施形態と同一又は相当する部材構成には同一符号を付して重複説明を省略するものとする。
【０１２４】
インク管理部９０が実行するインク検査処理ルーチンについて、図９に示すフローチャートに基づき説明する。
さて、インク管理部９０は、インク検査処理ルーチンを予め設定された所定周期毎に行う。初めのステップＳ３００において、インク管理部９０は、上記ステップＳ１００と同様に、インクカートリッジＩＣが交換されたか否かを判定する。そして、インク管理部９０は、インクカートリッジＩＣが交換されていない場合（ステップＳ３００；ＮＯ）にはインク検査処理ルーチンを終了する一方、インクカートリッジＩＣが交換された場合（ステップＳ３００；ＹＥＳ）にはその処理を次のステップＳ３０５に移行する。
【０１２５】
ステップＳ３０５において、インク管理部９０は、第２メモリー１４２の第１領域１４５に記憶される検査プログラムが正常であるか否かを判定する。そして、インク管理部９０は、第１領域１４５に記憶される検査プログラムが正常である場合（ステップＳ３０５；ＹＥＳ）にはその処理を次のステップＳ３１０に移行する一方、正常ではない場合（ステップＳ３０５；ＮＯ）にはその処理を後述するステップＳ３２０に移行する。したがって、本実施形態では、ステップＳ３０５が、判定ステップに相当する。
【０１２６】
ステップＳ３１０において、インク管理部９０は、第１領域１４５に記憶される検査プログラムが正常であるため、再書き込みフラグＦＬＧ２をオフにセットし、その処理を後述するステップＳ３４０に移行する。
【０１２７】
一方、ステップＳ３２０において、インク管理部９０は、現時点において同時並行で行われる各処理（各タスク）の中で、インクカートリッジＩＣ１〜ＩＣ８を検査するチェック処理の優先順位が１番であるか否かを判定する。具体的には、インク管理部９０は、メカ制御部８３を介して主制御部８２に、チェック処理よりも優先順位の高い処理が実行中であるか否かに関する情報を要求する。そして、インク管理部９０は、チェック処理の優先順位が１番である場合（ステップＳ３２０；ＹＥＳ）にはその処理を後述するステップＳ３２５に移行する。一方、インク管理部９０は、チェック処理の優先順位が１番ではない場合（ステップＳ３２０；ＮＯ）にはインク検査処理ルーチンを一旦終了する。
【０１２８】
なお、チェック処理の優先順位よりも高い優先順位の処理（第３の処理）は、一例として、インク消費量を取得する処理が挙げられる。特に印刷中においては、各記録ヘッド２９からインクが噴射される。本実施形態では、インク消費量は、インクの噴射回数を色毎に計数し、該計数結果に基づき算出している。そして、このように算出されたインク消費量に基づき、インクカートリッジＩＣ１〜ＩＣ８内におけるインク残量が取得される。すなわち、インク消費量の取得は、インクカートリッジＩＣ１〜ＩＣ８の交換タイミングをユーザーに報知させるためには非常に重要な処理である。そのため、インク消費量を取得するための処理は、インクカートリッジＩＣ１〜ＩＣ８を検査するチェック処理よりも優先順位が高めに設定される。
【０１２９】
ステップＳ３２５において、インク管理部９０は、上記ステップＳ１３０と同様に、再書き込み処理を行う。したがって、本実施形態では、ステップＳ３２５が、第２のステップに相当する。次のステップＳ３３０において、インク管理部９０は、再書き込みフラグＦＬＧ２をオンにセットし、その処理を次のステップＳ３４０に移行する。
【０１３０】
ステップＳ３４０において、インク管理部９０は、上記ステップＳ１４０と同様に、チェック処理を行う。したがって、本実施形態では、ステップＳ３２５が、第１のステップに相当する。
【０１３１】
次のステップＳ３５０において、インク管理部９０は、再書き込みフラグＦＬＧ２がオンであるか否かを判定する。そして、インク管理部９０は、再書き込みフラグがオフである場合（ステップＳ３５０；ＮＯ）には、チェック処理（第１の処理）を行うにあたって、再書き込み処理（第２の処理）を行っていないため、インク検査処理ルーチンを一旦終了する。一方、インク管理部９０は、再書き込みフラグＦＬＧ２がオンである場合（ステップＳ３５０；ＹＥＳ）には、チェック処理を行うにあたって、再書き込み処理を行ったため、その処理を次のステップＳ３５５に移行する。ステップＳ３５５において、インク管理部９０は、検査プログラムが異常である旨を示すエラーコードを、メカ制御部８３に出力する、即ち報知処理を行う。その後、インク管理部９０は、インク検査処理ルーチンを一旦終了する。
【０１３２】
メカ制御部８３に出力されたエラーコードは、エラー管理部８６に転送される。そして、エラー管理部８６は、転送されたエラーコードを含むエラーコマンドを主制御部８２に出力する。すると、主制御部８２は、印刷を中止させると共に、エラーコマンドをホスト装置１２０側に送信する。その結果、ホスト装置１２０のモニター１２３には、コントローラー４１，４２内でエラーが発生した旨及び印刷が中止された旨が表示される。
【０１３３】
したがって、本実施形態では、上記第１の実施形態における効果（１）（５）に加え、以下に示す効果を更に得ることができる。
（７）第２メモリー１４２の第１領域１４５の検査プログラムが異常である場合には、第１領域１４５に検査プログラムが再度書き込まれ、該検査プログラムに基づいて不適切カートリッジが存在するか否かが検査される。したがって、インクカートリッジＩＣが交換された場合には、不適切カートリッジが存在するか否かを確実に検査することができる。
【０１３４】
（８）インクカートリッジＩＣ１〜ＩＣ８を検査する処理の優先順位よりも高い優先順位の第３の処理が実行される場合には、該第３の処理が終了するまで、第２メモリー１４２の第１領域１４５への検査プログラムの再書き込みが行われない。これは、ファームプログラム内に存在するバグなどに起因して、第３の処理時に取得されたデータが、第２メモリー１４２の第１領域１４５内に書き込まれている可能性があるためである。この状態で、第１領域１４５への検査プログラムの再書き込みを行った場合には、第３の処理時に取得されたデータが消えてしまい、プリンター１１の制御に支障をきたすおそれがある。したがって、第３の処理をより正確に実行させることができ、ひいてはプリンター１１の誤作動を抑制することができる。
【０１３５】
（９）第３の処理は、インク消費量を取得する処理である。そのため、第２メモリー１４２の第１領域１４５の検査プログラムが異常であるとしても、インク消費量を確実に取得でき、ひいてはインクカートリッジＩＣ１〜ＩＣ８内におけるインク残量を取得することができる。すなわち、インクカートリッジＩＣ１〜ＩＣ８の交換タイミングをユーザーに適切に報知できる。
【０１３６】
（１０）第２メモリー１４２の第１領域１４５に検査プログラムが再度書き込まれ、該検査プログラムに基づいた検査の実行後では、コントローラー４１，４２が正常に動作しないおそれがある。これは、印刷に必要なデータが第２メモリー１４２の第１領域１４５に誤って書き込まれている可能性があるためである。そのため、コントローラー４１，４２内で異常が発生した旨の報知処理が行われる。すなわち、コントローラー４１，４２で異常が発生したことを、ユーザーに認識させることができる。
【０１３７】
なお、上記各実施形態は以下のように変更してもよい。
・第２の実施形態において、インクカートリッジＩＣ１〜ＩＣ８の重量を検出するためのセンサーを設け、該センサーからの検出信号に基づきインクカートリッジＩＣ１〜ＩＣ８内におけるインク残量を検出する場合などには、インク検査処理ルーチンのステップＳ３２０の判定処理を省略してもよい。このように構成しても、インクカートリッジＩＣ１〜ＩＣ８内におけるインク残量を好適に検出できる。
【０１３８】
・第２の実施形態において、インク検査処理ルーチンを、印刷中には行わない制御構成とした場合には、インク検査処理ルーチンのステップＳ３２０の判定処理を省略してもよい。
【０１３９】
・第１の実施形態において、次回印刷用の印刷データが、今回の印刷が完了してからしか受信されない場合には、印刷処理ルーチンからステップＳ２００，Ｓ２０５，Ｓ２１０，Ｓ２１５の各処理を省略してもよい。
【０１４０】
・第１の実施形態において、ステップＳ１２５の判定結果が肯定になった場合には、検査プログラムが異常であることをユーザーに報知させる処理を行ってもよい。
・各実施形態において、インク検査処理ルーチンのステップＳ１００，Ｓ３００の判定処理を、インクカートリッジＩＣ１〜ＩＣ８の交換を検知したか否かを判断する処理以外の他の処理に変更してもよい。例えば、ステップＳ１００，Ｓ３００の判定処理を、印刷データを受信したか否かの判定処理にしてもよい。
【０１４１】
・各実施形態において、第２メモリー１４２の第１領域１４５には、所定のタイミングで実行されるプログラムであれば検査プログラム以外の他のプログラムを書き込ませてもよい。
【０１４２】
・各実施形態において、第２メモリー１４２の第１領域１４５に書き込まれるプログラムは、その先頭に印刷中止用のコードを含んだプログラムであってもよい。この場合、印刷時に第１領域１４５に記憶されるデータが読み込まれると、印刷が中止される。そのため、シート１３に、ユーザーが意図しない画像が誤って印刷されることを抑制できる。
【０１４３】
また、第２メモリー１４２の第１領域１４５に書き込まれるプログラムは、その先頭に空白データ（即ち、０（２進数）が複数個連続するデータ）を含んだプログラムであってもよい。この場合、印刷時に第１領域１４５に記憶されるデータが読み込まれても、記録ヘッド２９からインクが噴射されない。そのため、シート１３に、ユーザーが意図しない画像が誤って印刷されることを抑制できる。
【０１４４】
・各実施形態において、第２メモリー１４２の第１領域１４５に書き込まれる処理データは、所定の画像をシート１３に印刷させるための印刷データであってもよい。
・各実施形態では、第２メモリー１４２の第１領域１４５への検査プログラムの再書き込み時には、マスター側とスレーブ側とで同期をとっているが、同期をとらなくてもよい。この場合、スレーブ側のみで検査プログラムが異常である場合には、スレーブ側で検査プログラムの再書き込みが行われる一方、マスター側では検査プログラムの再書き込みが行われない。
【０１４５】
・各実施形態において、各コントローラー４１，４２は、互いに異なる構成であってもよい。例えば、仮想メカコントローラー８５は、ダミーメカコン部９７を省略した構成であってもよいし、ダミーメカコントローラー９５は、仮想メカコン部９６を省略した構成であってもよい。
【０１４６】
・各実施形態において、制御装置Ｃは、複数（例えば２つ）のスレーブ側コントローラーを備えた構成であってもよい。
・各実施形態において、ＲＡＭ５５は、１つ又は３つ以上の任意数（例えば３つ）のメモリーを含んだ構成であってもよい。また、検査プログラムが書き込まれるデータ領域は、書き換え可能な状態と書き換え不能な状態とをＣＰＵ５３からの指示によって変更できるデータ領域であってもよいし、常に書き換え可能なデータ領域であってもよい。
【０１４７】
・各実施形態において、第１領域１４５は、第２メモリー１４２の先頭に設けなくてもよい。
・各実施形態において、プリンター１１は、複数の記録ヘッド２９を備えた構成であれば、シリアル方式のプリンターであってもよいし、印刷時に記録ヘッド２９が移動しない所謂ライン方式のプリンターであってもよい。
【０１４８】
・各実施形態では、プリンター１１として、インクジェット式プリンターが採用されているが、インク以外の他の流体を噴射したり吐出したりする流体噴射装置を採用してもよい。また、微小量の液滴を吐出させる液体噴射ヘッド等を備える各種の液体噴射装置に流用可能である。この場合、液滴とは、上記液体噴射装置から吐出される液体の状態を言い、粒状、涙状、糸状に尾を引くものも含むものとする。また、ここでいう液体とは、液体噴射装置が噴射させることができるような材料であればよい。例えば、物質が液相であるときの状態のものであればよく、粘性の高い又は低い液状体、ゾル、ゲル水、その他の無機溶剤、有機溶剤、溶液、液状樹脂、液状金属（金属融液）のような流状体、また物質の一状態としての液体のみならず、顔料や金属粒子などの固形物からなる機能材料の粒子が溶媒に溶解、分散または混合されたものなどを含む。また、液体の代表的な例としては上記実施形態で説明したようなインクや液晶等が挙げられる。ここで、インクとは一般的な水性インクおよび油性インク並びにジェルインク、ホットメルトインク等の各種液体組成物を包含するものとする。液体噴射装置の具体例としては、例えば液晶ディスプレイ、ＥＬ（エレクトロルミネッセンス）ディスプレイ、面発光ディスプレイ、カラーフィルタの製造などに用いられる電極材や色材などの材料を分散または溶解のかたちで含む液体を噴射する液体噴射装置が挙げられる。さらに、バイオチップ製造に用いられる生体有機物を噴射する液体噴射装置、精密ピペットとして用いられ試料となる液体を噴射する液体噴射装置、捺染装置やマイクロディスペンサ等であってもよい。さらに、時計やカメラ等の精密機械にピンポイントで潤滑油を噴射する液体噴射装置、光通信素子等に用いられる微小半球レンズ（光学レンズ）などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に噴射する液体噴射装置、基板などをエッチングするために酸又はアルカリ等のエッチング液を噴射する液体噴射装置を採用してもよい。そして、これらのうちいずれか一種の液体噴射装置に本発明を適用することができる。また、流体は、トナーなどの粉粒体でもよい。なお、本明細書でいう流体には、気体のみからなるものは含まないものとする。
【０１４９】
・各実施形態において、プリンター１１は、ドットインパクト方式、レーザー方式などの他の印刷方式のプリンターでもよい。
次に、上記各実施形態及び別の実施形態から把握できる技術的思想を以下に追記する。
【０１５０】
（イ）前記処理データは、前記印刷装置に装着された収容容器を検査するための検査プログラムであり、
前記第１の処理手段は、収容容器の交換後において、前記判定手段によって前記データ領域の前記処理データが書き換えられていないと判定されたときに、前記第１の処理を行うことを特徴とする印刷装置。
【０１５１】
（ロ）複数の情報処理装置を備えた情報処理システムにおいて、
前記各情報処理装置は、請求項１〜請求項９のうち何れか一項に記載の情報処理装置であり、
前記各情報処理装置のうち第１の情報処理装置は、自身の前記データ領域に書き込まれた前記処理データが書き換えられたことを前記判定手段によって判定した場合には、その旨を前記第１の情報処理装置とは異なる第２の情報処理装置に送信し、
前記第１の情報処理装置の前記第２の処理手段は、前記処理データが書き換えられた旨を前記第２の情報処理装置に送信した後に、前記第２の処理を行い、
前記第２の情報処理装置の前記第２の処理手段は、前記第１の情報処理装置側から前記処理データが書き換えられた旨を受信した場合に、前記第２の処理を行うことを特徴とする情報処理システム。
【符号の説明】
【０１５２】
１１…印刷装置としてのインクジェット式プリンター、１３…印刷媒体としてのシート、２９…出力手段を構成する記録ヘッド（印刷ヘッド）、３９…出力手段を構成するインク供給装置、４１，４２…情報処理装置としてのコントローラー、６７…出力手段を構成するサブタンク（貯留部）、８３…制御手段としてのメカ制御部、１２０…他の情報処理装置としてのホスト装置、１４０…第１の記憶手段としてのＲＯＭ、１４２…第２の記憶手段としての第２メモリー、１４５…データ領域としての第１領域、１５０…判定手段としての判定部、１５１…第２の処理手段としてのリード部、１５２…第１の処理手段としての検査部、Ｃ…情報処理システムとしての制御装置、ＩＣ，ＩＣ１〜ＩＣ８…収容容器としてのインクカートリッジ、Ｕ３，Ｕ４…通信手段としてのシリアル通信ポート。
【図１】
2012024957.tif 000003
【図２】
2012024957.tif 000004
【図３】
2012024957.tif 000005
【図４】
2012024957.tif 000006
【図５】
2012024957.tif 000007
【図６】
2012024957.tif 000008
【図７】
2012024957.tif 000009
【図８】
2012024957.tif 000010
【図９】
2012024957.tif 000011