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