JP2004098380A - Printer system - Google Patents

Printer system Download PDF

Info

Publication number
JP2004098380A
JP2004098380A JP2002261295A JP2002261295A JP2004098380A JP 2004098380 A JP2004098380 A JP 2004098380A JP 2002261295 A JP2002261295 A JP 2002261295A JP 2002261295 A JP2002261295 A JP 2002261295A JP 2004098380 A JP2004098380 A JP 2004098380A
Authority
JP
Japan
Prior art keywords
printer
usb
interface
serial number
printing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002261295A
Other languages
Japanese (ja)
Inventor
Naoki Shimada
島田 直樹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002261295A priority Critical patent/JP2004098380A/en
Publication of JP2004098380A publication Critical patent/JP2004098380A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To alter the specification of the interface of a printer by inputting and storing unique data from the outside of a printer. <P>SOLUTION: The printer system comprises a means for inputting unique data to a printer, a means for storing the unique data, and a means for altering the specification of the interface by storing the unique data. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、プリンタ等印字装置に関するものであり、特に製品の仕様を変更する技術に関するものである。
【0002】
【従来の技術】
インクジェット型のプリンタ等比較的安価なプリンタの場合、ホストであるパーソナルコンピュータ(以下PC)の外部インターフェースであるセントロニクス仕様に準拠したインターフェース(IEEE1284仕様)に接続するタイプの、ローカルプリンタと呼ばれる使用形態が一般的である。一方、高速な印刷が可能なレーザービームプリンタ等はネットワークプリンタとして使用される例がある。このネットワークプリンタは、基本的には複数のユーザーによって共同で使用する事を目的としており、プリンタ自体も特定のPCに接続されるのではなく、LAN(Local Area Network)に接続して使用される場合が多い。
【0003】
近年、PCから長年使用されてきたインターフェースを廃止して、新しい高機能タイプのインターフェースを採用し、ユーザの使い勝手を向上させようと言う動きが活発である。上記のセントロニクスインターフェースも、廃止されるインターフェースの候補の一つである。新しい高機能タイプのインターフェースとしては、USB(Universal Serial Bus)やIEEE1394等がある。
【0004】
安価なプリンタの場合は、セントロニクスインターフェースの代わりとして、USBを使用するケースが増えてきている。USBの場合は、活線挿抜が可能なインターフェースであるばかりではなく、接続時に機器の情報をホストに送出する。そのため、ユーザーが特別な操作をしなくとも、ホストで実行されているOS(Operating System)が自動的に機器を使用するためのドライバをインストールする事も可能となる。USBの規格Universal Serial Bus Specifation version1.0(January19,1996)に詳しく書かれている。
【0005】
従来のセントロニクスインターフェースの場合は、機器が接続されたことを自動的に認識できないため、自動認識を行うためにはOS側でなんらかの手段を用意しなければならない。しかしながら、いかなる手段を用意したとしても、インターフェースの特徴として自動認識ができない以上、OSが一定期間毎に認識を行うための処理を実行するしかない。仮に機器が接続された時に即座に認識する様にするためには、大変短い周期で認識のための処理を実行しなければならなく、OS全体の実行速度を著しく損なってしまう。そのため、現在ではOSがブートする場合、もしくは機器にデータの送出を開始する際に機器のタイプなどの情報を取得するのが一般的である。
【0006】
一方、高機能インターフェースであるUSBの場合、機器が接続された時点で、Descriptor tableと呼ばれる機器の特性を詳しく記録した情報をPCに送り出す仕様となっている。OSが機器の接続を認識し、機器から送り出されてきた情報を受け取り記録しておきさえすれば、いかなるタイミングで機器が接続されようとも、自動的に使用可能な状態をセットアップする事が可能となる。
【0007】
これをプリンタとMicrosoft社のOSであるWindows(R)95を例にして説明するならば、Windows(R)95が実行されているPCに、USBインターフェースを持ったプリンタを接続するだけで、即座にプリンタから印刷が可能となる。ドライバが自動的にセットアップされるからである。
【0008】
一方セントロニクスインターフェースを採用したプリンタの場合、ユーザはプリンタを接続してから、OSを操作してプリンタに適応したドライバを捜し出し、それをセットアップする操作を行わなければならない。プリンタの例をみるだけでも、新しい高機能型のインターフェースであるUSBが、従来型のインターフェースと比べて便利である点が理解できる。
【0009】
高機能型のインターフェースの一つであるUSBを採用したプリンタが、従来のセントロニクス型インターフェースよりも便利である点は既に説明した通りである。
【0010】
USBの特徴の一つとしては、USB機器を最大127台まで一台のホストに接続する事が可能である点があげられる。従って従来のセントロニクスインターフェースを採用した場合と違い、複数の同じ機種のプリンタを一台のホストであるPCに接続することが可能である。
【0011】
これにより、一台は通常のドキュメントを印刷するために最適化した設定をし、もう一台は写真などの画像を印刷するために最適化した設定とする事も可能である。特に一部のインクジェット型プリンタでは、印刷目的別に最適なインクカートリッジを装着できる物もある。この場合、通常の文書を印刷するためには、黒インクだけのインクカートリッジを装着し、写真印刷のためには写真印刷のためのカラーインクカートリッジを装着する事が可能となる。
【0012】
USBインターフェースは活線挿抜が可能なインターフェースであるため、簡単にUSBケーブルをPCから抜いて、別なPCへ接続する事が可能であり、そのプリンタを再び元のPCへ接続し直すことも非常に簡単な作業である。もちろんプリンタドライバ等の設定も、自動的に行われる。
【0013】
しかしながら、この様にプリンタのレイアウトを自在に変更出きる場合、再度接続されたプリンタが、以前に接続されたプリンタと同じであるかどうか特定する必要がある。
【0014】
なぜならば、写真印刷用カートリッジが装着されているプリンタをテキスト用設定のプリンタドライバと共に使用した場合、印刷結果が期待していた物と著しく違ってしまうからである。
【0015】
プリンタの外部からは、どの種類のインクカートリッジが装着されているかどうかは判断できないため、なおさらプリンタの個体を特定する必要がある。
【0016】
プリンタの個体を特定する方法としては、固有のデータをプリンタに記憶させ、それにより区別する方法が考えられる。固有のデータでかつ識別可能な物の例としては、シリアル番号が考えられる。よって、シリアル番号をプリンタ本体に記録する方法が一般的といえる。しかしながら、従来の生産工程で一台一台にシリアル番号を記録するのは、記録する作業だけでは無く、正しくシリアル番号が記録されたかどうかの確認作業も発生してしまうため、生産コストの増加につながってしまう。
【0017】
当然、シリアル番号を記録した後の検査で、出荷するには不適切であると判断されたプリンタは出荷されないが、この様な場合のシリアル番号の管理はより複雑となってしまうのは容易に理解できる点である。
【0018】
【発明が解決しようとする課題】
本発明はこの様な問題点に鑑みて為されるものである。具体的には、生産工程でプリンタにシリアル番号を記録する代わりに、出荷後にシリアル番号を記録する手段を提供するものである。
【0019】
プリンタが一般消費者に販売される場合、プリンタ本体だけでは無く、プリンタドライバを記録した記録メディア、操作説明書等等も同梱されて販売される。この同梱される物の一つに、ユーザーに対してシリアル番号を知らしめるメディアを追加する。ユーザーはプリンタを使用する際に一度だけ、同梱されているシリアル番号をプリンタに記録する。
【0020】
これらのシリアル番号は、プリンタ本体の生産工程とは別に、実際に出荷されるプリンタだけに同梱されるために管理も非常に簡単である。
【0021】
(作用)
これにより、従来からあるセントロニクスインターフェースを採用したプリンタの場合と同様な生産工程を、新しいインターフェースであるUSBを採用したプリンタの生産工程にも採用する事が可能となる。
【0022】
また、シリアル番号が記録された後のプリンタが、プリンタを特定する事が可能となり機能が向上することが可能となる。そのために、入力したシリアル番号を記錬すると共に、機能が向上した事も記録する。
【0023】
さらに、プリンタがホストであるPCに接続された時点で、インターフェース機能向上が行われた事を、PCに対して通知する。これはPCで実行されるプリンタ制御プログラムに対して、新機能を使用できる事の通知であり、この制御プログラムはプリンタを特定する等の機能を提供する事が可能となる。
【0024】
【発明の実施の形態】
(実施例1)
以下に図面を参照しながら本発明の実施例について説明を行う。
【0025】
図1は本発明を実施したインクジェットによる印刷機構を有するプリンタの正面外観図である。1は電源スイッチ、2は紙無しエラー等の発生した障害から復帰するためのリセットスイッチである。3は電源投入時に緑色に点灯し、エラーが発生した時にはオレンジ色に点灯するLEDである。印刷データ受信時および印刷時には点滅して、動作の違いをしらしめる。
【0026】
図2はその背面図である。4はUSB(Universal Serial Bus)のAタイプコネクタの接続部であり5はBタイプコネクタの接続部である。6はセントロニクスタイプのコネクタである。尚、USBの規格に関しては、本発明の趣旨とは直接関係が無いので詳細な説明は省く。USBの規格にはUniversal Serial Bus Specification version1.0(January 19,1996)に詳しく書かれている。またセントロニクスタイプのインターフェース部はIEEE1284に準拠している。同様にIEEE1284規格自体は、本発明とは直接的な関係が無いので、詳細な説明は省略する。
【0027】
図3はUSBケーブルの外観図である。7はAタイプのコネクタであり8はBタイプのコネクタである。
【0028】
図3のUSBケーブルを用いて図1のプリンタを図4のパーソナルコンピュータへ接続する。図4はパーソナルコンピュータの背面図である。図4の9はUSBのAタイプのコネクタが上下二段に実装されている例である。図3の7を図4の9の片方へ接続し、図3の8を図2の5へ接続する。同様に図2の4へ別なUSBケーブルのAタイプコネクタを接続し、同じケーブルのBタイプコネクタを、同じ形式の別のプリンタへ接続する事も可能である。その様子を図5に示す。図5ではパーソナルコンピュータとプリンタとのUSB接続の様子を3例示している。図5の10はUSBケーブルである。100は図1のプリンタ、200は図4のPCを正面から見た図である。図5に示した3つの接続例のうち、接続例1は200のパーソナルコンピュータに100のプリンタを1台接続した例である。接続例2はパーソナルコンピュータの背面にあるUSBコネクタ(図4を参照)を使用して、100のプリンタを2台接続した例である。接続例3は4台のプリンタ100を一台のパーソナルコンピュータに、カスケード接続した例である。カスケード接続できるプリンタの台数は4台までである。カスケード接続はプリンタに実装されているUSBインターフェースがUSBハブの機能を持っているからである。USBハブは、USBの信号を分岐させる機能を有している。図15は55のUSB MPUを詳しく示した図である。55のUSB MPUは551のUSBハブと552のUSBインターフェースから構成されている。52(5)の入力は551のUSBハブで51(4)の出力と553の出力に分岐される。51(4)はカスケード接続を行うための外部出力で、553は55のUSBMPUへの出力である。552USBインターフェースはUSBを経由して送られてきた信号を変換して、44のインターフェースコントローラへ送る。
【0029】
この図1のプリンタは印刷用カートリッジを交換することが可能である。そのために、印刷する内容や目的に合わせた最適なカートリッジをプリンタに装着して印刷を行う事が可能である。図6は図1のプリンタに装着可能であるところの印刷カートリッジ各種である。図6の11は黒インク単色の印刷用カートリッジである。テキストだけのドキュメント等を印刷する場合に最適なカートリッジである。図6の12は写真画像印刷用のインクカートリッジである。デジタルカメラなどで撮影した画像の印刷には最適なカラーインクカートリッジである。図6の13は通常のカラー印刷用のカートリッジである。一般的なカラー印刷に用いると、最適な結果を得ることができる物である。本発明を実施した図1のプリンタは、これらのカートリッジを装着することが可能である。その方法は図7に示されている。
【0030】
図7の14はカートリッジ交換スイッチである。このスイッチを押す事により、カートリッジ300がキャリッジ400の中央へ移動する。これはカートリッジの交換を容易に行うためである。図7の15はカートリッジを取り外す場合を示している図である。図7の16はカートリッジを装着している図であり、図7の17はカートリッジを装着する状態を拡大して図示したものである。
【0031】
図8は本発明を実施した図1のプリンタのブロック図である。図8の18は図1の1に相当する電源スイッチである。図8の19は図7の14に相当するカートリッジ交換スイッチである。図8の20は図1の2に相当するリセットスイッチである。図8の21は電源投入時に緑色に点灯するLEDであり、図1の3に相当する。図8の22はエラー発生時にオレンジ色に点灯するLEDで、同じく図1の3に相当する。このLEDは単体で緑色とオレンジ色の2色に点灯する事が可能である。図8の23は図8の18電源スイッチの操作を図8の30であるMPUへ伝達する信号線である。この信号は図8の26の割込み信号として図8の30であるMPUへ伝達されるため、30のMPUにおいて、優先的に処理される。図8の25は図8の27であるプリンタ制御ゲートアレー、30のMPU、29のROMを接続するアドレスバスとデータバスである。29のROMはMPUの動作、処理を記述したプログラムが記録されている。図8の27はプリンタ制御ゲートアレーであり、スイッチ、LED、インターフェース、メモリなどの制御機能を有する。図8の28は図8の30であるMPUが処理を行う場合にデータ等を一時的に記憶する記憶領域を提供するRAMである。ここのRAMの一部は受信した印刷データを一時的に蓄えておくバッファとしても使用される。図8の31は図8の32及び33であるステップモータの制御を行う信号を伝達する信号線である。32はインクカートリッジの支持体である図7の103であるキャリッジを、図1正面方向から見て左右に移動させるキャリッジモータである。33は印刷用紙をフィードするフィードモータである。印刷用紙は図1の100である印刷用紙トレーに収容され、プリンタ内部を通過して101の印刷用紙受けに排出される。この印刷用紙の移動を行うのが33のフィードモータである。図8の35は図6に示されているインクカートリッジである。このインクカートリッジは、インク自体とそれを吐出するヘッドが一体となった構造である。またインクカートリッジ自体の種別を示すIDも記録している。図8の34は、35のインクカートリッジにあるヘッドの制御及びIDの読み出しを行う制御線である。
【0032】
図8の36は一般の家庭に提供されている商用電源である。図8の37はこの商用電源を図8の38である直流5ボルトと39の直流24ボルトへ変換するACアダプターである。38は30のMPU等の電子部品が動作する為に使用され、24ボルトは32などのモータ及び35のインクカートリッジにあるヘッドを駆動する為に使用される。
【0033】
図8の40は44のインターフェースコントローラのと25のプリンタ制御ゲートアレーとを接続するインターフェースコントロール信号である。これはインターフェースの動作モードを27プリンタ制御ゲートアレーが検出する為に用いられる。41はインターフェースゲートアレーである44がPCから受信したデータを27へ送るデータバスである。この44インターフェースコントローラは、46のセントロニクスコネクタからのデータと55のUSB MPUからのデータの切り替えを行う物である。この切り替えは42のアナログスイッチで行う。44インターフェースコントローラは常に55USB MPUからのデータを優先する様に設計されている。即ちセントロニクスインターフェースである46と51のUSB Bタイプコネクタの両方に印刷データが送られてきた場合には、常にUBS側を優先し、セントロニクス側からのデータは受信しない。
【0034】
この切り替えは、43のセントロニクスインターフェースからの信号線と47の信号線のステータスを用いて行われる。45はセントロニクスインターフェースからのデータ信号である。48は55のUSBインターフェースを制御するUSB MPUのプログラムが記憶されているフラッシュメモリーである。既に述べたようにUSBにはAタイプとBタイプのコネクタがあり、PCもしくは上流の機器には52Bタイプコネクタが接続される。また下流の機器には51Aタイプのコネクタから接続される。53と54はそれぞれ51のAタイプコネクタと52のBタイプコネクタへの信号線である。
【0035】
次に本発明を実施したプリンタドライバを実行するオペレーティングシステム(以下OSと表記する)。マイクロソフト社のWindows(R)95の印刷メカニズムに付いて簡単に説明を行う。図9の56はアプリケーションであり、ユーザーはこの56アプリケーションでドキュメントの編集等の作業を行う。ユーザは56のアプリケーションに対して、作成したドキュメントの印刷指示を行う。印刷の指示は印刷を行うプリンタをアプリケーションから指定して行う。指示をする画面の様子を図10に示す。使用するプリンタ名称が図10の77に示されている。
【0036】
プリンタを指定する事で、OSの描画プロセスであるGDI(図9の57)に対して、プリンタの特性に関する情報を渡す。具体的にはカラー印刷が可能であるか、印刷に用いる用紙のサイズなどである。57のGDIはこれらの情報を元にして、ドキュメントの描画を行う。57のGDIが描画を行なった結果は、OS固有のフォーマットであり、このフォーマットは印刷用のみならずCRTモニタ等への表示の為にも用いる事が可能である。
【0037】
この57GDIの出力結果を59のプリンタドライバへ入力する。このプリンタドライバは、使用するプリンタの機種それぞれに固有であり、通常プリンタメーカが提供するものである。この59プリンタドライバは57GDIからの出力を、プリンタが使用するインクの特性に最適となるように変換を加え、さらにそれらをプリンタへ送り出す印刷データを作成する。
【0038】
59プリンタドライバが作成した印刷データは62のGDI32へ渡される。62のGDI32はスプーラプロセスと59のプリンタドライバのインターフェース的なモジュールである。これは59のプリンタドライバが16bitアプリケーションであり、63のスプーラプロセスが32bitアプリケーションである為である。通常16bitアプリケーションは32bitアプリケーションと直接呼び出す事ができない。そのため16bitアプリケーション用から呼び出される部分と、32bitアプリケーションから呼び出される部分の両方を持つ62のGDI32が必要となる。
【0039】
62のGDI32を経由して63のスプーラプロセスを送られた印刷データは65のスプーラへ一旦記録される。印刷データのスプールが終了した後、63のスプールプロセスは65のスプーラから印刷データを読み出して、それを69のLanguageモニタへ送る。この69Languageモニタは、プリンタのステータス、例えば印刷用紙が無くなった場合等の原因で印刷データが受信できない状態等、を検出して必要に応じてユーザーに対して通知したり、印刷データのプリンタへの送出を開始・停止を制御するゲートの役割も持つ。そのために、印刷データの内容を解析する機能も有している。この機能には、印刷データに含まれる制御コマンドを検出し、ページの境界を検出する機能も含まれる。
【0040】
本発明を実施したプリンタはUSBをインターフェースとしているため、69のLanguageモニタはPCのUSBポートへ印刷データを送り出す。ポート自体はハードウエアであるため、ポートを直接制御するモジュールは、プリンタドライバが実行されるRing3では無くて、特権モードといわれるRing0で実行される。Ring3側のアプリやモジュールはRing0側のモジュールに直接アクセスする事はできないので、ハードウェアであるところの75USBポートをRing3にあるモジュールに対して仮想化しているのが70のUSBポートモニタである。Ring3側のモジュールは、この70のUSBポートモニタヘアクセスする事で、直接ハードウェアをアクセスしているのと同等の結果を得る事ができる。70のUSBポートモニタは71のOSが提供するWIN32SPIヘアクセスする。このモジュールはRing3とRing0の橋渡しをするモジュールである。
【0041】
USBのハードウエアである75のデバイスドライバはOSベンダから提供される。74のUSB共通ドライバは、USBのハードウエアを直接制御するモジュールである。74USB共通ドライバの提供する機能を統合して、プリンタ向けの機能を提供しているのが、72のUSBプリンタドライバである。72のUSBプリンタドライバは、71のWin31API経由で送られてきた印刷データを74のUSB共通ドライバへ送り出す事とで、最終的には76のプリンタへ印刷データが送られて印刷が行われる。78はプリンタ固有の番号であるシリアル番号をユーザがプリンタに送り、記録するためのシリアル番号入力アプリケーションである。
【0042】
図11はWindows(R)95におけるプリンタ用ポートの情報がレジストリに記録されている情報の例を示している。プリンタ用USBのポートはUSBPRN01からUSBPRNl0までの10ポート用意されている。これらUSBPRIN0l等のポート名称は、図5のようにカスケード接続されたプリンタを区別するために、便宜的手に付けた名称であり、実際のUSBインターフェースは一つだけである。OSにおけるプリンタの管理方法は、ポート毎にプリンタが一台接続されると言う方法であるため、印刷データの送り先としてOSレベルでプリンタを識別する方法は、ポート名称を用いていて行う。
【0043】
これらのポートの割り当て方法について説明を行う。パーソナルコンピュータに図1のプリンタが1台だけ接続されている場合には、このプリンタにはUSBPRN01のポートが割り当てられる。さらにもう1台接続された場合にはUSBPRN02が割り当てられる。同様に接続するプリンタの台数が増えるにつれて、ポート番号は順次増加する。このように割り当てられるポート番号は、特定の時点でもっとも古く接続されたプリンタがもっとも小さいポート番号を占有する。
【0044】
またUSBPRN01のポートを割り当てられたプリンタのパーソナルコンピュータとの接続をやめた場合、USBPRN01は消滅する。しかし次にプリンタが接続された場合には、USBPRN01が復活して使用可能となる。
【0045】
なお、既に説明したように、同時に使用できるプリンタは最大4台までである。
【0046】
図12はUSBPRN01に接続しているプリンタに関する情報である。この情報も図11と同じくWindows(R)95のレジストリに記録されている。141は接続しているポート名称である。また142は使用しているプリンタドライバの名称である。143は登録されているプリンタの名称を示している。144はこのプリンタのシリアル番号を示している。144では既にシリアル番号が入力されており、レジストリに記録されている例を示している。入力されていない場合には、このシリアル番号の欄には、数値は記録されていない。145はシリアル番号がプリンタに登録されている場合には、プリンタの接続レイアウトが変吏になった場合にも、プリンタを特定できる事を示しているフラグである。TrackingOnが1の場合には特定が可能で、0の場合には不可能である。
【0047】
ポート及びプリンタに関するレジストリの情報は、プリンタがPCに接続され、電源が投入されている間のみに存在している。プリンタの接続が解除された場合、もしくはプリンタの電源が切られた場合は、これらのポートは無くなり、付プリンタに関する情報も消去される。
【0048】
USBプリンタがホストであるPCに接続されると、PCは接続されたプリンタのUSBインターフェースに関する情報と、プリンタに関する情報を要求する。そららの情報は全てDescriptor tableと呼ばれているデータ形式によってPCに送られる。
【0049】
プリンタがPCに接続された場合、PC側のUSBインターフェースを制御するプログラムはプリンタに対してDescriptor tableを取得するコマンドを送る。Descriptor tableを取得するコマンドは以下の8バイトである。
【0050】
【表1】

Figure 2004098380
【0051】
2バイトの値であるwValueの上位バイトはDescriptorのタイプであり、下位バイトはインデックスである。
【0052】
資料1Universal Serial Bus Specifationversion1.0のTable4の16にiSerialNumberの欄がある。ここにはシリアル番号を記したSTRING descriptorへのIndexが示されている。先ず上記コマンドでDescriptor TypeにDevice Descriptor Typeを指定し、Descriptor Indexには0を指定して、Device Descriptorを取得する。次にDescriptor TypeにSTRING descriptorを、Descriptorには16の欄に示された値を指定して、シリアル番号を記したSTRING Descriptorを得る。シリアル番後はUNICODE形式で記されている。
【0053】
プリンタ本体にシリアル番号が記録されていない場合には、Table4の16の欄には0が記録されている。
【0054】
String Descriptorのフォーマットは以下の通りである。
【0055】
【表2】
Figure 2004098380
【0056】
プリンタが接続されてから、ユーザーがシリアル番号を入力するまでの処理は図13のフローチャートを用いて説明を行う。
【0057】
先ず始めにプリンタが接続されたことを検出する。Slにてプリンタの接続検出を行い、S2で接続されたかどうかをのチェックを行う。接続が検出された後の次のステップとして、S3でDevice Descriptorを取得する。S4でiSerial Numberのフィールドが0で無い場合は、既にシリアル番号がプリンタに記録されているので、S5でシリアル番号のString Descriptorを取得する。そしてS6でシリアル番号をレジストリの144へ記録する。
【0058】
iSerial Numberのフィールドが0の場合は、プリンタにシリアル番号が設定されていないので、144には0を記録する。
【0059】
次にS8でConfiguration Descriptorを取得、S9でInterface Descriptorを取得する。InterfaceDescriptor tableは資料1Universal Serial Bus Specifation version1.0のtable6である。第7フィールドのbInterface Procotolにはインターフェースの機能についての設定項目がある。シリアル番号が設定されているプリンタは02の双方向インターフェース機能をサポートしている。シリアル番号が設定されていない場合には、01の単一方向インターフェースのみサポートしている。Sl0にてbInfetface Protocolが2の場合には、レジストリの145に1を設定して、プリンタの個体を特定できる事を示す。
【0060】
bIterface Protocolが0の場合には、145に0を設定する。
【0061】
次にS13にてEndPoint Descriptorを取得する。以上でプリンタから取得しなければならない全てのDescriptor tableの取得は終了した。続いて接続したプリンタにシリアル番号が記録されていない場合には、ユーザに対してシリアル番号の入力を要求する。S14でレジストリの144をチェックして、シリアル番号の存在を確認する。既にシリアル番号が記録されている場合には、プリンタ接続処理を終了する。
【0062】
シリアル番号が記録されていない場合には、S15にて図14の様なシリアル番号入力用のメッセージを表示する。ユーザはシリアル番号が書かれている書類などを参照して、145の欄にシリアル番号を入力する。プリンタにシリアル番号を記録する場合には、147のOKを押下し、登録しない場合には148のキャンセルを押下する。S16にてシリアル番号が入力をチェックし、入力されない場合には、処理を終了する。シリアル番号が入力された場合には、S17でレジストリの144にシリアル番号を記録し、S18で同じ番号をプリンタに送信する。プリンタでは送られたシリアル番号をプリンタ内にある48の不挿発性記憶デバイスに記録する。さらにS19では既にシリアル番号が設定されているので145に1を設定する。
【0063】
以上の説明はプリンタが接続された時点の処理について、PC側において説明を行った物である。続いて図15のフローチャートにおていて、プリンタ側の処理について説明を行う。
【0064】
プリンタがPCに接続された後に、プリンタのUSBインターフェースはコマンドの受信モードに入る。S30でコマンドを受信して、要求されたDescriptorのタイプに対応したDescriptor TableをPCに送り出す。S39において、要求された内容がString Descriptorの場合には、S40にてIndex値から送り返すString Descriptorの種類を決定する。S42でコマンドがシリアル番号設定コマンドと判断された場合には、S43でシリアル番号を48の不挿発性メモリに記録して、さらにbInterface Protocolを02とする。これによりインターフェースの機能が変化した事を通知する事が可能となる。
【0065】
S45ではインターフェースの切断要求がPCから送られてきた時は、インターフェースの機能を停止する。
【0066】
56のアプリケーションから印刷を行う場合、作成したドキュメントを最初に印刷する場合には、77でプリンタを選択した時点において、シリアル番号が作成したドキュメントの情報の一部として記録される。選択可能なプリンタは既にレジストリに登録されているために、選択したプリンタのシリアル番号を得ることは可能である。
【0067】
このドキュメントを再度印刷を行う場合には、明示的にプリンタを選択しなければ、前回使用したプリンタを自動的に選択して印刷を行う。また77で示したように、印刷に際してプリンタを明示的に選択した場合には、選択したプリンタのシリアル番号が既にドキュメントの一部として記録されているシリアル番号に置き換わる。
【0068】
印刷時にプリンタの特定を行うのは、70のポートモニタで行われる。この処理の説明は図16のフローチャートを用いて行う。
【0069】
S170でドキュメントデータに記録されているシリアル番号を取得する。次にS171でレジストリをスキャンする。S172で同一のシリアル番号を持つプリンタが存在するかどうかを調べ、もし存在する場合にはS174でレジストリから接続されているポート番号を取得し、それを出力ポートとして選択し、S175でそのポートに印刷データを出力する。
【0070】
該当するプリンタが存在しない場合には、S173でプリンタが存在しないメッセージを表示する。ユーザが印刷を中止する選択をした場合には、S176で判定して印刷を終了する。ユーザが印刷を継続する場合には、S177で該当するプリンタの接続要求メッセージを表示する。
【0071】
【発明の効果】
以上説明したように、従来からのインターフェースを採用したプリンタと、新しいインターフェースを採用したプリンタを、同じ様な条件で生産を行う場合において、新しいインターフェースだけに対応した固有のデータをプリンタに記録する処理を、生産工程で行うのではなく、出荷後にユーザーの操作で行うことにより、固有のデータの管理を容易にすると共に、生産工程の大幅な変更も行う必要が無くなる。
【0072】
さらに、固有のデータをプリンタに記録する事で、インターフェースの機能を向上させ、ユーザの使い勝手を向上させることが可能である。
【図面の簡単な説明】
【図1】本発明を実施したプリンタの正面図。
【図2】プリンタの背面図。
【図3】プリンタのインターフェースであるUSBのケーブルの外観図。
【図4】PCの背面にあるUSBコネクタの図。
【図5】USBプリンタの接続例を示す図。
【図6】プリンタに装着可能なカートリッジの外観図。
【図7】カートリッジの脱着方法を示した図。
【図8】プリンタの電気回路ブロック図。
【図9】実施例1のプリンタドライバのブロック図。
【図10】アプリケーションから前述のプリンタドライバを用いて印刷を行う際に表示されるダイアログの図。
【図11】レジストリに記錬されたプリンタポートの例。
【図12】レジストリに記録されたプリンタの情報の例。
【図13】プリンタがPCに接続された時点のPC側の処理を示したフローチャート。
【図14】シリアル番号入力のためのメッセージ。
【図15】プリンタがPCに接続された時点のプリンタ側の処理を示したフローチャート。
【図16】アプリケーションからの印刷時における、プリンタ特定の処理を示したフローチャート。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a printing device such as a printer, and more particularly to a technique for changing the specifications of a product.
[0002]
[Prior art]
In the case of a relatively inexpensive printer such as an ink jet printer, a usage form called a local printer of a type connected to an interface (IEEE1284 specification) conforming to the Centronics specification, which is an external interface of a personal computer (hereinafter, PC) as a host, is used. General. On the other hand, there is an example in which a laser beam printer or the like capable of high-speed printing is used as a network printer. This network printer is basically intended to be used jointly by a plurality of users, and the printer itself is used not by connecting to a specific PC but by connecting to a LAN (Local Area Network). Often.
[0003]
In recent years, there has been an active movement to abolish the interface that has been used for many years from PCs, adopt a new high-performance type interface, and improve the usability of the user. The above Centronics interface is also one of the candidates for the interface to be eliminated. As new high-function type interfaces, there are USB (Universal Serial Bus) and IEEE1394.
[0004]
In the case of inexpensive printers, USB is increasingly used instead of the Centronics interface. In the case of USB, not only is the interface capable of hot-swapping, but also device information is sent to the host at the time of connection. Therefore, it is possible for an OS (Operating System) running on the host to automatically install a driver for using the device without a special operation by the user. It is described in detail in the USB standard Universal Serial Bus Specification version 1.0 (January 19, 1996).
[0005]
In the case of the conventional Centronics interface, it is not possible to automatically recognize that a device has been connected. Therefore, in order to perform automatic recognition, some means must be provided on the OS side. However, no matter what kind of means is prepared, the OS must execute a process for recognizing every fixed period because automatic recognition cannot be performed as a feature of the interface. If the device is to be recognized immediately when it is connected, the process for recognition must be executed in a very short cycle, which significantly impairs the execution speed of the entire OS. Therefore, at present, when the OS is booted or when data transmission to the device is started, information such as the device type is generally acquired.
[0006]
On the other hand, in the case of the USB, which is a high-performance interface, when a device is connected, a specification called “Descriptor table” is sent to the PC, which is information in which the characteristics of the device are recorded in detail. As long as the OS recognizes the connection of the device and receives and records the information sent from the device, it can automatically set up a usable state no matter what timing the device is connected. Become.
[0007]
This will be described using an example of a printer and Windows (R) 95, which is an OS of Microsoft Corporation, by simply connecting a printer having a USB interface to a PC running Windows (R) 95, and immediately Can be printed from the printer. This is because the driver is set up automatically.
[0008]
On the other hand, in the case of a printer adopting the Centronics interface, the user must connect the printer, operate the OS, search for a driver suitable for the printer, and perform an operation of setting up the driver. Just looking at the example of a printer, it can be understood that USB, which is a new high-performance interface, is more convenient than a conventional interface.
[0009]
As described above, a printer employing a USB, which is one of high-performance interfaces, is more convenient than a conventional Centronics-type interface.
[0010]
One of the features of USB is that up to 127 USB devices can be connected to one host. Therefore, unlike the case where the conventional Centronics interface is adopted, a plurality of printers of the same model can be connected to one host PC.
[0011]
As a result, it is possible to make settings optimized for printing a normal document on one device and settings optimized for printing an image such as a photograph on the other device. Particularly, in some ink jet printers, there is a printer in which an optimal ink cartridge can be mounted for each printing purpose. In this case, it is possible to mount an ink cartridge containing only black ink to print a normal document, and to mount a color ink cartridge for printing a photo for printing a photograph.
[0012]
The USB interface is a hot-swappable interface, so you can easily disconnect the USB cable from your PC and connect it to another PC, and it is very difficult to reconnect the printer to the original PC again. It's a simple task. Of course, the settings of the printer driver and the like are automatically performed.
[0013]
However, when the layout of the printer can be freely changed in this way, it is necessary to specify whether the printer connected again is the same as the printer connected previously.
[0014]
This is because, when a printer equipped with a photo print cartridge is used together with a printer driver for text setting, the print result is significantly different from the expected result.
[0015]
Since it is not possible to determine from the outside of the printer which type of ink cartridge is mounted, it is necessary to further identify the individual printer.
[0016]
As a method of specifying the individual printer, a method of storing unique data in the printer and discriminating the data based on the stored data can be considered. As an example of the unique data and an identifiable thing, a serial number can be considered. Therefore, it can be said that a method of recording the serial number in the printer body is general. However, recording serial numbers one by one in the conventional production process is not only a task of recording, but also a task of checking whether the serial number has been correctly recorded. It will be connected.
[0017]
Of course, printers that are determined to be unsuitable for shipment during inspection after recording the serial number will not be shipped, but managing serial numbers in such a case can easily become more complicated. It is understandable.
[0018]
[Problems to be solved by the invention]
The present invention has been made in view of such problems. Specifically, instead of recording a serial number on a printer in a production process, a means for recording a serial number after shipping is provided.
[0019]
When a printer is sold to general consumers, not only the printer itself but also a recording medium on which a printer driver is recorded, an operation manual, and the like are bundled and sold. Add a piece of media to let your users know your serial number. The user records the included serial number on the printer only once when using the printer.
[0020]
These serial numbers are very easy to manage because they are included only in the printer actually shipped, separately from the production process of the printer body.
[0021]
(Action)
This makes it possible to adopt the same production process as that of a printer employing a conventional Centronics interface in the production process of a printer employing a new USB interface.
[0022]
Further, the printer after the serial number is recorded can specify the printer, and the function can be improved. For this purpose, the entered serial number is memorized, and the fact that the function is improved is also recorded.
[0023]
Further, when the printer is connected to the host PC, the PC is notified that the interface function has been improved. This is a notification to the printer control program executed on the PC that new functions can be used, and this control program can provide functions such as specifying a printer.
[0024]
BEST MODE FOR CARRYING OUT THE INVENTION
(Example 1)
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0025]
FIG. 1 is a front external view of a printer having a printing mechanism using ink jet according to the present invention. Reference numeral 1 denotes a power switch and reference numeral 2 denotes a reset switch for recovering from a failure in which a paper-out error or the like has occurred. Reference numeral 3 denotes an LED that lights up in green when the power is turned on and lights up in orange when an error occurs. Blinks when receiving print data and when printing, indicating the difference in operation.
[0026]
FIG. 2 is a rear view thereof. Reference numeral 4 denotes a connection portion of a USB (Universal Serial Bus) A-type connector, and reference numeral 5 denotes a connection portion of a B-type connector. Reference numeral 6 denotes a Centronics type connector. Note that the USB standard is not directly related to the gist of the present invention, and thus a detailed description is omitted. The USB standard is described in detail in Universal Serial Bus Specification version 1.0 (January 19, 1996). The Centronics type interface unit conforms to IEEE1284. Similarly, since the IEEE 1284 standard itself has no direct relation to the present invention, a detailed description is omitted.
[0027]
FIG. 3 is an external view of the USB cable. 7 is an A type connector and 8 is a B type connector.
[0028]
The printer of FIG. 1 is connected to the personal computer of FIG. 4 using the USB cable of FIG. FIG. 4 is a rear view of the personal computer. Reference numeral 9 in FIG. 4 shows an example in which USB type A connectors are mounted in two stages, upper and lower. 3 is connected to one of 9 in FIG. 4, and 8 in FIG. 3 is connected to 5 in FIG. Similarly, it is also possible to connect the A type connector of another USB cable to 4 in FIG. 2, and connect the B type connector of the same cable to another printer of the same type. This is shown in FIG. FIG. 5 illustrates three USB connection states between the personal computer and the printer. Reference numeral 10 in FIG. 5 is a USB cable. 100 is the printer of FIG. 1, and 200 is the figure which looked at the PC of FIG. 4 from the front. Of the three connection examples shown in FIG. 5, connection example 1 is an example in which one printer is connected to 200 personal computers. Connection example 2 is an example in which two 100 printers are connected using a USB connector (see FIG. 4) on the back of the personal computer. Connection example 3 is an example in which four printers 100 are cascaded to one personal computer. The number of printers that can be cascaded is up to four. The cascade connection is because the USB interface mounted on the printer has the function of a USB hub. The USB hub has a function of branching USB signals. FIG. 15 is a diagram showing 55 USB MPUs in detail. The 55 USB MPU includes a 551 USB hub and a 552 USB interface. The input of 52 (5) is branched to the output of 51 (4) and the output of 553 by the USB hub of 551. 51 (4) is an external output for performing cascade connection, and 553 is an output to 55 USB MPUs. The 552 USB interface converts the signal sent via USB and sends it to the 44 interface controller.
[0029]
The printer of FIG. 1 can exchange the print cartridge. For this reason, it is possible to perform printing by mounting a cartridge optimal for the content or purpose of printing on the printer. FIG. 6 shows various print cartridges that can be mounted on the printer of FIG. Reference numeral 11 in FIG. 6 is a printing cartridge for a single color of black ink. This cartridge is optimal for printing text-only documents and the like. Reference numeral 12 in FIG. 6 denotes an ink cartridge for printing a photographic image. It is an optimal color ink cartridge for printing images taken by digital cameras and the like. Reference numeral 13 in FIG. 6 is a normal color printing cartridge. When used for general color printing, it is possible to obtain optimal results. The printer of FIG. 1 embodying the present invention can mount these cartridges. The method is shown in FIG.
[0030]
Reference numeral 14 in FIG. 7 denotes a cartridge replacement switch. By pressing this switch, the cartridge 300 moves to the center of the carriage 400. This is to facilitate replacement of the cartridge. Reference numeral 15 in FIG. 7 shows a case where the cartridge is removed. 7 in FIG. 7 is a view in which the cartridge is mounted, and 17 in FIG. 7 is an enlarged view of the state in which the cartridge is mounted.
[0031]
FIG. 8 is a block diagram of the printer of FIG. 1 embodying the present invention. Reference numeral 18 in FIG. 8 denotes a power switch corresponding to 1 in FIG. Reference numeral 19 in FIG. 8 denotes a cartridge exchange switch corresponding to 14 in FIG. Reference numeral 20 in FIG. 8 denotes a reset switch corresponding to 2 in FIG. Reference numeral 21 in FIG. 8 denotes an LED that lights in green when the power is turned on, and corresponds to 3 in FIG. Reference numeral 22 in FIG. 8 denotes an LED that lights up in orange when an error occurs, and also corresponds to 3 in FIG. This LED alone can be lit in two colors, green and orange. Reference numeral 23 in FIG. 8 denotes a signal line for transmitting the operation of the 18 power switch in FIG. 8 to the MPU 30 in FIG. Since this signal is transmitted to the MPU 30 in FIG. 8 as an interrupt signal 26 in FIG. 8, it is processed preferentially in the MPU 30. Reference numeral 25 in FIG. 8 denotes an address bus and a data bus connecting the printer control gate array 27 in FIG. 8, the MPU 30 and the ROM 29. The ROM 29 stores a program describing the operation and processing of the MPU. Reference numeral 27 in FIG. 8 denotes a printer control gate array, which has a control function such as a switch, an LED, an interface, and a memory. Reference numeral 28 in FIG. 8 denotes a RAM that provides a storage area for temporarily storing data and the like when the MPU 30 in FIG. 8 performs processing. A part of the RAM is also used as a buffer for temporarily storing received print data. Reference numeral 31 in FIG. 8 denotes a signal line for transmitting a signal for controlling the step motor, which is 32 and 33 in FIG. Numeral 32 denotes a carriage motor for moving the carriage 103, which is a support of the ink cartridge, 103 in FIG. 7 as viewed from the front in FIG. A feed motor 33 feeds printing paper. The printing paper is stored in a printing paper tray 100 shown in FIG. 1 and is discharged to a printing paper receiver 101 through the inside of the printer. The feed motor 33 moves the printing paper. Reference numeral 35 in FIG. 8 is the ink cartridge shown in FIG. This ink cartridge has a structure in which the ink itself and a head for discharging the ink are integrated. An ID indicating the type of the ink cartridge itself is also recorded. Reference numeral 34 in FIG. 8 is a control line for controlling the head and reading the ID in the ink cartridge 35.
[0032]
Reference numeral 36 in FIG. 8 denotes a commercial power supply provided to ordinary households. Reference numeral 37 in FIG. 8 denotes an AC adapter that converts the commercial power into DC 5 volts 38 shown in FIG. 8 and DC 24 volts 39 shown in FIG. 38 is used to operate 30 electronic components such as MPUs, and 24 volts is used to drive a motor such as 32 and a head in 35 ink cartridges.
[0033]
Reference numeral 40 in FIG. 8 is an interface control signal for connecting the 44 interface controllers to the 25 printer control gate arrays. This is used by the 27 printer control gate array to detect the operating mode of the interface. Reference numeral 41 denotes a data bus for transmitting data received from the PC by the interface gate array 44 to the PC 27. The 44 interface controller switches between data from the 46 Centronics connector and data from the 55 USB MPU. This switching is performed by 42 analog switches. The 44 interface controller is designed to always prioritize data from the 55USB MPU. That is, when print data is sent to both the USB B type connectors 46 and 51, which are the Centronics interfaces, the UBS side is always given priority and data from the Centronics side is not received.
[0034]
This switching is performed using the status of the signal line from the Centronics interface 43 and the signal line 47. 45 is a data signal from the Centronics interface. Reference numeral 48 denotes a flash memory in which a USB MPU program for controlling the 55 USB interface is stored. As described above, USB has A type and B type connectors, and a PC or an upstream device is connected to a 52B type connector. The downstream equipment is connected via a 51A type connector. 53 and 54 are signal lines to 51 type A connectors and 52 type B connectors, respectively.
[0035]
Next, an operating system (hereinafter referred to as an OS) for executing a printer driver embodying the present invention. A brief description of the printing mechanism of Microsoft Windows (R) 95 is provided. Reference numeral 56 in FIG. 9 denotes an application, and the user performs work such as editing a document using the 56 application. The user instructs the 56 applications to print the created document. A print instruction is given by designating a printer for printing from an application. FIG. 10 shows a screen for giving an instruction. The name of the printer to be used is shown at 77 in FIG.
[0036]
By specifying a printer, information about the characteristics of the printer is passed to GDI (57 in FIG. 9), which is a drawing process of the OS. Specifically, the information indicates whether color printing is possible or the size of paper used for printing. The GDI 57 draws a document based on these pieces of information. The result of drawing by the 57 GDI is a format unique to the OS, and this format can be used not only for printing but also for displaying on a CRT monitor or the like.
[0037]
The output result of the 57GDI is input to a printer driver 59. This printer driver is unique to each type of printer used, and is usually provided by a printer manufacturer. The 59 printer driver converts the output from the 57GDI so as to be optimal for the characteristics of the ink used by the printer, and creates print data for sending them to the printer.
[0038]
The print data created by the printer driver 59 is passed to the GDI 32. The GDI 62 is an interface module for the spooler process and the printer driver 59. This is because 59 printer drivers are 16-bit applications and 63 spooler processes are 32-bit applications. Normally, a 16-bit application cannot be called directly with a 32-bit application. Therefore, 62 GDIs 32 having both a part called from a 16-bit application and a part called from a 32-bit application are required.
[0039]
The print data sent to the spooler process 63 via the GDI 32 62 is temporarily recorded on the spooler 65. After the spooling of the print data is completed, the spool process 63 reads the print data from the spooler 65 and sends it to the language monitor 69. The 69 Language monitor detects the status of the printer, for example, a state in which print data cannot be received due to a lack of print paper, etc., and notifies the user if necessary, or sends the print data to the printer. It also has the role of a gate that controls the start and stop of sending. For this purpose, it also has a function of analyzing the contents of print data. This function includes a function of detecting a control command included in print data and detecting a page boundary.
[0040]
Since the printer embodying the present invention uses a USB interface, the language monitor 69 sends print data to the USB port of the PC. Since the port itself is hardware, the module that directly controls the port is executed not in Ring 3 in which the printer driver is executed but in Ring 0 called a privileged mode. Since the Ring3 side application or module cannot directly access the Ring0 side module, 70 USB port monitors virtualize the 75 USB port, which is hardware, for the module in Ring3. The module on the Ring 3 side can obtain the same result as accessing the hardware directly by accessing the 70 USB port monitors. The USB port monitor 70 accesses the WIN32 SPI provided by the OS 71. This module bridges Ring3 and Ring0.
[0041]
75 device drivers, which are USB hardware, are provided by OS vendors. The USB common driver 74 is a module that directly controls USB hardware. The 72 USB printer driver integrates the functions provided by the 74 USB common driver and provides functions for the printer. The USB printer driver 72 sends the print data sent via the Win31 API 71 to the USB common driver 74, and finally the print data is sent to the printer 76 for printing. Reference numeral 78 denotes a serial number input application for a user to send a serial number, which is a number unique to the printer, to the printer for recording.
[0042]
FIG. 11 shows an example of information in which information of a printer port in Windows (R) 95 is recorded in a registry. There are provided 10 USB ports for the printer from USBPRN01 to USBPRN10. These port names such as USBPRIN01 are names given for convenience in order to distinguish cascaded printers as shown in FIG. 5, and there is only one actual USB interface. Since the OS manages a printer by connecting one printer to each port, a method of identifying a printer at the OS level as a destination of print data is performed using a port name.
[0043]
A method for allocating these ports will be described. When only one printer shown in FIG. 1 is connected to the personal computer, a USBPRN01 port is assigned to this printer. If another device is connected, USBPRN02 is assigned. Similarly, as the number of connected printers increases, the port number sequentially increases. The port numbers assigned in this manner are such that the oldest connected printer at a particular point in time occupies the lowest port number.
[0044]
When the connection of the printer to which the port of USBPRN01 is allocated to the personal computer is stopped, USBPRN01 disappears. However, when a printer is connected next time, USBPRN01 is restored and becomes usable.
[0045]
As described above, up to four printers can be used at the same time.
[0046]
FIG. 12 shows information on a printer connected to USBPRN01. This information is also recorded in the registry of Windows (R) 95 as in FIG. 141 is the name of the connected port. Reference numeral 142 denotes the name of the printer driver used. Reference numeral 143 denotes a registered printer name. Reference numeral 144 denotes a serial number of the printer. 144 shows an example in which the serial number has already been entered and recorded in the registry. If not entered, no numerical value is recorded in this serial number column. A flag 145 indicates that when the serial number is registered in the printer, the printer can be specified even when the connection layout of the printer is changed. When TrackingOn is 1, identification is possible, and when TrackingOn is 0, identification is impossible.
[0047]
The information of the registry regarding the port and the printer exists only while the printer is connected to the PC and the power is turned on. When the connection of the printer is released or when the power of the printer is turned off, these ports are lost, and information about the attached printer is also deleted.
[0048]
When the USB printer is connected to the host PC, the PC requests information on the USB interface of the connected printer and information on the printer. All of the information is sent to the PC in a data format called a descriptor table.
[0049]
When the printer is connected to the PC, a program for controlling the USB interface on the PC sends a command for acquiring a descriptor table to the printer. The command for acquiring the descriptor table is the following 8 bytes.
[0050]
[Table 1]
Figure 2004098380
[0051]
The upper byte of wValue, which is a 2-byte value, is of the descriptor type, and the lower byte is the index.
[0052]
There is an iSerialNumber column in 16 of Table 4 of Document 1 Universal Serial Bus Specification Version 1.0. Here, an index to the STRING descriptor with the serial number is shown. First, Device Descriptor Type is specified for the Descriptor Type by the above command, and 0 is specified for the Descriptor Index to acquire the Device Descriptor. Next, by specifying "STRING descriptor" for "Descriptor Type" and "16" for "Descriptor", a "STRING Descriptor" in which a serial number is described is obtained. After the serial number, it is described in UNICODE format.
[0053]
When the serial number is not recorded in the printer body, 0 is recorded in the 16 column of Table4.
[0054]
The format of the String Descriptor is as follows.
[0055]
[Table 2]
Figure 2004098380
[0056]
The processing from the connection of the printer to the input of the serial number by the user will be described with reference to the flowchart of FIG.
[0057]
First, it is detected that the printer is connected. At S1, the connection of the printer is detected, and at S2, it is checked whether or not the printer is connected. As a next step after the connection is detected, a device descriptor is acquired in S3. If the iSerial Number field is not 0 in S4, the serial number has already been recorded in the printer, so in S5, the String Descriptor of the serial number is obtained. Then, in S6, the serial number is recorded in the registry 144.
[0058]
If the iSerial Number field is 0, no serial number is set in the printer, so 0 is recorded in 144.
[0059]
Next, at S8, a Configuration Descriptor is obtained, and at S9, an Interface Descriptor is obtained. The InterfaceDescriptor table is table 6 of the document 1 Universal Serial Bus Specification version 1.0. The bInterface Protocol in the seventh field has setting items for the functions of the interface. The printer to which the serial number is set supports the 02 bidirectional interface function. If no serial number is set, only the 01 unidirectional interface is supported. If bInffaceProtocol is 2 in S10, 1 is set to 145 of the registry to indicate that the individual printer can be specified.
[0060]
If bInterface Protocol is 0, 0 is set to 145.
[0061]
Next, an EndPoint Descriptor is obtained in S13. Thus, the acquisition of all the descriptor tables that must be acquired from the printer has been completed. Subsequently, when the serial number is not recorded in the connected printer, the user is requested to input the serial number. In step S14, the system checks the registry 144 to confirm the existence of the serial number. If the serial number has already been recorded, the printer connection process ends.
[0062]
If the serial number has not been recorded, a message for inputting the serial number as shown in FIG. 14 is displayed in S15. The user refers to a document or the like on which the serial number is written, and inputs the serial number in the field 145. If the serial number is to be recorded in the printer, the user presses OK at 147, and if not, presses 148 at Cancel. In S16, the input of the serial number is checked, and if not, the process is terminated. When the serial number is input, the serial number is recorded in the registry 144 at S17, and the same number is transmitted to the printer at S18. The printer records the transmitted serial number in the 48 non-insertable storage devices in the printer. Further, in S19, 1 is set to 145 since the serial number has already been set.
[0063]
In the above description, the processing at the time when the printer is connected has been described on the PC side. Next, the processing on the printer side will be described with reference to the flowchart of FIG.
[0064]
After the printer is connected to the PC, the USB interface of the printer enters a command receiving mode. In S30, the command is received, and a Descriptor Table corresponding to the requested Descriptor type is sent to the PC. If the requested content is a String Descriptor in S39, the type of the String Descriptor to be sent back from the Index value in S40 is determined. If the command is determined to be a serial number setting command in S42, the serial number is recorded in the non-insertable memory of 48 in S43, and the bInterface Protocol is set to 02. This makes it possible to notify that the function of the interface has changed.
[0065]
In S45, when a request to disconnect the interface is sent from the PC, the function of the interface is stopped.
[0066]
When printing is performed from the application 56 and when the created document is printed first, the serial number is recorded as a part of the information of the created document when the printer is selected in 77. Since the selectable printers are already registered in the registry, it is possible to obtain the serial number of the selected printer.
[0067]
When reprinting this document, unless a printer is explicitly selected, the printer used last time is automatically selected and printed. As shown at 77, when a printer is explicitly selected for printing, the serial number of the selected printer is replaced with the serial number already recorded as a part of the document.
[0068]
The printer is specified at the time of printing by the port monitor 70. This process will be described with reference to the flowchart of FIG.
[0069]
In S170, a serial number recorded in the document data is obtained. Next, the registry is scanned in S171. In S172, it is checked whether there is a printer having the same serial number. If there is, a port number connected from the registry is acquired in S174, and it is selected as an output port. Output print data.
[0070]
If there is no corresponding printer, a message indicating that no printer exists is displayed in S173. If the user has selected to stop printing, the determination is made in S176 and printing is terminated. If the user wants to continue printing, a connection request message for the printer is displayed in step S177.
[0071]
【The invention's effect】
As described above, in a case where a printer employing a conventional interface and a printer employing a new interface are produced under the same conditions, processing for recording unique data corresponding to only the new interface in the printer. Is performed not by the production process but by the user's operation after the shipment, thereby facilitating the management of the unique data and obviating the necessity of making a significant change in the production process.
[0072]
Further, by recording unique data in the printer, it is possible to improve the function of the interface and improve the usability of the user.
[Brief description of the drawings]
FIG. 1 is a front view of a printer embodying the present invention.
FIG. 2 is a rear view of the printer.
FIG. 3 is an external view of a USB cable which is an interface of the printer.
FIG. 4 is a view of a USB connector on the back of the PC.
FIG. 5 illustrates a connection example of a USB printer.
FIG. 6 is an external view of a cartridge that can be mounted on the printer.
FIG. 7 is a view showing a method of attaching and detaching a cartridge.
FIG. 8 is an electric circuit block diagram of the printer.
FIG. 9 is a block diagram of a printer driver according to the first embodiment.
FIG. 10 is a diagram illustrating a dialog displayed when printing is performed from an application using the above-described printer driver.
FIG. 11 shows an example of a printer port written in a registry.
FIG. 12 is an example of printer information recorded in a registry.
FIG. 13 is a flowchart illustrating processing on the PC side when the printer is connected to the PC.
FIG. 14 is a message for inputting a serial number.
FIG. 15 is a flowchart illustrating processing on the printer side when the printer is connected to the PC.
FIG. 16 is a flowchart illustrating printer-specific processing when printing from an application.

Claims (2)

ホストに接続しているプリンタに対して、外部から固有のデータを入力する手段と、入力された前述の固有のデータを、プリンタに記憶させる手段を有することを特徴とするプリンタシステム。A printer system comprising: means for externally inputting unique data to a printer connected to a host; and means for storing the input unique data in the printer. 請求項1のプリンタにおいて、前述の固有のデータが入力されて記憶された場合に、プリンタのインターフェースの仕様を変えることを特徴とするプリンタシステム。2. The printer system according to claim 1, wherein when the unique data is input and stored, the specification of the interface of the printer is changed.
JP2002261295A 2002-09-06 2002-09-06 Printer system Withdrawn JP2004098380A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002261295A JP2004098380A (en) 2002-09-06 2002-09-06 Printer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002261295A JP2004098380A (en) 2002-09-06 2002-09-06 Printer system

Publications (1)

Publication Number Publication Date
JP2004098380A true JP2004098380A (en) 2004-04-02

Family

ID=32261711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002261295A Withdrawn JP2004098380A (en) 2002-09-06 2002-09-06 Printer system

Country Status (1)

Country Link
JP (1) JP2004098380A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005311955A (en) * 2004-04-26 2005-11-04 Oki Data Corp Image input device, image output device, and image printing system
JP2018085006A (en) * 2016-11-25 2018-05-31 株式会社コンテック Usb system and usb apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005311955A (en) * 2004-04-26 2005-11-04 Oki Data Corp Image input device, image output device, and image printing system
JP2018085006A (en) * 2016-11-25 2018-05-31 株式会社コンテック Usb system and usb apparatus

Similar Documents

Publication Publication Date Title
JP3278394B2 (en) Information processing apparatus, information processing method, and storage medium
US20220374182A1 (en) Information processing apparatus, method, system, and medium, with setup page that shows information indicating functions
US7752029B2 (en) Method to change USB device descriptors from host to emulate a new device
JP4059027B2 (en) Printer and printer print condition setting method
US8451484B2 (en) Information processing apparatus, printing apparatus, electronic device, and computer program therefor based on existence of printer configuration file
JP4273024B2 (en) Information processing apparatus, image forming apparatus, method and system in the apparatus
US11481161B2 (en) Control method and storage medium
US20110023054A1 (en) Information processing apparatus, information processing method and storage medium
JP2003316719A (en) Upstream peripheral equipment performing role of usb host
US8749826B2 (en) Information processing apparatus, control method and recording medium
US20130038888A1 (en) Printer With USB Interface and Driver Installing Method and System Thereof
US20190107984A1 (en) Information processing method and storage medium
US8022993B2 (en) Image supply device transmitting image data to a recording apparatus, communication apparatus, recording system and control method thereof
US8665478B2 (en) Printing system, control method of the same, print server, control method of the print server, and storage medium
US12086492B2 (en) Storage medium, information processing apparatus, and control method
JP2004098380A (en) Printer system
JP4259071B2 (en) Printing system
US10897553B2 (en) Print system to which two information processing apparatuses are connected, information processing apparatus, control methods therefor, and storage media storing programs for executing these control methods
US6871924B2 (en) Multi-mode direct print adapter
JPH11242573A (en) Information processing device and method and storage medium
JP2003341183A (en) Printer system
JP2000326601A (en) Printer and printer driver
US8531715B2 (en) Method and system for forming image, and external device
JPH11242575A (en) Information processing device and method and storage medium
JP3507470B2 (en) Information processing apparatus, information processing method, and storage medium

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060110