(57)【要約】【課題】プリンタ外部より個有のデータを入力し、記憶させる事により、プリンタのインターフェースの仕様を変えることを目的とする。【解決手段】プリンタに個有のデータを入力する手段と、個有のデータを記憶する手段と、個有のデータを記憶することによって、インターフェースの仕様を変える手段を有する事を特徴とする。【選択図】　　　　図１
2004098380.tif 000002
【特許請求の範囲】
【請求項１】
ホストに接続しているプリンタに対して、外部から固有のデータを入力する手段と、入力された前述の固有のデータを、プリンタに記憶させる手段を有することを特徴とするプリンタシステム。
【請求項２】
請求項１のプリンタにおいて、前述の固有のデータが入力されて記憶された場合に、プリンタのインターフェースの仕様を変えることを特徴とするプリンタシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ等印字装置に関するものであり、特に製品の仕様を変更する技術に関するものである。
【０００２】
【従来の技術】
インクジェット型のプリンタ等比較的安価なプリンタの場合、ホストであるパーソナルコンピュータ（以下ＰＣ）の外部インターフェースであるセントロニクス仕様に準拠したインターフェース（ＩＥＥＥ１２８４仕様）に接続するタイプの、ローカルプリンタと呼ばれる使用形態が一般的である。一方、高速な印刷が可能なレーザービームプリンタ等はネットワークプリンタとして使用される例がある。このネットワークプリンタは、基本的には複数のユーザーによって共同で使用する事を目的としており、プリンタ自体も特定のＰＣに接続されるのではなく、ＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）に接続して使用される場合が多い。
【０００３】
近年、ＰＣから長年使用されてきたインターフェースを廃止して、新しい高機能タイプのインターフェースを採用し、ユーザの使い勝手を向上させようと言う動きが活発である。上記のセントロニクスインターフェースも、廃止されるインターフェースの候補の一つである。新しい高機能タイプのインターフェースとしては、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）やＩＥＥＥ１３９４等がある。
【０００４】
安価なプリンタの場合は、セントロニクスインターフェースの代わりとして、ＵＳＢを使用するケースが増えてきている。ＵＳＢの場合は、活線挿抜が可能なインターフェースであるばかりではなく、接続時に機器の情報をホストに送出する。そのため、ユーザーが特別な操作をしなくとも、ホストで実行されているＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）が自動的に機器を使用するためのドライバをインストールする事も可能となる。ＵＳＢの規格Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ　Ｓｐｅｃｉｆａｔｉｏｎ　ｖｅｒｓｉｏｎ１．０（Ｊａｎｕａｒｙ１９，１９９６）に詳しく書かれている。
【０００５】
従来のセントロニクスインターフェースの場合は、機器が接続されたことを自動的に認識できないため、自動認識を行うためにはＯＳ側でなんらかの手段を用意しなければならない。しかしながら、いかなる手段を用意したとしても、インターフェースの特徴として自動認識ができない以上、ＯＳが一定期間毎に認識を行うための処理を実行するしかない。仮に機器が接続された時に即座に認識する様にするためには、大変短い周期で認識のための処理を実行しなければならなく、ＯＳ全体の実行速度を著しく損なってしまう。そのため、現在ではＯＳがブートする場合、もしくは機器にデータの送出を開始する際に機器のタイプなどの情報を取得するのが一般的である。
【０００６】
一方、高機能インターフェースであるＵＳＢの場合、機器が接続された時点で、Ｄｅｓｃｒｉｐｔｏｒ　ｔａｂｌｅと呼ばれる機器の特性を詳しく記録した情報をＰＣに送り出す仕様となっている。ＯＳが機器の接続を認識し、機器から送り出されてきた情報を受け取り記録しておきさえすれば、いかなるタイミングで機器が接続されようとも、自動的に使用可能な状態をセットアップする事が可能となる。
【０００７】
これをプリンタとＭｉｃｒｏｓｏｆｔ社のＯＳであるＷｉｎｄｏｗｓ（Ｒ）９５を例にして説明するならば、Ｗｉｎｄｏｗｓ（Ｒ）９５が実行されているＰＣに、ＵＳＢインターフェースを持ったプリンタを接続するだけで、即座にプリンタから印刷が可能となる。ドライバが自動的にセットアップされるからである。
【０００８】
一方セントロニクスインターフェースを採用したプリンタの場合、ユーザはプリンタを接続してから、ＯＳを操作してプリンタに適応したドライバを捜し出し、それをセットアップする操作を行わなければならない。プリンタの例をみるだけでも、新しい高機能型のインターフェースであるＵＳＢが、従来型のインターフェースと比べて便利である点が理解できる。
【０００９】
高機能型のインターフェースの一つであるＵＳＢを採用したプリンタが、従来のセントロニクス型インターフェースよりも便利である点は既に説明した通りである。
【００１０】
ＵＳＢの特徴の一つとしては、ＵＳＢ機器を最大１２７台まで一台のホストに接続する事が可能である点があげられる。従って従来のセントロニクスインターフェースを採用した場合と違い、複数の同じ機種のプリンタを一台のホストであるＰＣに接続することが可能である。
【００１１】
これにより、一台は通常のドキュメントを印刷するために最適化した設定をし、もう一台は写真などの画像を印刷するために最適化した設定とする事も可能である。特に一部のインクジェット型プリンタでは、印刷目的別に最適なインクカートリッジを装着できる物もある。この場合、通常の文書を印刷するためには、黒インクだけのインクカートリッジを装着し、写真印刷のためには写真印刷のためのカラーインクカートリッジを装着する事が可能となる。
【００１２】
ＵＳＢインターフェースは活線挿抜が可能なインターフェースであるため、簡単にＵＳＢケーブルをＰＣから抜いて、別なＰＣへ接続する事が可能であり、そのプリンタを再び元のＰＣへ接続し直すことも非常に簡単な作業である。もちろんプリンタドライバ等の設定も、自動的に行われる。
【００１３】
しかしながら、この様にプリンタのレイアウトを自在に変更出きる場合、再度接続されたプリンタが、以前に接続されたプリンタと同じであるかどうか特定する必要がある。
【００１４】
なぜならば、写真印刷用カートリッジが装着されているプリンタをテキスト用設定のプリンタドライバと共に使用した場合、印刷結果が期待していた物と著しく違ってしまうからである。
【００１５】
プリンタの外部からは、どの種類のインクカートリッジが装着されているかどうかは判断できないため、なおさらプリンタの個体を特定する必要がある。
【００１６】
プリンタの個体を特定する方法としては、固有のデータをプリンタに記憶させ、それにより区別する方法が考えられる。固有のデータでかつ識別可能な物の例としては、シリアル番号が考えられる。よって、シリアル番号をプリンタ本体に記録する方法が一般的といえる。しかしながら、従来の生産工程で一台一台にシリアル番号を記録するのは、記録する作業だけでは無く、正しくシリアル番号が記録されたかどうかの確認作業も発生してしまうため、生産コストの増加につながってしまう。
【００１７】
当然、シリアル番号を記録した後の検査で、出荷するには不適切であると判断されたプリンタは出荷されないが、この様な場合のシリアル番号の管理はより複雑となってしまうのは容易に理解できる点である。
【００１８】
【発明が解決しようとする課題】
本発明はこの様な問題点に鑑みて為されるものである。具体的には、生産工程でプリンタにシリアル番号を記録する代わりに、出荷後にシリアル番号を記録する手段を提供するものである。
【００１９】
プリンタが一般消費者に販売される場合、プリンタ本体だけでは無く、プリンタドライバを記録した記録メディア、操作説明書等等も同梱されて販売される。この同梱される物の一つに、ユーザーに対してシリアル番号を知らしめるメディアを追加する。ユーザーはプリンタを使用する際に一度だけ、同梱されているシリアル番号をプリンタに記録する。
【００２０】
これらのシリアル番号は、プリンタ本体の生産工程とは別に、実際に出荷されるプリンタだけに同梱されるために管理も非常に簡単である。
【００２１】
（作用）
これにより、従来からあるセントロニクスインターフェースを採用したプリンタの場合と同様な生産工程を、新しいインターフェースであるＵＳＢを採用したプリンタの生産工程にも採用する事が可能となる。
【００２２】
また、シリアル番号が記録された後のプリンタが、プリンタを特定する事が可能となり機能が向上することが可能となる。そのために、入力したシリアル番号を記錬すると共に、機能が向上した事も記録する。
【００２３】
さらに、プリンタがホストであるＰＣに接続された時点で、インターフェース機能向上が行われた事を、ＰＣに対して通知する。これはＰＣで実行されるプリンタ制御プログラムに対して、新機能を使用できる事の通知であり、この制御プログラムはプリンタを特定する等の機能を提供する事が可能となる。
【００２４】
【発明の実施の形態】
（実施例１）
以下に図面を参照しながら本発明の実施例について説明を行う。
【００２５】
図１は本発明を実施したインクジェットによる印刷機構を有するプリンタの正面外観図である。１は電源スイッチ、２は紙無しエラー等の発生した障害から復帰するためのリセットスイッチである。３は電源投入時に緑色に点灯し、エラーが発生した時にはオレンジ色に点灯するＬＥＤである。印刷データ受信時および印刷時には点滅して、動作の違いをしらしめる。
【００２６】
図２はその背面図である。４はＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）のＡタイプコネクタの接続部であり５はＢタイプコネクタの接続部である。６はセントロニクスタイプのコネクタである。尚、ＵＳＢの規格に関しては、本発明の趣旨とは直接関係が無いので詳細な説明は省く。ＵＳＢの規格にはＵｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ　Ｓｐｅｃｉｆｉｃａｔｉｏｎ　ｖｅｒｓｉｏｎ１．０（Ｊａｎｕａｒｙ　１９，１９９６）に詳しく書かれている。またセントロニクスタイプのインターフェース部はＩＥＥＥ１２８４に準拠している。同様にＩＥＥＥ１２８４規格自体は、本発明とは直接的な関係が無いので、詳細な説明は省略する。
【００２７】
図３はＵＳＢケーブルの外観図である。７はＡタイプのコネクタであり８はＢタイプのコネクタである。
【００２８】
図３のＵＳＢケーブルを用いて図１のプリンタを図４のパーソナルコンピュータへ接続する。図４はパーソナルコンピュータの背面図である。図４の９はＵＳＢのＡタイプのコネクタが上下二段に実装されている例である。図３の７を図４の９の片方へ接続し、図３の８を図２の５へ接続する。同様に図２の４へ別なＵＳＢケーブルのＡタイプコネクタを接続し、同じケーブルのＢタイプコネクタを、同じ形式の別のプリンタへ接続する事も可能である。その様子を図５に示す。図５ではパーソナルコンピュータとプリンタとのＵＳＢ接続の様子を３例示している。図５の１０はＵＳＢケーブルである。１００は図１のプリンタ、２００は図４のＰＣを正面から見た図である。図５に示した３つの接続例のうち、接続例１は２００のパーソナルコンピュータに１００のプリンタを１台接続した例である。接続例２はパーソナルコンピュータの背面にあるＵＳＢコネクタ（図４を参照）を使用して、１００のプリンタを２台接続した例である。接続例３は４台のプリンタ１００を一台のパーソナルコンピュータに、カスケード接続した例である。カスケード接続できるプリンタの台数は４台までである。カスケード接続はプリンタに実装されているＵＳＢインターフェースがＵＳＢハブの機能を持っているからである。ＵＳＢハブは、ＵＳＢの信号を分岐させる機能を有している。図１５は５５のＵＳＢ　ＭＰＵを詳しく示した図である。５５のＵＳＢ　ＭＰＵは５５１のＵＳＢハブと５５２のＵＳＢインターフェースから構成されている。５２（５）の入力は５５１のＵＳＢハブで５１（４）の出力と５５３の出力に分岐される。５１（４）はカスケード接続を行うための外部出力で、５５３は５５のＵＳＢＭＰＵへの出力である。５５２ＵＳＢインターフェースはＵＳＢを経由して送られてきた信号を変換して、４４のインターフェースコントローラへ送る。
【００２９】
この図１のプリンタは印刷用カートリッジを交換することが可能である。そのために、印刷する内容や目的に合わせた最適なカートリッジをプリンタに装着して印刷を行う事が可能である。図６は図１のプリンタに装着可能であるところの印刷カートリッジ各種である。図６の１１は黒インク単色の印刷用カートリッジである。テキストだけのドキュメント等を印刷する場合に最適なカートリッジである。図６の１２は写真画像印刷用のインクカートリッジである。デジタルカメラなどで撮影した画像の印刷には最適なカラーインクカートリッジである。図６の１３は通常のカラー印刷用のカートリッジである。一般的なカラー印刷に用いると、最適な結果を得ることができる物である。本発明を実施した図１のプリンタは、これらのカートリッジを装着することが可能である。その方法は図７に示されている。
【００３０】
図７の１４はカートリッジ交換スイッチである。このスイッチを押す事により、カートリッジ３００がキャリッジ４００の中央へ移動する。これはカートリッジの交換を容易に行うためである。図７の１５はカートリッジを取り外す場合を示している図である。図７の１６はカートリッジを装着している図であり、図７の１７はカートリッジを装着する状態を拡大して図示したものである。
【００３１】
図８は本発明を実施した図１のプリンタのブロック図である。図８の１８は図１の１に相当する電源スイッチである。図８の１９は図７の１４に相当するカートリッジ交換スイッチである。図８の２０は図１の２に相当するリセットスイッチである。図８の２１は電源投入時に緑色に点灯するＬＥＤであり、図１の３に相当する。図８の２２はエラー発生時にオレンジ色に点灯するＬＥＤで、同じく図１の３に相当する。このＬＥＤは単体で緑色とオレンジ色の２色に点灯する事が可能である。図８の２３は図８の１８電源スイッチの操作を図８の３０であるＭＰＵへ伝達する信号線である。この信号は図８の２６の割込み信号として図８の３０であるＭＰＵへ伝達されるため、３０のＭＰＵにおいて、優先的に処理される。図８の２５は図８の２７であるプリンタ制御ゲートアレー、３０のＭＰＵ、２９のＲＯＭを接続するアドレスバスとデータバスである。２９のＲＯＭはＭＰＵの動作、処理を記述したプログラムが記録されている。図８の２７はプリンタ制御ゲートアレーであり、スイッチ、ＬＥＤ、インターフェース、メモリなどの制御機能を有する。図８の２８は図８の３０であるＭＰＵが処理を行う場合にデータ等を一時的に記憶する記憶領域を提供するＲＡＭである。ここのＲＡＭの一部は受信した印刷データを一時的に蓄えておくバッファとしても使用される。図８の３１は図８の３２及び３３であるステップモータの制御を行う信号を伝達する信号線である。３２はインクカートリッジの支持体である図７の１０３であるキャリッジを、図１正面方向から見て左右に移動させるキャリッジモータである。３３は印刷用紙をフィードするフィードモータである。印刷用紙は図１の１００である印刷用紙トレーに収容され、プリンタ内部を通過して１０１の印刷用紙受けに排出される。この印刷用紙の移動を行うのが３３のフィードモータである。図８の３５は図６に示されているインクカートリッジである。このインクカートリッジは、インク自体とそれを吐出するヘッドが一体となった構造である。またインクカートリッジ自体の種別を示すＩＤも記録している。図８の３４は、３５のインクカートリッジにあるヘッドの制御及びＩＤの読み出しを行う制御線である。
【００３２】
図８の３６は一般の家庭に提供されている商用電源である。図８の３７はこの商用電源を図８の３８である直流５ボルトと３９の直流２４ボルトへ変換するＡＣアダプターである。３８は３０のＭＰＵ等の電子部品が動作する為に使用され、２４ボルトは３２などのモータ及び３５のインクカートリッジにあるヘッドを駆動する為に使用される。
【００３３】
図８の４０は４４のインターフェースコントローラのと２５のプリンタ制御ゲートアレーとを接続するインターフェースコントロール信号である。これはインターフェースの動作モードを２７プリンタ制御ゲートアレーが検出する為に用いられる。４１はインターフェースゲートアレーである４４がＰＣから受信したデータを２７へ送るデータバスである。この４４インターフェースコントローラは、４６のセントロニクスコネクタからのデータと５５のＵＳＢ　ＭＰＵからのデータの切り替えを行う物である。この切り替えは４２のアナログスイッチで行う。４４インターフェースコントローラは常に５５ＵＳＢ　ＭＰＵからのデータを優先する様に設計されている。即ちセントロニクスインターフェースである４６と５１のＵＳＢ　Ｂタイプコネクタの両方に印刷データが送られてきた場合には、常にＵＢＳ側を優先し、セントロニクス側からのデータは受信しない。
【００３４】
この切り替えは、４３のセントロニクスインターフェースからの信号線と４７の信号線のステータスを用いて行われる。４５はセントロニクスインターフェースからのデータ信号である。４８は５５のＵＳＢインターフェースを制御するＵＳＢ　ＭＰＵのプログラムが記憶されているフラッシュメモリーである。既に述べたようにＵＳＢにはＡタイプとＢタイプのコネクタがあり、ＰＣもしくは上流の機器には５２Ｂタイプコネクタが接続される。また下流の機器には５１Ａタイプのコネクタから接続される。５３と５４はそれぞれ５１のＡタイプコネクタと５２のＢタイプコネクタへの信号線である。
【００３５】
次に本発明を実施したプリンタドライバを実行するオペレーティングシステム（以下ＯＳと表記する）。マイクロソフト社のＷｉｎｄｏｗｓ（Ｒ）９５の印刷メカニズムに付いて簡単に説明を行う。図９の５６はアプリケーションであり、ユーザーはこの５６アプリケーションでドキュメントの編集等の作業を行う。ユーザは５６のアプリケーションに対して、作成したドキュメントの印刷指示を行う。印刷の指示は印刷を行うプリンタをアプリケーションから指定して行う。指示をする画面の様子を図１０に示す。使用するプリンタ名称が図１０の７７に示されている。
【００３６】
プリンタを指定する事で、ＯＳの描画プロセスであるＧＤＩ（図９の５７）に対して、プリンタの特性に関する情報を渡す。具体的にはカラー印刷が可能であるか、印刷に用いる用紙のサイズなどである。５７のＧＤＩはこれらの情報を元にして、ドキュメントの描画を行う。５７のＧＤＩが描画を行なった結果は、ＯＳ固有のフォーマットであり、このフォーマットは印刷用のみならずＣＲＴモニタ等への表示の為にも用いる事が可能である。
【００３７】
この５７ＧＤＩの出力結果を５９のプリンタドライバへ入力する。このプリンタドライバは、使用するプリンタの機種それぞれに固有であり、通常プリンタメーカが提供するものである。この５９プリンタドライバは５７ＧＤＩからの出力を、プリンタが使用するインクの特性に最適となるように変換を加え、さらにそれらをプリンタへ送り出す印刷データを作成する。
【００３８】
５９プリンタドライバが作成した印刷データは６２のＧＤＩ３２へ渡される。６２のＧＤＩ３２はスプーラプロセスと５９のプリンタドライバのインターフェース的なモジュールである。これは５９のプリンタドライバが１６ｂｉｔアプリケーションであり、６３のスプーラプロセスが３２ｂｉｔアプリケーションである為である。通常１６ｂｉｔアプリケーションは３２ｂｉｔアプリケーションと直接呼び出す事ができない。そのため１６ｂｉｔアプリケーション用から呼び出される部分と、３２ｂｉｔアプリケーションから呼び出される部分の両方を持つ６２のＧＤＩ３２が必要となる。
【００３９】
６２のＧＤＩ３２を経由して６３のスプーラプロセスを送られた印刷データは６５のスプーラへ一旦記録される。印刷データのスプールが終了した後、６３のスプールプロセスは６５のスプーラから印刷データを読み出して、それを６９のＬａｎｇｕａｇｅモニタへ送る。この６９Ｌａｎｇｕａｇｅモニタは、プリンタのステータス、例えば印刷用紙が無くなった場合等の原因で印刷データが受信できない状態等、を検出して必要に応じてユーザーに対して通知したり、印刷データのプリンタへの送出を開始・停止を制御するゲートの役割も持つ。そのために、印刷データの内容を解析する機能も有している。この機能には、印刷データに含まれる制御コマンドを検出し、ページの境界を検出する機能も含まれる。
【００４０】
本発明を実施したプリンタはＵＳＢをインターフェースとしているため、６９のＬａｎｇｕａｇｅモニタはＰＣのＵＳＢポートへ印刷データを送り出す。ポート自体はハードウエアであるため、ポートを直接制御するモジュールは、プリンタドライバが実行されるＲｉｎｇ３では無くて、特権モードといわれるＲｉｎｇ０で実行される。Ｒｉｎｇ３側のアプリやモジュールはＲｉｎｇ０側のモジュールに直接アクセスする事はできないので、ハードウェアであるところの７５ＵＳＢポートをＲｉｎｇ３にあるモジュールに対して仮想化しているのが７０のＵＳＢポートモニタである。Ｒｉｎｇ３側のモジュールは、この７０のＵＳＢポートモニタヘアクセスする事で、直接ハードウェアをアクセスしているのと同等の結果を得る事ができる。７０のＵＳＢポートモニタは７１のＯＳが提供するＷＩＮ３２ＳＰＩヘアクセスする。このモジュールはＲｉｎｇ３とＲｉｎｇ０の橋渡しをするモジュールである。
【００４１】
ＵＳＢのハードウエアである７５のデバイスドライバはＯＳベンダから提供される。７４のＵＳＢ共通ドライバは、ＵＳＢのハードウエアを直接制御するモジュールである。７４ＵＳＢ共通ドライバの提供する機能を統合して、プリンタ向けの機能を提供しているのが、７２のＵＳＢプリンタドライバである。７２のＵＳＢプリンタドライバは、７１のＷｉｎ３１ＡＰＩ経由で送られてきた印刷データを７４のＵＳＢ共通ドライバへ送り出す事とで、最終的には７６のプリンタへ印刷データが送られて印刷が行われる。７８はプリンタ固有の番号であるシリアル番号をユーザがプリンタに送り、記録するためのシリアル番号入力アプリケーションである。
【００４２】
図１１はＷｉｎｄｏｗｓ（Ｒ）９５におけるプリンタ用ポートの情報がレジストリに記録されている情報の例を示している。プリンタ用ＵＳＢのポートはＵＳＢＰＲＮ０１からＵＳＢＰＲＮｌ０までの１０ポート用意されている。これらＵＳＢＰＲＩＮ０ｌ等のポート名称は、図５のようにカスケード接続されたプリンタを区別するために、便宜的手に付けた名称であり、実際のＵＳＢインターフェースは一つだけである。ＯＳにおけるプリンタの管理方法は、ポート毎にプリンタが一台接続されると言う方法であるため、印刷データの送り先としてＯＳレベルでプリンタを識別する方法は、ポート名称を用いていて行う。
【００４３】
これらのポートの割り当て方法について説明を行う。パーソナルコンピュータに図１のプリンタが１台だけ接続されている場合には、このプリンタにはＵＳＢＰＲＮ０１のポートが割り当てられる。さらにもう１台接続された場合にはＵＳＢＰＲＮ０２が割り当てられる。同様に接続するプリンタの台数が増えるにつれて、ポート番号は順次増加する。このように割り当てられるポート番号は、特定の時点でもっとも古く接続されたプリンタがもっとも小さいポート番号を占有する。
【００４４】
またＵＳＢＰＲＮ０１のポートを割り当てられたプリンタのパーソナルコンピュータとの接続をやめた場合、ＵＳＢＰＲＮ０１は消滅する。しかし次にプリンタが接続された場合には、ＵＳＢＰＲＮ０１が復活して使用可能となる。
【００４５】
なお、既に説明したように、同時に使用できるプリンタは最大４台までである。
【００４６】
図１２はＵＳＢＰＲＮ０１に接続しているプリンタに関する情報である。この情報も図１１と同じくＷｉｎｄｏｗｓ（Ｒ）９５のレジストリに記録されている。１４１は接続しているポート名称である。また１４２は使用しているプリンタドライバの名称である。１４３は登録されているプリンタの名称を示している。１４４はこのプリンタのシリアル番号を示している。１４４では既にシリアル番号が入力されており、レジストリに記録されている例を示している。入力されていない場合には、このシリアル番号の欄には、数値は記録されていない。１４５はシリアル番号がプリンタに登録されている場合には、プリンタの接続レイアウトが変吏になった場合にも、プリンタを特定できる事を示しているフラグである。ＴｒａｃｋｉｎｇＯｎが１の場合には特定が可能で、０の場合には不可能である。
【００４７】
ポート及びプリンタに関するレジストリの情報は、プリンタがＰＣに接続され、電源が投入されている間のみに存在している。プリンタの接続が解除された場合、もしくはプリンタの電源が切られた場合は、これらのポートは無くなり、付プリンタに関する情報も消去される。
【００４８】
ＵＳＢプリンタがホストであるＰＣに接続されると、ＰＣは接続されたプリンタのＵＳＢインターフェースに関する情報と、プリンタに関する情報を要求する。そららの情報は全てＤｅｓｃｒｉｐｔｏｒ　ｔａｂｌｅと呼ばれているデータ形式によってＰＣに送られる。
【００４９】
プリンタがＰＣに接続された場合、ＰＣ側のＵＳＢインターフェースを制御するプログラムはプリンタに対してＤｅｓｃｒｉｐｔｏｒ　ｔａｂｌｅを取得するコマンドを送る。Ｄｅｓｃｒｉｐｔｏｒ　ｔａｂｌｅを取得するコマンドは以下の８バイトである。
【００５０】
【表１】
2004098380.tif 000003
【００５１】
２バイトの値であるｗＶａｌｕｅの上位バイトはＤｅｓｃｒｉｐｔｏｒのタイプであり、下位バイトはインデックスである。
【００５２】
資料１Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ　Ｓｐｅｃｉｆａｔｉｏｎｖｅｒｓｉｏｎ１．０のＴａｂｌｅ４の１６にｉＳｅｒｉａｌＮｕｍｂｅｒの欄がある。ここにはシリアル番号を記したＳＴＲＩＮＧ　ｄｅｓｃｒｉｐｔｏｒへのＩｎｄｅｘが示されている。先ず上記コマンドでＤｅｓｃｒｉｐｔｏｒ　ＴｙｐｅにＤｅｖｉｃｅ　Ｄｅｓｃｒｉｐｔｏｒ　Ｔｙｐｅを指定し、Ｄｅｓｃｒｉｐｔｏｒ　Ｉｎｄｅｘには０を指定して、Ｄｅｖｉｃｅ　Ｄｅｓｃｒｉｐｔｏｒを取得する。次にＤｅｓｃｒｉｐｔｏｒ　ＴｙｐｅにＳＴＲＩＮＧ　ｄｅｓｃｒｉｐｔｏｒを、Ｄｅｓｃｒｉｐｔｏｒには１６の欄に示された値を指定して、シリアル番号を記したＳＴＲＩＮＧ　Ｄｅｓｃｒｉｐｔｏｒを得る。シリアル番後はＵＮＩＣＯＤＥ形式で記されている。
【００５３】
プリンタ本体にシリアル番号が記録されていない場合には、Ｔａｂｌｅ４の１６の欄には０が記録されている。
【００５４】
Ｓｔｒｉｎｇ　Ｄｅｓｃｒｉｐｔｏｒのフォーマットは以下の通りである。
【００５５】
【表２】
2004098380.tif 000004
【００５６】
プリンタが接続されてから、ユーザーがシリアル番号を入力するまでの処理は図１３のフローチャートを用いて説明を行う。
【００５７】
先ず始めにプリンタが接続されたことを検出する。Ｓｌにてプリンタの接続検出を行い、Ｓ２で接続されたかどうかをのチェックを行う。接続が検出された後の次のステップとして、Ｓ３でＤｅｖｉｃｅ　Ｄｅｓｃｒｉｐｔｏｒを取得する。Ｓ４でｉＳｅｒｉａｌ　Ｎｕｍｂｅｒのフィールドが０で無い場合は、既にシリアル番号がプリンタに記録されているので、Ｓ５でシリアル番号のＳｔｒｉｎｇ　Ｄｅｓｃｒｉｐｔｏｒを取得する。そしてＳ６でシリアル番号をレジストリの１４４へ記録する。
【００５８】
ｉＳｅｒｉａｌ　Ｎｕｍｂｅｒのフィールドが０の場合は、プリンタにシリアル番号が設定されていないので、１４４には０を記録する。
【００５９】
次にＳ８でＣｏｎｆｉｇｕｒａｔｉｏｎ　Ｄｅｓｃｒｉｐｔｏｒを取得、Ｓ９でＩｎｔｅｒｆａｃｅ　Ｄｅｓｃｒｉｐｔｏｒを取得する。ＩｎｔｅｒｆａｃｅＤｅｓｃｒｉｐｔｏｒ　ｔａｂｌｅは資料１Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ　Ｓｐｅｃｉｆａｔｉｏｎ　ｖｅｒｓｉｏｎ１．０のｔａｂｌｅ６である。第７フィールドのｂＩｎｔｅｒｆａｃｅ　Ｐｒｏｃｏｔｏｌにはインターフェースの機能についての設定項目がある。シリアル番号が設定されているプリンタは０２の双方向インターフェース機能をサポートしている。シリアル番号が設定されていない場合には、０１の単一方向インターフェースのみサポートしている。Ｓｌ０にてｂＩｎｆｅｔｆａｃｅ　Ｐｒｏｔｏｃｏｌが２の場合には、レジストリの１４５に１を設定して、プリンタの個体を特定できる事を示す。
【００６０】
ｂＩｔｅｒｆａｃｅ　Ｐｒｏｔｏｃｏｌが０の場合には、１４５に０を設定する。
【００６１】
次にＳ１３にてＥｎｄＰｏｉｎｔ　Ｄｅｓｃｒｉｐｔｏｒを取得する。以上でプリンタから取得しなければならない全てのＤｅｓｃｒｉｐｔｏｒ　ｔａｂｌｅの取得は終了した。続いて接続したプリンタにシリアル番号が記録されていない場合には、ユーザに対してシリアル番号の入力を要求する。Ｓ１４でレジストリの１４４をチェックして、シリアル番号の存在を確認する。既にシリアル番号が記録されている場合には、プリンタ接続処理を終了する。
【００６２】
シリアル番号が記録されていない場合には、Ｓ１５にて図１４の様なシリアル番号入力用のメッセージを表示する。ユーザはシリアル番号が書かれている書類などを参照して、１４５の欄にシリアル番号を入力する。プリンタにシリアル番号を記録する場合には、１４７のＯＫを押下し、登録しない場合には１４８のキャンセルを押下する。Ｓ１６にてシリアル番号が入力をチェックし、入力されない場合には、処理を終了する。シリアル番号が入力された場合には、Ｓ１７でレジストリの１４４にシリアル番号を記録し、Ｓ１８で同じ番号をプリンタに送信する。プリンタでは送られたシリアル番号をプリンタ内にある４８の不挿発性記憶デバイスに記録する。さらにＳ１９では既にシリアル番号が設定されているので１４５に１を設定する。
【００６３】
以上の説明はプリンタが接続された時点の処理について、ＰＣ側において説明を行った物である。続いて図１５のフローチャートにおていて、プリンタ側の処理について説明を行う。
【００６４】
プリンタがＰＣに接続された後に、プリンタのＵＳＢインターフェースはコマンドの受信モードに入る。Ｓ３０でコマンドを受信して、要求されたＤｅｓｃｒｉｐｔｏｒのタイプに対応したＤｅｓｃｒｉｐｔｏｒ　ＴａｂｌｅをＰＣに送り出す。Ｓ３９において、要求された内容がＳｔｒｉｎｇ　Ｄｅｓｃｒｉｐｔｏｒの場合には、Ｓ４０にてＩｎｄｅｘ値から送り返すＳｔｒｉｎｇ　Ｄｅｓｃｒｉｐｔｏｒの種類を決定する。Ｓ４２でコマンドがシリアル番号設定コマンドと判断された場合には、Ｓ４３でシリアル番号を４８の不挿発性メモリに記録して、さらにｂＩｎｔｅｒｆａｃｅ　Ｐｒｏｔｏｃｏｌを０２とする。これによりインターフェースの機能が変化した事を通知する事が可能となる。
【００６５】
Ｓ４５ではインターフェースの切断要求がＰＣから送られてきた時は、インターフェースの機能を停止する。
【００６６】
５６のアプリケーションから印刷を行う場合、作成したドキュメントを最初に印刷する場合には、７７でプリンタを選択した時点において、シリアル番号が作成したドキュメントの情報の一部として記録される。選択可能なプリンタは既にレジストリに登録されているために、選択したプリンタのシリアル番号を得ることは可能である。
【００６７】
このドキュメントを再度印刷を行う場合には、明示的にプリンタを選択しなければ、前回使用したプリンタを自動的に選択して印刷を行う。また７７で示したように、印刷に際してプリンタを明示的に選択した場合には、選択したプリンタのシリアル番号が既にドキュメントの一部として記録されているシリアル番号に置き換わる。
【００６８】
印刷時にプリンタの特定を行うのは、７０のポートモニタで行われる。この処理の説明は図１６のフローチャートを用いて行う。
【００６９】
Ｓ１７０でドキュメントデータに記録されているシリアル番号を取得する。次にＳ１７１でレジストリをスキャンする。Ｓ１７２で同一のシリアル番号を持つプリンタが存在するかどうかを調べ、もし存在する場合にはＳ１７４でレジストリから接続されているポート番号を取得し、それを出力ポートとして選択し、Ｓ１７５でそのポートに印刷データを出力する。
【００７０】
該当するプリンタが存在しない場合には、Ｓ１７３でプリンタが存在しないメッセージを表示する。ユーザが印刷を中止する選択をした場合には、Ｓ１７６で判定して印刷を終了する。ユーザが印刷を継続する場合には、Ｓ１７７で該当するプリンタの接続要求メッセージを表示する。
【００７１】
【発明の効果】
以上説明したように、従来からのインターフェースを採用したプリンタと、新しいインターフェースを採用したプリンタを、同じ様な条件で生産を行う場合において、新しいインターフェースだけに対応した固有のデータをプリンタに記録する処理を、生産工程で行うのではなく、出荷後にユーザーの操作で行うことにより、固有のデータの管理を容易にすると共に、生産工程の大幅な変更も行う必要が無くなる。
【００７２】
さらに、固有のデータをプリンタに記録する事で、インターフェースの機能を向上させ、ユーザの使い勝手を向上させることが可能である。
【図面の簡単な説明】
【図１】本発明を実施したプリンタの正面図。
【図２】プリンタの背面図。
【図３】プリンタのインターフェースであるＵＳＢのケーブルの外観図。
【図４】ＰＣの背面にあるＵＳＢコネクタの図。
【図５】ＵＳＢプリンタの接続例を示す図。
【図６】プリンタに装着可能なカートリッジの外観図。
【図７】カートリッジの脱着方法を示した図。
【図８】プリンタの電気回路ブロック図。
【図９】実施例１のプリンタドライバのブロック図。
【図１０】アプリケーションから前述のプリンタドライバを用いて印刷を行う際に表示されるダイアログの図。
【図１１】レジストリに記錬されたプリンタポートの例。
【図１２】レジストリに記録されたプリンタの情報の例。
【図１３】プリンタがＰＣに接続された時点のＰＣ側の処理を示したフローチャート。
【図１４】シリアル番号入力のためのメッセージ。
【図１５】プリンタがＰＣに接続された時点のプリンタ側の処理を示したフローチャート。
【図１６】アプリケーションからの印刷時における、プリンタ特定の処理を示したフローチャート。
【図１】
2004098380.tif 000005
【図２】
2004098380.tif 000006
【図３】
2004098380.tif 000007
【図４】
2004098380.tif 000008
【図５】
2004098380.tif 000009
【図６】
2004098380.tif 000010
【図７】
2004098380.tif 000011
【図８】
2004098380.tif 000012
【図９】
2004098380.tif 000013
【図１０】
2004098380.tif 000014
【図１１】
2004098380.tif 000015
【図１２】
2004098380.tif 000016
【図１３】
2004098380.tif 000017
【図１４】
2004098380.tif 000018
【図１５】
2004098380.tif 000019
【図１６】
2004098380.tif 000020