(57)【特許請求の範囲】
【請求項１】
ホスト装置とネットワークを介して接続されるデバイスであって、
デバイスの機能が変化したか判別する判別手段と、
前記判別手段によりデバイスの機能が変化したと判別された場合、ホスト装置にドライバを削除させるためにネットワークからの切断処理を行う切断手段と、
前記切断手段が切断処理を実行した後、ホスト装置にドライバをインストールするためにネットワークへの接続処理を行う実行手段とを有することを特徴とするデバイス。
【請求項２】
前記接続手段は、ドライバを削除するための所定時間経過後、接続処理を行なうことを特徴とする請求項１記載のデバイス。
【請求項３】
前記切断手段は、信号線に電源供給を止めることにより切断処理を行なうことを特徴とする請求項１記載のデバイス。
【請求項４】
前記判別手段は、オプションの装着に応じて判別することを特徴とする請求項１記載のデバイス。
【請求項５】
前記判別手段は、プリント機能とスキャン機能との切り替えに応じて判別することを特徴とする請求項１記載のデバイス。
【請求項６】
前記接続手段により接続後、情報を転送する手段をさらに有することを特徴とする請求項１記載のデバイス。
【請求項７】
前記転送手段により転送された情報に基づきドライバを選択することを特徴とする請求項６記載のデバイス。
【請求項８】
ホスト装置とネットワークを介して接続されるデバイスの制御方法であって、
デバイスの機能が変化したか判別する判別ステップと、
前記判別ステップによりデバイスの機能が変化したと判別された場合、ホスト装置にドライバを削除させるためにネットワークからの切断処理を行う切断ステップと、
前記切断ステップが切断処理を実行した後、ホスト装置にドライバをインストールするためにネットワークへの接続処理を行う実行ステップとを有することを特徴とするデバイスの制御方法。
【請求項９】
前記接続ステップは、ドライバを削除するための所定時間経過後、接続処理を行なうことを特徴とする請求項８記載のデバイスの制御方法。
【請求項１０】
前記切断ステップは、信号線に電源供給を止めることにより切断処理を行なうことを特徴とする請求項８記載のデバイスの制御方法。
【請求項１１】
前記判別ステップは、オプションの装着に応じて判別することを特徴とする請求項８記載のデバイスの制御方法。
【請求項１２】
前記判別ステップは、プリント機能とスキャン機能との切り替えに応じて判別することを特徴とする請求項８記載のデバイスの制御方法。
【請求項１３】
前記接続ステップにより接続後、情報を転送するステップをさらに有することを特徴とする請求項８記載のデバイスの制御方法。
【請求項１４】
前記転送ステップにより転送された情報に基づきドライバを選択することを特徴とする請求項１３記載のデバイスの制御方法。
【請求項１５】
ホスト装置とネットワークで接続されるデバイスで実行されるプログラムを記憶した記憶媒体であって、
デバイスの機能が変化したか判別する判別ステップと、
前記判別ステップによりデバイスの機能が変化したと判別された場合、ホスト装置にドライバを削除させるためにネットワークからの切断処理を行う切断ステップと、
前記切断ステップが切断処理を実行した後、ホスト装置にドライバをインストールするためにネットワークへの接続処理を行う実行ステップとをデバイスに実行させるプログラムを記憶したことを特徴とする記憶媒体。
【請求項１６】
前記接続ステップは、ドライバを削除するための所定時間経過後、接続処理を行なうことを特徴とする請求項１５記載の記憶媒体。
【請求項１７】
前記切断ステップは、信号線に電源供給を止めることにより切断処理を行なうことを特徴とする請求項１５記載の記憶媒体。
【請求項１８】
前記判別ステップは、オプションの装着に応じて判別することを特徴とする請求項１５記載の記憶媒体。
【請求項１９】
前記判別ステップは、プリント機能とスキャン機能との切り替えに応じて判別することを特徴とする請求項１５記載の記憶媒体。
【請求項２０】
前記接続ステップにより接続後、情報を転送するステップをさらにデバイスに実行させるプログラムを記憶したことを特徴とする請求項１５記載の記憶媒体。
【請求項２１】
前記転送ステップにより転送された情報に基づきドライバを選択することを特徴とする請求項２０記載の記憶媒体。
【請求項２２】
ホスト装置と、前記ホストとネットワークを介して接続されるデバイスとを有するネットワークシステムであって、
前記デバイスは、
デバイスの機能が変化したか判別する判別手段と、
前記判別手段によりデバイスの機能が変化したと判別された場合、ホスト装置にドライバを削除させるためにネットワークからの切断処理を行う切断手段と、
前記切断手段が切断処理を実行した後、ホスト装置にドライバをインストールするためにネットワークへの接続処理を行う実行手段とを有し、
前記ホスト装置は、
デバイスがネットワークから切断されるとドライバを削除する削除手段と、
デバイスがネットワークに接続されるとドライバをインストールするインストール手段とを有することを特徴とするネットワークシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばコンピュータを含むネットワーク等に接続されるデバイスとその制御方法及びネットワークシステムに関するものである。
【０００２】
【従来の技術】
コンピュータを使用したネットワークを形成する方法として、図１に示す様な、階段状でスター型のトポロジ（接続形態）を形成するネットワークがある。階段状のスター型のトポロジ（接続形態）を形成する場合、各ワイヤ１０１は、ホストコンピュータシステム１０２（以降ＰＣ１０２と略す）とハブ１０３との間や、ＰＣ１０２とノード１０４との間、あるいはハブ１０３とノード１０４との間に接続されている。この場合、ＰＣ１０２はネットワーク制御用であり、ネットワークには一つしか存在しない。また、信号のリピータ機能を有するハブ１０３は、追加用のノード１０４もしくはハブ１０３の接続点となるため、ネットワークを形成する上で不可欠な構成要素である。各ノード１０４は、たとえばプリンタ１０６、スキャナ１０７、キーボード（図示せず）等のコンピュータＩ／Ｏデバイスにあたる。
【０００３】
従来、ホストシステムが上述のネットワーク上に繋がっているデバイスを認識し、そのデバイスに適した制御用のドライバを見つけ、適時にそれをインストールするプラグアンドプレイ機能（以降ＰｎＰ機能と略す）を実現するために、あらかじめ決められたプロトコルに従って接続されたデバイス（ノード１０４）の情報を流み取る方法がある。この情報の具体的例として機種名、メーカ名、消費電力、最大データ転送量等があげられる。
【０００４】
一方、限られたプログラムの容量のＯＳでＰｎＰ機能を実現するためには、デバイス（ノード１０４）の情報から、ある程度のデバイスのクラス分け（プリンタクラス、入力機クラス、表示器クラス、Ｉｍａｇｅクラス、音響クラス等）を行い、各クラスに対する標準的なドライバでデバイスを駆動するといった方法がある。なお、このようなＰｎＰ機能を実現できるネットワークの規格として、例えばＩＥＥＥ１３９４やＵＳＢなどといった規格が知られている。
【０００５】
【発明が解決しようとする課題】
また、近年、プリンタとスキャナなど、複数の機能（クラスが異なる）を有する様な複合機器が求められてきている。しかしながら、先に述べたＰｎＰ機能による方法では、デバイスの認識時に情報を一回読み取るだけなので、クラスが異なるデバイスを組み合わせた複合機には対応できない。さらに、単一のデパイスにしか対応できないため、一つのネットワークインターフェースで接続しようとした場合、以下の問題を生じる。
・それぞれが単一機能の複数のドライバを一つのネットワークデバイスにアサインできない。すなわち、ＰＣでは複数のドライバを一つのネットワークデバイスにインストールすることができない。
・複合機なのでクラス分けされた標準概念から外れ、標準ドライバではデバイスを駆動できない。
・このため独自でデバイスのドライバを作成しなくてはならない。従って、従来から使用していた個々のドライバを複合して一つの新しいドライパを作成する必用がある。
・複数の互いに異なるドライバ、例えばプリンタとスキャナという異なる概念のドライバを一つにするため、単一機能のドライバよりプログラムが大きくなる。
・プリンタとスキャナといった２つのファンクションを１つのドライバにした場合、システムのリソースを必要以上に取ってしまう。単純に言って単機能器の倍となる。当然ＰｎＰの特徴を活かしきっていない。
【０００６】
本発明は上記従来例に鑑みてなされたもので、有している機能に応じて自動的に認識され、操作性の良好なデバイスとその制御方法及びネットワークシステムを提供することを目的とする。
【０００７】
また、特別なドライバを用意しなくとも、クラス分けになじみ、クラスに対応する標準ドライバでも駆動可能なデバイスとその制御方法及ネットワークシステムを提供することを目的とする。
【０００８】
また、デバイスの機能が切り替えられた場合に、それをホストコンピュータに認識させるための特別な操作をユーザが行う必要はないデバイスとその制御方法及ネットワークシステムを提供することを目的とする。
【０００９】
また、デバイスの機能の切換処理をネットワークに接続されている他の装置に影響を与えることなく行うことができるデバイスとその制御方法及ネットワークシステムを提供することを目的とする。
【００１０】
また、ホストコンピュータから複合装置に対する機能の切り換え要求に応じて当該複合装置がホストコンピュータに機能の切り換えを認識させるため、ホストコンピュータ側のソフトやハードを変更することなく複合装置の機能の切換を行わせることができる複合装置とその制御方法及ネットワークシステムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するために本発明のデバイスは、
ホスト装置とネットワークを介して接続されるデバイスであって、
デバイスの機能が変化したか判別する判別手段と、
前記判別手段によりデバイスの機能が変化したと判別された場合、ホスト装置にドライバを削除させるためにネットワークからの切断処理を行う切断手段と、
前記切断手段が切断処理を実行した後、ホスト装置にドライバをインストールするためにネットワークへの接続処理を行う実行手段とを有することを特徴とする。
【００１２】
また、本発明のデバイスの制御方法は、
ホスト装置とネットワークを介して接続されるデバイスの制御方法であって、
デバイスの機能が変化したか判別する判別ステップと、
前記判別ステップによりデバイスの機能が変化したと判別された場合、ホスト装置にドライバを削除させるためにネットワークからの切断処理を行う切断ステップと、
前記切断ステップが切断処理を実行した後、ホスト装置にドライバをインストールするためにネットワークへの接続処理を行う実行ステップとを有することを特徴とする。
【００１３】
また、本発明の記憶媒体は、
ホスト装置とネットワークで接続されるデバイスで実行されるプログラムを記憶した記憶媒体であって、
デバイスの機能が変化したか判別する判別ステップと、
前記判別ステップによりデバイスの機能が変化したと判別された場合、ホスト装置にドライバを削除させるためにネットワークからの切断処理を行う切断ステップと、
前記切断ステップが切断処理を実行した後、ホスト装置にドライバをインストールするためにネットワークへの接続処理を行う実行ステップとをデバイスに実行させるプログラムを記憶したことを特徴とする。
【００１４】
また、本発明のネットワークシステムは、
ホスト装置と、前記ホストとネットワークを介して接続されるデバイスとを有するネットワークシステムであって、
前記デバイスは、
デバイスの機能が変化したか判別する判別手段と、
前記判別手段によりデバイスの機能が変化したと判別された場合、ホスト装置にドライバを削除させるためにネットワークからの切断処理を行う切断手段と、
前記切断手段が切断処理を実行した後、ホスト装置にドライバをインストールするためにネットワークへの接続処理を行う実行手段とを有し、
前記ホスト装置は、
デバイスがネットワークから切断されるとドライバを削除する手段と、
デバイスがネットワークに接続されるとドライバをインストールするインストール手段とを有することを特徴とする。
【００１５】
【発明の実施の形態】
図１２は、本発明の実施形態である、プリンタ機能とスキャナ機能とを、そのヘッドを交換することで使い分けることのできるプリンタスキャナ複合機１００の内部斜視図である。本図では、プリンタヘッドを装着した様子を示している。同図において、駆動モータ５０１３の正逆回転に連動して駆動力伝達ギア５０１１，５００９を介して回転するリードスクリュー５００５の螺旋溝５００４に対して係合するキャリッジＨＣはピン（不図示）を有し、ガイド５００３に沿って矢印ａ，ｂ方向に往復移動される。このキャリッジＨＣには、プリンタとして使用する場合にはインク液滴を吐出するインクジェットカートリッジＩＪＣが、スキャナとして使用する場合には光電変換を行う光センサ等を有するスキャナヘッド（不図示）が搭載され、キャリッジの往復移動に伴って、画像の記録あるいは原稿の走査を行う。紙押え板５００２は、キャリッジＨＣの移動方向にわたって印刷用紙あるいは読み取り原稿をプラテン５０００に対して押圧する。フォトカプラ５００７，５００８は、キャリッジのレバー５００６のこの域での存在を確認して、モータ５０１３の回転方向切り換え等を行うためのホームポジションを検知する。支持部材５０１６は、プリンタとして使用されている場合に、プリンタヘッドＩＪＨの前面をキャップするキャップ部材５０２２を支持し、吸引部５０１５は、このキャップ５０２２内を吸引し、キャップ内開口５０２３を介して記録ヘッドの吸引回復を行う。クリーニングブレード５０１７は、支持部材５０１９により前後方向に移動可能に支持されており、本体支持板５０１８にこれらは支持されている。
【００１６】
図２は本発明の実施形態であるプリンタ・スキャナ複合機１００のネットワーク制御系に関するブロック図を示したものである。
【００１７】
プリンタ・スキャナ複合機１００は、プリンタの主制御を行うプリンタ制御回路２０１と、印字用のプリンタヘッドもしくは画像読み取り用のスキャナヘッド２１０と、ヘッドの種類の判定用としてヘッド検出器２０９と、プリンタの主制御を行うための制御プログラムとして、ＲＯＭ等に格納されたプリンタ制御用基本入出力システム（ＢＩＯＳ）２０６と、ホストコンピュータあるいはハブに接続するためのネットワークインターフェースであるトランシーバユニット２０３と、トランシーバユニット２０３の制御を行うタイマ２０４とを有している。トランシーバユニット２０３は、その主要部であるトランシーバ２０８と後述するＲ制御器２０５及び抵抗Ｒとを含んでいる。
【００１８】
プリンタ制御回路２０１は、トランシーバユニット２０３を通じてネットワーク信号線２０２からの制御に従い、印字制御もしくはスキャナデータ読み出し制御などを行う。また、プリンタ制御回路２０１は、タイマ２０４を制御することによって、トランシーバユニット２０３内の主にＦＥＴ（図示せず）からなるＲ制御器２０５を制御し、それに繋がった抵抗Ｒをさらに御御している。
【００１９】
プリンタ制御用ＢＩＯＳ２０６は、制御プログラムや印字フォント（ＣＧ）、その他固定データを含み、モータ制御やプリンタヘッドやスキャナヘッドの駆動制御等を行うための制御手順を実現する。プリンタ制御回路２０１は、プリンタ制御用ＢＩＯＳ２０６に従って信号線２０２からの印字コマンドやデータ、スキャナコマンドを受取り、またスキャナデータの出力を行う。メモリ２０６は、レジスタとして用いるワーク領域や、１ライン分の印字データを格納するためのラインバッファ、ドットに再展開されたドット展開バッファ、ネットワークからのデータの送信受信バッファなどの領域を有するメモリである。
【００２０】
ヘッド検出器２０９は、キャリッジに装着されたヘッド２１０の検出を行う。ヘッド２１０は、プリンタ制御回路２０１にしたがって印刷用紙に画像の記録あるいは原稿の走査を行い、プリンタ用の印字ヘッドが付いてい場合は印字を、スキャナヘッドが付いている場合はデータの読み取りを行う。
【００２１】
タイマ２０４はカウンタを有しており、プリンタ制御回路２０１からのパルス信号を受信してからある一定時間Ｒ制御器２０５をオフする制御を行う。
【００２２】
ヘッド交換が行われた場合、具体的にはプリンタヘッドからスキャナヘッドに切り替えられた場合、プリンタ制御回路２０１はタイマ２０４にパルスを発する。パルスを受けたタイマ２０４は、Ｒ制御器２０５を所定時間オフする制御を行う。さらに、プリンタ制御回路２０１は、ヘッド検出器２０９の検出結果に従って、プリンタ制御用ＢＩＯＳ２０６に収納されたスキャナの機種名、メーカ名、消費電力、最大データ転送量等の情報を、ネットワークからの要求に応じて送出する。
【００２３】
一方、スキャナヘッドからプリンタヘッドに交換された場合も同様な動作をし、ネットワークからの情報読み出し要求に対して、プリンタ制御用ＢＩＯＳ２０６に格納されたプリンタ用の機種名、メーカ名、消貴電力、最大データ転送量等の情報を送出する。
【００２４】
図３は、ヘッド検出器２０９とヘッド内の検出回路の構成図を示したものである。
【００２５】
ヘッド検出器２０９は主にＡＤコンバータ３０１からなっている。また、プリンタヘッド３０２（具体的にはカートリッジタイプのインクジェットヘッドがあげられる）およびスキャナヘッド３０３（具体的にはＣＣＤカートリッジ）にはそれぞれ判別用に抵抗が内蔵されている。さらに、各ヘッドはコネクタ３０４を通じて電源ＶPの供給および判別用抵抗の分圧信号を交換している。
【００２６】
このような構成で、ＡＤコンバータ３０１は、ヘッド内部に設けられた抵抗分割比に応じた分圧信号をデジタルデータに変換する。この分割比はヘッドの種類ごとに固有であり、分圧もこの比に応じて決まる。従って、プリンタ制御回路２０１は、その分圧データを読み取ることによって、ヘッド装着部すなわちキャリッジに装着されたヘッドの種類を判別している。図３では、プリンタヘッド３０２では分割比は１対１であるが、スキャナヘッド３０３では３対１である。従って、ＡＤコンバータからの出力値も、この比に応じて決まり、ヘッドの種類を識別可能なものとしている。
【００２７】
図４は本実施形態のネットワークを構成するための信号線とそのドライバを示す図である。
【００２８】
信号線ｄａｔａ１とｄａｔａ２からなるシールドツイストケーブル４０１（以下ケーブル４０１と略す）は、ＰＣ１０２のトランシーバユニット４０２とデバイス１００のトランシーバユニット２０３とをつないでいる。各信号線はトランシーバ２０８と２０８’（トランシーバ２０８と同様）とを接続して電気的にデータのやり取りを行う。抵抗Ｒ１・Ｒ２はそれぞれの信号線に接続されており、信号線がハイ・インピーダンスになることを防いでいる。なお、図４ではＰＣとデバイスとが直接接続されているが、間に前述のハブ１０３が入った場合でも同様である。
【００２９】
なお、複数の下流ポートと上流ポートからなるハブ１０３は、データをポートにリピートする機能および、下流ポートにつながった信号の変化（接続、非接続）を上流に伝える機能を有している。
【００３０】
トランシーバ２０８，２０８’には、差動増幅型入出力器や信号線の各電圧読み取り用ポート，シリアルパラレル変換器等が内蔵されており、信号線ｄａｔａ１・ｄａｔａ２の電気信号を制御している。信号線ｄａｔａ１・ｄａｔａ２は、ＰＣ４０２の制御信号および他のノードからの信号をあらかじめ決めてあるプロトコルに従ってシリアルで伝達することが出来る。
【００３１】
次に、ＵＳＢを用いてシリアルで伝達する信号状態について説明する。
【００３２】
１ｂｉｔ時間は８２ｎｓ、
Ｊステート（アイドル状態）はｄａｔａ１がハイ・ｄａｔａ２がロウ、
Ｋステートはｄａｔａ１がロウ・ｄａｔａ２がハイと規定されており、
ｄａｔａ１がロウ・ｄａｔａ２がロウが２．５ｕｓ以上検出された場合、切断状態を示し、
ｄａｔａｌがロウ・ｄａｔａ２がロウが２６ｂｉｔ時間続き１ｂｉｔ時間のＪステートが検出された場合、パケット終端を示し、
アイドル状態からＫステートに移行した場合、パケット開示を示し、パケット終端から１６ｂｉｔ時間以上経過した場合、タイムアウトを示す。
【００３３】
本実施の形態では、パケット開始時には機器間の同期を行うクロック信号および機器を特定するためのアドレスが先頭に付加されている。したがって、図１の様なトポロジーを有するネットワークでも論理的にＰＣ１０２を中心とするスター型のネットワークを形成することができる。シリアルデータは、１ｂｉｔ時間のＪ（論理的にハイ）もしくはＫ（論理的にロウ）ステートで表す。パケットは必ずＰＣ１０２から発せられ、そのパケット内にある命令に従って、指定されたデバイスがデータの授受をし、さらにデータの交換を行う。
【００３４】
なお、ＰＣ４０２側からｄａｔａ１・ｄａｔａ２信号を検査した場合、ｄａｔａ１がハイ・ｄａｔａ２がロウの場合ネットワークの片端（ノード側）に、機器が接続されていることを示している。また、信号のやり取りがない状態つまり、ｄａｔａ１がロウ・ｄａｔａ２がロウが２．５ｕｓ以上検出されたとき切断状態であることを示している。
【００３５】
デバイス側のトランシーバユニット２０３では、ｄａｔａ１は抵抗Ｒ３を介してＲ制御器２０５に接続されている。Ｒ３に繋がったＲ制御器２０５は、主にＦＥＴで構成されヘッド検出器２０９の検出結果に応じて制御され、擬似的にデバイス１００が繋がっていないようにすることが出来る。
【００３６】
図５は、デバイス１００の接続および切り離しタイミングとｄａｔａ１の電圧変化を示したものである。
【００３７】
ｄａｔａ２につながるトランシーバ２０８のポートは非アクティブ状態で、抵抗Ｒ２によりロウ状態になっている。
【００３８】
図５で使用しているＶｏｌおよびＶｏｈは、ＰＣ１０２のｄａｔａ１に繋がったポートのそれぞれロウおよびハイの検出可能電圧を示している。
【００３９】
図５（１）はデバイスの通常の接続シークエンスを示した図である。
【００４０】
タイミング５０１はデバイスがネットワークに接続されたタイミングである。この時、抵抗Ｒ３に繋がったＲ制御器２０５は５Ｖを出力しており、ｄａｔａ１の電圧は抵抗Ｒ３とケーブル４０１の容量にしたがって上昇していく。ある時間Ｔ１後（タイミング５０２）に、ｄａｔａ１の電位はＶｏｈを越え、ポート入力がハイレベルと認識できるようになる。従ってＰＣ１０２は、下流のポートにデバイスが接続されたことを知ることができる。従ってＰＣ１０２は、ケーブル４０１に新しく追加されたデバイスを所定のプロトコルに従って特定でき、それにふさわしいドライバをメモリに配置することができる。
【００４１】
一方図５（２）は、デバイスの通常の切り離しシークエンスを示した図である。
【００４２】
タイミング５０３はデバイス１００がネットワークから取り外されたタイミングである。ｄａｔａ１の電圧は抵抗Ｒ１とｄａｔａ１の配線容量にしたがって下降していく。そして、ある時間Ｔ２後（タイミング５０４）に、ｄａｔａ１の電位はＶｏｌを越え、ポート入力がロウレベルと認識できるようになる。従ってＰＣ１０２は、２．５ｕｓ経過後、デバイスが切り離されたことを知ることができる。従ってＰＣ１０２は、ケーブル４０１やデバイス１００が取り外されることによって、非接続になったデバイス１００のドライバなどをメモリから排除してシステム内部の再配置を行うことができる。
【００４３】
図５（３）は、本実施形態に特徴的なＲ制御器２０５の制御によって擬似的にネットワークからデバイスを切断／接続したときの電圧波形を示す。
【００４４】
タイミング５０５では、Ｒ制御器２０５の制御によって抵抗Ｒ３への電源供給を停止する。こうすることによってケーブル４０１が抜かれたことと同じ波形をしめす。電源供給停止により、ｄａｔａ１の電圧は抵抗Ｒ１とケーブルの容量にしたがって下降していく。そして、ある時間Ｔ２後（タイミング５０６）にｄａｔａ１の電位はＶｏｌを下回り、ポート入力がロウレベルと認識できるようになる。
【００４５】
さらに、Ｒ制御器２０５はあらかじめ決められた時間Ｔ３（＞２．５ｕｓ）後に、再び抵抗Ｒ３の電源供給を開始する。従ってＰＣ１０２は、下流のポートのケーブル４０１のデバイスが物理的に取り外された状態と同様に、デバイスが切り離されたものと認識する。時間Ｔ３は、ＰＣ１０２が、取り外されたデバイスのドライパ（プリンタドライバもしくはスキャナドライバ）などをメモリから削除し、システム内部の再配置を行える時間として決められている。抵抗Ｒ３に電源供給が再開されると、ケーブル４０１にはデバイスが取り付けられた場合と同じ波形を示し、ｄａｔａ１の電圧は抵抗Ｒ３とケーブルの容量にしたがって上昇していく。ある時間Ｔ１後（タイミング５０８）に、ｄａｔａ１の電位はＶｏｈを越え、ポート入力がハイレベルと認識できるようになる。従ってＰＣ１０２は、下流のポートにデバイスが接続されたことを知ることができる。そして、デバイスから情報を読み出したあと、それに基づいて適切なドライバ（スキャナドライバもしくはプリンタドライバ）をインストールすることが出来る。
【００４６】
図６は、本発明のプリンタ・スキャナ複合機のヘッド交換時の制御フローチャートである。この手順はプリンタ制御回路２０１により実行される。
【００４７】
ユーザによりヘッドを交換されたか否かを、ステップ６０１でヘッド検出器２０９を読んで判定し、交換された場合、新しく装着されたヘッドが交換直前に装着されていたヘッドの種類と同じかどうかをステップ６０２で判定する。ヘッドが前と同じ種類の場合、ステップ６０１に戻る。一方、新しい種類のヘッドと認識された場合、ステップ６０３へ進む。
【００４８】
ステップ６０３では、ヘッドが異なる種類に交換されたことを示す交換フラグを立ててステップ６０４に進む。ステップ６０４では、ポートを再接続するためにパルス信号をタイマ２０４に加え、処理は終了する。
【００４９】
パルス信号によってタイマ２０４が起動されると、タイマ２０４は、Ｒ制御器２０５を制御して抵抗Ｒ３への電源供給をストップさせ、図５（３）に示した時間Ｔ２＋Ｔ３をカウントしてから電源供給を再開させる。従って、ネットワーク上ではケーブルが繋がっているにもかかわらず、ＰＣ１０２はデバイスの切断と接続とが時間Ｔ３＋Ｔ１だけ隔てて行われたものと認識し、デバイス１００の切断／接続の処理が実行される。
【００５０】
ＰＣ１０２は、デバイス１００の切り離しにより、デバイス１００に対応したＰＣ１０２内のドライバを外す。引き続いてＰＣ１０２は、新しくネットワーク上にデバイス１００が接続されたものと見なすため、新しいデバイス１００に対してリセット信号を送り、あらかじめ決められたプロトコルに従って情報を読み取るなどの処理を進める。
【００５１】
図７は、ＰＣからリセット信号を受信した際の制御フローである。この処理は、図６のステップ６０４でネットワークの切断／接続を起こすことによってＰＣ１０２が発行したリセットコマンドをデバイス１００が受けることで開始される。
【００５２】
まず、ステップ７０１で判断フラグをテストし、デバイスのパワーオンリセットかそれともヘッド交換によるリセットかを判断する。ヘッド交換の場合にはステップ６０３で交換フラグがセットされているため、交換フラグ＝０すなわちパワーオンリセットと判断した場合はステップ７０２に進み、交換フラグ＝１すなわちヘッド交換によるリセットの場合はステップ７０３に進む。
【００５３】
ステップ７０２では、メモリやプリンタ機構等のイニシャル動作を行い、またステップ７０３では、すでにメモリのイニシャライズは行われているため、プリンタ機構のみのイニシャル動作を行う。このとき交換フラグをリセットしておく。
【００５４】
次に、ステップ７０４において、ヘッド検出器２０９からのデジタル信号を読み込んでヘッドの状態を判断し、各状態に従って、プリンタヘッドであればステップ７０５を、スキャナヘッドであればステップ７０６を行う。すなわち、ヘッド検出器２０９を読んでヘッドがスキャナヘッド３０３であると判断した場合、スキャナ用として用意されている情報が表１のように格納されているプリンタ制御用ＢＩＯＳ２０６の先頭アドレスを準備する。またヘッドがプリンタヘッド３０２であると判断された場合、プリンタ用として用意されている情報（表１参照）が格納されているアドレスを準備する。
【００５５】
ステップ７０６では、先にセットされたアドレスにしたがってプリンタ制御用ＢＩＯＳ２０６から決められたデータ長を読みだし、メモリ２０７にあらかじめ展開してＰＣ１０２からの情報要求に応答する。ステップ７０７でデバイス情報の読み出し要求がＰＣ１０２からあった場合、ステップ７０８に進み、メモリ２０７に展開された情報をトランシーバユニット２０３を介してＰＣ１０２に転送して終了する。
【００５６】
このように、ヘッドの状態に従って情報を正しくＰＣ１０２に転送して適時にＰｎＰを実現できる情報を伝達している。
【００５７】
下表１は、本実施形態のデバイス１００であるスキャナ・プリンタ複合機からホストコンピュータであるＰＣに送出されるデバイス情報の例である。
0004026948.tif 000002
すなわち、プリンタヘッドが装着されている場合には、ＰＣに対して「メーカ名（Ｃａｎｏｅ）」「プロダクトＩＤ（０１ｈ）」「クラス（プリンタ）」「転送サイズ（８バイト）」が送信され、スキャナヘッドが装着されている場合には、ＰＣに対して「メーカ名（Ｃａｎｏｅ）」「プロダクトＩＤ（０２ｈ）」「クラス（イメージ）」「転送サイズ（３２バイト）」が送信される。
【００５８】
図８は、ＰＣ１０２の概略ブロック図を示す。
【００５９】
ＰＣ１０２は、各種パス８０８（データパス、アドレスバス・制御パス）によって主制御を司る中央処理装置（ＣＰＵ）８０１と各種ブロックとがつながっている。
【００６０】
ＰＣ１０２においては、その主制御を司どるＣＰＵ８０１及びその基本的な制御プログラムを格納する読み出し専用メモリ（ＢＩＯＳＲＯＭ）８０２を有している。そして、外部記憶装置８０３（具体的にはフロッピーディスクやハードディスク等があげられる）からアプリケーションプログラムを読み出し、システムメモリ８０４を利用してプログラムの実行を行なう。この時、画面の表示方法としては表示制御器８０５を使って表示器８０６（具体的には液晶表示器やＣＲＴなどがあげられる）にキャラクタ等の表示を行ない、また、キーボード（ＫＢ）８０７からのキー入力を行う。ネットワークＩ／Ｆ８０７は、ネットワークラインの信号の入出力制御を行い、前述したトランシーバユニット４０２を含む。
【００６１】
図９はＰＣ１０２のネットワークに関する動作のフローチャートである。
【００６２】
ＣＰＵ８０１は、常時ネットワーク１／Ｆ８０７の信号を変化をモニターしており、ステップ９０１でネットワーク上に新しいデバイスの接続もしくはネットワークの切断を判断している。この判断は、各デバイスについて、そのケーブルの非通信時の電位が、図５で説明したように、Ｖｏｌ以下であれば切り離しであり、Ｖｏｈ以上であれば接続であると判断する。デバイスが新しく接続された（アタッチ）と判断できた場合、ステップ９０３に進み、外された（デタッチ）場合、ステップ９０２に進む。ステップ９０２では、今までメモリ内に展開されていた、はずされたデバイス用のドライバをクリアして、それが占めていた領域を他のソフトウエアが使用できるように開放して処理を終了する。
【００６３】
ステップ９０３では、新規に接続されたデバイスに対して初期化のためのリセット信号を送る処理を行い、ステップ９０４に進む。リセット信号を受けたデバイスは図７の手順で処理を行い、ＰＣからの要求に応じてデバイス情報を送信する。
【００６４】
ステップ９０４では、新規に接続されたデバイスに対して、デバイス情報請求を行い、データを読み取る。ステップ９０５では、読み取ったデバイス情報、特にメーカ，クラス，転送サイズ等を検討し、すでに登録済みであるか、すなわち外部記憶装置８０３にドライバがロードされているかを判断し、登録済みの場合ステップ９０６に進み、登録済みでない場合、ステップ９０７に進む。
【００６５】
ステップ９０７では、ユーザに対してデバイスに応じた新規ドライバのインストールを行う必用がある旨の表示を行い、ステップ９０８に進む。ステップ９０８では、ＦＤなどのリムーバブル記憶媒体や通信を介して、ドライバをメモリおよびＨＤＤなどで代表される外部記憶装置８０３にインストールし、そのドライバを登録状態にセットして終了する。
【００６６】
一方ステップ９０６では、ＨＤＤなどで代表される外部記憶装置８０３に保存及び登録されたデータをステップ９０４読み出したデバイス情報を基に選び、ステップ９１０でそのドライバをメモリに展開して終了する。
【００６７】
ＰＣ１０２とデバイス１００との間にハブ１０３がいる場合について説明する。
【００６８】
ハブ１０３は、先に説明したＰＣ１０２のポートの検出動作と同様な検出動作をする。ハブ１０３は、下流ポートにつながった信号の変化（接続、非接続）を検出すると、ハブの状態変化と状態を示すデータに変換し、ＰＣ１０２が変換されたデータを読み取ることを可能とする。ＰＣ１０２は定期的（１０ｍｓごと）に接続している各ハブ１０３に対して状態変化を読んでいる。一方、状態変化のあるハブ１０３のみ、状態変化を示すデータを返す。したがって、ハブ１０３の状態変化を示すデータを読んで状態変化を検出したＰＣ１０２は、変化のおきたハブ１０３から変換されて状態を示すデータを読み出し、接続、もしくは、非接続を認識できる。デバイスの非接続を検出したＰＣ１０２は、先のステップ９０２を実施する。一方、接続を検出したＰＣ１０２は、接続されたデバイスに対して初期化のためのリセット信号を送る様ハブを制御して、ステップ９０４以降を実施する。ネットワーク内にハブ１０３が存在した場合でも問題なく実現できる。
【００６９】
信号の変化（接続、非接続）を示す情報は、デバイス１００から上流（ＰＣ１０２）に向かって流れる。さらに、接続情報に伴う設定（情報）は、ＰＣ１０２からデバイスへと向かって行われる。従って、状態の変化はＰＣ１０２に向かう上流のデバイス以外のネットワークにつながる他のデバイスに影響を与えることなく実現できる。
【００７０】
以上説明したように、本実施形態のプリンタ・スキャナ複合機は、プリンタヘッドからスキャナヘッドへ、あるいはスキャナヘッドからプリンタヘッドへとヘッド交換が行われたとき、ヘッドの種類を判定し、その種類に応じてホストコンピュータと接続された信号線の電圧を一定時間停止し、再度供給することによって、ホストにそのデバイスの切り離し・接続が行われたものと認識させることができる。このため、信号線の接続を行った時に、ヘッドの種類に従ってＰｎＰに必要な、すなわちホストコンピュータによるデバイスの自動認識に必要なデバイスの各種情報（機種名、ＩＤ、クラスなど）を、要求に従って出力することができる。
【００７１】
このため、複合機であっても、使用される機能に応じてデバイスが認識され、複合機のために特別なドライバを用意する必要がなく、クラス分けに対応した標準ドライバを用いることさえもできる。
【００７２】
また、１デバイス用の信号線で、２つの機能を使い分けることができる。
【００７３】
また、ヘッドを切り替えるだけでホストコンピュータがそれを認識するため、ユーザはホストコンピュータに対して特別な操作を行う必要がなく、操作性が良い。
【００７４】
また、プリンタ装置にスキャナ装置を接続して、コピーとして利用できるシステムにおいては、プリンタ単体の状態からプリンタにスキャナが接続された状態を検知し、（または、その逆）前述のように信号線の電圧を変化させることにより、装置の変化を認識させ、ホストコンピュータのドライバを切り替えさせることもできる。
【００７５】
また、プリンタに両面印刷ユニット、ソータユニット、ステイプルユニット等のオプションが装着された時に、信号線の電圧を前述のように変化させ、装置の状態が変わったことを認識させることもできる。
【００７６】
また、装置のプログラム等をバージョンアップされた際に信号線の電圧を前述のように変化させ、装置の状態を変化したことを認識させることもできる。
【００７７】
なお、本実施形態ではスター上のネットワークに対して説明したが、ピア・ツウ・ピア型などの他のネットワークでも実現可能である。また、スキャナとプリンタについて説明したがデバイスの種類は何であっても良い。さらに３つ以上のデバイスの複合に対しても実現できる。また、デバイスの接続・切り離しの検出手段としてネットワーク信号の電圧という手段で説明したが、他の手段、具体的には、コミュニケーション不能状態による検出、ワッチドックによる検出等で実現でき、様々な方法が考えられる。
【００７８】
さらに、本実施形態では交換されたヘッドの種類を認識し、それをきっかけとしてデバイスの自動認識を行っているが、複合機の機能が切り替えられたことを示す情報であればこれに限るものではなく、例えば、ユーザが操作するスイッチによる切り替えをきっかけとするなどでもよく、各機能に固有な信号を検出し、機能が切り替えられたことを認識すればよい。
【００７９】
〔第２の実施の形態〕
第２の実施形態は、第１の実施の形態とほぼ同じ構成であるが、新たに高精細型の印字ヘッドを追加し、ヘッドの種類を３種類としたものである。高精細型の印字ヘッドには、先に説明した抵抗が内蔵されており分割している位置は他のヘッドと異なっている。したがって、ヘッド検出器２０９によって他の２つのヘッドと異なるデータを読み出せるので、プリンタ制御回路２０１は、ヘッドの種類の検出が可能となる。
【００８０】
図１０は、第２の実施の形態を示すリセット時の制御フローチャートである。
【００８１】
デバイス１００が、図６のステップ６０４でネットワークの切断／接続を起こすことによって、ＰＣ１０２は図９のステップ９０３でリセットコマンドを発行する。リセットコマンドを受けたプリンタは、ステップ７０１でパワーオンリセットかヘッド交換によるリセットかを判断している。パワーオンリセットと判断した場合はステップ７０２に進み、ヘッド交換によるリセットの場合ステップ７０３に進む。なお、図７と同じ内容のステップは同じ参照番号を付した。
【００８２】
ステップ７０２では、メモリやプリンタ機構等のイニシャル動作を行い、またステップ７０３では、すでにメモリのイニシャルは確認されているのでプリンタメカのみのイニシャル動作を行うのみの処理を行う。次に、ヘッドの種類を判断し、各種類に従ってそれぞれの情報をステップ１００１・１００２・７０４で準備する。すなわち、ヘッド検出器２０９を読んで、ヘッドがスキャナ用と判断した場合ステップ７０４に進み、スキャナ用として用意されているデバイス情報のアドレスを準備する。この情報は、プリンタ御御用ＢＩＯＳ２０６に格納されている。また標準の印字ヘッドと判断した場合、ステップ１００１に進み、ステップ７０４と同様に、標準印字プリンタ用のデバイス情報のアドレスを準備する。高精細の印字ヘッドと判断した場合、ステップ１００２に進み、ステップ７０４と同様に、高精細印字プリンタ用のデバイス情報のアドレスを準備する。
【００８３】
ステップ１００３では、先にセットされたデバイス情報のアドレスを用いてプリンタ制御用ＢＩＯＳ２０６内のデバイス情報を読みだし、メモリ２０７にあらかじめ展開しておき、ＰＣ１０２からの要求７０７に応答する。ステップ７０７で読み出し要求があった場合、ステップ７０８に進み、メモリ２０７に展開された情報をトランシーバ２０３に転送して終了する。従って、ヘッドの状態に従って情報を正しくＰＣ１０２に転送し、適時にＰｎＰを実現できる情報を伝達している。
【００８４】
このように、ＰＣ１０２では、デバイスが切り離されたと認識し、そののち新たなデバイスがネットワークに接続されたと認識するので、スキャナといったデバイスの違いだけでなくヘッドの種類（印字方法の異なるヘッド）に対しても異なるドライバをインストールすることができるようになる。
【００８５】
さらに、ＰＣ１０２に伝達する情報の種類として機種名およびＩＤを中心として述べたが、その他の情報も同様に変更できる。具体的には、消費電力情報、ネットワーク上の通信速度情報、転送データサイズ、情報量の大きさ等の情報などを使ったＰＣ１０２の処理の変更も可能になる。したがって、ネットワークを経由して送出する情報の種類を選ばない。
【００８６】
〔第３の実施の形態〕
図１１は、第３の実施の形態を示すプリンタ・スキャナ複合機のヘッド交換時の制御フローチャートである。
【００８７】
ＰＣ１０２上で行われているアプリケーションによってヘッド交換処理が起動された場合、ヘッドの交換要求をＰＣ１０２が発したかどうかをステップ１１０１で判断し、要求を受けた場合、ステップ１１０２で、ヘッド交換のためプリンタのヘッドの位置をあらかじめ決められた位置に移動させる。ステップ１１０３では、ヘッド交換終了の操作がユーザによって行われるまで待つ。ステップ１１０４では、新しい種類のヘッドと認識された場合なので、ヘッドが交換されていたことを示す交換フラグを立て、ポートをセット／リセットし、一つのパルス信号をタイマ２０４に加えて、デバイスの切り離し・再接続の制御をタイマ２０４に指示して処理が終了する。
【００８８】
パルス信号によってタイマ２０４が一度起動されると、タイマ２０４は、ある決められた時間Ｔ２＋Ｔ３だけ抵抗Ｒ３への電源供給をストップさせ、その後供給を再開する。従って、ネットワーク上では、ケーブルが繋がっているにもかかわらずいったんＰＣ１０２でネットワークの切断接続の処理が実行される。
【００８９】
ＰＣ１０２は、ネットワークの切り離しにより組み込んでいたＰＣ１０２内のドライバを外す。さらにＰＣ１０２は、新しくネットワーク上にデバイスが接続されたものと見なすため、新しいデバイスに対してリセット信号を送り、あらかじめ決められたプロトコルに従って処理を進める。
【００９０】
従って、ＰＣ１０２からデバイスの切り離しの請求を起動でき、ヘッド交換・切り離し・再接続のあと、ネットワークに接続された新たなデバイスを認識できる。このように、複合機の機能の切換要求及びそれに応えてのデバイス認識操作をネットワークを経由してＰＣ１０２から遠隔操作出来るようになる。
【００９１】
〔第４の実施の形態〕
先に述べた実施の形態では、ヘッド交換等が行われたときプリンタ制御回路２０１カがパルスを発し、パルスを受けたタイマ２０４は、ある一定時間Ｒ制御器２０５をオフする制御を行っていたが、同様な効果を実現する方法として、プリンタ制御装置自体をいったんリセットし、プリンタ制御用ＢＩＯＳ２０６の一連の初期化シークエンスを使って、抵抗Ｒ３の電源供給の制御を行うことも出来る。
【００９２】
（他の実施形態）
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【００９３】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９４】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００９５】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９６】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００９７】
【発明の効果】
以上説明したように、本発明にかかるデバイスとその制御方法及びネットワークシステムによれば、当該デバイスを使用される機能に応じたデバイスとしてホストコンピュータに認識させることができる。
【００９８】
このため、デバイスは、有している機能を自動的に認識され、良好な操作性を実現できる。
【００９９】
また、特別なドライバを用意しなくとも、クラス分けになじみ、クラスに対応する標準ドライバでも駆動可能である。
【０１００】
また、デバイスの機能が切り替えられた場合に、それをホストコンピュータに認識させるための特別な操作をユーザが行う必要はない。
【０１０１】
また、デバイスの機能の切換処理をネットワークに接続されている他の装置に影響を与えることなく行うことができる。
【０１０２】
また、ホストコンピュータからデバイスに対する機能の切り換え要求に応じて当該デバイスがホストコンピュータに機能の切り替えを認識させるため、ホストコンピュータ側のソフトやハードを変更することなくデバイスの機能の切換を行わせることができる。
【図面の簡単な説明】
【図１】階段状でスター型のネットワークの図である。
【図２】プリンタ・スキャナ複合機１００のネットワーク制御系のブロック図である。
【図３】ヘッド検出器２０９とヘッドのブロック図である。
【図４】ネットワークを構成する信号線とそのドライバを示す図である。
【図５】ケーブル４０１の接続および切り離しタイミングと信号線の電圧変化を示した図である。
【図６】プリンタ・スキャナ複合機のヘッド交換時の制御フローチャートである。
【図７】プリンタ・スキャナ複合機のリセット時の制御フローチャートである。
【図８】ＰＣ１０２の概略ブロック図である。
【図９】ＰＣ１０２によるネットワーク上のデバイスの認識に関するフローチャートである。
【図１０】第２の実施の形態を示すリセット時の制御フローチャートである。
【図１１】第３の実施の形態を示すプリンタ・スキャナ複合機のヘッド交換時の制御フローチャートである。
【図１２】プリンタ・スキャナの内部構造の斜視図である。
【符号の説明】
１００  プリンタ・スキャナ装置
１０２  ホストコンピュータ
２０１  プリンタ制御回路
２０４  タイマ
２０５  Ｒ制御器
２０９  ヘッド検出器
２１０  ヘッド
【図１】
0004026948.tif 000003
【図２】
0004026948.tif 000004
【図３】
0004026948.tif 000005
【図４】
0004026948.tif 000006
【図５】
0004026948.tif 000007
【図６】
0004026948.tif 000008
【図７】
0004026948.tif 000009
【図８】
0004026948.tif 000010
【図９】
0004026948.tif 000011
【図１０】
0004026948.tif 000012
【図１１】
0004026948.tif 000013
【図１２】
0004026948.tif 000014