以下、本発明の実施の形態について、図面を参照して詳細に説明する。
図1は、本発明を適用可能な印刷装置、ならびに印刷装置と情報処理装置とからなる印刷システムの概略構成を示す図であり、本発明の実施に必要な主な構成部を図示したものである。
まず、印刷装置であるインクジェットプリンタ1000(以下、プリンタ)について説明する。プリンタ1000は、プリンタ1000の制御を司るCPU1010、プリンタ全体の制御プログラムを格納したROM1020、プリンタ1000動作時に各種のデータ書込みや読出しが行われるRAM1030、通信手段であるUSB(Universal Serial Bus)I/F1040、着脱可能な印字ヘッド1050と印字ヘッド1050をプリンタ1000に固定する印字ヘッドホルダ1060からなる。なお、プリンタ1000の制御を司るCPU1010は、通信手段、印刷装置制御手段、判別手段、通信制御手段を実現する。各部はシステムバス1070により接続されている。また、装置識別情報および機種設定情報はそれぞれROM1020上の装置識別情報記憶部1021、機種設定情報記憶部1022に記憶される。機種情報はRAM1030上の機種情報記憶部1031に記憶される。
つぎに、情報処理装置であるホストコンピュータ1100について説明する。CPU1110はホストコンピュータ1100全体の制御を司っている。HDD(Hard Disk Drive)1120、FDD(Floppy(登録商標) Disk Drive)1130はブートプログラム、各種のアプリケーションソフト、画像情報や印刷設定ファイル、プリンタドライバ (印刷制御コマンド生成プログラム)1121などを格納している。なお、これらのファイルを記憶する構成は、HDDやFDDに限らず、情報を格納して保持することが可能な他の媒体であってもよい。ROM1140は各種のデータやプログラムを記憶している。RAM1150では各種のデータの書込みや読出しが行われる。VRAM1160には画像表示や印刷設定画面をユーザに提供するCRT1170が接続されている。また、USB I/F1180は外部と通信を行うための通信手段である。さらに、RAM1150ではUSBのPnP(Plug and Play)に対応したOS(Operation System)が動作している。PnPモジュール1151は、PnPに関するOSの主要部分である。なお、PnPはホストコンピュータに接続されたデバイスを自動的に検出する機能である。つまり、図1の印刷システムでは、情報処理装置であるホストコンピュータ1100に接続される機器は印刷装置であるプリンタ1000であることから、PnPモジュール1151によって検出されるデバイスはプリンタ1000ということになる。一般的な印刷システムでは、外部デバイスであるプリンタを検出すると、PnP機能により自動的にホストコンピュータにプリンタドライバがインストールされる。システムバス1190はプリンタ1000の各構成部を相互に接続している。
プリンタ1000とホストコンピュータ1100は通信媒体であるUSBケーブル1200により接続される。ホストコンピュータ1100がインターフェースを介してプリンタ1000に対して印刷要求を送信することで、プリンタ1000は印刷を行う。
印刷システムが印刷可能な状態にあるものとして印刷動作について概説する。ユーザはCRT1170に表示された設定画面において印刷するための設定を行う。設定項目は印刷用紙の大きさ、用紙の種類、画質、印刷部数などである。プリンタドライバ1121はユーザが適切な設定を行えるように選択肢を用意し、設定画面をCRT1170に表示する。
設定が終了し、ユーザにより印刷実行が命令されると前述の設定により印刷設定情報が作成される。そして、印刷要求、印刷設定情報そして画像データがUSBケーブル1200を通してプリンタ1000へ送信される。印刷要求、印刷設定情報そして画像データを受信すると、プリンタ1000のCPU1010は印刷設定情報を解釈し、設定情報にあわせて画像データを変換する。そして、印字ヘッド1050を動作させて印刷を行う。
次に、プリンタ1000についてより詳細に説明する。
プリンタ1000は、染料機あるいは顔料機として動作可能なプリンタである。つまり、プリンタ1000は染料機あるいは顔料機のいずれかの機種として動作できる。ここで、染料機とは染料インクを使用して印刷ができるように構成された印刷装置を指し、顔料機とは顔料インクを使用して印刷ができるように構成された印刷装置を指すものとする。
染料機と顔料機の相違点は、使用するインクが染料インクであるか顔料インクであるかの違いの他に、使用するインク種により印字ヘッドの駆動条件や画像処理方法などが異なることにある。後述する機種確定シーケンスにより、プリンタ1000の機種は、染料機、顔料機のいずれかに設定される。設定の違いにより、プリンタ1000は染料、顔料それぞれのインクに適した印刷を行うことができる。
また、上述したような内部処理の設定のほかにも最適な印刷を行うために必要な項目がある。例えば、印字ヘッド1050は染料インクと顔料インクそれぞれに専用の印字ヘッドが用意されている。
印字ヘッド1050(以下、記録ヘッドとも言う)はROM1051を塔載しており、染料インク専用印字ヘッドあるいは顔料インク専用印字ヘッドであることを機種情報である機種IDとして記憶している。ROM1050に記憶されている機種IDはプリンタ1000のCPU1010により読出し可能である。
前述したように、印字ヘッド1050は着脱可能であり、印字ヘッドホルダ1060に装着して使用される。ユーザは印字ヘッド1050を印字ヘッドホルダ1060に装着することでプリンタの機種を確定できる。つまり、染料機・顔料機の2機種のうち、染料インク専用印字ヘッドを装着することで染料機を選択し、顔料インク専用印字ヘッドを装着することで顔料機を選択することが可能である。印字ヘッド1050がプリンタ1000に装着された際の機種確定シーケンスについては後述する。
機種設定情報記憶部1022は染料機・顔料機としての機種情報である機種IDと前記インク種に依存した機種設定情報との対応テーブルを記憶している。
機種情報記憶部1031はプリンタ1000の機種IDを記憶している。ここで、機種未確定時には機種未確定であることを示すIDが機種情報記憶部1031に記憶されている。
装置識別情報記憶部1021は、装置識別情報を記憶している。装置識別情報とは、ホストコンピュータに接続される様々な周辺機器とインクジェットプリンタ1000を区別するための機器の種類(機種情報を含む)、製造元情報などである。
前述したように、ホストコンピュータ1100はUSBのPnPに対応しており、プリンタ1000が接続されるとOSの処理により自動的にプリンタドライバ1121をインストールすることができる。ホストコンピュータ1100におけるプリンタドライバ1121の自動インストールはつぎのような処理で行われる。
ホストコンピュータ1100とプリンタ1000の電源が入っている状態で、USB I/F1180とUSB I/F1040がUSBケーブル1200で接続されていると、PnPモジュール1151は装置識別情報を取得するために装置識別情報取得要求をプリンタ1000へUSB I/F1180を通して送信する。装置識別情報取得要求は、ホストコンピュータ1100のUSB I/F1180からUSBケーブル1200を介してプリンタ1000のUSB I/F1040へ送られる。
プリンタ1000のCPU1010はUSB I/F1040を通して装置識別情報取得要求を受信すると、USB I/F1040を通してホストコンピュータ1100へ応答内容を送信する。前記応答内容は、装置識別情報記憶部1021から機種情報記憶部1031に記憶している機種IDに合致する機種の装置識別情報であり、CPU1010により生成される。プリンタ1000の装置識別情報は、プリンタ1000のUSB I/F1040からUSBケーブル1200を介してホストコンピュータ1100のUSB I/F1180へ送られる。
USB I/F1180を介してプリンタ1000の装置識別情報を取得すると、ホストコンピュータ1100のCPU1110はPnPモジュール1151を用いて対応するプリンタドライバインストーラを起動し、プリンタドライバ1121のインストールを行う。
これより本発明にかかるプリンタ1000の機種確定・通信制御シーケンスについて図2、図3を用いて説明する。
図2は、本発明におけるプリンタ1000の機種確定シーケンスを説明するフローチャートである。
ユーザによりプリンタ1000の電源が入れられることにより、プリンタ1000のCPU1010は、プリンタ1000の各初期化処理を行う。その際、機種に依存した初期化を行うために、機種情報記憶部1031に記憶されている機種IDを取得する(ステップS201)。
つぎに、ステップS202で、ステップS201において取得された機種IDの内容により機種が確定している状態であるか、未確定の状態であるかを判別する。機種IDが機種未確定であることを示すIDでなければ、機種が確定していると判別して、処理をステップS207へ進める。
ステップS202において、機種IDが機種未確定であることを示すIDであれば、機種が未確定であると判別して、ステップS203へ処理を移行し、印字ヘッド1050が印字ヘッドホルダ1060に装着されているかを判別する。
ステップS203において、印字ヘッド1050が装着されていない場合には、続くステップS204において、機種情報記憶部1031への書込みを行わずに、未確定機種としてプリンタ1000を起動する。
一方、ステップS203において印字ヘッド1050が装着されていると判定された場合には、続くステップS205で、システムバス1070および印字ヘッドホルダ1060を介して、印字ヘッド1050に搭載されているROM1051から機種IDを読み込む。そして、ステップS206で、ステップS205において取得された機種IDを機種情報記憶部1031へ書き込む。この処理によりプリンタ1000の機種が確定したことになる。
最後に、ステップS207で、取得した機種IDに基づき機種設定情報記憶部1022から機種設定情報を取得する。当然、取得した機種設定情報は、機種IDが染料機のIDであれば染料機として適切に動作できるようにプリンタ1000を設定するための情報、顔料機のIDであれば顔料機として適切に動作できるようにプリンタ1000を設定するための情報である。そして、取得した機種設定情報を用いて機種IDが染料機のIDならば染料機としてプリンタ1000を設定し、起動する。機種IDが顔料機のIDであれば顔料機としてプリンタ1000を設定し、起動する。
図3は、本発明の通信制御シーケンスである。
まず、プリンタ1000のCPU1010は、ステップS301で、プリンタ1000のUSBI/F1200を介してホストコンピュータ1100のUSB I/F1180から送信された通信情報を受信する。
続くステップS302では、受信した情報の中に、装置識別情報を問い合わせる要求があるかを判別する。このステップS302において、ステップS301で受信した通信情報に装置識別情報の要求が無ければ、処理をステップS303へ進め、受信した通信情報に対して通常の処理を行う。
一方、ステップS302において、装置識別情報を要求するものであると判定したとき、続くステップS304で、機種情報記憶部1021に記憶されている機種IDを取得する。
そして、ステップS305で、ステップS304において取得された機種IDの内容により機種が確定された状態であるか、未確定の状態であるかを判別する。機種IDが機種未確定であることを示す場合には、機種未確定として、ステップS306で、ホストコンピュータ1100からの装置識別情報要求に応答しないでつぎの通信処理に移る。
一方、機種IDが機種未確定を示すIDではない場合には機種が確定しているものとして、ステップS307で、装置識別情報要求に対する応答内容を生成し、USB I/F1040を介して生成した応答内容をホストコンピュータ1100へ送信する。応答内容は、ステップS304において取得した機種IDが染料機のIDであれば染料機の装置識別情報、顔料機のIDであれば顔料機の装置識別情報が装置識別情報記憶部1021より読み出され、生成される。
以上の構成により装置本体としては、機種未確定の状態であるか機種が確定した状態であるかに応じて、ホストコンピュータから要求される機種識別情報に対する処理を異ならせる。すなわち、機種が未確定の状態で機種識別情報を要求されたとき、その要求に応じないようにすることで、ホストコンピュータに不要な設定ファイルが作成されることはなく、また、機種が確定している状態で機種識別情報が要求されたときに、その要求に対して応答することで、ホストコンピュータは接続されている装置を認識することが可能となる。
次に、本発明の第2の実施例について、図を参照して説明する。
本実施例を適用可能な印刷装置、および印刷システムは、実施例1において説明した図1の構成と同様である。図4は、本実施例の特徴的構成を説明するフローチャートであり、プリンタ1000の起動時の動作シーケンスである。
ステップS401では、プリンタ1000の電源が入れられることによりプリンタ1000の各種初期化処理を行う。この初期化処理は、CPU1010によって実行される。このステップS401では、機種に依存した初期化を行うために、機種情報記憶部1031に記憶されている機種IDを取得する。
ステップS402で、ステップS401において取得された機種IDの内容により機種が確定されている状態であるか、未確定の状態であるかを判別する。
機種IDが機種未確定であることを示すIDではない場合は、機種が確定しているものと判定して、処理をステップS403へ進め、先のステップS401において取得された機種IDに基づいて機種設定情報記憶部1022から機種設定情報を取得する。当然、取得した機種設定情報は、機種IDが染料機のIDであれば染料機として適切に動作できるようにプリンタ1000を設定するための情報、顔料機のIDであれば顔料機として適切に動作できるようにプリンタ1000を設定するための情報である。そして、取得した機種設定情報を用いて機種IDが染料機のIDならば染料機としてプリンタ1000を設定し、起動する。機種IDが顔料機のIDであれば顔料機としてプリンタ1000を設定し、起動する。
ステップS402において機種が未確定の状態であると判定したとき、続くステップS404で、未確定機種としてプリンタ1000を起動する。この際、通信手段(USB I/F1040)は動作不能として起動する。また、この場合には、機種が確定していないため、機種に依存した初期化処理も実行しない。また、機種情報記憶部1031への書込みは行わない。
起動されたのステップS405では、印字ヘッド1050が印字ヘッドホルダ1060に装着されているかを判別する。なお、この判別処理は、システムバス1070を介して、印字ヘッドホルダ1060への装着状態を監視することで行なわれる。ここで、印字ヘッド1050が装着されていない場合には印字ヘッド1050が印字ヘッドホルダ1060に装着されるまで待機する。この待機の処理では、印字ヘッド1050が印字ヘッドホルダ1060に装着されることを監視する。また同時に、限られた範囲でのプリンタとしての通常処理を行う。
ステップS405において、印字ヘッド1050が装着されていると判定した場合には、続くステップS406で、印字ヘッド1050に搭載されているROM1051から機種IDを読み込む。
そして、次のステップS407において、ステップS406において取得された機種IDを機種情報記憶部1031へ書き込む。この処理によりプリンタ1000の機種が確定することになる。
次のステップS408では、先のステップS406において取得した機種IDに基づき機種設定情報記憶部1022から機種設定情報を取得し、確定された機種として装置を再起動する。
当然、取得した機種設定情報は、機種IDが染料機のIDであれば染料機として適切に動作できるようにプリンタ1000を設定するための情報、顔料機のIDであれば顔料機として適切に動作できるようにプリンタ1000を設定するための情報である。そして、取得した機種設定情報を用いて機種IDが染料機のIDならば染料機としてプリンタ1000を設定し、起動する。機種IDが顔料機のIDであれば顔料機としてプリンタ1000を設定し、起動する。
上記実施例2においては、プリンタの起動時において、機種が未確定の場合には、通信手段を動作させないようにして起動することにより、プリンタにホストコンピュータが接続されたとしても、通信は行なわれないことになる。従って、機種が未確定の状態にあるプリンタにおいて、接続されたホストコンピュータに不要な設定ファイルが作成することもなければ、不要な通信処理も行なわれない。また、機種が確定した際に、プリンタを再度起動させる処理を実行することで、確定した機種として動作可能となるため、その後にホストコンピュータと接続された場合には、適切なプラグアンドプレイの処理が実行されることになる。
上述の実施例では述べていないが、プリンタ1000は機種確定にあたり使用するインクの種類との整合を図る手段を備えてもよい。また、機種を設定する手段はここではROM1051を搭載した印字ヘッド1050を用いたが、プリンタ1000に機種設定のスイッチを実装するなど、プリンタ1000を使用する前にユーザが機種を設定できる手段であれば他の手段でもよい。
次に、本発明の実施例3について、図を参照して詳細に説明する。
図9は、本発明を適用可能なプリンタ1000と、ホストコンピュータ1100とからなる印刷システムの概略構成を示すブロック図である。図9において、図1の印刷システムと共通の構成については同符号を付している。図1に示した印刷システムとの相違点は、プリンタ1000に、インクタンク1080を装着するためのインクタンク装着部であるインクタンクホルダ1090と、ユーザI/Fであるパネル1041とを設けたことにある。なお、インクタンク1080は、インクタンクホルダ1090に対して着脱可能に構成されている。インクタンク1080は、印字ヘッド1050へ供給するインクを収容するものであり、その収容する形態については、既知の様々な形態を採用することができる。なお、実施例1において説明した他の構成については、その詳細な説明を省略する。
本実施例で説明するプリンタ1000は、先の実施例と同様に、染料機あるいは顔料機のいずれかの機種として動作可能である。ここで、染料機とは染料インクを使用して印刷ができるように構成された印刷装置を指し、顔料機とは顔料インクを使用して印刷ができるように構成された印刷装置を指すものとする。また、染料機と顔料機とは、使用するの違いの他に、使用するインク種により印字ヘッドの駆動条件や画像処理方法などが異なる。後述する機種確定シーケンスにより、プリンタ1000の機種は染料機・顔料機のいずれかに設定される。設定の違いにより、プリンタ1000は染料・顔料それぞれのインクに適した印刷を行うことができる。
また、インクはインクタンク1050に入れられて用意される。インクタンク1050はROM1051を塔載しており、染料機用のインク(染料インク)のインクタンクあるいは顔料機用のインク(顔料インク)のインクタンクであることを機種情報である機種IDとして記憶している。ROM1051に記憶されている機種IDはプリンタ1000のCPU1010により読出し可能である。
次に、本実施例におけるシーケンスについて、図5のフローチャートを参照して説明する。
図5は、本実施例におけるプリンタ1000の機種確定シーケンスである。この図5に示す処理は、プリンタの機種確定の際に、使用するインクの種類と記録ヘッドとの整合を図るものである。なお、使用するインクの種類は、インクを収容するインクタンクに設けられた記憶手段であるROMからIDを読み取ることによって判別できる。
ユーザによりプリンタ1000の電源が入れられることにより処理が開始され、ステップS501では、プリンタ1000のCPU1010により、プリンタ1000の各初期化処理が行なわれる。この初期化処理において、機種に依存した初期化を行うために、機種情報記憶部1031に記憶されている機種IDを取得する。
続く、ステップS502〜506、及びステップS513は、図2に示したステップS202〜206、及びステップS207と同様であり、その詳細な説明は省略する。なお、ステップS502〜S506では、機種が確定されているか否かを判定して、機種が確定していない場合に、印字ヘッドの装着の有無を判断して、装着されている印字ヘッドから機種IDを取得して記憶する処理が行われる。また、印字ヘッドが装着されていない場合には、未確定機種として動作する点も、実施例1で説明した図2の処理と同様である。
ステップS506において印字ヘッドから取得した機種IDを記憶する処理が実行された後、次のステップS507では、インクタンク1080がインクタンクホルダ1090に装着されているかを判定する。ここで、インクタンク1080が装着されていない場合には、機種が確定できないものとして、処理をステップS504へ進め、未確定機種としてプリンタを起動する。
ステップS507において、インクタンク1080が装着されていると判定した場合には、続くステップS508で、システムバス1070およびインクタンクホルダ1090を介して、インクタンク1080に搭載されているROM1081から機種IDを読み込む。そして、続くステップS209で、ステップS508において取得された機種IDを機種情報一時記憶部1032のインクタンク用の領域へ書き込む。
つぎに、ステップS510で、機種設定情報一時記憶部1032に記憶されている印字ヘッド1050とインクタンク1080から取得した機種IDを取得し、処理をステップS511へ進める。ステップS511では、ステップS510において取得された機種IDの整合性を判別する。ここでは、印字ヘッド1050とインクタンク1080の機種IDが共に染料機のIDである場合、あるいは共に顔料機のIDである場合に、印字ヘッドとインクの種類との整合性が取れていると判定する。また、印字ヘッド1050とインクタンク1080の機種IDが前記以外の組み合わせの場合に整合性が取れていないと判別する。
ステップS511において整合性が取れていないと判定した場合には、先述したステップS504の処理を行う。また、ステップS511において整合性が取れていると判別した場合には、ステップS512で、機種情報一時記憶部1032に記憶されている機種IDを機種情報記憶部1031へ書き込む。この際、前述したように機種情報一時記憶部1032に記憶されている印字ヘッド1050の機種IDとインクタンク1080の機種IDは等しい。この処理によりプリンタ1000の機種が確定する。
次に、ステップS513で、取得した機種IDに基づき機種設定情報記憶部1022から機種設定情報を取得する。当然、取得した機種設定情報は、機種IDが染料機のIDであれば染料機として適切に動作できるようにプリンタ1000を設定するための情報、顔料機のIDであれば顔料機として適切に動作できるようにプリンタ1000を設定するための情報である。そして、取得した機種設定情報を用いて機種IDが染料機のIDならば染料機としてプリンタ1000を設定し、起動する。機種IDが顔料機のIDであれば顔料機としてプリンタ1000を設定し、起動する。
本実施例における通信制御のシーケンスは、実施例1で図3を参照して説明した処理と同様であり、ホストコンピュータ1010から機種識別情報の要求があった場合には、機種が確定しているか否かを判定し、判定結果に従って処理が行われる。ここでは、実施例1と同様に、機種が確定している場合には確定された機種の装置識別情報をホストコンピュータ1010へ送信し、機種が確定していない未確定の状態にあるときは、装置識別情報の要求に対して応答しないように制御される。
以上のように、インクを収容するインクタンクを着脱可能に装着する構成において、印字ヘッドとインクの種類との整合性を判断して、印字ヘッドに対応したインクの種類のインクタンクが装着された場合に、機種が確定される。
次に、本発明の実施例4を、図を参照して詳細に説明する。
本実施例を適用可能なプリンタ、ならびに印刷システムの構成は、先の実施例3において参照した図9と同様であり、その詳細な説明は省略する。
本実施例は、図4を参照して説明した実施例2に対して、印字ヘッドと、使用するインクとの整合性を判断し、整合する場合に機種を確定する構成を付加したものである。なお、機種が確定されていない場合に通信手段を動作させないように制御する構成は実施例2と同様である。
図6は、本実施例の特徴的構成を説明するためのフローチャートであり、プリンタ1000の起動時のシーケンスを示す。
図6に示すステップS601〜607は、先に説明した図4のステップS401〜407と同様の処理であり、その説明は省略する。
ステップS607において、印字ヘッドから取得した機種IDを記憶した後、続くステップS608では、インクタンクが装着されているか否かを判断する。このステップS608で、インクタンク1080が装着されていない場合にはインクタンク1080がインクタンクホルダ1090に装着されるまで待機する。この待機の処理は、インクタンク1080がインクタンクホルダ1090に装着されることを監視するものであり、この待機中には、限られた範囲でのプリンタとしての通常処理を行う。
ステップS608において、インクタンク1080が装着されている場合、もしくは、上述の待機中にインクタンク1080が装着された場合には、処理をステップS609へ進め、インクタンク1080に搭載されているROM1081から機種IDを読み込む。続くステップS410では、ステップS409において取得された機種IDを機種情報一時記憶部1032のインクタンク用の領域へ書き込む。
次に、ステップS411で、機種設定情報一時記憶部1032に記憶されている印字ヘッド1050とインクタンク1080から取得した機種IDを取得し、ステップS412で機種IDの整合性を判定する。このステップS412で、印字ヘッド1050から取得した機種IDと、インクタンク1080から取得した機種IDとが整合しない場合は、処理をステップS415へ進める。
ステップS615では、図9に示すパネル1041により、整合のとれた印字ヘッドを装着しなおす必要があることを知らせるメッセージ表示し、ユーザに印字ヘッドを交換する必要があることを伝える。なお、ここでは、印字ヘッドを装着しなおすことを表示する例を示したが、印字ヘッドとインクタンクとが整合しないことを知らせるメッセージを表示するようにしてもよい。
ステップS615でメッセージを表示した後、続くステップS616では、印字ヘッド1050が印字ヘッドホルダ1060に再度装着されたかどうかを判定する。印字ヘッドが再装着されない間は印字ヘッド1050が印字ヘッドホルダ1060に再度装着されるまで監視を続ける。この、印字ヘッドが装着されるまでの間には、限られた範囲でのプリンタとしての通常処理を行う。
ステップS616で、印字ヘッド1050が再度装着されたと判定したとき、処理をステップS617へ進める。このステップS617ではステップS615において表示したメッセージを非表示にする。
続いて、印字ヘッド1050に搭載されているROM1051から機種IDを読み込み(ステップS618)、取得した機種IDを機種情報一時記憶部1032の印字ヘッド用の領域へ書き込む(ステップS619)。この際、ステップS607において先に記憶した機種IDは、同じ領域に新たなIDが書き込まれることにより、消去される。上述のステップS615から619の処理により新たに装着された印字ヘッドの機種IDを取得した後、処理をステップS612へ移行し、印字ヘッドから取得した機種IDと、インクを収容するインクタンクから取得した機種IDの整合性を、再度判定する。
ステップS612において整合性が取れていると判定した場合には、次のステップS613で、機種情報一時記憶部1032に記憶されている機種IDを機種情報記憶部1031へ書き込む。この処理によりプリンタ1000の機種が確定する。
続くステップS614では、ステップS613において記憶した機種IDに基づき機種設定情報記憶部1022から機種設定情報を取得し、確定された機種としてプリンタ1000を再び起動する。
この機種設定情報は、機種IDが染料機のIDであれば染料機として適切に動作できるようにプリンタ1000を設定するための情報、顔料機のIDであれば顔料機として適切に動作できるようにプリンタ1000を設定するための情報である。そして、取得した機種設定情報に対応したプリンタとして動作するよう設定し、起動する。
例えば、染料インク専用の印字ヘッドと顔料インクのインクタンクとをプリンタ本体に装着した場合は、印字ヘッドとインクタンクとが整合しない組み合わせであり、この場合は、ユーザがプリンタ本体を、染料機と顔料機のどちらを選択したかが特定できない。従って、印字ヘッドとインクタンクとが整合した組み合わせになるよう、ユーザは印字ヘッド1050あるいはインクタンク1080を装着し直す必要がある。
なお、インクタンク1080がプリンタ1000に装着されると、インクタンク1080内のインクは自然にインクタンクホルダ1090に浸入する。従って、他の種類のインクタンクを装着し直すためには、インクタンクホルダ1090内に入ったインクを取り除き、インクタンクホルダ1090の内部でインクが混ざるのを防ぐ必要がある。また、染料機と顔料機とは、使用するインクの種類が異なることが主な特徴であり、ユーザが使用するインクとは異なる種類のインクタンク1080をプリンタ1000に装着することは稀である。そこで、本実施例では、印字ヘッド1050に記憶された機種IDとインクタンク1080に記憶された機種IDの整合性が取れない場合、本実施例では、ステップS615に示したように、印字ヘッド1050を装着し直すことをユーザへ指示する。
上述の実施例3,4ではインクタンクの個数について言及していないが、プリンタ1000は複数のインクタンクを装着して印刷を行うプリンタであってもよい。この場合、それぞれのインクタンクに搭載されたROMに機種IDが記憶されているものとする。そして、全インクタンクから機種IDを取得し、全機種IDの整合性を判別する。複数のヘッドを装着する場合も同様である。
次に、本発明の実施例5について、図を参照して詳細に説明する。
本実施例で説明する印刷システムの構成は、先の実施例にて説明した図9のシステムと同様である。この印刷システムの概略構成に関する詳細な説明については省略する。
本実施例で説明するプリンタ1000は、先の実施例と同様に、染料機あるいは顔料機のいずれかの機種として動作可能である。また、インクを収容するインクタンク1050はROM1051を塔載しており、染料機用のインク(染料インク)のインクタンクあるいは顔料機用のインク(顔料インク)のインクタンクであることを機種情報である機種IDとして記憶している。ROM1051に記憶されている機種IDはプリンタ1000のCPU1010により読出し可能である。また、先の実施例と同様に、インクタンク1050は着脱可能であり、インクタンクホルダ1060に装着して使用される。ユーザはインクタンク1050をインクタンクホルダ1060に装着することでプリンタの機種を確定できる。つまり、染料機・顔料機の2機種のうち、染料インクのインクタンクを装着することで染料機を選択し、顔料インクのインクタンクを装着することで顔料機を選択することが可能である。
次に、本実施例におけるプリンタ1000の機種確定シーケンスについて図7を参照して説明する。
ユーザによりプリンタ1000の電源が入れられることにより処理が開始される。ステップS701では、プリンタ1000のCPU1010により、プリンタ1000の各初期化処理を行う。その際、機種設定操作に必要な処理を行うタスクだけを起動する。機種設定操作に必要な処理とは、インクタンク1050から機種IDを取得する処理や、プリンタの状態を管理する処理、プリンタ1000に搭載されているユーザI/Fであるパネルの表示処理などである。
そして、ステップS702で、機種情報記憶部1031に記憶されている機種IDを取得する。
続くステップS703では、先のステップS702において取得された機種IDの内容により、プリンタの機種が確定しているか否かを判定する。
機種IDが機種未確定であることを示すIDでなければ、機種が確定していると判定して、処理をステップS704へ進める。このステップS704では、取得した機種IDに基づき機種設定情報記憶部1022から機種設定情報を取得する。そして、取得した機種設定情報を用いて機種IDが染料機のIDならば染料機としてプリンタ1000を設定し、通信手段を制御するタスク以外のタスクを起動する。機種IDが顔料機のIDであれば顔料機としてプリンタ1000を設定し、通信手段を制御するタスク以外のタスクを起動する。そして、続くステップS705で、通信手段を制御するタスクを起動する。
ステップS703において、機種IDが機種が確定していない状態であることを示すIDであるとき、機種が未確定であると判定し、処理をステップS706へ進める。このステップS706では、インクタンク1050がインクタンクホルダ1060に装着されているかを判別する。ステップS706においてインクタンク1050が装着されていない場合には、処理をステップS707へ進め、プリンタ1000が機種が確定していないものとして、残りのタスクを起動する。この際、機種情報記憶部1031への書き込みは行なわれない。
ステップS706において、インクタンク1050が装着されている場合には、処理をステップS708へ進める。このステップS708では、システムバス1070およびインクタンクホルダ1060を介して、インクタンク1050に搭載されているROM1051から機種IDを読み込む。さらに、続くステップS709で、ステップS708で取得した機種IDを機種情報記憶部1031へ書き込み、先述したステップS702の処理を行う。この処理によりプリンタ1000の機種が確定する。
本実施例における通信制御のシーケンスは、実施例1で図3を参照して説明した処理と同様であり、ホストコンピュータ1010から機種識別情報の要求があった場合には、機種が確定しているか否かを判定し、判定結果に従って処理が行われる。ここでは、実施例1と同様に、機種が確定している場合には確定された機種の装置識別情報をホストコンピュータ1010へ送信し、機種が確定していない未確定の状態にあるときは、装置識別情報の要求に対して応答しないように制御される。
以上のように、インクを収容するインクタンクを着脱可能に装着する構成において、装着されているインクタンクから取得した機種IDに従って、プリンタの機種が特定され、また、機種が特定されることに従って、外部のホストコンピュータ等の機器との通信が可能となる。従って、機種が確定するまでは、ホストコンピュータと接続されたとしても通信が行なわれず、ホストコンピュータから機種情報を要求する指示があったとしても、確定していない状態の機種に関する情報を、ホストコンピュータへ送ることはない。
次に、図を参照して本発明の実施例6を説明する。
本実施例において説明する印刷システムは、前述の実施例で参照した図9のシステムと同様であり、その詳細な説明は省略する。
図8は、本実施例の特徴的構成を説明するためのフローチャートである。図8では、プリンタ1000の起動時の動作を説明する。
プリンタ1000の電源が入れられることにより処理が開始され、ステップS801では、CPU1010によりプリンタ1000の各種初期化処理が実行される。この初期化処理では、機種設定操作に必要な処理を行うタスクだけを起動する。機種設定操作に必要な処理とは、インクタンク1050から機種IDを取得する処理や、プリンタの状態を管理する処理、プリンタ1000に搭載されているユーザI/Fであるパネルの表示処理などである。
続くステップS802では、機種情報記憶部1031に記憶されている機種IDを取得し、ステップS803では、先のステップS802において取得された機種IDの内容により、プリンタの機種が確定しているか否かを判定する。
機種が確定していると判定されたときは、処理をステップS804へ進め、先のステップS802において取得された機種IDに基づき機種設定情報記憶部1022から機種設定情報を取得する。このステップS804では、取得した機種設定情報を用いて機種IDが染料機のIDならば染料機としてプリンタ1000を設定し、通信手段を制御するタスク以外のタスクを起動する。なお、機種IDが顔料機のIDならば顔料機としてプリンタ1000を設定し、通信手段を制御するタスク以外のタスクを起動する。そして、続くステップS805で、通信手段を制御するタスクを起動する。
なお、ステップS803においてプリンタの機種が未確定であると判定された場合は、処理をステップS806へ進め、システムバス1070を介して、インクタンク1050がインクタンクホルダ1060に装着されているかを判別する。このステップS806において、インクタンク1050が装着されていない場合にはインクタンク1050がインクタンクホルダ1060に装着されるまで待機する。この待機の処理は、インクタンク1050がインクタンクホルダ1060に装着されることを監視する処理である。また、待機を行なっている間は、限られた範囲でのプリンタとしての通常処理を行う。
ステップS806において、インタンク1050が装着されていると判定した場合は、ステップS807で、インクタンク1050に搭載されているROM1051から機種IDを読み込む。そして、ステップS808で、先のステップS807において取得された機種IDを機種情報記憶部1031へ書き込み、先述したステップS802を行う。この処理によりプリンタ1000の機種が確定することになる。
本実施例の構成によれば、プリンタ1000とホストコンピュータ1100をUSBケーブル1200で接続した状態で、上述したような起動シーケンスによりプリンタ1000を起動することで、機種を確定した後、プリンタ1000を再起動することなく、ホストコンピュータ1100が接続されたプリンタ1000の機種情報を取得することができる。その後、ホストコンピュータ1100に、プリンタ1000の機種に適合したプリンタドライバ1121が自動インストールされる。
上述の実施例5,6において、さらに、使用する印字ヘッドとインクの種類との整合を図ってから、機種を確定するようにしてもよい。さらに、インクタンクを複数装着するプリンタの構成であった場合、全てのインクタンクとの整合を図った結果、機種を確定することが好ましい。また、機種を設定する手段はここではROM1051を搭載したインクタンク1050を用いたが、着脱可能な印字ヘッドや、プリンタ1000に実装した機種設定のスイッチを用いるなど、プリンタ1000を使用する前にユーザが機種を設定できる手段であれば他の手段でもよい。
また、上述した各実施例において、印字ヘッド1050に設けたROM1051から得られるID情報や、インクタンク1080に設けたROM1081から得られるID情報に従って、印刷装置の機種を確定する例を説明したが、取得する情報はID等の固有の情報に限らない。例えば、印字ヘッド1050が顔料用のヘッドであるか、染料用のヘッドであるかを識別したり、インクの種類が顔料インクであるか染料インクであるかを識別することによって機種を確定することも可能である。つまり、印字ヘッドやインクタンクに識別用の抵抗体やバーコード等を付すような構成であっても、情報を取得することは可能である。すなわち、印刷装置に最初に装着した印字ヘッドやインクタンクに従って、印刷装置の機種を確定することができる構成であれば本発明を適用することができる。