(57)【特許請求の範囲】
【請求項１】
記録装置が接続される通信ポートと、
レシートの発行の開始を指示する制御コマンド及び紙の切断を指示する制御コマンドを出力する第１の記録制御部と、
前記記録装置を制御する制御コマンドを出力する第２の記録制御部と、
前記第１の記録制御部および前記第２の記録制御部から入力された制御コマンドを前記通信ポートに出力する通信制御部と、を備え、
前記通信制御部は、
前記第１の記録制御部が前記通信ポートを占有している状態のときに前記第２の記録制御部から前記通信ポートの利用要求があった場合、前記第１の記録制御部から前記レシートの発行の開始を指示する制御コマンドが入力されてから前記紙の切断を指示する制御コマンドが入力されるまでの間ではない場合、前記第１の記録制御部による前記通信ポートの占有を解除できる状態であると判別する判別部と、
前記判別部が前記第１の記録制御部による前記通信ポートの占有を解除できる状態と判別した場合、前記第１の記録制御部による前記通信ポートの占有を解除する占有解除部と、を有することを特徴とする制御装置。
【請求項２】
前記占有解除部は、前記記録装置がビジー状態又はオフライン状態であることを示すコマンドを前記第１の記録制御部に出力することにより、前記第１の記録制御部による前記通信ポートの占有を解除させる請求項１に記載の制御装置。
【請求項３】
レシートの発行の開始を指示する制御コマンド及び紙の切断を指示する制御コマンドを出力する第１の記録制御部により記録装置が接続された通信ポートが占有されている状態のときに第２の記録制御部から前記通信ポートの利用要求があった場合、前記第１の記録制御部から前記レシートの発行の開始を指示する制御コマンドが入力されてから前記紙の切断を指示する制御コマンドが入力されるまでの間ではない場合、前記第１の記録制御部による前記通信ポートの占有を解除できる状態であると通信制御部によって判別し、前記第１の記録制御部による前記通信ポートの占有を解除できる状態と判別した場合、前記第１の記録制御部による前記通信ポートの占有を前記通信制御部によって解除することを特徴とする制御装置の制御方法。
【請求項４】
レシートの発行の開始を指示する制御コマンド及び紙の切断を指示する制御コマンドを出力する第１の記録制御部により通信ポートが占有されている状態のときに、第２の記録制御部から前記通信ポートの利用要求があった場合、前記第１の記録制御部から前記レシートの発行の開始を指示する制御コマンドが入力されてから前記紙の切断を指示する制御コマンドが入力されるまでの間ではない場合、前記第１の記録制御部による前記通信ポートの占有を解除できる状態であると判別する判別部と、
前記判別部により前記第１の記録制御部による前記通信ポートの占有を解除できる状態と判別された場合、前記第１の記録制御部による前記通信ポートの占有を解除する占有解除部と、を機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ポートを介して記録装置が接続される制御装置、この制御装置の制御方法、及び、この制御装置を制御するためのプログラムに関する。
【背景技術】
【０００２】
従来、ＵＳＢポート等の通信ポートを介して記録装置が接続された制御装置（情報処理装置）が知られている（例えば、特許文献１参照）。
この種の制御装置では、所定のアプリケーションやプリンタードライバー等を読み出して実行することにより記録装置を制御するための制御コマンドを出力する記録制御部を備えたものがある。記録制御部が出力した制御データは、通信ポートを介して記録装置に出力され、記録装置は、入力された制御データに基づいて、記録に係る各種動作を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２９３１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上述した記録制御部には、アプリケーションやプリンタードライバーの種類や仕様によっては、通信ポートを占有した上で記録装置との間で通信を行うものがある。この場合、記録制御部によって通信ポートが占有されている間は、他のアプリケーションを実行する制御部が通信ポートを介して記録装置と通信できないという問題があった。この問題を解決するために、他のアプリケーションを実行する制御部から通信ポートの利用要求があった場合、強制的に通信ポートを開放するようにした場合、記録制御部による通信ポートの占有が強制的に解除されることとなり、この解除に起因して不具合が発生する可能性があった。
本発明は、上述した事情に鑑みてなされたものであり、記録制御部により通信ポートが占有されている状態のときに、必要に応じて、不具合を発生させることなく当該通信ポートの占有を解除できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の制御装置は、記録装置が接続される通信ポートと、レシートの発行の開始を指示する制御コマンド及び紙の切断を指示する制御コマンドを出力する第１の記録制御部と、前記記録装置を制御する制御コマンドを出力する第２の記録制御部と、前記第１の記録制御部および前記第２の記録制御部から入力された制御コマンドを前記通信ポートに出力する通信制御部と、を備え、前記通信制御部は、前記第１の記録制御部が前記通信ポートを占有している状態のときに前記第２の記録制御部から前記通信ポートの利用要求があった場合、前記第１の記録制御部から前記レシートの発行の開始を指示する制御コマンドが入力されてから前記紙の切断を指示する制御コマンドが入力されるまでの間ではない場合、前記第１の記録制御部による前記通信ポートの占有を解除できる状態であると判別する判別部と、前記判別部が前記第１の記録制御部による前記通信ポートの占有を解除できる状態と判別した場合、前記第１の記録制御部による前記通信ポートの占有を解除する占有解除部と、を有することを特徴とする。
この構成によれば、記録制御部により通信ポートが占有されている状態のときに、他の記録制御部から通信ポートの利用要求があった場合、記録制御部から入力された制御コマンドに基づいて、記録制御部による通信ポートの占有を解除できる状態か否かが判別された上で、解除できる場合に通信ポートの占有が解除される。このように、記録制御部から出力される制御コマンドに基づいて記録制御部による通信ポートの占有を解除できる状態か否かが判別されるため、記録制御部の状態を反映した上で通信ポートの占有の解除の可否を適切に判別でき、さらに、この適切な判別の結果に基づいて記録制御部による通信ポートの占有を解除することができる。これにより、記録制御部による通信ポートの占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部による通信ポートの占有を解除でき、他の記録制御部が通信ポートを使用して記録装置の制御コマンドを送って制御できる。他の記録制御部は、通信ポートを一時的に占有し使用した後、占有を解除し、再び記録制御部が通信ポートを使用することを可能とする。
ここで、記録装置が、ロール紙などの紙に画像を記録した後に当該ロール紙を切断することによってレシートを発行するものである場合、レシートの発行に係る一連の制御コマンドの最後の制御コマンドは、ロール紙の切断を指示する制御コマンドである。
これを踏まえ、上記構成によれば、記録制御部からロール紙の切断を指示する制御コマンドが入力された後に制御コマンドが入力されておらず、レシートの発行に係る動作を実行させるための一連の制御コマンドを出力している途中ではない可能性が高い場合に、判別部によって記録制御部による通信ポートの占有を解除できる状態であると判別され、当該占有が解除されることとなり、記録制御部による通信ポートの占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部による通信ポートの占有を解除できる。
【００１０】
また、上記発明の制御装置であって、前記占有解除部は、前記記録装置がビジー状態又はオフライン状態であることを示すダミーコマンドを前記記録制御部に出力することにより、前記記録制御部による前記通信ポートの占有を解除するようにしてもよい。
この構成によれば、前記記録装置がビジー状態又はオフライン状態であることを示すダミーコマンドを記録制御部に出力することにより、記録制御部により記録装置の制御が停止され、適切に、記録制御部による通信ポートの占有を解除できる。
【００１１】
また、上記目的を達成するために、本発明の制御装置の制御方法は、レシートの発行の開始を指示する制御コマンド及び紙の切断を指示する制御コマンドを出力する第１の記録制御部により記録装置が接続された通信ポートが占有されている状態のときに第２の記録制御部から前記通信ポートの利用要求があった場合、前記第１の記録制御部から前記レシートの発行の開始を指示する制御コマンドが入力されてから前記紙の切断を指示する制御コマンドが入力されるまでの間ではない場合、前記第１の記録制御部による前記通信ポートの占有を解除できる状態であると通信制御部によって判別し、前記第１の記録制御部による前記通信ポートの占有を解除できる状態と判別した場合、前記第１の記録制御部による前記通信ポートの占有を前記通信制御部によって解除することを特徴とする。
この制御方法によれば、記録制御部により通信ポートが占有されている状態のときに、他の記録制御部から通信ポートの利用要求があった場合、記録制御部から入力された制御コマンドに基づいて、記録制御部による通信ポートの占有を解除できる状態か否かが判別された上で、解除できる場合に通信ポートの占有が解除される。このように、記録制御部から出力される制御コマンドに基づいて記録制御部による通信ポートの占有を解除できる状態か否かが判別されるため、記録制御部の状態を反映した上で通信ポートの占有の解除の可否を適切に判別でき、さらに、この適切な判別の結果に基づいて記録制御部による通信ポートの占有を解除することができる。これにより、記録制御部による通信ポートの占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部による通信ポートの占有を解除でき、他の記録制御部が通信ポートを使用して記録装置の制御コマンドを送って制御できる。他の記録制御部は、通信ポートを一時的に占有し使用した後、占有を解除し、再び記録制御部が通信ポートを使用することを可能とする。
【００１２】
また、上記目的を達成するために、本発明のプログラムは、レシートの発行の開始を指示する制御コマンド及び紙の切断を指示する制御コマンドを出力する第１の記録制御部により通信ポートが占有されている状態のときに、第２の記録制御部から前記通信ポートの利用要求があった場合、前記第１の記録制御部から前記レシートの発行の開始を指示する制御コマンドが入力されてから前記紙の切断を指示する制御コマンドが入力されるまでの間ではない場合、前記第１の記録制御部による前記通信ポートの占有を解除できる状態であると判別する判別部と、前記判別部により前記第１の記録制御部による前記通信ポートの占有を解除できる状態と判別された場合、前記第１の記録制御部による前記通信ポートの占有を解除する占有解除部と、を機能させることを特徴とする。
このプログラムを実行することにより、記録制御部により通信ポートが占有されている状態のときに他から通信ポートの利用要求があった場合、記録制御部から入力された制御コマンドに基づいて、記録制御部による通信ポートの占有を解除できる状態か否かが判別された上で、解除できる場合に通信ポートの占有が解除される。このように、記録制御部から出力される制御コマンドに基づいて記録制御部による通信ポートの占有を解除できる状態か否かが判別されるため、記録制御部の状態を反映した上で通信ポートの占有の解除の可否を適切に判別でき、さらに、この適切な判別の結果に基づいて記録制御部による通信ポートの占有を解除することができる。これにより、記録制御部による通信ポートの占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部による通信ポートの占有を解除できる。
【発明の効果】
【００１３】
本発明によれば、記録制御部により通信ポートが占有されている状態のときに、必要に応じて、不具合を発生させることなく当該通信ポートの占有を解除でき、他の記録制御部が一時的に通信ポートを使用可能とする。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係るプリントシステムの構成を示すブロック図である。
【図２】ホストコンピューターの機能的構成を示すブロック図である。
【図３】判別部の動作を示すフローチャートである。
【図４】ホストコンピューターの動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明を適用した実施形態に係るプリントシステム１の構成を示すブロック図である。
この図１に示すように、プリントシステム１は、ホストコンピューター１０と、ホストコンピューター１０に対して通信可能に接続されたプリンター１１とを、を備える。
ホストコンピューター１０は、例えば、小売店等の店頭に設置され、売上登録処理及び精算処理を行う販売時点管理システム（ＰＯＳシステム）を搭載したＰＯＳ端末装置であり、取引毎にプリンター１１によってレシートを発行する。なお、ホストコンピューター１０には、売上登録処理時に商品に付されたバーコードを読み取るバーコードスキャナー、精算用の現金を収容するキャッシュドロワー等を備えているが、これらの各部については図示及び説明を省略する。また、レシートを発行するとは、取引における商品の購入に関する情報や、店舗のロゴ等を含む所定の画像がロール紙に記録された上で、ロール紙が切断されて１つのレシートが形成されることをいう。
【００１６】
制御装置としてのホストコンピューター１０は、制御部１３と、入力部１４と、表示部１５と、通信制御部１６と、記憶部１７と、を備えている。
制御部１３は、ホストコンピューター１０を中枢的に制御するものであり、各種プログラムを実行するＣＰＵ、ＣＰＵにより実行される基本制御プログラム等を記憶するＲＯＭ、ＣＰＵが実行するプログラムや処理対象のデータ等を一時的に記憶するワークエリアを形成するＲＡＭ、その他周辺回路等を備えている。また、制御部１３は、各種計時動作を実行可能であり、特に、現在の日時（日付、時刻）を計時する。
入力部１４は、オペレーターに操作される売上登録キー等の各種キーを備えたキーボードや、マウス、バーコードスキャナー、カードリーダー等の入力デバイスが接続され、入力デバイスに対する操作を検出し、操作信号として制御部１３に出力する。
表示部１５は、液晶ディスプレイ等の表示パネルを備え、制御部１３の制御の下、売上登録処理及び精算処理の処理内容等の各種情報を表示パネルに表示する。
通信制御部１６は、ユニバーサルシリアルバス通信を行うＵＳＢポート１８に接続されたプリンター１１との間で、プロトコルに準拠した通信制御を実行する。この通信制御部１６については、後述する。
記憶部１７は、ハードディスクや、フラッシュメモリー等の不揮発性メモリーを備え、各種データを書き換え可能に記憶する。記憶部１７には、ホストコンピューター１０のオペレーティングシステムや、このオペレーティングシステムの動作に係る各種設定値を格納したレジストリーの他、ＰＯＳシステムとして売上登録処理及び精算処理を行う機能を有するＰＯＳアプリケーション２０、プリンター１１を制御する機能を有するプリンタードライバー２１、後述するメンテナンス用プログラム２２、制御コマンドデータ２３が記憶されている。
なお、本実施形態では、通信ポートは、ＵＳＢポート１８であるが、プリンター１１の仕様に応じて、所定のＣＯＭポートや、パラレルポート、イーサネット（登録商標）ポート等であってもよい。
【００１７】
また、記録装置としてのプリンター１１は、ホストコンピューター１０の制御に従って、ロール状に巻かれた感熱記録紙である感熱ロール紙を、搬送機構（図史略）により搬送し、この感熱ロール紙の記録面にラインサーマルヘッド（図示略）によって熱を与えることによりモノクロまたは多色で文字や画像を記録し、切断機構（不図示）により所定の位置で感熱ロール紙を切断することによってレシートを発行するサーマルラインプリンターである。なお、本実施形態では、サーマルラインプリンターであるが、インクジェット式のプリンター等、他の記録方式のプリンターであってもよい。
図１に示すように、プリンター１１は、プリンター側通信制御部３０と、コントローラー３１と、プリントエンジン３２と、を備えている。
プリンター側通信制御部３０は、ＵＳＢポート３３を介して接続されたホストコンピューター１０との間で、プロトコルに準拠した通信制御を実行する。
コントローラー３１は、プリンター側通信制御部３０を介してホストコンピューター１０から受信した制御コマンドに従ってプリンター１１の各部を制御する。
受信バッファー３４は、ホストコンピューター１０から受信した制御コマンドやデータ等を一時的に保持する。
プリントエンジン３２は、上述したラインサーマルヘッド、搬送機構、及び、切断機構を含む各部により感熱ロール紙への記録を実行する。
【００１８】
図２は、ホストコンピューター１０の機能的構成を模式的に示す図である。
ＰＯＳアプリケーション実行部４０は、ＰＯＳアプリケーション２０を実行することにより、取引毎に、取引において購入された商品を示す情報や、商品の単価を示す情報、購入金額を示す情報等のレシートに記載すべき情報を取得し、取得した情報に基づいてレシートに記録すべき画像に係る印刷データを生成し、プリンタードライバー実行部４１に出力する。
プリンタードライバー実行部４１は、プリンタードライバー２１を実行することにより、ＰＯＳアプリケーション２０から入力された印刷データに基づいて、プリンター１１のコマンド仕様に対応した制御コマンドを生成し、通信制御部１６に出力する。
この制御コマンドについてプリンター１１にレシートを発行させるための制御コマンドを例にして説明すると、制御コマンドは、予め定められた所定の規則に準拠して、搬送機構に感熱ロール紙を搬送させる命令コードや、ラインサーマルヘッドを駆動させる命令コード、切断機構に感熱ロール紙を切断させる命令コード等の各種命令コード、及び、各命令コードに対応するデータが記述されたコマンドである。
なお、本実施形態では、これらＰＯＳアプリケーション実行部４０及びプリンタードライバー実行部４１が協働して、記録制御部４２として機能する。記録制御部４２には、ＰＯＳアプリケーション実行部４０の他、クーポンを発行するためのアプリケーションなど複数のアプリケーションが存在し、いずれかのアプリケーションが処理を実行することもできる。
【００１９】
通信制御部１６は、ＵＳＢポート１８を介して接続された外部機器との通信を制御する通信ポートドライバーとしての機能を有し、ＵＳＢポート１８に対応するプロトコルに基づいて、プリンタードライバー２１から入力された制御コマンドを所定サイズのパケットに分割し、ＵＳＢポート１８を介してプリンター１１へ出力する。
本実施形態では、通信制御部１６は、プリンター１１との通信の状態を監視することにより、プリンター１１がオフライン状態又はビジー状態であることを検出する機能、プリンター１１がオフライン状態又はビジー状態であることを検出した場合、その旨を示すコマンドを記録制御部４２に出力する機能、及び、オフライン状態又はビジー状態が解消した場合、その旨を示すコマンドを記録制御部４２に出力する機能を有している。オフライン状態とは、プリンター１１とホストコンピューター１０との間における通信可能な接続が遮断された状態のことを言い、また、ビジー状態とは、例えば受信バッファー３４がオーバーフローする等して、プリンター１１が制御不能となった状態のことを言う。
通信制御部１６からプリンター１１がオフライン状態又はビジー状態であることを示すコマンドが入力された場合、記録制御部４２は、制御コマンドの出力を停止することにより、プリンター１１の制御を一時的に停止する。そして、通信制御部１６からプリンター１１のオフライン状態又はビジー状態が解消した旨のコマンドが入力された後、記録制御部４２は、プリンター１１の制御を再開する。
この通信制御部１６は、判別部４４と、占有解除部４５とを備えているが、これらについては後述する。
【００２０】
また、メンテナンス部４６（他の記録制御部）は、メンテナンス用プログラム２２を実行することにより、以下の機能を実行する。
すなわち、メンテナンス部４６は、オペレーターの指示に基づいて、プリンター１１のコマンド仕様に対応した制御コマンドをプリンター１１に出力して、プリンター１１にテスト印字等のメンナンスに係る動作を行わせ、また、プリンター１１に対する各種設定の登録を行う。プリンター１１に対する各種設定の登録とは、例えば、プリンター１１が記録スピードや、記録濃度、感熱ロール紙のロール幅等の記録に関する各種設定を登録可能に構成されている場合はこれらの設定を登録することを言い、また、プリンター１１にフォントデータや、ロゴマークが記憶され、これらフォントデータやロゴマークが利用されてプリンター１１によって記録が実行される場合は、これらフォントデータやロゴマークの登録、内容の変更等のことを言う。
メンテナンスに係る動作の開始の指示や、各種設定の登録の指示は、メンテナンス用プログラム２２の機能により、オペレーターが、例えば、表示部１５のディスプレイの表示内容を参照しつつ、入力部１４に接続されたマウスやキーボード等の入力デバイスを操作して行える構成となっている。
メンテナンス用プログラム２２は、各種設定を行うものの他、プリンター１１の印刷行数などメカニズムのカウント値を取得して部品の交換時期や注油やクリーニングなどを報知するものなど、複数のプログラムがあってもよい。
【００２１】
本実施形態では、記録制御部４２によるプリンター１１の制御に際し、記録制御部４２によりＵＳＢポート１８が占有され、記録制御部４２とプリンター１１との間における通信リンクが確立された状態が維持された上で、記録制御部４２によるプリンター１１の制御が実行される。
これは、記録制御部４２は、ＵＳＢポート１８に接続されたプリンター１１の状態を監視すべく、所定のタイミングでステータス要求コマンドをプリンター１１に出力し、プリンター１１からの当該ステータス要求コマンドに対する応答に基づいて、プリンター１１の状態、例えば、正常に動作している状態であることや、感熱ロール紙の収納部のカバーがオープンされた状態であること検出する構成となっているからである。また、プリンター１１にエラーが発生した場合、当該エラーに対応するコマンドをプリンター１１から記録制御部４２に出力する構成となっており、絶えず、記録制御部４２とプリンター１１との通信リンクが確立された状態が維持されることが必要だからである。
なお、「記録制御部４２により通信ポートが占有されている状態」とは、ＰＯＳアプリケーション２０及びプリンタードライバー２１の仕様に応じて通信制御部１６の機能により、記録制御部４２に対してのみＵＳＢポート１８が利用可能に開放され、記録制御部４２が出力する制御コマンドのみがＵＳＢポート１８を介して当該ＵＳＢポート１８に接続されたプリンター１１に出力可能な状態のことを言う。
【００２２】
上述したような構成のため、記録制御部４２によりプリンター１１の制御が行われている間は、記録制御部４２によりＵＳＢポート１８が占有された状態となり、メンテナンス部４６は、ＵＳＢポート１８を介してプリンター１１に制御コマンドを出力することができず、上述したようなメンテナンス部４６の機能を実行することはできない。しかしながら、メンテナンスに係る動作の実行や、各種設定の登録等は、記録制御部４２によりプリンター１１の制御が行われている間であっても実行する必要が生じることがある。これを考慮し、通信制御部１６を、メンテナンス部４６から制御コマンドが入力された場合、記録制御部４２によるＵＳＢポート１８の占有を強制的に解除する構成とすることも考えられるが、例えば、記録制御部４２が１つのレシートを発行するための一連の制御コマンドを出力している途中に、ＵＳＢポート１８の占有の解除が行われてしまうと、プリンター１１に対して正常に制御コマンドが入力されていないという事態が生じ得、当該事態が発生したことに起因してエラー（不具合）が発生してしまう可能性があった。
これを踏まえ、本実施形態では、記録制御部４２によりＵＳＢポート１８が占有されているときに、メンテナンス部４６から制御コマンドが入力された場合に、不具合を発生させることなく、記録制御部４２によるＵＳＢポート１８の占有を解除できる構成となっている。
以下、通信制御部１６が備える判別部４４、及び、占有解除部４５の説明を通して、上記構成について説明する。
【００２３】
通信制御部１６の判別部４４は、記録制御部４２によりＵＳＢポート１８が占有されている状態のときに、メンテナンス部４６から制御コマンドが入力された場合、すなわち、ＵＳＢポート１８の利用要求があった場合、記録制御部４２から通信制御部１６に入力された制御コマンドに基づいて、記録制御部４２によるＵＳＢポート１８の占有が解除できる状態か否かを判別する。
ここで、通信制御部１６は、記録制御部４２から制御コマンドが入力される度に、制御コマンドと、当該制御コマンドが入力された日時を示すデータとを対応づけて、制御コマンドデータ２３（図１参照）として記憶部１７に記憶する。従って、記憶部１７には、記録制御部４２から過去に入力された制御コマンドが、入力された日時を示すデータと対応づけられた上で記憶されていることになる。
【００２４】
図３は、判別部４４の動作を示すフローチャートである。
記録制御部４２によりＵＳＢポート１８が占有されている状態のときにメンテナンス部４６から制御コマンドが入力された場合、判別部４４は、記録制御部４２から制御コマンドが入力中であるか否かを判別する（ステップＳＡ１）。入力中である場合（ステップＳＡ１：ＹＥＳ）、判別部４４は、記録制御部４２によるＵＳＢポート１８の占有が解除できない状態と判別する（ステップＳＡ２）。このように判別部４４によって制御コマンドの入力中はＵＳＢポート１８の占有が解除できない状態と判別されるため、制御コマンドの入力中に後述する占有解除部４５により強制的にＵＳＢポート１８の占有が解除されることが禁止され、不具合の発生が防止されている。
【００２５】
一方、入力中でない場合（ステップＳＡ１：ＮＯ）、判別部４４は、現時点が、予め定められた所定の期間内であるか否かを判別する（ステップＳＡ３）。現時点が予め定められた所定の期間内である場合（ステップＳＡ３：ＹＥＳ）、判別部４４は、記録制御部４２によるＵＳＢポート１８の占有を解除できると判別する（ステップＳＡ４）。
ここで、予め定められた所定の期間とは、例えば、プリンター１１のメンテナンスを行う時間を確保するべく、プリンター１１による記録装置の制御を実行しない期間として、又は、記録制御部４２によるＵＳＢポート１８の占有の解除を許可する期間として事前に定められた期間のことであり、例えば、電源投入後から所定の時間が経過するまでの間や、また、予め定められた時間帯等のことである。この予め定められた期間中に、メンテナンス部４６から制御コマンドが入力された場合は、記録制御部４２によるＵＳＢポート１８の占有の解除ができる状態であると判別することにより、通信ポートの占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部４２によるＵＳＢポート１８の占有を解除できる。
【００２６】
一方、現時点が、予め定められた所定の期間外である場合（ステップＳＡ３：ＮＯ）、判別部４４は、記憶部１７に記憶された制御コマンドデータ２３を参照し、記録制御部４２から制御コマンドが最後に入力されてから所定時間経過しているか否かを判別する（ステップＳＡ５）。
制御コマンドが最後に入力されてから所定時間経過している場合（ステップＳＡ５：ＹＥＳ）、判別部４４は、記録制御部４２によるＵＳＢポート１８の占有を解除できる状態と判別する（ステップＳＡ６）。一方、制御コマンドが最後に入力されてから所定時間経過していない場合（ステップＳＡ５：ＮＯ）、判別部４４は、記録制御部４２によるＵＳＢポート１８の占有を解除できない状態と判別する（ステップＳＡ７）。
このように、本実施形態に係る判別部４４は、制御コマンドが最後に入力されてから所定時間経過している場合は記録制御部４２によるＵＳＢポート１８の占有を解除できる状態と判別し、一方、制御コマンドが最後に入力されてから所定時間経過していない場合は記録制御部４２によるＵＳＢポート１８の占有を解除できない状態と判別するが、これは以下の理由による。
すなわち、本実施形態では、制御コマンドが最後に入力されてから所定時間経過している場合は、レシートの発行が頻繁に実行されておらず、従って、制御コマンドが記録制御部４２から引き続いて制御コマンドが入力される可能性が低いと言える状況となるように、所定時間が適切に定められる。そして、上記のように判別することにより、プリンター１１よって頻繁にレシートを発行することが要求されている状況下で、レシートの発行が中断される事態を防止するためである。
【００２７】
なお、本実施形態では、制御コマンドが最後に入力されてから所定時間経過していない場合（ステップＳＡ５：ＮＯ）、判別部４４は、記録制御部４２によるＵＳＢポート１８の占有を解除できない状態と判別する（ステップＳＡ７）が、これを、制御コマンドが最後に入力されてから所定時間経過していない場合は、所定時間経過するまで待機し、待機中に制御コマンドが入力された場合は、記録制御部４２によるＵＳＢポート１８の占有を解除できないと判別する一方、待機中に制御コマンドが入力されることなく所定時間経過した場合は、記録制御部４２によるＵＳＢポート１８の占有を解除できると判別するようにしてもよい。
【００２８】
次いで、占有解除部４５について説明する。
占有解除部４５は、記録制御部４２によりＵＳＢポート１８が占有されている状態のときにメンテナンス部４６から制御コマンドが入力された場合であって、判別部４４により記録制御部４２によるＵＳＢポート１８の占有を解除できる状態であると判別された場合、当該占有を解除する。
具体的には、上記の場合、占有解除部４５は、記録制御部４２によるＵＳＢポート１８の占有を解除して、メンテナンス部４６に対しＵＳＢポート１８を開放し、メンテナンス部４６から入力された制御コマンドがＵＳＢポート１８を介してプリンター１１に出力可能な状態とする。さらに、占有解除部４５は、記録制御部４２に対して、プリンター１１がオフライン状態（又はビジー状態）である旨のダミーコマンドを出力する。これにより、記録制御部４２による制御コマンドの出力が停止される。
なお、占有解除部４５は、メンテナンス部４６から入力された制御コマンドのプリンター１１への出力が終了した場合、記録制御部４２に対して、プリンター１１のオフライン状態（又はビジー状態）が解消した旨のコマンドを出力する。これをトリガーとして、記録制御部４２は、プリンター１１に対する制御コマンドの出力を再開する。
【００２９】
次いで、ホストコンピューター１０の動作について、図４のフローチャートを用いて説明する。
なお、図４のフローチャートが示す動作の前提として、記録制御部４２によりＵＳＢポート１８が占有されている状態であるものとする。
ホストコンピューター１０の通信制御部１６は、メンテナンス部４６から制御コマンドの入力があったか否かを監視する（ステップＳＢ１）。メンテナンス部４６から制御コマンドの入力があった場合（ステップＳＢ１：ＹＥＳ）、判別部４４は、記録制御部４２によるＵＳＢポート１８の占有を解除できる状態か否かを判別する（ステップＳＢ２）。
判別の結果、占有を解除できる状態の場合（ステップＳＢ３：ＹＥＳ）、占有解除部４５は、記録制御部４２によるＵＳＢポート１８の占有を解除する（ステップＳＢ４）。
占有を解除できない状態の場合（ステップＳＢ３：ＮＯ）、占有解除部４５は、占有の解除を行わない（ステップＳＢ５）。次いで、通信制御部１６は、記録制御部４２によるＵＳＢポート１８の占有を解除せず、メンテナンス部４６によるプリンター１１の制御を実行しない旨のコマンドを記録制御部４２に出力する（ステップＳＢ６）。このコマンドが入力されたことをトリガーとして、ＰＯＳアプリケーション実行部４０は、その旨を表示部１５の表示パネルに表示し、オペレーターにその旨報知する。
【００３０】
以上説明したように、本実施形態では、通信制御部１６は、記録制御部４２によりＵＳＢポート１８が占有されている状態のときに、メンテナンス部４６から制御コマンドの入力（ポートの開放の要求）があった場合、記録制御部４２から入力された制御コマンドに基づいて、記録制御部４２によるＵＳＢポート１８の占有を解除できる状態か否かを判別する判別部４４と、判別部４４により記録制御部４２によるＵＳＢポート１８の占有を解除できる状態と判別された場合、記録制御部４２によるＵＳＢポート１８の占有を解除する占有解除部４５と、を備える。
これによれば、記録制御部４２によりＵＳＢポート１８が占有されている状態のときにメンテナンス部４６からＵＳＢポート１８の利用要求があった場合、記録制御部４２から入力された制御コマンドに基づいて、記録制御部４２によるＵＳＢポート１８の占有を解除できる状態か否かが判別された上で、解除できる場合にＵＳＢポート１８の占有が解除される。このように、記録制御部４２から入力される制御コマンドに基づいて記録制御部４２によるＵＳＢポート１８の占有を解除できる状態か否かが判別されるため、記録制御部４２の状態を反映した上でＵＳＢポート１８の占有の解除の可否を適切に判別でき、さらに、この適切な判別の結果に基づいて記録制御部４２によるＵＳＢポート１８の占有を解除することができる。これにより、記録制御部４２によるＵＳＢポート１８の占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部４２によるＵＳＢポート１８の占有を解除できる。
【００３１】
また、本実施形態では、判別部４４は、記録制御部４２が、プリンター１１に記録を実行させるための一連の制御コマンドを出力中でない場合、記録制御部４２によるＵＳＢポート１８の占有を解除できる状態であると判別する。
これによれば、プリンター１１に記録に係る動作を実行させるための一連の制御コマンドを出力している途中ではない場合に、判別部４４によって記録制御部４２によるＵＳＢポート１８の占有を解除できる状態であると判別され、当該占有が解除されることとなり、記録制御部４２によるＵＳＢポート１８の占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部４２によるＵＳＢポート１８の占有を解除できる。
【００３２】
また、本実施形態では、判別部４４は、記録制御部４２から最後に制御コマンドの入力があってから所定の時間経過している場合、記録制御部４２によるＵＳＢポート１８の占有を解除できる状態であると判別する。
これによれば、記録制御部４２から通信制御部１６に対して最後に制御コマンドの入力があってから所定の時間経過しており、引き続いて制御コマンドが入力される可能性が低い場合に、判別部４４によって記録制御部４２によるＵＳＢポート１８の占有を解除できる状態であると判別され、当該占有が解除されることとなり、記録制御部４２によるＵＳＢポート１８の占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部４２によるＵＳＢポート１８の占有を解除できる。
【００３３】
また、本実施形態では、判別部４４は、予め定められた所定の期間、記録制御部４２によるＵＳＢポート１８の占有を解除できる状態であると判別する。
これによれば、事前に定められた期間中は、判別部４４によって記録制御部４２によるＵＳＢポート１８の占有を解除できる状態であると判別され、当該占有が解除されることとなり、記録制御部４２によるＵＳＢポート１８の占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部４２によるＵＳＢポート１８の占有を解除できる。
【００３４】
また、本実施形態では、占有解除部４５は、プリンター１１がビジー状態又はオフライン状態であることを示すダミーコマンドを記録制御部４２に出力することにより、記録制御部４２によるＵＳＢポート１８の占有を解除する。
これによれば、プリンター１１がビジー状態又はオフライン状態であることを示すダミーコマンドを記録制御部４２に出力することにより、記録制御部４２によりプリンター１１の制御が停止され、適切に、記録制御部４２によるＵＳＢポート１８の占有を解除できる。特に、既存のコマンドを利用して、記録制御部４２によるプリンター１１の制御を停止することができるため、開発の簡易化を図ることができる。
【００３５】
次いで、他の実施形態について説明する。
上述した実施形態では、制御コマンドは、予め定められた所定の規則に準拠して、搬送機構に感熱ロール紙を搬送させる命令コードや、ラインサーマルヘッドを駆動させる命令コード、切断機構に感熱ロール紙を切断させる命令コード等の各種命令コード、及び、各命令コードに対応するデータが記述されたコマンドであった。
一方、本実施形態では、プリンター１１にレシートを発行させるための一連の制御コマンドが、レシートの発行の開始を指示する制御コマンドや、感熱ロール紙を搬送させるための制御コマンド、ラインサーマルヘッドを駆動させるための制御コマンド等に、動作の内容に応じて分割されている。そして、例えば、記録制御部４２は、プリンター１１に感熱ロール紙を搬送させるための制御コマンドを出力した場合、プリンター１１から当該制御コマンドに基づく動作の結果についての応答が入力されるまで待機し、当該応答が入力されてから次の動作を指示する制御コマンド（例えば、ラインサーマルヘッドを駆動させるための制御コマンド）を出力する。
ここで、プリンター１１は、感熱ロール紙に画像を記録した上で、所定の位置で感熱ロール紙を切断することによってレシートを発行するプリンターである。従って、プリンター１１にレシートを発行させるための一連の制御コマンドのうち、記録制御部４２から最後に出力される制御コマンドは、切断機構に感熱ロール紙を切断させるための制御コマンドであり、また、最初に出力される制御コマンドは、レシートの発行の開始を指示する制御コマンドである。
【００３６】
次いで、図３を援用して、本実施形態における判別部４４の動作について説明する。
本実施形態は、上述した実施形態と、ステップＳＡ１の処理が異なっている。
すなわち、本実施形態では、ステップＳＡ１において、現時点が、レシートの発行の開始を指示する制御コマンドの入力後であって切断機構に感熱ロール紙を切断させるための制御コマンドが入力される前の状態であるか否かを判別し、当該状況である場合（ステップＳＡ１：ＹＥＳ）、判別部４４は、記録制御部４２によるＵＳＢポート１８の占有を解除できない状況であると判別し（ステップＳＡ２）、一方、当該状況でない場合（ステップＳＡ１：ＮＯ）、判別部４４は、処理手順をステップＳＡ３へ進める。
このステップＳＡ１により、レシートを発行させるための一連の制御コマンドが記録制御部４２から通信制御部１６に入力されている途中に、強制的に記録制御部４２によるＵＳＢポート１８の占有が解除されることが防止され、これにより、なんらかのエラー（不具合）が発生することが防止される。
【００３７】
以上説明したように、本実施形態では、判別部４４は、記録制御部４２からレシートの発行の開始を指示する制御コマンドが入力されてから感熱ロール紙の切断を指示する制御コマンドが入力されるまでの間ではない場合、記録制御部４２によるＵＳＢポート１８の占有を解除できる状態であると判別する。
これによれば、レシートを発行させるための一連の制御コマンドが記録制御部４２から通信制御部１６に入力されている途中に、強制的に記録制御部４２によるＵＳＢポート１８の占有が解除されることが防止され、記録制御部４２によるＵＳＢポート１８の占有を強制的に解除することに起因した不具合の発生を防止しつつ、適切に、記録制御部４２によるＵＳＢポート１８の占有を解除できる。
【００３８】
なお、上記実施形態は本発明を適用した一具体例を示すものであり、本発明はこれに限定されるものではない。例えば、上記実施形態においては、通信制御部１６が、プリンタードライバー２１とは独立した機能モジュールとして実装される例を説明したが、プリンタードライバー２１が通信制御部１６の機能を兼ねる構成としてもよい。
【符号の説明】
【００３９】
１０…ホストコンピューター（制御装置）、１１…プリンター（記録装置）、１３…制御部、１６…通信制御部、１８…ＵＳＢポート（通信ポート）、４２…記録制御部、４４…判別部、４５…占有解除部、４６…メンテナンス部（他の記録制御部）。
【図１】
0005556248.tif 000002
【図２】
0005556248.tif 000003
【図３】
0005556248.tif 000004
【図４】
0005556248.tif 000005