以下、図面を参照して機器制御方法、機器制御プログラム、および機器制御装置について詳細に説明する。ただし、本発明は図面または以下に記載される実施形態に限定されないことを理解されたい。
図1は、機器制御装置1の動作概要を説明する図である。
機器制御装置1は、有線及び/又は無線ネットワーク5を介して中継機器であるプリンタ2と接続される。プリンタ2は、USBインタフェースを介して入力機器であるバーコードスキャナ3と接続される。
機器制御装置1は、機器制御装置1のハードウェア資源を抽象化して共通的な手続によるアクセスを可能にするインタフェース(API:Application Programming Interface)をアプリケーションプログラムに提供する、オペレーティングシステムを有する。
機器制御装置1は、バーコードの読み取りに応じてバーコードスキャナ3が出力するデータ「987654321098」を、プリンタ2を介して受信する。機器制御装置1は、受信したデータを、機器制御装置1内のアプリケーションプログラムが認識可能な、例えば、キーボードから入力されたテキスト情報としてオペレーティングシステムに出力する。なお、バーコードスキャナ3は、一次元バーコードのみではなく、2次元バーコード等を読み取れるような機器であっても良い。
すなわち、機器制御装置1で動作するアプリケーションプログラムは、プリンタ2を介して接続されたバーコードスキャナ3の入力情報を、キーボードからの入力情報としてオペレーティングシステムから受け取り、利用することができる。更に、機器制御装置1で動作するアプリケーションプログラムは、バーコードスキャナ3の入力情報を、キーボードからの入力情報であるかのように、受け取ることができる。
これにより、本発明の機器制御装置1は、プリンタ2を介して接続されたバーコードスキャナ3からの入力を、アプリケーションプログラムから容易に利用可能とする。
また、機器制御装置1は、バーコードスキャナ3がプリンタ2に接続されていない場合、バーコードスキャナ3がプリンタ2に接続されたか否かを示す接続情報を、プリンタ2に対して所定の接続時間間隔で周期的に要求する。プリンタ2は、機器制御装置1からの要求に応じて、接続情報を送信する。
バーコードスキャナ3がプリンタ2に接続されたことを示す接続情報をプリンタ2から取得した場合、機器制御装置1は、まず、データの受信のためのプリンタ2との接続を確立する。そして、機器制御装置1は、データの受信をプリンタ2に対して所定の受信時間間隔で周期的に要求する。
図1の例では、機器制御装置1は、時刻t11にデータ要求を行い、データの受信に成功する。その後、機器制御装置1は、時刻t12にデータ要求を行う。このときの受信時間間隔RI1は、t12-t11で表される。
また、機器制御装置1は、時刻t21にデータ要求を行い、データの受信に失敗する。その後、機器制御装置1は、時刻t22にデータ要求を行う。このときの受信時間間隔RI2は、t22-t21で表される。
データの受信に失敗した後の受信時間間隔RI2は、データの受信に成功した後の受信時間間隔RI1よりも大きい。
通常、バーコードスキャナ3を用いたバーコードの読み取りは、断続的に行われる。すなわち、バーコードスキャナ3がバーコードの読み取り行わない時間が継続的に存在する。このような時間に小さい時間間隔でバーコードスキャナ3のデータ要求を行っても、機器制御装置1によるデータ要求の頻度に対してバーコードデータを取得することができる割合が少なくなる場合がある。
したがって、上述のように動作することにより、機器制御装置1は、効率よくデータの読み取りを実行し、消費電力とネットワークのトラフィックを削減することができる。
しかしながら、消費電力とネットワークのトラフィックが、機器制御装置1の仕様や利用環境に応じて無視できる場合には、データの受信に失敗した後の受信時間間隔RI2を、データの受信に成功した後の受信時間間隔RI1と同じ長さとしても良い。逆に、バーコードデータの取得タイミングに遅延を生じさせたくない場合には、データの受信に失敗した直後の受信時間間隔RI2のまま、データ要求を繰り返した方が良い。例えば、機器制御装置1の利用頻度が少ない場合や、機器制御装置1の電源として、大容量の内蔵電池や商用電源が供給されている場合には、消費電力を考慮するまでもない。また、大量のデータを高速で送受信可能なネットワークを利用する場合や、そのネットワークを利用する他の機器が少ない環境であれば、ネットワークのトラフィックに伴う問題は生じない。消費電力及びネットワークのトラフィックには依存せずに、より簡単な構成で、中継機器を介して接続された入力器からの入力を情報処理装置のアプリケーションプログラムから容易に利用可能となることに変わりはない。
図2は、機器制御装置1の概略構成を示す模式図である。
機器制御装置1は、入力に応じてデータを出力するバーコードスキャナ3が接続されるプリンタ2とネットワークを介して接続し、バーコードスキャナ3が出力するデータをプリンタ2から受信する。そのために、機器制御装置1は、制御通信部11と、制御記憶部12と、制御操作部13と、制御表示部14と、制御処理部15とを備える。
本実施形態では、機器制御装置1としてタブレット端末を想定するが、本発明の実施形態はこれに限定されない。機器制御装置1は、例えば、パーソナルコンピュータ(Personal Computer, PC)、多機能携帯電話(いわゆる「スマートフォン」)などの情報処理装置であってよい。
制御通信部11は、通信インタフェース回路を備え、機器制御装置1をネットワーク5に接続する。制御通信部11は、制御処理部15から供給されたデータを、ネットワーク5を介してプリンタ2等に送信する。また、制御通信部11は、ネットワーク5を介してプリンタ2等から受信したデータを制御処理部15に供給する。
制御通信部11が機器制御装置1を接続するネットワーク5は、例えばTCP/IP(Transport Control Protocol / Internet Protocol)による通信が行われるインターネットである。また、ネットワーク5の他の例として、機器制御装置1が無線LANにより所定のアクセスポイントを経由して、当該アクセスポイントとLANケーブルによってプリンタ2と接続される様にしても良い。この様に、ネットワーク5より通信する機器は、有線または無線によって接続される。
制御記憶部12は、例えば、半導体メモリ装置を備える。制御記憶部12は、制御処理部15での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、制御記憶部12は、ドライバプログラムとして、制御操作部13を制御する入力デバイスドライバプログラムや、制御表示部14を制御する出力デバイスドライバプログラム等を記憶する。また、制御記憶部12は、所定の処理にかかる一時的なデータを一時的に記憶してもよい。
制御操作部13は、機器制御装置1の操作が可能であればどのようなデバイスでもよく、例えば、タッチパネルやキーボタン等である。ユーザは、制御操作部13を用いて、文字や数字、記号等を入力することができる。制御操作部13は、ユーザにより操作されると、その操作に対応する信号を発生する。そして、発生した信号は、ユーザの指示として制御処理部15に供給される。
制御表示部14は、映像や画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等である。制御表示部14は、制御処理部15から供給された映像データに応じた映像や、画像データに応じた画像等を表示する。
制御処理部15は、1以上のプロセッサおよびその周辺回路を備える。制御処理部15は、機器制御装置1の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。制御処理部15は、機器制御装置1の各種処理が制御記憶部12に記憶されているプログラムや制御操作部13への操作等に基づいて適切な手段で実行されるように、制御通信部11や制御表示部14等の動作を制御する。制御処理部15は、制御記憶部12に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、制御処理部15は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
制御処理部15は、少なくともオペレーティングシステム部151、接続情報要求部152、データ要求部153、内部出力部154等を備える。これらの各部は、制御処理部15が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして機器制御装置1に実装されてもよい。
図3は、プリンタ2の概略構成を示す模式図である。
プリンタ2は、ネットワークを介して機器制御装置1に接続されている。プリンタ2は、さらにバーコードスキャナ3に接続され、バーコードスキャナ3の出力するデータを機器制御装置1に中継する中継機器として機能する。そのために、プリンタ2は、中継通信部21と、中継接続部22と、中継記憶部23と、プリンタ部24と、中継処理部25とを備える。
中継通信部21は、通信インタフェース回路を備え、プリンタ2をネットワークに接続する。中継通信部21は、中継処理部25から供給されたデータを、ネットワークを介して機器制御装置1に送信する。
中継接続部22は、USBインタフェースを備え、バーコードスキャナ3を接続して制御する。中継接続部22は、バーコードスキャナ3から受信したデータを中継処理部25に供給する。
中継記憶部23は、例えば半導体メモリ装置を備える。中継記憶部23は、中継処理部25での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、中継記憶部23は、ドライバプログラムとして、中継通信部21を制御する通信デバイスドライバプログラム等を記憶する。また、中継記憶部23は、所定の処理にかかる一時的なデータを一時的に記憶してもよい。
プリンタ部24は、所定の用紙への印刷を実行する。プリンタ部24は、感熱紙である用紙の所定の領域を加熱することにより印刷を行うサーマルプリンタ装置である。また、プリンタ部24は、用紙の所定の領域にインク滴を射出して印刷を行うインクジェットプリンタ装置等であってもよい。
中継処理部25は、1以上のプロセッサおよびその周辺回路を備える。中継処理部25は、プリンタ2の全体的な動作を統括的に制御するものであり、例えば、CPUである。中継処理部25は、プリンタ2の各種処理が中継記憶部23に記憶されているプログラム等に基づいて適切な手段で実行されるように、中継通信部21等の動作を制御する。中継処理部25は、中継記憶部23に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。
中継処理部25は、少なくとも接続情報更新部251、接続情報応答部252、データ取得部253、データ送信部254等を備える。これらの各部は、中継処理部25が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして機器制御装置1に実装されてもよい。
接続情報更新部251は、バーコードスキャナ3が中継接続部22に接続されているか否かに応じて、中継記憶部23に記憶される接続情報を更新する。
接続情報応答部252は、機器制御装置1から接続情報の要求を受信した場合、中継記憶部23に記憶され接続情報更新部251に更新された接続情報に基づいて、機器制御装置1に応答する。
データ取得部253は、中継接続部22に接続されたバーコードスキャナ3から出力されたデータを取得し、中継記憶部23に記憶させる。
データ送信部254は、機器制御装置1からデータの要求を受信した場合、データ取得部253が取得し中継記憶部23に記憶されたデータを、機器制御装置1に送信する。
図4は、機器制御装置1の処理フローチャートである。
処理フローチャートに示す各処理は、制御記憶部12に記憶されたプログラムに従って、制御処理部15が、制御通信部11、制御記憶部12といった機器制御装置1の構成要素と協働しながら実行する。
まず、接続情報要求部152は、バーコードスキャナ3がプリンタ2から利用可能であるか否かを示す接続情報を、プリンタ2に対して要求する(ステップS10)。
バーコードスキャナ3がプリンタ2に有線または無線により電気的に接続されていない場合、接続情報は、バーコードスキャナ3がプリンタ2から利用可能でないことを示す。また、バーコードスキャナ3がプリンタ2に有線または無線により電気的に接続されていても、例えばバーコードスキャナ3が他の端末から使用されている場合、プリンタ2からは利用可能ではない。このような場合も接続情報はバーコードスキャナ3がプリンタ2から利用可能でないことを示す。
次に、接続情報要求部152は、バーコードスキャナ3がプリンタ2から利用可能であることを示す接続情報を取得したか否かを判定する(ステップS11)。
利用可能であることを示す接続情報を取得したと判定された場合(ステップS11:Y)、データ要求部153は、データの受信のためのプリンタ2との接続を確立する(ステップS12)。具体的には、データ要求部153は、特定の目的でアプリケーションプログラムが通信を行うときのプログラムインタフェースであるソケットの作成を、オペレーティングシステム部151に要求する。
オペレーティングシステム部151は、機器制御装置1のハードウェア資源を利用するための共通的なインタフェースを、機器制御装置1で動作するアプリケーションプログラムに提供する。データ要求部153の要求に基づいてオペレーティングシステム部151がソケットを作成することにより、機器制御装置1とプリンタ2との間の接続が確立され、データ要求部153はプリンタ2からのデータを取得可能となる。
利用可能であることを示す接続情報を取得したと判定されない場合(ステップS11:N)、接続情報要求部152は、接続時間間隔が経過したか否かを判定する(ステップS13)。接続時間間隔は予め設定された時間間隔であり、例えばl000ミリ秒である。接続時間間隔は、機器制御装置1のユーザが、所定の範囲(例えば1000ミリ秒〜60000ミリ秒)で設定可能である。
接続情報要求部152は、接続時間間隔が経過していないと判定した場合(ステップS13:N)、ステップS13を繰り返して待機する。接続情報要求部152は、接続時間間隔が経過したと判定した場合(ステップS13:Y)、ステップS10に戻り、プリンタ2に接続情報の要求を行う。
なお、図示していないが、ステップS12に続いてプリンタ2との接続の確立に失敗したか否かの判定を実行し、失敗したと判定された場合に、ステップS13に遷移して接続時間経過後にプリンタ2に接続情報の要求を行うなどのリトライ処理を実行してもよい。
データ接続を確立した後、データ要求部153は、プリンタ2に対してデータの受信を要求する(ステップS14)。そして、データ要求部153は、データの受信の要求に応じてデータを受信したか否かを判定する(ステップS15)。
データを受信したと判定された場合(ステップS15:Y)、内部出力部154は、受信したデータを、キーボードから入力されたテキスト情報としてオペレーティングシステム部151に出力する(ステップS16)。これにより、機器制御装置1で動作するアプリケーションプログラムは、プリンタ2を介して接続されたバーコードスキャナ3から入力されたデータを、キーボードから入力されたテキスト情報としてオペレーティングシステム部151から受け取ることができる。
次に、データ要求部153は、受信時間間隔t1が経過したか否かを判定する(ステップS17)。受信時間間隔t1は予め設定された時間間隔であり、例えばl00ミリ秒である。受信時間間隔t1は、機器制御装置1のユーザが、所定の範囲(例えば100ミリ秒〜1000ミリ秒)で設定可能である。
データ要求部153は、受信時間間隔t1が経過していないと判定した場合(ステップS17:N)、ステップS17を繰り返して待機する。データ要求部153は、受信時間間隔t1が経過したと判定した場合(ステップS17:Y)、ステップS14に戻り、プリンタ2にデータの受信を要求する。
ステップS15においてデータを受信したと判定されない場合(ステップS15:N)、データ要求部153は、受信時間間隔t2が経過したか否かを判定する(ステップS18)。受信時間間隔t2は、受信時間間隔t1よりも大きい予め設定された時間間隔であり、例えば200ミリ秒である。受信時間間隔t2は、機器制御装置1のユーザが、所定の範囲(例えばt1〜1000ミリ秒)で設定可能である。また、受信時間間隔t2は、設定されたt1との関係式(例えばt2=t1×2)に基づいて設定されてもよい。
データ要求部153は、受信時間間隔t2が経過していないと判定した場合(ステップS18:N)、ステップS18を繰り返して待機する。データ要求部153は、受信時間間隔t2が経過したと判定した場合(ステップS18:Y)、ステップS14に戻り、プリンタ2にデータの受信を要求する。
ステップS10からステップS18までの一連の処理が、機器制御装置1の起動中に繰り返し実行される。
このような処理を実行することにより、機器制御装置1は、プリンタ2を介して接続されたバーコードスキャナ3からの入力を、アプリケーションプログラムから容易に利用可能とする。
なお、ステップS10における、接続情報要求部152による接続情報の要求は、IPネットワーク上の機器を監視するための通信方法としてRFC 3411等に定義されるSNMP(Simple Network Management Protocol)に基づいて行なわれてよい。
すなわち、機器制御装置1はSNMPにおけるマネージャとなり、SNMPにおけるエージェントであるプリンタ2に対してリクエストを送信する。プリンタ2は、リクエストに応じてレスポンスを機器制御装置1に送信する。
プリンタ2は、中継記憶部23に、管理情報ベース(MIB、Management Information Base)を記憶する。管理情報ベースには、プリンタ2へのバーコードスキャナ3の接続の有無を含むさまざまな管理情報がツリー構造で記憶される。
機器制御装置1は、プリンタ2へのバーコードスキャナ3の接続の有無を示す管理情報の管理情報ベースにおける位置を示すオブジェクトIDを指定したリクエストを送信する。そして、このリクエストに対するプリンタ2のレスポンスを受信することで、接続情報を取得することができる。
図5は、機器制御装置1の他の処理フローチャートである。
機器制御装置1は、図4に示す処理フローチャートの他に、図5に示す処理フローチャートに従って一連の処理を実行してもよい。
図5に示す処理フローチャートのうち、ステップS20〜S25、S27〜S29は、図4に示す処理フローチャートにおけるステップS10〜S15、S16〜S18と同様である。図4に示す処理フローチャートと同様の処理ステップの説明は省略する。
ステップS25において、データを受信したと判定された場合(ステップS25:Y)、データ要求部153は受信したデータがあるか否かを判定する(ステップS26)。受信したデータがあると判定された場合(ステップS26:Y)、ステップS27に遷移し、内部出力部154が受信したデータを内部出力する。一方、ステップS26において、受信したデータがあると判定されない場合(ステップS26:N)、ステップS29に遷移し、データ要求部153は受信時間間隔t2の経過後にステップS24に遷移する。
図5に示す処理フローチャートを実行することにより、機器制御装置1は、受信したデータ量がない、すなわちバーコードの読み取りが行われていない状況でのデータ受信間隔を長くする。このため、機器制御装置1は、プリンタ2およびバーコードスキャナ3の消費電力とネットワークのトラフィックを削減することができる。
図6は、機器制御装置1の他の処理フローチャートである。
機器制御装置1は、図4および図5に示す処理フローチャートの他に、図6に示す処理フローチャートに従って一連の処理を実行してもよい。
図6に示す処理フローチャートのうち、ステップS30〜S36、S38は、図5に示す処理フローチャートにおけるステップS20〜S26、S28と同様である。図5に示す処理フローチャートと同様の処理ステップの説明は省略する。
ステップS36において受信したデータ量があると判定された場合(ステップS36:Y)、内部出力部154は、受信したデータを内部出力するとともに、受信したデータ量がなかった回数の値を初期化する(ステップS37)。受信したデータ量がなかった回数の値については、後述する。
受信したデータ量があると判定されない場合(ステップS36:N)、データ要求部153は、後述する受信遅延処理を実行し(ステップS39)する。そして、データ要求部153は、ステップS34に遷移し、プリンタ2にデータの受信を要求する。
図7は、機器制御装置1の受信遅延処理のフローチャートである。
機器制御装置1のデータ要求部153は、受信時間間隔t2が経過したか否かを判定する(ステップS391)。データ要求部153は、受信時間間隔t2が経過していないと判定した場合(ステップS391:N)、ステップS391を繰り返して待機する。
受信時間間隔t2が経過したと判定した場合(ステップS391:Y)、データ要求部153は、連続して受信したデータ量がなかった回数が所定の閾値nよりも小さいか否かを判定する(ステップS392)。連続して受信したデータ量がなかった回数は、機器制御装置1の処理開始時に、初期値として0が設定されている。
連続して受信したデータ量がなかった回数がnよりも小さいと判定された場合(ステップS392:Y)、データ要求部153は、連続して受信したデータ量がなかった回数に1加算し(ステップS393)、受信遅延処理を終了する。
ステップS391において連続して受信したデータ量がなかった回数がnよりも小さいと判定されない場合(ステップS391:N)、データ要求部153は、受信時間間隔t3が経過したか否かを判定する(ステップS394)。受信時間間隔t3は、予め設定された時間間隔であり、例えば200ミリ秒である。受信時間間隔t3は、機器制御装置1のユーザが、所定の範囲(例えば0〜1000ミリ秒)で設定可能である。受信時間間隔t3は、受信時間間隔t2と同じ時間間隔であってもよく、異なる時間間隔であってもよい。
データ要求部153は、受信時間間隔t3が経過していないと判定した場合(ステップS394:N)、ステップS394を繰り返して待機する。データ要求部153は、受信時間間隔t3が経過したと判定した場合(ステップS394:Y)、受信遅延処理を終了する。
図6および図7に示す処理フローチャートを実行することにより、機器制御装置1は、受信したデータ量がない、すなわちバーコードの読み取りが行われていない状況が連続している場合のデータ受信間隔を長くする。このため、機器制御装置1は、プリンタ2およびバーコードスキャナ3の消費電力とネットワークのトラフィックを削減することができる。
図9は、機器制御装置100の動作概要を説明するための図である。
機器制御装置100は、図1に示す機器制御装置1と同様に、有線及び/又は無線ネットワーク5を介して中継機器であるプリンタ2と接続される。プリンタ2は、USBインタフェースを介して入力機器であるバーコードスキャナ3と接続される。プリンタ2及びバーコードスキャナ3の構成は、図1等で説明した構成と同様であるので、それらの説明を省略する。
機器制御装置100は、機器制御装置100の全体制御を司るオペレーティングシステム(OS)102、OS102上で動作可能なPOS動作等を可能とするアプリケーションプログラム(AP)101、及び、スキャナドライバ103を有する。スキャナドライバ103は、機器制御装置100にインストールされ且つ入力機器であるバーコードスキャナ3との間のデータの送受信の制御を行うドライバソフトウエアである。スキャナドライバ103の動作については後述する。なお、スキャナドライバ103は、プリンタ2により印刷するためのドライバを兼用してもよいし、または、兼用せずに、プリンタ2に専用のドライバを別途設けても良い。
スキャナドライバ103は、バーコードの読み取りに応じてバーコードスキャナ3が出力するデータ「987654321098」を、プリンタ2を介して受信する。スキャナドライバ103は、受信したデータを、AP101が認識可能なデータ形式の情報としてOS102に出力する。AP101が認識可能なデータ形式の情報とは、例えば、キーボードから入力されたテキスト情報である。なお、AP101が認識可能なデータ形式の情報が、バイナリ形式の場合は、スキャナドライバ103がBase64エンコード又はURLエンコード等を用いてテキスト形式に変換してから、OS102へデータを渡すようにしても良い。
すなわち、機器制御装置100で動作するAP101は、プリンタ2を介して接続されたバーコードスキャナ3の入力情報を、スキャナドライバ3を介してキーボードからの入力情報としてOS102から受け取り、利用することができる。その際、AP101及びOS102は、スキャナドライバ103の存在を気にすることなく動作可能となる。したがって、スキャナドライバ103を機器制御装置100にインストールさえすれば、プリンタ2を介しても、AP101から容易に利用可能で簡単な構成にすることができる。例えば、バーコードスキャナ3を追加する前に、予め、キーボード入力用に対応したAP101が機器制御装置100にインストールされている場合には、スキャナドライバ103をインストールするだけでバーコードスキャナ3に対応することができ、バーコードスキャナ3との接続のためにAP101を変更する必要がない。
これにより、本発明の機器制御装置100では、プリンタ2を介して接続されたバーコードスキャナ3からの入力を、AP101で容易に利用可能である。
また、スキャナドライバ103は、バーコードスキャナ3がプリンタ2に接続されていない場合、バーコードスキャナ3がプリンタ2に接続されたか否かを示す接続情報を、プリンタ2に対して所定の接続時間間隔で周期的に要求する。プリンタ2は、スキャナドライバ103からの要求に応じて、接続情報を送信する。
バーコードスキャナ3がプリンタ2に接続されたことを示す接続情報をプリンタ2から取得した場合、スキャナドライバ103は、まず、データの受信のためのプリンタ2との接続を確立する。そして、スキャナドライバ103は、データの受信をプリンタ2に対して所定の受信時間間隔で周期的に要求する。
図8の例では、スキャナドライバ103は、時刻t11にデータ要求を行い、データの受信に成功する。その後、スキャナドライバ103は、時刻t12にデータ要求を行う。このときの受信時間間隔RI1は、t12-t11で表される。
また、スキャナドライバ103は、時刻t21にデータ要求を行い、データの受信に失敗したとする。その後、スキャナドライバ103は、時刻t22にデータ要求を行う。このときの受信時間間隔RI2は、t22-t21で表される。
データの受信に失敗した後の受信時間間隔RI2は、データの受信に成功した後の受信時間間隔RI1よりも大きい。
これにより、バーコードデータの取得効率や、消費電力とネットワークのトラフィックの削減の効果が得られるが、あくまでも、機器制御装置100の仕様や利用環境に応じた、選択的な事項であることは、図1等に示す機器制御装置1と同様である。
図9は、機器制御装置100の概略構成を示す模式図である。
機器制御装置100は、入力に応じてデータを出力するバーコードスキャナ3が接続されるプリンタ2とネットワークを介して接続し、バーコードスキャナ3が出力するデータをプリンタ2から受信する。そのために、機器制御装置1は、制御通信部11と、制御記憶部12と、制御操作部13と、制御表示部14と、制御処理部15とを備える。
本実施形態では、機器制御装置100としてタブレット端末を想定するが、本発明の実施形態はこれに限定されない。機器制御装置100は、例えば、パーソナルコンピュータ(Personal Computer, PC)、多機能携帯電話(いわゆる「スマートフォン」)などの情報処理装置であってよい。
制御通信部11は、通信インタフェース回路を備え、機器制御装置100をネットワーク5に接続する。制御通信部11は、制御処理部15から供給されたデータを、ネットワーク5を介してプリンタ2等に送信する。また、制御通信部11は、ネットワーク5を介してプリンタ2等から受信したデータを制御処理部15に供給する。
制御通信部11が機器制御装置100を接続するネットワーク5は、例えばTCP/IP(Transport Control Protocol / Internet Protocol)による通信が行われるインターネットである。また、ネットワーク5の他の例として、機器制御装置1が無線LANにより所定のアクセスポイントを経由して、当該アクセスポイントとLANケーブルによってプリンタ2と接続される様にしても良い。この様に、ネットワーク5より通信する機器は、有線または無線によって接続される。
機器制御装置100が備える制御記憶部12は、例えば、半導体メモリ装置を備える。制御記憶部12は、制御処理部15での処理に用いられる、AP101、OS102、スキャナドライバ103、その他のプログラム、及び、データ等を記憶する。例えば、制御記憶部12は、制御操作部13を制御する入力デバイスドライバプログラムや、制御表示部14を制御する出力デバイスドライバプログラム等を記憶する。また、制御記憶部12は、所定の処理にかかる一時的なデータを一時的に記憶してもよい。
機器制御装置100が備える制御操作部13、及び、制御表示部14は、図2で説明したものと同様であるので、説明を省略する。
機器制御装置100が備える制御処理部15は、1以上のプロセッサおよびその周辺回路を備える。制御処理部15は、機器制御装置1の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。制御処理部15は、機器制御装置1の各種処理が制御記憶部12に記憶されているプログラムや制御操作部13への操作等に基づいて適切な手段で実行されるように、制御通信部11や制御表示部14等の動作を制御する。制御処理部15は、制御記憶部12に記憶されているプログラム(AP101、OS102、スキャナドライバ103、その他のプログラム)に基づいて処理を実行する。また、制御処理部15は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
機器制御装置100との間でデータの送受信を行うプリンタ2は、図3に示したものと同様であるので、その説明を省略する。
以下、機器制御装置100の処理フローについて説明する。
図4〜図7に示す処理フローチャートに示す各処理は、機器制御装置100においても、そのまま利用することができる。すなわち、図4〜図7に示す処理フローチャートに示す各処理は、制御記憶部12に記憶されたスキャナドライバ103によって、制御処理部15が、制御通信部11、制御記憶部12といった機器制御装置100の構成要素と協働しながら実行する。
なお、機器制御装置100における図4〜図7に示す処理フローチャートに示す各処理では、図4〜図7の説明において、接続情報要求部152、データ要求部153、及び内部出力部154としたものは、全てスキャナドライバ103が処理を代行することとなる。更に、機器制御装置100の処理フローの場合、図4のステップS16、図5のステップS27、図6のステップS37において、内部出力部154がデータを出力する先は、OS102となる。これにより、機器制御装置100で動作するAP101は、プリンタ2を介して接続されたバーコードスキャナ3から入力されたデータを、機器制御装置100が認識可能な、例えばキーボードから入力されたテキスト情報としてOS102から受け取ることができる。
上記の構成により、機器制御装置100は、プリンタ2を介しても、AP101から容易に利用可能で簡単な構成にすることができる。例えば、バーコードスキャナ3を追加する前に、予め、キーボード入力用に対応したAP101が機器制御装置100にインストールされている場合には、スキャナドライバ103をインストールするだけでバーコードスキャナ3に対応することができ、AP101を変更せずに、スキャナドライバ103を利用して、プリンタ2を介してバーコードスキャナ3を利用することが可能となる。すなわち、機器制御装置100自体にバーコードスキャナ3を接続するための新たなポートを必要とせず、AP101を変更しないで、バーコードスキャナ3を利用することか可能となる。なお、機器制御装置100が無線LANを主に利用するような機器である場合、有線で入力機器を接続すると機器制御装置100の操作性が低下する場合には、特に有用である。
上記の説明では、中継機器を介して機器制御装置とデータの送受信を行う入力機器としてバーコードスキャナ3を用いて説明したが、入力機器はこれに限定されるものではなく、キーボードやマウスなどの端末の入力装置として利用可能なデバイス、及びHID(Human Interface Device)等であっても良い。
当業者は、本発明の精神および範囲から外れることなく、種々の変更、置換および修正をこれに加えることが可能であることを理解されたい。