(57)【要約】【課題】印刷装置を制御するシステムにおいて、制御側の装置の構成を変更することなく、印刷装置に係る構成変更を行えるようにする。【解決手段】プリンター（Ｆ）３０が備えるＵＳＢインターフェイス４０は、ホストコンピューター１０と接続し、デバイス情報記憶部５４Ｂは、プリンターの機種名等を含むデバイス情報を記憶する。データ制御部５１は、ホストコンピューター１０に、デバイス情報記憶部５４Ｂに記憶されたデバイス情報を送信し、ホストコンピューター１０との通信が開始されない場合はデバイス情報記憶部５４Ｂに記憶した他のデバイス情報を送信する。【選択図】図３
2015014917.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と接続する接続部と、
印刷装置の種別を含む第１の装置情報及び前記第１の装置情報と異なる印刷装置の種別を含む第２の装置情報を記憶する記憶部と、
前記接続部に接続された前記ホスト装置に、前記記憶部に記憶された前記第１の装置情報を送信し、前記ホスト装置との通信が開始されない場合は前記記憶部に記憶された前記第２の装置情報を送信する制御部と、
を備えることを特徴とする電子機器。
【請求項２】
前記制御部は、前記第１の装置情報を送信した後の所定時間内に、前記ホスト装置が前記第１の装置情報に基づく通信を開始しない場合に、前記記憶部に記憶された前記第２の装置情報を送信する請求項１記載の電子機器。
【請求項３】
前記制御部は、前記ホスト装置が前記第１の装置情報に基づく通信を開始しない場合に、前記ホスト装置との接続を切断して再び接続開始する動作を行い、その後、前記記憶部に記憶された前記第２の装置情報を送信する請求項２記載の電子機器。
【請求項４】
印刷を行う印刷部を有し、
前記第２の装置情報は、前記印刷部の種別を含む請求項１から３のいずれか１項に記載の電子機器。
【請求項５】
インターフェイス部を有し、前記インターフェイス部を介して装置情報を要求する信号を送信するホスト装置と、
前記ホスト装置と接続する接続部、印刷装置の種別を含む第１の装置情報及び前記第１の装置情報と異なる印刷装置の種別を含む第２の装置情報を記憶する記憶部、前記ホスト装置に前記記憶部に記憶された前記第１の装置情報を送信した後に前記ホスト装置との通信が開始されない場合は前記記憶部に記憶された前記第２の装置情報を送信する制御部を有する電子機器と、
を備えることを特徴とする印刷システム。
【請求項６】
前記制御部は、前記第１の装置情報の送信した後の所定時間内に、前記ホスト装置が前記第１の装置情報に基づく通信を開始しない場合に、前記記憶部に記憶された前記第２の装置情報を送信する請求項５記載の印刷システム。
【請求項７】
前記電子機器と接続して印刷を行う印刷装置を備え、
前記電子機器は、印刷を行う印刷部を有し、前記第２の装置情報は、前記印刷部の種別を含む請求項５または６に記載の印刷システム。
【請求項８】
接続部にホスト装置が接続された場合に、予め記憶した印刷装置の種別を含む第１の装置情報を前記ホスト装置に送信し、
前記ホスト装置との通信が開始されない場合は記憶した第２の装置情報を前記ホスト装置に送信することを特徴とする印刷システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、印刷システム、及び、印刷システムの制御方法に関する。
【背景技術】
【０００２】
従来、ホスト装置に対し、このホスト装置が対応している機種とは異なる機種の印刷装置を接続して印刷を実行する方法が知られている（例えば、特許文献１参照）。この方法では、ホスト装置が対応している機種用の設定コマンドに対応した処理を、別の機種の印刷装置が実行できるようにする。これにより、ホスト装置に新たなソフトウェアをインストールする等のホスト装置の構成変更をせずに、印刷装置の機種を変更する等の構成変更が可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２９５３６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１にはプリンターＡのプリンタードライバーを使用して作成した帳票をプリンターＢで手法が記載されている。
しかしながら、プリンターＡのプリンタードライバーを用いてプリンターＢにデータを出力することが必ずしも可能であるとは限らない。例えば、プリンターＡのプリンタードライバーを使用するホスト装置にプリンターＢを接続したときに、ホスト装置とプリンターＢとが情報を送受信できるとは限らない。このように、ホスト装置と印刷装置との間で装置情報の送受信を行う構成で接続した場合には、ホスト装置が対応している機種とは異なる機種の印刷装置を接続することは、特に困難な場合があった。
本発明は、上述した事情に鑑みてなされたものであり、印刷装置を制御するシステムにおいて、ホスト装置の構成を変更することなく、容易に、印刷装置に係る構成変更を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、ホスト装置と接続する接続部と、印刷装置の種別を含む第１の装置情報及び前記第１の装置情報と異なる印刷装置の種別を含む第２の装置情報を記憶する記憶部と、前記接続部に接続された前記ホスト装置に、前記記憶部に記憶された前記第１の装置情報を送信し、前記ホスト装置との通信が開始されない場合は前記記憶部に記憶された前記第２の装置情報を送信する制御部と、を備えることを特徴とする。
本発明によれば、ホスト装置に装置情報を送信して、ホスト装置との通信が開始されない場合は異なる装置情報をホスト装置に出力するので、ホスト装置との通信を開始できる。このように、本発明の電子機器をホスト装置に接続することで、ホスト装置との通信を開始し、ホスト装置に情報を出力させることが可能となる。
【０００６】
また、本発明は、上記電子機器において、前記制御部は、前記第１の装置情報を送信した後の所定時間内に、前記ホスト装置が前記第１の装置情報に基づく通信を開始しない場合に、前記記憶部に記憶された前記第２の前記装置情報を送信する。
本発明によれば、ホスト装置に第１の装置情報を送信した後に、ホスト装置により通信が開始されないことを速やかに判定し、異なる装置情報を送信する。これにより、ホスト装置との通信を速やかに開始できる。
【０００７】
また、本発明は、上記電子機器において、前記制御部は、前記ホスト装置が前記第１の装置情報に基づく通信を開始しない場合に、前記ホスト装置との接続を切断して再び接続開始する動作を行い、その後、前記記憶部に記憶された前記第２の装置情報を送信する。
本発明によれば、ホスト装置に対して送信した装置情報が、ホスト装置が対応可能な装置情報でない場合に、ホスト装置との接続を切断することで、ホスト装置との間の通信を速やかに初期化して他の装置情報を出力できる。これにより、より速やかに、ホスト装置との通信を開始できる。
【０００８】
また、本発明は、上記電子機器において、印刷を行う印刷部を有し、前記第２の装置情報は、前記印刷部の種別を含む。
本発明によれば、印刷部を有する電子機器が、この印刷部の種別を含む装置情報をホスト装置に送信して、ホスト装置との通信を開始する。このため、印刷部を有する電子機器とホスト装置との通信を速やかに開始させることが可能となる。
【０００９】
また、上記目的を達成するために、本発明の印刷システムは、インターフェイス部を有し、前記インターフェイス部を介して装置情報を要求する信号を送信するホスト装置と、前記ホスト装置と接続する接続部、印刷装置の種別を含む第１の装置情報及び前記第１の装置情報と異なる印刷装置の種別を含む第２の装置情報を記憶する記憶部、前記ホスト装置に前記記憶部に記憶された前記第１の装置情報を送信した後に前記ホスト装置との通信が開始されない場合は前記記憶部に記憶された前記第２の装置情報を送信する制御部を有する電子機器と、を備えることを特徴とする。
本発明によれば、ホスト装置に電子機器を接続して、電子機器からホスト装置に装置情報を送信し、ホスト装置と電子機器の通信が開始されない場合は異なる装置情報を電子機器がホスト装置に送信する。これにより、電子機器とホスト装置との通信を開始させ、ホスト装置から電子機器に情報を出力させることが可能となる。
【００１０】
また、本発明は、上記印刷システムにおいて、前記制御部は、前記第１の装置情報の送信した後の所定時間内に、前記ホスト装置が前記第１の装置情報に基づく通信を開始しない場合に、前記記憶部に記憶された前記第２の装置情報を送信する。
本発明によれば、ホスト装置に第１の装置情報を送信した後に、ホスト装置により通信が開始されないことを速やかに判定し、異なる装置情報を送信する。これにより、ホスト装置との通信を速やかに開始できる。
【００１１】
また、本発明は、上記印刷システムにおいて、前記電子機器と接続して印刷を行う印刷装置を備え、前記電子機器は、印刷を行う印刷部を有し、前記第２の装置情報は、前記印刷部の種別を含む。
本発明によれば、印刷部を有する電子機器が、この印刷部の種別を含む装置情報をホスト装置に送信して、ホスト装置との通信を開始する。このため、印刷部を有する電子機器とホスト装置との通信を速やかに開始させることが可能となる。
【００１２】
また、上記目的を達成するために、本発明の印刷システムの制御方法は、接続部にホスト装置が接続された場合に、予め記憶した印刷装置の種別を含む第１の装置情報を前記ホスト装置に送信し、前記ホスト装置との通信が開始されない場合は記憶した第２の装置情報を前記ホスト装置に送信すること、を特徴とする。
本発明によれば、ホスト装置に第１の装置情報を送信し、通信できない場合は第２の装置情報をホスト装置に送信する。このため、ホスト装置を接続することで、ホスト装置との通信を開始し、ホスト装置に情報を出力させることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る印刷システムの構成図である。
【図２】ホストコンピューターのソフトウェア構成を示す模式図である。
【図３】プリンター（Ｆ）の機能ブロック図である。
【図４】実施形態に係る各部の動作を示すシーケンス図である。
【図５】実施形態に係る各部の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明の実施形態に係る印刷システム１の構成図である。
図１に示す印刷システム１は、ホストコンピューター１０（ホスト装置）、機種Ｅのプリンター（Ｅ）２０（第１印刷装置）、及び、機種Ｆのプリンター（Ｆ）３０（電子機器、中継装置）を接続して構成される。
ホストコンピューター１０は、アプリケーションプログラムを実行して文書等を生成し、印刷指示を出力する。
印刷システム１は、ホストコンピューター１０とプリンター（Ｅ）２０との間にプリンター（Ｆ）３０が配設された構成となっている。言い換えれば、印刷システム１は、ホストコンピューター１０にプリンター（Ｆ）３０とプリンター（Ｅ）２０とがデイジーチェーン接続された構成となっている。
【００１５】
ホストコンピューター１０は、後述するように、特定のプリンターに対応するデバイスドライバープログラムがインストールされ、このデバイスドライバープログラムに対応するプリンターが接続された場合に、このプリンターを制御する。
しかしながら、ホストコンピューター１０は、プリンター（Ｆ）３０に対応するデバイスドライバープログラムはインストールされていない。この印刷システム１は、ホストコンピューター１０に、ホストコンピューター１０、もしくはインストールされているデバイスドライバープログラムが対応していないプリンター（Ｆ）３０を接続した場合に相当するシステムである。
【００１６】
ホストコンピューター１０は、制御部１１、記憶部１５、入力部１６、及び表示部１７を備えている。また、ホストコンピューター１０は、外部の機器が接続されるインターフェイスとして、ＵＳＢインターフェイス１２を備えている。ＵＳＢインターフェイス１２は、ＵＳＢ＿Ａコネクター１３と、このＵＳＢ＿Ａコネクター１３にＵＳＢケーブルを介して接続された機器との間の通信を、所定のプロトコルに従って実行するＵＳＢホストコントローラー１４とを備えている。
【００１７】
制御部１１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等により構成され、記憶部１５に記憶された各種プログラムを実行することにより、ホストコンピューター１０の各部を制御する。
制御部１１は、ＲＯＭに記憶された基本制御プログラム、及び、記憶部１５に記憶されたオペレーティングシステムを実行して、ホストコンピューター１０の各部を制御する。また、制御部１１は、記憶部１５に記憶されたアプリケーションプログラムを実行して、例えば、ＰＯＳ端末として動作する。この場合、制御部１１は、入力部１６により入力されるデータに基づいて商品販売に係るデータ処理を実行し、商品販売処理の結果を示すレシートを印刷するデータを印刷実行の指示とともに出力する。
また、制御部１１は、記憶部１５に記憶されたデバイスドライバープログラムを実行し、ホストコンピューター１０に接続される各種機器を制御する。本実施形態のホストコンピューター１０は、ＵＳＢインターフェイスを介して接続されるデバイスに対応して、デバイスドライバープログラムを実行可能である。このデバイスドライバープログラムは、オペレーティングシステムと協働して、プリンターに対して印刷を指示する印刷コマンド及びデータを出力する。すなわち、制御部１１は、アプリケーションプログラムにより出力される印刷指示とデータに基づいて、プリンターの機種に合わせた印刷コマンドと印刷データとを生成し、ＵＳＢインターフェイス１２から出力する。
【００１８】
ＵＳＢインターフェイス１２、及び、後述するＵＳＢインターフェイス２１、４０、４５は、いずれもＵＳＢ規格に準拠した物理層、リンク層及びプロトコル層を構成し、１対１で接続された機器間のシリアルデータ通信を実行する。ここで、ＵＳＢ規格とは、ＵＳＢ１．１〜ＵＳＢ３．０またはそれ以降の拡張規格を含む。
また、本実施形態では、ＵＳＢ接続されるデバイスからホストに対し、ＵＳＢデバイス情報（以下、デバイス情報）を送信する。このデバイス情報は、ＵＳＢ規格で定められた形式のデータであり、クラスＩＤ（ＵＳＢデバイスクラスＩＤ）、ベンダーＩＤ、プロダクトＩＤ、ベンダー名、機種名等を含んでいる。
本実施形態のデバイス情報は、少なくとも、クラスＩＤ、デバイス毎に固有のプロダクトＩＤ、及び、デバイスの機種名を含んでいればよく、ＵＳＢシリアル番号を含んでいれば好ましい。印刷システム１は、デバイス情報にＵＳＢシリアル番号が含まれている場合には、ＵＳＢシリアル番号を用いて各機器を識別する。また、ＵＳＢシリアル番号が含まれない場合は、ベンダーＩＤとプロダクトＩＤとを組み合わせたＩＤにより機器を識別する。
【００１９】
ＵＳＢインターフェイス１２は、ＵＳＢ＿Ａコネクター１３及びＵＳＢホストコントローラー１４を有する。ＵＳＢ＿Ａコネクター１３は、ＵＳＢ規格によりホスト側の装置のコネクターとして指定された形状及び端子を有するメス（receptacle）側コネクターであって、ＵＳＢ規格に準拠したＵＳＢケーブル２Ｂを接続可能である。ＵＳＢ＿Ａコネクター１３は、ｍｉｎｉＵＳＢ＿Ａ端子やｍｉｃｒｏＵＳＢ＿Ａ端子としてもよい。なお、後述するようにプリンター（Ｆ）３０が備えるＵＳＢ＿Ａコネクター４６（図３）も同様である。また、ＵＳＢインターフェイス１２が備えるＵＳＢ＿Ａコネクター１３の数について特に制限はない。
ＵＳＢホストコントローラー１４は、ＵＳＢ規格に準拠したデバイスに該当する機器がＵＳＢ＿Ａコネクター１３に接続された場合に、この機器に対してホスト側として動作し、デバイスの認識及びデバイスとの間の通信を可能とする。
【００２０】
ここで、デバイスとは、例えばホストとして動作する装置に接続される入出力装置であり、デバイスはホストの制御に従ってデータをホストに出力し、或いは、ホストから入力されるデータを出力する。ここで、ホストとは、デバイスとしての入出力装置に対し、これら入出力装置を制御するコマンドを送信するコンピューター等が該当する。
【００２１】
図２は、ホストコンピューター１０のソフトウェア構成を示す模式図である。この図２には制御部１１が実行するアプリケーションプログラムの一例として、ＰＯＳアプリケーション１１Ａを示す。また、制御部１１が実行するデバイスドライバー群１１Ｂ、通信ポート制御部１１Ｃ、及び、オペレーティングシステム（ＯＳ）１１Ｄを示す。この図２には理解の便宜のためＵＳＢインターフェイス１２及びプリンター（Ｆ）３０を図示する。
【００２２】
ホストコンピューター１０にはＰＯＳアプリケーション１１Ａがインストールされており、オペレーティングシステム１１Ｄ上で動作する。また、ホストコンピューター１０には、デバイスドライバーがインストールされている。これらのデバイスドライバーを総称して、デバイスドライバー群１１Ｂとする。ホストコンピューター１０には、複数のデバイスドライバーをインストールできる。図２の例では機種Ａのプリンターに対応するデバイスドライバー、機種Ｂのプリンターに対応するデバイスドライバー、…、機種Ｄのプリンターに対応するデバイスドライバーがインストールされている。これらのデバイスドライバーは、オペレーティングシステム１１Ｄの機能と協働して、ＵＳＢインターフェイス１２に接続された機器を制御する。なお、上述のようにホストコンピューター１０には機種Ｆのプリンターに対応するデバイスドライバーはインストールされていない。
【００２３】
ホストコンピューター１０のオペレーティングシステム１１Ｄは、ＵＳＢインターフェイス１２に接続された機器を個々に識別するため、仮想の通信ポートを複数設ける。図２の例では、機種Ａのプリンターに対応する通信ポート、機種Ｂのプリンターに対応する通信ポート、…、機種Ｄのプリンターに対応する通信ポートが設けられている。各通信ポートは、デバイスドライバーがインストールされる際に作成される。ここで、複数の機種に対応するデバイスドライバーがインストールされた場合、ホストコンピューター１０は、このデバイスドライバーに対応する一つの仮想の通信ポートを設けてもよい。また、このデバイスドライバーに対応する機種毎に、複数の仮想の通信ポートを設けてもよい。これらの通信ポートを総称して、通信ポート群１１Ｅとする。
【００２４】
さらに、ホストコンピューター１０は、通信ポート制御部１１Ｃを備えている。通信ポート制御部１１Ｃは、ＵＳＢインターフェイス１２に接続された機器と、通信ポート群１１Ｅの各通信ポートとの対応付けを制御する機能を持ったプログラムモジュールである。通信ポート制御部１１Ｃは、オペレーティングシステム１１Ｄと協働するソフトウェアとして、例えばデバイスドライバーとともにインストールされてもよい。また、通信ポート制御部１１Ｃがオペレーティングシステム１１Ｄの一部として実装されてもよい。
【００２５】
ＵＳＢインターフェイス１２に機器が接続された場合の動作を説明する。図２に例示するように、ＵＳＢインターフェイス１２に機器３が接続されると、ホストコンピューター１０は、機器３の接続を認識する。この認識処理では、オペレーティングシステム１１Ｄ及びＵＳＢインターフェイス１２が備えるＵＳＢホストコントローラー１４（図１）の機能が使われる。オペレーティングシステム１１Ｄは、機器３から送信されるデバイス情報を受信し、受信したデバイス情報に基づき、機器３のクラスＩＤや機種名を特定し、デバイスドライバー群１１Ｂから対応するデバイスドライバーを特定する。特定されたデバイスドライバーは、通信ポート制御部１１Ｃを呼び出す。通信ポート制御部１１Ｃは、機器３のクラスＩＤ及び機種名に基づき、通信ポート群１１Ｅのいずれかの通信ポートを割り当てる。これにより、機器３と、機器３が接続されたＵＳＢ＿Ａコネクター１３（図１）と、通信ポートと、デバイスドライバーとが対応付けられる。
【００２６】
通信ポート制御部１１Ｃは、通信ポート群１１Ｅの各通信ポートについて、その通信ポートが割り当てられた機器のクラスＩＤ、機種名、及び、ＵＳＢシリアル番号を設定する。通信ポートに設定されたＵＳＢシリアル番号は、その通信ポートが異なるＵＳＢシリアル番号を有する機器に割り当てられるまで、維持される。デバイス情報にＵＳＢシリアル番号が含まれない場合には、代わりに、ベンダーＩＤとプロダクトＩＤとを組合せたＩＤが通信ポートに設定される。
【００２７】
その後、通信ポート制御部１１Ｃは、機器３に割り当てた通信ポートを、デバイスドライバー及びオペレーティングシステム１１Ｄに通知する。この処理の後は、機器３と、デバイスドライバー及びオペレーティングシステム１１Ｄとは、特定の通信ポートを通じて通信を行う。
例えば、オペレーティングシステム１１Ｄは、機器３にアドレスを割り当てて、機器３から必要な情報を取得し、機器３と通信可能な状態に移行する。その後、例えば、デバイスドライバーは、機器３の動作を初期化する設定コマンド等を送信し、この設定コマンドの応答を受信して、印刷可能な状態に移行する。
【００２８】
ここで、機器３に対応するデバイスドライバーがインストールされていない場合、通信ポート群１１Ｅには機器３に対応する通信ポートがない。具体的には、機器３から送信されたデバイス情報に対応するデバイスドライバーがインストールされていない場合である。この場合、通信ポート制御部１１Ｃは通信ポートを割り当てることができないので、ホストコンピューター１０は、機器３との通信を開始できない。勿論、オペレーティングシステム１１Ｄが機器３にアドレスを割り当てる処理、及び、デバイスドライバーが機器３に設定コマンドを送信する処理も実行されない。この場合、ホストコンピューター１０は、機器３が接続されてから所定時間待機し、タイムアウトした後に、エラーを出力するか、機器３を使用できない（使用不可）と判定する。
【００２９】
図１に示すように、プリンター（Ｅ）２０は、図示しない印刷ヘッド、搬送モーター、搬送ローラー、カッターユニット等の印刷部（Ｅ）２８を備え、カット紙やロール紙等の印刷媒体に、文字や画像を印刷（記録）する装置である。プリンター（Ｅ）２０は、ＵＳＢインターフェイス２１、通信部２６、印刷制御部（Ｅ）２７、及び印刷部（Ｅ）２８を有する。通信部２６は、ＵＳＢインターフェイス２１を介して接続された機器との間でデータ通信を実行する。印刷制御部（Ｅ）２７は、通信部２６が受信したデータに基づいて印刷部（Ｅ）２８を制御し、印刷を実行させる。
【００３０】
ＵＳＢインターフェイス２１が備えるＵＳＢ＿Ｂコネクター２２は、ＵＳＢ規格によりデバイス側の装置のコネクターとして指定された形状及び端子を有するメス側コネクターであって、ＵＳＢ規格に準拠したＵＳＢケーブル２Ｃを接続可能である。ＵＳＢ＿Ｂコネクター２２は、ｍｉｎｉＵＳＢ＿Ｂ端子やｍｉｃｒｏＵＳＢ＿Ｂ端子としてもよい。なお、後述するＵＳＢ＿Ｂコネクター４１（図３）も同様である。ＵＳＢデバイスコントローラー２３は、ＵＳＢ規格のデバイス側の機器として動作する。ＵＳＢデバイスコントローラー２３は、ＵＳＢ＿Ｂコネクター２２にＵＳＢケーブルを介して接続された機器に対してデバイス情報を送信する。
【００３１】
通信部２６は、ＵＳＢインターフェイス２１を介して接続されたホスト装置から送信されるコマンドやデータを受信し、受信バッファー２５に一時的に記憶する。通信部２６は、プリンター（Ｅ）２０のステータスを示すデータや制御コマンド等を、ＵＳＢインターフェイス２１を介して送信する。
印刷制御部（Ｅ）２７は、受信バッファー２５に記憶されたコマンドを受信順に読み出して制御を実行する。例えば、印刷制御部（Ｅ）２７は、受信バッファー２５からステータスの送信を要求するコマンドを読み出した場合、プリンター（Ｅ）２０の動作状態を示すステータス情報を生成して、通信部２６により送信する。また、例えば、印刷制御部（Ｅ）２７は、受信バッファー２５から印刷データを伴う印刷コマンドを読み出した場合、このコマンドに従って印刷制御部（Ｅ）２７は、印刷部（Ｅ）２８を制御し、印刷部（Ｅ）２８は印刷を実行する。印刷制御部（Ｅ）２７は、印刷が完了したことを示す完了通知またはエラーが発生したことを示すエラー通知を生成して、通信部２６によってＵＳＢインターフェイス２１から送信する。
【００３２】
プリンター（Ｆ）３０は、２つのＵＳＢインターフェイス４０、４５を備える。ＵＳＢインターフェイス４０にはＵＳＢケーブル２Ｂを介してホストコンピューター１０が接続され、ＵＳＢインターフェイス４５にはＵＳＢケーブル２Ｃを介してプリンター（Ｅ）２０が接続される。
プリンター（Ｆ）３０は、通信制御部３１、印刷部（Ｆ）６０、及び印刷制御部（Ｆ）３２を備えている。通信制御部３１は、ＵＳＢインターフェイス４０、４５を介した通信を制御する。印刷部（Ｆ）６０は、図示しない印刷ヘッド、搬送モーター、搬送ローラー、カッターユニット等を備え、印刷を行う。印刷制御部（Ｆ）３２は、通信制御部３１が送受信するデータに基づいて印刷部（Ｆ）６０を制御し、印刷部（Ｆ）は印刷を実行する。
【００３３】
図３は、印刷システム１の機能ブロック図であり、プリンター（Ｆ）３０の構成について特に詳細に示している。図３には、特定のハードウェアを表した機能ブロックだけでなく、ソフトウェアにより実現される機能ブロックが含まれる。
図３に示すように、ＵＳＢインターフェイス４０（接続部）は、ＵＳＢ＿Ｂコネクター４１とＵＳＢデバイスコントローラー４２とを備える。ＵＳＢインターフェイス４５（機器接続部）は、ＵＳＢ＿Ａコネクター４６とＵＳＢホストコントローラー４７とを備える。
【００３４】
ＵＳＢ＿Ｂコネクター４１は、ＵＳＢ＿Ｂコネクター２２と同様、ＵＳＢ規格によりデバイス側の装置のコネクターとして指定された形状及び端子を有するメス側コネクターであり、ＵＳＢケーブル２Ｂが接続される。
また、ＵＳＢ＿Ａコネクター４６は、ＵＳＢ＿Ａコネクター１３と同様、ＵＳＢ規格によりホスト側の装置のコネクターとして指定された形状及び端子を有するメス側コネクターであって、ＵＳＢケーブル２Ｃが接続される。なお、ＵＳＢインターフェイス４５が備えるＵＳＢ＿Ａコネクター４６の数については特に制限はない。
【００３５】
ＵＳＢデバイスコントローラー４２は、ＵＳＢ＿Ｂコネクター４１に接続された機器に対してデバイス情報を送信し、この機器から送信されるコマンドや制御データに従って通信を実行する。ＵＳＢデバイスコントローラー４２はホスト装置に接続されて、デバイスとして動作する。例えば、ＵＳＢデバイスコントローラー４２は、ホストコンピューター１０に接続されて、機器３（図２）として動作する。ＵＳＢホストコントローラー４７は、ＵＳＢ規格のデバイスに該当する機器がＵＳＢ＿Ａコネクター４６に接続された場合に、この機器に対してホスト側として動作し、デバイスの認識及びデバイスとの間の通信を可能とする。
つまり、プリンター（Ｆ）３０は、ＵＳＢインターフェイス４０に接続された機器に対してはデバイスとして動作し、ＵＳＢインターフェイス４５に接続された機器に対してはホストとして動作する。
【００３６】
通信制御部３１は、データ制御部５１、ＵＳＢクライアントドライバー５２、ＵＳＢドライバー５３、データ処理部５５、及びプリンタードライバー５６を備えている。通信制御部３１は、インターフェイス基板３５に実装された図示しないＣＰＵ、ＲＯＭ、ＲＡＭ等により構成され、ＣＰＵが制御プログラムを実行することによって通信制御部３１の各部がソフトウェア的に実現される。また、インターフェイス基板３５は、通信制御部３１に接続された記憶部（Ｆ）５４を備えている。記憶部（Ｆ）５４は、例えばインターフェイス基板３５に実装されたフラッシュＲＯＭ等により構成される。記憶部（Ｆ）５４の記憶領域には、受信バッファー５４Ａ、及び、デバイス情報記憶部５４Ｂが設けられている。受信バッファー５４Ａは、後述するように通信制御部３１がホストコンピューター１０から印刷指示のコマンドやデータを受信した場合に、受信されたコマンドやデータを逐次記憶する。また、デバイス情報記憶部５４Ｂは、通信制御部３１がホストコンピューター１０に送信するデバイス情報（装置情報）を記憶する。
【００３７】
通信制御部３１は、ＵＳＢクライアントドライバー５２を実行する。ＵＳＢクライアントドライバー５２は、ＵＳＢインターフェイス４０に接続されるホストコンピューター１０に対して、ＵＳＢ規格のデバイスとして動作する。ＵＳＢクライアントドライバー５２は、ＵＳＢインターフェイス４０に接続された機器（ホスト）からクラスＩＤ等が要求された場合に、この要求に応答してデバイス情報をホストに送信する。その後、ホストの制御に従ってデータを送受信する。本実施形態では、ＵＳＢインターフェイス４０にホストコンピューター１０が接続された場合に、ホストコンピューター１０に対してデバイス情報を送信する。
【００３８】
デバイス情報記憶部５４Ｂには、複数のデバイス情報（第１の装置情報、第２の装置情報）を記憶している。本実施形態では、複数の機種のプリンターに対応するデバイス情報を記憶している。すなわち、デバイス情報記憶部５４Ｂに記憶される各デバイス情報は、プリンタークラスのクラスＩＤを含み、各デバイス情報の機種名は異なる。ベンダーＩＤ及びベンダー名は機種名に対応していればよい。また、各デバイス情報は互いに異なるＵＳＢシリアル番号を含んでいる。或いは、各デバイス情報がＵＳＢシリアル番号を含まない場合は、各デバイス情報が含むベンダーＩＤとプロダクトＩＤとを組合せたＩＤが、互いに異なるＩＤになっている。
【００３９】
デバイス情報記憶部５４Ｂは、プリンター（Ｆ）３０が備える印刷部（Ｆ）６０の仕様に適合したデバイス情報（第２の装置情報）を少なくとも記憶している。また、デバイス情報記憶部５４Ｂには、ホストコンピューター１０が対応している可能性の高い機種のプリンターのデバイス情報が記憶されている。本実施形態では、機種Ａのプリンターに対応するデバイス情報が記憶されている。データ制御部５１は、ＵＳＢインターフェイス４０にホストコンピューター１０が接続されたことを検出すると、後述するように、記憶部５４に記憶されたデバイス情報をＵＳＢクライアントドライバー５２に出力する。ＵＳＢクライアントドライバー５２は、このデバイス情報をホストコンピューター１０に送信（通知）する。ホストコンピューター１０は、プリンター（Ｆ）３０から送信されたデバイス情報が機種Ａのデバイス情報である場合に、プリンター（Ｆ）３０を機種Ａのプリンターとして認識する。その後、ホストコンピューター１０は、ＵＳＢインターフェイス１２に機種Ａのプリンターが接続された場合と同様に動作する。
【００４０】
プリンター（Ｆ）３０にとって、ホストコンピューター１０に接続されるまで、ホストコンピューター１０がどの機種に対応するデバイスドライバーが動作しているかは不明である。このため、データ制御部５１は、デバイス情報記憶部５４Ｂに記憶しているデバイス情報のいずれかをホストコンピューター１０に送信して、ホストコンピューター１０からの応答を待つ。もし、データ制御部５１が送信したデバイス情報が、ホストコンピューター１０が対応している機種のデバイス情報であった場合、ホストコンピューター１０はプリンター（Ｆ）３０を認識して、通信を開始し、各種のデータを送信する。このデータは、例えば、ホスト装置がＵＳＢ機器を認識する制御データ、ＵＳＢインターフェイス１２に接続されたプリンターを初期化する制御コマンドやデータ等である。また、データ制御部５１が送信したデバイス情報が、ホストコンピューター１０が対応していない機種のデバイス情報であった場合、ホストコンピューター１０は通信を開始せず、処理を実行しない。この場合、プリンター（Ｆ）３０は、ホストコンピューター１０の応答を待っている状態でタイムアウトとなる。データ制御部５１は、ホストコンピューター１０にいずれかのデバイス情報（第１のデバイス情報）を送信し、ホストコンピューター１０が通信を開始するまで所定時間、待機する。そして、ホストコンピューター１０から応答がないままタイムアウトした場合は、別のデバイス情報（第２のデバイス情報）を送信する。
【００４１】
プリンター（Ｆ）３０は、デバイス情報記憶部５４Ｂ内の複数のデバイス情報を送信する順序を定める情報を、デバイス情報記憶部５４Ｂに記憶している。この情報は、例えば送信リストの形式になっている。データ制御部５１は、送信リストが定める順序でデバイス情報を選択して、ホストコンピューター１０に送信する。また、ホストコンピューター１０から応答がなければ、送信リストが定める順序に従って、デバイス情報の選択と送信を繰り返す。
データ制御部５１は、ホストコンピューター１０から応答があった場合、すなわち、いずれかのデバイス情報がホストコンピューター１０に適合した場合、このデバイス情報が送信リストの上位になるように、送信リストを編集してもよい。この編集処理を行うことで、次回、プリンター（Ｆ）３０がホストコンピューター１０に接続されたときに、速やかにホストコンピューター１０に認識される。
【００４２】
また、通信制御部３１は、ＵＳＢドライバー５３を実行する。ＵＳＢドライバー５３は、ＵＳＢインターフェイス４５に接続された機器に対し、ＵＳＢホストコントローラー４７を利用して、ＵＳＢ規格により規定されたホスト機器として動作する。ＵＳＢドライバー５３の制御により、デバイスの認識が行われ、デバイスとの間の通信が可能となる。本実施形態では、ＵＳＢドライバー５３は、プリンター（Ｅ）２０に対応したデバイスドライバーであり、プリンター（Ｅ）２０に対応する印刷コマンドや印刷データを生成して出力する機能を有する。ＵＳＢインターフェイス４５にプリンター（Ｅ）２０が接続された場合、ＵＳＢドライバー５３は、プリンター（Ｅ）２０に対してデバイス情報の送信を要求する。その後、ＵＳＢインターフェイス４５は、この要求に応答してプリンター（Ｅ）２０が送信する情報を取得する。その後、ＵＳＢドライバー５３は、プリンター（Ｅ）２０との間の通信が可能な状態に移行する。この場合、プリンター（Ｅ）２０は、ＵＳＢケーブルでホストコンピューター１０に直接接続された場合と同様に動作する。
【００４３】
データ制御部５１は、ＵＳＢインターフェイス４０に接続されたホストコンピューター１０から印刷コマンド及び印刷データが出力された場合に、このコマンド及びデータを記憶部５４に設けられた受信バッファー５４Ａに記憶する。
データ制御部５１は、受信バッファー５４Ａに記憶したコマンド及びデータをデータ処理部５５に出力するとともに、ＵＳＢドライバー５３によってプリンター（Ｅ）２０に出力する。これにより、ホストコンピューター１０が送信したコマンドやデータがプリンター（Ｅ）２０に送信される。
プリンター（Ｅ）２０に対して、プリンター（Ｆ）３０はＵＳＢインターフェイス４５によりホストとして機能するので、プリンター（Ｅ）２０は、ホストから送信されたコマンドやデータを受信した場合と同様に、このコマンドやデータに従って動作する。
【００４４】
プリンター（Ｆ）３０は、印刷部（Ｆ）６０を制御する印刷制御部（Ｆ）３２が搭載されたメイン基板３６（印刷制御基板）と、インターフェイス基板３５とを備える。インターフェイス基板３５は、メイン基板３６とは別に、プリンター（Ｆ）３０の本体に対して着脱可能に設けられる。インターフェイス基板３５には、通信制御部３１、メモリー３３、及びＵＳＢインターフェイス４０、４５の各部が実装されている。インターフェイス基板３５に実装された各部と、メイン基板３６に実装された印刷制御部（Ｆ）３２とは、プリンター（Ｆ）３０が内蔵する内部インターフェイス３７を介して相互にデータ入出力可能に接続される。また、インターフェイス基板３５上の各部に対し内部インターフェイス３７を介して電力を供給してもよいし、インターフェイス基板３５に外部電源が接続される構成としてインターフェイス基板３５からメイン基板３６に電力を供給してもよい。印刷制御部（Ｆ）３２にはメモリー３４が接続される。メモリー３４はコマンドやデータを一時的に記憶する記憶部（Ｅ）である。
印刷部（Ｆ）６０は、図２に示すように、印刷ヘッド６１、搬送モーター６２、及びカッターユニット６３を備えている。印刷部（Ｆ）６０は、印刷制御部（Ｆ）３２の制御に従って印刷を行う。すなわち、図示しないカット紙やロール紙等の印刷媒体を搬送モーター６２により搬送し、印刷ヘッド６１により文字や画像を印刷し、印刷後の印刷媒体をカッターユニット６３によりカットして出力する。
【００４５】
さらに、データ処理部５５は、データ制御部５１から入力されたコマンド及びデータを変換する。上記のように、プリンター（Ｆ）３０及びプリンター（Ｅ）２０は、ホストコンピューター１０が対応しているプリンターではない。このため、ホストコンピューター１０が出力するコマンド及びデータは、印刷制御部（Ｆ）３２もプリンター（Ｅ）２０も実行できない可能性がある。データ処理部５５は、データ制御部５１から入力されるコマンド及びデータを、印刷制御部（Ｆ）３２が実行可能なコマンド及びデータに変換する処理と、プリンター（Ｅ）２０が実行可能なコマンド及びデータに変換する処理とを実行できる。データ処理部５５が印刷制御部（Ｆ）３２に合わせて変換処理を行った場合、変換後のコマンド及びデータはプリンタードライバー５６に出力される。また、データ処理部５５がプリンター（Ｅ）２０に合わせて変換処理を行った場合、変換後のコマンド及びデータはＵＳＢドライバー５３に出力される。
【００４６】
データ処理部５５がどちらの変換処理を実行するかは、データ制御部５１により指定される。例えば、データ制御部５１は、ホストコンピューター１０が出力するコマンド及びデータを、印刷部（Ｆ）６０で印刷する動作モードと、プリンター（Ｅ）２０で印刷させる動作モードとを切り換えて実行する。この場合、データ処理部５５は、印刷部（Ｆ）６０を使用する動作モードでは印刷部（Ｆ）６０に合わせてコマンド及びデータを変換する。また、プリンター（Ｅ）２０を使用する動作モードでは、データ処理部５５はプリンター（Ｅ）２０に合わせてコマンド及びデータを変換する。データ処理部５５は、データ制御部５１がＵＳＢクライアントドライバー５２を介してホストコンピューター１０に送信したデバイス情報をもとに、変換処理を行う。
【００４７】
これにより、ホストコンピューター１０で動作するアプリケーションプログラムやデバイスドライバープログラムの変更を行うことなく、ホストコンピューター１０が対応していないプリンター（Ｆ）３０やプリンター（Ｅ）２０により印刷を実行できる。また、プリンター（Ｅ）２０においても、プリンター（Ｅ）２０の動作条件の変更等を行うことなく、ホストコンピューター１０が出力したデータを印刷できる。従って、ホストコンピューター１０を備えたシステムのプリンターを、プリンター（Ｆ）３０やプリンター（Ｅ）２０に置き換えて印刷することができる。
【００４８】
図４は、印刷システム１の各部の動作を示すシーケンス図であり、（Ａ）はホストコンピューター１０の動作を示し、（Ｂ）はプリンター（Ｆ）３０の動作を示す。この図４の動作はホストコンピューター１０とプリンター（Ｆ）３０とをＵＳＢケーブル２Ｂにより接続した場合に実行される。
ホストコンピューター１０は、ＵＳＢ＿Ａコネクター１３に何らかの機器が接続されたことを検出すると（ステップＳ１１）、接続先の機器に対してホスト機器として動作し、デバイス情報を要求する（ステップＳ１２）。
プリンター（Ｆ）３０のデータ制御部５１は、ＵＳＢインターフェイス４０に何らかの機器が接続されたことを検出すると（ステップＳ２１）、デバイス機器として動作する。
【００４９】
データ制御部５１は、ホストコンピューター１０が送信したＵＳＢデバイス情報の要求を受信すると（ステップＳ２２）、デバイス情報記憶部５４Ｂに記憶しているデバイス情報のうち、送信するデバイス情報を選択する（ステップＳ２３）。ステップＳ２３で、データ制御部５１は、例えばデバイス情報記憶部５４Ｂに記憶されている送信リストの順序に従ってデバイス情報を選択する。
データ制御部５１は、選択したデバイス情報をホストコンピューター１０に送信する（ステップＳ２４）。
【００５０】
ホストコンピューター１０は、プリンター（Ｆ）３０から送信されたデバイス情報を受信し（ステップＳ１３）、受信したデバイス情報に対応するデバイスドライバープログラムにより、通信ポート制御部１１Ｃを呼び出す（ステップＳ１４）。そして、制御部１１は、通信ポート制御部１１Ｃによって対応する通信ポート群１１Ｅを検索する（ステップＳ１５）。ここで、受信したデバイス情報が、ホストコンピューター１０に対応するデバイス情報である場合、対応する通信ポートが存在する（ステップＳ１６；Ｙｅｓ）。この場合、制御部１１はデバイスドライバー群１１Ｂ及びオペレーティングシステム１１Ｄの機能により、通信を開始するコマンドや印刷設定のコマンド等を送信する（ステップＳ１７）。
プリンター（Ｆ）３０のデータ制御部５１は、ホストコンピューター１０からコマンドを受信したか否かを判別し（ステップＳ２５）、コマンドを受信した場合は（ステップＳ２５；Ｙｅｓ）、受信したコマンドに従って通信を開始する（ステップＳ２６）。
その後、ホストコンピューター１０及びプリンター（Ｆ）３０は、相互に通信を行う設定を行い、通信可能な状態に移行して本処理を終了する（ステップＳ１８、Ｓ２７）。
【００５１】
一方、受信したデバイス情報に対応するデバイスドライバーがホストコンピューター１０にインストールされていない場合、対応する通信ポートはないので、その後の処理は行われない（ステップＳ１６；Ｎｏ）。ここで、制御部１１は、ＵＳＢインターフェイス１２に接続された機器との接続をリセットする信号が入力されたか否かを判別し（ステップＳ１９）、リセット信号が入力されずに所定時間が経過した場合には（ステップＳ１９；Ｎｏ）、本処理を終了する。また、リセット信号が入力された場合は（ステップＳ１９；Ｙｅｓ）、ステップＳ１１に戻って、ＵＳＢケーブルによる接続を検出したところから処理を開始する。
【００５２】
プリンター（Ｆ）３０においては、ホストコンピューター１０からコマンドを受信しない場合に（ステップＳ２５；Ｎｏ）、データ制御部５１は、予め設定された時間が経過したか否かを判別する（ステップＳ２８）。設定された時間がタイムアウトしていなければ（ステップＳ２８；Ｎｏ）、データ制御部５１はステップＳ２５でコマンドの受信を待機する。タイムアウトした場合（ステップＳ２８；Ｙｅｓ）、データ制御部５１は、ホストコンピューター１０との接続を切断する（ステップＳ２９）。このステップＳ２９では、データ制御部５１はＵＳＢインターフェイス４０からホストコンピューター１０に対し、接続をリセットする信号を送出して、ホストコンピューター１０に接続を切断させる。さらに、データ制御部５１は、ＵＳＢインターフェイス４０をリセットして、プリンター（Ｆ）３０側の接続を切断させる。その後、データ制御部５１はステップＳ２１に戻って、ＵＳＢケーブルによる接続を検出したところから処理を開始する。
【００５３】
データ制御部５１は、ステップＳ２１で接続を検出し、ステップＳ２２でデバイス情報の要求を受信した場合、ステップＳ２３でデバイス情報を選択する。ステップＳ２３の処理を２回目に実行する場合、データ制御部５１は、例えば送信リストで２番目に指定されたデバイス情報を選択する。ステップＳ２３の処理を３回目以後に実行する場合も、データ制御部５１は、例えば送信リストの順序に従って３番目以後のデバイス情報を選択する。
従って、データ制御部５１は、ホストコンピューター１０から初期化コマンドを受信するまで、デバイス情報を選択してホストコンピューター１０に送信し、接続切断（リセット）及び接続開始する一連の処理を繰り返す。そして、ホストコンピューター１０が対応しているデバイス情報が送信されると、ホストコンピューター１０とプリンター（Ｆ）３０とが通信できる。その後は、プリンター（Ｆ）３０またはプリンター（Ｅ）２０によって印刷を実行できる。
【００５４】
制御部１１は、通信ポート制御部１１Ｃにより、ステップＳ１５で通信ポートを検索するときに、ステップＳ１３で受信したデバイス情報に含まれる機種名とＵＳＢシリアル番号またはＩＤを参照する。ここで、通信ポート群１１Ｅの通信ポートには、ＵＳＢシリアル番号またはＩＤが設定されている。通信ポート制御部１１Ｃが通信ポートを検索する場合に、ＵＳＢシリアル番号またはＩＤが一致し、かつ、機種名が対応していない通信ポートがあれば、エラーが発生する可能性がある。
例えば、プリンター（Ｆ）３０から、ホストコンピューター１０が対応していない機種Ｅのデバイス情報を受信し、このデバイス情報に含まれるＵＳＢシリアル番号が「１１」であったと仮定する。この場合に、機種Ａに対応する通信ポートに、ＵＳＢシリアル番号「１１」が設定されていると、通信ポート制御部１１Ｃは、機種Ａの通信ポートを選択することがある。ＵＳＢシリアル番号及びＩＤはＵＳＢデバイスに固有の情報であるから、異なる機器が同じＵＳＢシリアル番号または同じＩＤを有することはない。このため、ＵＳＢシリアル番号またはＩＤが一致した場合、機種の適合を判断する必要がないということができる。ところが上記の仮定では、機種Ｅのプリンターに対応していないので、機種Ｅに適合するデバイスドライバーはインストールされていない。従って、通信ポート制御部１１Ｃがデバイス情報に対応する通信ポートを特定したにも関わらず、対応するデバイスドライバーを特定できないという、不整合が発生する。このような不整合を防止するため、デバイス情報記憶部５４Ｂに記憶される複数のデバイス情報が、同じＵＳＢシリアル番号または同じＩＤを持つことがないように、設定されている。
【００５５】
図５は、印刷システム１の各部の動作を示すシーケンス図であり、（Ａ）はホストコンピューター１０の動作を示し、（Ｂ）はプリンター（Ｆ）３０の動作を示し、（Ｃ）はプリンター（Ｅ）２０の動作を示す。図５の動作は、図４の動作の後に実行される。
図５には、ホストコンピューター１０が出力したデータに基づき、プリンター（Ｅ）２０が印刷を行う動作例を示している。
【００５６】
まず、ホストコンピューター１０において、ＰＯＳアプリケーション１１Ａの動作によりレシートのデータが作成され、印刷指示が出力される（ステップＳ３１）。この印刷指示に基づいて、デバイスドライバーが印刷コマンドと印刷データを生成する（ステップＳ３２）。ここで生成される印刷コマンド及び印刷データは、ステップＳ１３（図４）で受信したデバイス情報に基づき認識した機種に対応している。デバイスドライバーが生成した印刷コマンド及び印刷データは、オペレーティングシステム１１ＤによりＵＳＢインターフェイス１２から送信される（ステップＳ３３）。
【００５７】
ホストコンピューター１０が送信した印刷コマンド及び印刷データは、プリンター（Ｆ）３０がＵＳＢインターフェイス４０によって受信する（ステップＳ４１）。データ制御部５１は、ＵＳＢインターフェイス４０により受信した印刷コマンドと印刷データをいったん受信バッファー５４Ａに記憶し、データ処理部５５に出力する。データ処理部５５は、印刷コマンド及び印刷データを解析して、プリンター（Ｅ）２０に適合するコマンド及びデータに変換する（ステップＳ４２）。データ処理部５５は、変換後のコマンド及びデータを、ＵＳＢインターフェイス４５から出力する（ステップＳ４３）。
【００５８】
プリンター（Ｅ）２０は、プリンター（Ｆ）３０が送信した印刷コマンド及び印刷データを受信し（ステップＳ５１）、受信した印刷コマンド及び印刷データに従って、印刷制御部（Ｅ）２７の制御により印刷部（Ｅ）はレシートを印刷する（ステップＳ５２）。印刷が完了した後、プリンター（Ｅ）２０は、印刷完了通知をＵＳＢインターフェイス２１からプリンター（Ｆ）３０へ送信する（ステップＳ５３）。
ここで、プリンター（Ｆ）３０は、プリンター（Ｅ）２０から印刷完了通知を受信する（ステップＳ４４）。プリンター（Ｆ）３０のデータ制御部５１は、ホストコンピューター１０に送信する印刷完了通知を生成して、ホストコンピューター１０に送信する（ステップＳ４５）。ここでデータ制御部５１が生成する印刷完了通知は、ステップＳ２４（図４）でホストコンピューター１０に送信し、ホストコンピューター１０により認識されたデバイス情報に対応する形式である。すなわち、ホストコンピューター１０は、プリンター（Ｆ）３０を、プリンター（Ｆ）３０とは異なる機種のプリンターとして認識している。このため、データ制御部５１は、ホストコンピューター１０が認識している機種のプリンターが生成する印刷完了通知を、生成する。
ホストコンピューター１０は、プリンター（Ｆ）３０から送信された印刷完了通知を、認識している機種のプリンターの印刷完了通知として受信し（ステップＳ３４）、印刷が完了したことに基づき本処理を終了する。
【００５９】
図５の動作に限らず、例えばホストコンピューター１０が出力するコマンド及びデータに従って、プリンター（Ｆ）３０が印刷を行うことも可能である。この場合、ステップＳ４２において、データ処理部５５は、印刷制御部（Ｆ）３２が実行可能なコマンド及びデータへの変換を行う。また、データ制御部５１は、印刷部（Ｆ）６０における印刷が完了した場合に、ステップＳ４５で印刷完了通知を生成して送信する。
【００６０】
また、データ制御部５１は、ホストコンピューター１０に対して、印刷完了通知の他に、プリンター（Ｅ）２０や印刷部（Ｆ）６０におけるエラーを通知することも可能である。この場合、データ制御部５１は、ホストコンピューター１０が認識した機種のプリンターのエラー通知を生成して、送信する。
さらに、データ制御部５１は、ホストコンピューター１０が認識した機種のプリンターと、プリンター（Ｅ）２０またはプリンター（Ｆ）３０との仕様の相違に対応して、エラー通知の内容を変更することができる。例えば、ホストコンピューター１０が認識した機種のプリンターがサーマルプリンターであって、プリンター（Ｅ）２０またはプリンター（Ｆ）３０がインクジェット式のプリンターである場合を仮定する。この場合、プリンター（Ｅ）２０またはプリンター（Ｆ）３０においてインク切れが発生した場合、データ制御部５１は、インク切れのエラー通知を取得する。ここで、ホストコンピューター１０が認識した機種のプリンターでインク切れが想定されていないため、ホストコンピューター１０が受信可能なエラー通知に、インク切れに対応するエラー通知がないことがある。データ制御部５１は、例えば、インクエラーによりオフラインとなることを示すエラー通知を生成して、ホストコンピューター１０に出力する。このエラー通知は、ホストコンピューター１０が認識した機種のプリンターで定義済みのエラー通知であり、ホストコンピューター１０が受信し、処理できる。このように、データ制御部５１が、プリンター（Ｆ）３０またはプリンター（Ｅ）２０で発生したエラー通知を異なる内容のエラー通知に変換することで、ホストコンピューター１０を安定して動作させることができ、かつ、エラーに対して確実に対応できる。
【００６１】
以上説明したように、印刷システム１を構成するプリンター（Ｆ）３０は、ＵＳＢインターフェイス４０、デバイス情報記憶部５４Ｂ、及びデータ制御部５１を備える。ＵＳＢインターフェイス４０は、ホストコンピューター１０と接続するインターフェイスである。デバイス情報記憶部５４Ｂには、プリンターの機種名等を含むデバイス情報を複数記憶する。また、データ制御部５１は、ホストコンピューター１０に、デバイス情報記憶部５４Ｂに記憶されたデバイス情報を送信（出力）してホストコンピューター１０との通信を開始する。データ制御部５１は、さらに、ホストコンピューター１０との通信が開始されない場合はデバイス情報記憶部５４Ｂに記憶された、異なるデバイス情報を送信する。このように、プリンター（Ｆ）３０は、ホストコンピューター１０が対応するプリンターが特定されていない状態であっても、ホストコンピューター１０に複数のデバイス情報を送信して通信開始を試行し、通信開始されない場合は別のデバイス情報を送信する。これにより、プリンター（Ｆ）はホストコンピューター１０との通信を開始することができ、ホストコンピューター１０に情報を出力させることができる。従って、プリンター（Ｆ）３０をホストコンピューター１０に接続するだけで、ホストコンピューター１０の構成を変更することなく、ホストコンピューター１０が対応していないプリンター（Ｆ）３０やプリンター（Ｅ）２０で印刷できる。これにより、ホストコンピューター１０に接続されるプリンターの構成変更を容易に行うことができる。
【００６２】
また、データ制御部５１は、デバイス情報を送信した後の所定時間内に、ホストコンピューター１０がデバイス情報に基づく通信を開始しない場合に、デバイス情報記憶部５４Ｂに記憶された他のデバイス情報を送信する。このため、速やかに、ホストコンピューター１０との通信を開始できる。
また、データ制御部５１は、ホストコンピューター１０がデバイス情報に基づく通信を開始しない場合に、ホストコンピューター１０との接続を切断（リセット）して再び接続開始する動作を行い、その後、他のデバイス情報を送信する。このため、ホストコンピューター１０に送信したデバイス情報が、ホストコンピューター１０に適合しない場合に、通信を速やかに初期化して他のデバイス情報を送信できる。これにより、ホストコンピューター１０に適したデバイス情報に基づき、速やかに通信を開始できる。
【００６３】
また、プリンター（Ｆ）３０は印刷部（Ｆ）６０を備え、データ制御部５１は、印刷部（Ｆ）６０の種別を含むデバイス情報をホストコンピューター１０に送信する。このため、ホストコンピューター１０がプリンター（Ｆ）３０に対応している場合には、このプリンター（Ｆ）３０をホストコンピューター１０に認識させて通信を開始できる。この場合、ホストコンピューター１０とプリンター（Ｆ）３０とは、プリンター（Ｆ）３０が備える本来の機能の全てに対応するように、通信を行い、印刷できる。
【００６４】
また、データ制御部５１は、ホストコンピューター１０との通信が開始された後に、ホストコンピューター１０から入力されるデータに従って印刷部（Ｆ）６０に印刷させる印刷制御部（Ｆ）３２を備えている。このため、プリンター（Ｆ）３０が、ホストコンピューター１０が対応していない機種のプリンターであった場合に、ホストコンピューター１０が出力するコマンドやデータに基づき、印刷部（Ｆ）６０が印刷できる。
【００６５】
また、データ制御部５１は、ホストコンピューター１０から入力されるデータを、ＵＳＢインターフェイス４５からプリンター（Ｅ）２０に出力して、プリンター（Ｅ）２０に印刷させることも可能である。
そして、データ処理部５５によって、データ制御部５１がホストコンピューター１０に送信したデバイス情報に基づいて、ホストコンピューター１０から入力されるデータを変換することができる。
【００６６】
なお、上記各実施形態は本発明を適用した一態様を示すものであって、本発明を限定するものではない。例えば、上記実施形態において、プリンター（Ｆ）３０のＵＳＢインターフェイス４０に接続される装置はホストとして動作するものであれば特に制限されず、ＵＳＢホストコントローラーを備えた携帯型の端末装置や他のプリンター等であってもよい。また、ＵＳＢインターフェイス４５に接続される装置はデバイスとして動作する装置であれば特に制限はなく、プリンター以外のデバイスであってもよい。また、第１プリンター３０のＵＳＢインターフェイス４５に複数のプリンターを接続してもよい。同様に、ホストコンピューター１０に、複数の第１プリンター３０を接続してもよい。
また、上記実施形態では印刷部（Ｅ）２８及び印刷部（Ｆ）６０について、カット紙やロール紙に印刷する構成を例に挙げて説明したが、その具体的な構成は限定されない。例えば、サーマルプリンター、インクジェットプリンター、ドットインパクト式プリンター、レーザープリンター、その他の各種プリンターとしてもよい。さらに、図１〜図３に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現でき、特定のハードウェア構成を示唆するものではない。さらに、これらの各部は外部接続される記憶媒体に記憶させたプログラムを実行することにより、図４〜図５のフローチャートに係る動作を含む各種動作を実行する構成としてもよい。
また、ＵＳＢインターフェイス４０とＵＳＢインターフェイス４５とは別のハードウェアでなくてもよい。例えば、ＵＳＢデバイスコントローラー４２とＵＳＢホストコントローラー４７との機能を兼ね備えた一つのハードウェアに、ＵＳＢ＿Ｂコネクター４１及びＵＳＢ＿Ａコネクター４６を接続することも勿論可能である。
【符号の説明】
【００６７】
１…印刷システム、２Ｂ、２Ｃ…ＵＳＢケーブル、１０…ホストコンピューター（ホスト装置）、１１…制御部、１２…ＵＳＢインターフェイス、２０…プリンター（Ｅ）（第１印刷装置）、３０…プリンター（Ｆ）（電子機器、中継装置）、３２…印刷制御部（Ｅ）、４０…ＵＳＢインターフェイス（接続部）、４５…ＵＳＢインターフェイス（機器接続部）、５１…データ制御部、５４Ｂ…デバイス情報記憶部（記憶部）、５５…データ処理部、６０…印刷部（Ｆ）。
【図１】
2015014917.tif 000003
【図２】
2015014917.tif 000004
【図３】
2015014917.tif 000005
【図４】
2015014917.tif 000006
【図５】
2015014917.tif 000007