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