説明

通信端末、無線通信システム及びプログラム

【課題】コントローラと無線通信する複数の通信端末における通信速度低下を防ぎ通信を安定して行うことである。
【解決手段】コントローラ10と無線通信を行うハンディ端末20A,20B,20Cであって、コントローラ10にデータの無線送信を行い、当該コントローラへのデータ送信が失敗した場合に、当該データ送信のリトライを行う無線通信モジュールと、無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間を算出し、所定の計測時間のうち前記算出したキャリア時間が占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう無線通信モジュールの無線通信を制御する制御部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線通信を行う通信端末、この通信端末を含む無線システム、及びプログラムに関する。
【背景技術】
【0002】
従来、レストラン等の飲食店の店舗において、接客スタッフがオーダをとるためのハンディ端末を所持し、このハンディ端末からコントローラを介してオーダアイテムの調理指示を調理スタッフに通知するオーダエントリシステムが知られている。
【0003】
オーダエントリシステムは、少なくとも1台のハンディ端末と、コントローラと、プリンタと、を備える。ハンディ端末は、接客スタッフにより1人1台所持され、顧客の注文に関するオーダ情報が入力される。入力されたオーダ情報は、ハンディ端末から無線通信によりコントローラへ送信され、プリンタにより印刷される。調理スタッフは、印刷されたオーダ情報を目視により確認して調理を実行する。
【0004】
複数のハンディ端末を有するオーダエントリシステムにおいて、各ハンディ端末とコントローラとの通信は、特定小電力の無線通信で行われ、コントローラが同時に複数のハンディ端末のうちの一台と通信可能である。つまり、コントローラの無線通信は、1回線である。ここで、図10を参照して、ハンディ端末20Dとコントローラ10Dとを有するオーダエントリシステムにおける無線通信を説明する。図10は、ハンディ端末20Dとコントローラ10Dとの無線通信における電界強度を示す図である。
【0005】
ハンディ端末20Dは、メインのCPU(Central Processing Unit)と、このCPUとシリアルインタフェースを介して接続された無線通信モジュールと、を含むものとする。無線通信モジュールは、無線通信を行うチップセットのモジュールである。無線通信モジュールの主な機能は、(I)周辺電波検知機能と、(II)データ送信機能と、(III)確認受信機能と、(IV)データ受信機能と、(V)データ再送機能と、である。
【0006】
(I)の周辺電波検知機能とは、周辺電波の電界強度を検知し、検知されるとデータ送信を一時的に取り止める機能である。(II)のデータ送信機能とは、送信対象の各種データ(送信データ)を送信先のコントローラに送信する機能である。(III)の確認受信機能とは、データ送信機能で送信した送信データに対する確認データ(電文)を送信先のコントローラから受信する機能である。この確認データは、送信データの受信が成功したことを示すACKである。(IV)のデータ受信機能とは、各種データ(受信データ)を送信元のコントローラから受信する機能である。(V)の再送(リトライ)機能とは、周辺電波検知機能での周辺電波検知が失敗したときや、確認受信機能での確認データの受信が無いときに、送信データを送信先のコントローラに送信することを再試行(リトライ)する機能である。
【0007】
ハンディ端末20DのメインのCPUは、無線通信のアプリケーションプログラムとの協働で、各種コマンドや送受信データの受け渡しを無線通信モジュールに対して行うことで、無線通信を実現している。つまり、メインのCPUから見て、無線通信モジュール内の処理を隠蔽して実施することで、安定した無線通信処理が保証される。
【0008】
図10に示すように、ハンディ端末20Dからコントローラ10Dへデータ送信を行う場合の通信範囲は、ハンディ端末20Dを中心として、同心円状の通信領域R1,R2,R3,R4,R5となる。通信領域R1,R2,R3,R4,R5の各幅は、例えば15〜20[m]である。コントローラ10Dの位置がハンディ端末20Dから離れるにつれて(通信領域R1→R2→R3→R4)、無線電波の電界強度が、−40[dBm]→−60[dBm]→−80[dBm]→−100[dBm]のように弱くなっていく。コントローラ10Dが通信領域R5にある場合、電界強度が例えば−130[dBm]となってノイズと同等になり、ハンディ端末20Dは、コントローラ10Dへデータ送信できるものの、コントローラ10Dからデータ受信が不可能となる。
【0009】
ハンディ端末20Dからコントローラ10Dへのデータ送信において、ハンディ端末20Dは、無線通信モジュールに送信データの送信コマンドを出力する。そして、無線通信モジュールは、送信コマンドが入力されると、周辺電波の電界強度を検知し、検知されない場合に、送信データをコントローラ10に送信し、周辺電波検知失敗又は送信失敗すると、所定の待ち時間内に確認データ(ACK)をコントローラ10から受信できず、送信データを再送(リトライ)することを繰り返し、確認データをコントローラ10から受信すると、送信成功となる。このため、コントローラ10Dが通信領域R1,R2,R3,R4にあって電波環境が良く無線送受信が可能な場合に、ハンディ端末20Dは、コントローラ10Dへ送信データを送信できる。
【0010】
コントローラ10Dが通信領域R5にあって電波環境が悪く無線送信のみが可能な場合に、ハンディ端末20Dの無線通信モジュールは、コントローラ10Dに送信データを送信できるものの確認データが受信できなく、自動的に、送信データの再送(リトライ)を所定回数繰り返し行う。
【0011】
また、特定小電力の無線通信において、送信元の通信機器から送信先の通信機器に送信データを送信するにあたり、電波環境が悪い場合の送信データの延滞状況を有効に回避する無線通信システムが知られている(特許文献1参照)。この無線通信システムにおいて、送信元の通信機器は、電波環境が悪く、データ送信のリトライが発生した場合に、その送信データを蓄積し、電波環境が良くなった場合に、蓄積した送信データと新たに発生した送信データとをまとめて送信先の通信機器に送信している。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開平7−58680号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかし、図10においてコントローラ10Dが通信領域R5にあり電波環境が悪く、ハンディ端末20Dの無線通信モジュールがデータ送信のリトライを繰り返し行う場合に、そのリトライ中にハンディ端末20Dが電波を繰り返し放射するので、他のハンディ端末にとって、電波環境の悪化となっていた。なぜなら、リトライ中のハンディ端末20Dがコントローラ10Dの無線通信の同一周波数(同一チャネル)の1回線を占有し、そのリトライ中に、他のハンディ端末がコントローラ10Dと通信できないからである。
【0014】
このような電波環境で複数のハンディ端末が同時にデータ送信を行う場合には、データ送信の遅延及びリトライが連鎖的に発生し、通信の速度や安定性を著しく劣化させてしまうおそれがあった。さらに、ハンディ端末20Dの通信周波数又はその近傍の周波数を使用するその他の通信機器の通信を妨げるおそれがあった(悪影響を与えていた)。
【0015】
また、上記特許文献1の無線通信システムでは、複数の送信データの送信効率を改善できるものの、無線通信の周波数(チャネル)が同じ通信端末(ハンディ端末)が複数ある場合に、電波環境が悪いと、1台の通信端末でリトライが従来と同様に繰り返され、複数の通信端末の通信の速度や安定性を著しく劣化させてしまうおそれがあった。
【0016】
本発明の課題は、コントローラと無線通信する複数の通信端末における通信速度低下を防ぎ通信を安定して行うことである。
【課題を解決するための手段】
【0017】
上記課題を解決するために、本発明の通信端末は、
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末であって、
前記コントローラにデータの無線送信を行い、当該コントローラへのデータの無線送信が失敗した場合に、当該データの無線送信のリトライを行う無線通信モジュールと、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間を算出し、所定の計測時間のうち前記算出したキャリア時間が占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部と、を備える。
【発明の効果】
【0018】
本発明によれば、コントローラと無線通信する複数の通信端末での同一周波数の通信の占有を避けることができ、複数の通信端末における通信速度低下を防ぐことができ通信を安定して行うことができる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施の形態のオーダエントリシステムを示すブロック図である。
【図2】ハンディ端末の機能構成を示すブロック図である。
【図3】(a)は、オーダ情報入力画面を示す図である。(b)は、送信中画面を示す図である。
【図4】ハンディ端末(のCPU)で実行される無線通信管理処理を示すフローチャートである。
【図5】無線通信管理処理の占有率算出処理を示すフローチャートである。
【図6】キャリア時間バッファへのキャリア時間格納を示す図である。
【図7】無線通信管理処理のキャリア時間算出記憶処理を示すフローチャートである。
【図8】無線通信モジュールのデータ送信の一例を示す図である。
【図9】無線通信モジュール(のCPU)で実行される無線通信処理を示すフローチャートである。
【図10】ハンディ端末とコントローラとの無線通信における電界強度を示す図である。
【発明を実施するための形態】
【0020】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【0021】
図1〜図10を参照して、本発明に係る実施の形態を説明する。先ず、図1及び図2を参照して、本実施の形態の装置構成を説明する。図1は、本実施の形態のオーダエントリシステム1を示すブロック図である。図2は、ハンディ端末20Aの機能構成を示すブロック図である。
【0022】
本実施の形態の無線通信システムとしてのオーダエントリシステム1は、レストラン等の飲食店の店舗に設置される。オーダエントリシステム1は、ウエイター等の接客スタッフにより顧客の注文したアイテム(料理、ドリンク等)のアイテム名及び数量等のオーダ情報がハンディ端末20A,20B,20Cに入力され、そのオーダ情報を印刷してキッチンの調理スタッフに通知するシステムである。
【0023】
オーダエントリシステム1は、コントローラ(コントローラボックス)10と、通信端末としてのハンディ端末20A,20B,20Cと、プリンタ30,40と、ハブ(HUB)50と、ECR(Electronic Cash Resister)60と、を備える。
【0024】
オーダエントリシステム1が設置される店舗は、キッチンと、フロアと、デシャップと、を有するものとする。キッチンは、調理スタッフが調理を行う領域である。フロアは、顧客が食事を行い且つ注文を受ける接客スタッフが配置されている領域である。デシャップは、キッチン及びフロアの間に位置し、接客スタッフが入ることが可能であり、調理スタッフから接客スタッフへの調理済のアイテムの受け渡し等を行う領域である。
【0025】
ハンディ端末20A,20B,20Cは、フロアに配置された3人の接客スタッフによりそれぞれ所持されるものとする。つまり、ハンディ端末20A,20B,20Cは、3台同時に使用可能である。コントローラ10、プリンタ40、ハブ50は、例えば、デシャップに配置されている。プリンタ30は、キッチンに配置されている。ECR60は、フロアに配置されている。
【0026】
コントローラ10は、オーダエントリシステム1における情報の管理装置である。コントローラ10は、オーダエントリシステム1の各装置との通信を行う通信機能、メニュー情報等の設定機能、プリンタ30,40の印刷等の制御機能等の機能を有する。
【0027】
ハンディ端末20A,20B,20Cは、それぞれ、接客スタッフがオーダ情報を入力するOES(Order Entry System)端末である。但し、オーダエントリシステム1におけるハンディ端末の台数は、3台に限定されるものではなく、2台又は4台以上としてもよい。
【0028】
プリンタ30は、コントローラ10の制御により、ハンディ端末20A,20B,20Cで入力されたオーダ情報に対応するオーダアイテムの情報を用紙に印刷するプリンタである。調理スタッフは、プリンタ30で印刷された用紙に記載されたオーダアイテムの種類及びアイテム数を目視により確認して、オーダアイテムの調理を行う。
【0029】
プリンタ40は、コントローラ10の制御により、ハンディ端末20A,20B,20Cで入力されたオーダ情報に対応するオーダアイテムの情報を用紙に印刷し伝票として出力するプリンタである。接客スタッフは、調理スタッフから調理済のアイテムを受け取るとともに、プリンタ40で印刷された伝票に記載されたオーダアイテムの種類及びアイテム数を目視により確認して、オーダアイテムをフロアの顧客に配膳する。
【0030】
ハブ50は、通信ネットワークの集線装置であり、コントローラ10と、プリンタ30,40、ECR60と、の通信を中継する。ECR60は、顧客の食事の精算処理を行う装置である。ECR60は、コントローラ10から精算のための情報を受信する機能、お釣り用の金銭や顧客が支払った金銭を収納する機能、レシートを印刷して発行する機能、売上データを登録する機能等を有する。
【0031】
次いで、図2を参照して、ハンディ端末20Aの内部の機能構成を説明する。ハンディ端末20B,20Cの機能構成は、ハンディ端末20Aの機能構成と同様であり、その説明を省略する。
【0032】
図2に示すように、ハンディ端末20Aは、制御部としてのCPU21と、操作部22と、RAM(Random Access Memory)23と、表示部24と、ROM(Read Only Memory)25と、無線通信モジュール26と、フラッシュメモリ27と、計時部28と、電源部29と、を備える。ハンディ端末20Aの電源部29を除く各部は、バス29aを介して接続されている。CPU21と、無線通信モジュール26との間は、例えば、バス29aのうちのシリアルインタフェースで接続されているものとする。
【0033】
CPU21は、ハンディ端末20Aの各部を制御する。CPU21は、各種プログラムのうち指定されたプログラムをROM25から読み出してRAM23に展開し、展開されたプログラムとの協働で各種処理を実行する。
【0034】
操作部22は、ユーザ(接客スタッフ)からの各種情報の操作入力を受け付け、その操作情報をCPU21に出力する。RAM23は、揮発性の半導体メモリであり、各種データ及び各種プログラムを格納するワークエリアを有する。
【0035】
表示部24は、LCD(Liquid Crystal Display)等の表示パネルで構成され、CPU21から入力される表示情報に応じて各種表示を行う。ROM25は、各種データ及び各種プログラムを記憶する読み出し専用のメモリである。ROM25には、無線通信管理プログラム251が記憶されている。
【0036】
無線通信モジュール26は、コントローラ10と無線通信を行うチップセットのモジュールである。無線通信モジュール26は、CPU261と、RAM262と、ROM263と、無線通信部264と、を備える。無線通信モジュール26の各部は、バス265を介して接続されている。
【0037】
CPU261は、無線通信モジュール26の各部を制御する。CPU261は、各種プログラムのうち指定されたプログラムをROM263から読み出してRAM262に展開し、展開されたプログラムとの協働で各種処理を実行する。
【0038】
RAM262は、揮発性の半導体メモリであり、各種データ及び各種プログラムを格納するワークエリアを有する。ROM263は、各種データ及び各種プログラムを記憶する読み出し専用の半導体メモリである。ROM263には、無線通信プログラム2631と、設定情報と、が記憶されている。設定情報とは、無線通信モジュール26を制御するためのパラメータである。
【0039】
無線通信部264は、アンテナ、変調部、復調部、信号処理部等を備え、コントローラ10と無線通信を行う。無線通信部264は、信号処理部により送信する情報を信号処理し、信号処理した送信信号を変調部により変調し、その変調信号をアンテナから無線電波として出力する。また、無線通信部264は、コントローラ10から出力された無線電波をアンテナにより受信し、その受信信号を復調部により復調し、その復調信号を信号処理部で信号処理して情報を受信する。
【0040】
無線通信モジュール26は、従来の技術で述べたハンディ端末20Dの無線通信モジュールと同様に、(I)周辺電波検知機能と、(II)データ送信機能と、(III)確認受信機能と、(IV)データ受信機能と、(V)データ再送機能と、を有する。
【0041】
フラッシュメモリ27は、各種情報を読み出し及び書き込み可能に記憶する不揮発性の半導体メモリである。フラッシュメモリ27には、ハンディ端末20Aの識別情報としての機器IDが記憶されている。計時部28は、現在の時刻を計時する計時回路を有し、計時回路で計時された現在の時刻情報をCPU21に出力するRTC(Real Time Clock)である。
【0042】
電源部29は、リチウム電池等の二次電池であり、ハンディ端末20Aの各部に電源供給を行う。電源部29は、アルカリ電池等の一次電池としてもよい。
【0043】
次に、図3〜図9を参照して、オーダエントリシステム1の動作を説明する。図3(a)は、オーダ情報入力画面241を示す図である。図3(b)は、送信中画面242を示す図である。図4は、ハンディ端末20A(のCPU21)で実行される無線通信管理処理を示すフローチャートである。図5は、無線通信管理処理の占有率算出処理を示すフローチャートである。図6は、キャリア時間バッファY1,Y2,Y3,Y4,Y5,Y6へのキャリア時間X格納を示す図である。図7は、無線通信管理処理のキャリア時間算出記憶処理を示すフローチャートである。図8は、無線通信モジュールのデータ送信の一例を示す図である。図9は、無線通信モジュール26(のCPU261)で実行される無線通信処理を示すフローチャートである。
【0044】
図3〜図8を参照して、ハンディ端末20AのCPU21で実行される無線通信管理処理を説明する。先ず、図3(a)、図3(b)を参照して、無線通信管理処理の前提となる処理を説明する。
【0045】
オーダエントリシステム1において、店舗の営業時間に、顧客が入店しテーブルに着席すると、接客スタッフは、その顧客のアイテム(料理、ドリンク等)の注文をとる。ここでは、ハンディ端末20Aを所持する接客スタッフが、注文をとる例を説明するが、ハンディ端末20B,20Cでも同様の処理となる。
【0046】
予め、ハンディ端末20Aの無線通信の周波数(チャネル)が、例えばユーザによる操作部22を介する操作入力により設定され、設定周波数としてフラッシュメモリ27に記憶されているものとする。この設定周波数は、オーダエントリシステム1の全てのハンディ端末20A,20B,20Cで同じ値が設定される。また、この設定周波数は、近隣の店舗のオーダエントリシステム等、近隣の無線通信の周波数と同じ周波数(チャネル)にならないように設定されるのが好ましい。
【0047】
接客スタッフがハンディ端末20Aの操作部22を操作して、オーダ情報入力処理を起動させる。オーダ情報入力処理では、例えば、図3(a)に示すオーダ情報入力画面241が表示部24に表示され、操作部22を介して顧客が注文したアイテムに関するオーダ情報の入力が受け付けられる。オーダ情報は、注文されたアイテムの種類(識別情報)、その数量、注文した顧客が着席するテーブルの識別情報等を含む。
【0048】
ハンディ端末20Aで入力されたオーダ情報は、コントローラ10に無線送信される。そして、コントローラ10は、ハンディ端末20Aからオーダ情報を受信する。そして、コントローラ10は、受信したオーダ情報をプリンタ30に印刷させる。調理スタッフは、プリンタ30で印刷されたオーダ情報を目視して調理を開始する。
【0049】
また、コントローラ10は、受信したオーダ情報をプリンタ40に伝票として印刷させる。接客スタッフは、プリンタ40で印刷された伝票を目視して、調理が完了したアイテムに間違いがないかを確認し、間違いがない場合に、伝票とともに、調理済のアイテムを対応するテーブルに配膳する。図4に示す無線通信管理処理は、上記のオーダ情報をコントローラ10へ無線送信する際の通信管理を行う処理である。
【0050】
ハンディ端末20Aにおいて、接客スタッフから操作部22を介してオーダ情報の操作入力がなされ、オーダ情報の無線送信指示が入力されたことをトリガとして、CPU21は、ROM25から読み出され適宜RAM23に展開された無線通信管理プログラム251との協働で、無線通信管理処理を実行する。操作入力されたオーダ情報は、RAM23内に記憶されているものとする。
【0051】
先ず、CPU21は、オーダ情報の送信中である旨を示す送信中画面を表示部24に表示する(ステップS11)。ステップS11では、例えば、図3(b)に示す送信中画面242が表示部24に表示される。
【0052】
そして、CPU21は、RAM23内に記憶されている操作入力されたオーダ情報から未選択の1つのアイテムのアイテム情報を選択して取得する(ステップS12)。なお、例えば、ステップS12が最初に実行される場合に、オーダ情報のうちのアイテム情報以外の情報(テーブルの識別情報等)も取得されるものとする。
【0053】
そして、CPU21は、ステップS12で取得したアイテム情報を、RAM23に記憶している送信するオーダ情報のバッファとしての送信バッファの末尾にコピーする(ステップS13)。
【0054】
そして、CPU21は、RAM23内に記憶されている操作入力されたオーダ情報にステップS12で未選択の次のアイテム情報があるか否かを判別する(ステップS14)。次のアイテム情報がある場合(ステップS14;YES)、ステップS12に移行される。次のアイテム情報がない場合(ステップS14;NO)、操作入力されたオーダ情報の全てのアイテム情報が選択済であり、CPU21は、無線通信モジュール26を初期化するモジュール初期化コマンドを無線通信モジュール26に出力する(ステップS15)。
【0055】
そして、CPU21は、設定周波数をフラッシュメモリ27から読み出し、無線通信モジュール26の無線通信の周波数を読み出した設定周波数に設定する周波数設定コマンドを無線通信モジュール26に出力する(ステップS16)。周波数設定コマンドは、設定周波数を含む。そして、CPU21は、機器IDをフラッシュメモリ27から読み出し、無線通信モジュール26に読み出した機器IDを設定する機器ID設定コマンドを無線通信モジュール26に出力する(ステップS17)。機器ID設定コマンドは、機器IDを含む。
【0056】
そして、CPU21は、後述するステップS24で算出されてRAM23に記憶されている現在時刻から所定時間(所定数のキャリア時間バッファ)のキャリア時間を用いて、コントローラ10との無線通信における占有率を算出する占有率算出処理を実行する(ステップS18)。ステップS18の占有率算出処理は、詳細に後述される。占有率とは、無線通信モジュール26における所定の計測時間のうちの実際の送信時間の割合である。キャリア時間とは、送信データを送信する送信処理時間のうち、実際に無線電波を送信する時間である。また、ステップS18の占有率算出処理で、無線通信が可能である場合にRAM23に、無線通信モジュール26の無線通信を可能とする旨の通信可能フラグが立てられ(記憶され)、無線通信が不可である場合に、RAM23に、無線通信モジュール26の無線通信を不可とする旨の通信不可フラグが立てられるものとする。
【0057】
そして、CPU21は、ステップS18での占有率算出処理で、RAM23に通信可能フラグが立てられているか否かを判別する(ステップS19)。通信可能フラグ立てられていない場合(ステップS19;NO)、占有率が高く、RAM23に通信不可フラグが立てられており、CPU21は、無線通信処理を終了する。つまり、無線通信が停止される。
【0058】
通信可能フラグが立てられている場合(ステップS19;YES)、占有率が正常であり、CPU21は、RAM23に記憶されているオーダ情報の送信バッファを読み出す(ステップS20)。そして、CPU21は、計時部28からの現在時刻情報を取得し、その現在時刻情報を送信処理時間の開始時刻としてRAM23に記憶し、キャリア時間算出に用いる送信処理時間の計測を開始する(ステップS21)。
【0059】
そして、CPU21は、無線通信モジュール26に送信バッファのデータを送信データとしてコントローラ10に送信させる送信コマンドと、その送信バッファのデータと、を無線通信モジュール26に出力する(ステップS22)。そして、CPU21は、無線通信モジュール26からコントローラ10で送信データを受信した旨の確認データ(ACK)が入力されたことに応じて、送信処理時間の計測を終了し、計時部28からの現在時刻情報を用いて、送信処理時間の終了時刻を取得し、送信処理時間の開始時刻から終了時刻までの送信処理時間をRAM23に記憶する(ステップS23)。
【0060】
そして、CPU21は、無線通信モジュール26の無線通信のキャリア時間を算出してRAM23に記憶するキャリア時間算出記憶処理を実行し(ステップS24)、無線通信管理処理を終了する。ステップS24のキャリア時間算出記憶処理は、詳細に後述される。
【0061】
次いで、図5及び図6を参照して、無線通信管理処理のステップS18の占有率算出処理を説明する。ステップS24のキャリア時間算出記憶処理で算出されたキャリア時間は、RAM23内の複数のキャリア時間バッファに格納される。例えば、図6に示すように、経過時間tにおいて現在時刻t1から所定数(ここでは、6個)の過去の連続したキャリア時間バッファY1,Y2,Y3,Y4,Y5,Y6が随時更新設定されてRAM23内に記憶される。キャリア時間バッファY1,Y2,Y3,Y4,Y5,Y6は、それぞれ、計測時間Tが6分割された単位時間T1のバッファである。計測時間Tは、占有率の算出対象の計測時間であり、予め設定されてフラッシュメモリ27に記憶されているものとする。また、各キャリア時間バッファとともに、その開始時刻及び終了時刻が随時更新設定されてRAM23内に記憶される。
【0062】
キャリア時間バッファY1,Y2,Y3,Y4,Y5,Y6の順は、経過時間tの経過順となっている。キャリア時間バッファY1,Y2,Y3,Y4,Y5,Y6には、ステップS24のキャリア時間算出記憶処理で、それぞれの開始時刻から終了時刻までの期間に発生したキャリア時間の値が格納される。
【0063】
キャリア時間バッファY1,Y2,Y3,Y4,Y5,Y6を、現在時刻t1を含むキャリア時間バッファを最新とした所定数(ここでは、6個)のリングバッファとすれば、RAM23の記憶容量を低減できて好ましい。また、計測時間T内のキャリア時間バッファの数は、6個に限定されるものではない。
【0064】
図5に示すように、先ず、CPU21は、計時部28から現在時刻情報を取得し、RAM23内の現在時刻情報から過去の計測時間Tに対応する所定数(例えば、6個)のキャリア時間バッファのうち未選択の1つのキャリア時間バッファを選択し、選択したキャリア時間バッファに格納されているキャリア時間の値を読み出して取得する(ステップS31)。そして、CPU21は、ステップS31で取得した選択中のキャリア時間バッファのキャリア時間の値を占有時間Twに加算する(ステップS32)。
【0065】
そして、CPU21は、ステップS31で未選択のキャリア時間バッファがあるか否かを判別する(ステップS33)。未選択のキャリア時間バッファがある場合(ステップS33;YES)、ステップS31に移行される。但し、この移行において、ステップS31の現在時刻情報は、更新しないものとする。未選択のキャリア時間バッファがない場合(ステップS33;NO)、全てのキャリア時間バッファの占有時間が取得されており、CPU21は、フラッシュメモリ27から計測時間Tを読み出して取得する(ステップS34)。
【0066】
そして、CPU21は、ステップS31〜S33で算出された占有時間Twと、ステップS34で取得した計測時間Tとを用いて、次式(1)により占有率Wを算出する(ステップS35)。
W=100×Tw/T …(1)
【0067】
そして、CPU21は、フラッシュメモリ27に記憶されている占有率上限Wmを読み出して取得する(ステップS36)。占有率上限Wmは、予め設定されてフラッシュメモリ27に記憶されており、無線通信モジュール26の無線通信を可能とするか否かを判別するための占有率Wの閾値である。
【0068】
そして、CPU21は、ステップS36で算出した占有率Wが、占有率上限Wm以内であるか否かを判別する(ステップS37)。占有率Wが占有率上限Wm以内である場合(ステップS37;YES)、CPU21は、通信可能フラグをRAM23内に設定し(立て)(ステップS38)、占有率算出処理を終了する。占有率Wが占有率上限Wmを超える場合(ステップS37;NO)、CPU21は、通信不可フラグをRAM23内に設定し(立て)(ステップS39)、占有率算出処理を終了する。
【0069】
ここで、図6を参照して、占有率算出処理における占有率W算出の具体例を説明する。図6に示すように、無線通信処理のステップS21〜S24において、経過時間tに沿って送信処理時間Z1でキャリア時間X1が算出され、キャリア時間バッファY1に格納されるものとする。同様に、送信処理時間Z2,Z3でキャリア時間X2,X3が算出されキャリア時間バッファY3に格納されるものとする。
【0070】
なお、単位時間T1が30[s]であり、計測時間Tが180[s]であり、占有率上限Wmが10[%]に設定されているものとする。また、キャリア時間X1,X2,X3は、7[s]、3[s]、2[s]であるものとする。
【0071】
すると、初回のデータ送信後、キャリア時間X1=7[s]がキャリア時間バッファY1に記憶される。そして、2回目のデータ送信後、キャリア時間X2=3[s]がキャリア時間バッファY3に記憶される。そして、3回目のデータ送信後、3[s]+キャリア時間X3=5[s]がキャリア時間バッファY3に記憶される。なお、キャリア時間バッファY2,Y4,Y5,Y6の値は、全て0となる。
【0072】
このような無線通信がなされた場合に、占有率算出処理のステップS35で、現在時刻t1における占有率Wが算出される。占有率W=100×Tw/T=100×(7+0+5+0+0+0)/180≒7[%]である。占有率W=7[%]が、占有率上限Wm=10[%]以内である(ステップS37;YES)ため、占有率算出処理のステップS38で通信可能フラグが設定され、次の無線通信における無線通信処理のステップS20〜S24が実行される。
【0073】
次いで、図7及び図8を参照して、無線通信管理処理のステップS24のキャリア時間算出記憶処理を説明する。ハンディ端末20Aの周辺の無線電波の電界強度を検知する時間である周辺検知時間Bと、無線通信モジュール26の無線通信のボーレートとは、固定値であり、予め設定されてフラッシュメモリ27に記憶されているものとする。
【0074】
先ず、CPU21は、無線通信管理処理のステップS21〜S23で取得された送信処理時間ZをRAM23から読み出して取得する(ステップS41)。そして、CPU21は、周辺検知時間Bをフラッシュメモリ27から読み出して取得する(ステップS42)。そして、CPU21は、無線通信のボーレートをフラッシュメモリ27から読み出して取得する(ステップS43)。
【0075】
そして、CPU21は、RAM23内の送信バッファのステップS20で送信後の送信データを参照し、その送信データ量を取得する(ステップS44)。そして、CPU21は、ステップS44で取得した送信データ量と、ステップS43で取得したボーレートとを用いて、次式(2)によりデータ送信時間Dの理想値を算出してRAM23に記憶する(ステップS45)。
D=送信データ量/ボーレート …(2)
【0076】
そして、CPU21は、ステップS41で取得した送信処理時間Zと、ステップS42で取得した周辺検知時間Bと、ステップS45で算出したデータ送信時間D(の理想値)とを用いて、キャリア時間Xを近似計算してRAM23に記憶する(ステップS46)。ステップS46のキャリア時間Xの近似計算は、詳細に後述される。
【0077】
そして、CPU21は、計時部28から現在時刻情報を取得する(ステップS47)。そして、CPU21は、RAM23内の複数のキャリア時間バッファから未選択の1つのキャリア時間バッファを選択する(ステップS48)。そして、CPU21は、ステップS48で選択したキャリア時間バッファの開始時刻及び終了時刻を、RAM23から取得する(ステップS49)。
【0078】
そして、CPU21は、ステップS47で取得した現在時刻情報が、ステップS48で選択中のキャリア時間バッファ内(ステップS49で取得した開始時刻以上終了時刻以下)であるか否かを判別する(ステップS50)。現在時刻情報が選択中のキャリア時間バッファ内でない場合(ステップS50;NO)、CPU21は、ステップS48で未選択の次のキャリア時間バッファがあるか否かを判別する(ステップS51)。
【0079】
次のキャリア時間バッファがある場合(ステップS51;YES)、ステップS48に移行される。次のキャリア時間バッファがない場合(ステップS51;NO)、CPU21は、エラー処理を行い(ステップS52)、キャリア時間算出記憶処理を終了する。
【0080】
現在時刻情報が選択中のキャリア時間バッファ内である場合(ステップS50;YES)、CPU21は、ステップS46で算出したキャリア時間Xを、ステップS48で選択中のRAM23内のキャリア時間バッファの値に加算して記憶し(ステップS53)、キャリア時間算出記憶処理を終了する。
【0081】
ここで、図8を参照して、キャリア時間算出記憶処理のステップS46のキャリア時間Xの近似計算を説明する。図8に示すように、無線通信管理処理のステップS21〜S24の送信処理時間Zの計測開始時刻から、最終的に、無線通信モジュール26からコントローラ10へ送信データの送信が成功した時刻までの時間である。
【0082】
送信処理時間Zにおいて、無線通信モジュール26で、後述する無線通信処理により、送信コマンド等のコマンドの設定処理と、最初のn回(n:任意の整数)で周辺検知が失敗し(周辺検知失敗a)、次いでm回(m:任意の整数)でデータ送信が失敗し(データ送信失敗b)、最後の一回でデータ送信が成功する(データ送信成功c)と推定する。つまり、ステップS21で送信処理時間Zの計測が開始され、周辺検知失敗a及びデータ送信失敗bによりデータ送信の再送(リトライ)が発生し、最後のデータ送信成功cに応じて、ステップS23で送信処理時間Zの計測が終了する。
【0083】
送信コマンド等のコマンドの設定処理に要する時間を、コマンド処理時間Aとする。周辺検知失敗aは、周辺検知時間Bと、待ち時間Cと、からなる。周辺検知時間Bは、ステップS42で取得された設定値である。待ち時間Cは、周辺検知時間Bでの周辺の無線電波(の電界強度)検知に失敗して、周辺検知時間B終了後から次の周辺の無線電波検知までの待ち時間である。待ち時間Cは、ランダム値であり、例えば、その平均値を約300[ms]とする。
【0084】
データ送信失敗bは、周辺検知時間Bと、データ送信時間Dと、確認データ待ち失敗時間Eと、からなる。データ送信時間Dは、ステップS45で理想値が算出されたデータ送信時間Dの実際の値である。確認データ待ち失敗時間Eは、無線通信モジュール26が送信データをコントローラ10へ送信した後、コントローラ10から確認データ(ACK)を待つ最大の待ち時間である。つまり、確認データ待ち失敗時間E待っても、確認データ(ACK)が送信されない場合、データ送信失敗となる。
【0085】
データ送信成功cは、周辺検知時間Bと、データ送信時間Dと、確認データ待ち成功時間Esと、からなる。確認データ待ち成功時間Esは、無線通信モジュール26が送信データをコントローラ10へ送信した後、コントローラ10から確認データ(ACK)を受信するまでの待ち時間である。確認データ待ち成功時間Esは、確認データ待ち失敗時間Eよりも短くなる。
【0086】
図8の例では、送信処理時間Zは、次式(3)により算出される。
Z=A+n(B+C)+m(B+D+E)+(B+D+Es) …(3)
式(3)のZからキャリア時間Xを推定する。前提として、無線通信モジュール26に計時部(RTC)が無いため、送信処理時間Zからデータ送信時間Dが発生した回数を正確に知ることはできない。また、キャリア時間Xの近似計算において、データ送信時間Dが多く発生したと計算することが、安全な近似となる。なぜなら、データ送信時間Dの発生回数を多くすると、最終的に占有率Wが大きくなるので、無線通信管理処理のステップS19でNOにいきやすくなり、無線通信の占有を低減する方向に働くからである。
【0087】
式(3)において、データ送信失敗bの(B+D+E)がデータ送信成功cの(B+D+Es)とほぼ同じ(つまりE≒Es)として近似し、次式(4)を得る。
Z=A+n(B+C)+(m+1)(B+D+Es) …(4)
【0088】
そして、式(4)の両辺を(B+D+Es)で割ると、次式(5)が得られる。
Z/(B+D+Es)={A+n(B+C)}/(B+D+Es)+(m+1) …(5)
式(5)の左辺は、送信処理時間Z内に何回、データ送信成功c(+データ送信失敗b)が行われたかを示す送信回数となる。
【0089】
ここで、式(5)の右辺第1項について、コマンド処理時間Aが十分小さいので無視してよく、確認データ待ち成功時間Esも十分に小さいとすると、次式(6)が得られる。
Z/(B+D)={n(B+C)}/(B+D)+(m+1) …(6)
【0090】
ここで、n(B+C)<(B+D)ならば、式(6)の右辺第1項を無視し、n(B+C)≧(B+D)ならば、式(6)の右辺第1項を送信回数に含めてしまうことにする。式(6)の右辺第1項は、実際には、キャリア時間ではないが、上述の安全な方向の近似をとったものである。すると、式(6)の左辺が送信データの送信回数となる。
【0091】
よって、キャリア時間Xは、データ送信時間Dと、送信回数とを乗算して次式(7)により算出される。
X=D{Z/(B+D)} …(7)
ステップS46では、式(7)によりキャリア時間Xが算出される。
【0092】
次いで、図9を参照して、無線通信モジュール26のCPU261で実行される無線通信処理を説明する。
【0093】
無線通信処理は、CPU21で実行される無線通信管理処理により出力された各種コマンドに応じて、実際の無線通信等の各種処理を行う処理である。無線通信モジュール26において、CPU21から情報が入力されたことをトリガとして、CPU261は、ROM263から読み出され適宜RAM262に展開された無線通信プログラム2631との協働で、無線通信処理を実行する。
【0094】
先ず、CPU261は、CPU21から入力された情報が各種コマンド(送信コマンド、周波数設定コマンド、機器ID設定コマンド、送信コマンド)であるか否かを判別する(ステップS61)。各種コマンドでない場合(ステップS61;NO)、無線通信処理が終了する。
【0095】
各種コマンドである場合(ステップS61;YES)、CPU261は、各種コマンドがどのコマンドであるかを解析する(ステップS62)。そして、CPU261は、ステップS62の解析結果が初期設定コマンドであるか否かを判別する(ステップS63)。初期設定コマンドでない場合(ステップS63;NO)、CPU261は、ステップS62の解析結果が周波数設定コマンドであるか否かを判別する(ステップS64)。
【0096】
周波数設定コマンドでない場合(ステップS64;NO)、CPU261は、ステップS62の解析結果が機器ID設定コマンドであるか否かを判別する(ステップS65)。機器ID設定コマンドでない場合(ステップS65;NO)、CPU261は、ステップS62の解析結果が送信コマンドであるか否かを判別する(ステップS66)。送信コマンドでない場合(ステップS66;NO)、無線通信処理が終了する。
【0097】
初期設定コマンドである場合(ステップS63;YES)、CPU261は、ROM263に記憶されている設定情報を読み出す(ステップS67)。そして、CPU261は、ステップS67で読み出した設定情報をRAM262に記憶し(ステップS68)、無線通信処理を終了する。以後の処理では、RAM262に記憶された設定情報が適宜使用される。
【0098】
周波数設定コマンドである場合(ステップS64;YES)、CPU261は、周波数設定コマンドに含まれる設定周波数をRAM262に記憶し(ステップS69)、無線通信処理を終了する。機器ID設定コマンドである場合(ステップS65;YES)、CPU261は、機器ID設定コマンドに含まれる機器IDをRAM262に記憶し(ステップS70)、無線通信処理を終了する。
【0099】
送信コマンドである場合(ステップS65;YES)、CPU261は、送信コマンドに対応する送信データがCPU21から入力され、その送信データをRAM262に記憶する(ステップS71)。そして、CPU261は、送信データ再送のリトライ回数(ステップS74,S77;NOの回数)が、予め指定された既定値以下であるか否かを判別する(ステップS72)。この既定値は、例えば、16〜20回である。
【0100】
リトライ回数が既定値より多い場合(ステップS72;NO)、無線通信処理が終了する。リトライ回数が既定値以下である場合(ステップS72;YES)、CPU261は、無線通信部264を用いて周辺の設定周波数の無線電波の電界強度を検知する(ステップS73)。そして、CPU261は、ステップS73で検知した電界強度が、予め設定された既定電界強度以下であるか否かを判別する(ステップS74)。
【0101】
検知した電界強度が既定電界強度より大きい場合(ステップS74;NO)、ステップS72に移行される。検知した電界強度が既定電界強度以下である場合(ステップS74;YES)、CPU261は、無線通信部264を介して、RAM262に記憶されている設定情報及び設定周波数を用いて、RAM262に記憶されている送信データ及び機器IDをコントローラ10へ無線送信する(ステップS75)。
【0102】
そして、CPU261は、無線通信部264を介して、コントローラ10から確認データ(ACK)をコントローラ10から無線受信する(ステップS76)。そして、CPU261は、ステップS76で確認データ(ACK)を受信したか否かを判別する(ステップS77)。
【0103】
確認データ(ACK)を受信していない場合(ステップS77;NO)、ステップS72に移行される。確認データ(ACK)を受信した場合(ステップS77;YES)、CPU261は、確認データ(ACK)をCPU21に出力し(ステップS78)、無線通信処理を終了する。ステップS78は、図4の無線通信管理処理のステップS23に対応する。
【0104】
以上、本実施の形態によれば、オーダエントリシステム1において、ハンディ端末20A〜20Cは、それぞれ、コントローラ10にデータ送信を行い、コントローラ10へのデータ送信が失敗した場合に、当該データ送信のリトライを行う無線通信モジュール26を備える。また、ハンディ端末20A〜20Cは、それぞれ、無線通信モジュール26へのデータの無線送信指示(送信コマンド出力)を行い、当該データの無線送信指示からデータ送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間Xを算出し、所定の計測時間Tのうち前記算出したキャリア時間Xが占める割合を示す占有率Wを算出し、当該算出した占有率Wが占有率上限Wm以下になるよう無線通信モジュール26の無線通信を制御するCPU21を備える。
【0105】
このため、同一の周波数でコントローラ10と無線通信するハンディ端末20A,20B,20Cにおいて、各ハンディ端末の高い占有率での無線通信の占有を防止でき、ハンディ端末20A,20B,20Cにおける通信速度低下を防ぐことができ通信を安定して行うことができる。また、送信処理時間のうちのキャリア時間が占める割合として占有率を算出するので、無線通信を失敗した時間を加味した正確な占有率を算出できる。また、ハンディ端末20A,20B,20Cの設定周波数又はその近傍の無線通信を行う他の機器の通信を妨げること(悪影響)を低減できる。
【0106】
また、ハンディ端末20A,20B,20Cは、計測した送信処理時間Zと、周辺の電波の電界強度の検知の周辺検知時間Bと、送信されたデータの送信データ量を無線通信のボーレートで割ったデータ送信時間Dと、を用いて、近似式(7)によりキャリア時間Xを算出する。よって、容易且つ迅速にキャリア時間Xを算出でき、このキャリア時間を加味した占有率Wを容易且つ迅速に算出できる。
【0107】
また、ハンディ端末20A,20B,20Cは、キャリア時間バッファY1,Y2,Y3,Y4,Y5、Y6をRAM23に記憶し、算出したキャリア時間Xを、現在時刻に対応するキャリア時間バッファ内の値に加算していき、計測時間のうち全てのキャリア時間バッファY1,Y2,Y3,Y4,Y5、Y6のキャリア時間Xの合計値(占有時間Tw)が占める割合を示す占有率Wを、式(1)により算出する。このため、占有率Wを正確且つ容易に算出できる。また、キャリア時間バッファY1,Y2,Y3,Y4,Y5、Y6をリングバッファとすれば、キャリア時間バッファの容量を低減できる。
【0108】
また、ハンディ端末20A,20B,20Cは、算出した占有率Wが占有率上限Wm以下になる場合に、無線通信モジュール26にデータの無線送信を指示(送信コマンド出力)を行い、算出した占有率Wが占有率上限Wmより大きくなる場合に、無線通信モジュール26のデータの無線送信を停止する。このため、占有率上限Wmより大きい占有率Wでのデータの無線送信を確実に防ぐことができる。
【0109】
また、オーダエントリシステム1は、ハンディ端末20A,20B,20Cと、コントローラ10と、を備える。このため、オーダエントリシステム1内でのハンディ端末20A,20B,20Cにおける通信速度低下を防ぐことができ通信を安定して行うことができる。
【0110】
なお、上記実施の形態における記述は、本発明に係る通信端末、無線通信システム及びプログラムの一例であり、これに限定されるものではない。
【0111】
上記実施の形態では、オーダエントリシステム1が、1つのコントローラ10を備える構成としたが、これに限定されるものではない。例えば、オーダエントリシステムがマルチアクセスポイント機能を有する構成としてもよい。このオーダエントリシステムは、互いに無線通信の周波数(チャネル)が異なる複数のコントローラを備える。各ハンディ端末は、複数のコントローラのうち、電波状況が良い(無線通信の占有がなされていない周波数の)コントローラを探してアクセスする。このマルチアクセスポイント機能のオーダエントリシステムに本実施の形態のハンディ端末の占有率の算出及び無線通信の制御を行うことにより、1台のコントローラに対する1台のハンディ端末の高い占有率での無線通信の占有を防ぎ、複数のハンディ端末における通信速度低下を防ぐことができ通信を安定して行うことができる。
【0112】
また、上記実施の形態では、通信端末として、ハンディ端末20A,20B,20Cを説明したが、これに限定されるものではない。例えば、通信端末は、テーブルに設置され、顧客のオーダ情報の入力を受け付けてコントローラに無線送信するテーブル端末等、他の通信端末としてもよい。
【0113】
また、上記実施の形態におけるオーダエントリシステムの各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【0114】
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末であって、
前記コントローラにデータの無線送信を行い、当該コントローラへのデータの無線送信が失敗した場合に、当該データの無線送信のリトライを行う無線通信モジュールと、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間を算出し、所定の計測時間のうち前記算出したキャリア時間が占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部と、を備える通信端末。
<請求項2>
前記無線通信モジュールは、周辺の電波の電界強度を検知し、当該検知した電界強度が既定の電界強度以内である場合に、前記コントローラにデータの無線送信を行い、
前記制御部は、前記計測した送信処理時間Zと、前記周辺の電波の電界強度の検知の周辺検知時間Bと、前記送信されたデータのデータ量を無線通信のボーレートで割ったデータ送信時間Dと、を用いて、D{Z/(B+D)}の式によりキャリア時間を算出する請求項1に記載の通信端末。
<請求項3>
前記計測時間を経時的に分割した複数のキャリア時間バッファを記憶する記憶部を備え、
前記制御部は、前記算出したキャリア時間を、現在時刻に対応する前記キャリア時間バッファ内の値に加算していき、前記計測時間のうち前記全てのキャリア時間バッファのキャリア時間の合計値が占める割合を示す占有率を算出する請求項1又は2に記載の通信端末。
<請求項4>
前記制御部は、前記算出した占有率が前記上限値以下になる場合に、前記無線通信モジュールにデータの無線送信指示を行い、前記算出した占有率が前記上限値より大きくなる場合に、前記無線通信モジュールのデータの無線送信を停止する請求項1から3のいずれか一項に記載の通信端末。
<請求項5>
請求項1から4のいずれか一項に記載の複数の通信端末と、
前記コントローラと、を備える無線通信システム。
<請求項6>
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末のコンピュータを、
前記コントローラにデータの無線送信を行い、当該コントローラへのデータの無線送信が失敗した場合に、当該データの無線送信のリトライを行う無線通信モジュール、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間を算出し、所定の計測時間のうち前記算出したキャリア時間が占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部、
として機能させるためのプログラム。
【符号の説明】
【0115】
1 オーダエントリシステム
10,10D コントローラ
20A,20B,20C,20D ハンディ端末
21 CPU
22 操作部
23 RAM
24 表示部
25 ROM
26 無線通信モジュール
261 CPU
262 RAM
263 ROM
264 無線通信部
265 バス
27 フラッシュメモリ
28 計時部
29 電源部
29a バス
30,40 プリンタ
50 ハブ
60 ECR

【特許請求の範囲】
【請求項1】
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末であって、
前記コントローラにデータの無線送信を行い、当該コントローラへのデータの無線送信が失敗した場合に、当該データの無線送信のリトライを行う無線通信モジュールと、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間を算出し、所定の計測時間のうち前記算出したキャリア時間が占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部と、を備える通信端末。
【請求項2】
前記無線通信モジュールは、周辺の電波の電界強度を検知し、当該検知した電界強度が既定の電界強度以内である場合に、前記コントローラにデータの無線送信を行い、
前記制御部は、前記計測した送信処理時間Zと、前記周辺の電波の電界強度の検知の周辺検知時間Bと、前記送信されたデータのデータ量を無線通信のボーレートで割ったデータ送信時間Dと、を用いて、D{Z/(B+D)}の式によりキャリア時間を算出する請求項1に記載の通信端末。
【請求項3】
前記計測時間を経時的に分割した複数のキャリア時間バッファを記憶する記憶部を備え、
前記制御部は、前記算出したキャリア時間を、現在時刻に対応する前記キャリア時間バッファ内の値に加算していき、前記計測時間のうち前記全てのキャリア時間バッファのキャリア時間の合計値が占める割合を示す占有率を算出する請求項1又は2に記載の通信端末。
【請求項4】
前記制御部は、前記算出した占有率が前記上限値以下になる場合に、前記無線通信モジュールにデータの無線送信指示を行い、前記算出した占有率が前記上限値より大きくなる場合に、前記無線通信モジュールのデータの無線送信を停止する請求項1から3のいずれか一項に記載の通信端末。
【請求項5】
請求項1から4のいずれか一項に記載の複数の通信端末と、
前記コントローラと、を備える無線通信システム。
【請求項6】
複数の通信端末と無線通信を行うコントローラと無線通信を行う通信端末のコンピュータを、
前記コントローラにデータの無線送信を行い、当該コントローラへのデータの無線送信が失敗した場合に、当該データの無線送信のリトライを行う無線通信モジュール、
前記無線通信モジュールへのデータの無線送信指示を行い、当該データの無線送信指示から無線送信成功までの送信処理時間を計測し、当該計測した送信処理時間のうちの実際のデータ送信時間であるキャリア時間を算出し、所定の計測時間のうち前記算出したキャリア時間が占める割合を示す占有率を算出し、当該算出した占有率が予め設定された上限値以下になるよう前記無線通信モジュールの無線通信を制御する制御部、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate