(57)【特許請求の範囲】
【請求項１】
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末であって、
周辺電波の電界強度を検知し、当該検知した周辺電波の電界強度が既定の電界強度以内である場合に、前記コントローラにデータの無線送信を行う無線通信モジュールと、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうち前記無線通信モジュールが実際に無線電波を送信する時間であるキャリア時間を算出し、前記算出したキャリア時間が前記計測した送信処理時間に占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部と、
を備える通信端末。
【請求項２】
前記計測時間を経時的に分割した複数のキャリア時間バッファを記憶する記憶部を備え、
前記制御部は、前記算出したキャリア時間を、現在時刻に対応する前記キャリア時間バッファ内の値に加算していき、前記計測時間のうち前記全てのキャリア時間バッファのキャリア時間の合計値が占める割合を示す占有率を算出する請求項１に記載の通信端末。
【請求項３】
前記制御部は、前記算出した占有率が前記上限値以下になる場合に、前記無線通信モジュールにデータの無線送信指示を行い、前記算出した占有率が前記上限値より大きくなる場合に、前記無線通信モジュールのデータの無線送信を停止する請求項１または２に記載の通信端末。
【請求項４】
請求項１から３のいずれか一項に記載の複数の通信端末と、
前記コントローラと、を備える無線通信システム。
【請求項５】
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末のコンピュータを、
周辺電波の電界強度を検知し、当該検知した周辺電波の電界強度が既定の電界強度以内である場合に、前記コントローラにデータの無線送信を行う無線通信モジュール、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうち前記無線通信モジュールが実際に無線電波を送信する時間であるキャリア時間を算出し、前記算出したキャリア時間が前記計測した送信処理時間に占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部、
として機能させるためのプログラム。
【請求項６】
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末であって、
前記コントローラにデータの無線送信を行い、当該コントローラへのデータの無線送信が失敗した場合に、当該データの無線送信のリトライを行う無線通信モジュールと、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間を算出し、所定の計測時間のうち前記算出したキャリア時間が占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部と、を備え、
前記無線通信モジュールは、周辺の電波の電界強度を検知し、当該検知した電界強度が既定の電界強度以内である場合に、前記コントローラにデータの無線送信を行い、
前記制御部は、前記計測した送信処理時間Ｚと、前記周辺の電波の電界強度の検知の周辺検知時間Ｂと、前記送信されたデータのデータ量を無線通信のボーレートで割ったデータ送信時間Ｄと、を用いて、Ｄ｛Ｚ／（Ｂ＋Ｄ）｝の式によりキャリア時間を算出する通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信を行う通信端末、この通信端末を含む無線システム、及びプログラムに関する。
【背景技術】
【０００２】
従来、レストラン等の飲食店の店舗において、接客スタッフがオーダをとるためのハンディ端末を所持し、このハンディ端末からコントローラを介してオーダアイテムの調理指示を調理スタッフに通知するオーダエントリシステムが知られている。
【０００３】
オーダエントリシステムは、少なくとも１台のハンディ端末と、コントローラと、プリンタと、を備える。ハンディ端末は、接客スタッフにより１人１台所持され、顧客の注文に関するオーダ情報が入力される。入力されたオーダ情報は、ハンディ端末から無線通信によりコントローラへ送信され、プリンタにより印刷される。調理スタッフは、印刷されたオーダ情報を目視により確認して調理を実行する。
【０００４】
複数のハンディ端末を有するオーダエントリシステムにおいて、各ハンディ端末とコントローラとの通信は、特定小電力の無線通信で行われ、コントローラが同時に複数のハンディ端末のうちの一台と通信可能である。つまり、コントローラの無線通信は、１回線である。ここで、図１０を参照して、ハンディ端末２０Ｄとコントローラ１０Ｄとを有するオーダエントリシステムにおける無線通信を説明する。図１０は、ハンディ端末２０Ｄとコントローラ１０Ｄとの無線通信における電界強度を示す図である。
【０００５】
ハンディ端末２０Ｄは、メインのＣＰＵ（Central Processing Unit）と、このＣＰＵとシリアルインタフェースを介して接続された無線通信モジュールと、を含むものとする。無線通信モジュールは、無線通信を行うチップセットのモジュールである。無線通信モジュールの主な機能は、（I）周辺電波検知機能と、（II）データ送信機能と、（III）確認受信機能と、（IV）データ受信機能と、（V）データ再送機能と、である。
【０００６】
（I）の周辺電波検知機能とは、周辺電波の電界強度を検知し、検知されるとデータ送信を一時的に取り止める機能である。（II）のデータ送信機能とは、送信対象の各種データ（送信データ）を送信先のコントローラに送信する機能である。（III）の確認受信機能とは、データ送信機能で送信した送信データに対する確認データ（電文）を送信先のコントローラから受信する機能である。この確認データは、送信データの受信が成功したことを示すＡＣＫである。（IV）のデータ受信機能とは、各種データ（受信データ）を送信元のコントローラから受信する機能である。（V）の再送（リトライ）機能とは、周辺電波検知機能での周辺電波検知が失敗したときや、確認受信機能での確認データの受信が無いときに、送信データを送信先のコントローラに送信することを再試行（リトライ）する機能である。
【０００７】
ハンディ端末２０ＤのメインのＣＰＵは、無線通信のアプリケーションプログラムとの協働で、各種コマンドや送受信データの受け渡しを無線通信モジュールに対して行うことで、無線通信を実現している。つまり、メインのＣＰＵから見て、無線通信モジュール内の処理を隠蔽して実施することで、安定した無線通信処理が保証される。
【０００８】
図１０に示すように、ハンディ端末２０Ｄからコントローラ１０Ｄへデータ送信を行う場合の通信範囲は、ハンディ端末２０Ｄを中心として、同心円状の通信領域Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５となる。通信領域Ｒ１，Ｒ２，Ｒ３，Ｒ４，Ｒ５の各幅は、例えば１５〜２０［ｍ］である。コントローラ１０Ｄの位置がハンディ端末２０Ｄから離れるにつれて（通信領域Ｒ１→Ｒ２→Ｒ３→Ｒ４）、無線電波の電界強度が、−４０［ｄＢｍ］→−６０［ｄＢｍ］→−８０［ｄＢｍ］→−１００［ｄＢｍ］のように弱くなっていく。コントローラ１０Ｄが通信領域Ｒ５にある場合、電界強度が例えば−１３０［ｄＢｍ］となってノイズと同等になり、ハンディ端末２０Ｄは、コントローラ１０Ｄへデータ送信できるものの、コントローラ１０Ｄからデータ受信が不可能となる。
【０００９】
ハンディ端末２０Ｄからコントローラ１０Ｄへのデータ送信において、ハンディ端末２０Ｄは、無線通信モジュールに送信データの送信コマンドを出力する。そして、無線通信モジュールは、送信コマンドが入力されると、周辺電波の電界強度を検知し、検知されない場合に、送信データをコントローラ１０に送信し、周辺電波検知失敗又は送信失敗すると、所定の待ち時間内に確認データ（ＡＣＫ）をコントローラ１０から受信できず、送信データを再送（リトライ）することを繰り返し、確認データをコントローラ１０から受信すると、送信成功となる。このため、コントローラ１０Ｄが通信領域Ｒ１，Ｒ２，Ｒ３，Ｒ４にあって電波環境が良く無線送受信が可能な場合に、ハンディ端末２０Ｄは、コントローラ１０Ｄへ送信データを送信できる。
【００１０】
コントローラ１０Ｄが通信領域Ｒ５にあって電波環境が悪く無線送信のみが可能な場合に、ハンディ端末２０Ｄの無線通信モジュールは、コントローラ１０Ｄに送信データを送信できるものの確認データが受信できなく、自動的に、送信データの再送（リトライ）を所定回数繰り返し行う。
【００１１】
また、特定小電力の無線通信において、送信元の通信機器から送信先の通信機器に送信データを送信するにあたり、電波環境が悪い場合の送信データの延滞状況を有効に回避する無線通信システムが知られている（特許文献１参照）。この無線通信システムにおいて、送信元の通信機器は、電波環境が悪く、データ送信のリトライが発生した場合に、その送信データを蓄積し、電波環境が良くなった場合に、蓄積した送信データと新たに発生した送信データとをまとめて送信先の通信機器に送信している。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平７−５８６８０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかし、図１０においてコントローラ１０Ｄが通信領域Ｒ５にあり電波環境が悪く、ハンディ端末２０Ｄの無線通信モジュールがデータ送信のリトライを繰り返し行う場合に、そのリトライ中にハンディ端末２０Ｄが電波を繰り返し放射するので、他のハンディ端末にとって、電波環境の悪化となっていた。なぜなら、リトライ中のハンディ端末２０Ｄがコントローラ１０Ｄの無線通信の同一周波数（同一チャネル）の１回線を占有し、そのリトライ中に、他のハンディ端末がコントローラ１０Ｄと通信できないからである。
【００１４】
このような電波環境で複数のハンディ端末が同時にデータ送信を行う場合には、データ送信の遅延及びリトライが連鎖的に発生し、通信の速度や安定性を著しく劣化させてしまうおそれがあった。さらに、ハンディ端末２０Ｄの通信周波数又はその近傍の周波数を使用するその他の通信機器の通信を妨げるおそれがあった（悪影響を与えていた）。
【００１５】
また、上記特許文献１の無線通信システムでは、複数の送信データの送信効率を改善できるものの、無線通信の周波数（チャネル）が同じ通信端末（ハンディ端末）が複数ある場合に、電波環境が悪いと、１台の通信端末でリトライが従来と同様に繰り返され、複数の通信端末の通信の速度や安定性を著しく劣化させてしまうおそれがあった。
【００１６】
本発明の課題は、コントローラと無線通信する複数の通信端末における通信速度低下を防ぎ通信を安定して行うことである。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明の通信端末は、
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末であって、
周辺電波の電界強度を検知し、当該検知した周辺電波の電界強度が既定の電界強度以内である場合に、前記コントローラにデータの無線送信を行う無線通信モジュールと、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうち前記無線通信モジュールが実際に無線電波を送信する時間であるキャリア時間を算出し、前記算出したキャリア時間が前記計測した送信処理時間に占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部と、
を備える。
【発明の効果】
【００１８】
本発明によれば、コントローラと無線通信する複数の通信端末での同一周波数の通信の占有を避けることができ、複数の通信端末における通信速度低下を防ぐことができ通信を安定して行うことができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態のオーダエントリシステムを示すブロック図である。
【図２】ハンディ端末の機能構成を示すブロック図である。
【図３】（ａ）は、オーダ情報入力画面を示す図である。（ｂ）は、送信中画面を示す図である。
【図４】ハンディ端末（のＣＰＵ）で実行される無線通信管理処理を示すフローチャートである。
【図５】無線通信管理処理の占有率算出処理を示すフローチャートである。
【図６】キャリア時間バッファへのキャリア時間格納を示す図である。
【図７】無線通信管理処理のキャリア時間算出記憶処理を示すフローチャートである。
【図８】無線通信モジュールのデータ送信の一例を示す図である。
【図９】無線通信モジュール（のＣＰＵ）で実行される無線通信処理を示すフローチャートである。
【図１０】ハンディ端末とコントローラとの無線通信における電界強度を示す図である。
【発明を実施するための形態】
【００２０】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【００２１】
図１〜図１０を参照して、本発明に係る実施の形態を説明する。先ず、図１及び図２を参照して、本実施の形態の装置構成を説明する。図１は、本実施の形態のオーダエントリシステム１を示すブロック図である。図２は、ハンディ端末２０Ａの機能構成を示すブロック図である。
【００２２】
本実施の形態の無線通信システムとしてのオーダエントリシステム１は、レストラン等の飲食店の店舗に設置される。オーダエントリシステム１は、ウエイター等の接客スタッフにより顧客の注文したアイテム（料理、ドリンク等）のアイテム名及び数量等のオーダ情報がハンディ端末２０Ａ，２０Ｂ，２０Ｃに入力され、そのオーダ情報を印刷してキッチンの調理スタッフに通知するシステムである。
【００２３】
オーダエントリシステム１は、コントローラ（コントローラボックス）１０と、通信端末としてのハンディ端末２０Ａ，２０Ｂ，２０Ｃと、プリンタ３０，４０と、ハブ（ＨＵＢ）５０と、ＥＣＲ（Electronic Cash Resister）６０と、を備える。
【００２４】
オーダエントリシステム１が設置される店舗は、キッチンと、フロアと、デシャップと、を有するものとする。キッチンは、調理スタッフが調理を行う領域である。フロアは、顧客が食事を行い且つ注文を受ける接客スタッフが配置されている領域である。デシャップは、キッチン及びフロアの間に位置し、接客スタッフが入ることが可能であり、調理スタッフから接客スタッフへの調理済のアイテムの受け渡し等を行う領域である。
【００２５】
ハンディ端末２０Ａ，２０Ｂ，２０Ｃは、フロアに配置された３人の接客スタッフによりそれぞれ所持されるものとする。つまり、ハンディ端末２０Ａ，２０Ｂ，２０Ｃは、３台同時に使用可能である。コントローラ１０、プリンタ４０、ハブ５０は、例えば、デシャップに配置されている。プリンタ３０は、キッチンに配置されている。ＥＣＲ６０は、フロアに配置されている。
【００２６】
コントローラ１０は、オーダエントリシステム１における情報の管理装置である。コントローラ１０は、オーダエントリシステム１の各装置との通信を行う通信機能、メニュー情報等の設定機能、プリンタ３０，４０の印刷等の制御機能等の機能を有する。
【００２７】
ハンディ端末２０Ａ，２０Ｂ，２０Ｃは、それぞれ、接客スタッフがオーダ情報を入力するＯＥＳ（Order Entry System）端末である。但し、オーダエントリシステム１におけるハンディ端末の台数は、３台に限定されるものではなく、２台又は４台以上としてもよい。
【００２８】
プリンタ３０は、コントローラ１０の制御により、ハンディ端末２０Ａ，２０Ｂ，２０Ｃで入力されたオーダ情報に対応するオーダアイテムの情報を用紙に印刷するプリンタである。調理スタッフは、プリンタ３０で印刷された用紙に記載されたオーダアイテムの種類及びアイテム数を目視により確認して、オーダアイテムの調理を行う。
【００２９】
プリンタ４０は、コントローラ１０の制御により、ハンディ端末２０Ａ，２０Ｂ，２０Ｃで入力されたオーダ情報に対応するオーダアイテムの情報を用紙に印刷し伝票として出力するプリンタである。接客スタッフは、調理スタッフから調理済のアイテムを受け取るとともに、プリンタ４０で印刷された伝票に記載されたオーダアイテムの種類及びアイテム数を目視により確認して、オーダアイテムをフロアの顧客に配膳する。
【００３０】
ハブ５０は、通信ネットワークの集線装置であり、コントローラ１０と、プリンタ３０，４０、ＥＣＲ６０と、の通信を中継する。ＥＣＲ６０は、顧客の食事の精算処理を行う装置である。ＥＣＲ６０は、コントローラ１０から精算のための情報を受信する機能、お釣り用の金銭や顧客が支払った金銭を収納する機能、レシートを印刷して発行する機能、売上データを登録する機能等を有する。
【００３１】
次いで、図２を参照して、ハンディ端末２０Ａの内部の機能構成を説明する。ハンディ端末２０Ｂ，２０Ｃの機能構成は、ハンディ端末２０Ａの機能構成と同様であり、その説明を省略する。
【００３２】
図２に示すように、ハンディ端末２０Ａは、制御部としてのＣＰＵ２１と、操作部２２と、ＲＡＭ（Random Access Memory）２３と、表示部２４と、ＲＯＭ（Read Only Memory）２５と、無線通信モジュール２６と、フラッシュメモリ２７と、計時部２８と、電源部２９と、を備える。ハンディ端末２０Ａの電源部２９を除く各部は、バス２９ａを介して接続されている。ＣＰＵ２１と、無線通信モジュール２６との間は、例えば、バス２９ａのうちのシリアルインタフェースで接続されているものとする。
【００３３】
ＣＰＵ２１は、ハンディ端末２０Ａの各部を制御する。ＣＰＵ２１は、各種プログラムのうち指定されたプログラムをＲＯＭ２５から読み出してＲＡＭ２３に展開し、展開されたプログラムとの協働で各種処理を実行する。
【００３４】
操作部２２は、ユーザ（接客スタッフ）からの各種情報の操作入力を受け付け、その操作情報をＣＰＵ２１に出力する。ＲＡＭ２３は、揮発性の半導体メモリであり、各種データ及び各種プログラムを格納するワークエリアを有する。
【００３５】
表示部２４は、ＬＣＤ（Liquid Crystal Display）等の表示パネルで構成され、ＣＰＵ２１から入力される表示情報に応じて各種表示を行う。ＲＯＭ２５は、各種データ及び各種プログラムを記憶する読み出し専用のメモリである。ＲＯＭ２５には、無線通信管理プログラム２５１が記憶されている。
【００３６】
無線通信モジュール２６は、コントローラ１０と無線通信を行うチップセットのモジュールである。無線通信モジュール２６は、ＣＰＵ２６１と、ＲＡＭ２６２と、ＲＯＭ２６３と、無線通信部２６４と、を備える。無線通信モジュール２６の各部は、バス２６５を介して接続されている。
【００３７】
ＣＰＵ２６１は、無線通信モジュール２６の各部を制御する。ＣＰＵ２６１は、各種プログラムのうち指定されたプログラムをＲＯＭ２６３から読み出してＲＡＭ２６２に展開し、展開されたプログラムとの協働で各種処理を実行する。
【００３８】
ＲＡＭ２６２は、揮発性の半導体メモリであり、各種データ及び各種プログラムを格納するワークエリアを有する。ＲＯＭ２６３は、各種データ及び各種プログラムを記憶する読み出し専用の半導体メモリである。ＲＯＭ２６３には、無線通信プログラム２６３１と、設定情報と、が記憶されている。設定情報とは、無線通信モジュール２６を制御するためのパラメータである。
【００３９】
無線通信部２６４は、アンテナ、変調部、復調部、信号処理部等を備え、コントローラ１０と無線通信を行う。無線通信部２６４は、信号処理部により送信する情報を信号処理し、信号処理した送信信号を変調部により変調し、その変調信号をアンテナから無線電波として出力する。また、無線通信部２６４は、コントローラ１０から出力された無線電波をアンテナにより受信し、その受信信号を復調部により復調し、その復調信号を信号処理部で信号処理して情報を受信する。
【００４０】
無線通信モジュール２６は、従来の技術で述べたハンディ端末２０Ｄの無線通信モジュールと同様に、（I）周辺電波検知機能と、（II）データ送信機能と、（III）確認受信機能と、（IV）データ受信機能と、（V）データ再送機能と、を有する。
【００４１】
フラッシュメモリ２７は、各種情報を読み出し及び書き込み可能に記憶する不揮発性の半導体メモリである。フラッシュメモリ２７には、ハンディ端末２０Ａの識別情報としての機器ＩＤが記憶されている。計時部２８は、現在の時刻を計時する計時回路を有し、計時回路で計時された現在の時刻情報をＣＰＵ２１に出力するＲＴＣ（Real Time Clock）である。
【００４２】
電源部２９は、リチウム電池等の二次電池であり、ハンディ端末２０Ａの各部に電源供給を行う。電源部２９は、アルカリ電池等の一次電池としてもよい。
【００４３】
次に、図３〜図９を参照して、オーダエントリシステム１の動作を説明する。図３（ａ）は、オーダ情報入力画面２４１を示す図である。図３（ｂ）は、送信中画面２４２を示す図である。図４は、ハンディ端末２０Ａ（のＣＰＵ２１）で実行される無線通信管理処理を示すフローチャートである。図５は、無線通信管理処理の占有率算出処理を示すフローチャートである。図６は、キャリア時間バッファＹ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５，Ｙ６へのキャリア時間Ｘ格納を示す図である。図７は、無線通信管理処理のキャリア時間算出記憶処理を示すフローチャートである。図８は、無線通信モジュールのデータ送信の一例を示す図である。図９は、無線通信モジュール２６（のＣＰＵ２６１）で実行される無線通信処理を示すフローチャートである。
【００４４】
図３〜図８を参照して、ハンディ端末２０ＡのＣＰＵ２１で実行される無線通信管理処理を説明する。先ず、図３（ａ）、図３（ｂ）を参照して、無線通信管理処理の前提となる処理を説明する。
【００４５】
オーダエントリシステム１において、店舗の営業時間に、顧客が入店しテーブルに着席すると、接客スタッフは、その顧客のアイテム（料理、ドリンク等）の注文をとる。ここでは、ハンディ端末２０Ａを所持する接客スタッフが、注文をとる例を説明するが、ハンディ端末２０Ｂ，２０Ｃでも同様の処理となる。
【００４６】
予め、ハンディ端末２０Ａの無線通信の周波数（チャネル）が、例えばユーザによる操作部２２を介する操作入力により設定され、設定周波数としてフラッシュメモリ２７に記憶されているものとする。この設定周波数は、オーダエントリシステム１の全てのハンディ端末２０Ａ，２０Ｂ，２０Ｃで同じ値が設定される。また、この設定周波数は、近隣の店舗のオーダエントリシステム等、近隣の無線通信の周波数と同じ周波数（チャネル）にならないように設定されるのが好ましい。
【００４７】
接客スタッフがハンディ端末２０Ａの操作部２２を操作して、オーダ情報入力処理を起動させる。オーダ情報入力処理では、例えば、図３（ａ）に示すオーダ情報入力画面２４１が表示部２４に表示され、操作部２２を介して顧客が注文したアイテムに関するオーダ情報の入力が受け付けられる。オーダ情報は、注文されたアイテムの種類（識別情報）、その数量、注文した顧客が着席するテーブルの識別情報等を含む。
【００４８】
ハンディ端末２０Ａで入力されたオーダ情報は、コントローラ１０に無線送信される。そして、コントローラ１０は、ハンディ端末２０Ａからオーダ情報を受信する。そして、コントローラ１０は、受信したオーダ情報をプリンタ３０に印刷させる。調理スタッフは、プリンタ３０で印刷されたオーダ情報を目視して調理を開始する。
【００４９】
また、コントローラ１０は、受信したオーダ情報をプリンタ４０に伝票として印刷させる。接客スタッフは、プリンタ４０で印刷された伝票を目視して、調理が完了したアイテムに間違いがないかを確認し、間違いがない場合に、伝票とともに、調理済のアイテムを対応するテーブルに配膳する。図４に示す無線通信管理処理は、上記のオーダ情報をコントローラ１０へ無線送信する際の通信管理を行う処理である。
【００５０】
ハンディ端末２０Ａにおいて、接客スタッフから操作部２２を介してオーダ情報の操作入力がなされ、オーダ情報の無線送信指示が入力されたことをトリガとして、ＣＰＵ２１は、ＲＯＭ２５から読み出され適宜ＲＡＭ２３に展開された無線通信管理プログラム２５１との協働で、無線通信管理処理を実行する。操作入力されたオーダ情報は、ＲＡＭ２３内に記憶されているものとする。
【００５１】
先ず、ＣＰＵ２１は、オーダ情報の送信中である旨を示す送信中画面を表示部２４に表示する（ステップＳ１１）。ステップＳ１１では、例えば、図３（ｂ）に示す送信中画面２４２が表示部２４に表示される。
【００５２】
そして、ＣＰＵ２１は、ＲＡＭ２３内に記憶されている操作入力されたオーダ情報から未選択の１つのアイテムのアイテム情報を選択して取得する（ステップＳ１２）。なお、例えば、ステップＳ１２が最初に実行される場合に、オーダ情報のうちのアイテム情報以外の情報（テーブルの識別情報等）も取得されるものとする。
【００５３】
そして、ＣＰＵ２１は、ステップＳ１２で取得したアイテム情報を、ＲＡＭ２３に記憶している送信するオーダ情報のバッファとしての送信バッファの末尾にコピーする（ステップＳ１３）。
【００５４】
そして、ＣＰＵ２１は、ＲＡＭ２３内に記憶されている操作入力されたオーダ情報にステップＳ１２で未選択の次のアイテム情報があるか否かを判別する（ステップＳ１４）。次のアイテム情報がある場合（ステップＳ１４；ＹＥＳ）、ステップＳ１２に移行される。次のアイテム情報がない場合（ステップＳ１４；ＮＯ）、操作入力されたオーダ情報の全てのアイテム情報が選択済であり、ＣＰＵ２１は、無線通信モジュール２６を初期化するモジュール初期化コマンドを無線通信モジュール２６に出力する（ステップＳ１５）。
【００５５】
そして、ＣＰＵ２１は、設定周波数をフラッシュメモリ２７から読み出し、無線通信モジュール２６の無線通信の周波数を読み出した設定周波数に設定する周波数設定コマンドを無線通信モジュール２６に出力する（ステップＳ１６）。周波数設定コマンドは、設定周波数を含む。そして、ＣＰＵ２１は、機器ＩＤをフラッシュメモリ２７から読み出し、無線通信モジュール２６に読み出した機器ＩＤを設定する機器ＩＤ設定コマンドを無線通信モジュール２６に出力する（ステップＳ１７）。機器ＩＤ設定コマンドは、機器ＩＤを含む。
【００５６】
そして、ＣＰＵ２１は、後述するステップＳ２４で算出されてＲＡＭ２３に記憶されている現在時刻から所定時間（所定数のキャリア時間バッファ）のキャリア時間を用いて、コントローラ１０との無線通信における占有率を算出する占有率算出処理を実行する（ステップＳ１８）。ステップＳ１８の占有率算出処理は、詳細に後述される。占有率とは、無線通信モジュール２６における所定の計測時間のうちの実際の送信時間の割合である。キャリア時間とは、送信データを送信する送信処理時間のうち、実際に無線電波を送信する時間である。また、ステップＳ１８の占有率算出処理で、無線通信が可能である場合にＲＡＭ２３に、無線通信モジュール２６の無線通信を可能とする旨の通信可能フラグが立てられ（記憶され）、無線通信が不可である場合に、ＲＡＭ２３に、無線通信モジュール２６の無線通信を不可とする旨の通信不可フラグが立てられるものとする。
【００５７】
そして、ＣＰＵ２１は、ステップＳ１８での占有率算出処理で、ＲＡＭ２３に通信可能フラグが立てられているか否かを判別する（ステップＳ１９）。通信可能フラグ立てられていない場合（ステップＳ１９；ＮＯ）、占有率が高く、ＲＡＭ２３に通信不可フラグが立てられており、ＣＰＵ２１は、無線通信処理を終了する。つまり、無線通信が停止される。
【００５８】
通信可能フラグが立てられている場合（ステップＳ１９；ＹＥＳ）、占有率が正常であり、ＣＰＵ２１は、ＲＡＭ２３に記憶されているオーダ情報の送信バッファを読み出す（ステップＳ２０）。そして、ＣＰＵ２１は、計時部２８からの現在時刻情報を取得し、その現在時刻情報を送信処理時間の開始時刻としてＲＡＭ２３に記憶し、キャリア時間算出に用いる送信処理時間の計測を開始する（ステップＳ２１）。
【００５９】
そして、ＣＰＵ２１は、無線通信モジュール２６に送信バッファのデータを送信データとしてコントローラ１０に送信させる送信コマンドと、その送信バッファのデータと、を無線通信モジュール２６に出力する（ステップＳ２２）。そして、ＣＰＵ２１は、無線通信モジュール２６からコントローラ１０で送信データを受信した旨の確認データ（ＡＣＫ）が入力されたことに応じて、送信処理時間の計測を終了し、計時部２８からの現在時刻情報を用いて、送信処理時間の終了時刻を取得し、送信処理時間の開始時刻から終了時刻までの送信処理時間をＲＡＭ２３に記憶する（ステップＳ２３）。
【００６０】
そして、ＣＰＵ２１は、無線通信モジュール２６の無線通信のキャリア時間を算出してＲＡＭ２３に記憶するキャリア時間算出記憶処理を実行し（ステップＳ２４）、無線通信管理処理を終了する。ステップＳ２４のキャリア時間算出記憶処理は、詳細に後述される。
【００６１】
次いで、図５及び図６を参照して、無線通信管理処理のステップＳ１８の占有率算出処理を説明する。ステップＳ２４のキャリア時間算出記憶処理で算出されたキャリア時間は、ＲＡＭ２３内の複数のキャリア時間バッファに格納される。例えば、図６に示すように、経過時間ｔにおいて現在時刻ｔ１から所定数（ここでは、６個）の過去の連続したキャリア時間バッファＹ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５，Ｙ６が随時更新設定されてＲＡＭ２３内に記憶される。キャリア時間バッファＹ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５，Ｙ６は、それぞれ、計測時間Ｔが６分割された単位時間Ｔ１のバッファである。計測時間Ｔは、占有率の算出対象の計測時間であり、予め設定されてフラッシュメモリ２７に記憶されているものとする。また、各キャリア時間バッファとともに、その開始時刻及び終了時刻が随時更新設定されてＲＡＭ２３内に記憶される。
【００６２】
キャリア時間バッファＹ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５，Ｙ６の順は、経過時間ｔの経過順となっている。キャリア時間バッファＹ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５，Ｙ６には、ステップＳ２４のキャリア時間算出記憶処理で、それぞれの開始時刻から終了時刻までの期間に発生したキャリア時間の値が格納される。
【００６３】
キャリア時間バッファＹ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５，Ｙ６を、現在時刻ｔ１を含むキャリア時間バッファを最新とした所定数（ここでは、６個）のリングバッファとすれば、ＲＡＭ２３の記憶容量を低減できて好ましい。また、計測時間Ｔ内のキャリア時間バッファの数は、６個に限定されるものではない。
【００６４】
図５に示すように、先ず、ＣＰＵ２１は、計時部２８から現在時刻情報を取得し、ＲＡＭ２３内の現在時刻情報から過去の計測時間Ｔに対応する所定数（例えば、６個）のキャリア時間バッファのうち未選択の１つのキャリア時間バッファを選択し、選択したキャリア時間バッファに格納されているキャリア時間の値を読み出して取得する（ステップＳ３１）。そして、ＣＰＵ２１は、ステップＳ３１で取得した選択中のキャリア時間バッファのキャリア時間の値を占有時間Ｔｗに加算する（ステップＳ３２）。
【００６５】
そして、ＣＰＵ２１は、ステップＳ３１で未選択のキャリア時間バッファがあるか否かを判別する（ステップＳ３３）。未選択のキャリア時間バッファがある場合（ステップＳ３３；ＹＥＳ）、ステップＳ３１に移行される。但し、この移行において、ステップＳ３１の現在時刻情報は、更新しないものとする。未選択のキャリア時間バッファがない場合（ステップＳ３３；ＮＯ）、全てのキャリア時間バッファの占有時間が取得されており、ＣＰＵ２１は、フラッシュメモリ２７から計測時間Ｔを読み出して取得する（ステップＳ３４）。
【００６６】
そして、ＣＰＵ２１は、ステップＳ３１〜Ｓ３３で算出された占有時間Ｔｗと、ステップＳ３４で取得した計測時間Ｔとを用いて、次式（１）により占有率Ｗを算出する（ステップＳ３５）。
Ｗ＝１００×Ｔｗ／Ｔ  …（１）
【００６７】
そして、ＣＰＵ２１は、フラッシュメモリ２７に記憶されている占有率上限Ｗｍを読み出して取得する（ステップＳ３６）。占有率上限Ｗｍは、予め設定されてフラッシュメモリ２７に記憶されており、無線通信モジュール２６の無線通信を可能とするか否かを判別するための占有率Ｗの閾値である。
【００６８】
そして、ＣＰＵ２１は、ステップＳ３６で算出した占有率Ｗが、占有率上限Ｗｍ以内であるか否かを判別する（ステップＳ３７）。占有率Ｗが占有率上限Ｗｍ以内である場合（ステップＳ３７；ＹＥＳ）、ＣＰＵ２１は、通信可能フラグをＲＡＭ２３内に設定し（立て）（ステップＳ３８）、占有率算出処理を終了する。占有率Ｗが占有率上限Ｗｍを超える場合（ステップＳ３７；ＮＯ）、ＣＰＵ２１は、通信不可フラグをＲＡＭ２３内に設定し（立て）（ステップＳ３９）、占有率算出処理を終了する。
【００６９】
ここで、図６を参照して、占有率算出処理における占有率Ｗ算出の具体例を説明する。図６に示すように、無線通信処理のステップＳ２１〜Ｓ２４において、経過時間ｔに沿って送信処理時間Ｚ１でキャリア時間Ｘ１が算出され、キャリア時間バッファＹ１に格納されるものとする。同様に、送信処理時間Ｚ２，Ｚ３でキャリア時間Ｘ２，Ｘ３が算出されキャリア時間バッファＹ３に格納されるものとする。
【００７０】
なお、単位時間Ｔ１が３０［ｓ］であり、計測時間Ｔが１８０［ｓ］であり、占有率上限Ｗｍが１０［％］に設定されているものとする。また、キャリア時間Ｘ１，Ｘ２，Ｘ３は、７［ｓ］、３［ｓ］、２［ｓ］であるものとする。
【００７１】
すると、初回のデータ送信後、キャリア時間Ｘ１＝７［ｓ］がキャリア時間バッファＹ１に記憶される。そして、２回目のデータ送信後、キャリア時間Ｘ２＝３［ｓ］がキャリア時間バッファＹ３に記憶される。そして、３回目のデータ送信後、３［ｓ］＋キャリア時間Ｘ３＝５［ｓ］がキャリア時間バッファＹ３に記憶される。なお、キャリア時間バッファＹ２，Ｙ４，Ｙ５，Ｙ６の値は、全て０となる。
【００７２】
このような無線通信がなされた場合に、占有率算出処理のステップＳ３５で、現在時刻ｔ１における占有率Ｗが算出される。占有率Ｗ＝１００×Ｔｗ／Ｔ＝１００×（７＋０＋５＋０＋０＋０）／１８０≒７［％］である。占有率Ｗ＝７［％］が、占有率上限Ｗｍ＝１０［％］以内である（ステップＳ３７；ＹＥＳ）ため、占有率算出処理のステップＳ３８で通信可能フラグが設定され、次の無線通信における無線通信処理のステップＳ２０〜Ｓ２４が実行される。
【００７３】
次いで、図７及び図８を参照して、無線通信管理処理のステップＳ２４のキャリア時間算出記憶処理を説明する。ハンディ端末２０Ａの周辺の無線電波の電界強度を検知する時間である周辺検知時間Ｂと、無線通信モジュール２６の無線通信のボーレートとは、固定値であり、予め設定されてフラッシュメモリ２７に記憶されているものとする。
【００７４】
先ず、ＣＰＵ２１は、無線通信管理処理のステップＳ２１〜Ｓ２３で取得された送信処理時間ＺをＲＡＭ２３から読み出して取得する（ステップＳ４１）。そして、ＣＰＵ２１は、周辺検知時間Ｂをフラッシュメモリ２７から読み出して取得する（ステップＳ４２）。そして、ＣＰＵ２１は、無線通信のボーレートをフラッシュメモリ２７から読み出して取得する（ステップＳ４３）。
【００７５】
そして、ＣＰＵ２１は、ＲＡＭ２３内の送信バッファのステップＳ２０で送信後の送信データを参照し、その送信データ量を取得する（ステップＳ４４）。そして、ＣＰＵ２１は、ステップＳ４４で取得した送信データ量と、ステップＳ４３で取得したボーレートとを用いて、次式（２）によりデータ送信時間Ｄの理想値を算出してＲＡＭ２３に記憶する（ステップＳ４５）。
Ｄ＝送信データ量／ボーレート  …（２）
【００７６】
そして、ＣＰＵ２１は、ステップＳ４１で取得した送信処理時間Ｚと、ステップＳ４２で取得した周辺検知時間Ｂと、ステップＳ４５で算出したデータ送信時間Ｄ（の理想値）とを用いて、キャリア時間Ｘを近似計算してＲＡＭ２３に記憶する（ステップＳ４６）。ステップＳ４６のキャリア時間Ｘの近似計算は、詳細に後述される。
【００７７】
そして、ＣＰＵ２１は、計時部２８から現在時刻情報を取得する（ステップＳ４７）。そして、ＣＰＵ２１は、ＲＡＭ２３内の複数のキャリア時間バッファから未選択の１つのキャリア時間バッファを選択する（ステップＳ４８）。そして、ＣＰＵ２１は、ステップＳ４８で選択したキャリア時間バッファの開始時刻及び終了時刻を、ＲＡＭ２３から取得する（ステップＳ４９）。
【００７８】
そして、ＣＰＵ２１は、ステップＳ４７で取得した現在時刻情報が、ステップＳ４８で選択中のキャリア時間バッファ内（ステップＳ４９で取得した開始時刻以上終了時刻以下）であるか否かを判別する（ステップＳ５０）。現在時刻情報が選択中のキャリア時間バッファ内でない場合（ステップＳ５０；ＮＯ）、ＣＰＵ２１は、ステップＳ４８で未選択の次のキャリア時間バッファがあるか否かを判別する（ステップＳ５１）。
【００７９】
次のキャリア時間バッファがある場合（ステップＳ５１；ＹＥＳ）、ステップＳ４８に移行される。次のキャリア時間バッファがない場合（ステップＳ５１；ＮＯ）、ＣＰＵ２１は、エラー処理を行い（ステップＳ５２）、キャリア時間算出記憶処理を終了する。
【００８０】
現在時刻情報が選択中のキャリア時間バッファ内である場合（ステップＳ５０；ＹＥＳ）、ＣＰＵ２１は、ステップＳ４６で算出したキャリア時間Ｘを、ステップＳ４８で選択中のＲＡＭ２３内のキャリア時間バッファの値に加算して記憶し（ステップＳ５３）、キャリア時間算出記憶処理を終了する。
【００８１】
ここで、図８を参照して、キャリア時間算出記憶処理のステップＳ４６のキャリア時間Ｘの近似計算を説明する。図８に示すように、無線通信管理処理のステップＳ２１〜Ｓ２４の送信処理時間Ｚの計測開始時刻から、最終的に、無線通信モジュール２６からコントローラ１０へ送信データの送信が成功した時刻までの時間である。
【００８２】
送信処理時間Ｚにおいて、無線通信モジュール２６で、後述する無線通信処理により、送信コマンド等のコマンドの設定処理と、最初のｎ回（ｎ：任意の整数）で周辺検知が失敗し（周辺検知失敗ａ）、次いでｍ回（ｍ：任意の整数）でデータ送信が失敗し（データ送信失敗ｂ）、最後の一回でデータ送信が成功する（データ送信成功ｃ）と推定する。つまり、ステップＳ２１で送信処理時間Ｚの計測が開始され、周辺検知失敗ａ及びデータ送信失敗ｂによりデータ送信の再送（リトライ）が発生し、最後のデータ送信成功ｃに応じて、ステップＳ２３で送信処理時間Ｚの計測が終了する。
【００８３】
送信コマンド等のコマンドの設定処理に要する時間を、コマンド処理時間Ａとする。周辺検知失敗ａは、周辺検知時間Ｂと、待ち時間Ｃと、からなる。周辺検知時間Ｂは、ステップＳ４２で取得された設定値である。待ち時間Ｃは、周辺検知時間Ｂでの周辺の無線電波（の電界強度）検知に失敗して、周辺検知時間Ｂ終了後から次の周辺の無線電波検知までの待ち時間である。待ち時間Ｃは、ランダム値であり、例えば、その平均値を約３００［ｍｓ］とする。
【００８４】
データ送信失敗ｂは、周辺検知時間Ｂと、データ送信時間Ｄと、確認データ待ち失敗時間Ｅと、からなる。データ送信時間Ｄは、ステップＳ４５で理想値が算出されたデータ送信時間Ｄの実際の値である。確認データ待ち失敗時間Ｅは、無線通信モジュール２６が送信データをコントローラ１０へ送信した後、コントローラ１０から確認データ（ＡＣＫ）を待つ最大の待ち時間である。つまり、確認データ待ち失敗時間Ｅ待っても、確認データ（ＡＣＫ）が送信されない場合、データ送信失敗となる。
【００８５】
データ送信成功ｃは、周辺検知時間Ｂと、データ送信時間Ｄと、確認データ待ち成功時間Ｅｓと、からなる。確認データ待ち成功時間Ｅｓは、無線通信モジュール２６が送信データをコントローラ１０へ送信した後、コントローラ１０から確認データ（ＡＣＫ）を受信するまでの待ち時間である。確認データ待ち成功時間Ｅｓは、確認データ待ち失敗時間Ｅよりも短くなる。
【００８６】
図８の例では、送信処理時間Ｚは、次式（３）により算出される。
Ｚ＝Ａ＋ｎ（Ｂ＋Ｃ）＋ｍ（Ｂ＋Ｄ＋Ｅ）＋（Ｂ＋Ｄ＋Ｅｓ）  …（３）
式（３）のＺからキャリア時間Ｘを推定する。前提として、無線通信モジュール２６に計時部（ＲＴＣ）が無いため、送信処理時間Ｚからデータ送信時間Ｄが発生した回数を正確に知ることはできない。また、キャリア時間Ｘの近似計算において、データ送信時間Ｄが多く発生したと計算することが、安全な近似となる。なぜなら、データ送信時間Ｄの発生回数を多くすると、最終的に占有率Ｗが大きくなるので、無線通信管理処理のステップＳ１９でＮＯにいきやすくなり、無線通信の占有を低減する方向に働くからである。
【００８７】
式（３）において、データ送信失敗ｂの（Ｂ＋Ｄ＋Ｅ）がデータ送信成功ｃの（Ｂ＋Ｄ＋Ｅｓ）とほぼ同じ（つまりＥ≒Ｅｓ）として近似し、次式（４）を得る。
Ｚ＝Ａ＋ｎ（Ｂ＋Ｃ）＋（ｍ＋１）（Ｂ＋Ｄ＋Ｅｓ）  …（４）
【００８８】
そして、式（４）の両辺を（Ｂ＋Ｄ＋Ｅｓ）で割ると、次式（５）が得られる。
Ｚ／（Ｂ＋Ｄ＋Ｅｓ）＝｛Ａ＋ｎ（Ｂ＋Ｃ）｝／（Ｂ＋Ｄ＋Ｅｓ）＋（ｍ＋１）  …（５）
式（５）の左辺は、送信処理時間Ｚ内に何回、データ送信成功ｃ（＋データ送信失敗ｂ）が行われたかを示す送信回数となる。
【００８９】
ここで、式（５）の右辺第１項について、コマンド処理時間Ａが十分小さいので無視してよく、確認データ待ち成功時間Ｅｓも十分に小さいとすると、次式（６）が得られる。
Ｚ／（Ｂ＋Ｄ）＝｛ｎ（Ｂ＋Ｃ）｝／（Ｂ＋Ｄ）＋（ｍ＋１）  …（６）
【００９０】
ここで、ｎ（Ｂ＋Ｃ）＜（Ｂ＋Ｄ）ならば、式（６）の右辺第１項を無視し、ｎ（Ｂ＋Ｃ）≧（Ｂ＋Ｄ）ならば、式（６）の右辺第１項を送信回数に含めてしまうことにする。式（６）の右辺第１項は、実際には、キャリア時間ではないが、上述の安全な方向の近似をとったものである。すると、式（６）の左辺が送信データの送信回数となる。
【００９１】
よって、キャリア時間Ｘは、データ送信時間Ｄと、送信回数とを乗算して次式（７）により算出される。
Ｘ＝Ｄ｛Ｚ／（Ｂ＋Ｄ）｝  …（７）
ステップＳ４６では、式（７）によりキャリア時間Ｘが算出される。
【００９２】
次いで、図９を参照して、無線通信モジュール２６のＣＰＵ２６１で実行される無線通信処理を説明する。
【００９３】
無線通信処理は、ＣＰＵ２１で実行される無線通信管理処理により出力された各種コマンドに応じて、実際の無線通信等の各種処理を行う処理である。無線通信モジュール２６において、ＣＰＵ２１から情報が入力されたことをトリガとして、ＣＰＵ２６１は、ＲＯＭ２６３から読み出され適宜ＲＡＭ２６２に展開された無線通信プログラム２６３１との協働で、無線通信処理を実行する。
【００９４】
先ず、ＣＰＵ２６１は、ＣＰＵ２１から入力された情報が各種コマンド（送信コマンド、周波数設定コマンド、機器ＩＤ設定コマンド、送信コマンド）であるか否かを判別する（ステップＳ６１）。各種コマンドでない場合（ステップＳ６１；ＮＯ）、無線通信処理が終了する。
【００９５】
各種コマンドである場合（ステップＳ６１；ＹＥＳ）、ＣＰＵ２６１は、各種コマンドがどのコマンドであるかを解析する（ステップＳ６２）。そして、ＣＰＵ２６１は、ステップＳ６２の解析結果が初期設定コマンドであるか否かを判別する（ステップＳ６３）。初期設定コマンドでない場合（ステップＳ６３；ＮＯ）、ＣＰＵ２６１は、ステップＳ６２の解析結果が周波数設定コマンドであるか否かを判別する（ステップＳ６４）。
【００９６】
周波数設定コマンドでない場合（ステップＳ６４；ＮＯ）、ＣＰＵ２６１は、ステップＳ６２の解析結果が機器ＩＤ設定コマンドであるか否かを判別する（ステップＳ６５）。機器ＩＤ設定コマンドでない場合（ステップＳ６５；ＮＯ）、ＣＰＵ２６１は、ステップＳ６２の解析結果が送信コマンドであるか否かを判別する（ステップＳ６６）。送信コマンドでない場合（ステップＳ６６；ＮＯ）、無線通信処理が終了する。
【００９７】
初期設定コマンドである場合（ステップＳ６３；ＹＥＳ）、ＣＰＵ２６１は、ＲＯＭ２６３に記憶されている設定情報を読み出す（ステップＳ６７）。そして、ＣＰＵ２６１は、ステップＳ６７で読み出した設定情報をＲＡＭ２６２に記憶し（ステップＳ６８）、無線通信処理を終了する。以後の処理では、ＲＡＭ２６２に記憶された設定情報が適宜使用される。
【００９８】
周波数設定コマンドである場合（ステップＳ６４；ＹＥＳ）、ＣＰＵ２６１は、周波数設定コマンドに含まれる設定周波数をＲＡＭ２６２に記憶し（ステップＳ６９）、無線通信処理を終了する。機器ＩＤ設定コマンドである場合（ステップＳ６５；ＹＥＳ）、ＣＰＵ２６１は、機器ＩＤ設定コマンドに含まれる機器ＩＤをＲＡＭ２６２に記憶し（ステップＳ７０）、無線通信処理を終了する。
【００９９】
送信コマンドである場合（ステップＳ６５；ＹＥＳ）、ＣＰＵ２６１は、送信コマンドに対応する送信データがＣＰＵ２１から入力され、その送信データをＲＡＭ２６２に記憶する（ステップＳ７１）。そして、ＣＰＵ２６１は、送信データ再送のリトライ回数（ステップＳ７４，Ｓ７７；ＮＯの回数）が、予め指定された既定値以下であるか否かを判別する（ステップＳ７２）。この既定値は、例えば、１６〜２０回である。
【０１００】
リトライ回数が既定値より多い場合（ステップＳ７２；ＮＯ）、無線通信処理が終了する。リトライ回数が既定値以下である場合（ステップＳ７２；ＹＥＳ）、ＣＰＵ２６１は、無線通信部２６４を用いて周辺の設定周波数の無線電波の電界強度を検知する（ステップＳ７３）。そして、ＣＰＵ２６１は、ステップＳ７３で検知した電界強度が、予め設定された既定電界強度以下であるか否かを判別する（ステップＳ７４）。
【０１０１】
検知した電界強度が既定電界強度より大きい場合（ステップＳ７４；ＮＯ）、ステップＳ７２に移行される。検知した電界強度が既定電界強度以下である場合（ステップＳ７４；ＹＥＳ）、ＣＰＵ２６１は、無線通信部２６４を介して、ＲＡＭ２６２に記憶されている設定情報及び設定周波数を用いて、ＲＡＭ２６２に記憶されている送信データ及び機器ＩＤをコントローラ１０へ無線送信する（ステップＳ７５）。
【０１０２】
そして、ＣＰＵ２６１は、無線通信部２６４を介して、コントローラ１０から確認データ（ＡＣＫ）をコントローラ１０から無線受信する（ステップＳ７６）。そして、ＣＰＵ２６１は、ステップＳ７６で確認データ（ＡＣＫ）を受信したか否かを判別する（ステップＳ７７）。
【０１０３】
確認データ（ＡＣＫ）を受信していない場合（ステップＳ７７；ＮＯ）、ステップＳ７２に移行される。確認データ（ＡＣＫ）を受信した場合（ステップＳ７７；ＹＥＳ）、ＣＰＵ２６１は、確認データ（ＡＣＫ）をＣＰＵ２１に出力し（ステップＳ７８）、無線通信処理を終了する。ステップＳ７８は、図４の無線通信管理処理のステップＳ２３に対応する。
【０１０４】
以上、本実施の形態によれば、オーダエントリシステム１において、ハンディ端末２０Ａ〜２０Ｃは、それぞれ、コントローラ１０にデータ送信を行い、コントローラ１０へのデータ送信が失敗した場合に、当該データ送信のリトライを行う無線通信モジュール２６を備える。また、ハンディ端末２０Ａ〜２０Ｃは、それぞれ、無線通信モジュール２６へのデータの無線送信指示（送信コマンド出力）を行い、当該データの無線送信指示からデータ送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間Ｘを算出し、所定の計測時間Ｔのうち前記算出したキャリア時間Ｘが占める割合を示す占有率Ｗを算出し、当該算出した占有率Ｗが占有率上限Ｗｍ以下になるよう無線通信モジュール２６の無線通信を制御するＣＰＵ２１を備える。
【０１０５】
このため、同一の周波数でコントローラ１０と無線通信するハンディ端末２０Ａ，２０Ｂ，２０Ｃにおいて、各ハンディ端末の高い占有率での無線通信の占有を防止でき、ハンディ端末２０Ａ，２０Ｂ，２０Ｃにおける通信速度低下を防ぐことができ通信を安定して行うことができる。また、送信処理時間のうちのキャリア時間が占める割合として占有率を算出するので、無線通信を失敗した時間を加味した正確な占有率を算出できる。また、ハンディ端末２０Ａ，２０Ｂ，２０Ｃの設定周波数又はその近傍の無線通信を行う他の機器の通信を妨げること（悪影響）を低減できる。
【０１０６】
また、ハンディ端末２０Ａ，２０Ｂ，２０Ｃは、計測した送信処理時間Ｚと、周辺の電波の電界強度の検知の周辺検知時間Ｂと、送信されたデータの送信データ量を無線通信のボーレートで割ったデータ送信時間Ｄと、を用いて、近似式（７）によりキャリア時間Ｘを算出する。よって、容易且つ迅速にキャリア時間Ｘを算出でき、このキャリア時間を加味した占有率Ｗを容易且つ迅速に算出できる。
【０１０７】
また、ハンディ端末２０Ａ，２０Ｂ，２０Ｃは、キャリア時間バッファＹ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５、Ｙ６をＲＡＭ２３に記憶し、算出したキャリア時間Ｘを、現在時刻に対応するキャリア時間バッファ内の値に加算していき、計測時間のうち全てのキャリア時間バッファＹ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５、Ｙ６のキャリア時間Ｘの合計値（占有時間Ｔｗ）が占める割合を示す占有率Ｗを、式（１）により算出する。このため、占有率Ｗを正確且つ容易に算出できる。また、キャリア時間バッファＹ１，Ｙ２，Ｙ３，Ｙ４，Ｙ５、Ｙ６をリングバッファとすれば、キャリア時間バッファの容量を低減できる。
【０１０８】
また、ハンディ端末２０Ａ，２０Ｂ，２０Ｃは、算出した占有率Ｗが占有率上限Ｗｍ以下になる場合に、無線通信モジュール２６にデータの無線送信を指示（送信コマンド出力）を行い、算出した占有率Ｗが占有率上限Ｗｍより大きくなる場合に、無線通信モジュール２６のデータの無線送信を停止する。このため、占有率上限Ｗｍより大きい占有率Ｗでのデータの無線送信を確実に防ぐことができる。
【０１０９】
また、オーダエントリシステム１は、ハンディ端末２０Ａ，２０Ｂ，２０Ｃと、コントローラ１０と、を備える。このため、オーダエントリシステム１内でのハンディ端末２０Ａ，２０Ｂ，２０Ｃにおける通信速度低下を防ぐことができ通信を安定して行うことができる。
【０１１０】
なお、上記実施の形態における記述は、本発明に係る通信端末、無線通信システム及びプログラムの一例であり、これに限定されるものではない。
【０１１１】
上記実施の形態では、オーダエントリシステム１が、１つのコントローラ１０を備える構成としたが、これに限定されるものではない。例えば、オーダエントリシステムがマルチアクセスポイント機能を有する構成としてもよい。このオーダエントリシステムは、互いに無線通信の周波数（チャネル）が異なる複数のコントローラを備える。各ハンディ端末は、複数のコントローラのうち、電波状況が良い（無線通信の占有がなされていない周波数の）コントローラを探してアクセスする。このマルチアクセスポイント機能のオーダエントリシステムに本実施の形態のハンディ端末の占有率の算出及び無線通信の制御を行うことにより、１台のコントローラに対する１台のハンディ端末の高い占有率での無線通信の占有を防ぎ、複数のハンディ端末における通信速度低下を防ぐことができ通信を安定して行うことができる。
【０１１２】
また、上記実施の形態では、通信端末として、ハンディ端末２０Ａ，２０Ｂ，２０Ｃを説明したが、これに限定されるものではない。例えば、通信端末は、テーブルに設置され、顧客のオーダ情報の入力を受け付けてコントローラに無線送信するテーブル端末等、他の通信端末としてもよい。
【０１１３】
また、上記実施の形態におけるオーダエントリシステムの各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【０１１４】
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
＜請求項１＞
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末であって、
前記コントローラにデータの無線送信を行い、当該コントローラへのデータの無線送信が失敗した場合に、当該データの無線送信のリトライを行う無線通信モジュールと、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間を算出し、所定の計測時間のうち前記算出したキャリア時間が占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部と、を備える通信端末。
＜請求項２＞
前記無線通信モジュールは、周辺の電波の電界強度を検知し、当該検知した電界強度が既定の電界強度以内である場合に、前記コントローラにデータの無線送信を行い、
前記制御部は、前記計測した送信処理時間Ｚと、前記周辺の電波の電界強度の検知の周辺検知時間Ｂと、前記送信されたデータのデータ量を無線通信のボーレートで割ったデータ送信時間Ｄと、を用いて、Ｄ｛Ｚ／（Ｂ＋Ｄ）｝の式によりキャリア時間を算出する請求項１に記載の通信端末。
＜請求項３＞
前記計測時間を経時的に分割した複数のキャリア時間バッファを記憶する記憶部を備え、
前記制御部は、前記算出したキャリア時間を、現在時刻に対応する前記キャリア時間バッファ内の値に加算していき、前記計測時間のうち前記全てのキャリア時間バッファのキャリア時間の合計値が占める割合を示す占有率を算出する請求項１又は２に記載の通信端末。
＜請求項４＞
前記制御部は、前記算出した占有率が前記上限値以下になる場合に、前記無線通信モジュールにデータの無線送信指示を行い、前記算出した占有率が前記上限値より大きくなる場合に、前記無線通信モジュールのデータの無線送信を停止する請求項１から３のいずれか一項に記載の通信端末。
＜請求項５＞
請求項１から４のいずれか一項に記載の複数の通信端末と、
前記コントローラと、を備える無線通信システム。
＜請求項６＞
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末のコンピュータを、
前記コントローラにデータの無線送信を行い、当該コントローラへのデータの無線送信が失敗した場合に、当該データの無線送信のリトライを行う無線通信モジュール、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間を算出し、所定の計測時間のうち前記算出したキャリア時間が占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部、
として機能させるためのプログラム。
【符号の説明】
【０１１５】
１  オーダエントリシステム
１０，１０Ｄ  コントローラ
２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ  ハンディ端末
２１  ＣＰＵ
２２  操作部
２３  ＲＡＭ
２４  表示部
２５  ＲＯＭ
２６  無線通信モジュール
２６１  ＣＰＵ
２６２  ＲＡＭ
２６３  ＲＯＭ
２６４  無線通信部
２６５  バス
２７  フラッシュメモリ
２８  計時部
２９  電源部
２９ａ  バス
３０，４０  プリンタ
５０  ハブ
６０  ＥＣＲ
【図１】
0005891633.tif 000002
【図２】
0005891633.tif 000003
【図３】
0005891633.tif 000004
【図４】
0005891633.tif 000005
【図５】
0005891633.tif 000006
【図６】
0005891633.tif 000007
【図７】
0005891633.tif 000008
【図８】
0005891633.tif 000009
【図９】
0005891633.tif 000010
【図１０】
0005891633.tif 000011