IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通フロンテック株式会社の特許一覧

特許6993306RFIDリーダライタ、読取制御方法および読取方法制御プログラム
<>
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図1
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図2
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図3
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図4
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図5
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図6
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図7
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図8
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図9
  • 特許-RFIDリーダライタ、読取制御方法および読取方法制御プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-13
(45)【発行日】2022-01-13
(54)【発明の名称】RFIDリーダライタ、読取制御方法および読取方法制御プログラム
(51)【国際特許分類】
   G06K 7/10 20060101AFI20220105BHJP
【FI】
G06K7/10 108
【請求項の数】 5
(21)【出願番号】P 2018142181
(22)【出願日】2018-07-30
(65)【公開番号】P2020021117
(43)【公開日】2020-02-06
【審査請求日】2020-09-10
(73)【特許権者】
【識別番号】000237639
【氏名又は名称】富士通フロンテック株式会社
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】宮澤 秀夫
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特表2011-514116(JP,A)
【文献】特開2010-086147(JP,A)
【文献】特開2011-166619(JP,A)
【文献】米国特許出願公開第2005/0263591(US,A1)
【文献】特開2001-060255(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 7/00- 7/14
(57)【特許請求の範囲】
【請求項1】
乱数を用いて複数のRFIDタグを互いに識別するアンチコリジョン処理によりRFIDタグの読み取りを行うRFIDリーダライタであって、
前記RFIDタグの読み取りの際に前記RFIDタグへ前記RFIDタグの制御コマンドを送信するコマンド送受信部と、
前記コマンド送受信部により送信された前記制御コマンドのうち、特定の制御コマンドの送信回数を計数する送信回数計数部と、
前記送信回数計数部により計数された前記特定の制御コマンドの送信回数に応じて、前記RFIDタグの読み取りを終了する読取終了部と、
を備え、
前記コマンド送受信部は、
前記特定の制御コマンドとして前記RFIDタグにQueryAdjustコマンドまたはQueryRepコマンドを送信し、
前記RFIDタグからEPCを正常に受信できなかった場合には、前記制御コマンドとして前記RFIDタグにNAKコマンドを送信し、
前記送信回数計数部は、前記コマンド送受信部により送信された前記QueryAdjustコマンドまたはQueryRepコマンドおよびNAKコマンドの送信回数をそれぞれ計数し、
前記読取終了部は、前記送信回数計数部によりそれぞれ計数された前記QueryAdjustコマンドまたはQueryRepコマンドの送信回数が所定の第1の規定回数以上または前記送信回数計数部により計数された前記NAKコマンドの送信回数が所定の第2の規定回数以上である場合には、前記RFIDタグの読み取りを終了することを特徴とするRFIDリーダライタ。
【請求項2】
前記読取終了部により前記RFIDタグの読み取りを終了する場合には、上位装置に前記RFIDタグの読み取りを終了することを通知する終了通知部
をさらに備えることを特徴とする請求項1に記載のRFIDリーダライタ。
【請求項3】
乱数を用いて複数のRFIDタグを互いに識別するアンチコリジョン処理によりRFIDタグの読み取りを行うRFIDリーダライタであって、
前記RFIDタグの読み取りの際に前記RFIDタグへ前記RFIDタグの制御コマンドを送信するコマンド送受信部と、
前記コマンド送受信部により送信された前記制御コマンドのうち、特定の制御コマンドの送信回数を計数する送信回数計数部と、
前記送信回数計数部により計数された前記特定の制御コマンドの送信回数に応じて、前記RFIDタグの読み取りを終了する読取終了部と、
を備え、
前記コマンド送受信部は、前記RFIDタグからEPCを正常に受信できなかった場合には、前記特定の制御コマンドとして前記RFIDタグにNAKコマンドを送信し、
前記送信回数計数部は、前記コマンド送受信部により送信された前記NAKコマンドの送信回数を計数し、
前記読取終了部は、前記送信回数計数部により計数された前記NAKコマンドの送信回数に応じて前記RFIDタグの読み取りを終了する
ことを特徴とするRFIDリーダライタ。
【請求項4】
乱数を用いて複数のRFIDタグを互いに識別するアンチコリジョン処理によりRFIDタグの読み取りを行うRFIDリーダライタの読取制御方法であって、
前記RFIDリーダライタが、
前記RFIDタグの読み取りの際に前記RFIDタグへQueryAdjustコマンドまたはQueryRepコマンドを送信し、前記RFIDタグからEPCを正常に受信できなかった場合には、制御コマンドとして前記RFIDタグにNAKコマンドを送信し、
前記送信された前記QueryAdjustコマンドまたはQueryRepコマンドおよびNAKコマンドの送信回数を計数し、
前記それぞれ計数された前記QueryAdjustコマンドまたはQueryRepコマンドの送信回数が所定の第1の規定回数以上または前記計数された前記NAKコマンドの送信回数が所定の第2の規定回数以上である場合には、前記RFIDタグの読み取りを終了する
ことを特徴とするRFIDリーダライタの読取制御方法。
【請求項5】
乱数を用いて複数のRFIDタグを互いに識別するアンチコリジョン処理によりRFIDタグの読み取りを行うRFIDリーダライタに実行させるための読取方法制御プログラムであって、
コンピュータに、
前記RFIDタグの読み取りの際に前記RFIDタグへQueryAdjustコマンドまたはQueryRepコマンドを送信し、前記RFIDタグからEPCを正常に受信できなかった場合には、制御コマンドとして前記RFIDタグにNAKコマンドを送信する処理、
前記送信された前記QueryAdjustコマンドまたはQueryRepコマンドおよびNAKコマンドの送信回数を計数する処理、
前記それぞれ計数された前記QueryAdjustコマンドまたはQueryRepコマンドの送信回数が所定の第1の規定回数以上または前記計数された前記NAKコマンドの送信回数が所定の第2の規定回数以上である場合には、前記RFIDタグの読み取りを終了する処理、
を実行させることを特徴とするRFIDリーダライタの読取方法制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、RFIDリーダライタ、読取制御方法および読取方法制御プログラムに関する。
【背景技術】
【0002】
近年、スーパーマーケット、コンビニエンスストア等の小売店では、RFID(radio frequency identifier)リーダライタを備えたPOS(Point Of Sale)端末が普及し始めている。このようなPOS端末は、商品に付されたRFIDタグに含まれるEPC(Electric Product Code)を一括で読み取り商品の登録を行う。
【0003】
POS端末において、RFIDタグとの交信制御にアンチコリジョン方式を用いることで複数のRFIDタグからデータを一括読取可能な制御装置の技術の一例が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2007-72681号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、アンチコリジョン処理においては、RFIDリーダライタは、RFIDタグの読み取りの際にRFIDタグへRFIDタグの制御コマンドを送信するが、ノイズが多く通信環境が悪い場合には、RFIDリーダライタは、RFIDタグへ送信した制御コマンドに対する応答を正常に受信できない場合がある。この場合、RFIDリーダライタは、制御コマンドを再度送信する処理と、RFIDタグからの制御コマンドに対する応答処理とが繰り返し実行される。その結果、RFIDリーダライタは制御コマンド送信と、制御コマンドに対する応答処理のループに嵌まりRFIDタグの読み取りが終了しなくなる場合がある。このような場合には、RFIDリーダライタのオペレータは電源を落としたり、強制終了したりする必要があり、リスタートするのに時間がかかり不便を生じていた。
【0006】
本発明は、上記課題に鑑み、アンチコリジョン処理によりRFIDタグの読み取りを行う際に、RFIDリーダライタがループに嵌まることを未然に防ぐことを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様によれば、乱数を用いて複数のRFIDタグを互いに識別するアンチコリジョン処理によりRFIDタグの読み取りを行うRFIDリーダライタであって、前記RFIDタグの読み取りの際に前記RFIDタグへ前記RFIDタグの制御コマンドを送信するコマンド送受信部と、前記コマンド送受信部により送信された前記制御コマンドのうち、特定の制御コマンドの送信回数を計数する送信回数計数部と、前記送信回数計数部により計数された前記特定の制御コマンドの送信回数に応じて、前記RFIDタグの読み取りを終了する読取終了部と、を備えることを特徴とする。
【0008】
また、本発明の一態様によれば、乱数を用いて複数のRFIDタグを互いに識別するアンチコリジョン処理によりRFIDタグの読み取りを行うRFIDリーダライタの読取制御方法であって、前記RFIDリーダライタが、前記RFIDタグの読み取りの際に前記RFIDタグへ特定の制御コマンドを送信し、前記送信された前記特定の制御コマンドの送信回数を計数し、前記計数された前記特定の制御コマンドの送信回数に応じて、前記RFIDタグの読み取りを終了することを特徴とする。
【0009】
また、本発明の一態様によれば、乱数を用いて複数のRFIDタグを互いに識別するアンチコリジョン処理によりRFIDタグの読み取りを行うRFIDリーダライタに実行させるための読取方法制御プログラムであって、コンピュータに、前記RFIDタグの読み取りの際に前記RFIDタグへ特定の制御コマンドを送信する処理、前記送信された前記特定の制御コマンドの送信回数を計数する処理、前記計数された前記特定の制御コマンドの送信回数に応じて、前記RFIDタグの読み取りを終了する処理、を実行させることを特徴とする。
【発明の効果】
【0010】
本発明の一態様によれば、アンチコリジョン処理によりRFIDタグの読み取りを行う際に、RFIDリーダライタがループに嵌まることを未然に防ぐことができる。
【図面の簡単な説明】
【0011】
図1】本発明の第1の実施形態に係るRFIDリーダライタ38を有するPOS端末10のハードウェア構成の一例を示す図である。
図2】RFIDタグ400に書き込まれたEPCの一例を示す図である。
図3】本発明の実施形態のRFIDリーダライタのハードウェア構成の一例を示す図である。
図4】第1の実施形態に係るRFIDリーダライタ38の機能構成の一例を示す図である。
図5】第1の実施形態に係るRFIDリーダライタ38が実行するアンチコリジョン処理の概要を示す図である。
図6】第1の実施形態に係るRFIDリーダライタ38が正常にEPCを受信できない場合のアンチコリジョン処理の概要を示す図である。
図7】第1の実施形態に係るRFIDリーダライタを有するPOS端末が実行する商品読取処理のフローチャートである。
図8】第1の実施形態に係るRFIDリーダライタ38が実行するアンチコリジョン処理の動作の一例を示すフローチャートである。
図9】第2の実施形態に係るRFIDリーダライタ38が実行するアンチコリジョン処理の動作の一例を示すフローチャートである。
図10】第3の実施形態に係るRFIDリーダライタ38が実行するアンチコリジョン処理の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
<第1の実施形態>
以下に本発明の第1の実施形態について図面を参照しながら詳細に説明する。図1は、本発明の第1の実施形態に係るRFIDリーダライタ38を有するPOS端末10のハードウェア構成の一例を示す図である。
【0013】
POS端末10は、制御ユニット31、自動釣銭機32、自動釣札機33、キャッシュドロア34、キーボード35、タッチパネル37、ディスプレイ36、RFIDリーダライタ38、可搬型記録媒体39を有する。
【0014】
制御ユニット31は、POS端末10を統括的に制御するコンピュータである。自動釣銭機32は、顧客から受け取った硬貨の入金と、釣銭の出金とを行う。自動釣札機33は、顧客から受け取った紙幣の入金と、釣札の出金とを行う。キャッシュドロア34は、硬貨および紙幣を収納する収納庫である。
【0015】
キーボード35は、ディスプレイ36に表示されたGUIを操作するための入力装置である。ディスプレイ36は、取引作業を行うための所定のGUI(Graphical User Interface)を表示する。ディスプレイ36は、例えば、液晶ディスプレイである。ディスプレイ36は、タッチパネル37の下層に位置している。ディスプレイ36の表示する画像は、タッチパネル37を透過して、オペレータから視認可能である。オペレータは、ディスプレイ36によって表示された画像を見ながら、タッチパネル37に対するタッチ操作を行うことができる。商品コードの入力結果は、ディスプレイ36に表示されて、オペレータが商品コードの入力結果を確認することができる。
【0016】
RFIDリーダライタ38は、商品に付されたRFIDタグ400から無線通信によってRFIDタグ400内のバーコード(商品アイテムコード)を含む情報を読み取る装置である。RFIDリーダライタ38は、RFIDタグ400に情報を記録可能なRFIDリーダライタ装置であってもよい。RFIDタグ400はRFIDタグ情報を記憶するICタグであり、EPC(Electronic Product Code)が記憶されている。EPCには、バーコードデータが含まれる。RFIDタグ情報はRFIDタグ400に記録された情報である。RFIDリーダライタ38は据え置きタイプであってもよいし、ハンディタイプであってもよい。RFIDリーダライタ38は、読み取ったバーコード(商品アイテムコード)を上位装置であるPOS端末10の制御ユニット31へ通知する。
【0017】
POS端末10では、制御ユニット31に各種入出力装置が接続される。制御ユニット31は、POS制御部51、記憶部52、グラフィック処理装置53、入出力インタフェース54、通信インタフェース55を有する。
【0018】
POS制御部51は、POS端末10全体を統括的に制御するもので、プログラムを読込んで制御処理を実行するCPU(Central Processing Unit)(不図示)を有する。POS制御部51には、バス56を介して記憶部52、グラフィック処理装置53、入出力インタフェース54、通信インタフェース55が接続されている。
【0019】
記憶部52は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)などを有する。記憶部52は、POS制御部51が実行するプログラム、表示画面データ、その他各種データを記憶する。また、記憶部52は、POS制御部51がプログラムを実行する際の作業領域を提供する。
【0020】
グラフィック処理装置53には、ディスプレイ36が接続されている。グラフィック処理装置53はPOS制御部51からの命令に応じて、画像をディスプレイ36の画面に表示させる。
【0021】
入出力インタフェース54には、自動釣銭機32、自動釣札機33、キャッシュドロア34、キーボード35、タッチパネル37、RFIDリーダライタ38、可搬型記録媒体39が接続されている。また、入出力インタフェース54は、可搬型記録媒体39への情報の書込み、並びに、可搬型記録媒体39からの情報の読出しが可能な可搬型記録媒体インタフェース(不図示)と接続可能になっている。入出力インタフェース54は、自動釣銭機32、自動釣札機33、キャッシュドロア34、キーボード35、タッチパネル37、RFIDリーダライタ38、可搬型記録媒体39からそれぞれ送られてくる信号をバス56を介してPOS制御部51に送信する。
【0022】
通信インタフェース55は、例えば、有線または無線LAN(Local Area Network)により外部サーバ300と接続されている。通信インタフェース55は、商品マスタ等が格納された外部サーバ300との間でデータの送受信を行う。
【0023】
RFIDタグ400に書き込まれたEPCの一例を図2に示す。EPCは、RFIDタグ400に書き込まれた情報であり、図2に示すEPCは96ビットの場合のものである。EPCには、ヘッダ、フィルタ、パーティション、GS1事業者コード、商品アイテムコード、シリアル番号の情報が含まれる。
【0024】
また、図示しないが、RFIDタグ400は、POS端末10のRFIDリーダライタ38との無線通信で使用される4つの機能の異なるセッション(番号S0,S1,S2,S3)を備え、各セッションには、それぞれ1つの独立したインベントリ済フラグを有している。各インベントリ済フラグは公知の技術を採用することができるため詳細な説明については省略するが、1回のインベントリラウンドと呼ばれるコマンドシーケンスのやりとりでは、4つのセッションのうち1つのみが機能する。インベントリ済フラグは、AおよびBの2つの値をとることができ、Aの値は、RFIDリーダライタ38によるQueryコマンド(タグ探索信号)に応答していない未検出の状態を表し、Bの値は、Queryコマンド(タグ探索信号)に応答して反応したときの検出済の状態を表している。なお、第1の実施形態においては、Aの値は、RFIDリーダライタ38によるQueryコマンド(タグ探索信号)に応答していない未検出の状態を表し、Bの値は、Queryコマンド(タグ探索信号)に応答して反応したときの検出済の状態を表しているがこの限りではなく、その逆の状態を表したものであってもよい。
【0025】
次に、本発明の実施形態のRFIDリーダライタ38のハードウェア構成の一例について図3を参照して説明する。RFIDリーダライタ38は、RFIDリーダライタ制御部101、記憶部102、通信インタフェース103を有する。RFIDリーダライタ38は図3に記載の構成以外の回路構成を備えていてもよい。
【0026】
RFIDリーダライタ制御部101は、RFIDリーダライタ38全体を統括的に制御するもので、プログラムを読込んで制御処理を実行するCPU(不図示)を有する。
【0027】
RFIDリーダライタ制御部101には、バス104を介して記憶部102と、通信インタフェース103が接続されている。記憶部102は、RAM、ROM、HDDなどを有する。記憶部102は、RFIDリーダライタ制御部101が実行するプログラム、その他各種データを記憶する。また、記憶部102は、RFIDリーダライタ制御部101がプログラムを実行する際の作業領域を提供する。通信インタフェース103は、アンテナを通じてRFIDタグ400とデータやコマンドの送受信を行うものである。
【0028】
次に、第1の実施形態に係るRFIDリーダライタ38の機能構成の一例について図4を参照して説明する。RFIDリーダライタ38のRFIDリーダライタ制御部101は、コマンド送受信部201、送信回数計数部202、読取終了部203、終了通知部204を有する。RFIDリーダライタ制御部101は、図4に示していない機能構成を備えていてもよい。
【0029】
コマンド送受信部201は、アンチコリジョン処理の実施に伴って発生するRFIDタグ400の読み取りの際にRFIDタグ400へRFIDタグ400の制御コマンドを送信する。具体的には、コマンド送受信部201は、RFIDタグ400にQueryコマンドを送信後、特定の制御コマンドとしてQueryAdjustコマンドを繰り返し送信する。
【0030】
Queryコマンドは、後述のアンチコリジョン処理の開始時にRFIDリーダライタ38がRFIDタグ400へ送信するタグ探索信号である。QueryAdjustコマンドは、RFIDリーダライタ38との間ですでに通信を終えたRFIDタグ400以外のRFIDタグ400へのQueryコマンドとして送信される信号である。
【0031】
送信回数計数部202は、コマンド送受信部201により送信された制御コマンドのうち、特定の制御コマンドの送信回数を計数する。具体的には、送信回数計数部202は、コマンド送受信部201により送信されたQueryAdjustコマンドの送信回数を計数する。
【0032】
読取終了部203は、送信回数計数部202により計数された特定の制御コマンドの送信回数に応じて、RFIDタグ400の読み取りを終了する。具体的には、読取終了部は、送信回数計数部202により計数されたQueryAdjustコマンドの送信回数に応じてRFIDタグ400の読み取りを終了する。
【0033】
終了通知部204は、読取終了部203によりRFIDタグ400の読み取りを終了する場合には、上位装置であるPOS端末10にRFIDタグ400の読み取りを終了することを通知する。
【0034】
次に、第1の実施形態に係るRFIDリーダライタ38が実行するアンチコリジョン処理の概要について図5を参照して説明する。
【0035】
POS端末10から商品読取開始の指示を受けると、RFIDリーダライタ38は、RFIDタグ400に対し読み取り対象のタグIDを識別するSelectコマンドを送信する(ステップS11)。また、RFIDリーダライタ38は、RFIDタグ400を探索するためのQueryコマンド(タグ探索信号)を送信する(ステップS12)。
【0036】
RFIDリーダライタ38からQueryコマンドを受信したRFIDタグ400は、RN16をRFIDリーダライタ38に送信する(ステップS13)。このRN16は、RFIDタグ400がRFIDリーダライタ38との間で通信を行う際にRFIDタグ400自身を識別するのに使用する16ビットの乱数である。
【0037】
RFIDリーダライタ38は、RFIDタグ400からRN16を受信すると、応答としてそのRN16を含むACKをRFIDタグ400へ送信する(ステップS14)。RFIDタグ400は、RFIDリーダライタ38からACKを受信すると、PC(Protocol Control)、EPC、CRC16(エラー検出信号:Cyclic Redundancy Check 16)をRFIDリーダライタ38へ送信する(ステップS15)。CRC16は、データ伝送の誤りを検出するために付加する符号である。
【0038】
そして、RFIDリーダライタ38は、ステップS14でACKを送信してから所定時間内にEPCを受信できた場合には、受信したEPCの応答信号として、QueryAdjustコマンドをRFIDタグ400へ送信し(ステップS16)、RN16を送信したRFIDタグ400以外のRFIDタグ400との間で再び通信を開始し、反応するRFIDタグ400がなくなるまでステップS13~S16の処理を繰り返し実行する。
【0039】
この場合、ステップS15においてEPCを送信し再びQueryAdjustコマンドを受信したRFIDタグ400は、インベントリ済フラグを「検出済」に設定しているので、その後RFIDリーダライタ38からQueryAdjustコマンドを繰り返し送信されても、反応することはない。検出済のRFIDタグ400が反応しなくなることにより、RFIDリーダライタ38は、検出済のRFIDタグの二度読みが防止されることになり、RFIDタグ400の読み取りを簡素化することができる。この結果、POS端末10における商品の登録を効率よく高速に行うことができるようになる。
【0040】
通常は、このようにして、RFIDリーダライタ38とRFIDタグ400との間で通信が行われるが、ノイズが多く、通信環境が悪い場合には、図6に示すように、正常にRFIDタグからEPCを受信できない場合がある。図6は、第1の実施形態に係るRFIDリーダライタ38が正常にEPCを受信できない場合のアンチコリジョン処理の概要を示す図である。図6のステップS21~ステップS24の処理については、図5のステップS11~ステップS14の処理と同様であるため説明を省略する。
【0041】
ステップS24においてACKを送信してから所定時間待機しても、正常にRFIDタグ400からEPCを受信できない場合(ステップS25)には、RFIDリーダライタ38は、図5のステップS16で送信するQueryAdjustコマンドに代えて、NAKコマンドをRFIDタグ400へ送信する(ステップS26)。NAKコマンドは、EPCを正常に受信できないためRFIDリーダライタ38とRFIDタグ400との間でアンチコリジョン処理を継続して維持することをRFIDタグ400に指示するコマンドである。
【0042】
NAKコマンドの送信後、RFIDリーダライタ38は、QueryAdjustコマンドを送信する(ステップS27)。RFIDリーダライタ38からQueryAdjustコマンドを受信したRFIDタグ400は、再びRN16をRFIDリーダライタ38に送信する(ステップS28)。RFIDリーダライタ38は、RFIDタグ400からRN16を受信すると、その応答としてのACKをRFIDタグ400へ送信する(ステップS29)。RFIDリーダライタ38からACKを受信すると、RFIDタグ400は、再度、PC、EPC、CRC16をRFIDリーダライタ38へ送信する(ステップS30)。
【0043】
そして、RFIDリーダライタ38は、ステップS29でACKを送信してから所定時間内に正常にEPCを受信できた場合には、受信したEPCの応答信号として、QueryAdjustコマンドをRFIDタグ400へ送信し(ステップS31)、ステップS28においてRN16を送信したRFIDタグ400以外のRFIDタグ400との間で再び通信を開始し、反応するRFIDタグ400がなくなるまでステップS28~S31の処理を繰り返し実行する。
【0044】
次に、第1の実施形態に係るRFIDリーダライタ38を有するPOS端末10が実行する商品読取処理の動作の一例について図7を参照して説明する。図7は、第1の実施形態に係るRFIDリーダライタ38を有するPOS端末10が実行する商品読取処理のフローチャートである。
【0045】
はじめに、POS制御部51は、RFIDタグ400を付した商品をRFIDリーダライタ38上にセットするメッセージをディスプレイ36に表示する(ステップS101)。
【0046】
POS制御部51は、POS端末10のオペレータのキーボード35の操作を通じて商品読取開始ボタンが押下されたか否かを判定する(ステップS102)。商品読取開始ボタンが押下されていない場合(ステップS102のNO)には、商品読取開始ボタンが押下されるまで処理は待機状態となる。
【0047】
商品読取開始ボタンが押下された場合(ステップS102のYES)には、RFIDリーダライタ制御部101は、後述のアンチコリジョン処理を行う(ステップS103)。POS制御部51は、アンチコリジョン処理において強制終了の通知があったか否かを判定する(ステップS104)。強制終了の通知があった場合(ステップS104のYES)には、POS制御部51は、商品の配置変更を促すメッセージをディスプレイ36に表示する(ステップS105)。強制終了の通知があった場合には、RFIDタグ400がRFIDリーダライタ38から離れた位置に置かれたりしていて、RFIDタグ400の読み取りがうまくできない場合があるので、その対処方法をメッセージとして表示する。そして、処理はステップS102に戻り、全ての商品のRFIDタグ400の読み取りが終わるまで、ステップS102~ステップS105の処理が繰り返し実行される。強制終了の通知がなかった場合(ステップS104のNO)には、POS制御部51は、会計処理を行い(ステップS106)、商品読取処理を終了する。
【0048】
次に、第1の実施形態に係るRFIDリーダライタ38が実行するアンチコリジョン処理の動作の一例について、図8のフローチャートを参照して説明する。
【0049】
はじめに、RFIDリーダライタ制御部101は、初期値としてQ=4、C=0.3、QueryAdjustコマンドの送信回数(以下、「QA回数」とも呼ぶ)=0にセットする(ステップS201)。Qは、RFIDタグ400が発生する乱数の範囲を指定するパラメータである。EPCの仕様により、乱数の範囲は、0~2-1で表される。したがって、例えばQ=4にセットした場合、RFIDタグ400が発生する乱数の範囲は、0~2-1=0~2-1=0~15となる。RFIDタグ400は、Queryコマンド、QueryAdjustコマンドを受信するとQにより指定された範囲で乱数を発生し、乱数が0となったRFIDタグはRN16を送信する。Cは、Qを増減するための定数である。上述の実施形態においては、Cは、0.3にセットされているがこれに限られず、標準的に0.1<C<~0.5の範囲でセットされる。
【0050】
コマンド送受信部201は、アンチコリジョン処理で使用したいセッション(番号S0,S1,S2,S3)のうち1つを選択し、インベントリ済フラグにAを設定してSelectコマンド(ステップS202)をRFIDタグ400へ送信する。また、コマンド送受信部201は、ステップ201でセットしたQの値と、ステップS202で選択したセッションを指定してQueryコマンドをRFIDタグ400へ送信する(ステップS203)。
【0051】
コマンド送受信部201は、Queryコマンドに対しRFIDタグ400から送信されたRN16を正常に受信したか否かを判定する(ステップS204)。RN16を正常に受信した場合(ステップS204のYES)には、コマンド送受信部201は、ACKコマンドをRFIDタグ400へ送信する(ステップS205)。
【0052】
コマンド送受信部201は、ステップS205でACKコマンドを送信してから所定の時間内にRFIDタグ400から送信されたPC、EPC、CRC16を正常に受信したか否かを判定する(ステップS206)。ステップS205でACKコマンドを送信してから所定の時間内にRFIDタグ400から送信されたPC、EPC、CRC16を正常に受信した場合(ステップS206のYES)には、RFIDリーダライタ制御部101はEPCを上位装置であるPOS端末10に通知し、処理はステップS208に進む。
【0053】
ステップS205でACKコマンドを送信してから所定の時間内にRFIDタグ400から送信されたPC、EPC、CRC16を正常に受信できない場合(ステップS206のNO)には、コマンド送受信部201は、NAKコマンドをRFIDタグ400に対し送信する(ステップS207)。
【0054】
NAKコマンドの送信後、コマンド送受信部201は、QueryAdjustコマンドを送信する(ステップS208)。なお、QueryAdjustコマンドを受信したRFIDタグ400は、再び乱数を発生し乱数が0となったRFIDタグ400はRN16を送信する。送信回数計数部202は、ステップS208で送信したQueryAdjustコマンドの送信回数であるQA回数を1加算する(ステップS209)。
【0055】
送信回数計数部202は、ステップS209においてQA回数に1加算した結果、QA回数が第1の規定回数以上となったか否かを判定する(ステップS210)。QA回数が第1の規定回数以上となっていない場合(ステップS210のNO)には、ステップS204の処理に戻り、QA回数が第1の規定回数以上となるまで、ステップS204~ステップS210の処理が繰り返し実行される。第1の規定回数は、読取対象のRFIDタグ400の総数に対して、余裕のある回数が設定される。QA回数が第1の規定回数以上となった場合(ステップS210のYES)には、上位装置であるPOS端末10に強制終了を通知する(ステップS211)。この処理が終了すると、アンチコリジョン処理は終了となる。
【0056】
以上のように、アンチコリジョン処理においてノイズが多くて通信環境が悪い場合には、RN16を正常に受信することができても、RFIDタグ400からのEPCの応答を正常に受信できない場合がある。この場合、QueryAdjustコマンド送信処理と、RFIDタグ400からのRN16の応答処理とが実行されるステップS204~S208の処理が繰り返し実行され、ループに嵌まりアンチコリジョン処理が終了しなくなってしまうおそれがある。これに対し、第1の実施形態では、ステップS209~S211の処理を行うことにより、QueryAdjustコマンドの送信回数であるQA回数が第1の規定回数以上となった場合には、上位装置であるPOS端末10に強制終了の通知が行われるとともに、アンチコリジョン処理が終了する。これにより、アンチコリジョン処理がループに嵌まることを未然に防ぐとともに、RFIDリーダライタ38に強制終了が行われたことを通知することで、POS端末10のオペレータに強制終了が行われたことを報知することができる。
【0057】
また、RN16を正常に受信できない場合(ステップS204のNO)には、コマンド送受信部201は、ステップS203でQueryコマンドまたはステップS208でQueryAdjustコマンドを送信してから所定の時間内にRFIDタグ400からQueryコマンドまたはQueryAdjustコマンドに対する何らかの応答があったか否かを判定する(ステップS212)。何らかの応答とは、例えば、RFIDタグ400からRN16の応答が複数あったため、RN16の信号同士がぶつかり合い正常に受信できない場合やノイズを受信した等である。
【0058】
ステップS203でQueryコマンドまたはステップS208でQueryAdjustコマンドを送信してから所定の時間内にRFIDタグ400からQueryコマンドまたはQueryAdjustコマンドに対する何らかの応答があった場合(ステップS212のYES)には、RFIDリーダライタ制御部101は、QにCの値を加算する(ステップS213)。RFIDリーダライタ制御部101は、QにCの値を加算した結果Qが15より大きくなったか否か判定する(ステップS214)。なお、小数点以下のQの値は省略する。QにCの値を加算した結果Qが15より大きくなった場合(ステップS214のYES)には、RFIDリーダライタ制御部101は、Qの最大値である15をセットし(ステップS215)、ステップS208の処理に進む。
【0059】
QにCの値を加算した結果Qが15以下の場合(ステップS214のNO)には、RFIDリーダライタ制御部101は、ステップS215の処理を省略し、ステップS208の処理に進む。ステップS213においてQにCを加算した場合、コマンド送受信部201は、Qの整数部が繰り上がったときはQ+1の指示を、Qの整数部が変化なしのときはQ変化なしの指示を含むQueryAdjustコマンドを送信する(ステップS208)。なお、QueryAdjustコマンドを受信したRFIDタグ400は、再び乱数を発生して乱数が0となったRFIDタグ400はRN16を送信する。例えばRFIDタグ400は、Q+1の指示を含むQueryAdjustコマンドを受信した結果Q=4がQ=5になった場合、RFIDタグ400が発生する乱数の範囲は、0~2-1=0~2-1=0~31となる。
【0060】
以上のように、アンチコリジョン処理においてRFIDタグ400の総数と比較して、乱数の範囲が小さいと、乱数が0となったRFIDタグ400が複数発生し、RN16の信号同士がぶつかり合うおそれがある。この場合、RFIDリーダライタ38は、RFIDタグ400からのRN16を正常に受信できないためノイズとしてしか受信できない場合がある。これに対し、第1の実施形態では、ステップS213の処理が行われることにより、Cを加算することで、乱数の範囲を大きくしてRFIDタグ400からのRN16の応答を減少させることができる。その結果、RN16の信号同士がぶつかり合い、RN16を正常に受信できなくなることを防ぐことができる。
【0061】
また、ステップS203でQueryコマンドまたはステップS208でQueryAdjustコマンドを送信してから所定の時間内にRFIDタグ400からQueryコマンドまたはQueryAdjustコマンドに対する何らかの応答がなかった場合(ステップS212のNO)には、RFIDリーダライタ制御部101は、Qは0であるか否かを判定する(ステップS216)。Qは0でない場合(ステップS216のNO)には、RFIDリーダライタ制御部101は、QからCの値を減算する(ステップS217)。QからCの値を減算した結果Qが0より小さくなったか否か判定する(ステップS218)。
【0062】
QからCの値を減算した結果Qが0より小さくなった場合(ステップS218のYES)にはRFIDリーダライタ制御部101は、Qに0をセットし(ステップS219)、ステップS208の処理に進む。ステップS217においてQからCの値を減算した結果、Qが0以上である場合(ステップS218のNO)には、RFIDリーダライタ制御部101は、ステップS219の処理を省略し、ステップS208の処理に進む。
【0063】
ステップS217においてQからCを減算した場合、コマンド送受信部201は、Qの整数部が繰り上がったときはQ-1の指示を、Qの整数部が変化なしのときはQ変化なしの指示を含むQueryAdjustコマンドを送信する(ステップ208)。なお、QueryAdjustコマンドを受信したRFIDタグ400は、再び乱数を発生して乱数が0となったRFIDタグ400はRN16を送信する。例えばRFIDタグ400は、Q-1の指示を含むQueryAdjustコマンドを受信した結果Q=4がQ=3になった場合、RFIDタグ400が発生する乱数の範囲は、0~2-1=0~2-1=0~7となる。
【0064】
そして、Qからの減算を繰り返した結果、Qは0となった場合(ステップS216のYES)、好ましくは、Qは0となった判定が所定回数連続した場合には、アンチコリジョン処理は終了となる。
【0065】
以上のように、アンチコリジョン処理においてRFIDタグ400の総数と比較して乱数の範囲が大きい場合には、例えば、RFIDタグ400からRN16の応答がほとんどないため、RN16の信号を受信できない場合がある。これに対し、第1の実施形態では、ステップS217の処理を行うことにより、Cを減算することで、乱数の範囲を小さくしてRFIDタグ400からのRN16の応答を増加させることができる。その結果、RN16を受信する機会を増加させ、アンチコリジョン処理を迅速に終了することができ、RFIDタグ400の読み取りを早く終わらせることができる。
【0066】
なお、第1の実施形態においては、RFIDリーダライタ38は、POS端末10に使用されるものとして説明したがこれに限られるものではない。例えば、ベルトコンベア上を搬送される商品箱に付されたRFIDタグ400の読み取りを行うPC(Personal Computer)に使用されてもよい。
【0067】
また、第1の実施形態においては、コマンド送受信部201は、特定の制御コマンドとしてQueryAdjustコマンドを送信しているが、QueryAdjustコマンドの代わりにQueryRepコマンドを送信してもよい。QueryRepコマンドは、発生した乱数の値を「1」減算させ、減算した結果「0」となったRFIDタグ400に応答する旨の指示を与えるコマンドである。この場合、コマンド送受信部201は、ステップS208においてQueryAdjustコマンドの代わりにQueryRepコマンドを送信する。そして、ステップS209において、送信回数計数部202は、QueryAdjustコマンドの代わりにQueryRepコマンドの送信回数を1加算する。ステップS210において、送信回数計数部202は、QueryRepコマンドの送信回数を1加算した結果、QueryRepコマンドの送信回数が第1の規定回数以上となったか否かを判定する。
【0068】
QueryRepコマンドの送信回数が第1の規定回数以上となっていない場合(ステップS210のNO)には、ステップS204の処理に戻り、QueryRepコマンドの送信回数が第1の規定回数以上となるまで、ステップS204~ステップS210の処理が繰り返し実行される。QueryRepコマンドの送信回数が第1の規定回数以上となった場合(ステップS210のYES)には、上位装置であるPOS端末10に強制終了を通知する(ステップS211)。この処理が終了すると、アンチコリジョン処理は終了となる。
【0069】
<第2の実施形態>
第1の実施形態においては、QueryAdjustコマンドの送信回数であるQA回数が第1の規定回数以上となった場合には、RFIDリーダライタ38は、上位装置であるPOS端末10に強制終了の通知を行うとともに、アンチコリジョン処理を終了した。これに対し、第2の実施形態においては、NAKコマンドの送信回数であるNAK回数が第2の規定回数以上となった場合には、RFIDリーダライタ38は、上位装置であるPOS端末10に強制終了の通知を行うとともに、アンチコリジョン処理を終了する。
【0070】
第2の実施形態のRFIDリーダライタ38は、第1の実施形態のRFIDリーダライタ38のハードウェア構成と略同じであるため説明を省略する。また、第2の実施形態のRFIDリーダライタ38は、第1の実施形態の機能構成と略同じであるため説明を省略する。但し、第2の実施形態の送信回数計数部202は、コマンド送受信部201により送信されたNAKコマンドの送信回数を計数する。そして、第2の実施形態の読取終了部203は、送信回数計数部202により計数されたNAKコマンドの送信回数に応じてRFIDタグ400の読み取りを終了する。また、第2の実施形態の終了通知部204は、送信回数計数部202により計数されたNAKコマンドの送信回数が所定の第2の規定回数以上である場合には、上位装置であるPOS端末10にRFIDタグ400の読み取りを終了することを通知する。また、第2の実施形態に係るRFIDリーダライタ38を有するPOS端末10が実行する商品読取処理のフローチャートは、第1の実施形態に係るRFIDリーダライタ38を有するPOS端末10が実行する商品読取処理のフローチャートと略同様であるため説明を省略する。
【0071】
以下、第2の実施形態に係るRFIDリーダライタ38が実行するアンチコリジョン処理の動作の一例について、図9のフローチャートを参照して説明する。なお、第2の実施形態のステップS302~S307、S312~S319の処理は、第1の実施形態のステップS202~S207、S212~S219の処理と略同様であるため説明を省略する。
【0072】
はじめに、RFIDリーダライタ制御部101は、初期値としてQ=4、C=0.3、NAKコマンドの送信回数(以下、「NAK回数」とも呼ぶ)=0にセットする(ステップS301)。
【0073】
ステップS308において、送信回数計数部202は、ステップS307で送信したNAKコマンドの送信回数であるNAK回数を1加算する。送信回数計数部202は、ステップS308においてNAK回数に1加算した結果、NAK回数が第2の規定回数以上となったか否かを判定する(ステップS309)。NAK回数が第2の規定回数以上となっていない場合(ステップS309のNO)には、コマンド送受信部201は、QueryAdjustコマンドを送信する(ステップS310)。第2の規定回数は、読取対象のRFIDタグ400の総数に対して、余裕のある回数が設定される。QueryAdjustコマンドの送信後、ステップS304の処理に戻り、NAK回数が第2の規定回数以上となるまで、ステップS304~ステップS310の処理が繰り返し実行される。NAK回数が第2の規定回数以上となった場合(ステップS309のYES)には、上位装置であるPOS端末10に強制終了を通知する(ステップS311)。この処理が終了すると、アンチコリジョン処理は終了となる。
【0074】
以上のように、アンチコリジョン処理においてノイズが多くて通信環境が悪い場合には、RN16を正常に受信することができても、RFIDタグ400からのEPCの応答を正常に受信できない場合がある。この場合、QueryAdjustコマンド送信処理と、RFIDタグ400からのRN16の応答処理とが実行されるステップS304~S310の処理が繰り返し実行され、ループに嵌まりアンチコリジョン処理が終了しなくなってしまうおそれがある。これに対し、第2の実施形態では、ステップS308~S311の処理を行うことにより、NAKコマンドの送信回数であるNAK回数が第2の規定回数以上となった場合には、上位装置であるPOS端末10に強制終了の通知が行われるとともに、アンチコリジョン処理が終了する。これにより、アンチコリジョン処理がループに嵌まることを未然に防ぐとともに、RFIDリーダライタ38に強制終了が行われたことを通知することで、POS端末10のオペレータに強制終了が行われたことを報知することができる。
【0075】
<第3の実施形態>
第1の実施形態においては、QueryAdjustコマンドの送信回数であるQA回数が第1の規定回数以上となった場合には、RFIDリーダライタ38は、上位装置であるPOS端末10に強制終了の通知を行うとともに、アンチコリジョン処理を終了した。これに対し、第3の実施形態においては、QueryAdjustコマンドの送信回数であるQA回数が第1の規定回数以上となるか、NAKコマンドの送信回数であるNAK回数が第2の規定回数以上となった場合には、RFIDリーダライタ38は、上位装置であるPOS端末10に強制終了の通知を行うとともに、アンチコリジョン処理を終了する。
【0076】
第3の実施形態のRFIDリーダライタ38は、第1の実施形態のRFIDリーダライタ38のハードウェア構成と略同じであるため説明を省略する。また、第3の実施形態のRFIDリーダライタ38は、第1の実施形態の機能構成と略同じであるため説明を省略する。但し、第3の実施形態の送信回数計数部202は、コマンド送受信部201により送信されたQueryAdjustコマンドおよびNAKコマンドの送信回数をそれぞれ計数する。そして、第3の実施形態の読取終了部203は、送信回数計数部202によりそれぞれ計数されたQueryAdjustコマンドまたはNAKコマンドの送信回数に応じてRFIDタグ400の読み取りを終了する。また、第3の実施形態の終了通知部204は、送信回数計数部202によりそれぞれ計数されたQueryAdjustコマンドの送信回数が所定の第1の規定回数以上となるか、NAKコマンドの送信回数が所定の第2の規定回数以上となる場合には、上位装置であるPOS端末10にRFIDタグ400の読み取りを終了することを通知する。また、第3の実施形態に係るRFIDリーダライタ38を有するPOS端末10が実行する商品読取処理のフローチャートは、第1の実施形態に係るRFIDリーダライタ38を有するPOS端末10が実行する商品読取処理のフローチャートと略同様であるため説明を省略する。
【0077】
以下、第3の実施形態に係るRFIDリーダライタ38が実行するアンチコリジョン処理の動作の一例について、図10のフローチャートを参照して説明する。なお、第3の実施形態のステップS402~S407、S414~S421の処理は、第1の実施形態のステップS202~S207、S212~S219の処理と略同様であるため説明を省略する。
【0078】
はじめに、RFIDリーダライタ制御部101は、初期値としてQ=4、C=0.3、QA回数=0、NAK回数=0にセットする(ステップS401)。
【0079】
ステップS408において、送信回数計数部202は、ステップS407で送信したNAKコマンドの送信回数であるNAK回数を1加算する。送信回数計数部202は、ステップS408においてNAK回数に1加算した結果、NAK回数が第2の規定回数以上となったか否かを判定する(ステップS409)。
【0080】
NAK回数が第2の規定回数以上となっていない場合(ステップS409のNO)には、コマンド送受信部201は、QueryAdjustコマンドを送信する(ステップS410)。QueryAdjustコマンドの送信後、送信回数計数部202は、ステップS410で送信したQueryAdjustコマンドの送信回数であるQA回数を1加算する(ステップS411)。
【0081】
送信回数計数部202は、ステップS411においてQA回数に1加算した結果、QA回数が第1の規定回数以上とならない場合(ステップS412のNO)には、ステップS404の処理に戻り、QA回数が第1の規定回数以上となるか、NAK回数が第2の規定回数以上となるまで、ステップS404~ステップS412の処理が繰り返し実行される。第1の規定回数および第2の規定回数は、読取対象のRFIDタグ400の総数に対して、余裕のある回数が設定される。
【0082】
NAK回数が第2の規定回数以上(ステップS409のYES)となるか、QA回数が第1の規定回数以上(ステップS412のYES)となった場合には、上位装置であるPOS端末10に強制終了を通知する(ステップS413)。この処理が終了すると、アンチコリジョン処理は終了となる。
【0083】
以上のように、アンチコリジョン処理においてノイズが多くて通信環境が悪い場合には、RN16を正常に受信することができても、RFIDタグ400からのEPCの応答を正常に受信できない場合がある。この場合、QueryAdjustコマンド送信処理と、RFIDタグ400からのRN16の応答処理とが実行されるステップS404~S410の処理が繰り返し実行され、ループに嵌まりアンチコリジョン処理が終了しなくなってしまうおそれがある。これに対し、第3の実施形態では、ステップS408、S409、S411~S413の処理を行うことにより、QueryAdjustコマンドの送信回数であるQA回数が第1の規定回数以上となるか、NAKコマンドの送信回数であるNAK回数が第2の規定回数以上となった場合には、上位装置であるPOS端末10に強制終了の通知が行われるとともに、アンチコリジョン処理が終了する。これにより、アンチコリジョン処理がループに嵌まることを未然に防ぐとともに、RFIDリーダライタ38に強制終了が行われたことを通知することで、POS端末10のオペレータに強制終了が行われたことを報知することができる。
【0084】
なお、第3の実施形態においては、コマンド送受信部201は、特定の制御コマンドとしてQueryAdjustコマンドを送信しているが、QueryAdjustコマンドの代わりにQueryRepコマンドを送信してもよい。この場合、コマンド送受信部201は、ステップS410においてQueryAdjustコマンドの代わりにQueryRepコマンドを送信する。そして、ステップS411において、送信回数計数部202は、QueryAdjustコマンドの代わりにQueryRepコマンドの送信回数を1加算する。ステップS412において、送信回数計数部202は、QueryRepコマンドの送信回数を1加算した結果、QueryRepコマンドの送信回数が第1の規定回数以上となったか否かを判定する。
【0085】
QueryRepコマンドの送信回数が第1の規定回数以上とならない場合(ステップS412のNO)には、ステップS404の処理に戻り、QueryRepコマンドの送信回数が第1の規定回数以上となるか、NAK回数が第2の規定回数以上となるまで、ステップS404~ステップS412の処理が繰り返し実行される。NAK回数が第2の規定回数以上(ステップS409のYES)となるか、QueryRepコマンドの送信回数が第1の規定回数以上(ステップS412のYES)となった場合には、上位装置であるPOS端末10に強制終了を通知する(ステップS413)。この処理が終了すると、アンチコリジョン処理は終了となる。
【0086】
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせても良い。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能であることはもちろんである。
【符号の説明】
【0087】
10 POS端末
31 制御ユニット
32 自動釣銭機
33 自動釣札機
34 キャッシュドロア
35 キーボード
36 ディスプレイ
37 タッチパネル
38 RFIDリーダライタ
39 可搬型記録媒体
51 POS制御部
52 記憶部
53 グラフィック処理装置
54 入出力インタフェース
55 通信インタフェース
56 バス
101 RFIDリーダライタ制御部
102 記憶部
103 通信インタフェース
104 バス
201 コマンド送受信部
202 送信回数計数部
203 読取終了部
204 終了通知部
300 外部サーバ
400 RFIDタグ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10