RFタグリーダライタ
【課題】RFタグとの通信において、通信状態をより正確に把握することができるRFタグリーダライタ通信技術を提供する。
【解決手段】本発明は情報取得対象となるRFタグに対して信号の衝突を回避するアンチコリジョン方式を用いて通信を行い、該RFタグに記憶される情報であるタグ情報を取得する取得処理を複数回実行する通信部と、通信部におけるRFタグからのタグ情報の取得に成功した回数と、RFタグに対して信号の衝突が回避された状態で通信処理を実行した回数とに基づき、通信部におけるRFタグとの通信成功率を算出する通信成功率算出部と、を備えるRFタグリーダライタに関する。
【解決手段】本発明は情報取得対象となるRFタグに対して信号の衝突を回避するアンチコリジョン方式を用いて通信を行い、該RFタグに記憶される情報であるタグ情報を取得する取得処理を複数回実行する通信部と、通信部におけるRFタグからのタグ情報の取得に成功した回数と、RFタグに対して信号の衝突が回避された状態で通信処理を実行した回数とに基づき、通信部におけるRFタグとの通信成功率を算出する通信成功率算出部と、を備えるRFタグリーダライタに関する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、非接触でRFタグと通信する、RFタグリーダライタに関し、特に、1つ以上の不特定のRFタグとの一括的な通信によりそれらRFタグに記憶されている情報を取得(読取)することができるRFタグリーダライタ技術に関する。
【背景技術】
【0002】
近年、RFID(Radio Frequency Identification)システムが注目され、例えば流通分野などにおいて導入が進んでいる。RFIDシステムは、ICチップとアンテナから成り、物品に付されるRFタグ(RFタグ、RFIDタグとも称される)と、該RFタグのICチップ内のメモリに記憶されている情報を非接触で読み取るとともに、該RFタグのICチップ内のメモリに情報を非接触で書込むRFタグリーダライタ(以下、単にリーダライタとも称す)とから構成される(例えば特許文献1)。
【0003】
RFIDシステムにおける処理としては、例えば、店舗などでの棚卸業務における、複数のRFタグからの一括での情報読取処理が挙げられる(以下、一括読取と称す)。このとき、リーダライタは、数mの距離が離れた範囲に電波を放射し、複数の商品にそれぞれ付された不特定のRFタグと通信を実行して、各RFタグに記憶されている情報を一括的に読み取る。ここで、読取対象のRFタグはリーダライタのアンテナの読取範囲よりも空間的に広い範囲に配置されているのが一般的である。よって、棚卸などにおいては、リーダライタのアンテナを移動して、通信する範囲を変えながらRFタグから情報を取得していく。
【0004】
ここで、従来のリーダライタにおいては、一般的に、RFタグから情報を取得できたときにブザーが鳴るように構成されており、使用者は該ブザーが鳴るか否かにより情報の取得に成功したか否かを知ることができた。そのため、使用者は、棚卸を実行するに当たっては、まず、ブザーが鳴ることを確認しつつ棚卸をする範囲を一通り回り、RFタグから情報を取得していく。そして、その後、取得した情報と、予めサーバやリーダライタの記憶領域に格納されている、使用中(商品に付された状態等)のRFタグに記憶されている情報と同一の情報とを比較して、読み落としがないかを確認していた。
【0005】
しかし、読取に成功したことを示すブザーだけでは使用者は通信状態や読み落としの有無を正確に把握することが難しい。よって、読取作業終了後に読み落としが見つかることが多く、そのため作業のやり直しを強いられる場面が多々あった。また、読取に成功したことを示すブザーだけでは使用者はリーダライタやそのアンテナを移動するタイミング、その速度、および移動方向などを予測することができず、その結果、読み落としが生じてしまう場合が多いという問題点があった。さらに、従来においては読取に失敗した原因が電波の衝突(コリジョン)によるものであるのか、それとも電波状態が不良であることに起因しているのか、判別ができなかった。そのため、電波状態が良好であるのにも係らずアンテナを移動させてしまい、その結果、かえって読み落としが発生してしまう場合もあった。
【0006】
そのため、通信状態を検出する技術も提案されている(例えば特許文献2)。特許文献2に記載の技術においては、リーダライタとRFタグとの間の通信におけるビットエラーレート(Bit Error Rate)あるいはフレームエラーレート(Frame Error Rate)を算出し、これらに基づいて通信安定性を判定することが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献2には具体的にはどのようにして通信安定性を判定するのかについて、開示されていない。そのため、例えば読取できない理由がコリジョンであるのか、それとも通信状態の不良に起因しているのか等についても判別することができないなどしており、通信状態を正確に把握するために十分であるとは依然としていえない。
【0008】
本発明は上述した問題点を解決するためになされたものであり、RFタグとの通信において、通信状態をより正確に把握することができるRFタグリーダライタ通信技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明の一態様は情報取得対象となるRFタグに対して信号の衝突を回避するアンチコリジョン方式を用いて通信を行い、該RFタグに記憶される情報であるタグ情報を取得する取得処理を複数回実行する通信部と、前記通信部におけるRFタグからの前記タグ情報の取得に成功した回数と、RFタグに対して信号の衝突が回避された状態で通信処理を実行した回数とに基づき、前記通信部におけるRFタグとの通信成功率を算出する通信成功率算出部と、を備えるRFタグリーダライタに関する。
【0010】
また、本発明の一態様はラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行する通信部と、前記通信部におけるRFタグとの通信処理において、前記通信部から前記RFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、1つ以上のラウンドを有する算出期間における前記通信部とRFタグとの通信成功率aID=nID/nACKを算出する通信成功率算出部と、を備えるRFタグリーダライタに関する。
【0011】
また、本発明の一態様はラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンドを送出し、応答要求コマンドの取得に応じてRFタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてRFタグから送出される前記タグ情報を取得する通信部と、1つ以上のラウンドを有する算出期間における前記通信部におけるRFタグとの通信処理においてRFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、RFタグとの通信成功率aID=nID/nACKを算出する通信成功率算出部と、を備えるRFタグリーダライタに関する。
【0012】
また、本発明の一態様は、 ラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンドを送出し、応答要求コマンドの取得に応じてRFタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてRFタグから送出される前記タグ情報を取得し、1つ以上のラウンドを有する算出期間における前記通信部におけるRFタグとの通信処理においてRFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、RFタグとの通信成功率aID=nID/nACKを算出するタグ情報取得方法に関する。
【発明の効果】
【0013】
以上に詳述したように、本発明によれば、RFタグとの通信において、通信状態をより正確に把握することができる。
【図面の簡単な説明】
【0014】
【図1】第1の実施形態のRFタグリーダライタの斜視図である。
【図2】第1の実施形態のRFタグのハードウェア構成を示すブロック図である。
【図3】第1の実施形態のRFタグリーダライタのハードウェア構成を示すブロック図である。
【図4】第1の実施形態のRFタグリーダライタの通信成功率の算出、および通信状態判定に係る機能ブロック図である。
【図5】第1の実施形態のRFタグリーダライタが有する無線部の回路構成図である。
【図6】第1の実施形態に係るISO18000-6 type Cに準拠した通信処理におけるタイミングチャートを例示する図である。
【図7】第1の実施形態のRFタグリーダライタ100の移動についての例示図である。
【図8】第1の実施形態に係る通信安定性基準情報の例示図である。
【図9】第1の実施形態の、記憶部311に記憶される通信状態の判定結果の例示図である。
【図10】第1の実施形態の、グループ化されて記憶される識別IDの例示図である。
【図11】第1の実施形態における、通信成功率の算出、および通信状態判定の処理フローを示す図である。
【図12】第1の実施形態における、処理開始画面の例示図である。
【図13】第1の実施形態における通信状態判定の処理フローを示す図である。
【図14】第1の実施形態における位置判定および識別IDのグループ化の処理フローを示す図である。
【図15】第2の実施形態のRFタグリーダライタが有する無線部の回路構成図である。
【図16】第2の実施形態に係る通信成功率の算出、および通信状態判定の機能ブロック図である。
【図17】第2の実施形態に係る信号レベル基準情報の例示図である。
【図18】第2の実施形態に係るISO18000-6 type Cに準拠した通信処理におけるタイミングチャートを例示する図である。
【図19】第2の実施形態に変る通信安定性基準情報の例示図である。
【図20】第2の実施形態の、記憶部311に記憶される通信状態の判定結果の例示図である。
【図21】第2の実施形態における、通信成功率の算出、および通信状態判定の処理フローを示す図である。
【図22】第2の実施形態における通信状態判定の処理フローを示す図である。
【図23】第2の実施形態における応答発生の判定についての処理フローを示す図である。
【図24】他の実施形態における通信安定性基準情報の例示図である。
【発明を実施するための形態】
【0015】
(第1の実施形態)
以下、本発明の第1の実施の形態について図面を参照しつつ説明する。なお、以下の説明では、RFタグに記憶されている情報として、識別ID(タグID)を例に挙げて説明する。また、理解を容易とするために、通信成功率等の算出期間は1ラウンドに設定されているものとして説明する。
【0016】
図1は、第1の実施形態による、RFタグリーダライタ100の概要を示す斜視図である。第1の実施形態のリーダライタ100は、不図示のアンテナを筐体92内部に備えるアンテナ装置90と、リーダライタ本体30とから構成されている。アンテナ装置90とリーダライタ本体30とは、同軸ケーブル94で接続されている。
【0017】
アンテナ装置90が備えるアンテナは、特に限定されないが例えばパッチアンテナとすることができる。リーダライタ100は、当該アンテナから放射される電波を介して、RFタグ(不図示)と通信を行う。また、第1の実施形態においてはアンテナ筐体92には把持部材96が設けられており、使用者が携帯しながらリーダライタ100を使用する際にアンテナ装置90を把持しやすいように構成されている。しかしながら、当該把持部96を設けない構成とすることも、もちろん可能である。
【0018】
図2にRFタグの機能ブロックの一例を示す。RFタグは、物品あるいは配送物等に貼付され、無線データキャリアの一種であり、送受信可能なタグアンテナとICチップとを基板に一体成形した独立の部品である。ICチップ900には、所定の情報信号(タグ情報)を記憶し得るメモリ903、タグアンテナ901で受信した変調電波の整流と安定化を行うことによりICチップ900の各部に電源を供給する電源生成部905、変調電波を復調して制御部へ送出(通信信号の復調)する復調部907、制御部から送出されたデータを変調してタグアンテナに送出(返信信号の変調)する変調部909、タグアンテナ901により受信された変調電波からクロック信号を抽出して制御部917に供給するクロック抽出部911、リーダライタ100からの変調電波の受信時に当該RFタグが応答信号をどの識別スロットに出力するかを決定するための当該変調電波にて指定されているスロット数指定値Qに応じた0から2Q−1の乱数を発生させる乱数発生器913と、メモリ903、復調部907、変調部909、クロック抽出部911、乱数発生器913等を介してRFタグの作動を制御する制御部915が設けられている。
【0019】
次に、リーダライタ本体30が備えるハードウェア構成について説明する。図3に示すように、リーダライタ本体30は、制御部31と、無線部33と、入力部35と、表示部37と、インターフェース部39と、を有する。また、バッテリおよびその充放電を制御する図1に示す電源部32により、各ハードウェアおよびアンテナ装置90へ電流が供給される。したがって、第1の実施形態のリーダライタ100は、携帯型リーダライタとして構成されている。
【0020】
制御部31は、使用者からの入力に基づき、後述する記憶部311に記憶されているプログラムを実行することにより、RFタグとの通信や、ネットワークを通じてのPC(Personal Computer, 不図示)などの外部機器との通信など、リーダライタ100における各種処理を行う役割を有している。例えば、後述するインターフェース部39を介してPCから取得されたり、使用者から後述する入力部35を介して入力された識別IDがアンテナ装置90から電波を介してRFタグに送出されるように、通信プロトコルに従って無線部33を制御する。また、制御部31の後述する記憶部311に記憶されている出力情報に基づき、該出力情報が示す送信出力でアンテナ装置90から電波が放射されるように、後述する無線部33を制御する。
【0021】
無線部33は、アンテナ装置90を介してRFタグと通信するための機能を備えているハードウェアである。無線部33の詳細な回路構成図を図4に示す。
【0022】
ここで、RFタグがバッテリを持たないパッシブタグの場合には、無線部33は、先ず、無変調キャリアをパワーアンプ331で増幅して、方向性結合器332を介してアンテナから電磁波を出力し、RFタグを起動させる。RFタグにデータを送信する場合には、通信プロトコルに従い符号化した信号について振幅変調器333にて振幅変調を行った後にパワーアンプ331で増幅し、次いで方向性結合器332を介してアンテナから電磁波を出力することにより、送信する。また、RFタグから信号を受信する時には、リーダライタ100から無変調キャリアを送信している状態で、RFタグがアンテナ端のインピーダンスを制御(バックスキャッタ)し、これによって反射状態が変わり、これをリーダライタ100のアンテナ装置で検出する。受信した電磁波信号は、方向性結合器332を介して直交復調され、同期クロック生成部I(334)およびQ(335)にて同期クロックを生成し、プリアンブル検出部I(336)およびQ(337)にて予め決められたプリアンブルを検出することによりデータの先頭を検出し、複合部I(338)およびQ(339)にて復号して受信データを得る。また、誤り検出符号によって、エラー検出部I(341)およびQ(342)にて誤りの有無を検出するようになっている。図3の場合には、直交復調の同相成分での復調と直交成分での復調のどちらかで誤りがなければ正しくデータを受信したと判定する構成である。また、制御部31の送信出力制御部315からの制御(具体的には、送信出力を設定するための送信出力設定信号の送出)により、パワーアンプ331にて送信出力が処理の形態に合わせて設定できるように構成されている。
【0023】
入力部35は、該入力部35を用いて使用者がリーダライタ100に指示を入力するためのハードウェアであり、具体的には押下により指示の入力が可能なボタン(キー)や、タッチパッドなどで構成することができる。
【0024】
表示部(ディスプレイ)37は、使用者にRFタグとの通信結果を示したり、指示入力を促すために用いることができるハードウェアであり、具体的にはLCD(Liquid crystal display)等とすることができる。なお、表示部37をタッチパネルセンサを搭載したグラフィカルディスプレイとして構成し、入力部35と表示部37とを一体化させてもよい。
【0025】
インターフェース部39は、ネットワークを介し、識別IDが記憶されているPCなどの外部機器と通信を行うためのハードウェアである。
【0026】
次に、制御部31の機能ブロックについて説明する。図5に示すように、制御部31は、以下に説明する記憶部311と、通信部312と、通信発生率算出部313と、通信成功率算出部314と、通信安定性判定部315と、位置判定部316と、グループ化部317と、を有する。
【0027】
記憶部311は、取得した識別IDや、該識別IDを電波を介して送信したりするための通信プロトコル(例えば、ISO18000-6typeCに準拠したRFタグの通信プロトコル)等が記憶される。さらに第1の実施形態においては、記憶部311は、後述する通信安定性判定部315による通信状態の判定に用いられる通信成功率についての基準である通信成功率基準情報が記憶されている。さらにまた、第1の実施形態においては、1ラウンドごとに算出された通信発生率や通信成功率が記憶されている(詳しくは後述)。
【0028】
通信部312は、無線部33を制御し、ラウンドを構成する複数のタイムスロット(以下、単にスロットとも称す)においてRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行する。より具体的には、第1の実施形態の通信部312は、ISO18000-6typeCのプロトコルに従い、通信処理を実行する。
【0029】
通信部312におけるRFタグに対する通信処理についてより具体的に説明する。図6は本実施形態のリーダライタ100の動作を示すタイミングチャート例である。また、図7は本実施形態のリーダライタ100のアンテナ装置90の位置と通信範囲とRFタグとの位置関係の説明図である。ここで、図7における通信範囲とは、RFタグが完全にこの範囲に入っていれば、衝突の場合を除いて、正確に通信できる範囲をいう。
【0030】
第1の実施形態の説明においては、一例として、ISO18000-6typeCのプロトコルに準拠し、RFタグがRFタグ1〜4の4個、ラウンド当たりのスロット数が4(=2Q=22)の場合を示す。また、図6に示す、ISO18000-6typeC に基づくQueryコマンド、Query-repコマンド、Query-adjustコマンド、RN16送信(RN16応答)、ACKコマンド、ID送信(ID返信)のうち、通信部312(すなわち、リーダライタ100)がRFタグに対して送信するQueryコマンド、Query-repコマンド、Query-adjustコマンドおよびACKコマンドよりも、RFタグの送信するRN16送信およびID送信は、バックスキャッタ方式で通信されるため、エラーが発生し易い。さらに、一般的に、RN16送信よりも、ID送信のデータ量が大きいことから、RFタグ同士の衝突が無い状態では、ID送信でエラーが発生し易い。
【0031】
先ず、リーダライタ100のアンテナ装置90はラウンド1および2のときはAの位置にあり、ラウンド3、4のときはBの位置にあるものとする。また、アンテナ装置90がAの位置にあるとき、RFタグ1、RFタグ2、RFタグ4は、リーダライタ100の通信範囲に入っているが、RFタグ3は、通信範囲の境界にあるものとする。
【0032】
図6において、まず、リーダライタ100の通信部312が、電磁波送信を開始する。この時の電磁波はRFタグに電力を供給するだけの目的であるため、無変調キャリアを送信する。RFタグ1〜4は電磁波を受けて起動する。ISO18000-6typeCのプロトコルに準拠して通信する各RFタグは、フラグ(Inventoriedフラグ)を有しており、各RFタグの起動時のフラグはAとする。
【0033】
次に、通信部312は、不特定のRFタグに対して応答を要求する応答要求コマンドであるQueryコマンドを送信する。Queryコマンドでは、ラウンド当たりのスロット数が4であることを示すパラメータと、フラグがAであるRFタグを対象としていることを示すパラメータとを、少なくとも含む。RFタグ1〜4は、Queryコマンドを受信すると、乱数を生成し、1ラウンド中の4スロットのうち、どのスロットで応答するかを決める。また、応答する時のデータRN16(本発明のレスポンスに相当)も生成する。応答するスロットおよびRN16は、各RFタグがそれぞれ生成する乱数によって定まり、特に、RN16はRFタグ毎に異なる値になる。図6では、RFタグ1がスロット1、RFタグ2とRFタグ3がスロット2、RFタグ4がスロット3で応答する場合を例示する。
【0034】
ISO18000-6typeCに従う場合、スロット1では、RFタグ1だけがRN16を返答する。衝突が発生しないため、通信部312はRFタグ1が送信したRN16を正しく受信する。そして、通信部312は、受信したRN16を含むACKコマンド(タグ情報要求コマンドに相当)を送信する。RFタグ1はACKコマンドを受信すると、自身が送信したRN16が含まれているかどうかを確認し、含まれている場合には、このACKコマンドが自分宛であると判定する。この場合、RFタグ1宛であり、RFタグ1は識別IDを通信部312に返信し、通信部312はこれを正しく受信する。
【0035】
次に、通信部312はQ-rep(Query-rep)コマンドを送信して、次のスロット(スロット2)に移行する。Query-repコマンドにも、上記と同じフラグ(A)を示すパラメータを、少なくとも含む。ここで、スロット1で識別IDを送信したRFタグ1は、フラグをBに変更し、応答を停止する。RFタグ2〜4は、Query-repコマンドを受信して、スロットがスロット2になったことの情報を得る。図6においてはRFタグ2とRFタグ3が、それぞれ同じタイミングでRN16を送信するため、衝突が生じており、リーダライタ100は正しくデータを受信できない。
【0036】
通信部312は所定時間内に正しくRN16を受信できなかったため、再度同様にQ-rep(Query-rep)コマンドを送信して、スロット3に移行する。RFタグ2〜4は、Query-repコマンドを受信して、スロットがスロット3になったことの情報を得る。RFタグ4は、スロット1のRFタグ1と同様に、RN16を送信し、ACKコマンドを受信し、IDを返信する。
【0037】
次に、通信部312はQuery-repコマンドを送信して、次のスロット(スロット4)に移行する。同様にRFタグ4はフラグをBに変更し、応答を停止する。RFタグ2〜3は、Query-repコマンドを受信して、スロットがスロット4になったことの情報を得る。図6の例では、スロット4でRN16を送信するタグはない。
【0038】
次に、通信部312は次のラウンド(ラウンド2)に移行し、Queryコマンドを送信する。上記と同様に、Queryコマンドでは、ラウンド当たりのスロット数を4とするパラメータと、上記のフラグがAのRFタグを対象としていることを示すパラメータを、少なくとも含む。
【0039】
RFタグ1とRFタグ4は、フラグがBで、送信停止状態にある。RFタグ2とRFタグ3は、Queryコマンドを受信すると、ラウンド1と同様に、乱数を生成し、1ラウンド中の4スロットのうち、どのスロットで応答するかを決めると共に、応答する時のデータRN16も生成する。図6では、RFタグ2がスロット1、RFタグ3がスロット2で応答する例を示している。RFタグ2は、同様に、RN16を送信し、ACKコマンドを受信し、識別IDを返信し、通信部312は正しく受信する。
【0040】
次に、通信部312はQuery-repコマンドを送信して、次のスロット(スロット2)に移行する。同様にRFタグ2はフラグをBに変更し、応答を停止する。RFタグ3は、Query-repコマンドを受信して、スロットがスロット2になったことの情報を得る。RFタグ3は、同様にRN16を送信し、ACKコマンドを受信し、識別IDを返信する。ラウンド2のスロット2では、RFタグ3が返信した識別IDを、通信部312が正しく受信できなかった例を示している。なお、識別IDを正しく受信できない場合とは、例えば、識別ID返信に係るデータに含まれるCRC(Cyclic Redundancy Check)符号などの誤り検出符号を用いて図4のエラー検出部341、342がエラーを検出した場合や、図4のプリアンブル検出部336、337で、所定時間の間にプリアンブルが検出できなった場合が挙げられる。このように識別IDを正しく受信できなかった場合、通信部312は、RFタグ3からIDを正しく受信できなかったことを示すNakコマンドを送信し、RFタグ3はNakコマンドを受信する。
【0041】
次に、通信部312は同様に、Query-repコマンドを送信し、スロット3に移行する。RFタグ3は、Nakコマンドを受信しており、フラグはAのままの状態に維持している。スロット3では応答するRFタグはない。同様に、スロット4でも、応答するRFタグはない。
【0042】
続いて、通信部312は次のラウンド(ラウンド3)に移行し、Queryコマンドを送信する。上記と同様に、Queryコマンドでは、ラウンド当たりのスロット数を4とするパラメータと、上記のフラグがAのRFタグを対象としていることを示すパラメータを、少なくとも含む。RFタグ1、RFタグ2、RFタグ4は、フラグがBで、送信停止状態にある。また、ラウンド3においては、リーダライタ100のアンテナ装置90が図7におけるBの位置に移動しており、RFタグ3と正確に通信できる。
【0043】
RFタグ3は、Queryコマンドを受信すると、ラウンド1と同様に、乱数を生成し、1ラウンド中の4スロットのうち、どのスロットで応答するかを決めると共に、応答する時のデータRN16も生成する。図6ではRFタグ3がスロット2で応答する例を示している。RN16の送出から識別IDの送出までの処理は他のRFタグと共通するため、説明を省略する。ラウンド3のスロット3以降は、応答するタグはない。
【0044】
このように、通信部312は、ラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンド(Queryコマンド等)を送出し、応答要求コマンドの取得に応じてRFタグから送信されるレスポンス(RN16)を取得し、取得されるレスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンド(ACKコマンド)を送出し、タグ情報要求コマンドの取得に応じてRFタグから送出されるタグ情報を取得する。
【0045】
また、第1の実施形態において、通信部312は、以上に例示するようにして取得した識別IDを、記憶部311に記憶させる。また、通信部312は、RFタグとの通信処理の実行に応じてラウンドにおけるスロット数nSL0(=2Q)を示す情報(スロット数情報)を取得するスロット数情報取得部322と、RFタグとの1ラウンドの通信処理が完了したときに該通信処理においてACKコマンドが送信されたスロット数nACK0を示す情報(通信発生数情報)を生成する通信発生数カウント部324と、RFタグとの1ラウンドの通信処理が完了したときに該通信処理において識別IDが取得された数nIDを示す情報(通信成功数情報)を生成する通信成功数カウント部326と、を備えている。そして、通信部312は、スロット数情報および通信発生数情報を通信発生率算出部313に送出する。また、通信部312は、通信発生数情報および通信成功数情報を通信成功率算出部314に送出する。
【0046】
通信発生率算出部313は、1ラウンドにおいてタグ情報要求コマンドが送出されたタイムスロットの数と、1ラウンド内におけるタイムスロットの数とから、1のRFタグとの通信が発生したタイムスロットの1ラウンドにおける割合である通信発生率を算出する。
【0047】
具体的に説明すると、通信発生率算出部313は、スロット内でリーダライタ100がACKコマンドを送信したスロットは、個別通信が発生したスロットであるとして、取得するスロット数情報および通信発生数情報から、通信発生率の算出を実行する。ISO18000-6typeCのプロトコルでは、リーダライタ100(通信部312)がACKコマンドを送信すると、そのACKコマンドの内容に対応したRFタグは識別IDを返答するよう規定されている。したがって、リーダライタ100がACKコマンド送信を行ったスロットは、特定のRFタグとの個別通信が発生したスロットであるということができる。通信発生率算出部313は、通信部312から取得する1ラウンド中のスロット数nSL0と通信発生数nACKとから1ラウンド当たりの通信発生率をaACK=nACK/nSL0として算出する。
【0048】
例えば、図6に示した例において、通信発生率算出部313は、ラウンド1について、通信発生数nACKを2、通信発生率を aACK=2/4=0.5と算出する。同様に、通信発生率算出部313は、ラウンド2については、nACK=2、aACK=2/4=0.5、ラウンド3については、nACK=1、aACK=1/4=0.25、ラウンド4以降は、nACK=0、aACK=0/4=0と算出する。
【0049】
通信成功率算出部314は、通信部312におけるRFタグとの通信処理において通信部312からタグ情報の送出を要求するACKコマンドが送出されたタイムスロット数nACK0と、ACKコマンドに対する返信としてRFタグから識別IDを取得したタイムスロット数nIDとから、1ラウンドにおけるRFタグとの通信成功率aID=nID/nACK0を算出する。
【0050】
具体的には、通信成功率算出部314は、1ラウンドの識別ID受信に成功したスロット数nIDを示す通信成功数情報とラウンド中のACKコマンドが送信されたスロット数nACK0を示す通信発生数情報を通信部312から取得する。ここで、nACK0は、RFタグが識別IDの返信を実行した回数と同一である。従って、通信成功率算出部314は、1ラウンド当たりの通信成功率をaID=nID/nACK0として算出する。
【0051】
例えば、図6に示した例において、通信成功率算出部314は、ラウンド1については、通信成功回数nIDを2、通信発生回数nACKを2、通信成功率を aID=2/2=1と算出する。同様に、通信成功率算出部314は、ラウンド2については、nID=1、nACK=2、aID=1/2=0.5と、ラウンド3については、nID=1、nACK=1、aID=1/1=1と、ラウンド4については、nID=0、nACK=0、aID=0/0=0、と算出する。
【0052】
ISO18000-6typeCの場合、リーダライタ100がACKコマンドを送信した後に、IDを応答するRFタグは1つである。よって、ACKコマンド送信後にはそのスロットにおいては他のRFタグとの衝突は発生しない。従って、通信成功率aIDは、RFタグリーダライタと1対1の通信(個別通信)が確立されたRFタグとの通信状態を示す値となり、衝突によるエラー要因を排除した値となる。
【0053】
なお、図6の例では、理解を容易とするために、リーダライタ100はACKコマンドを送信するスロットではACKコマンドを1回だけ送信している構成としている。しかしながら、これに限らず、リーダライタ100は識別ID受信時にエラーを検出したときに、同一スロット内で、引き続きACKコマンドを送信する場合もある。この場合は、各スロットにおいて最初のACKコマンドを送信した数が通信発生回数に相当する。
【0054】
また、通信成功率算出部314は、1のタイムスロットにおいて複数回ACKコマンドが送信される場合は、通信成功率を、通信成功数nIDと、算出期間(例えば1のラウンド)におけるACKコマンドが送出された回数nACKとに基づき、aID=nID/nACKとして算出する。
【0055】
したがって、第1の実施形態では、通信部312が有する通信発生数カウント部324は、通信発生数情報を生成する処理と、ACKコマンドが送出された回数についての情報(Ackコマンド送出数情報)を生成する処理とを兼ねて処理の実行を行っている。したがって、通信発生数カウント部324をACKコマンド送出数カウント部ということもできる。
【0056】
通信安定性判定部315は、記憶部311に記憶されている、通信成功率aIDについての基準である通信成功率基準情報を取得し、該通信状態基準情報と通信成功率算出部314にて算出される通信成功率aIDとの比較に基づきRFタグとの通信状態が良好であるか否かを判定する(通信状態の判定処理)。具体的には、通信安定性判定部315は、通信成功率aIDが通信状態基準情報にて示される通信成功率の基準以上である場合、通信状態が良好であると判定する。また、通信安定性判定部315は、通信成功率aIDが通信状態基準情報にて示される通信成功率の基準未満である場合、通信状態が悪いと判定する。
【0057】
ここで、第1の実施形態において、通信安定性判定部315は、通信発生率算出部313において算出される通信発生率が0であるラウンドについて、通信状態の判定処理を非実行とする。また、通信安定性判定部315は、通信発生率算出部313において算出される通信発生率が0よりも大きいラウンドについて、通信状態についての判定処理を実行する。
【0058】
記憶部311に記憶されている通信成功率基準情報を図8に例示する。図8においては、通信安定性判定部315は、通信発生率が0であるラウンドについては、RFタグが通信範囲内に無い、或いは読取済みである(以下、判定結果1と称す)として、通信状態の判定処理を行わない(言い換えれば、通信状態についての判定を行うことなく判定結果1と認定する)。また、通信安定性判定部315は、通信発生率が0より大きいが基準未満である場合、応答するRFタグはあるが通信状態が悪いと判定する(判定結果2と称す)。また、通信安定性判定部315は、通信発生率が0より大きく且つ通信成功率が基準以上である場合、応答するRFタグがあり、通信状態が良好と判定する(判定結果3と称す)。
【0059】
なお、第1の実施形態においては、表示部37を介して使用者に通知する通知内容と関連付けられて通信成功率基準情報が記憶されている通信成功率判定テーブルとして、記憶部311に記憶されている。制御部31は、通信安定性判定部315にて通信状態の判定が行われた場合(より具体的には該判定結果を記憶部311に記憶させたことの通信安定性判定部315からの通知を制御部31が取得したとき)、該判定結果と関連付けて通信成功率判定テーブルにて記憶されている通知内容を表示部37に表示させる。また、第1の実施形態においては、制御部31は、該通知内容と併せて、通信発生率および/または通信成功率を表示部37に表示させる。
【0060】
また、通信安定性判定部315は、図9に示すように、判定結果をラウンド、通信発生率、通信成功率と関連付けて記憶部311に記憶させる。さらに、通信安定性判定部315は、通信状態の判定を行ったことを、位置判定部316に通知する。なお、図9においては、通信成功率の基準を0.7とした場合を例示している。
【0061】
位置判定部316は、通信安定性判定部315からの通知に基づき、判定結果を記憶部311から取得し、通信安定性判定部315における判定結果が連続するラウンド間で異なる場合に、リーダライタ100に備わるアンテナ(アンテナ装置90)の位置がラウンド間で移動したものと判定する。
【0062】
具体的には、位置判定部316は、「通信状態が悪い(判定結果2)」、から、「通信状態が良好(判定結果3)」に変わったときや、通信安定性判定部315の判定結果が、「RFタグが周辺に無いか、或いは、RFタグを読取済み(判定結果1)」、から、「通信状態が良好(判定結果3)」に変わったときなどに、リーダライタ100に備わるアンテナが移動したと判定する。これにより、アンテナの移動を検出することができる。また、制御部31は、表示部37に、位置判定部316の判定結果を表示するようにしてもよい。これにより使用者はリーダライタ100が正しく移動を検出したことや、リーダライタ100が正しく動作していることを知ることができる。また、RFタグの識別IDに加えて位置情報も得ることができる。
【0063】
また、第1の実施形態において、位置判定部316は、アンテナの位置が移動したとの判定をしたことを、グループ化部317に通知する。
【0064】
グループ化部317は、位置判定部316からのアンテナの位置が移動したとの判定をしたことの通知に基づき、記憶部311に記憶されている識別IDのうち、アンテナの位置の移動前に1つまたは複数のRFタグから取得された識別IDをグループ化して、該記憶部311に記憶させる。
【0065】
具体的には、グループ化部317は、位置判定部316からの該通知の前まではグループ化されていない状態で記憶部311にて記憶されている識別IDを、図10に例示するように、グループ化して記憶させる。すなわち、グループ化部317は、取得した識別IDを位置の移動に基づき、グループ分けしている。これにより、使用者は、同じ位置で受信した識別IDの認識が容易になる。
【0066】
ここで、第1の実施形態において、図10に示すように、グループ化部317は、グループ化した識別IDを、グループ化して記憶させた順序に関する情報と関連付けて所定の記憶領域に記憶させるこれにより、アンテナの移動した経路の確認や該経路の直感的な認識が容易となる。
【0067】
なお、第1の実施形態における制御部31は、具体的には、リーダライタ本体30に実装されるCPU、MPUなどの演算装置や、RAM、ROMにより構成することができる。
【0068】
次に、第1の実施形態のリーダライタ100による、不特定数のRFタグを対象とする読取処理(一括読取処理)におけるRFタグとの通信の処理フローを、図11を用いて説明する。なお、以下の説明においては、リーダライタ100からの送信出力の大きさについては、リーダライタ本体30に予め設定されているものとする。また、以下の説明においては、一括読取処理におけるラウンド内のスロット数は、予めリーダライタ100にて設定されており、通信部312は、該設定されたスロット数の通信処理をISO18000-6 type Cに準拠して実行するものとする。さらに、以下に説明する処理フローにおいてはこの他に選択読取処理や選択書込処理を行うことができるように構成されているが、これらの処理は例えば公知のものとすることにより実現することができるため、説明を省略する。また、もちろん、選択読取処理等を備えない構成とすることも可能である。
【0069】
まず、Act101において、制御部31は、実行する処理が一括読取、選択読取、または選択書込みのいずれであるかを示す処理指定情報を、使用者からの入力に基づき、取得する。具体的には、制御部31は、図13に示すような処理指定画面を構成し、表示部37に表示させる。使用者は、表示部37に表示された処理指定画面に基づき、所望する処理を入力部35を介して指定する。制御部31は、当該入力部35を介した使用者からの指定により、処理指定情報を取得する。当該説明においては、該画面を通じて、制御部31は、一括読取を指定している処理指定情報を取得する。
【0070】
次に、Act102において、制御部31は、記憶部311に記憶されている一括読取の場合の電波の出力情報に基づき、無線部33に対し送信出力の設定を実行する。そして、制御部31は、送信出力の設定が完了したことを、該制御部31内の通信部312に通知する。
【0071】
次に、Act103において、通信部312は、無線部33を制御してアンテナ装置90から一括読取に係る電波を放射させて一括読取を実施し、RFタグにて保持されている情報(識別ID)の取得処理を実行する。そして、通信部312は、当該通信処理の実行に応じてスロット数情報取得部322が記憶部311から取得するスロット数情報と、1ラウンドの通信処理の終了に応じて通信発生数カウント部324により生成される通信発生数情報と、1ラウンドの通信処理の終了に応じて通信成功カウント部326により生成される通信成功数情報を、通信発生率算出部313および通信成功率算出部314に送出する(Act104、スロット数等情報の送出)。具体的には、通信発生率算出部313にスロット数情報と通信発生数情報を送出し、通信成功率算出部314に通信成功数情報および通信発生数情報を送出する。
【0072】
次に、Act105において、通信発生率算出部313は、スロット数情報と通信発生数情報とを取得するとき、スロット数情報と通信発生数情報とから、通信発生率を算出する。次に、通信発生率算出部313は、算出した通信発生率を通信安定性判定部315に送出する。
【0073】
次に、Act106において、通信成功率算出部314は、通信発生数情報と通信成功数情報とを取得するとき、通信発生数情報と、通信成功数情報とから、通信成功率を算出する。次に、通信成功率算出部314は、算出した通信成功率を通信安定性判定部315に送出する。なお、Act106とAct105が行われる順序は特に限定されず、例えば先にAct106が実行されてもよい。
【0074】
Act107において、通信発生率と通信成功率とを取得するとき、通信安定性判定部315は、通信状態の判定を実行する。そして、通信安定性判定部315は、判定結果を記憶部311に記憶させるとともに、通信状態の判定をしたことを、制御部31に通知する。制御部31は、該通知に基づき、図8に示す通信状態の判定結果に関連付けされた通知内容を、表示部37に表示させる(Act108)。また、第1の実施形態において、通信安定性判定部315は、通信状態の判定をしたことを、位置判定部316にも通知する(Act301へ)。
【0075】
次に、第1の実施形態における、通信安定性判定部315による通信状態の判定の処理フローについて、図13を用いて詳細に説明する。
【0076】
まず、Act201において、通信安定性判定部315は、取得した通信発生率が0であるかを判定する。通信発生率が0である場合、通信安定性判定部315は、通信成功率を用いた通信状態についての判定処理は実行せず、通信状態を図8に示す判定結果1と認定する(Act211)。そして、通信安定性判定部315は、該判定結果1を、図9に示すように、ラウンド、通信成功率、および通信発生率と関連付けて記憶部311に記憶させる。
【0077】
一方、通信発生率が0より大きい場合、Act202において、通信安定性判定部315は、記憶部311から通信成功率基準情報を取得し、該通信成功率基準情報と取得した通信成功率との比較を実行する。取得した通信成功率が通信成功率基準よりも小さい場合、通信安定性判定部315は、通信状態を図8に示す判定結果2として判定する(Act203)。そして、通信安定性判定部315は、該判定結果2を、図9に示すようにラウンドと関連付けて記憶部311に記憶させる。一方、取得した通信成功率が通信成功率基準以上である場合、通信安定性判定部315は、通信状態を図8に示す判定結果3として判定する(Act204)。そして、通信安定性判定部315は、該判定結果3を、図9に示すようにラウンドと関連付けて記憶部311に記憶させる。
【0078】
次に、位置判定処理、および該位置判定処理に基づく識別IDのグループ化処理についての処理フローを図14を用いて説明する。
【0079】
まず、Act301において、位置判定部316は、通信状態の判定が行われたことの通知を取得するとき、通信状態についての判定結果を記憶部311から取得し、通信安定性判定部315における判定結果が連続するラウンド間で異なるか否かを判定する。判定結果が連続するラウンド間で同一であるとき、位置判定部316は、リーダライタ100に備わるアンテナの位置は移動していないと認定し、そのまま処理を終了する(Act311)。一方、通信安定性判定部315における判定結果が連続するラウンド間で異なると判定される場合、位置判定部316は、リーダライタ100に備わるアンテナの位置が移動したものと認定する(Act302)。次いで、位置判定部316は、アンテナの位置が移動したとの判定をしたことを、グループ化部317に通知する。
【0080】
次に、Act303において、グループ化部317は、位置判定部316からのアンテナの位置が移動したとの認定をしたことの通知を取得するとき、当該位置が移動したとの認定前に取得され、互いに関連付けされていない状態(グループ化されていない状態)で記憶部311に記憶されている識別IDを、記憶部311にグループ化して記憶させる。
【0081】
以上、第1の実施形態によれば、使用者は、算出される通信成功率により、リーダライタ100の通信状態をより正確に把握することが可能となる。さらに具体的には、識別ID等のタグ情報の取得ができない場合に、それが衝突によるものであるのか、または他の要因に起因するのかを判別することができる。また、当該通信成功率を表示部37等を介してユーザに通知すれば、ユーザは、通信状態をリアルタイムで認知することが可能となる。
【0082】
(第2の実施形態)
次に、第2の実施形態について説明する。第1の実施形態と共通する部分は同じ符号を付して説明を省略する。
【0083】
図15は、第2の実施形態の無線部33の構成を示すブロック図である。第2の実施形態において、無線部33は、第1の実施形態において説明した構成に加えて、RFタグからの受信信号レベル(受信信号の大きさ)を検出する機能を持つ受信信号レベル検出部を備える。受信信号レベル検出部は、I信号とQ信号の振幅の大きい方の振幅を検出して出力するように構成することができる。或いは、I信号とQ信号は直交しているので、ベクトル合成した振幅(=√(I2+Q2)、IとQはそれぞれ、I信号の振幅、Q信号の振幅)を検出して出力してもよい。
【0084】
また、図16は、第2の実施形態の制御部の構成を示すブロック図である。第2の実施形態において、制御部31は、第1の実施形態において説明した構成に加えて、応答発生率算出部321を備える。また、無線部312は、受信信号レベル情報取得部323と、信号レベル判定部325と、応答発生数カウント部327とを備える。
【0085】
受信信号レベル情報取得部323は、RFタグから送出される受信信号の大きさに関する情報である受信信号レベル情報を、無線部の受信信号レベル検出部から取得する。
【0086】
信号レベル判定部325は、記憶部311に記憶される受信信号レベルの基準である信号レベル基準情報を取得し、RFタグから送出される受信信号レベルが基準よりも大きい否かを信号レベル基準情報と受信信号レベル情報取得部323が取得した受信信号レベル情報との比較に基づきタイムスロットごとに判定する。図17は、第2の実施形態における、信号レベル基準情報の例示図である。そして、電波の受信信号レベルが基準よりも大きいと判定するタイムスロットについては、信号レベル判定部325は、通信部312により無線部33を介して送信される応答要求コマンド(QueryまたはQuery−Rep)の取得に応じて、RFタグからレスポンスの返信があったと認定する。
【0087】
応答発生数カウント部327は、信号レベル判定部325にて電波の受信信号レベルが基準よりも大きいと判定されるラウンド内のスロットの数をカウントし、当該受信信号レベルが基準よりも大きいと判定されるスロット数nRN16の情報(応答発生数情報)を生成する。
【0088】
応答発生率算出部321は、信号レベル判定部325にて生成される応答発生数情報と、ラウンド内におけるタイムスロットの数nSL0(=2Q)を示すスロット数情報とを通信部312から取得し、RFタグからのレスポンスの送信があったタイムスロットの割合を示す応答発生率aRN16=nRN16/nSL0を算出する。次に、応答発生率算出部321は、算出される応答発生率を、通信安定性判定部315に送出する。
【0089】
より具体的に説明すると、図18は第2の実施形態におけるRFタグとの通信を例示するタイミングチャートである。ラウンド1において、応答発生率はaRN16=nRN16/nSL0=3/4=0.75である。応答発生率の基準を0.1とすると、図6と動作は全く同じである。ISO18000-6typeCの場合、上述のように、各RFタグが乱数を発生して応答するスロットを決める。確率的には、全てのタグが衝突する可能性もある。応答発生率算出部を用いた場合には、このような場合でも、状態判定部は、応答するタグがあると判定することが可能となる。
【0090】
通信安定性判定部315は、応答発生率算出部321において算出される応答発生率が0である場合、当該応答発生率に対応するラウンドについては、通信状態の判定を非実行とする(通信状態についての判定を行うことなく判定結果1とみなす)。一方、通信安定性判定部315は、通信発生率算出部313において算出される通信発生率が0よりも大きいラウンドについて、第1の実施形態と同様に、通信状態についての判定処理を実行する。第2の実施形態における、通信成功率基準情報を図19に例示する。また、通信安定性判定部315は、図20に示すように、判定結果を、通信成功率、通信発生率、および応答発生率とともに記憶部311に記憶させる。
【0091】
ISO18000-6typeCの場合、上述のように、各RFタグが乱数を発生して応答するスロットを決める。そのため、あるスロットにおいて全てのタグが衝突する可能性もあり、その結果、特にスロット数を小さく設定した場合などには、そのラウンドにおいて識別IDを取得できないこともある。第2の実施形態によれば、応答発生率算出部321にてレスポンスが返信されたスロットの率である応答発生率を算出し、通信安定性判定部315にて該応答発生率を用いた通信状態の判定を行う。
【0092】
そのため、仮に通信成功率が低い場合を想定すると、使用者は、通信成功率が低いのは信号の衝突が生じているためであると認識することができる。よって、RFタグの読み落としをさらに少なくすることができる。
【0093】
次に、第2の実施形態のリーダライタ100による、不特定数のRFタグを対象とする読取処理(一括読取処理)におけるRFタグとの通信の処理フローを、図21を用いて説明する。なお、Act401〜Act403については、第1の実施形態のAct101〜Act103と共通するため、説明を省略する。
【0094】
Act404において、通信部312は、当該通信処理にて取得された識別IDを記憶部311に記憶させるほか、各ラウンドの識別IDの取得に成功したスロット数nID、各ラウンドのACKコマンドを送出したスロット数nACK0、1のラウンドのスロット数nSL0についての情報、および応答発生カウント部327にて生成された応答発生スロット数nRN16についての情報を、通信発生率算出部313、通信成功率算出部314および応答発生率算出部321に送出する(スロット数等情報の送出)。
【0095】
次に、Act405において、応答発生率算出部321は、取得するスロット数情報と応答発生数情報とに基づき、応答発生率(aRN16=nRN16/nSL0)を算出する。次に、応答発生率算出部321は、算出した応答発生率を通信安定性判定部315に送出する。
【0096】
次に、Act406において、通信発生率算出部313は、取得するスロット数情報と通信発生数情報とに基づき、通信発生率(aACK=nACK0/nSL0)を算出する。次に、通信発生率算出部313は、算出した通信発生率を通信安定性判定部315に送出する。
【0097】
次に、Act407において、通信成功率算出部314は、取得する通信発生数情報と通信成功数情報とに基づき、通信成功率(aID=nID/nACK0)を算出する。次に、通信成功率算出部314は、算出した通信成功率を通信安定性判定部315に送出する。なお、第1の実施形態と同様に、Act405〜Act407が行われる順序は特に限定されない。
【0098】
Act408において、応答発生率、通信発生率、および通信成功率の取得に基づき、通信安定性判定部315は、通信状態の判定処理を実行する。そして、通信安定性判定部315は、判定結果を記憶部311に記憶させるとともに、通信状態の判定をしたことを、制御部31に通知する。制御部31は、該通知に基づき、通信状態の判定結果に関連付けされて記憶部311に記憶されている通知内容を、表示部37に表示させる(Act409)。また、第2の実施形態においても、通信安定性判定部315は、通信状態の判定をしたことを、位置判定部316にも通知する(Act301へ)。
【0099】
次に、第2の実施形態における、通信安定性判定部315による通信状態の判定の処理フローについて、図22を用いて説明する。なお、Act502〜Act506およびAct511については第1の実施形態のACt201〜Act205およびAct211と共通するため、説明を省略する。
【0100】
まず、Act501において、通信安定性判定部315は、取得した応答発生率が0であるかを判定する。応答発生率が0である場合、通信安定性判定部315は、通信成功率を用いた通信状態についての判定処理は実行せず、通信状態を図19に示す判定結果4と認定する(Act512)。そして、通信安定性判定部315は、該判定結果4を、ラウンドと関連付けて記憶部311に記憶させる。
【0101】
一方、応答発生率が0でない場合、Act502に進み、通信発生率を用いての判定を実行する。
【0102】
次に、通信部312における応答発生の判定についての処理フローを説明する(図23)。
【0103】
まず、Act601において、信号レベル判定部325は、受信信号レベル情報取得部323が通信部312のRFタグとの通信に応じて無線部33の受信レベル検出部から取得する受信信号レベルについての情報である受信信号レベル情報を、受信信号レベル情報取得部323の送出に応じて取得する。
【0104】
次にAct602において、信号レベル判定部325は、受信信号レベル情報の取得に応じて、記憶部311から信号レベル基準情報を取得するとともに、スロット数情報取得部322から、スロット数情報を取得する。
【0105】
続いて、Act603において、信号レベル判定部325は、取得した受信信号レベル情報と信号レベル基準情報との比較に基づき、受信信号レベルが基準以上であるか否かの判定を実行する。
【0106】
受信信号レベルが基準値以上である場合、Act604において、信号レベル判定部325は、当該スロットにおいてRFタグからの返信が発生していると認定する。次に、Act605において、信号レベル判定部325は、RFタグからの返信が発生していると認定したことを、応答発生数カウント部327に通知する(Act605)。
【0107】
一方、Act603において受信信号レベルが基準よりも小さいと判定される場合、信号レベル判定部325は、当該スロットにおいてRFタグからの返信が発生していると認定する(Act606)。
【0108】
次に、Ac607において、信号レベル判定部325は、受信信号レベルの判定を行ったスロットが、ラウンド内の最後のスロットであるか否かを判定する。最後のスロットではない場合、信号レベル判定部325は、Act603に戻り、処理を続行する。
【0109】
一方、受信信号レベルの判定を行ったスロットがラウンド内の最後のスロットである場合、信号レベル判定部325は、最後のスロットであることを応答発生数カウント部327に通知する(Act608)。当該通知に基づき、応答発生数カウント部327は、Act605にて示した通知を用いて応答発生数情報を生成する。
【0110】
以上、第2の実施形態によれば、RFタグの衝突が多発しても、通信安定性発生部は、通信範囲内に応答するRFタグがあると判定することが可能となる。よって、RFタグの読み落としをさらに少なくすることができる。
【0111】
以上、本発明の第1および第2の実施形態について説明したが、本発明はこれに限定されるものではなく、他の実施形態とすることも、もちろん可能である。
【0112】
例えば、第1および第2の実施形態においては、算出期間を1ラウンドとして説明したが、複数のラウンドにより構成することも、もちろん可能である。
【0113】
また、第1および第2の実施形態において、送信出力を制御するための出力情報、ラウンド数情報などの通信安定性の判定に関する設定情報、通信成功率基準情報や信号レベル基準情報は、リーダライタ本体30内のROMやRAM等により構成される記憶部311に記憶されている。しかしながら、これに限定されず、外部機器の記憶部に記憶され、必要に応じてインターフェース部39を介して制御部31が取得するようにしてもよい。
【0114】
また、第1の実施形態において、通信部312は、通信成功数nIDに加えて、通信失敗数nIDERR=nACK−nIDを算出する通信失敗数カウント部を設けるようにしてもよい。さらに、制御部31は、該通信失敗数カウント部にて算出される通信失敗数を表示部37に表示させるようにしてもよい。さらに制御部31は、算出期間中の通信エラー率(nACK−nID)/nACKを算出する通信失敗率算出部を備えるようにしてもよく、さらに算出された該通信エラー率を表示部37に表示させるようにしてもよい。
【0115】
また、第1および第2の実施形態においては、RFタグとの通信処理において、ラウンドの最初のスロットにおいてQueryコマンドを送信する構成としている。当該構成とすることにより、あるラウンドの先頭のQueryコマンドを正しく受信できなかったRFタグも、次のラウンドの先頭でQueryコマンドを正しく受信できれば、通信に参加することが可能となる。
【0116】
一方、通信安定性判定部において通信状態が良好と判定される場合、通信状態が良好と判定された算出期間(例えば1ラウンド)と連続する算出期間においては、応答要求コマンドとして、Query adjustコマンドを送信するようにしてもよい。Queryコマンドは上述のように、1ラウンド当たりのスロット数を直接的に指定するパラメータQを含むのに対し、Query-adjustコマンドは、前のラウンドのスロット数の乗数Qに対して、同じか、±1かを示す相対的なパラメータを含んでおり、Queryコマンドよりもデータ量が小さい。よって、Query-adjustコマンドを送信することにより、短時間で効率的に通信を行うことができる。
【0117】
また、第1の実施形態においては、通信発生率および通信成功率を算出し、これらに基づいて通信状態の判定を行っている。しかしながらこれに限定されず、通信成功率によって通信状態の判定を行う構成としてもよい。この場合、通信成功率基準情報は、例えば図24のように構成することができる。
【0118】
また、第2の実施形態において、応答発生率の値に応じて、通信発生率および/または通信成功率の算出が行われるようにしてもよい。例えば、応答発生率が0である場合、通信発生率および通信成功率のうち少なくともいずれかの算出を非実行としてもよい。
【0119】
また、第1および第2の実施形態においてさらにタグ情報を受信できなかったスロット数を算出するようにしてもよい。
【0120】
また、第1または第2の実施形態において示した構成に加えて、制御部31に衝突発生率算出部を備えるようにしてもよい。衝突発生率算出部は、算出期間(例えば1ラウンド)の衝突発生が発生したスロット数をnCOL=nRN16-nACK0(nRN16はRN16を正しく受信した場合と衝突などで正しく受信できなかった場合を含めた応答が発生したスロット数、nACK0はRN16を正しく受信したスロット数)として算出し、算出期間当たりの衝突が発生したスロット率である衝突発生率をaCOL=nCOL/nSL0により算出する。通信安定性判定部315は、衝突発生率の基準(記憶部11等の所定の記憶領域から取得)と比較して、aCOLが大きいと判定する場合、制御部31は1ラウンド当たりのスロット数を大きくするようにしてもよい。これにより、衝突が生じるスロット率を低減することができ、短時間で効率的にRFタグと通信することができる。
【0121】
さらに、制御部31が無応答率算出部をさらに備えるようにしてもよい。算出期間(例えば1ラウンド)の応答が発生していないスロット数をnNA=nSL0−nRN16(nSL0は1ラウンドのスロット数で2Q、nRN16はRN16を正しく受信した場合と衝突などで正しく受信できなかった場合を含めたRFタグからの応答が発生したスロット数)として算出し、算出期間当たりの応答が発生していないスロットの率である無応答率を aNA=nNA/nSL0により算出する。通信安定性判定部315が記憶部311等の所定の記憶領域に記憶される無応答率の基準を示す情報を取得し、当該無応答率の基準と比較してaNAが大きいと判定される場合、制御部31は、1ラウンド当たりのスロット数を小さくするようにしてもよい。これにより、無応答のスロットを低減し、短時間で効率的にRFタグと通信することができる。
【0122】
さらにまた、RFタグリーダライタを構成するコンピュータにおいて上述した各動作を実行させるプログラムを、タグ情報取得プログラムとして提供することができる。第1〜第2の実施の形態では、発明を実施する機能を実現するための当該プログラムが、リーダライタの装置内部に設けられた記憶部311に予め記録されている場合を例示したが、これに限らず同様のプログラムをネットワークから装置にダウンロードしても良いし、同様のプログラムをコンピュータ読取可能な記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。具体的に、記録媒体としては、例えば、ROMやRAM等のコンピュータに内部実装される内部記憶装置、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、回線上の伝送媒体などが挙げられる。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と共働してその機能を実現させるものであってもよい。
【0123】
なお、本実施の形態におけるプログラムには、実行モジュールが動的に生成されるプログラムを含むものとする。
【0124】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。
【符号の説明】
【0125】
30 リーダライタ本体、31 制御部、33 無線部、 35 入力部、37 表示部、39 インターフェース部、311 記憶部、312 通信部、313 通信発生率算出部、314 通信成功率算出部、315 通信安定性判定部、316 位置判定部、317 グループ化部、321 応答率算出部、90 アンテナ装置、100 RFタグリーダライタ
【先行技術文献】
【特許文献】
【0126】
【特許文献1】特開2009−88779号公報
【特許文献2】特開2009−87049号公報
【技術分野】
【0001】
本発明は、非接触でRFタグと通信する、RFタグリーダライタに関し、特に、1つ以上の不特定のRFタグとの一括的な通信によりそれらRFタグに記憶されている情報を取得(読取)することができるRFタグリーダライタ技術に関する。
【背景技術】
【0002】
近年、RFID(Radio Frequency Identification)システムが注目され、例えば流通分野などにおいて導入が進んでいる。RFIDシステムは、ICチップとアンテナから成り、物品に付されるRFタグ(RFタグ、RFIDタグとも称される)と、該RFタグのICチップ内のメモリに記憶されている情報を非接触で読み取るとともに、該RFタグのICチップ内のメモリに情報を非接触で書込むRFタグリーダライタ(以下、単にリーダライタとも称す)とから構成される(例えば特許文献1)。
【0003】
RFIDシステムにおける処理としては、例えば、店舗などでの棚卸業務における、複数のRFタグからの一括での情報読取処理が挙げられる(以下、一括読取と称す)。このとき、リーダライタは、数mの距離が離れた範囲に電波を放射し、複数の商品にそれぞれ付された不特定のRFタグと通信を実行して、各RFタグに記憶されている情報を一括的に読み取る。ここで、読取対象のRFタグはリーダライタのアンテナの読取範囲よりも空間的に広い範囲に配置されているのが一般的である。よって、棚卸などにおいては、リーダライタのアンテナを移動して、通信する範囲を変えながらRFタグから情報を取得していく。
【0004】
ここで、従来のリーダライタにおいては、一般的に、RFタグから情報を取得できたときにブザーが鳴るように構成されており、使用者は該ブザーが鳴るか否かにより情報の取得に成功したか否かを知ることができた。そのため、使用者は、棚卸を実行するに当たっては、まず、ブザーが鳴ることを確認しつつ棚卸をする範囲を一通り回り、RFタグから情報を取得していく。そして、その後、取得した情報と、予めサーバやリーダライタの記憶領域に格納されている、使用中(商品に付された状態等)のRFタグに記憶されている情報と同一の情報とを比較して、読み落としがないかを確認していた。
【0005】
しかし、読取に成功したことを示すブザーだけでは使用者は通信状態や読み落としの有無を正確に把握することが難しい。よって、読取作業終了後に読み落としが見つかることが多く、そのため作業のやり直しを強いられる場面が多々あった。また、読取に成功したことを示すブザーだけでは使用者はリーダライタやそのアンテナを移動するタイミング、その速度、および移動方向などを予測することができず、その結果、読み落としが生じてしまう場合が多いという問題点があった。さらに、従来においては読取に失敗した原因が電波の衝突(コリジョン)によるものであるのか、それとも電波状態が不良であることに起因しているのか、判別ができなかった。そのため、電波状態が良好であるのにも係らずアンテナを移動させてしまい、その結果、かえって読み落としが発生してしまう場合もあった。
【0006】
そのため、通信状態を検出する技術も提案されている(例えば特許文献2)。特許文献2に記載の技術においては、リーダライタとRFタグとの間の通信におけるビットエラーレート(Bit Error Rate)あるいはフレームエラーレート(Frame Error Rate)を算出し、これらに基づいて通信安定性を判定することが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献2には具体的にはどのようにして通信安定性を判定するのかについて、開示されていない。そのため、例えば読取できない理由がコリジョンであるのか、それとも通信状態の不良に起因しているのか等についても判別することができないなどしており、通信状態を正確に把握するために十分であるとは依然としていえない。
【0008】
本発明は上述した問題点を解決するためになされたものであり、RFタグとの通信において、通信状態をより正確に把握することができるRFタグリーダライタ通信技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため、本発明の一態様は情報取得対象となるRFタグに対して信号の衝突を回避するアンチコリジョン方式を用いて通信を行い、該RFタグに記憶される情報であるタグ情報を取得する取得処理を複数回実行する通信部と、前記通信部におけるRFタグからの前記タグ情報の取得に成功した回数と、RFタグに対して信号の衝突が回避された状態で通信処理を実行した回数とに基づき、前記通信部におけるRFタグとの通信成功率を算出する通信成功率算出部と、を備えるRFタグリーダライタに関する。
【0010】
また、本発明の一態様はラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行する通信部と、前記通信部におけるRFタグとの通信処理において、前記通信部から前記RFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、1つ以上のラウンドを有する算出期間における前記通信部とRFタグとの通信成功率aID=nID/nACKを算出する通信成功率算出部と、を備えるRFタグリーダライタに関する。
【0011】
また、本発明の一態様はラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンドを送出し、応答要求コマンドの取得に応じてRFタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてRFタグから送出される前記タグ情報を取得する通信部と、1つ以上のラウンドを有する算出期間における前記通信部におけるRFタグとの通信処理においてRFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、RFタグとの通信成功率aID=nID/nACKを算出する通信成功率算出部と、を備えるRFタグリーダライタに関する。
【0012】
また、本発明の一態様は、 ラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンドを送出し、応答要求コマンドの取得に応じてRFタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてRFタグから送出される前記タグ情報を取得し、1つ以上のラウンドを有する算出期間における前記通信部におけるRFタグとの通信処理においてRFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、RFタグとの通信成功率aID=nID/nACKを算出するタグ情報取得方法に関する。
【発明の効果】
【0013】
以上に詳述したように、本発明によれば、RFタグとの通信において、通信状態をより正確に把握することができる。
【図面の簡単な説明】
【0014】
【図1】第1の実施形態のRFタグリーダライタの斜視図である。
【図2】第1の実施形態のRFタグのハードウェア構成を示すブロック図である。
【図3】第1の実施形態のRFタグリーダライタのハードウェア構成を示すブロック図である。
【図4】第1の実施形態のRFタグリーダライタの通信成功率の算出、および通信状態判定に係る機能ブロック図である。
【図5】第1の実施形態のRFタグリーダライタが有する無線部の回路構成図である。
【図6】第1の実施形態に係るISO18000-6 type Cに準拠した通信処理におけるタイミングチャートを例示する図である。
【図7】第1の実施形態のRFタグリーダライタ100の移動についての例示図である。
【図8】第1の実施形態に係る通信安定性基準情報の例示図である。
【図9】第1の実施形態の、記憶部311に記憶される通信状態の判定結果の例示図である。
【図10】第1の実施形態の、グループ化されて記憶される識別IDの例示図である。
【図11】第1の実施形態における、通信成功率の算出、および通信状態判定の処理フローを示す図である。
【図12】第1の実施形態における、処理開始画面の例示図である。
【図13】第1の実施形態における通信状態判定の処理フローを示す図である。
【図14】第1の実施形態における位置判定および識別IDのグループ化の処理フローを示す図である。
【図15】第2の実施形態のRFタグリーダライタが有する無線部の回路構成図である。
【図16】第2の実施形態に係る通信成功率の算出、および通信状態判定の機能ブロック図である。
【図17】第2の実施形態に係る信号レベル基準情報の例示図である。
【図18】第2の実施形態に係るISO18000-6 type Cに準拠した通信処理におけるタイミングチャートを例示する図である。
【図19】第2の実施形態に変る通信安定性基準情報の例示図である。
【図20】第2の実施形態の、記憶部311に記憶される通信状態の判定結果の例示図である。
【図21】第2の実施形態における、通信成功率の算出、および通信状態判定の処理フローを示す図である。
【図22】第2の実施形態における通信状態判定の処理フローを示す図である。
【図23】第2の実施形態における応答発生の判定についての処理フローを示す図である。
【図24】他の実施形態における通信安定性基準情報の例示図である。
【発明を実施するための形態】
【0015】
(第1の実施形態)
以下、本発明の第1の実施の形態について図面を参照しつつ説明する。なお、以下の説明では、RFタグに記憶されている情報として、識別ID(タグID)を例に挙げて説明する。また、理解を容易とするために、通信成功率等の算出期間は1ラウンドに設定されているものとして説明する。
【0016】
図1は、第1の実施形態による、RFタグリーダライタ100の概要を示す斜視図である。第1の実施形態のリーダライタ100は、不図示のアンテナを筐体92内部に備えるアンテナ装置90と、リーダライタ本体30とから構成されている。アンテナ装置90とリーダライタ本体30とは、同軸ケーブル94で接続されている。
【0017】
アンテナ装置90が備えるアンテナは、特に限定されないが例えばパッチアンテナとすることができる。リーダライタ100は、当該アンテナから放射される電波を介して、RFタグ(不図示)と通信を行う。また、第1の実施形態においてはアンテナ筐体92には把持部材96が設けられており、使用者が携帯しながらリーダライタ100を使用する際にアンテナ装置90を把持しやすいように構成されている。しかしながら、当該把持部96を設けない構成とすることも、もちろん可能である。
【0018】
図2にRFタグの機能ブロックの一例を示す。RFタグは、物品あるいは配送物等に貼付され、無線データキャリアの一種であり、送受信可能なタグアンテナとICチップとを基板に一体成形した独立の部品である。ICチップ900には、所定の情報信号(タグ情報)を記憶し得るメモリ903、タグアンテナ901で受信した変調電波の整流と安定化を行うことによりICチップ900の各部に電源を供給する電源生成部905、変調電波を復調して制御部へ送出(通信信号の復調)する復調部907、制御部から送出されたデータを変調してタグアンテナに送出(返信信号の変調)する変調部909、タグアンテナ901により受信された変調電波からクロック信号を抽出して制御部917に供給するクロック抽出部911、リーダライタ100からの変調電波の受信時に当該RFタグが応答信号をどの識別スロットに出力するかを決定するための当該変調電波にて指定されているスロット数指定値Qに応じた0から2Q−1の乱数を発生させる乱数発生器913と、メモリ903、復調部907、変調部909、クロック抽出部911、乱数発生器913等を介してRFタグの作動を制御する制御部915が設けられている。
【0019】
次に、リーダライタ本体30が備えるハードウェア構成について説明する。図3に示すように、リーダライタ本体30は、制御部31と、無線部33と、入力部35と、表示部37と、インターフェース部39と、を有する。また、バッテリおよびその充放電を制御する図1に示す電源部32により、各ハードウェアおよびアンテナ装置90へ電流が供給される。したがって、第1の実施形態のリーダライタ100は、携帯型リーダライタとして構成されている。
【0020】
制御部31は、使用者からの入力に基づき、後述する記憶部311に記憶されているプログラムを実行することにより、RFタグとの通信や、ネットワークを通じてのPC(Personal Computer, 不図示)などの外部機器との通信など、リーダライタ100における各種処理を行う役割を有している。例えば、後述するインターフェース部39を介してPCから取得されたり、使用者から後述する入力部35を介して入力された識別IDがアンテナ装置90から電波を介してRFタグに送出されるように、通信プロトコルに従って無線部33を制御する。また、制御部31の後述する記憶部311に記憶されている出力情報に基づき、該出力情報が示す送信出力でアンテナ装置90から電波が放射されるように、後述する無線部33を制御する。
【0021】
無線部33は、アンテナ装置90を介してRFタグと通信するための機能を備えているハードウェアである。無線部33の詳細な回路構成図を図4に示す。
【0022】
ここで、RFタグがバッテリを持たないパッシブタグの場合には、無線部33は、先ず、無変調キャリアをパワーアンプ331で増幅して、方向性結合器332を介してアンテナから電磁波を出力し、RFタグを起動させる。RFタグにデータを送信する場合には、通信プロトコルに従い符号化した信号について振幅変調器333にて振幅変調を行った後にパワーアンプ331で増幅し、次いで方向性結合器332を介してアンテナから電磁波を出力することにより、送信する。また、RFタグから信号を受信する時には、リーダライタ100から無変調キャリアを送信している状態で、RFタグがアンテナ端のインピーダンスを制御(バックスキャッタ)し、これによって反射状態が変わり、これをリーダライタ100のアンテナ装置で検出する。受信した電磁波信号は、方向性結合器332を介して直交復調され、同期クロック生成部I(334)およびQ(335)にて同期クロックを生成し、プリアンブル検出部I(336)およびQ(337)にて予め決められたプリアンブルを検出することによりデータの先頭を検出し、複合部I(338)およびQ(339)にて復号して受信データを得る。また、誤り検出符号によって、エラー検出部I(341)およびQ(342)にて誤りの有無を検出するようになっている。図3の場合には、直交復調の同相成分での復調と直交成分での復調のどちらかで誤りがなければ正しくデータを受信したと判定する構成である。また、制御部31の送信出力制御部315からの制御(具体的には、送信出力を設定するための送信出力設定信号の送出)により、パワーアンプ331にて送信出力が処理の形態に合わせて設定できるように構成されている。
【0023】
入力部35は、該入力部35を用いて使用者がリーダライタ100に指示を入力するためのハードウェアであり、具体的には押下により指示の入力が可能なボタン(キー)や、タッチパッドなどで構成することができる。
【0024】
表示部(ディスプレイ)37は、使用者にRFタグとの通信結果を示したり、指示入力を促すために用いることができるハードウェアであり、具体的にはLCD(Liquid crystal display)等とすることができる。なお、表示部37をタッチパネルセンサを搭載したグラフィカルディスプレイとして構成し、入力部35と表示部37とを一体化させてもよい。
【0025】
インターフェース部39は、ネットワークを介し、識別IDが記憶されているPCなどの外部機器と通信を行うためのハードウェアである。
【0026】
次に、制御部31の機能ブロックについて説明する。図5に示すように、制御部31は、以下に説明する記憶部311と、通信部312と、通信発生率算出部313と、通信成功率算出部314と、通信安定性判定部315と、位置判定部316と、グループ化部317と、を有する。
【0027】
記憶部311は、取得した識別IDや、該識別IDを電波を介して送信したりするための通信プロトコル(例えば、ISO18000-6typeCに準拠したRFタグの通信プロトコル)等が記憶される。さらに第1の実施形態においては、記憶部311は、後述する通信安定性判定部315による通信状態の判定に用いられる通信成功率についての基準である通信成功率基準情報が記憶されている。さらにまた、第1の実施形態においては、1ラウンドごとに算出された通信発生率や通信成功率が記憶されている(詳しくは後述)。
【0028】
通信部312は、無線部33を制御し、ラウンドを構成する複数のタイムスロット(以下、単にスロットとも称す)においてRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行する。より具体的には、第1の実施形態の通信部312は、ISO18000-6typeCのプロトコルに従い、通信処理を実行する。
【0029】
通信部312におけるRFタグに対する通信処理についてより具体的に説明する。図6は本実施形態のリーダライタ100の動作を示すタイミングチャート例である。また、図7は本実施形態のリーダライタ100のアンテナ装置90の位置と通信範囲とRFタグとの位置関係の説明図である。ここで、図7における通信範囲とは、RFタグが完全にこの範囲に入っていれば、衝突の場合を除いて、正確に通信できる範囲をいう。
【0030】
第1の実施形態の説明においては、一例として、ISO18000-6typeCのプロトコルに準拠し、RFタグがRFタグ1〜4の4個、ラウンド当たりのスロット数が4(=2Q=22)の場合を示す。また、図6に示す、ISO18000-6typeC に基づくQueryコマンド、Query-repコマンド、Query-adjustコマンド、RN16送信(RN16応答)、ACKコマンド、ID送信(ID返信)のうち、通信部312(すなわち、リーダライタ100)がRFタグに対して送信するQueryコマンド、Query-repコマンド、Query-adjustコマンドおよびACKコマンドよりも、RFタグの送信するRN16送信およびID送信は、バックスキャッタ方式で通信されるため、エラーが発生し易い。さらに、一般的に、RN16送信よりも、ID送信のデータ量が大きいことから、RFタグ同士の衝突が無い状態では、ID送信でエラーが発生し易い。
【0031】
先ず、リーダライタ100のアンテナ装置90はラウンド1および2のときはAの位置にあり、ラウンド3、4のときはBの位置にあるものとする。また、アンテナ装置90がAの位置にあるとき、RFタグ1、RFタグ2、RFタグ4は、リーダライタ100の通信範囲に入っているが、RFタグ3は、通信範囲の境界にあるものとする。
【0032】
図6において、まず、リーダライタ100の通信部312が、電磁波送信を開始する。この時の電磁波はRFタグに電力を供給するだけの目的であるため、無変調キャリアを送信する。RFタグ1〜4は電磁波を受けて起動する。ISO18000-6typeCのプロトコルに準拠して通信する各RFタグは、フラグ(Inventoriedフラグ)を有しており、各RFタグの起動時のフラグはAとする。
【0033】
次に、通信部312は、不特定のRFタグに対して応答を要求する応答要求コマンドであるQueryコマンドを送信する。Queryコマンドでは、ラウンド当たりのスロット数が4であることを示すパラメータと、フラグがAであるRFタグを対象としていることを示すパラメータとを、少なくとも含む。RFタグ1〜4は、Queryコマンドを受信すると、乱数を生成し、1ラウンド中の4スロットのうち、どのスロットで応答するかを決める。また、応答する時のデータRN16(本発明のレスポンスに相当)も生成する。応答するスロットおよびRN16は、各RFタグがそれぞれ生成する乱数によって定まり、特に、RN16はRFタグ毎に異なる値になる。図6では、RFタグ1がスロット1、RFタグ2とRFタグ3がスロット2、RFタグ4がスロット3で応答する場合を例示する。
【0034】
ISO18000-6typeCに従う場合、スロット1では、RFタグ1だけがRN16を返答する。衝突が発生しないため、通信部312はRFタグ1が送信したRN16を正しく受信する。そして、通信部312は、受信したRN16を含むACKコマンド(タグ情報要求コマンドに相当)を送信する。RFタグ1はACKコマンドを受信すると、自身が送信したRN16が含まれているかどうかを確認し、含まれている場合には、このACKコマンドが自分宛であると判定する。この場合、RFタグ1宛であり、RFタグ1は識別IDを通信部312に返信し、通信部312はこれを正しく受信する。
【0035】
次に、通信部312はQ-rep(Query-rep)コマンドを送信して、次のスロット(スロット2)に移行する。Query-repコマンドにも、上記と同じフラグ(A)を示すパラメータを、少なくとも含む。ここで、スロット1で識別IDを送信したRFタグ1は、フラグをBに変更し、応答を停止する。RFタグ2〜4は、Query-repコマンドを受信して、スロットがスロット2になったことの情報を得る。図6においてはRFタグ2とRFタグ3が、それぞれ同じタイミングでRN16を送信するため、衝突が生じており、リーダライタ100は正しくデータを受信できない。
【0036】
通信部312は所定時間内に正しくRN16を受信できなかったため、再度同様にQ-rep(Query-rep)コマンドを送信して、スロット3に移行する。RFタグ2〜4は、Query-repコマンドを受信して、スロットがスロット3になったことの情報を得る。RFタグ4は、スロット1のRFタグ1と同様に、RN16を送信し、ACKコマンドを受信し、IDを返信する。
【0037】
次に、通信部312はQuery-repコマンドを送信して、次のスロット(スロット4)に移行する。同様にRFタグ4はフラグをBに変更し、応答を停止する。RFタグ2〜3は、Query-repコマンドを受信して、スロットがスロット4になったことの情報を得る。図6の例では、スロット4でRN16を送信するタグはない。
【0038】
次に、通信部312は次のラウンド(ラウンド2)に移行し、Queryコマンドを送信する。上記と同様に、Queryコマンドでは、ラウンド当たりのスロット数を4とするパラメータと、上記のフラグがAのRFタグを対象としていることを示すパラメータを、少なくとも含む。
【0039】
RFタグ1とRFタグ4は、フラグがBで、送信停止状態にある。RFタグ2とRFタグ3は、Queryコマンドを受信すると、ラウンド1と同様に、乱数を生成し、1ラウンド中の4スロットのうち、どのスロットで応答するかを決めると共に、応答する時のデータRN16も生成する。図6では、RFタグ2がスロット1、RFタグ3がスロット2で応答する例を示している。RFタグ2は、同様に、RN16を送信し、ACKコマンドを受信し、識別IDを返信し、通信部312は正しく受信する。
【0040】
次に、通信部312はQuery-repコマンドを送信して、次のスロット(スロット2)に移行する。同様にRFタグ2はフラグをBに変更し、応答を停止する。RFタグ3は、Query-repコマンドを受信して、スロットがスロット2になったことの情報を得る。RFタグ3は、同様にRN16を送信し、ACKコマンドを受信し、識別IDを返信する。ラウンド2のスロット2では、RFタグ3が返信した識別IDを、通信部312が正しく受信できなかった例を示している。なお、識別IDを正しく受信できない場合とは、例えば、識別ID返信に係るデータに含まれるCRC(Cyclic Redundancy Check)符号などの誤り検出符号を用いて図4のエラー検出部341、342がエラーを検出した場合や、図4のプリアンブル検出部336、337で、所定時間の間にプリアンブルが検出できなった場合が挙げられる。このように識別IDを正しく受信できなかった場合、通信部312は、RFタグ3からIDを正しく受信できなかったことを示すNakコマンドを送信し、RFタグ3はNakコマンドを受信する。
【0041】
次に、通信部312は同様に、Query-repコマンドを送信し、スロット3に移行する。RFタグ3は、Nakコマンドを受信しており、フラグはAのままの状態に維持している。スロット3では応答するRFタグはない。同様に、スロット4でも、応答するRFタグはない。
【0042】
続いて、通信部312は次のラウンド(ラウンド3)に移行し、Queryコマンドを送信する。上記と同様に、Queryコマンドでは、ラウンド当たりのスロット数を4とするパラメータと、上記のフラグがAのRFタグを対象としていることを示すパラメータを、少なくとも含む。RFタグ1、RFタグ2、RFタグ4は、フラグがBで、送信停止状態にある。また、ラウンド3においては、リーダライタ100のアンテナ装置90が図7におけるBの位置に移動しており、RFタグ3と正確に通信できる。
【0043】
RFタグ3は、Queryコマンドを受信すると、ラウンド1と同様に、乱数を生成し、1ラウンド中の4スロットのうち、どのスロットで応答するかを決めると共に、応答する時のデータRN16も生成する。図6ではRFタグ3がスロット2で応答する例を示している。RN16の送出から識別IDの送出までの処理は他のRFタグと共通するため、説明を省略する。ラウンド3のスロット3以降は、応答するタグはない。
【0044】
このように、通信部312は、ラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンド(Queryコマンド等)を送出し、応答要求コマンドの取得に応じてRFタグから送信されるレスポンス(RN16)を取得し、取得されるレスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンド(ACKコマンド)を送出し、タグ情報要求コマンドの取得に応じてRFタグから送出されるタグ情報を取得する。
【0045】
また、第1の実施形態において、通信部312は、以上に例示するようにして取得した識別IDを、記憶部311に記憶させる。また、通信部312は、RFタグとの通信処理の実行に応じてラウンドにおけるスロット数nSL0(=2Q)を示す情報(スロット数情報)を取得するスロット数情報取得部322と、RFタグとの1ラウンドの通信処理が完了したときに該通信処理においてACKコマンドが送信されたスロット数nACK0を示す情報(通信発生数情報)を生成する通信発生数カウント部324と、RFタグとの1ラウンドの通信処理が完了したときに該通信処理において識別IDが取得された数nIDを示す情報(通信成功数情報)を生成する通信成功数カウント部326と、を備えている。そして、通信部312は、スロット数情報および通信発生数情報を通信発生率算出部313に送出する。また、通信部312は、通信発生数情報および通信成功数情報を通信成功率算出部314に送出する。
【0046】
通信発生率算出部313は、1ラウンドにおいてタグ情報要求コマンドが送出されたタイムスロットの数と、1ラウンド内におけるタイムスロットの数とから、1のRFタグとの通信が発生したタイムスロットの1ラウンドにおける割合である通信発生率を算出する。
【0047】
具体的に説明すると、通信発生率算出部313は、スロット内でリーダライタ100がACKコマンドを送信したスロットは、個別通信が発生したスロットであるとして、取得するスロット数情報および通信発生数情報から、通信発生率の算出を実行する。ISO18000-6typeCのプロトコルでは、リーダライタ100(通信部312)がACKコマンドを送信すると、そのACKコマンドの内容に対応したRFタグは識別IDを返答するよう規定されている。したがって、リーダライタ100がACKコマンド送信を行ったスロットは、特定のRFタグとの個別通信が発生したスロットであるということができる。通信発生率算出部313は、通信部312から取得する1ラウンド中のスロット数nSL0と通信発生数nACKとから1ラウンド当たりの通信発生率をaACK=nACK/nSL0として算出する。
【0048】
例えば、図6に示した例において、通信発生率算出部313は、ラウンド1について、通信発生数nACKを2、通信発生率を aACK=2/4=0.5と算出する。同様に、通信発生率算出部313は、ラウンド2については、nACK=2、aACK=2/4=0.5、ラウンド3については、nACK=1、aACK=1/4=0.25、ラウンド4以降は、nACK=0、aACK=0/4=0と算出する。
【0049】
通信成功率算出部314は、通信部312におけるRFタグとの通信処理において通信部312からタグ情報の送出を要求するACKコマンドが送出されたタイムスロット数nACK0と、ACKコマンドに対する返信としてRFタグから識別IDを取得したタイムスロット数nIDとから、1ラウンドにおけるRFタグとの通信成功率aID=nID/nACK0を算出する。
【0050】
具体的には、通信成功率算出部314は、1ラウンドの識別ID受信に成功したスロット数nIDを示す通信成功数情報とラウンド中のACKコマンドが送信されたスロット数nACK0を示す通信発生数情報を通信部312から取得する。ここで、nACK0は、RFタグが識別IDの返信を実行した回数と同一である。従って、通信成功率算出部314は、1ラウンド当たりの通信成功率をaID=nID/nACK0として算出する。
【0051】
例えば、図6に示した例において、通信成功率算出部314は、ラウンド1については、通信成功回数nIDを2、通信発生回数nACKを2、通信成功率を aID=2/2=1と算出する。同様に、通信成功率算出部314は、ラウンド2については、nID=1、nACK=2、aID=1/2=0.5と、ラウンド3については、nID=1、nACK=1、aID=1/1=1と、ラウンド4については、nID=0、nACK=0、aID=0/0=0、と算出する。
【0052】
ISO18000-6typeCの場合、リーダライタ100がACKコマンドを送信した後に、IDを応答するRFタグは1つである。よって、ACKコマンド送信後にはそのスロットにおいては他のRFタグとの衝突は発生しない。従って、通信成功率aIDは、RFタグリーダライタと1対1の通信(個別通信)が確立されたRFタグとの通信状態を示す値となり、衝突によるエラー要因を排除した値となる。
【0053】
なお、図6の例では、理解を容易とするために、リーダライタ100はACKコマンドを送信するスロットではACKコマンドを1回だけ送信している構成としている。しかしながら、これに限らず、リーダライタ100は識別ID受信時にエラーを検出したときに、同一スロット内で、引き続きACKコマンドを送信する場合もある。この場合は、各スロットにおいて最初のACKコマンドを送信した数が通信発生回数に相当する。
【0054】
また、通信成功率算出部314は、1のタイムスロットにおいて複数回ACKコマンドが送信される場合は、通信成功率を、通信成功数nIDと、算出期間(例えば1のラウンド)におけるACKコマンドが送出された回数nACKとに基づき、aID=nID/nACKとして算出する。
【0055】
したがって、第1の実施形態では、通信部312が有する通信発生数カウント部324は、通信発生数情報を生成する処理と、ACKコマンドが送出された回数についての情報(Ackコマンド送出数情報)を生成する処理とを兼ねて処理の実行を行っている。したがって、通信発生数カウント部324をACKコマンド送出数カウント部ということもできる。
【0056】
通信安定性判定部315は、記憶部311に記憶されている、通信成功率aIDについての基準である通信成功率基準情報を取得し、該通信状態基準情報と通信成功率算出部314にて算出される通信成功率aIDとの比較に基づきRFタグとの通信状態が良好であるか否かを判定する(通信状態の判定処理)。具体的には、通信安定性判定部315は、通信成功率aIDが通信状態基準情報にて示される通信成功率の基準以上である場合、通信状態が良好であると判定する。また、通信安定性判定部315は、通信成功率aIDが通信状態基準情報にて示される通信成功率の基準未満である場合、通信状態が悪いと判定する。
【0057】
ここで、第1の実施形態において、通信安定性判定部315は、通信発生率算出部313において算出される通信発生率が0であるラウンドについて、通信状態の判定処理を非実行とする。また、通信安定性判定部315は、通信発生率算出部313において算出される通信発生率が0よりも大きいラウンドについて、通信状態についての判定処理を実行する。
【0058】
記憶部311に記憶されている通信成功率基準情報を図8に例示する。図8においては、通信安定性判定部315は、通信発生率が0であるラウンドについては、RFタグが通信範囲内に無い、或いは読取済みである(以下、判定結果1と称す)として、通信状態の判定処理を行わない(言い換えれば、通信状態についての判定を行うことなく判定結果1と認定する)。また、通信安定性判定部315は、通信発生率が0より大きいが基準未満である場合、応答するRFタグはあるが通信状態が悪いと判定する(判定結果2と称す)。また、通信安定性判定部315は、通信発生率が0より大きく且つ通信成功率が基準以上である場合、応答するRFタグがあり、通信状態が良好と判定する(判定結果3と称す)。
【0059】
なお、第1の実施形態においては、表示部37を介して使用者に通知する通知内容と関連付けられて通信成功率基準情報が記憶されている通信成功率判定テーブルとして、記憶部311に記憶されている。制御部31は、通信安定性判定部315にて通信状態の判定が行われた場合(より具体的には該判定結果を記憶部311に記憶させたことの通信安定性判定部315からの通知を制御部31が取得したとき)、該判定結果と関連付けて通信成功率判定テーブルにて記憶されている通知内容を表示部37に表示させる。また、第1の実施形態においては、制御部31は、該通知内容と併せて、通信発生率および/または通信成功率を表示部37に表示させる。
【0060】
また、通信安定性判定部315は、図9に示すように、判定結果をラウンド、通信発生率、通信成功率と関連付けて記憶部311に記憶させる。さらに、通信安定性判定部315は、通信状態の判定を行ったことを、位置判定部316に通知する。なお、図9においては、通信成功率の基準を0.7とした場合を例示している。
【0061】
位置判定部316は、通信安定性判定部315からの通知に基づき、判定結果を記憶部311から取得し、通信安定性判定部315における判定結果が連続するラウンド間で異なる場合に、リーダライタ100に備わるアンテナ(アンテナ装置90)の位置がラウンド間で移動したものと判定する。
【0062】
具体的には、位置判定部316は、「通信状態が悪い(判定結果2)」、から、「通信状態が良好(判定結果3)」に変わったときや、通信安定性判定部315の判定結果が、「RFタグが周辺に無いか、或いは、RFタグを読取済み(判定結果1)」、から、「通信状態が良好(判定結果3)」に変わったときなどに、リーダライタ100に備わるアンテナが移動したと判定する。これにより、アンテナの移動を検出することができる。また、制御部31は、表示部37に、位置判定部316の判定結果を表示するようにしてもよい。これにより使用者はリーダライタ100が正しく移動を検出したことや、リーダライタ100が正しく動作していることを知ることができる。また、RFタグの識別IDに加えて位置情報も得ることができる。
【0063】
また、第1の実施形態において、位置判定部316は、アンテナの位置が移動したとの判定をしたことを、グループ化部317に通知する。
【0064】
グループ化部317は、位置判定部316からのアンテナの位置が移動したとの判定をしたことの通知に基づき、記憶部311に記憶されている識別IDのうち、アンテナの位置の移動前に1つまたは複数のRFタグから取得された識別IDをグループ化して、該記憶部311に記憶させる。
【0065】
具体的には、グループ化部317は、位置判定部316からの該通知の前まではグループ化されていない状態で記憶部311にて記憶されている識別IDを、図10に例示するように、グループ化して記憶させる。すなわち、グループ化部317は、取得した識別IDを位置の移動に基づき、グループ分けしている。これにより、使用者は、同じ位置で受信した識別IDの認識が容易になる。
【0066】
ここで、第1の実施形態において、図10に示すように、グループ化部317は、グループ化した識別IDを、グループ化して記憶させた順序に関する情報と関連付けて所定の記憶領域に記憶させるこれにより、アンテナの移動した経路の確認や該経路の直感的な認識が容易となる。
【0067】
なお、第1の実施形態における制御部31は、具体的には、リーダライタ本体30に実装されるCPU、MPUなどの演算装置や、RAM、ROMにより構成することができる。
【0068】
次に、第1の実施形態のリーダライタ100による、不特定数のRFタグを対象とする読取処理(一括読取処理)におけるRFタグとの通信の処理フローを、図11を用いて説明する。なお、以下の説明においては、リーダライタ100からの送信出力の大きさについては、リーダライタ本体30に予め設定されているものとする。また、以下の説明においては、一括読取処理におけるラウンド内のスロット数は、予めリーダライタ100にて設定されており、通信部312は、該設定されたスロット数の通信処理をISO18000-6 type Cに準拠して実行するものとする。さらに、以下に説明する処理フローにおいてはこの他に選択読取処理や選択書込処理を行うことができるように構成されているが、これらの処理は例えば公知のものとすることにより実現することができるため、説明を省略する。また、もちろん、選択読取処理等を備えない構成とすることも可能である。
【0069】
まず、Act101において、制御部31は、実行する処理が一括読取、選択読取、または選択書込みのいずれであるかを示す処理指定情報を、使用者からの入力に基づき、取得する。具体的には、制御部31は、図13に示すような処理指定画面を構成し、表示部37に表示させる。使用者は、表示部37に表示された処理指定画面に基づき、所望する処理を入力部35を介して指定する。制御部31は、当該入力部35を介した使用者からの指定により、処理指定情報を取得する。当該説明においては、該画面を通じて、制御部31は、一括読取を指定している処理指定情報を取得する。
【0070】
次に、Act102において、制御部31は、記憶部311に記憶されている一括読取の場合の電波の出力情報に基づき、無線部33に対し送信出力の設定を実行する。そして、制御部31は、送信出力の設定が完了したことを、該制御部31内の通信部312に通知する。
【0071】
次に、Act103において、通信部312は、無線部33を制御してアンテナ装置90から一括読取に係る電波を放射させて一括読取を実施し、RFタグにて保持されている情報(識別ID)の取得処理を実行する。そして、通信部312は、当該通信処理の実行に応じてスロット数情報取得部322が記憶部311から取得するスロット数情報と、1ラウンドの通信処理の終了に応じて通信発生数カウント部324により生成される通信発生数情報と、1ラウンドの通信処理の終了に応じて通信成功カウント部326により生成される通信成功数情報を、通信発生率算出部313および通信成功率算出部314に送出する(Act104、スロット数等情報の送出)。具体的には、通信発生率算出部313にスロット数情報と通信発生数情報を送出し、通信成功率算出部314に通信成功数情報および通信発生数情報を送出する。
【0072】
次に、Act105において、通信発生率算出部313は、スロット数情報と通信発生数情報とを取得するとき、スロット数情報と通信発生数情報とから、通信発生率を算出する。次に、通信発生率算出部313は、算出した通信発生率を通信安定性判定部315に送出する。
【0073】
次に、Act106において、通信成功率算出部314は、通信発生数情報と通信成功数情報とを取得するとき、通信発生数情報と、通信成功数情報とから、通信成功率を算出する。次に、通信成功率算出部314は、算出した通信成功率を通信安定性判定部315に送出する。なお、Act106とAct105が行われる順序は特に限定されず、例えば先にAct106が実行されてもよい。
【0074】
Act107において、通信発生率と通信成功率とを取得するとき、通信安定性判定部315は、通信状態の判定を実行する。そして、通信安定性判定部315は、判定結果を記憶部311に記憶させるとともに、通信状態の判定をしたことを、制御部31に通知する。制御部31は、該通知に基づき、図8に示す通信状態の判定結果に関連付けされた通知内容を、表示部37に表示させる(Act108)。また、第1の実施形態において、通信安定性判定部315は、通信状態の判定をしたことを、位置判定部316にも通知する(Act301へ)。
【0075】
次に、第1の実施形態における、通信安定性判定部315による通信状態の判定の処理フローについて、図13を用いて詳細に説明する。
【0076】
まず、Act201において、通信安定性判定部315は、取得した通信発生率が0であるかを判定する。通信発生率が0である場合、通信安定性判定部315は、通信成功率を用いた通信状態についての判定処理は実行せず、通信状態を図8に示す判定結果1と認定する(Act211)。そして、通信安定性判定部315は、該判定結果1を、図9に示すように、ラウンド、通信成功率、および通信発生率と関連付けて記憶部311に記憶させる。
【0077】
一方、通信発生率が0より大きい場合、Act202において、通信安定性判定部315は、記憶部311から通信成功率基準情報を取得し、該通信成功率基準情報と取得した通信成功率との比較を実行する。取得した通信成功率が通信成功率基準よりも小さい場合、通信安定性判定部315は、通信状態を図8に示す判定結果2として判定する(Act203)。そして、通信安定性判定部315は、該判定結果2を、図9に示すようにラウンドと関連付けて記憶部311に記憶させる。一方、取得した通信成功率が通信成功率基準以上である場合、通信安定性判定部315は、通信状態を図8に示す判定結果3として判定する(Act204)。そして、通信安定性判定部315は、該判定結果3を、図9に示すようにラウンドと関連付けて記憶部311に記憶させる。
【0078】
次に、位置判定処理、および該位置判定処理に基づく識別IDのグループ化処理についての処理フローを図14を用いて説明する。
【0079】
まず、Act301において、位置判定部316は、通信状態の判定が行われたことの通知を取得するとき、通信状態についての判定結果を記憶部311から取得し、通信安定性判定部315における判定結果が連続するラウンド間で異なるか否かを判定する。判定結果が連続するラウンド間で同一であるとき、位置判定部316は、リーダライタ100に備わるアンテナの位置は移動していないと認定し、そのまま処理を終了する(Act311)。一方、通信安定性判定部315における判定結果が連続するラウンド間で異なると判定される場合、位置判定部316は、リーダライタ100に備わるアンテナの位置が移動したものと認定する(Act302)。次いで、位置判定部316は、アンテナの位置が移動したとの判定をしたことを、グループ化部317に通知する。
【0080】
次に、Act303において、グループ化部317は、位置判定部316からのアンテナの位置が移動したとの認定をしたことの通知を取得するとき、当該位置が移動したとの認定前に取得され、互いに関連付けされていない状態(グループ化されていない状態)で記憶部311に記憶されている識別IDを、記憶部311にグループ化して記憶させる。
【0081】
以上、第1の実施形態によれば、使用者は、算出される通信成功率により、リーダライタ100の通信状態をより正確に把握することが可能となる。さらに具体的には、識別ID等のタグ情報の取得ができない場合に、それが衝突によるものであるのか、または他の要因に起因するのかを判別することができる。また、当該通信成功率を表示部37等を介してユーザに通知すれば、ユーザは、通信状態をリアルタイムで認知することが可能となる。
【0082】
(第2の実施形態)
次に、第2の実施形態について説明する。第1の実施形態と共通する部分は同じ符号を付して説明を省略する。
【0083】
図15は、第2の実施形態の無線部33の構成を示すブロック図である。第2の実施形態において、無線部33は、第1の実施形態において説明した構成に加えて、RFタグからの受信信号レベル(受信信号の大きさ)を検出する機能を持つ受信信号レベル検出部を備える。受信信号レベル検出部は、I信号とQ信号の振幅の大きい方の振幅を検出して出力するように構成することができる。或いは、I信号とQ信号は直交しているので、ベクトル合成した振幅(=√(I2+Q2)、IとQはそれぞれ、I信号の振幅、Q信号の振幅)を検出して出力してもよい。
【0084】
また、図16は、第2の実施形態の制御部の構成を示すブロック図である。第2の実施形態において、制御部31は、第1の実施形態において説明した構成に加えて、応答発生率算出部321を備える。また、無線部312は、受信信号レベル情報取得部323と、信号レベル判定部325と、応答発生数カウント部327とを備える。
【0085】
受信信号レベル情報取得部323は、RFタグから送出される受信信号の大きさに関する情報である受信信号レベル情報を、無線部の受信信号レベル検出部から取得する。
【0086】
信号レベル判定部325は、記憶部311に記憶される受信信号レベルの基準である信号レベル基準情報を取得し、RFタグから送出される受信信号レベルが基準よりも大きい否かを信号レベル基準情報と受信信号レベル情報取得部323が取得した受信信号レベル情報との比較に基づきタイムスロットごとに判定する。図17は、第2の実施形態における、信号レベル基準情報の例示図である。そして、電波の受信信号レベルが基準よりも大きいと判定するタイムスロットについては、信号レベル判定部325は、通信部312により無線部33を介して送信される応答要求コマンド(QueryまたはQuery−Rep)の取得に応じて、RFタグからレスポンスの返信があったと認定する。
【0087】
応答発生数カウント部327は、信号レベル判定部325にて電波の受信信号レベルが基準よりも大きいと判定されるラウンド内のスロットの数をカウントし、当該受信信号レベルが基準よりも大きいと判定されるスロット数nRN16の情報(応答発生数情報)を生成する。
【0088】
応答発生率算出部321は、信号レベル判定部325にて生成される応答発生数情報と、ラウンド内におけるタイムスロットの数nSL0(=2Q)を示すスロット数情報とを通信部312から取得し、RFタグからのレスポンスの送信があったタイムスロットの割合を示す応答発生率aRN16=nRN16/nSL0を算出する。次に、応答発生率算出部321は、算出される応答発生率を、通信安定性判定部315に送出する。
【0089】
より具体的に説明すると、図18は第2の実施形態におけるRFタグとの通信を例示するタイミングチャートである。ラウンド1において、応答発生率はaRN16=nRN16/nSL0=3/4=0.75である。応答発生率の基準を0.1とすると、図6と動作は全く同じである。ISO18000-6typeCの場合、上述のように、各RFタグが乱数を発生して応答するスロットを決める。確率的には、全てのタグが衝突する可能性もある。応答発生率算出部を用いた場合には、このような場合でも、状態判定部は、応答するタグがあると判定することが可能となる。
【0090】
通信安定性判定部315は、応答発生率算出部321において算出される応答発生率が0である場合、当該応答発生率に対応するラウンドについては、通信状態の判定を非実行とする(通信状態についての判定を行うことなく判定結果1とみなす)。一方、通信安定性判定部315は、通信発生率算出部313において算出される通信発生率が0よりも大きいラウンドについて、第1の実施形態と同様に、通信状態についての判定処理を実行する。第2の実施形態における、通信成功率基準情報を図19に例示する。また、通信安定性判定部315は、図20に示すように、判定結果を、通信成功率、通信発生率、および応答発生率とともに記憶部311に記憶させる。
【0091】
ISO18000-6typeCの場合、上述のように、各RFタグが乱数を発生して応答するスロットを決める。そのため、あるスロットにおいて全てのタグが衝突する可能性もあり、その結果、特にスロット数を小さく設定した場合などには、そのラウンドにおいて識別IDを取得できないこともある。第2の実施形態によれば、応答発生率算出部321にてレスポンスが返信されたスロットの率である応答発生率を算出し、通信安定性判定部315にて該応答発生率を用いた通信状態の判定を行う。
【0092】
そのため、仮に通信成功率が低い場合を想定すると、使用者は、通信成功率が低いのは信号の衝突が生じているためであると認識することができる。よって、RFタグの読み落としをさらに少なくすることができる。
【0093】
次に、第2の実施形態のリーダライタ100による、不特定数のRFタグを対象とする読取処理(一括読取処理)におけるRFタグとの通信の処理フローを、図21を用いて説明する。なお、Act401〜Act403については、第1の実施形態のAct101〜Act103と共通するため、説明を省略する。
【0094】
Act404において、通信部312は、当該通信処理にて取得された識別IDを記憶部311に記憶させるほか、各ラウンドの識別IDの取得に成功したスロット数nID、各ラウンドのACKコマンドを送出したスロット数nACK0、1のラウンドのスロット数nSL0についての情報、および応答発生カウント部327にて生成された応答発生スロット数nRN16についての情報を、通信発生率算出部313、通信成功率算出部314および応答発生率算出部321に送出する(スロット数等情報の送出)。
【0095】
次に、Act405において、応答発生率算出部321は、取得するスロット数情報と応答発生数情報とに基づき、応答発生率(aRN16=nRN16/nSL0)を算出する。次に、応答発生率算出部321は、算出した応答発生率を通信安定性判定部315に送出する。
【0096】
次に、Act406において、通信発生率算出部313は、取得するスロット数情報と通信発生数情報とに基づき、通信発生率(aACK=nACK0/nSL0)を算出する。次に、通信発生率算出部313は、算出した通信発生率を通信安定性判定部315に送出する。
【0097】
次に、Act407において、通信成功率算出部314は、取得する通信発生数情報と通信成功数情報とに基づき、通信成功率(aID=nID/nACK0)を算出する。次に、通信成功率算出部314は、算出した通信成功率を通信安定性判定部315に送出する。なお、第1の実施形態と同様に、Act405〜Act407が行われる順序は特に限定されない。
【0098】
Act408において、応答発生率、通信発生率、および通信成功率の取得に基づき、通信安定性判定部315は、通信状態の判定処理を実行する。そして、通信安定性判定部315は、判定結果を記憶部311に記憶させるとともに、通信状態の判定をしたことを、制御部31に通知する。制御部31は、該通知に基づき、通信状態の判定結果に関連付けされて記憶部311に記憶されている通知内容を、表示部37に表示させる(Act409)。また、第2の実施形態においても、通信安定性判定部315は、通信状態の判定をしたことを、位置判定部316にも通知する(Act301へ)。
【0099】
次に、第2の実施形態における、通信安定性判定部315による通信状態の判定の処理フローについて、図22を用いて説明する。なお、Act502〜Act506およびAct511については第1の実施形態のACt201〜Act205およびAct211と共通するため、説明を省略する。
【0100】
まず、Act501において、通信安定性判定部315は、取得した応答発生率が0であるかを判定する。応答発生率が0である場合、通信安定性判定部315は、通信成功率を用いた通信状態についての判定処理は実行せず、通信状態を図19に示す判定結果4と認定する(Act512)。そして、通信安定性判定部315は、該判定結果4を、ラウンドと関連付けて記憶部311に記憶させる。
【0101】
一方、応答発生率が0でない場合、Act502に進み、通信発生率を用いての判定を実行する。
【0102】
次に、通信部312における応答発生の判定についての処理フローを説明する(図23)。
【0103】
まず、Act601において、信号レベル判定部325は、受信信号レベル情報取得部323が通信部312のRFタグとの通信に応じて無線部33の受信レベル検出部から取得する受信信号レベルについての情報である受信信号レベル情報を、受信信号レベル情報取得部323の送出に応じて取得する。
【0104】
次にAct602において、信号レベル判定部325は、受信信号レベル情報の取得に応じて、記憶部311から信号レベル基準情報を取得するとともに、スロット数情報取得部322から、スロット数情報を取得する。
【0105】
続いて、Act603において、信号レベル判定部325は、取得した受信信号レベル情報と信号レベル基準情報との比較に基づき、受信信号レベルが基準以上であるか否かの判定を実行する。
【0106】
受信信号レベルが基準値以上である場合、Act604において、信号レベル判定部325は、当該スロットにおいてRFタグからの返信が発生していると認定する。次に、Act605において、信号レベル判定部325は、RFタグからの返信が発生していると認定したことを、応答発生数カウント部327に通知する(Act605)。
【0107】
一方、Act603において受信信号レベルが基準よりも小さいと判定される場合、信号レベル判定部325は、当該スロットにおいてRFタグからの返信が発生していると認定する(Act606)。
【0108】
次に、Ac607において、信号レベル判定部325は、受信信号レベルの判定を行ったスロットが、ラウンド内の最後のスロットであるか否かを判定する。最後のスロットではない場合、信号レベル判定部325は、Act603に戻り、処理を続行する。
【0109】
一方、受信信号レベルの判定を行ったスロットがラウンド内の最後のスロットである場合、信号レベル判定部325は、最後のスロットであることを応答発生数カウント部327に通知する(Act608)。当該通知に基づき、応答発生数カウント部327は、Act605にて示した通知を用いて応答発生数情報を生成する。
【0110】
以上、第2の実施形態によれば、RFタグの衝突が多発しても、通信安定性発生部は、通信範囲内に応答するRFタグがあると判定することが可能となる。よって、RFタグの読み落としをさらに少なくすることができる。
【0111】
以上、本発明の第1および第2の実施形態について説明したが、本発明はこれに限定されるものではなく、他の実施形態とすることも、もちろん可能である。
【0112】
例えば、第1および第2の実施形態においては、算出期間を1ラウンドとして説明したが、複数のラウンドにより構成することも、もちろん可能である。
【0113】
また、第1および第2の実施形態において、送信出力を制御するための出力情報、ラウンド数情報などの通信安定性の判定に関する設定情報、通信成功率基準情報や信号レベル基準情報は、リーダライタ本体30内のROMやRAM等により構成される記憶部311に記憶されている。しかしながら、これに限定されず、外部機器の記憶部に記憶され、必要に応じてインターフェース部39を介して制御部31が取得するようにしてもよい。
【0114】
また、第1の実施形態において、通信部312は、通信成功数nIDに加えて、通信失敗数nIDERR=nACK−nIDを算出する通信失敗数カウント部を設けるようにしてもよい。さらに、制御部31は、該通信失敗数カウント部にて算出される通信失敗数を表示部37に表示させるようにしてもよい。さらに制御部31は、算出期間中の通信エラー率(nACK−nID)/nACKを算出する通信失敗率算出部を備えるようにしてもよく、さらに算出された該通信エラー率を表示部37に表示させるようにしてもよい。
【0115】
また、第1および第2の実施形態においては、RFタグとの通信処理において、ラウンドの最初のスロットにおいてQueryコマンドを送信する構成としている。当該構成とすることにより、あるラウンドの先頭のQueryコマンドを正しく受信できなかったRFタグも、次のラウンドの先頭でQueryコマンドを正しく受信できれば、通信に参加することが可能となる。
【0116】
一方、通信安定性判定部において通信状態が良好と判定される場合、通信状態が良好と判定された算出期間(例えば1ラウンド)と連続する算出期間においては、応答要求コマンドとして、Query adjustコマンドを送信するようにしてもよい。Queryコマンドは上述のように、1ラウンド当たりのスロット数を直接的に指定するパラメータQを含むのに対し、Query-adjustコマンドは、前のラウンドのスロット数の乗数Qに対して、同じか、±1かを示す相対的なパラメータを含んでおり、Queryコマンドよりもデータ量が小さい。よって、Query-adjustコマンドを送信することにより、短時間で効率的に通信を行うことができる。
【0117】
また、第1の実施形態においては、通信発生率および通信成功率を算出し、これらに基づいて通信状態の判定を行っている。しかしながらこれに限定されず、通信成功率によって通信状態の判定を行う構成としてもよい。この場合、通信成功率基準情報は、例えば図24のように構成することができる。
【0118】
また、第2の実施形態において、応答発生率の値に応じて、通信発生率および/または通信成功率の算出が行われるようにしてもよい。例えば、応答発生率が0である場合、通信発生率および通信成功率のうち少なくともいずれかの算出を非実行としてもよい。
【0119】
また、第1および第2の実施形態においてさらにタグ情報を受信できなかったスロット数を算出するようにしてもよい。
【0120】
また、第1または第2の実施形態において示した構成に加えて、制御部31に衝突発生率算出部を備えるようにしてもよい。衝突発生率算出部は、算出期間(例えば1ラウンド)の衝突発生が発生したスロット数をnCOL=nRN16-nACK0(nRN16はRN16を正しく受信した場合と衝突などで正しく受信できなかった場合を含めた応答が発生したスロット数、nACK0はRN16を正しく受信したスロット数)として算出し、算出期間当たりの衝突が発生したスロット率である衝突発生率をaCOL=nCOL/nSL0により算出する。通信安定性判定部315は、衝突発生率の基準(記憶部11等の所定の記憶領域から取得)と比較して、aCOLが大きいと判定する場合、制御部31は1ラウンド当たりのスロット数を大きくするようにしてもよい。これにより、衝突が生じるスロット率を低減することができ、短時間で効率的にRFタグと通信することができる。
【0121】
さらに、制御部31が無応答率算出部をさらに備えるようにしてもよい。算出期間(例えば1ラウンド)の応答が発生していないスロット数をnNA=nSL0−nRN16(nSL0は1ラウンドのスロット数で2Q、nRN16はRN16を正しく受信した場合と衝突などで正しく受信できなかった場合を含めたRFタグからの応答が発生したスロット数)として算出し、算出期間当たりの応答が発生していないスロットの率である無応答率を aNA=nNA/nSL0により算出する。通信安定性判定部315が記憶部311等の所定の記憶領域に記憶される無応答率の基準を示す情報を取得し、当該無応答率の基準と比較してaNAが大きいと判定される場合、制御部31は、1ラウンド当たりのスロット数を小さくするようにしてもよい。これにより、無応答のスロットを低減し、短時間で効率的にRFタグと通信することができる。
【0122】
さらにまた、RFタグリーダライタを構成するコンピュータにおいて上述した各動作を実行させるプログラムを、タグ情報取得プログラムとして提供することができる。第1〜第2の実施の形態では、発明を実施する機能を実現するための当該プログラムが、リーダライタの装置内部に設けられた記憶部311に予め記録されている場合を例示したが、これに限らず同様のプログラムをネットワークから装置にダウンロードしても良いし、同様のプログラムをコンピュータ読取可能な記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。具体的に、記録媒体としては、例えば、ROMやRAM等のコンピュータに内部実装される内部記憶装置、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、回線上の伝送媒体などが挙げられる。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と共働してその機能を実現させるものであってもよい。
【0123】
なお、本実施の形態におけるプログラムには、実行モジュールが動的に生成されるプログラムを含むものとする。
【0124】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。
【符号の説明】
【0125】
30 リーダライタ本体、31 制御部、33 無線部、 35 入力部、37 表示部、39 インターフェース部、311 記憶部、312 通信部、313 通信発生率算出部、314 通信成功率算出部、315 通信安定性判定部、316 位置判定部、317 グループ化部、321 応答率算出部、90 アンテナ装置、100 RFタグリーダライタ
【先行技術文献】
【特許文献】
【0126】
【特許文献1】特開2009−88779号公報
【特許文献2】特開2009−87049号公報
【特許請求の範囲】
【請求項1】
情報取得対象となる1つ以上のRFタグに対して信号の衝突を回避するアンチコリジョン方式を用いて通信を行い、該RFタグに記憶される情報であるタグ情報を取得する取得処理を実行する通信部と、
所定の期間内における前記通信部における1つ以上のRFタグからの前記タグ情報の取得に成功した回数と、該所定の期間内におけるRFタグに対して信号の衝突が回避された状態で通信処理を実行した回数とに基づき、前記通信部におけるRFタグとの通信成功率を算出する通信成功率算出部と、を備えるRFタグリーダライタ。
【請求項2】
ラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンドを送出し、前記応答要求コマンドの取得に応じてRFタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてRFタグから送出される前記タグ情報を取得する通信部と、
1つ以上のラウンドを有する算出期間における前記通信部におけるRFタグとの通信処理においてRFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、RFタグとの通信成功率aID=nID/nACKを算出する通信成功率算出部と、を備えるRFタグリーダライタ。
【請求項3】
請求項2に記載のRFタグリーダライタにおいて、
所定の記憶領域に記憶されている、前記通信成功率についての基準である通信成功率基準情報を取得し、該通信状態基準情報と前記通信成功率算出部にて算出される前記通信成功率aIDとの比較に基づき前記RFタグとの通信状態が良好であるか否かを判定するための通信状態の判定処理を実行する通信安定性判定部と、をさらに備えるRFタグリーダライタ。
【請求項4】
請求項3に記載のRFタグリーダライタにおいて、
前記算出期間内において前記タグ情報要求コマンドが送出された前記タイムスロットの数nACK0と、前記算出期間内における前記タイムスロットの数nSL0とから、1のRFタグとの通信が発生したタイムスロットの前記算出期間内における割合である通信発生率aACK=nACK0/nSL0を算出する通信発生率算出部をさらに備え、
前記通信安定性判定部は、前記通信発生率算出部において算出される前記通信発生率が0である前記算出期間について、前記通信状態の判定処理を非実行とするRFタグリーダライタ。
【請求項5】
請求項4に記載のRFタグリーダライタにおいて、
前記通信安定性判定部は、前記通信発生率算出部において算出される前記通信発生率が0よりも大きい前記算出期間について、前記通信状態についての判定処理を実行するRFタグリーダライタ。
【請求項6】
請求項3に記載のRFタグリーダライタにおいて、
RFタグから送出される信号の大きさを示す情報である受信信号レベル情報を取得する信号レベル情報取得部と、
所定の記憶領域に記憶される受信信号の大きさの基準である信号レベル基準情報を取得し、RFタグから送出される受信信号の大きさが基準よりも大きいか否かを前記信号レベル基準情報と前記受信信号レベル情報取得部が取得した受信信号レベル情報との比較に基づきタイムスロットごとに判定し、且つ受信信号の大きさが基準よりも大きいと判定されるタイムスロットについては前記通信部により送信される前記応答要求コマンドの取得に応じてRFタグからレスポンスの送信があったと認定する信号レベル判定部と、
前記算出期間における前記信号レベル判定部にてレスポンスが送られたと認定されたタイムスロットの数nRN16と、前記算出期間におけるタイムスロットの数nSL0とに基づき、RFタグからのレスポンスの送信があった前記算出期間におけるタイムスロットの割合を示す応答発生率aRN16=nRN16/nSL0を算出する応答発生率算出部と、をさらに備え、
前記通信安定性判定部は、前記応答発生率算出部にて算出される前記応答発生率が0である前記算出期間について、前記通信状態の判定処理を非実行とするRFタグリーダライタ。
【請求項7】
請求項6に記載のRFタグリーダライタにおいて、
前記通信安定性判定部は、前記応答発生率算出部にて算出される応答発生率が0よりも大きい前記算出期間について、前記通信状態についての判定処理を実行するRFタグリーダライタ。
【請求項8】
請求項3から7のいずれか1つに記載のRFタグリーダライタにおいて、
前記通信部における通信処理は、ISO18000-6 type Cに準拠して実行されており、
前記通信部は、前記スロットアロハ方式におけるラウンドの最初のタイムスロットにおいてQueryコマンドを送信するRFタグリーダライタ。
【請求項9】
請求項3から7のいずれか1つに記載のRFタグリーダライタにおいて、
前記通信部における通信処理は、ISO18000-6 type Cに準拠して、前記算出期間が複数設定されて実行されており、
前記通信安定性判定部において通信状態が良好と判定された前記算出期間が存在する場合に、前記通信部は、該通信状態が良好と判定された前記算出期間と連続する前記算出期間において応答要求コマンドとしてQuery-adjustコマンドを送信することにより前記RFタグとの通信を実行するRFタグリーダライタ。
【請求項10】
請求項3から9に記載のRFタグリーダライタにおいて、
前記通信部における通信処理は、前記算出期間が複数設定されて実行されており、
前記通信安定性判定部における判定結果が連続するラウンド間で異なる場合に、前記RFタグリーダライタに備わるアンテナの位置が移動したものと認定する位置判定部をさらに備えるRFタグリーダライタ。
【請求項11】
請求項10に記載のRFタグリーダライタにおいて、
前記位置判定部において前記RFタグリーダライタに備わるアンテナの位置が移動したものと認定される場合に、当該認定前に前記通信部にて取得された前記タグ情報をグループ化して所定の記憶領域に記憶させるグループ化部をさらに備えるRFタグリーダライタライタ。
【請求項12】
請求項11に記載のRFタグリーダライタにおいて、
前記グループ化部は、前記グループ化した前記タグ情報を、グループ化して記憶させた順序に関する情報と関連付けて所定の記憶領域に記憶させるRFタグリーダライタ。
【請求項13】
ラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンドを送出し、前記応答要求コマンドの取得に応じてRFタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてRFタグから送出される前記タグ情報を取得し、
1つ以上のラウンドを有する算出期間における前記通信部におけるRFタグとの通信処理においてRFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、RFタグとの通信成功率aID=nID/nACKを算出するタグ情報取得方法。
【請求項1】
情報取得対象となる1つ以上のRFタグに対して信号の衝突を回避するアンチコリジョン方式を用いて通信を行い、該RFタグに記憶される情報であるタグ情報を取得する取得処理を実行する通信部と、
所定の期間内における前記通信部における1つ以上のRFタグからの前記タグ情報の取得に成功した回数と、該所定の期間内におけるRFタグに対して信号の衝突が回避された状態で通信処理を実行した回数とに基づき、前記通信部におけるRFタグとの通信成功率を算出する通信成功率算出部と、を備えるRFタグリーダライタ。
【請求項2】
ラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンドを送出し、前記応答要求コマンドの取得に応じてRFタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてRFタグから送出される前記タグ情報を取得する通信部と、
1つ以上のラウンドを有する算出期間における前記通信部におけるRFタグとの通信処理においてRFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、RFタグとの通信成功率aID=nID/nACKを算出する通信成功率算出部と、を備えるRFタグリーダライタ。
【請求項3】
請求項2に記載のRFタグリーダライタにおいて、
所定の記憶領域に記憶されている、前記通信成功率についての基準である通信成功率基準情報を取得し、該通信状態基準情報と前記通信成功率算出部にて算出される前記通信成功率aIDとの比較に基づき前記RFタグとの通信状態が良好であるか否かを判定するための通信状態の判定処理を実行する通信安定性判定部と、をさらに備えるRFタグリーダライタ。
【請求項4】
請求項3に記載のRFタグリーダライタにおいて、
前記算出期間内において前記タグ情報要求コマンドが送出された前記タイムスロットの数nACK0と、前記算出期間内における前記タイムスロットの数nSL0とから、1のRFタグとの通信が発生したタイムスロットの前記算出期間内における割合である通信発生率aACK=nACK0/nSL0を算出する通信発生率算出部をさらに備え、
前記通信安定性判定部は、前記通信発生率算出部において算出される前記通信発生率が0である前記算出期間について、前記通信状態の判定処理を非実行とするRFタグリーダライタ。
【請求項5】
請求項4に記載のRFタグリーダライタにおいて、
前記通信安定性判定部は、前記通信発生率算出部において算出される前記通信発生率が0よりも大きい前記算出期間について、前記通信状態についての判定処理を実行するRFタグリーダライタ。
【請求項6】
請求項3に記載のRFタグリーダライタにおいて、
RFタグから送出される信号の大きさを示す情報である受信信号レベル情報を取得する信号レベル情報取得部と、
所定の記憶領域に記憶される受信信号の大きさの基準である信号レベル基準情報を取得し、RFタグから送出される受信信号の大きさが基準よりも大きいか否かを前記信号レベル基準情報と前記受信信号レベル情報取得部が取得した受信信号レベル情報との比較に基づきタイムスロットごとに判定し、且つ受信信号の大きさが基準よりも大きいと判定されるタイムスロットについては前記通信部により送信される前記応答要求コマンドの取得に応じてRFタグからレスポンスの送信があったと認定する信号レベル判定部と、
前記算出期間における前記信号レベル判定部にてレスポンスが送られたと認定されたタイムスロットの数nRN16と、前記算出期間におけるタイムスロットの数nSL0とに基づき、RFタグからのレスポンスの送信があった前記算出期間におけるタイムスロットの割合を示す応答発生率aRN16=nRN16/nSL0を算出する応答発生率算出部と、をさらに備え、
前記通信安定性判定部は、前記応答発生率算出部にて算出される前記応答発生率が0である前記算出期間について、前記通信状態の判定処理を非実行とするRFタグリーダライタ。
【請求項7】
請求項6に記載のRFタグリーダライタにおいて、
前記通信安定性判定部は、前記応答発生率算出部にて算出される応答発生率が0よりも大きい前記算出期間について、前記通信状態についての判定処理を実行するRFタグリーダライタ。
【請求項8】
請求項3から7のいずれか1つに記載のRFタグリーダライタにおいて、
前記通信部における通信処理は、ISO18000-6 type Cに準拠して実行されており、
前記通信部は、前記スロットアロハ方式におけるラウンドの最初のタイムスロットにおいてQueryコマンドを送信するRFタグリーダライタ。
【請求項9】
請求項3から7のいずれか1つに記載のRFタグリーダライタにおいて、
前記通信部における通信処理は、ISO18000-6 type Cに準拠して、前記算出期間が複数設定されて実行されており、
前記通信安定性判定部において通信状態が良好と判定された前記算出期間が存在する場合に、前記通信部は、該通信状態が良好と判定された前記算出期間と連続する前記算出期間において応答要求コマンドとしてQuery-adjustコマンドを送信することにより前記RFタグとの通信を実行するRFタグリーダライタ。
【請求項10】
請求項3から9に記載のRFタグリーダライタにおいて、
前記通信部における通信処理は、前記算出期間が複数設定されて実行されており、
前記通信安定性判定部における判定結果が連続するラウンド間で異なる場合に、前記RFタグリーダライタに備わるアンテナの位置が移動したものと認定する位置判定部をさらに備えるRFタグリーダライタ。
【請求項11】
請求項10に記載のRFタグリーダライタにおいて、
前記位置判定部において前記RFタグリーダライタに備わるアンテナの位置が移動したものと認定される場合に、当該認定前に前記通信部にて取得された前記タグ情報をグループ化して所定の記憶領域に記憶させるグループ化部をさらに備えるRFタグリーダライタライタ。
【請求項12】
請求項11に記載のRFタグリーダライタにおいて、
前記グループ化部は、前記グループ化した前記タグ情報を、グループ化して記憶させた順序に関する情報と関連付けて所定の記憶領域に記憶させるRFタグリーダライタ。
【請求項13】
ラウンドを構成する複数のタイムスロットそれぞれにおいて1の情報取得対象となるRFタグとの通信処理を実行するスロットアロハ方式を用いてRFタグに対する通信処理を実行しており、各タイムスロットにおいて、RFタグに対する応答要求コマンドを送出し、前記応答要求コマンドの取得に応じてRFタグから送信されるレスポンスを取得し、取得される前記レスポンスを送出したRFタグに対し、該RFタグに記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドを送出し、前記タグ情報要求コマンドの取得に応じてRFタグから送出される前記タグ情報を取得し、
1つ以上のラウンドを有する算出期間における前記通信部におけるRFタグとの通信処理においてRFタグにて記憶されている情報であるタグ情報の送出を要求するタグ情報要求コマンドが送出された数nACKと、1つ以上のラウンドを有する算出期間における前記タグ情報要求コマンドに対する返信としてRFタグから前記タグ情報を取得した数nIDとから、RFタグとの通信成功率aID=nID/nACKを算出するタグ情報取得方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2011−166619(P2011−166619A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−29450(P2010−29450)
【出願日】平成22年2月12日(2010.2.12)
【出願人】(000003562)東芝テック株式会社 (5,631)
【Fターム(参考)】
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願日】平成22年2月12日(2010.2.12)
【出願人】(000003562)東芝テック株式会社 (5,631)
【Fターム(参考)】
[ Back to top ]