(57)【要約】【課題】周辺機器からの入力情報の有無に応じた処理を、１種のコマンドで複数の周辺機器のそれぞれに関して実行できるようにする。【解決手段】プリンターは、ホスト装置と通信可能なプリンター通信部と、複数のデバイスと通信可能なデバイス通信部と、プリンター通信部を介して取得されるコマンドに基づいて処理を実行するプリンター制御部と、デバイス通信部を介して取得される、複数のデバイスのそれぞれに対応した入力情報を、格納可能な共有バッファーと、を備え、プリンター制御部は、プリンター通信部が、複数のデバイスのうち所定のデバイスを指定するデバイス指定パラメーターを含むデバイス制御コマンドを受信した場合、デバイス指定パラメーターが指定する所定のデバイスに対応する入力情報が共有バッファーに有るか無いかを示すバッファー情報、または、入力情報を、共有バッファーから取得する。【選択図】図２
2020017091.tif 000002
【特許請求の範囲】
【請求項１】
制御装置と通信可能な第１通信部と、
複数の周辺機器と通信可能な第２通信部と、
前記第１通信部を介して取得されるコマンドに基づいて処理を実行する制御部と、
前記第２通信部を介して取得される、複数の前記周辺機器のそれぞれに対応した入力情報を、格納可能なバッファーと、を備え、
前記制御部は、
前記第１通信部が、複数の前記周辺機器のうち所定の前記周辺機器を指定する指定情報を含む機器制御コマンドを受信した場合、前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が前記バッファーに有るか無いかを示すバッファー情報、または、前記入力情報を、前記バッファーから取得する、印刷装置。
【請求項２】
前記制御部は、
前記バッファーに前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が有る場合、前記入力情報が有ることを示す前記バッファー情報、または、前記入力情報を前記制御装置に送信する、請求項１に記載の印刷装置。
【請求項３】
前記制御部は、
前記バッファーに前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が無い場合、前記入力情報が無いことを示す前記バッファー情報を前記制御装置に送信する、請求項１に記載の印刷装置。
【請求項４】
印刷媒体に印刷する印刷部を備え、
前記制御部は、
前記印刷部を制御する第１モードと、前記印刷部を動作させずに処理を行う第２モードとを切り替え可能に構成され、
前記第２モードである場合、前記機器制御コマンドに基づいて処理を実行する、請求項１から３のいずれか一項に記載の印刷装置。
【請求項５】
前記制御部は、
前記第１通信部が受信した前記コマンドが印刷コマンドである場合、前記印刷部を制御し、
前記第１通信部が受信した前記コマンドが前記機器制御コマンドである場合、前記機器制御コマンドに基づいて処理を実行する、請求項４に記載の印刷装置。
【請求項６】
前記制御部は、
前記第１通信部が受信した前記コマンドを受信順に実行する一方で、前記第１通信部が前記機器制御コマンドを受信した場合、前記機器制御コマンドを受信する前に受信した前記コマンドに基づく処理より優先して前記機器制御コマンドに基づく処理を実行する、請求項５のいずれか一項に記載の印刷装置。
【請求項７】
前記制御部は、
前記印刷コマンドに基づく前記印刷部の制御を実行できない際に前記第１通信部が前記機器制御コマンドを受信した場合、前記機器制御コマンドに基づいて処理を実行する、
請求項５又は６のいずれか一項に記載の印刷装置。
【請求項８】
前記制御部は、
前記第１通信部が前記機器制御コマンドを受信した場合、前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報の有無を監視し、
前記入力情報が前記バッファーに格納された場合、前記入力情報が有ることを示すバッファー情報を前記制御装置に送信する、請求項１から７のいずれか一項に記載の印刷装置。
【請求項９】
制御装置と通信可能な第１通信部と、
複数の周辺機器と通信可能な第２通信部と、
前記第１通信部を介して取得されるコマンドに基づいて処理を実行する第１制御部と、
前記第２通信部を介して前記周辺機器を制御する第２制御部と、
前記第１制御部、及び前記第２制御部が情報を入出力可能であって、前記第２制御部により複数の前記周辺機器のそれぞれに対応する入力情報を格納可能なバッファーと、を備え、
前記第１制御部は、
前記第１通信部が、複数の前記周辺機器のうち所定の前記周辺機器を指定する指定情報を含む機器制御コマンドを受信した場合、前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が前記バッファーに有るか無いかを示すバッファー情報、または、前記入力情報を、前記バッファーから取得する、印刷装置。
【請求項１０】
制御装置と通信可能な第１通信部と、複数の周辺機器と通信可能な第２通信部と、前記第１通信部を介して取得されるコマンドに基づいて、処理を実行する制御部と、前記第２通信部を介して取得される、複数の前記周辺機器のそれぞれに対応した入力情報を、格納可能なバッファーと、を備える印刷装置の制御方法であって、
前記制御部は、
前記第１通信部が、複数の前記周辺機器のうち所定の前記周辺機器を指定する指定情報を含む機器制御コマンドを受信した場合、前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が前記バッファーに有るか無いかを示すバッファー情報、または、前記入力情報を、前記バッファーから取得する、印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、及び印刷装置の制御方法に関する。
【背景技術】
【０００２】
従来、周辺機器からの入力情報の有無に応じた処理を実行する装置が知られている（例えば、特許文献１参照）。特許文献１は、周辺機器である入力デバイスから情報が入力された場合、入力情報に、入力元の入力デバイスを識別する識別情報を付加してタブレット端末に送信する印刷装置を開示する。
一般に、特許文献１に記載のような印刷装置は、通信可能な制御装置から、１の周辺機器に対応したある１種のコマンドを受信し、１の周辺機器からの入力情報の有無に応じた処理を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１８６４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、周辺機器からの入力情報の有無に応じた処理を、１種のコマンドで複数の周辺機器のそれぞれに関して実行できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成する一態様は、制御装置と通信可能な第１通信部と、複数の周辺機器と通信可能な第２通信部と、前記第１通信部を介して取得されるコマンドに基づいて処理を実行する制御部と、前記第２通信部を介して取得される、複数の前記周辺機器のそれぞれに対応した入力情報を、格納可能なバッファーと、を備え、前記制御部は、前記第１通信部が、複数の前記周辺機器のうち所定の前記周辺機器を指定する指定情報を含む機器制御コマンドを受信した場合、前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が前記バッファーに有るか無いかを示すバッファー情報を、または、前記入力情報を、前記バッファーから取得する、印刷装置である。
【０００６】
上記印刷装置において、前記制御部は、前記バッファーに前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が有る場合、前記入力情報が有ることを示す前記バッファー情報、または、前記入力情報を前記制御装置に送信する、構成であってもよい。
【０００７】
上記印刷装置において、前記制御部は、前記バッファーに前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が無い場合、前記入力情報が無いことを示す前記バッファー情報を前記制御装置に送信する、構成であってもよい。
【０００８】
上記印刷装置において、印刷媒体に印刷する印刷部を備え、前記制御部は、前記印刷部を制御する第１モードと、前記印刷部を動作させずに処理を行う第２モードとを切り替え可能に構成され、前記第２モードである場合、前記機器制御コマンドに基づいて処理を実行する、構成であってもよい。
【０００９】
上記印刷装置において、前記制御部は、前記第１通信部が受信した前記コマンドが印刷コマンドである場合、前記印刷部を制御し、前記第１通信部が受信した前記コマンドが前記機器制御コマンドである場合、前記機器制御コマンドに基づいて処理を実行する、構成であってもよい。
【００１０】
上記印刷装置において、前記制御部は、前記第１通信部が受信した前記コマンドを受信順に実行する一方で、前記第１通信部が前記機器制御コマンドを受信した場合、前記機器制御コマンドを受信する前に受信した前記コマンドに基づく処理より優先して前記機器制御コマンドに基づく処理を実行する、構成であってもよい。
【００１１】
上記印刷装置において、前記制御部は、前記印刷コマンドに基づく前記印刷部の制御を実行できない際に前記第１通信部が前記機器制御コマンドを受信した場合、前記機器制御コマンドに基づいて処理を実行する、構成であってもよい。
【００１２】
上記印刷装置において、前記制御部は、前記第１通信部が前記機器制御コマンドを受信した場合、前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報の有無を監視し、前記入力情報が前記バッファーに格納された場合、前記入力情報が有ることを示すバッファー情報を前記制御装置に送信する、構成であってもよい。
【００１３】
上記目的を達成する別の一態様は、制御装置と通信可能な第１通信部と、複数の周辺機器と通信可能な第２通信部と、前記第１通信部を介して取得されるコマンドに基づいて処理を実行する第１制御部と、前記第２通信部を介して前記周辺機器を制御する第２制御部と、前記第１制御部、及び前記第２制御部が情報を入出力可能であって、前記第２制御部により複数の前記周辺機器のそれぞれに対応する入力情報を格納可能なバッファーと、を備え、前記第１制御部は、前記第１通信部が、複数の前記周辺機器のうち所定の前記周辺機器を指定する指定情報を含む機器制御コマンドを受信した場合、前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が前記バッファーに有るか無いかを示すバッファー情報を、または、前記入力情報を、前記バッファーから取得する、印刷装置である。
【００１４】
上記目的を達成するさらに別の一態様は、制御装置と通信可能な第１通信部と、複数の周辺機器と通信可能な第２通信部と、前記第１通信部を介して取得されるコマンドに基づいて、処理を実行する制御部と、前記第２通信部を介して取得される、複数の前記周辺機器のそれぞれに対応した入力情報を、格納可能なバッファーと、を備える印刷装置の制御方法であって、前記制御部は、前記第１通信部が、複数の前記周辺機器のうち所定の前記周辺機器を指定する指定情報を含む機器制御コマンドを受信した場合、前記指定情報が指定する所定の前記周辺機器に対応する前記入力情報が前記バッファーに有るか無いかを示すバッファー情報を、または、前記入力情報を、前記バッファーから取得する。
【図面の簡単な説明】
【００１５】
【図１】プリンター、及びホスト装置の構成を示す図。
【図２】プリンター制御部の機能的構成を示す図。
【図３】デバイス制御コマンドの構成を示す図。
【図４】印刷システムの動作を示すシーケンス図。
【図５】印刷システムの動作を示すシーケンス図。
【発明を実施するための形態】
【００１６】
図１は、プリンター２、及びホスト装置３の構成を示す図である。
図１に示すように、印刷システム１は、プリンター２、及びホスト装置３を備える。プリンター２は、印刷装置である。また、ホスト装置３は、制御装置である。
印刷システム１は、ＰＯＳシステムとして機能する。ＰＯＳシステムは、ショッピングセンターや、コンビニエンスストア、車内販売等の小売業や、レストランや、喫茶店、居酒屋等の飲食業等の業務で利用されるシステムである。ＰＯＳシステムは、顧客が購入した商品に応じて会計を行う機能や、会計に応じてレシートを発行する機能等を有する。
【００１７】
プリンター２は、印刷媒体の一態様であるロール紙を収容し、収容したロール紙にライン型のサーマル方式の印刷ヘッド２３１でドットを形成して文字や画像等を印刷するサーマルプリンターである。なお、本実施形態に係るプリンター２の印刷方式はサーマル方式を例示するが、プリンター２の印刷方式は、サーマル方式に限らずインクジェット方式等の他の印刷方式でもよい。また、プリンター２の印刷ヘッド２３１は、ライン型に限らず、シリアル型でもよい。
【００１８】
ホスト装置３は、プリンター２を制御する装置であり、例えば、デスクトップ型、ラップトップ型、或いはタブレット型のパーソナルコンピューターである。また、ホスト装置３は、プリンター２を制御するための専用のコンピューターでもよい。
【００１９】
まず、ホスト装置３について説明する。
ホスト装置３は、ホスト制御部３０、ホスト入力部３１、ホスト表示部３２、ホスト通信部３３、及びホストネットワーク通信部３４を備える。
【００２０】
ホスト制御部３０は、ＣＰＵ等の演算処理を実行するホストプロセッサー３０１と、ホストＲＯＭ３０２と、ホストＲＡＭ３０３とを備える。ホスト制御部３０は、ホストプロセッサー３０１がホストＲＯＭ３０２に記憶された制御プログラムをＲＡＭ３０２に読み出して処理を実行するように、ハードウェア及びソフトウェアの協働により処理を実行する。ホストＲＯＭ３０２とホストＲＡＭ３０３は、各種データを記憶する記憶部を構成する。
ホストプロセッサー３０１は、ホストＲＯＭ３０２に記憶された制御プログラムを読み出して実行することによりホスト装置３の各部を制御する。
ホストＲＯＭ３０２は、データを不揮発的に記憶するＲＯＭである。ホストＲＯＭ３０２は、ホストプロセッサー３０１が実行する制御プログラムの他、各種データを不揮発に記憶する。
ホストＲＡＭ３０３は、各種データを一時的に記憶するＲＡＭである。ホストＲＡＭ３０３は、ホストプロセッサー３０１のワークエリアとして機能する。
【００２１】
ホスト入力部３１は、ホスト装置３に設けられた操作スイッチや、ホスト装置３と接続したキーボード、タッチパネル等の入力手段を備え、ユーザーの入力手段に対する操作を検出し、ホスト制御部３０に出力する。ホスト制御部３０は、ホスト入力部３１からの入力に基づいて、入力手段に対する操作に対応する処理を実行する。
【００２２】
ホスト表示部３２は、複数のＬＥＤや表示パネル等を備え、ホスト制御部３０の制御で、ＬＥＤを所定の態様で点灯点滅させたり、表示パネルに各種情報を表示したりする。
【００２３】
ホスト通信部３３は、所定の通信規格に従ったコネクターやインターフェース回路等の通信に必要なハードウェアで構成された通信デバイスを備え、ホスト制御部３０の制御で所定の通信規格に従ってプリンター２のプリンター通信部２２と通信する。ホスト通信部３３とプリンター通信部２２との間で使用される通信規格は、有線通信に係る規格でも、無線通信に係る規格でもよい。有線通信に係る規格としては、ＵＳＢや、ＲＣ２３２Ｃ等のシリアル通信規格、ＩＥＥＥ１２８４等のパラレル通信規格、イーサネット等が例として挙げられる。イーサネットは、登録商標である。また、無線通信に係る規格としては、Ｗｉ−Ｆｉ等の無線ＬＡＮに係る通信規格や、Ｂｌｕｅｔｏｏｔｈ等の近距離無線通信に係る通信規格等が例として挙げられる。Ｗｉ−Ｆｉは、登録商標である。また、Ｂｌｕｅｔｏｏｔｈは、登録商標である。
【００２４】
ホストネットワーク通信部３４は、ホスト制御部３０の制御で、グローバルネットワークと接続するＷｅｂサーバー等の機器と所定の通信規格に従って通信する。ホストネットワーク通信部３４が通信に使用する通信規格は、ＨＴＴＰや、ＷｅｂＳｏｃｋｅｔ等が例として挙げられる。
【００２５】
次に、プリンター２について説明する。
プリンター２は、プリンター制御部２０と、プリンター記憶部２１と、プリンター通信部２２と、印刷部２３と、デバイス通信部２４と、プリンターネットワーク通信部２５と、を備える。
【００２６】
なお、プリンター制御部２０は、制御部に相当する。また、プリンター通信部２２は、第１通信部に相当する。また、デバイス通信部２４は、第２通信部に相当する。
【００２７】
プリンター制御部２０は、第１プリンター制御部２００と第２プリンター制御部２０１とを備える。なお、第１プリンター制御部２００は、第１制御部に相当する。また、第２プリンター制御部２０１は、第２制御部に相当する。
【００２８】
第１プリンター制御部２００は、ＣＰＵ等の演算処理を実行する第１プリンタープロセッサー２００Ａと、第１プリンターＲＯＭ２００Ｂと、第１プリンターＲＡＭ２００Ｃとを備える。第１プリンター制御部２００は、第１プリンタープロセッサー２００Ａが第１プリンターＲＯＭ２００Ｂに記憶された制御プログラムを第１プリンターＲＡＭ２００Ｃに読み出して処理を実行するように、ハードウェア及びソフトウェアの協働により処理を実行する。第１プリンターＲＯＭ２００Ｂと第１プリンターＲＡＭ２００Ｃは、第１プリンター制御部２００に係る各種データを記憶する記憶部を構成する。
【００２９】
第１プリンタープロセッサー２００Ａは、第１プリンターＲＯＭ２００Ｂに記憶された制御プログラムを読み出して実行することにより、プリンター通信部２２、及び印刷部２３を制御する。
第１プリンターＲＯＭ２００Ｂは、データを不揮発的に記憶するＲＯＭである。第１プリンターＲＯＭ２００Ｂは、第１プリンタープロセッサー２００Ａが実行する制御プログラムの他、各種データを不揮発に記憶する。
第１プリンターＲＡＭ２００Ｃは、各種データを一時的に記憶するＲＡＭである。第１プリンターＲＡＭ２００Ｃは、第１プリンタープロセッサー２００Ａのワークエリアとして機能する。
【００３０】
第２プリンター制御部２０１は、ＣＰＵ等の演算処理を実行する第２プリンタープロセッサー２０１Ａと、第２プリンターＲＯＭ２０１Ｂと、第２プリンターＲＡＭ２０１Ｃとを備える。第２プリンター制御部２０１は、第２プリンタープロセッサー２０１Ａが第２プリンターＲＯＭ２０１Ｂに記憶された制御プログラムを第２プリンターＲＡＭ２０１Ｃに読み出して処理を実行するように、ハードウェア及びソフトウェアの協働により処理を実行する。第２プリンターＲＯＭ２０１Ｂと第２プリンターＲＡＭ２０１Ｃは、第２プリンター制御部２０１に係る各種データを記憶する記憶部を構成する。
【００３１】
第２プリンタープロセッサー２０１Ａは、第２プリンターＲＯＭ２０１Ｂに記憶された制御プログラムを読み出して実行することにより、デバイス通信部２４、及びプリンターネットワーク通信部２５を制御する。
第２プリンターＲＯＭ２０１Ｂは、データを不揮発的に記憶するＲＯＭである。第２プリンターＲＯＭ２０１Ｂは、第２プリンタープロセッサー２０１Ａが実行する制御プログラムの他、各種データを不揮発に記憶する。
第２プリンターＲＡＭ２０１Ｃは、各種データを一時的に記憶するＲＡＭである。第２プリンターＲＡＭ２０１Ｃは、第２プリンタープロセッサー２０１Ａのワークエリアとして機能する。
【００３２】
プリンター記憶部２１は、揮発的又は不揮発的にデータを記憶可能なメモリーデバイスにより構成され、本実施形態では少なくとも共有バッファー２１０を含む。共有バッファー２１０は、例えば揮発性又は不揮発性の半導体メモリーにより構成され、第１プリンター制御部２００、及び第２プリンター制御部２０１が共有して情報の書き込み、及び情報の読み出しが可能なバッファーである。共有バッファー２１０は、バッファーに相当する。
【００３３】
プリンター通信部２２は、所定の通信規格に従ったコネクターやインターフェース回路等の通信に必要なハードウェアで構成された通信デバイスを備え、第１プリンター制御部２００の制御で所定の通信規格に従ってホスト通信部３３と通信する。
【００３４】
印刷部２３は、第１プリンター制御部２００の制御に従って、ホスト制御部３０から受信する印刷コマンドに基づいて印刷を実行する。印刷コマンドは、ロール紙への文字や画像等の印刷を指示するコマンドであり、文字コードや文字コードを印刷するためのコマンド等を含む。この印刷コマンドは、プリンター２が対応するコマンド体系のコマンドである。
印刷部２３は、印刷ヘッド２３１と、ヘッド駆動部２３３と、搬送モーター２３４と、カッター駆動モーター２３５と、カッター２３６とを備える。
【００３５】
印刷ヘッド２３１は、抵抗体から構成される発熱素子２３２をロール紙の搬送方向と交差する交差方向に複数配列して有する。搬送方向と交差する方向の一例としては、搬送方向と直交する方向が挙げられる。印刷ヘッド２３１は、発熱素子２３２に通電することにより発熱させ、ロール紙の印刷面に熱を与えることによって、文字や画像等を印刷する。
【００３６】
ヘッド駆動部２３３は、回路等の印刷ヘッド２３１を駆動するために必要なハードウェアを備え、第１プリンター制御部２００の制御で、印刷ヘッド２３１の発熱素子２３２に対する通電を制御する。
【００３７】
搬送モーター２３４は、第１プリンター制御部２００の制御で、搬送ローラーを回転させ、ロール紙を搬送方向に搬送する。
【００３８】
カッター駆動モーター２３５は、第１プリンター制御部２００の制御で、カッター２３６を構成する可動刃を固定刃に向けてスライドするように駆動させ、ロール紙をカットする。
【００３９】
デバイス通信部２４は、ＵＳＢの規格に従ったポートや、ＵＳＢ以外のシリアル通信規格に従ったポート、パラレル通信規格に従ったポート、イーサネット等の有線ＬＡＮに係る通信規格に従ったポート、その他ポートを有する回路で構成されたインターフェースボードを備える。各ポートには、デバイス４０が接続可能である。なお、デバイス４０は、周辺機器に相当する。本実施形態において、デバイス４０とは、後述するカスタマーディスプレー４１、バーコードリーダー４２、カードリーダー４３、及び、自動釣銭機４４を区別しない場合の呼び名である。
デバイス通信部２４は、第２プリンター制御部２０１の制御で、ポートを介してプリンター２に接続されたデバイス４０と通信する。
【００４０】
プリンター２には、外部接続するデバイス４０として、カスタマーディスプレー４１、バーコードリーダー４２、カードリーダー４３、及び自動釣銭機４４が接続される。なお、これらデバイス４０は、周辺機器に相当する。また、これらデバイス４０は、それぞれ種類が異なる。
【００４１】
カスタマーディスプレー４１は、第２プリンター制御部２０１の制御で、会計に関する情報を表示する。カスタマーディスプレー４１に表示された情報は、例えばレジカウンターで会計を行う顧客が視認できる。
【００４２】
バーコードリーダー４２は、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示す読取情報をデバイス通信部２４に出力する。デバイス通信部２４は、バーコードリーダー４２から入力された読取情報を、第２プリンター制御部２０１に出力する。
【００４３】
カードリーダー４３は、クレジットカードや会員カード等の磁気カード型記録媒体に記録された情報を磁気的に読み取り、読取結果を示す読取情報をデバイス通信部２４に出力する。デバイス通信部２４は、カードリーダー４３がから入力された読取情報を、第２プリンター制御部２０１に出力する。
【００４４】
自動釣銭機４４は、顧客から受け取った貨幣を投入する貨幣受取口と、釣銭に係る貨幣を排出する釣銭排出口を少なくとも備え、第２プリンター制御部２０１の制御で、貨幣受取口を介して貨幣が投入された場合、対応する釣銭を釣銭排出口から排出する。
【００４５】
プリンターネットワーク通信部２５は、プリンター制御部２０の制御で、グローバルネットワークと接続するＷｅｂサーバー等の機器と所定の通信規格に従って通信する。プリンターネットワーク通信部２５が通信に使用する通信規格は、ＨＴＴＰや、ＷｅｂＳｏｃｋｅｔ等が例として挙げられる。
【００４６】
図２は、プリンター制御部２０が備える第１プリンター制御部２００及び第２プリンター制御部２０１の機能的構成を示す図である。図２では、説明便宜のため、プリンター通信部２２、印刷部２３、デバイス通信部２４、及び共有バッファー２１０を図示する。
【００４７】
図２に示すように、第１プリンター制御部２００は、第１オペレーティングシステム３００、コマンド解析部３１０、印刷制御部３２０、第１コマンド実行部３３０、第２コマンド実行部３４０、及び通信制御部３５０の機能を有する。第１オペレーティングシステム３００の機能は、第１プリンターＲＯＭ２００Ｂが記憶する制御プログラムの機能であり、その他の機能部は、第１オペレーティングシステム３００上で実行されるアプリケーションプログラムの機能である。
【００４８】
第１オペレーティングシステム３００は、印刷ヘッド２３１や搬送モーター２３４等の印刷機構をリアルタイム制御する印刷部２３に対して効率的な動作を確保する観点から、例えばＴ−Ｋｅｒｎｅｌ等のリアルタイムオペレーティングシステムである。
【００４９】
コマンド解析部３１０は、プリンター通信部２２が受信したコマンドを解析する機能部である。コマンド解析部３１０は、受信したコマンドが、印刷コマンドであるか後述するデバイス制御コマンドＣＤであるか、その他のコマンドであるかを特定する。コマンドの特定は、例えば命令コードの特定により行われる。なお、デバイス制御コマンドＣＤは、機器制御コマンドに相当する。コマンド解析部３１０は、プリンター通信部２２が受信したコマンドが印刷コマンドである場合、印刷コマンドを印刷制御部３２０に出力する。また、コマンド解析部３１０は、プリンター通信部２２が受信したコマンドがデバイス制御コマンドＣＤである場合、第１コマンド実行部３３０にデバイス制御コマンドＣＤを出力する。また、コマンド解析部３１０は、プリンター通信部２２が受信したコマンドが、印刷コマンド、及びデバイス制御コマンドＣＤ以外のコマンドである場合、第２コマンド実行部３４０に出力する。
【００５０】
ここで、デバイス制御コマンドＣＤについて説明する。
図３は、デバイス制御コマンドＣＤの構成を示す図である。
【００５１】
デバイス制御コマンドＣＤは、プリンター２に接続可能なデバイス４０に関する処理の実行を指示するコマンドである。デバイス制御コマンドＣＤは、命令コードＭＣと、機能コード部ＫＣＢと、パラメーター部ＰＲＢとを少なくとも含んで構成される。
命令コードＭＣは、デバイス制御コマンドＣＤの専用の命令コードである。したがって、デバイス制御コマンドＣＤは、機能コード部ＫＣＢ、及びパラメーター部ＰＲＢが異なる場合でも命令レコードＭＣが異ならないため全て同種のコマンドである。
【００５２】
機能コード部ＫＣＢは、デバイス制御コマンドＣＤの機能を指定する機能コードが設定される。本実施形態において機能コード部ＫＣＢには、第１機能、第２機能、第３機能、及び、第４機能のいずれかを指定する機能コードが設定される。
【００５３】
第１機能は、ステータス情報ＳＪの自動通知を有効又は無効にする機能である。ステータス情報ＳＪについては、後述する。以下では、第１機能を示す機能コードを、「第１機能コード」という。
第２機能は、共有バッファー２１０にバッファークリアする機能である。なお、バッファークリアとは、共有バッファー２１０に格納された情報を消去することである。以下では、第２機能を示す機能コードを、「第２機能コード」という。
第３機能は、デバイス４０がプリンター２に入力した入力情報ＮＪを取得する機能である。以下では、第３機能を示す機能コードを、「第３機能コード」という。
第４機能は、ステータス情報ＳＪ（バッファー情報ＢＪ、接続状態情報ＳＪＪ、及びバッファー状態情報ＢＪＪの少なくともいずれか）を取得する機能である。以下では、第４機能を示す機能コードを、「第４機能コード」という。バッファー情報ＢＪ、接続状態情報ＳＪＪ、及びバッファー状態情報ＢＪＪについては、後述する。
【００５４】
パラメーター部ＰＲＢは、第１機能、第２機能、第３機能、及び第４機能によって異なるパラメーターが設定されるが、各機能共通してデバイス指定パラメーターＰＲ１が設定される。デバイス指定パラメーターＰＲ１は、機能コードＫＣＢに設定された機能コードが示す機能の実行対象のデバイス４０を指定するパラメーターである。なお、デバイス指定パラメーターＰＲ１は、指定情報に相当する。
【００５５】
機能コード部ＫＣＢに第１機能コードが設定された場合、パラメーター部ＰＲＢには、デバイス指定パラメーターＰＲ１と、有効無効指定パラメーターＰＲ２とが設定される。有効無効指定パラメーターＰＲ２は、ステータス情報ＳＪの自動通知について有効又は無効を指定するパラメーターである。
また、機能コード部ＫＣＢに第２機能コードが設定された場合、パラメーター部ＰＲＢには、デバイス指定パラメーターＰＲ１が設定される。
また、機能コード部ＫＣＢに第３機能コードが設定された場合、パラメーター部ＰＲＢには、デバイス指定パラメーターＰＲ１と、送信形式指定パラメーターＰＲ３とが設定される。送信形式指定パラメーターＰＲ３は、入力情報ＮＪをバイナリーデータで送信するか、１６進数文字列のデータで送信するかを指定するパラメーターである。
また、機能コード部ＫＣＢに第４機能コードが設定された場合、パラメーター部ＰＲＢには、デバイス指定パラメーターＰＲ１と、情報指定パラメーターＰＲ５とが設定される。情報指定パラメーターＰＲ５は、バッファー情報ＢＪ、接続状態情報ＳＪＪ、及びバッファー状態情報ＢＪＪのいずれかを指定するパラメーターである。
【００５６】
図２を参照して、印刷制御部３２０は、プリンター通信部２２が受信した印刷コマンドに基づいて、印刷部２３を制御してロール紙に印刷する。印刷コマンドが、レシート発行に係るコマンドである場合、印刷制御部３２０は、印刷部２３によりレシートを発行する。
【００５７】
第１コマンド実行部３３０は、プリンター通信部２２が受信したデバイス制御コマンドＣＤに基づいて処理を実行する。
【００５８】
デバイス制御コマンドＣＤの機能コード部ＫＣＢに第１機能コードが設定されている場合、第１コマンド実行部３３０は、デバイス指定パラメーターＰＲ１が指定するデバイス４０に関するステータス情報ＳＪの自動通知について、有効無効に応じた処理を実行する。有効無効指定パラメーターＰＲ２に有効を示すパラメーターが設定されている場合、第１コマンド実行部３３０は、デバイス指定パラメーターＰＲ１が指定するデバイス４０に対応するバッファー領域２１０Ａにおいて、ステータス情報ＳＪが変化した否かを監視する。
【００５９】
バッファー領域２１０Ａは、共有バッファー２１０の記憶領域において、プリンター２に接続可能なデバイス４０ごとに割り当てられた記憶領域である。例えば、図１に示すようにプリンター２に４つのデバイス４０が接続可能である場合、共有バッファー２１０には、４つのバッファー領域２１０Ａが設けられる。１のバッファー領域２１０Ａには、対応するデバイス４０から入力された入力情報ＮＪと、対応するデバイス４０に関するステータス情報ＳＪとが格納可能である。入力情報ＮＪは、例えば、デバイス４０がバーコードリーダー４２である場合、読取結果を示す読取情報に相当する。ステータス情報ＳＪは、デバイス４０に係る各種状態を示す情報であり、バッファー領域２１０Ａにおける入力情報ＮＪの有無を示すバッファー情報ＢＪ、プリンター２との接続状態を示す接続状態情報ＳＪＪ、及びバッファーフルの発生有無を示すバッファー状態情報ＢＪＪを少なくとも含んでいる。
【００６０】
第１コマンド実行部３３０は、ステータス情報ＳＪが変化した場合、監視対象のバッファー領域２１０Ａから変化後のステータス情報ＳＪを取得し、通信制御部３５０に出力する。通信制御部３５０は、入力されたステータス情報ＳＪをプリンター通信部２２を介してホスト装置３に送信する。
有効無効指定パラメーターＰＲ２に無効を示すパラメーターが設定されている場合、第１コマンド実行部３３０は、デバイス指定パラメーターＰＲ１が指定するデバイス４０に対応するバッファー領域２１０Ａにおいて、ステータス情報ＳＪが変化した否かの監視を行わない。
【００６１】
デバイス制御コマンドＣＤの機能コード部ＫＣＢに第２機能コードが設定されている場合、第１コマンド実行部３３０は、デバイス指定パラメーターＰＲ１が指定するデバイス４０に対応するバッファー領域２１０Ａのうち入力情報ＮＪを格納する領域をバッファークリアする。
【００６２】
デバイス制御コマンドＣＤの機能コード部ＫＣＢに第３機能コードが設定される場合、第１コマンド実行部３３０は、デバイス指定パラメーターＰＲ１が指定するデバイス４０に対応するバッファー領域２１０Ａから、入力情報ＮＪを取得し、通信制御部３５０に出力する。通信制御部３５０は、入力された入力情報ＮＪをプリンター通信部２２を介してホスト装置３に送信する。
【００６３】
また、デバイス制御コマンドＣＤの機能コード部ＫＣＢに第４機能コードが設定されている場合、第１コマンド実行部３３０は、デバイス指定パラメーターＰＲ１が指定するデバイスに対応するバッファー領域２１０Ａから、情報指定パラメーターが指定する情報を取得する。そして、第１コマンド実行部３３０は、取得した情報を通信制御部３５０に出力する。通信制御部３５０は、第１コマンド実行部３３０から入力された情報をプリンター通信部２２を介してホスト装置３に送信する。
【００６４】
第２コマンド実行部３４０は、プリンター通信部２２が受信したコマンドのうち、印刷コマンド、及びデバイス制御コマンドＣＤ以外のコマンドに基づいて処理を実行する。
【００６５】
次に、第２プリンター制御部２０１について説明する。第２プリンター制御部２０１は、第２オペレーティングシステム４００、及びデバイス制御部４１０の機能を有する。第２オペレーティングシステム４００の機能は、第２プリンターＲＯＭ２０１Ｂが記憶する制御プログラムの機能であり、他の機能部は、第２オペレーティングシステム４００上で実行されるアプリケーションプログラムの機能である。
【００６６】
第２オペレーティングシステム４００は、リアルアイム制御を必要としない通信制御その他の種々の処理を汎用的に行う観点から、例えばＬｉｎｕｘであり、第１オペレーティングシステム３００と異なるオペレーティングシステムである。Ｌｉｎｕｘは、登録商標である。
【００６７】
このように、第１プリンター制御部２００と第２プリンター制御部２０１とは、プリンター２が有する種々の異なる機能を分担しており、分担に適した異なるオペレーティングシステム上でアプリケーションプログラムを動作させるよう構成される。これにより、第１プリンター制御部２００と第２プリンター制御部２０１とは、並列に且つ適切に分担した処理を実行でき、プリンター２全体として処理能力を向上できる。
【００６８】
デバイス制御部４１０は、接続監視部４１１と、ハンドラー部４１２と、格納制御部４１３との機能を有する。
【００６９】
接続監視部４１１は、プリンター２にデバイス４０が接続されたか否かを監視する。接続監視部４１１は、デバイス通信部２４が備える複数のポートのそれぞれを監視することにより、プリンター２にデバイス４０が接続されたか否かを監視する。接続監視部４１１は、プリンター２にデバイス４０が接続していると判別した場合、接続しているデバイス４０の種類を検出し、検出したデバイス４０の種類を示す種類情報を付加して、デバイス４０が接続していることを示す情報を格納制御部４１３に出力する。
例えば、監視するポートがＵＳＢポートである場合、接続監視部４１１は、ＵＳＢポートを介してデバイス４０からベンダーＩＤとプロダクトＩＤと検出できたか否かを判別する。接続監視部４１１は、ベンダーＩＤとプロダクトＩＤとを検出できた場合、監視するＵＳＢポートにデバイス４０が接続していることを示す情報を格納制御部４１３に出力する。この出力を行う際、接続監視部４１１は、検出したベンダーＩＤとプロダクトＩＤとの組み合わせに対応するデバイス４０の種類情報を付加する。
なお、接続監視部４１１の接続監視方法は、上述した方法に限定されず、通信規格に従った既存の方法を採用できる。また、デバイス４０の種類を検出方法も、上述した方法に限定されず、通信規格に対応した種々の方法を採用できる。
【００７０】
ハンドラー部４１２は、デバイス通信部２４が備えるポートと、格納制御部４１３が備える不図示の仮想ポートとの間で、情報の送受信を仲介する機能ブロックである。格納制御部４１３が備える仮想ポートとは、格納制御部４１３が情報を送受信するインターフェースとして開設されたソフトウェア的なポートである。本実施形態においてハンドラー部４１２は、デバイス４０からデバイス通信部２４のポートから入力された入力情報ＮＪを、格納制御部４１３に出力する。なお、出力に際して、ハンドラー部４１２は、ＰＣＳ（Ｐｏｒｔ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ）の機能により、仮想ポートに係るインターフェースの規格に対応したデータ変換を行うことが可能である。
【００７１】
格納制御部４１３は、共有バッファー２１０に設けられたバッファー領域２１０Ａのそれぞれに対して、種々の情報を格納する。
【００７２】
格納制御部４１３は、ハンドラー部４１２から入力情報ＮＪが入力された場合、入力情報ＮＪを出力したデバイス４０に対応するバッファー領域２１０Ａに入力情報ＮＪを格納する。なお、格納制御部４１３は、仮想ポートのポート番号や、入力情報ＮＪにデバイス４０を識別する識別情報が付加されている場合、ポート番号やこの識別情報等によって、入力情報ＮＪを出力したデバイス４０を特定する。また、格納制御部４１３は、バッファー領域２１０Ａに入力情報ＮＪを格納すると、バッファー領域２１０Ａに入力情報ＮＪが有ることを示すバッファー情報ＢＪを、バッファー領域２１０Ａに格納する。一方で、格納制御部４１３は、入力情報ＮＪを格納していないバッファー領域２１０Ａには、このバッファー領域２１０Ａに入力情報ＮＪが無いことを示すバッファー情報ＢＪを格納する。
【００７３】
また、格納制御部４１３は、接続監視部４１１からデバイス４０が接続していることを示す情報が入力された場合、この情報に付加された種類情報に対応するデバイス４０のバッファー領域２１０Ａに、接続していることを示す接続状態情報ＳＪＪを格納する。格納制御部４１３は、接続監視部４１１から接続していることを示す情報が入力されていないデバイス４０に対応するバッファー領域２１０Ａには、未接続であることを示す接続状態情報ＳＪＪを格納する。
【００７４】
また、格納制御部４１３は、共有バッファー２１０に設けられるバッファー領域２１０Ａのそれぞれについて、バッファーフルの状態か否かを判別する。例えば、格納制御部４１３は、バッファー領域２１０Ａの記憶領域に対して情報を格納している記憶領域の割合が所定の割合を上回っているか否かにより判別する。格納制御部４１３は、バッファーフルの状態であると判別した場合、判別対象のバッファー領域２１０Ａに、バッファーフルの発生していることを示すバッファー状態情報ＢＪＪを格納する。一方で、格納制御部４１３は、バッファーフルの状態でないと判別した場合、判別対象のバッファー領域２１０Ａに、バッファーフルが発生していないことを示すバッファー状態情報ＢＪＪを格納する。
【００７５】
次に、プリンター２の動作について説明する。
図４は、印刷システム１の動作を示すシーケンス図である。図４を用いた説明では、プリンター２にバーコードリーダー４２のみが接続しているものとする。したがって、図４では、ホスト装置３、第１プリンター制御部２００、第２プリンター制御部２０１、及びバーコードリーダー４２の動作を示す。
【００７６】
図４において動作の開始時点では、プリンター制御部２０の動作モードが通常モードであるとする。通常モードとは、第１プリンター制御部２００が印刷部２３を制御可能な動作モードである。なお、通常モードは、第１モードに相当する。また、図４における動作の開始時点では、バーコードリーダー４２に対応するバッファー領域２１０Ａに、入力情報ＮＪが格納されているものとする。
【００７７】
図４を用いた説明では、バーコードリーダー４２での読み取りが一回行われるものとする。
【００７８】
ホスト装置３のホスト制御部３０は、プリンター制御部２０の動作モードを通常モードから情報取得モードに切り替えさせるために、モード切替コマンドをホスト通信部３３によりプリンター２に送信する（ステップＳＡ１）。情報取得モードとは、第１プリンター制御部２００が印刷部２３を動作させず処理を行う動作モードであって、共有バッファー２１０から情報を取得するため専用の動作モードである。なお、情報取得モードは、第２モードに相当する。
【００７９】
第１プリンター制御部２００の第２コマンド実行部３４０は、プリンター通信部２２がモード切替コマンドを受信すると、モード切替コマンドを実行して第１プリンター制御部２００の動作モードを通常モードから情報取得モードに切り替える（ステップＳＡ２）。モード切替コマンドは、リアルタイムコマンドである。そのため、第２コマンド実行部３４０は、モード切替コマンドを受信すると、モード切替コマンドの受信前に受信した未処理のコマンドに基づく処理より優先して、動作モードを切り替える。
【００８０】
第１プリンター制御部２００は、動作モードを情報取得モードに切り替えると、受信したモード切替コマンドに対するレスポンスとして、動作モードを情報取得モードに切り替えたことを示す情報をプリンター通信部２２によってホスト装置３に送信する（ステップＳＡ３）。
【００８１】
ホスト装置３のホスト制御部３０は、第１プリンター制御部２００の動作モードが情報取得モードに切り替わったことを示す情報を受信すると、第４機能コードが機能コード部ＫＣＢに設定されたデバイス制御コマンドＣＤをホスト通信部３３により送信する（ステップＳＡ４）。ここで送信されるデバイス制御コマンドＣＤには、接続状態情報ＳＪＪを示すパラメーターが設定された情報指定パラメーターＰＲ４がパラメーター部ＰＲＢに含まれる。
【００８２】
ステップＳＡ４では、ホスト制御部３０は、情報指定パラメーターＰＲ４に接続状態情報ＳＪＪを指定するパラメーターを設定したデバイス制御コマンドＣＤを、プリンター２に接続可能なデバイス４０の数だけ、プリンター２に送信する。例えば、プリンター２に接続可能なデバイス４０が、図１に示す４つの種類が異なるデバイス４０であるとする。この場合、ホスト制御部３０は、デバイス指定パラメーターＰＲ１にカスタマーディスプレー４１を指定するパラメーターを設定したデバイス制御コマンドＣＤを送信する。また、この場合、ホスト制御部３０は、デバイス指定パラメーターＰＲ１にバーコードリーダー４２を指定するパラメーターを設定したデバイス制御コマンドＣＤを送信する。また、この場合、ホスト制御部３０は、デバイス指定パラメーターＰＲ１にカードリーダー４３を指定するパラメーターを設定したデバイス制御コマンドＣＤを送信する。また、この場合、ホスト制御部３０は、デバイス指定パラメーターＰＲ１に自動釣銭機４４を指定するパラメーターを設定したデバイス制御コマンドＣＤを送信する。
【００８３】
第１プリンター制御部２００の第１コマンド実行部３３０は、プリンター通信部２２により受信したデバイス制御コマンドＣＤに基づいて、共有バッファー２１０から接続状態情報ＳＪＪを取得する（ステップＳＡ５）。
【００８４】
図４を参照した説明では、プリンター２に接続しているデバイス４０をバーコードリーダー４２のみとしている。そのため、共有バッファー２１０では、バーコードリーダー４２に対応するバッファー領域２１０Ａに、バーコードリーダー４２が接続していることを示す接続状態情報ＳＪＪが格納されている。一方で、共有バッファー２１０では、バーコードリーダー４２以外のデバイス４０の対応するバッファー領域２１０Ａには、デバイス４０が接続していないことを示す接続状態情報ＳＪＪが格納されている。ステップＳＡ５において第１プリンター制御部２００の第１コマンド実行部３３０は、デバイス指定パラメーターＰＲ１にバーコードリーダー４２を指定するパラメーターが設定されたデバイス制御コマンドＣＤに対しては、接続していることを示す接続状態情報ＳＪＪを取得する。一方で、第１コマンド実行部３３０は、デバイス指定パラメーターＰＲ１にバーコードリーダー４２以外のデバイス４０を指定するパラメーターが設定されたデバイス制御コマンドＣＤに対しては、接続していないことを示す接続状態情報ＳＪＪを取得する。
【００８５】
第１コマンド実行部３３０が接続状態情報ＳＪＪを取得すると、第１プリンター制御部２００の通信制御部３５０は、取得した接続状態情報ＳＪＪをプリンター通信部２２によりホスト装置３に送信する（ステップＳＡ６）。ここで、通信制御部３５０は、接続状態情報ＳＪＪのそれぞれに、対応するデバイス４０の識別情報を付加することが好ましい。これにより、受信したホスト装置３は、どの接続状態情報ＳＪＪがどのデバイス４０に対応しているかを一意に特定できる。なお、ここでいう識別情報は、例えばデバイス指定パラメーターＰＲ１に設定するパラメーターが例として挙げられる。
【００８６】
ホスト装置３のホスト制御部３０は、第１機能コードが機能コード部ＫＣＢに設定され、且つ、有効無効指定パラメーターＰＲ２に有効を示すパラメーターが設定されたデバイス制御コマンドＣＤをプリンター２に送信する（ステップＳＡ７）。
【００８７】
ステップＳＡ７において、ホスト制御部３０は、デバイス指定パラメーターＰＲ１にバーコードリーダー４２を指定するパラメーターを設定したデバイス制御コマンドＣＤをホスト通信部３３によりプリンター２に送信する。すなわち、ホスト制御部３０は、プリンター２と接続しているデバイス４０を指定するパラメーターがデバイス指定パラメーターＰＲ１に設定されたデバイス制御コマンドＣＤをステップＳＡ７で送信する。ホスト制御部３０は、プリンター２に接続しているか否かを、ステップＳＡ６において受信した接続状態情報ＳＪＪに基づいて判別する。
【００８８】
なお、ホスト制御部３０は、ステップＳＡ４でのデバイス制御コマンドＣＤの送信態様のように、接続の有無に係らずプリンター２に接続可能なデバイス４０の数だけ、デバイス制御コマンドＣＤをプリンター２に送信してもよい。
【００８９】
次いで、第１プリンター制御部２００の第１コマンド実行部３３０は、デバイス制御コマンドＣＤに基づいて、バーコードリーダー４２に対応するバッファー領域２１０Ａにおいて、ステータス情報ＳＪが変化したか否かの監視を開始する（ステップＳＡ８）。なお、第１プリンター制御部２００は、ステップＳＡ８において、バーコードリーダー４２に対応するバッファー領域２１０Ａに対する監視を実行しない。このように、第１プリンター制御部２００の第１コマンド実行部３３０は、プリンター２に接続しているデバイス４０に対応するバッファー領域２１０Ａについてのみ監視を実行することで以下の効果を奏する。
【００９０】
プリンター２に接続しているデバイス４０に対応するバッファー領域２１０Ａでは、入力情報ＮＪの格納等によりステータス情報ＳＪが変化する蓋然性が高い。一方で、プリンター２に接続していないデバイス４０に対応するバッファー領域２１０Ａは、ステータス情報ＳＪが変化する蓋然性が低い。そこで、第１コマンド実行部３３０は、ステータス情報ＳＪが変化する蓋然性の高いバッファー領域２１０Ａについてのみ監視を行うことで、効率よく共有バッファー２１０の監視を実行でき、監視に係る処理負荷を低減できる。
【００９１】
第１プリンター制御部２００の第１コマンド実行部３３０は、バッファー領域２１０Ａの監視を開始すると、ステップＳＡ７でホスト装置３から送信されたデバイス制御コマンドＣＤに対するレスポンスとして、監視を開始したことを示す情報をプリンター通信部２２によりホスト装置３に送信する（ステップＳＡ９）。
【００９２】
ホスト装置３のホスト制御部３０は、第２機能コードが機能コード部ＫＣＢに設定されたデバイス制御コマンドＣＤをプリンター２に送信する（ステップＳＡ１０）。
【００９３】
ステップＳＡ１０において、ホスト制御部３０は、デバイス指定パラメーターＰＲ１にバーコードリーダー４２を指定するパラメーターを設定したデバイス制御コマンドＣＤをホスト通信部３３によりプリンター２に送信する。すなわち、ホスト制御部３０は、プリンター２と接続しているデバイス４０を指定するパラメーターがデバイス指定パラメーターＰＲ１に設定されたデバイス制御コマンドＣＤをステップＳＡ７で送信する。
【００９４】
次いで、第１プリンター制御部２００の第１コマンド実行部３３０は、バーコードリーダー４２に対応するバッファー領域２１０Ａの入力情報ＮＪを格納する領域に対してバッファークリアを実行する（ステップＳＡ１１）。情報取得モードへの切り替え前に格納された入力情報ＮＪは、今回の情報取得モードで取得される対象にならない可能性が高い。そのため、取得対象でない入力情報ＮＪがホスト装置３で取得されないように、第１コマンド実行部３３０は、バッファークリアを実行する。
【００９５】
第１コマンド実行部３３０は、バッファークリアを実行したバッファー領域２１０Ａの監視を行う（ステップＳＡ１２）。バッファークリアが行われたため、バーコードリーダー４２に対応するバッファー領域２１０Ａからは、入力情報ＮＪが消去されている。これにより、バーコードリーダー４２に対応するバッファー領域２１０Ａには、入力情報ＮＪが無いことを示すバッファー情報ＢＪが格納され、ステータス情報ＳＪが変化する。すると、第１コマンド実行部３３０は、変化後のステータス情報ＳＪを、バーコードリーダー４２に対応するバッファー領域２１０Ａから取得する。取得したステータス情報ＳＪは、入力情報ＮＪが無いことを示すバッファー情報ＢＪを含む。第１コマンド実行部３３０は、取得したステータス情報ＳＪを通信制御部３５０に出力する。通信制御部３５０は、プリンター通信部２２によりステータス情報ＳＪをホスト装置３に送信する（ステップＳＡ１３）。これにより、ホスト装置３は、バーコードリーダー４２に対応するバッファー領域２１０Ａに、入力情報ＮＪが無いと判別できる。
【００９６】
ユーザーにより、バーコードリーダー４２により読み取りが行われると（ステップＳＡ１４）、バーコードリーダー４２は、プリンター２に入力情報ＮＪである読取情報をプリンター２に送信する（ステップＳＡ１５）。
【００９７】
第２プリンター制御部２０１の格納制御部４１３は、バーコードリーダー４２から入力された入力情報ＮＪを、バーコードリーダー４２に対応するバッファー領域２１０Ａに格納する（ステップＳＡ１６）。
【００９８】
第１コマンド実行部３３０は、バッファークリアを実行したバッファー領域２１０Ａの監視を行う（ステップＳＡ１７）。第２プリンター制御部２０１の格納制御部４１３が、バーコードリーダー４２に対応するバッファー領域２１０Ａに入力情報ＮＪを格納したため、このバッファー領域２１０Ａには、入力情報ＮＪが有ることを示すバッファー情報ＢＪが格納される。これにより、バーコードリーダー４２に対応するバッファー領域２１０Ａでは、ステータス情報ＳＪが変化する。すると、第１コマンド実行部３３０は、変化後のステータス情報ＳＪを、バーコードリーダー４２に対応するバッファー領域２１０Ａから取得する。取得したステータス情報ＳＪは、入力情報ＮＪが有ることを示すバッファー情報ＢＪを含む。第１コマンド実行部３３０は、取得したステータス情報ＳＪを通信制御部３５０に出力する。通信制御部３５０は、プリンター通信部２２によりステータス情報ＳＪをホスト装置３に送信する（ステップＳＡ１８）。これにより、ホスト装置３は、バーコードリーダー４２に対応するバッファー領域２１０Ａに、入力情報ＮＪが有ると判別できる。
【００９９】
ステップＳＡ１８では、プリンター２からホスト装置３に送信する情報は、ステータス情報ＳＪであって、入力情報ＮＪでない。一般に、ホスト通信部３３とプリンター通信部２２との通信経路は、通信規格が、Ｗｉ−ＦｉやＢｌｕｅｔｏｏｔｈ等の無線通信に係る規格であると、常時確立しているとは限らない。そのため、バーコードリーダー４２に対応するバッファー領域２１０Ａに入力情報ＮＪが格納されてステータス情報ＳＪが変化した場合に、入力情報ＮＪをホスト装置３に送信する構成であると、ホスト装置３は、入力情報ＮＪを受信できない場合がある。そこで、上述したように、プリンター制御部２０は、ステータス情報ＳＪが変化した場合、入力情報ＮＪを送信せず変化したステータス情報ＳＪを送信することで、まず、ホスト装置３に入力情報ＮＪが格納されたことを通知する。これにより、プリンター制御部２０は、ホスト装置３が入力情報ＮＪを確実に取得できるようにすることができる。
【０１００】
ホスト装置３のホスト制御部３０は、第３機能コードが機能コード部ＫＣＢに設定されたデバイス制御コマンドＣＤをプリンター２に送信する（ステップＳＡ１９）。
【０１０１】
ステップＳＡ１９において、ホスト制御部３０は、デバイス指定パラメーターＰＲ１にバーコードリーダー４２を指定するパラメーターを設定したデバイス制御コマンドＣＤをホスト通信部３３によりプリンター２に送信する。すなわち、ホスト制御部３０は、プリンター２と接続しているデバイスを指定するパラメーターがデバイス指定パラメーターＰＲ１に設定されたデバイス制御コマンドＣＤをステップＳＡ１９で送信する。
【０１０２】
次いで、第１プリンター制御部２００の第１コマンド実行部３３０は、デバイス制御コマンドＣＤに基づいて、バーコードリーダー４２に対応するバッファー領域２１０Ａから入力情報ＮＪを取得する（ステップＳＡ２０）。第１コマンド実行部３３０は、取得した入力情報ＮＪを通信制御部３５０に出力する。通信制御部３５０は、プリンター通信部２２により入力情報ＮＪをホスト装置３に送信する（ステップＳＡ２１）。
【０１０３】
これにより、ホスト装置３は、バーコードリーダー４２の読取結果を取得でき、例えば読取結果に基づく印刷コマンドを生成できる。より詳細には、ホスト装置３は、図示しないＰＯＳサーバーと通信して、読取結果に基づく会計情報を取得でき、取得した会計情報を印刷したレシートの発行に係る印刷コマンドを生成できる。
【０１０４】
ホスト装置３のホスト制御部３０は、第１機能コードが機能コード部ＫＣＢに設定され、且つ、有効無効指定パラメーターＲ２に無効を示すパラメーターが設定されたデバイス制御コマンドＣＤをプリンター２に送信する（ステップＳＡ２２）。
【０１０５】
ステップＳＡ２２において、ホスト制御部３０は、デバイス指定パラメーターＰＲ１にバーコードリーダー４２を指定するパラメーターを設定したデバイス制御コマンドＣＤをホスト通信部３３によってプリンター２に送信する。すなわち、ホスト制御部３０は、プリンター２と接続しているデバイス４０を指定するパラメーターがデバイス指定パラメーターＰＲ１に設定されたデバイス制御コマンドＣＤをステップＳＡ２２で送信する。
【０１０６】
次いで、第１プリンター制御部２００の第１コマンド実行部３３０は、バーコードリーダー４２に対応するバッファー領域２１０Ａにおいて、ステータス情報ＳＪが変化したか否かの監視を終了する（ステップＳＡ２３）。なお、第１プリンター制御部２００の第１コマンド実行部３３０は、バッファー領域２１０Ａの監視を終了すると、ステップＳＡ２３でホスト装置３から送信されたデバイス制御コマンドＣＤに対するレスポンスとして、監視を終了したことを示す情報をプリンター通信部２２によりホスト装置３に送信してもよい。
【０１０７】
ホスト装置３のホスト制御部３０は、プリンター制御部２０の動作モードを情報取得モードから通常モードに切り替えさせるために、モード切替コマンドをホスト通信部３３によりプリンター２に送信する（ステップＳＡ２４）。
【０１０８】
第１プリンター制御部２００の第２コマンド実行部３４０は、プリンター通信部２２がモード切替コマンドを受信すると、モード切替コマンドを実行して第１プリンター制御部２００の動作モードを情報取得モードから通常モードに切り替える（ステップＳＡ２５）。
【０１０９】
第１プリンター制御部２００は、動作モードを通常モードに切り替えると、受信したモード切替コマンドに対するレスポンスとして、動作モードを通常モードに切り替えたことを示す情報をプリンター通信部２２によってホスト装置３に送信する（ステップＳＡ２６）。
【０１１０】
これにより、プリンター２は、ホスト装置３から受信する印刷コマンドに基づいて印刷が実行できるようになるため、情報取得モードにおいて取得した読取結果に基づく印刷を実行できる。例えば、プリンター２は、バーコードリーダー４２の読取結果に基づくレシートを発行できる。
【０１１１】
なお、図４においてステップＳＡ２２、ＳＡ２３の処理は、ステータス情報ＳＪの自動通知の無効を説明するための便宜的に図示している。ステップＳＡ２２、ＳＡ２３の処理は、情報取得モードから通常モードに切り替える際に必須の処理ではない。自動通知を無効にしなくても、第１プリンター制御部２００は、動作モードを情報取得モードから通常モードに切り替えてもよい。この場合、第１プリンター制御部２００は、通常モードにおいて入力情報ＮＪが格納されてステータス情報ＳＪが変化した場合、変化したステータス情報ＳＪをホスト装置３に送信する。なお、入力情報ＮＪを取得する場合、ホスト装置３は、第１プリンター制御部２００の動作モードを情報取得モードにして、第３機能コードを機能コード部ＫＣＢに設定したデバイス制御コマンドＣＤを送信する。
【０１１２】
以上のように、プリンター制御部２０は、第１プリンター制御部２００により、所定のデバイス４０を指定するデバイス指定パラメーターＰＲ１を含むデバイス制御コマンドＣＤを受信した場合、バッファー情報ＢＪを含むステータス情報ＳＪ、または、入力情報ＮＪを共有バッファー２１０から取得する。これにより、プリンター制御部２０は、デバイス制御コマンドＣＤで指定されたデバイス４０に関して、入力情報ＮＪの有無に応じた処理が実行できる。入力情報ＮＪの有無に応じた処理とは、例えば、入力情報ＮＪが有ることを示すバッファー情報ＢＪを送信することや、入力情報ＮＪが無いことを示すバッファー情報ＢＪを送信すること、入力情報ＮＪが有る場合に入力情報ＮＪを送信すること等である。したがって、プリンター制御部２０は、デバイス４０からの入力情報ＮＪの有無に応じた処理を、１種のコマンドで複数のデバイス４０のそれぞれに関して実行できる。
【０１１３】
また、プリンター制御部２０は、デバイス指定パラメーターＰＲ１が指定するデバイス４０に対応するバッファー領域２１０Ａに入力情報ＮＪが有る場合、入力情報ＮＪが有ることを示すバッファー情報ＢＪ、または、入力情報ＮＪをホスト装置３に送信する。これにより、ホスト装置３は、入力情報ＮＪが有ることに基づく処理を実行できる。入力情報ＮＪが有ることに基づく処理とは、第３機能コードが機能コード部ＫＣＢに設定されたデバイス制御コマンドＣＤを送信することによって、入力情報ＮＪを取得する処理である。また、ホスト装置３は、印刷コマンドの生成等の入力情報ＮＪに基づく処理を実行できる。
【０１１４】
また、プリンター制御部２０は、デバイス指定パラメーターＰＲ１が指定するデバイス４０に対応するバッファー領域２１０Ａに入力情報ＮＪが無い場合、入力情報ＮＪが無いことを示す情報をホスト装置３に送信する。これにより、ホスト装置３は、指定したデバイス４０から入力情報ＮＪの入力が無いと判別できる。したがって、ホスト装置３は、不必要にデバイス制御コマンドＣＤを送信しなくても入力情報ＮＪを取得できるため、入力情報ＮＪの取得における処理効率が向上する。
【０１１５】
また、プリンター制御部２０は、動作モードが情報取得モードである場合に、デバイス制御コマンドＣＤに基づいて処理を実行する。前述した通り、通常モードは、印刷部２３を制御する動作モードであって、情報取得モードは、印刷部２３を動作させずに処理を行う動作モードである。したがって、動作モードが通常モードのみであると、印刷部２３にエラーが生じている等の印刷部２３の制御を実行できない場合、プリンター制御部２０は、動作モードを切り替えることができず、デバイス制御コマンドＣＤに基づく処理を実行できない虞がある。つまり、ホスト装置３は、プリンター２から入力情報ＮＪを取得できない虞がある。そこで、プリンター制御部２０は、動作モードを情報取得モードに切り替え可能に構成され、情報取得モードにおいて入力情報ＮＪをホスト装置３に送信する。これにより、印刷部２３を制御できない場合でも、プリンター制御部２０は、ホスト装置３に入力情報ＮＪを送信でき、ホスト装置３は、入力情報ＮＪを取得できる。
【０１１６】
また、プリンター制御部２０は、プリンター通信部２２が印刷コマンドを受信すると、印刷部２３を制御し、プリンター通信部２２がデバイス制御コマンドＣＤを受信すると、デバイス制御コマンドＣＤに基づいて処理を実行する。つまり、印刷コマンドとデバイス制御コマンドＣＤとが送信される通信経路は、同じ通信経路である。一般に、デバイス４０を制御するためのコマンドが送信される通信経路は、グローバルネットワークと接続するＷｅｄサーバー等の機器と通信する通信経路である。そのため、印刷システム１を構築する環境がグローバルネットワークと接続するＷｅｄサーバー等の機器と通信する通信経路を確立できない環境であると、ホスト装置３には、プリンター２からデバイス４０の入力情報ＮＪ、及びステータス情報ＳＪを取得できない事態が発生し得る。しかしながら、デバイス制御コマンドＣＤが送信される通信経路は、印刷コマンドを送信する通信経路と同じである。そのため、グローバルネットワークと接続するＷｅｄサーバー等の機器との通信経路が確立できない環境下でも、ホスト装置３は、入力情報ＮＪ、または、ステータス情報ＳＪを取得できる。
【０１１７】
また、プリンター制御部２０は、デバイス制御コマンドＣＤを受信した場合、デバイス指定パラメーターＰＲ１に指定されたデバイス４０に対応するバッファー領域２１０Ａを監視することで、入力情報ＮＪの有無を監視する。そして、プリンター制御部２０は、バッファー領域２１０Ａに入力情報ＮＪが格納された場合、入力情報ＮＪが有ることを示すバッファー情報ＢＪをホスト装置３に送信する。このように、バッファー領域２１０Ａを監視することで、プリンター制御部２０は、デバイス指定パラメーターＰＲ１で指定されたデバイス４０からの入力情報ＮＪの有無を容易に監視できる。また、プリンター制御部２０は、入力情報ＮＪが格納された場合、共有バッファー２１０を監視しているため、入力情報ＮＪが有ること示すバッファー情報ＢＪを速やかに送信できる。
【０１１８】
図４では、ステータス情報ＳＪの自動通知を有効にした後に、デバイス制御コマンドＣＤを送信することで、ホスト装置３が入力情報ＮＪを取得する場合の印刷システム１の動作を説明した。しかしながら、ステータス情報ＳＪの自動通知の有効無効に係らず、プリンター制御部２０は、第３機能コードが機能コード部ＫＣＢに設定されたデバイス制御コマンドＣＤを受信すると、受信したデバイス制御コマンドＣＤに基づいて処理を実行する。
【０１１９】
図５は、印刷システム１の動作を示すシーケンス図である。
図５において動作の開始時点では、プリンター制御部２０の動作モードが通常モードであるとする。また、ステータス情報ＳＪの自動通知が無効になっており、第１コマンド実行部３３０は、いずれのバッファー領域２１０Ａの監視を行っていないものとする。また、図５の説明では、デバイス制御コマンドＣＤのデバイス指定パラメーターＰＲ１が指定するデバイス４０に対応するバッファー領域２１０Ａに入力情報ＮＪが格納されているものとする。
【０１２０】
ホスト装置３のホスト制御部３０は、入力情報ＮＪを取得する際、プリンター制御部２０の動作モードを通常モードから情報取得モードに切り替えさせる。そのために、ホスト制御部３０は、モード切替コマンドをホスト通信部３３によりプリンター２に送信する（ステップＳＢ１）。
【０１２１】
第１プリンター制御部２００の第１コマンド実行部３３０は、プリンター通信部２２がモード切替コマンドを受信すると、モード切替コマンドを実行して第１プリンター制御部２００の動作モードを通常モードから情報取得モードに切り替える（ステップＳＢ２）。
【０１２２】
第１プリンター制御部２００は、動作モードを情報取得モードに切り替えると、受信したモード切替コマンドに対するレスポンスとして、動作モードを情報取得モードに切り替えたことを示す情報をプリンター通信部２２により、ホスト装置３に送信する（ステップＳＢ３）。
【０１２３】
ホスト装置３のホスト制御部３０は、レスポンスを受けると、第３機能コードが機能コード部ＫＣＢに設定されたデバイス制御コマンドＣＤをプリンター２に送信する（ステップＳＢ４）。
【０１２４】
ステップＳＢ４において、ホスト制御部３０は、デバイス指定パラメーターＰＲ１にバーコードリーダー４２を指定するパラメーターを設定したデバイス制御コマンドＣＤをホスト通信部３３によりプリンター２に送信する。すなわち、ホスト制御部３０は、プリンター２と接続しているデバイス４０を指定するパラメーターがデバイス指定パラメーターＰＲ１に設定されたデバイス制御コマンドＣＤをステップＳＢ４で送信する。
【０１２５】
次いで、第１プリンター制御部２００の第１コマンド実行部３３０は、デバイス制御コマンドＣＤに基づいて、バーコードリーダー４２に対応するバッファー領域２１０Ａから入力情報ＮＪを取得する（ステップＳＢ５）。第１コマンド実行部３３０は、取得した入力情報ＮＪを通信制御部３５０に出力する。通信制御部３５０は、プリンター通信部２２により入力情報ＮＪをホスト装置３に送信する（ステップＳＢ６）。
【０１２６】
ホスト装置３のホスト制御部３０は、プリンター制御部２０の動作モードを情報取得モードから通常モードに切り替えさせるために、モード切替コマンドをホスト通信部３３によりプリンター２に送信する（ステップＳＢ７）。
【０１２７】
第１プリンター制御部２００の第１コマンド実行部３３０は、プリンター通信部２２がモード切替コマンドを受信すると、モード切替コマンドを実行して第１プリンター制御部２００の動作モードを情報取得モードから通常モードに切り替える（ステップＳＢ８）。
【０１２８】
第１プリンター制御部２００は、動作モードを通常モードに切り替えると、モード切替コマンドに対するレスポンスとして、動作モードを通常モードに切り替えたことを示す情報をプリンター通信部２２により、ホスト装置３に送信する（ステップＳＢ９）。
【０１２９】
これにより、プリンター２は、ホスト装置３から受信する印刷コマンドに基づいて印刷が実行できるため、情報取得モードにおいて取得した読取結果に基づいた印刷を実行できる。
【０１３０】
このように、自動通知の有効無効に係らず、プリンター制御部２０は、第３機能コードが機能コード部ＫＣＢに設定されたデバイス制御コマンドＣＤに基づいて処理を実行する。これにより、ステータス情報ＳＪの自動通知が無効である場合、第１機能コードが機能コード部ＫＣＢに設定されたデバイス制御コマンドＣＤを送信しなくても、ホスト装置３は、入力情報ＮＪを取得できる。したがって、ホスト装置３は、多くのコマンドを送信しなくてもよく、速やかにプリンター２から入力情報ＮＪを取得できる。
【０１３１】
なお、以上の説明では、モード切替コマンドがリアルタイムコマンドである場合を例示したが、デバイス制御コマンドＣＤもリアルタイムコマンドであってもよい。これにより、例えば、プリンター２が１又は複数の印刷コマンドを受信している場合においてデバイス制御コマンドＣＤをホスト装置３から受信すると、プリンター制御部２０は、受信している印刷コマンドに基づく処理より優先して、デバイス制御コマンドＣＤに基づく処理を実行する。これにより、プリンター制御部２０は、デバイス制御コマンドＣＤに基づく処理を速やかに実行できる。また、デバイス制御コマンドＣＤがリアルタイムコマンドである場合、モード切替コマンドを送信する態様が印刷部２３を制御できない場合のみでよく、ホスト装置３は、多くのコマンドを送信しなくても、デバイス制御コマンドＣＤに基づく処理をプリンター２に速やかに実行させることができる。なお、プリンター制御部２０は、リアルタイムコマンド以外のコマンドについては受信順にコマンドに基づく処理を実行する。
【０１３２】
なお、デバイス制御コマンドＣＤは、機能コードに拘わらずにリアルタイムコマンドでもよいし、機能コードに応じてリアルタイムコマンドでもあってもリアルタイムコマンドでなくてもよい。
【０１３３】
以上、説明したように、プリンター２は、ホスト装置３と通信可能なプリンター通信部２２と、複数のデバイス４０と通信可能なデバイス通信部２４と、プリンター通信部２２を介して取得されるコマンドに基づいて処理を実行するプリンター制御部２０と、デバイス通信部２４を介して取得される、複数のデバイス４０のそれぞれに対応した入力情報ＮＪを、格納可能な共有バッファー２１０と、を備える。プリンター制御部２０は、プリンター通信部２２が、複数のデバイス４０のうち所定のデバイス４０を指定するデバイス指定パラメーターＰＲ１を含むデバイス制御コマンドＣＤを受信した場合、デバイス指定パラメーターＰＲ１が指定する所定のデバイス４０に対応する入力情報ＮＪが共有バッファー２１０に有るか無いかを示すバッファー情報ＢＪ、または、入力情報ＮＪを、共有バッファー２１０から取得する。
【０１３４】
この構成によれば、プリンター制御部２０は、デバイス制御コマンドＣＤで指定されたデバイス４０に関して、入力情報ＮＪの有無に応じた処理が実行できる。したがって、プリンター制御部２０は、デバイス４０からの入力情報ＮＪの有無に応じた処理を、１種のコマンドで複数のデバイス４０のそれぞれに関して実行できる。
【０１３５】
プリンター制御部２０は、共有バッファー２１０にデバイス指定パラメーターＰＲ１が指定する所定のデバイス４０に対応する入力情報ＮＪが有る場合、入力情報ＮＪが有ることを示すバッファー情報ＢＪ、または、入力情報ＮＪをホスト装置３に送信する。
【０１３６】
この構成によれば、プリンター制御部２０は、１種のコマンドに基づいて、複数のデバイス４０のそれぞれに関して、入力情報ＮＪが有ることを示すバッファー情報ＢＪ、または、入力情報ＮＪをホスト装置３に送信することができる。したがって、ホスト装置３は、１種のコマンドをプリンター２に送信することで、複数のデバイス４０のそれぞれに関して、入力情報ＮＪが有ることに基づく処理を実行でき、また、印刷コマンドの生成等の入力情報ＮＪに基づく処理を実行できる。
【０１３７】
プリンター制御部２０は、共有バッファー２１０にデバイス指定パラメーターＰＲ１が指定する所定のデバイス４０に対応する入力情報ＮＪが無い場合、入力情報ＮＪが無いことを示すバッファー情報ＢＪをホスト装置３に送信する。
【０１３８】
この構成によれば、ホスト装置３は、指定したデバイス４０から入力情報ＮＪの入力が無いと判別できる。したがって、ホスト装置３は、不必要にデバイス制御コマンドＣＤを送信しなくても入力情報ＮＪを取得できるため、入力情報ＮＪの取得における処理効率が向上する。
【０１３９】
プリンター２は、ロール紙に印刷する印刷部２３を備える。プリンター制御部２０は、印刷部２３を制御する通常モードと、印刷部２３を動作させずに処理を行う情報取得モードとを切り替え可能に構成され、情報取得モードである場合、デバイス制御コマンドＣＤに基づいて処理を実行する。
【０１４０】
この構成によれば、プリンター制御部２０は、通常モードにおいて印刷部２３を制御できない場合でも動作モードを情報取得モードに切り替えることで、入力情報ＮＪをホスト装置３に送信できる。
【０１４１】
プリンター制御部２０は、プリンター通信部２２が受信したコマンドが印刷コマンドである場合、印刷部２３を制御し、プリンター通信部２２が受信したコマンドがデバイス制御コマンドＣＤである場合、デバイス制御コマンドＣＤに基づいて処理を実行する。
【０１４２】
この構成によれば、デバイス制御コマンドＣＤが送信される通信経路は、印刷コマンドが送信される通信経路と同じである。そのため、グローバルネットワークと接続するＷｅｄサーバー等の機器との通信経路が確立できない環境下でも、プリンター制御部２０は、入力情報ＮＪ、及びステータス情報ＳＪを送信でき、ホスト装置３は入力情報ＮＪ、及びステータス情報ＳＪを取得できる。
【０１４３】
プリンター制御部２０は、プリンター通信部２２が受信したコマンドを受信順に実行する一方で、プリンター通信部２２がデバイス制御コマンドＣＤを受信した場合、デバイス制御コマンドＣＤを受信する前に受信したコマンドに基づく処理より優先してデバイス制御コマンドＣＤに基づく処理を実行する。
【０１４４】
この構成によれば、プリンター制御部２０は、デバイス制御コマンドＣＤに基づく処理を速やかに実行でき、ユーザーの任意のタイミングでデバイス制御コマンドＣＤに基づく処理を実行できる。
【０１４５】
プリンター制御部２０は、印刷コマンドに基づく印刷部２３の制御を実行できない際にプリンター通信部２２がデバイス制御コマンドＣＤを受信した場合、デバイス制御コマンドＣＤに基づいて処理を実行する。
【０１４６】
この構成によれば、プリンター制御部２０は、通常モードにおいて印刷部２３を制御できない際に動作モードを情報取得モードに切り替えることで、入力情報ＮＪをホスト装置３に送信できる。
【０１４７】
プリンター制御部２０、プリンター通信部２２がデバイス制御コマンドＣＤを受信した場合、デバイス指定パラメーターＰＲ１が指定する所定のデバイス４０に対応する入力情報ＮＪの有無を監視する。プリンター制御部２０は、入力情報ＮＪが共有バッファー２１０に格納された場合、入力情報ＮＪが有ることを示すバッファー情報ＢＪをホスト装置３に送信する。
【０１４８】
この構成によれば、バッファー領域２１０Ａを監視することで、プリンター制御部２０は、デバイス指定パラメーターＰＲ１で指定されたデバイス４０からの入力情報ＮＪの有無を容易に監視できる。また、プリンター制御部２０は、入力情報ＮＪが格納された場合、共有バッファー２１０を監視しているため、入力情報ＮＪが有ること示すバッファー情報ＢＪを速やかに送信できる。
【０１４９】
プリンター２は、ホスト装置３と通信可能なプリンター通信部２２と、複数のデバイスと通信可能なデバイス通信部２４と、プリンター通信部２２を介して取得されるコマンドに基づいて処理を実行する第１プリンター制御部と、デバイス通信部２４を介してデバイスを制御する第２プリンター制御部と、第１プリンター制御部、及び第２プリンター制御部が情報を入出力可能であって、第２プリンター制御部２０１により複数のデバイス４０のそれぞれに対応する入力情報ＮＪを格納可能な共有バッファー２１０と、を備える。第１プリンター制御部２００は、プリンター通信部２２が、デバイス指定パラメーターＰＲ１を含むデバイス制御コマンドＣＤを受信した場合、指定する所定のデバイス４０に対応する入力情報ＮＪが共有バッファー２１０に有るか無いかを示すバッファー情報ＢＪ、または、入力情報ＮＪを、共有バッファー２１０から取得する。
【０１５０】
前述したように、第１プリンター制御部２００と第２プリンター制御部２０１とは、機能を分担することで、並列に且つ適切に処理を実行できるため、プリンター２全体として処理能力を向上できる。したがって、第１プリンター制御部２００は、プリンター２全体の処理能力の向上を図りつつ、デバイス４０からの入力情報ＮＪの有無に応じた処理を、１種のコマンドで複数のデバイス４０のそれぞれに関して実行できる。
【０１５１】
上述した実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
【０１５２】
例えば、上述した実施形態では、プリンター２に接続可能なデバイスとして、カスタマーディスプレー４１、バーコードリーダー４２、カードリーダー４３、及び、自動釣銭機４４を例示した。しかしながら、プリンター２に接続可能なデバイスは、これらデバイス４０に限定されず、例えばドロワー等の他のデバイスでもよい。他のデバイスが接続可能である場合、ホスト装置３は、他のデバイスに対応するパラメーターをデバイス指定パラメーターＰＲ１に設定すればよい。そのため、ユーザーは、新たなコマンドの作成やホスト装置３への登録等を行う必要がない。
【０１５３】
また、例えば、上述した実施形態では、デバイス制御コマンドＣＤの機能として第１機能、第２機能、第３機能、及び第４機能を説明したが、デバイス制御コマンドＣＤの機能は、これらに限定されず更に多くの他の機能が設けられていてもよい。この場合、他の機能に対応する機能コードが、機能コード部ＫＣＢに設定され、他の機能に対応するパラメーター部ＰＲＢが設定される。
【０１５４】
デバイス制御コマンドＣＤの他の機能として、例えば、デバイス４０に、バイナリーデータを送信する機能である第５機能が設けられていてもよい。第５機能を示す機能コードを「第５機能コード」として、機能コード部ＫＣＢに第５機能コードが設定された場合に、パラメーター部ＰＲＢには、デバイス指定パラメーターＰＲ１と、バイナリーデータ指定パラメーターとが設定される。バイナリー指定パラメーターとは、バイナリーデータを指定するパラメーターである。受信したデバイス制御コマンドＣＤの機能コード部ＫＣＢに、第５機能コードが設定されている場合、第１コマンド実行部３３０は、デバイス指定パラメーターＰＲ１が指定するデバイス４０に対して、バイナリーデータ指定パラメーターが指定するバイナリーデータを送信する。指定されるバイナリーデータとしては、デバイス４０に設定する設定値が一例として挙げられる。この場合、ホスト装置３は、デバイス制御コマンドＣＤを送信することにより、デバイス４０に種々の設定を行うことができる。
【０１５５】
また、例えば、上述したプリンター２の動作が示すプリンター２の制御方法が、プリンター２が備えるコンピューター、又は、プリンター２に接続される外部装置を用いて実現される場合、本発明を、この制御方法を実現するためにコンピューターが実行するプログラム、このプログラムをコンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。プリンター２の制御方法は、印刷装置の方法に相当する。
【０１５６】
また、ホスト制御部３０、第１プリンター制御部２００、及び、第２プリンター制御部２０１の機能は、複数のプロセッサー、又は、半導体チップにより実現してもよい。
【０１５７】
また、図１、及び図２に示した各部は一例であって、具体的な実装形態は特に限定されない。つまり、必ずしも各部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで各部の機能を実現する構成とすることも勿論可能である。また、上述した実施形態においてソフトウェアで実現される機能の一部をハードウェアとしてもよく、或いは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、プリンター２、及びホスト装置３の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。
【０１５８】
また、例えば、図４、及び図５に示す動作のステップ単位は、印刷システム１の各部の動作の理解を容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。処理内容に応じて、さらに多くのステップ単位に分割してもよい。また、１つのステップ単位がさらに多くの処理を含むように分割してもよい。また、そのステップの順番は、本発明の趣旨に支障のない範囲で適宜に入れ替えてもよい。
【符号の説明】
【０１５９】
２…プリンター（印刷装置）、３…ホスト装置（制御装置）、２０…プリンター制御部（制御部）、２２…プリンター通信部（第１通信部）、２３…印刷部、２４…デバイス通信部（第２通信部）、４０…デバイス（周辺機器）、４１…カスタマーディスプレー（周辺機器）、４２…バーコードリーダー（周辺機器）、４３…カードリーダー（周辺機器）、４４…自動釣銭機（周辺機器）、２００…第１プリンター制御部（第１制御部）、２０１…第２プリンター制御部（第２制御部）、２１０…共有バッファー（バッファー）、２１０Ａ…バッファー領域、３００…第１オペレーティングシステム、３１０…コマンド解析部、３２０…印刷制御部、３３０…第１コマンド実行部、３４０…第２コマンド実行部、３５０…通信制御部、４００…第２オペレーティングシステム、４１０…デバイス制御部、４１１…接続監視部、４１２…ハンドラー部、４１３…格納制御部、ＢＪ…バッファー情報、ＢＪＪ…バッファー状態情報、ＣＤ…デバイス制御コマンド（機器制御コマンド）、ＮＪ…入力情報、ＰＲ１…デバイス指定パラメーター（指定情報）、ＳＪ…ステータス情報、ＳＪＪ…接続状態情報。
【図１】
2020017091.tif 000003
【図２】
2020017091.tif 000004
【図３】
2020017091.tif 000005
【図４】
2020017091.tif 000006
【図５】
2020017091.tif 000007