(57)【特許請求の範囲】
【請求項１】
ホストコンピューター、及び、外部デバイスに接続可能な印刷装置であって、
印刷部と、
前記印刷部に関する第１制御データ、及び、前記外部デバイスに関する第２制御データを、前記ホストコンピューターとの間で送受信可能な第１通信部と、
前記第２制御データを、前記外部デバイスとの間で送受信可能な第２通信部と、
前記外部デバイスの接続情報を記憶する記憶部と、
制御部と、を備え、
前記制御部は、
起動時に、前記接続情報に基づいて、前記第１通信部と、前記ホストコンピューターとの通信を確立する通信処理を実行し、
前記第２通信部と、前記外部デバイスとの接続状態を判定する判定処理を実行し、
前記判定処理の判定結果と、前記接続情報とが一致しない場合は、前記判定結果に基づいて、前記接続情報を更新する更新処理を実行し、
前記第１通信部と、前記ホストコンピューターとの通信をリセットするリセット処理を実行することを特徴とする印刷装置。
【請求項２】
前記制御部は、前記通信処理により、前記第１通信部と、前記ホストコンピューターとの通信を確立したとき、前記第１制御データを、前記ホストコンピューターとの間で送受信可能にすることを特徴とする請求項１記載の印刷装置。
【請求項３】
前記制御部は、電源の起動時に、前記通信処理を実行し、
前記リセット処理は、ハードリセット、又は、ソフトリセットであることを特徴とする請求項１又は２に記載の印刷装置。
【請求項４】
前記制御部は、前記第１通信部と接続し、前記通信処理を実行する第１制御部と、
前記第２通信部と接続し、前記判定処理を実行する第２制御部と、を備え、
前記第１制御部は、前記第２制御部が起動してから、前記判定処理を完了するまでに、前記通信処理を完了することを特徴とする請求項１から３のいずれかに記載の印刷装置。
【請求項５】
前記制御部は、前記通信処理により、前記第１通信部と、前記ホストコンピューターとの通信を確立したときに、前記第２制御データの送受信が可能か否かを前記ホストコンピューターに通知する通知処理を実行することを特徴とする請求項１から４のいずれかに記載の印刷装置。
【請求項６】
前記制御部は、前記通信処理を終えてから、前記判定処理を完了するまで、前記ホストコンピューターに対して、前記第２制御データの送受信を規制するビジー状態にすることを特徴とする請求項１から５のいずれかに記載の印刷装置。
【請求項７】
前記制御部は、前記判定結果と、前記接続情報とが一致した場合は、前記第２制御データを、前記ホストコンピューターとの間で送受信可能にすることを特徴とする請求項１から６のいずれかに記載の印刷装置。
【請求項８】
印刷部と、
前記印刷部に関する第１制御データ、及び、外部デバイスに関する第２制御データを、ホストコンピューターとの間で送受信可能な第１通信部と、
前記第２制御データを、前記外部デバイスとの間で送受信可能な第２通信部と、
前記外部デバイスの接続情報を記憶する記憶部と、を備える印刷装置の制御方法であって、
起動時に、前記接続情報に基づいて、前記第１通信部と、前記ホストコンピューターとの通信を確立する第１ステップと、
前記第２通信部と、前記外部デバイスとの接続状態を判定する第２ステップと、
判定した判定結果と、前記接続情報とが一致しない場合は、前記判定結果に基づいて、前記接続情報を更新する第３ステップと、
前記第１通信部と、前記ホストコンピューターとの通信をリセットする第４ステップと、を備えることを特徴とする印刷装置の制御方法。
【請求項９】
印刷部と、
前記印刷部に関する第１制御データ、及び、外部デバイスに関する第２制御データを、ホストコンピューターとの間で送受信可能な第１通信部と、
前記第２制御データを、前記外部デバイスとの間で送受信可能な第２通信部と、
前記外部デバイスとの接続、又は、非接続を示す接続情報を記憶する記憶部と、
を備える印刷装置を制御する制御部に実行されるプログラムであって、
起動時に、前記接続情報に基づいて、前記第１通信部と、前記ホストコンピューターとの通信を確立する通信処理と、
前記第２通信部と、前記外部デバイスとの接続、又は非接続を判定する判定処理と、
前記判定処理の判定結果と、前記接続情報とが一致しない場合は、前記判定結果に基づいて前記接続情報を更新する更新処理と、
前記第１通信部と、前記ホストコンピューターとの通信をリセットするリセット処理と、を前記制御部に行わせることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
ホストコンピューター、および、外部デバイスに接続可能な印刷装置が知られている（例えば、特許文献１参照）。特許文献１記載のターミナルプリンターには、ホストコンピューターと、外部デバイスとしてのカスタマーディスプレイが接続される。この構成で、ターミナルプリンターは、ホストコンピューターに接続するインターフェースを介して、カスタマーディスプレイに対するデータを取得し、カスタマーディスプレイに転送する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２９６３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の構成において、ターミナルプリンター及びホストコンピューターは、ターミナルプリンターにカスタマーディスプレイが接続されたことに対応するアドレス及びエンドポイントを設定する。このように、印刷装置にホストコンピューターと外部デバイスとを接続する構成では、印刷装置とホストコンピューターとが、外部デバイスとの通信を行うための設定を要する。従って、印刷装置がホストコンピューターと接続する場合は、外部デバイスが接続されているか否かを事前に検知し、検知結果を反映してホストコンピューターに接続する必要がある。このため、印刷装置を電源オンした場合に、カスタマーディスプレイの接続を検知し、その後にホストコンピューターへの接続を行うために時間がかかり、印刷装置の迅速な立ち上がりに不利になることがあった。
そこで、本発明は、外部デバイスに接続可能な印刷装置と、ホストコンピューターとの間の通信を迅速に確立できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の印刷装置は、ホストコンピューター、および、外部デバイスに接続可能であり、印刷部と、前記外部デバイスの接続情報を記憶する記憶部と、前記ホストコンピューターとの間で前記印刷部に関する第１制御データ、および、前記外部デバイスに関する第２制御データを含むデータを送受信する第１通信部と、前記外部デバイスと前記第２制御データを送受信する第２通信部と、前記外部デバイスの接続状態を判定せず、前記記憶部が記憶する前記接続情報に基づいて、前記第１通信部による前記ホストコンピューターとの通信を確立する通信処理を行い、その後、前記第２通信部による前記外部デバイスとの通信により前記外部デバイスの接続状態を判定する接続判定処理を行い、前記接続判定処理の判定結果と前記記憶部が記憶する前記接続情報とが一致しない場合は、判定結果に基づき前記記憶部の記憶を更新し、前記第１通信部による前記ホストコンピューターとの通信をリセットする制御部と、を備えることを特徴とする。
本発明によれば、印刷装置が外部デバイスの接続状態の判定をする前に、ホストコンピューターとの通信を確立するので、例えば、印刷装置の起動時に、迅速な立ち上がりを実現できる。
【０００６】
また、本発明は、上記構成において、前記制御部は、前記第１通信部による前記ホストコンピューターとの通信を確立すると、前記ホストコンピューターとの間で前記第１制御データの送受信が可能な状態に移行する。
本発明によれば、印刷装置とホストコンピューターとが速やかに通信可能な状態となる。
【０００７】
また、本発明は、上記構成において、前記制御部は、当該印刷装置の電源オン時に前記通信処理を行い、前記第１通信部による前記ホストコンピューターとの通信をリセットする処理として、当該印刷装置のハードリセット又はソフトリセットを行う。
本発明によれば、外部デバイスの接続状態の判定結果が接続情報と一致しない場合、印刷装置が備えるリセット機能を利用して、ホストコンピューターとの通信をリセットできる。
【０００８】
また、本発明は、上記構成において、前記ホストコンピューターに接続する第１接続部、および、前記外部デバイスに接続可能な第２接続部を備え、前記制御部は、前記第１接続部に接続された前記ホストコンピューターと通信する第１制御部、および、前記第２接続部に接続された前記外部デバイスと通信する第２制御部を備え、当該印刷装置の電源オンに伴い、前記第１制御部および前記第２制御部が動作を開始し、前記第１制御部は、前記第２制御部が動作を開始して前記接続判定処理を完了するまでの間に、前記通信処理を完了する。
本発明によれば、第２制御部が動作を開始して接続判定処理を完了するまでに時間を要する場合でも、印刷装置の電源オン後、第１制御部によりホストコンピューターと印刷装置との通信を迅速に確立することができる。
【０００９】
また、本発明は、上記構成において、前記制御部は、前記ホストコンピューターとの通信を確立する際に、前記外部デバイスに関する前記第２制御データの送受信が可能か否かを前記ホストコンピューターに通知する。
本発明によれば、ホストコンピューターが、印刷装置における外部デバイスの接続状態に対応して動作を行うことが可能になる。
【００１０】
また、本発明は、上記構成において、前記制御部は、前記通信処理を完了してから前記接続判定処理が完了するまで、前記ホストコンピューターに対して、前記外部デバイスに関する前記第２制御データの送受信をビジー状態にする。
本発明によれば、接続判定処理が完了するまで、ホストコンピューターとの間で外部デバイスに関する第２制御データの送受信を行わないので、不具合を回避することができる。
【００１１】
また、本発明は、上記構成において、前記制御部は、前記接続判定処理の判定結果と前記記憶部が記憶する前記接続情報とが一致した場合、前記ホストコンピューターに対して、前記外部デバイスに関する前記第２制御データの送受信が可能な状態に移行する。
本発明によれば、外部デバイスに関する第２制御データの送受信を開始することができる。
【００１２】
また、本発明は、印刷部と、ホストコンピューターとの間で前記印刷部に関する第１制御データ、および、外部デバイスに関する第２制御データを含むデータを送受信する第１通信部と、外部デバイスと前記第２制御データを送受信する第２通信部と、を備える印刷装置の制御方法であって、前記外部デバイスの接続状態を判定せず、前記外部デバイスの接続情報を記憶する記憶部が記憶する前記接続情報に基づいて、前記第１通信部による前記ホストコンピューターとの通信を確立する通信処理を行い、その後、前記第２通信部による前記外部デバイスとの通信により前記外部デバイスの接続状態を判定する接続判定処理を行い、前記接続判定処理の判定結果と前記記憶部が記憶する前記接続情報とが一致しない場合は、判定結果に基づき前記記憶部の記憶を更新し、前記第１通信部による前記ホストコンピューターとの通信をリセットすることを特徴とする。
本発明によれば、印刷装置が外部デバイスの接続状態の判定をする前に、ホストコンピューターとの通信を確立できる。このため、例えば、印刷装置の起動時に、迅速な立ち上がりを実現できる。
【００１３】
また、本発明は、印刷部と、ホストコンピューターとの間で前記印刷部に関する第１制御データ、および、外部デバイスに関する第２制御データを含むデータを送受信する第１通信部と、前記外部デバイスと前記第２制御データを送受信する第２通信部と、を備える印刷装置を制御する制御部に実行されるプログラムであって、前記制御部に、前記外部デバイスの接続／非接続を判定せず、前記外部デバイスの接続／非接続を示す接続情報を記憶する記憶部が記憶する前記接続情報に基づいて、前記第１通信部による前記ホストコンピューターとの通信を確立する通信処理を行わせ、その後、前記第２通信部による前記外部デバイスとの通信により前記外部デバイスの接続／非接続を判定する接続判定処理を行わせ、前記接続判定処理の判定結果と前記記憶部が記憶する前記接続情報とが一致しない場合は、判定結果に基づき前記記憶部の記憶を更新させ、前記第１通信部による前記ホストコンピューターとの通信をリセットさせることを特徴とする。
本発明によれば、印刷装置が外部デバイスの接続状態の判定をする前に、ホストコンピューターとの通信を確立できる。このため、例えば、印刷装置の起動時に、迅速な立ち上がりを実現できる。
【００１４】
また、本発明は、上記プログラムを前記コンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。上記記録媒体としては、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、ＨＤＤ（Hard Disk Drive）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃ、光磁気ディスク、フラッシュメモリー、カード型記録媒体等の可搬型の、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、印刷装置が備える内部記憶装置、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ等の不揮発性記憶装置であってもよい。
【図面の簡単な説明】
【００１５】
【図１】本発明を適用した実施形態に係る印刷装置の機能ブロック図。
【図２】印刷装置の動作を示すフローチャート。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明を適用した実施形態に係る印刷装置１００の機能ブロック図である。
印刷装置１００は、小売店、飲食店、或いはその他の店舗、施設等で利用されるＰＯＳシステム（印刷システム）に用いられる印刷装置である。
この印刷装置１００は、ホストコンピューター２００（以下、「ホストＰＣ２００」と表記する）、および、外部デバイスであるカスタマーディスプレイ３００を接続可能な接続部１１０と、印刷装置１００の各部を制御する制御部１２０とを備えている。
【００１７】
ここで、ホストＰＣ２００は、ＰＯＳサーバーおよびデバイスサーバーを備えた装置である。ホストＰＣ２００は、商品に付されたバーコードおよび顧客のクレジットカード等の読み取りと情報管理、印刷装置１００に対する印刷データの出力、および、カスタマーディスプレイ３００に対する表示データの出力等を行う。
カスタマーディスプレイ３００は、会計に関する情報、例えば、会計の合計金額等を顧客に対して表示する表示デバイスである。
【００１８】
印刷装置１００の接続部１１０は、ホストＰＣ２００に接続される第１接続部１１１と、カスタマーディスプレイ３００に接続される第２接続部１１２とを有する。第１および第２接続部１１１、１１３は、いずれもＵＳＢ（Universal Serial Bus）インターフェースが適用される。つまり、ホストＰＣ２００およびカスタマーディスプレイ３００は、印刷装置１００にＵＳＢ接続される。
【００１９】
ＵＳＢインターフェースは、ホストに、デバイスとなる周辺機器を接続するバス規格である。図１に示すように、ホストＰＣ２００は、ＵＳＢホストとして動作するＵＳＢホスト制御部２１０を有し、このＵＳＢホスト制御部２１０によって、ホストＰＣ２００にＵＳＢ接続された印刷装置１００がＵＳＢデバイスとして制御される。
印刷装置１００の制御部１２０は、第１接続部１１１に接続されたホストＰＣ２００（ＵＳＢホスト制御部２１０）と通信する第１制御部１２１と、第２接続部１１２に接続されたカスタマーディスプレイ３００と通信する第２制御部１２２とを備える。
【００２０】
第１制御部１２１及び第２制御部１２２は、ＣＰＵ（Central Processing Unit）等の演算処理部（プロセッサー）を備え、異なるＯＳ（Operating System）に基づいて動作する。第１制御部１２１及び第２制御部１２２は、プロセッサー（図示略）と、周辺回路（図示略）とを具備する構成とすることができ、具体的には、マイコン、ＳＯＣ（System-on-a-chip）又はＣＰＵを採用できる。この場合の周辺回路は、例えば、プロセッサーが実行するプログラムを記憶するＲＯＭやワークエリアを構成するＲＡＭを含む。また、第１制御部１２１及び第２制御部１２２は、プロセッサーに、ＲＯＭやＲＡＭを外部接続する構成であってもよい。また、上記ＲＯＭは、プログラムやデータを書き換え可能に、不揮発的に記憶するフラッシュＲＯＭやＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）で構成してもよい。
また、本実施形態では、第１制御部１２１と第２制御部１２２とが異なるハードウェアで構成される態様として説明するが、本発明の適用対象はこの態様に限定されない。例えば、一つのマイコン又はＳＯＣが複数のプロセッサーコアを有し、それぞれのプロセッサーコアが第１制御部１２１と第２制御部１２２として機能してもよい。或いは、一つのマイコン又はＳＯＣがプログラムを実行することによって、ソフトウェア的に２つの制御部（第１制御部１２１、第２制御部１２２）として機能する構成とすることも可能である。
【００２１】
第１制御部１２１は、当該第１制御部１２１用のＯＳを実行する。第１制御部１２１は、通信制御部１２１Ａを有する。通信制御部１２１Ａは、ホストＰＣ２００のＵＳＢホスト制御部２１０との間で、印刷部１３４に関する第１制御データＤ１、および、カスタマーディスプレイ３００に関する第２制御データＤ２を含むデータを送受信する第１通信部として機能する。第１制御データＤ１は、例えば、印刷装置１００の印刷動作に関する設定を行う設定コマンド及びパラメーター、印刷部１３４により印刷する印刷データ等を含む。印刷データは、例えば、印刷部１３４の印刷実行を指示するコマンド、印刷する文字や画像のデータ、及び、印刷形態を指定するコマンド等を含む。また、第２制御データＤ２は、例えば、カスタマーディスプレイ３００の表示実行を指示するコマンドや表示する文字のデータ等を含む表示データである。
【００２２】
制御部１２０は、ホストＰＣ２００から第２制御データＤ２を受信した場合、後述するように、第２制御データＤ２をカスタマーディスプレイ３００に転送する処理を行う。また、制御部１２０は、カスタマーディスプレイ３００がホストＰＣ２００を宛先とする制御データを出力する場合、この制御データをＵＳＢホスト制御部１２２Ａで受信して、通信制御部１２１ＡからホストＰＣ２００に転送する。
このため、通信制御部１２１ＡとＵＳＢホスト制御部２１０との間では、印刷装置１００とホストＰＣ２００との通信に用いるエンドポイントと、カスタマーディスプレイ３００とホストＰＣ２００との通信に用いるエンドポイントとが設定される。例えば、印刷装置１００とホストＰＣ２００との通信にエンドポイント１，２を用い、カスタマーディスプレイ３００とホストＰＣ２００との通信にエンドポイント３，４を用いる構成とする。ＵＳＢホスト制御部２１０は、印刷装置１００に関する第１制御データＤ１やその応答データを送受信する場合はエンドポイント１，２を使用する。また、カスタマーディスプレイ３００に関する第２制御データＤ２及びその応答データを送受信する場合はエンドポイント３，４を使用する。このようにエンドポイントを切り替えることで、ＵＳＢホスト制御部２１０は、印刷装置１００及びカスタマーディスプレイ３００のそれぞれと、接続部１１０を介してデータを送受信できる。
【００２３】
通信制御部１２１Ａが、ＵＳＢホスト制御部２１０との間でＵＳＢのプロトコルに従って通信を確立する処理（通信処理）において、ＵＳＢホスト制御部２１０により、印刷装置１００がＵＳＢデバイスとして識別される。この際、ＵＳＢホスト制御部２１０により、印刷装置１００のアドレスが割り当てられ、且つ、エンドポイント１，２に加え、上記のエンドポイント３，４が設定される。
【００２４】
カスタマーディスプレイ３００が第２接続部１１２に接続されている場合、第１制御部１２１は、通信制御部１２１Ａにより、ＵＳＢホスト制御部２１０との間で、カスタマーディスプレイ３００用のエンドポイント３，４を有効にする。より具体的には、第１制御部１２１は、通信制御部１２１Ａにより、ＵＳＢホスト制御部２１０に対し、エンドポイント１，２と、エンドポイント３，４とが有効であることを通知する。これにより、ＵＳＢホスト制御部２１０は、エンドポイント１，２と、エンドポイント３，４とを用いて通信可能な状態を設定する。
【００２５】
このようにして通信が確立された後、ホストＰＣ２００は、印刷部１３４に関する第１制御データＤ１を、エンドポイント１，２を利用して送信し、第１制御部１２１は、第１制御データＤ１に基づいて印刷部１３４を制御する。
【００２６】
また、ホストＰＣ２００は、カスタマーディスプレイ３００に関する第２制御データＤ２を、エンドポイント３，４を利用して送信し、第１制御部１２１は、第２制御データＤ２をカスタマーディスプレイ３００宛のデータと認識する。第２制御データＤ２を受信した場合、第１制御部１２１は、通信制御部１２１Ａにより、第２制御データＤ２を第２制御部１２２のＵＳＢホスト制御部１２２Ａに送信する。ＵＳＢホスト制御部１２２Ａは、第２通信部として機能し、第２制御データＤ２をカスタマーディスプレイ３００との間で送受信する。ここで、第１制御部１２１及び第２制御部１２２は、ホストＰＣ２００から受信する第２制御データＤ２、及び、カスタマーディスプレイ３００が送信するデータに対し、パケットの再構成や不要なコマンドの削除等のデータ処理を行ってもよい。
【００２７】
また、カスタマーディスプレイ３００は、印刷装置１００に選択的に接続されるオプション品とすることができる。例えば、印刷装置１００にカスタマーディスプレイ３００を接続しない状態で、ホストＰＣ２００と印刷装置１００とは、レシートの印刷等の通常の動作を行うことができる。第１制御部１２１は、カスタマーディスプレイ３００が印刷装置１００に接続されていない状態で、ホストＰＣ２００と通信を確立する場合、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信に関する設定を行わない。具体的には、第１制御部１２１は、エンドポイント３，４を無効とする通知をホストＰＣ２００に送信し、ＵＳＢホスト制御部２１０は、第１制御部１２１に対するエンドポイント１，２を設定する。
【００２８】
第１制御部１２１は、不揮発性記憶部１２１Ｂを備える。不揮発性記憶部１２１Ｂは、第１制御部１２１が備えるフラッシュメモリーやＥＥＰＲＯＭの記憶領域の一部を利用して構成されてもよいし、不揮発性記憶部１２１Ｂとして使用される記憶素子を設けてもよい。この不揮発性記憶部１２１Ｂには、通信制御部１２１Ａにより、カスタマーディスプレイ３００の接続状態を示す接続情報ＤＡが記憶される。接続情報ＤＡは、例えば、第２接続部１１２にカスタマーディスプレイ３００が接続されているか、接続されていないかを示す情報であるが、カスタマーディスプレイ３００の動作状態等の情報を含んでもよい。不揮発性記憶部１２１Ｂは不揮発的に接続情報ＤＡを記憶するので、電源の供給の有無に関わらず、接続情報ＤＡを保持する。
【００２９】
第２制御部１２２は、当該第２制御部１２２用のＯＳを実行し、ＵＳＢホストとして動作するＵＳＢホスト制御部１２２Ａを有する。ＵＳＢホスト制御部１２２Ａは、第２接続部１１２にカスタマーディスプレイ３００が接続されている場合、カスタマーディスプレイ３００をＵＳＢデバイスとして制御する。上述したように、ＵＳＢホスト制御部１２２Ａは、カスタマーディスプレイ３００に関する第２制御データＤ２をカスタマーディスプレイ３００との間で送受信するので、第２制御データＤ２に基づいてカスタマーディスプレイ３００を制御することができる。
従って、第２制御部１２２は、ＵＳＢホスト制御部１２２Ａにより、カスタマーディスプレイ３００に、第２制御データＤ２に含まれる表示データに従って情報を表示させることができる。
【００３０】
また、カスタマーディスプレイ３００は、印刷装置１００にＵＳＢ接続されるので、印刷装置１００からカスタマーディスプレイ３００に電源電力を供給することも可能である。
ＵＳＢインターフェースは、規格上、接続検出機能を有する。このため、ＵＳＢホスト制御部１２２Ａは、第２接続部１１２にカスタマーディスプレイ３００が接続されたことを検出できる。より詳細には、ＵＳＢホスト制御部１２２Ａは、印刷装置１００の電源がオンの状態で、第２接続部１１２に外部デバイスが接続されたことを検出し、接続された外部デバイスとＵＳＢプロトコルを実行して、外部デバイスのベンダーＩＤやクラスを取得する。これにより、第２接続部１１２は、カスタマーディスプレイ３００が接続した場合に、この接続を検出し、さらに、接続したデバイスがカスタマーディスプレイ３００であることを特定できる。
また、ＵＳＢインターフェースは、規格上、ホットプラグ機能を有するので、印刷装置１００の電源がオンにされた後に、外部デバイスを第２接続部１１２に接続できる。
【００３１】
第１制御部１２１には、メモリー１３１と、入力部１３２と、用紙センサー１３３と、印刷部１３４とが接続されている。メモリー１３１は、制御部１２０が実行するプログラムや各種データを記憶する記憶領域と、第１制御データＤ１に含まれる印刷データを展開する記憶領域とを有する。上記不揮発性記憶部１２１Ｂおよびメモリー１３１は、半導体メモリー素子等の公知の記憶装置によって構成される。メモリー１３１は、制御部１２０が実行するプログラムや各種データを記憶する記憶装置と、印刷データを展開するいわゆるラインバッファーとしての記憶装置とを別々に備える構成でも良いし、共通の記憶装置で構成しても良い。
【００３２】
入力部１３２は、印刷装置１００が備える操作パネル（図示略）のスイッチ等に接続されている。入力部１３２は、スイッチが操作される毎に、操作されたスイッチに対応する操作信号を生成して第１制御部１２１に出力する。
用紙センサー１３３は、記録用紙（記録媒体とも称する）である感熱ロール紙の有無を検出する光学式センサーである。第１制御部１２１は、用紙センサー１３３の検出値を取得することにより、感熱ロール紙の用紙切れを検出する。
【００３３】
印刷部１３４は、感熱ロール紙に印刷を行う部分であり、搬送モーター１３５と、印刷ヘッド１３６と、搬送モーター１３５と印刷ヘッド１３６とをそれぞれ駆動するドライバー回路１３７、１３８とを備える。
ドライバー回路１３７は、第１制御部１２１の制御に従って、搬送モーター１３５に駆動電流を供給し、搬送モーター１３５を回転駆動する。搬送モーター１３５は、感熱ロール紙を搬送させる駆動源であり、ステッピングモーターで構成することができる。この場合、ドライバー回路１３７は、搬送モーター１３５に対して駆動パルス及び駆動電流を出力することによって感熱ロール紙を搬送させる。
【００３４】
ドライバー回路１３８は、第１制御部１２１の制御に従って、印刷ヘッド１３６を駆動する。印刷ヘッド１３６は、複数の発熱素子を有するサーマルヘッドである。ドライバー回路１３８は、第１制御部１２１の制御の下、第１制御データＤ１に含まれる印刷データに基づいて印刷ヘッド１３６が備える個々の発熱素子に通電し、通電された発熱素子に対応する感熱ロール紙の箇所を発色させる。これにより、印刷データに対応する画像が印刷される。印刷後の感熱ロール紙は、印刷装置１００が備えるカッター機構（図示略）により切断され、レシートとして排出される。
【００３５】
上述のように、印刷装置１００及びホストＰＣ２００は、カスタマーディスプレイ３００を接続しなくても動作可能である。
【００３６】
印刷装置１００は、第２制御部１２２が有するＵＳＢホスト制御部１２２Ａにより、印刷装置１００が電源オンされた場合、リセットされた場合、および、電源オンの間、カスタマーディスプレイ３００が接続されているか（接続／非接続）を判定する接続判定処理を行う。これによって、電源オンの間、カスタマーディスプレイ３００が接続されているか否かが継続的に監視される。カスタマーディスプレイ３００の接続を検知した場合、第２制御部１２２は、ＵＳＢホスト制御部１２２Ａにより、デバイスの識別処理、アドレスの割当処理およびエンドポイントの設定などのＵＳＢの仕様に従った処理を行う。これにより、カスタマーディスプレイ３００の使用を可能にする。
【００３７】
印刷装置１００の電源がオンにされた場合、第１制御部１２１と第２制御部１２２とがそれぞれ起動シーケンスを実行する。第１制御部１２１は通信処理を実行して、ホストＰＣ２００との間で通信を確立し、第２制御部１２２は接続判定処理を行い、カスタマーディスプレイ３００の接続を検出する。ここで、第１制御部１２１は、通信処理において、カスタマーディスプレイ３００の接続状態、すなわち接続の有無（接続／非接続）に応じて、エンドポイントの設定等を行う。このため、第２制御部１２２が接続判定処理を行ってから、第１制御部１２１が通信処理を開始する順序が考えられる。
この順序では、第２制御部１２２が起動シーケンス及び接続判定処理を行うまで、ホストＰＣ２００と印刷装置１００は動作を待機する必要がある。この待機中は、第１制御データＤ１を送受信できず、例えば、第１制御データＤ１に基づき印刷装置１００が印刷を行うことはできない。従って、印刷装置１００の電源をオンにしてから印刷可能な状態になるまでの時間が長くなる傾向にある。
また、印刷装置１００の電源オンに伴い第１制御部１２１が起動し、第１制御部１２１の制御により第２制御部１２２を起動させ、第２制御部１２２が第１制御部１２１とは異なるＯＳをロードして起動シーケンスを実行することも考えられる。この場合、第２制御部１２２が接続判定処理を実行し、判定結果を得るまでの時間は、特に長い。
【００３８】
ところで、ＰＯＳ端末機器として使用される印刷装置１００は、例えば印刷部１３４における紙詰まり等の動作エラーを解消する場合など、いったん電源をオフにし、再度、電源をオンにするような方法で使用されることがある。このようなケースは、ＰＯＳ端末機器の使用中、例えば店舗の営業時間中に行われることが想定され、迅速に立ち上がることが望まれる。このため、上記のように、第２制御部１２２が接続判定処理を実行し、判定結果を得るまでの間、印刷装置１００が印刷できない状態が続くことは、好ましくない。入力部１３２の操作等により、印刷装置１００をリセットした場合も同様である。
【００３９】
そこで、本構成では、印刷装置１００の電源がオンにされてから、第２制御部１２２が接続判定処理を実行することを待たずに、印刷装置１００が印刷を開始できるようにした。印刷装置１００は、電源オンの状態で、第２制御部１２２のＵＳＢホスト制御部１２２Ａにより得た接続判定処理の判定結果を、第１制御部１２１の不揮発性記憶部１２１Ｂに、接続情報ＤＡとして記憶させる処理を行う。そして、電源オンまたはリセットされた場合に、第１制御部１２１が、接続情報ＤＡに基づいて通信処理を行い、印刷可能な状態に移行する。以下、この動作について説明する。
【００４０】
図２は、印刷装置１００の動作を示すフローチャートであり、詳細には、制御部１２０（第１制御部１２１、第２制御部１２２）の起動時の動作を示す。図２において、（Ａ）は第１制御部１２１の動作を示し、（Ｂ）は第２制御部１２２の動作を示す。
第１制御部１２１は、電源オンの操作を検出すると（ステップＳ１Ａ）、第２制御部１２２に電源オン（「起動」とも称する）を指示するとともに、予め定めた起動シーケンスの実行を開始する（ステップＳ２Ａ）。この起動シーケンスは、第１制御部１２１におけるＯＳの起動、プログラムの実行および通信などに関する初期設定などの公知のＰＯＳシステム用の印刷装置で行われる処理である。
【００４１】
起動シーケンスを開始した後、第１制御部１２１は、通信制御部１２１Ａにより不揮発性記憶部１２１Ｂが記憶する接続情報ＤＡを取得する（ステップＳ３Ａ）。そして、第１制御部１２１は、取得した接続情報ＤＡに基づいて通信制御部１２１ＡによるホストＰＣ２００との通信を確立する通信処理を行う（ステップＳ４Ａ）。
このステップＳ４Ａの通信処理として、第１制御部１２１は、通信制御部１２１Ａにより、第１接続部１１１に接続されたホストＰＣ２００のＵＳＢホスト制御部２１０と通信する。第１制御部１２１は、ＵＳＢホスト制御部２１０の制御の下、印刷装置１００に関するデバイスの識別処理、アドレスの割当処理およびエンドポイントの設定処理などのＵＳＢの仕様に従った処理を実行させる。
【００４２】
また、第１制御部１２１は、接続情報ＤＡの内容に応じて、通信制御部１２１Ａにより、ホストＰＣ２００のＵＳＢホスト制御部２１０に対し、カスタマーディスプレイ３００の有無を通知する。さらに、第１制御部１２１は、接続情報ＤＡの内容に応じて、ＵＳＢホスト制御部２１０との間で、カスタマーディスプレイ３００に関するデバイスの識別処理、アドレスの割当処理およびエンドポイントの設定処理などを行う。
より具体的には、接続情報ＤＡが、カスタマーディスプレイ３００が接続されていることを示す情報（接続を示す情報）であった場合、第１制御部１２１は、通信制御部１２１ＡによりホストＰＣ２００に対し、カスタマーディスプレイ３００の有りを通知する。つまり、第１制御部１２１は、ホストＰＣ２００に対し、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信が可能であることを通知する。
この場合、第１制御部１２１は、通信制御部１２１Ａにより、カスタマーディスプレイ３００を利用可能にするＵＳＢの各種処理（デバイスの識別処理、アドレスの割当処理およびエンドポイントの設定処理）も行う。
【００４３】
また、接続情報ＤＡが、カスタマーディスプレイ３００が接続されていないことを示す情報（非接続を示す情報）であった場合、第１制御部１２１は、通信制御部１２１ＡによりホストＰＣ２００に対し、カスタマーディスプレイ３００の無しを通知する。つまり、第１制御部１２１は、ホストＰＣ２００に対し、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信が不可能であることを通知する。
このようにして、第１制御部１２１は、電源オン後にカスタマーディスプレイ３００の接続状態を判定せず、不揮発性記憶部１２１Ｂが記憶する接続情報ＤＡに基づいて、通信制御部１２１ＡによるホストＰＣ２００との通信を確立することができる。
【００４４】
但し、第１制御部１２１は、ホストＰＣ２００に対して、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信が可能であることを通知した場合でも、後述するステップＳ１０Ａまでの間は、第２制御データＤ２を送受信しない。例えば、ホストＰＣ２００が印刷装置１００に対し、カスタマーディスプレイ３００へのコマンド送信の可否を問い合わせた場合、第１制御部１２１は、「カスタマーディスプレイＢｕｓｙ」を、ホストＰＣ２００に通知する。ホストＰＣ２００は、「Ｂｕｓｙ」の通知を受信した場合、第２制御データＤ２を送信せず待機する。なお、ホストＰＣ２００は、「Ｂｕｓｙ」の通知を受信した後に、カスタマーディスプレイ３００へのコマンド送信の可否を再び問合せることは可能である。第１制御部１２１は、ステップＳ１０Ａで「Ｒｅａｄｙ」を通知可能になるまでの間は、問合せを受け付ける毎に「Ｂｕｓｙ」を通知する。
これにより、印刷装置１００とホストＰＣ２００との通信が確立しても、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信が規制される。
従って、カスタマーディスプレイ３００が実際には接続されていない状況のときに、カスタマーディスプレイ３００に関する第２制御データＤ２が送受信される事態を回避することができる。
【００４５】
ホストＰＣ２００との通信を確立した後、第１制御部１２１は、印刷部１３４の初期化を行う（ステップＳ５Ａ）。初期化の後、第１制御部１２１は、印刷装置１００が利用可能であることを示す「プリンターＲｅａｄｙ」を、通信制御部１２１Ａにより、ホストＰＣ２００のＵＳＢホスト制御部２１０に通知する（ステップＳ６Ａ）。すなわち、印刷装置１００は、ホストＰＣ２００との間で第１制御データＤ１の送受信が可能な状態に移行する。従って、カスタマーディスプレイ３００の接続状態の検知を待つことなく、印刷装置１００が使用可能になり、印刷部１３４に関する第１制御データＤ１に基づいて印刷が可能である。
【００４６】
上記ステップＳ１Ａで第２制御部１２２に電源オンが指示された場合、第２制御部１２２は、電源オンを開始し（ステップＳ１Ｂ）、予め定めた起動シーケンスの実行を開始する（ステップＳ２Ｂ）。この起動シーケンスは、第２制御部１２２におけるＯＳの起動、プログラムの実行、および、通信などに関する初期設定などである。本構成は、この第２制御部１２２の起動シーケンスが、第１制御部１２１の起動シーケンスよりも時間を要する処理となっており、カスタマーディスプレイ３００の接続状態を検知するまでに時間を要する要因となっている。
【００４７】
起動シーケンスを開始した後、第２制御部１２２は、ＵＳＢホスト制御部１２２Ａにより、第２接続部１１２にカスタマーディスプレイ３００が接続されているか否かの接続判定処理を開始する（ステップＳ３Ｂ）。
そして、接続判定処理の判定結果を得ると、第２制御部１２２は、ＵＳＢホスト制御部１２２Ａにより、判定結果を、第１制御部１２１の通信制御部１２１Ａに送信する（ステップＳ４Ｂ）。なお、ＵＳＢホスト制御部１２２Ａは、判定結果に基づきカスタマーディスプレイ３００が接続されている場合、ＵＳＢホストとしてＵＳＢの仕様に基づくカスタマーディスプレイ３００に関する処理を行う。
【００４８】
第１制御部１２１は、通信制御部１２１Ａにより接続判定処理の判定結果を受信すると（ステップＳ７Ａ）、判定結果と、不揮発性記憶部１２１Ｂが記憶する接続情報ＤＡとが一致するか否かを判定する（ステップＳ８Ａ）。
判定結果と接続情報ＤＡとが一致した場合（ステップＳ８；ＹＥＳ）、第１制御部１２１は、カスタマーディスプレイ３００が接続されているか否かを判定する（ステップＳ９）。ステップＳ９で、第１制御部１２１は、接続情報ＤＡまたはステップＳ７Ａで受信した判定結果のいずれかを参照し、これらがカスタマーディスプレイ３００が接続されていることを示すか否かを判定すればよい。
カスタマーディスプレイ３００が接続されている場合（ステップＳ９；ＹＥＳ）、第１制御部１２１は、通信制御部１２１Ａにより、「カスタマーディスプレイＲｅａｄｙ」を、ホストＰＣ２００のＵＳＢホスト制御部２１０に通知する。つまり、第１制御部１２１は、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信が可能である状態に移行する（ステップＳ１０Ａ）。これにより、印刷装置１００に加えて、カスタマーディスプレイ３００の利用が可能になり、第２制御データＤ２に基づいて情報表示が可能になる。
【００４９】
一方、カスタマーディスプレイ３００が接続されていない場合（ステップＳ９；ＮＯ）、第１制御部１２１は、ステップＳ１０Ａの処理をスキップする。これにより、印刷装置１００だけの利用が可能な状態が継続し、第２制御データＤ２の送受信は行われない。
【００５０】
また、ステップＳ８Ａの判定で、判定結果と接続情報ＤＡとが一致しない場合（ステップＳ８Ａ；ＮＯ）、第１制御部１２１は、不揮発性記憶部１２１Ｂが記憶する接続情報ＤＡを更新する（ステップＳ１１Ａ）。ステップＳ１１Ａで、第１制御部１２１は、ステップＳ７Ａで受信した判定結果に従って、不揮発性記憶部１２１Ｂが記憶する接続情報ＤＡを、現在の（現実の）カスタマーディスプレイ３００の接続状態に合わせて更新する。続いて、第１制御部１２１は、ホストＰＣ２００のＵＳＢホスト制御部２１０との通信をリセットする処理を行う（ステップＳ１２Ａ）。
【００５１】
このリセットする処理は、ステップＳ１Ａの処理に移行する処理であり、本構成では、印刷装置１００のハードリセット又はソフトリセットのいずれかである。つまり、第１制御部１２１が印刷装置１００のハードリセット又はソフトリセットを実行させる。これにより、更新された接続情報ＤＡに基づいて上記第１制御部１２１および第２制御部１２２の起動時の動作が再度行われる。
従って、カスタマーディスプレイ３００が接続されているか否かの新たな接続判定処理の完了を待たずに、更新された接続情報ＤＡに基づいて、ホストＰＣ２００との通信を確立することができる。リセットする処理を行った場合はステップＳ８Ａが肯定結果となるので、再びリセットする処理が実行されることはない。従って、カスタマーディスプレイ３００が接続されていれば迅速にカスタマーディスプレイ３００の利用が可能になる。
【００５２】
以上説明したように、本実施形態に係る印刷装置１００は、制御部１２０の一部を構成する第１制御部１２１により、不揮発性記憶部１２１Ｂが記憶する接続情報ＤＡに基づいて、通信制御部１２１ＡによるホストＰＣ２００との通信を確立する通信処理を行う。第１制御部１２１は、上記通信処理を、カスタマーディスプレイ３００の接続状態を判定しないうちに実行する。その後、印刷装置１００は、制御部１２０を構成する第２制御部１２２により、ＵＳＢホスト制御部１２２Ａによるカスタマーディスプレイ３００との通信によりカスタマーディスプレイ３００の接続状態を判定する接続判定処理を行う。そして、印刷装置１００は、第１制御部１２１により、接続判定処理の判定結果と接続情報ＤＡとが一致しない場合は、判定結果に基づき不揮発性記憶部１２１Ｂの記憶を更新し、通信制御部１２１ＡによるホストＰＣ２００との通信をリセットする。この印刷装置１００の構成、及び、制御部１２０が実行する印刷装置１００の制御方法によれば、カスタマーディスプレイ３００の接続状態の判定をする前に、ホストＰＣ２００と印刷装置１００との通信を確立する。これにより、印刷装置１００の迅速な立ち上がりを実現できる。
【００５３】
また、第１制御部１２１は、ホストＰＣ２００との通信を確立すると、「プリンターＲｅａｄｙ」をホストＰＣ２００のＵＳＢホスト制御部２１０に通知して、ホストＰＣ２００との間で第１制御データＤ１の送受信が可能な状態に移行する。これにより、印刷装置１００とホストＰＣ２００とを、速やかに通信可能な状態にすることができ、印刷装置１００を使用可能になる。
【００５４】
また、第１制御部１２１は、当該印刷装置１００の電源オン時に上記通信処理を行う。第１制御部１２１は通信制御部１２１ＡによるホストＰＣ２００との通信をリセットする処理として、当該印刷装置１００のハードリセット又はソフトリセットを行う。これにより、印刷装置１００が備えるリセット機能を利用してホストＰＣ２００との通信をリセットすることができる。
【００５５】
また、第１制御部１２１は、第１接続部１１１に接続されたホストＰＣ２００と通信し、第２制御部１２２は、第２接続部１１２に接続されたカスタマーディスプレイ３００と通信する構成である。この構成の下、印刷装置１００の電源オンに伴い、第１制御部１２１および第２制御部１２２が動作を開始し、第１制御部１２１は、第２制御部１２２が動作を開始して接続判定処理を完了するまでの間に、上記通信処理を完了する。これにより、第２制御部１２２が動作を開始して接続判定処理を完了するまでに時間を要する場合でも、印刷装置１００の電源オン後、第１制御部１２１によりホストＰＣ２００と印刷装置１００との通信を迅速に確立することができる。
【００５６】
また、第１制御部１２１は、ホストＰＣ２００との通信を確立する際に、ホストＰＣ２００に対して、カスタマーディスプレイ３００の有無を通知する。この通知により、第１制御部１２１は、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信が可能か否かをホストＰＣ２００に通知する。これにより、ホストＰＣ２００側で、カスタマーディスプレイ３００の有無に応じた適切な動作が可能になる。
さらに、第１制御部１２１は、上記通信処理を完了してから上記接続判定処理が完了するまで、ホストＰＣ２００に対して、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信をビジー状態（「Ｂｕｓｙ」）にする。これにより、接続判定処理が完了するまでは、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信を回避することができる。
【００５７】
また、第１制御部１２１は、上記接続判定処理の判定結果と接続情報ＤＡとが一致した場合、ホストＰＣ２００に対してレディの通知を行い、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信が可能な状態に移行する。これにより、カスタマーディスプレイ３００に関する第２制御データＤ２の送受信を開始することができる。
【００５８】
なお、上述した実施形態は、本発明の好適な実施形態を示すものであり、本発明を限定するものではなく、本発明の要旨を逸脱しない範囲内において種々の変形実施が可能である。例えば、上記実施形態では、印刷装置１００の一例として、感熱ロール紙を記録媒体とするサーマルプリンターについて説明したが、記録媒体は、定型サイズにカットされたカットシートであっても連続シートでもよい。また、外部デバイスの一例としてカスタマーディスプレイ３００の場合を説明したが、カスタマーディスプレイ以外の外部デバイスでも良い。
【００５９】
また、上記実施形態では、印刷装置１００に接続される外部デバイスとしてカスタマーディスプレイ３００を例示したが、本発明はこれに限定されない。例えば、ＩＣカードや磁気カードの読み取りを行うカードリーダー、帳票を光学的に読み取るスキャナー、画像コードを読み取るバーコードリーダー、他の印刷装置等を外部デバイスとして接続する場合に、本発明を適用できる。
また、上記実施形態では、印刷装置１００に外部デバイスを接続するインターフェースとして、ＵＳＢインターフェースを備える例を説明した。本発明はこれに限定されず、例えば、ＲＳ−２３２Ｃ、ＩＥＥＥ１２８４、Bluetooth（登録商標）、無線ＬＡＮ等、外部デバイスを有線または無線で接続可能であり、外部デバイスの接続状態を検出可能なインターフェースを採用できる。
【００６０】
また、図１に示す各機能ブロックは、ハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、制御部１２０が実行するプログラムは、印刷装置１００内のメモリー１３１に格納される場合に限らず、印刷装置１００に外部接続される記憶媒体、又はホストＰＣ２００内の記憶媒体に記憶させて、読み出して実行するものでも良い。
【符号の説明】
【００６１】
１００…印刷装置、１１０…接続部、１１１…第１接続部、１１２…第２接続部、１２０…制御部、１２１…第１制御部、１２１Ａ…通信制御部（第１通信部）、１２１Ｂ…不揮発性記憶部、１２２…第２制御部、１２２Ａ…ＵＳＢホスト制御部（第２通信部）、１３１…メモリー、１３２…入力部、１３３…用紙センサー、１３４…印刷部、１３５…搬送モーター、１３６…印刷ヘッド、１３７、１３８…ドライバー回路、２００…ホストコンピューター（ホストＰＣ）、３００…カスタマーディスプレイ（外部デバイス）、ＤＡ…接続情報、Ｄ１…第１制御データ、Ｄ２…第２制御データ。
【図１】
0006569474.tif 000002
【図２】
0006569474.tif 000003