以下、実施形態の無線タグ通信装置、無線タグ通信システム、および無線タグ通信方法について、図面を用いて説明する。
図1は無線タグ通信装置の構成例を示した図である。無線タグ通信装置100のカウンタには透過板122が設置されている。透過版122の上にある購入商品は、商品ごとに無線タグTG(TG1、TG2、・・・、TGn)が貼付されている。透過版122の直下に位置するアンテナ121は、電源部130から電力供給を受けて無線タグTGに電波を出力する。無線タグ通信部120は、アンテナ121を介して無線タグTGの読み書きを制御する。無線タグ通信部120は、無線タグTGと無線通信して無線タグTGの内部メモリに記憶された商品識別情報や精算情報、消去情報などを受信する。無線タグ通信部120の詳細や内部メモリのデータ構成については後述する。
無線タグ通信装置100は、ネットワークインターフェイスカードなどを含む上位通信部170を有し、パーソナルコンピュータ等の上位機器200と接続している。無線タグ通信装置100は、上位機器200からの指示により、無線タグTGの読み取り或いは書き込み処理を行う。タッチパネルディスプレイ151は、読み取りや書き込みの結果などを表示する。また使用者は、必要に応じてタッチパネルディスプレイ151や物理キーボード152を用いて無線タグ通信装置100を操作する。この操作により無線タグTGの読み取り或いは書き込み処理を行ってもよい。
電源部130は、無線タグ通信装置100の内部ユニットに電力を供給する。電源部130は、バッテリとその充電及び放電の制御回路からなる構成でもよいし、或いは商用電源と接続する構成でもよい。
制御部110は、CPU(Central Processing Unit)などのプロセッサ801、ROM(Read Only Memory)、RAM(Random Access Memory)、補助記憶装置を含む記憶部802を主体として構成されている。制御部110は、記憶部802に事前に記憶されているプログラムをプロセッサ801が演算実行することで、無線タグ通信装置100の内部ユニットを統括的に制御する。また記憶部802には、アンテナ121や無線タグ通信部120が受信した商品識別情報を含むタグ読取情報などを格納する。
制御部110は、書込情報生成部111、精算情報判定部112、消去状態判定部113を有する。これら各機能部は、プロセッサ801が記憶部802に事前に導入されているプログラムを演算実行することで実現される。
消去状態判定部113は、無線タグTGから読み取った情報(タグ読取情報)の中の消去情報をもとに、当該無線タグTGの消去状態が0か1かを判定する。無線タグTGの書き替えを行う際、上記のように一旦消去状態にリセットした後に書き込みを行う。無線タグの仕様により、消去状態にする際、ビット値を0にする無線タグ、ビット値を1にする無線タグが存在し、これらが混在した状態で読み書き処理をすることがある。消去状態判定部113は、無線タグTGの消去状態のビット値(リセット値)が0であるか1であるかを判定する。
精算情報判定部112は、タグ読取情報の中の精算情報と消去状態判定部113の判定結果から、当該無線タグTGが貼付された商品が精算済みであるか否かを判定する。
書込情報生成部111は、無線タグTGの精算情報に書込む情報を生成する。書き込む情報は、消去状態判定部113の判定結果に応じて異なる。その具体例については後述する。
上位機器200は、無線タグTGに記憶されている商品識別情報に対応した商品情報が記憶部に格納されている。無線タグ通信装置100は、上位通信部170を介して商品識別情報を上位機器200に送信し、商品識別情報に応じた商品情報等のデータを上位機器200から受信する。上位機器200から受信する商品情報は、商品の名称や、食品、衣類等の商品分類情報などである。
尚、無線タグ通信装置100と上位機器200とを含めて無線タグ通信システムや商品管理システムとしてもよい。また無線タグTGを含めたシステムとしてもよい。また無線タグ通信部120にアンテナ121を含めた構成としてもよい。
図2は無線タグTGの内部メモリの構成例を示す図である。読み取りや書き込みは、従来通り8ビットあるいは16ビットを1ワードとした単位で行われる。本実施形態では1ワードを16ビットとして説明する。図2の例では、w0〜w8の9ワードを示しており、w1〜w6は商品識別情報、w7は消去情報(EF)、w8は精算情報(CF)に割り当てられている。図2に示すように、消去情報、精算情報は、内部メモリの書き替え可能な最小単位である1ワード分のデータ長であり、且つ、1つのワードに収まるように記憶されている。尚、商品識別情報はその情報量に応じて割り当てられる。すなわちw6の全部を用いず一部のみとしてもよい。
またw0の一部の領域(Length指定領域と称する)には、8ワード分を読取ることを示す情報が記憶されている。無線タグ通信装置100が読み取る際、まずはw0を読み取ってワード長を取得し、このワード長分であるw1〜w8の8ワードを読み取る。
消去情報は、この無線タグの内部メモリを消去状態とする際、ビット値0とするか1とするかを示すものである。無線タグTGに新規に商品識別情報などの各データを書き込む際、一旦消去状態にしてから指定データが書き込まれる。本例では、新規データを書き込む際、w0〜w8の全ての領域を一旦消去状態にしてから、w7以外に対して指定データを書き込む。これにより、w7は消去状態が維持される。0の状態を消去状態とする無線タグの場合、w7の値は消去状態で0000h(hは16進数であることを示す)となり、1の状態を消去状態とする無線タグの場合、w7の値は消去状態でFFFFh(全て1の値)となる。尚、消去情報は1ビットあればいいので、例えば、商品識別情報がw6の一部のみ使用している場合には、w6の未使用部を消去情報として使用してもよい。
精算情報は最低限1ビットあればよいが、商品識別情報と独立した書き替えを行うため、本実施形態では精算情報に1ワード割り当てる。仮に書き替え時に電力不足で消去状態で止まるなどの書き替えエラーが発生したことを検出するために、精算情報は消去状態でないビット列となるようにする。本実施形態では、0の状態を消去状態とする無線タグの場合(w7=0000h)、未精算をw8=F0FFhとし、精算済みをw8=F000hとする。この無線タグの場合、新規データを書き込む際にはw8がF0FFhとなるように書き込んでおき、当該無線タグを商品に貼付して商品を棚等に陳列しておく。これにより、商品が未精算の場合はw8にはF0FFhの値が書き込まれている状態となる。無線タグが無線タグ通信装置100のアンテナ121を通過すると、無線タグ通信装置100は、精算済みを示す値であるF000hとなるようw8を書き替える。
一方、1の状態を消去状態とする無線タグの場合には、w7=FFFFhとなる。この無線タグの場合、本実施形態では未精算をw8=0F00h、精算済みをw8=0FFFhとする。すなわち、商品が未精算の場合はw8には0FFFhの値が事前に書き込まれており、無線タグ通信装置100のアンテナ121を通過すると、w8は精算済みを示す値である0F00hに書き替えられる。
尚、書込情報生成部111は、消去状態判定部113の判定結果に従いw8の書き替え値を生成する。
透過板121の上に配置された無線タグTGには、消去状態が0のものと1のものが混在する可能性がある。精算情報w8は、上記のように未精算/清算済みのいずれの値でもそのビット配列に0と1の両方が存在するようにしている。精算情報w8をライトした時にエラーが発生すると、大部分の場合、w8の全てのビットが消去状態(ビットが全て0または全て1)となるので、書き込み処理後に0と1の両方が存在する場合は書き込みエラーが無かった(成功した)ことを意味する。逆に、書き込み処理後w8の値が消去状態(ビットが全て0または全て1)である場合は、書き込みエラーとみなすことができる。この構成により、書き込み時のエラー発生の有無を検出することが可能となる。
尚、上記の清算情報w8の値はあくまでも一例である。清算情報w8において、未精算/精算済みをどのような値にするかについては、書き替え前後の値(未精算/精算済みの値)が互いに異なり、且つ、消去状態と差別化することが可能な値であればよい。本例では、消去状態と差別化可能な値として、0と1のビット値が混在する値としているが、消去状態が0の無線タグの場合はFFFFhの値を採用してもよい。また消去状態が1の無線タグの場合は0000hの値を採用してもよい。
また図2の例では、w7に消去情報を設けているが、無線タグの種別が混在せずに予め消去状態が0あるいは1のいずれかと決まっている場合には、消去情報を設ける必要はない。
図3は、無線タグ通信部120の具体的な構成を示すブロック図である。無線タグ通信部120は、無線タグTGにデータを送信するための送信部502と、無線タグTGからデータを受信するための受信部501と、サーキュレータ等の方向性結合器503と、ローパスフィルタ(LPF)504とを備え、方向性結合器503に、送信部502、受信部501及びローパスフィルタ504を接続し、ローパルフィルタ504を介してアンテナ121を接続している。
送信部502は、符号化部551、PLL(Phase Locked Loop)部555、振幅変調部552、バンドパスフィルタ(BPF)553及び電力増幅器(Amp)554を備えている。
符号化部551は、送信制御部541から出力される送信信号を符号化する。PLL部555は、振幅変調部552にローカルキャリア信号を供給する。振幅変調部552は、PLL部555からのローカルキャリア信号を、符号化部551にて符号化された送信信号で振幅変調する。バンドパスフィルタ553は、振幅変調部552で振幅変調された送信信号から、不要な成分を除去する。電力増幅器554は、送信出力設定部540からの送信出力設定信号に応じた増幅率で、バンドパスフィルタ553を通過した送信信号を増幅する。送信信号を増幅することにより、送信出力が可変される。電力増幅器554で増幅された送信信号は、方向性結合器503に供給される。
方向性結合器503は、送信部502からの送信信号を、ローパスフィルタ504を介してアンテナ121に供給する。アンテナ121に供給された送信信号は、アンテナ121から電波として放射される。
アンテナ121から放射された電波を受信すると、無線タグTGは起動する。そして、起動した無線タグTGは、無変調信号に対してバックスキャッタ変調を行うことにより、無線タグTGの内部メモリに格納された情報を無線タグ通信装置100に無線送信する。無線タグTGからの無線信号は、アンテナ121で受信される。
無線タグTGからの無線信号をアンテナ121が受信すると、その受信信号がアンテナ121からローパスフィルタ504を介して方向性結合器503に供給される。方向性結合器504は、アンテナ121の受信信号、すなわち無線タグTGからの信号を受信部501に供給する。
受信部501は、I信号生成部561、Q信号生成部562、I信号処理部514、Q信号処理部563及び受信信号レベル検出部527を備えている。
I信号生成部561は、第1ミキサ511と、ローパスフィルタ512と、2値化回路513とからなる。Q信号生成部は、第2ミキサ519と、ローパスフィルタ520と、2値化回路521と、90度位相シフト器526とからなる。
受信部501は、方向性結合器503からの受信信号を、第1ミキサ511と第2ミキサ519にそれぞれ入力する。また、受信部501は、PLL部555からのローカルキャリア信号を、第1ミキサ511と90度位相シフト器526とに入力する。90度位相シフト器526は、ローカルキャリア信号の位相を90度シフトして、第2ミキサ519に供給する。
第1ミキサ511は、受信信号とローカルキャリア信号とを混合して、ローカルキャリア信号と同相成分のI信号を生成する。I信号は、ローパスフィルタ512を介して2値化回路513に供給される。ローパスフィルタ512は、I信号から不要な高周波成分を除去して、符号化されたデータ成分を取り出す。2値化回路513は、ローパスフィルタ512を通過した信号を2値化する。
第2ミキサ519は、受信信号と90度位相がシフトされたローカルキャリア信号とを混合して、ローカルキャリア信号と直交成分のQ信号を生成する。Q信号は、ローパスフィルタ520を介して2値化回路521に供給される。ローパスフィルタ520は、Q信号から不要な高周波成分を除去して、符号化されたデータ成分を取り出す。2値化回路521は、ローパスフィルタ520を通過した信号を2値化する。
I信号処理部514は、I信号同期クロック生成部515、I信号プリアンブル検出部516、I信号復号部517及びI信号エラー検出部518を含む。Q信号処理部563は、Q信号同期クロック生成部522、Q信号プリアンブル検出部523、Q信号復号部524及びQ信号エラー検出部525を含む。
受信部501は、I信号生成部561の2値化回路513で2値化したI信号を、I信号処理部514に供給する。またQ信号生成部562は、2値化回路521で2値化したQ信号を、Q信号処理部563に供給する。ここでI信号処理部514とQ信号処理部563は、その動作が共通である。このため、以下ではI信号処理部514について説明し、Q信号処理部563の説明は省略する。
I信号同期クロック生成部515は、2値化回路513からの2値化信号と同期したクロック信号を常時生成し、生成したクロック信号を、受信制御部530、I信号プリアンブル検出部516、I信号復号部517及びI信号エラー検出部518に供給する。
I信号プリアンブル検出部516は、I信号同期クロック生成部515からのクロック信号を基に、I信号の先頭に付されているプリアンブルを検出する。プリアンブルが検出されると、I信号プリアンブル検出部516は、受信制御部530に検出信号を出力する。プリアンブル検出信号を受信すると、受信制御部530は、I信号復号部517に復号開始の指令信号を供給する。I信号復号部517は、I信号同期クロック生成部515からのクロック信号に同期して、2値化回路513からの2値化信号をサンプリングする。そして、受信制御部530から復号開始の指令を受けると、そのサンプリングした2値化信号を復号する。復号されたデータは、受信制御部530に供給される。
受信制御部530は、復号されたデータをI信号エラー検出部518に供給する。I信号エラー検出部518は、復号されたデータのチェックコードからエラーの有無を検出する。そして、その検出結果を示すデータを受信制御部530に供給する。受信制御部530は、少なくともI信号或いはQ信号の一方で誤りが無い場合、正しくデータを受信したと判定する構成となっている。正しく受信した受信データは、制御部110の制御に従い、記憶部802に読取情報として格納される。
受信信号レベル検出部527は、ローパスフィルタ512を通過したI信号の振幅と、ローパスフィルタ520を通過したQ信号の振幅とをそれぞれ検出する。そして、大きい方の振幅の値を、受信信号レベルとして受信制御部530に通知する。或いは、ベクトル合成した値(√{I2+Q2})を受信信号レベルとして通知してもよい。
図4は、無線タグ通信装置100(無線タグ通信部120)と、透過板122の上にある無線タグTGとの間の無線通信手順の一例を示すタイミングチャートである。図4では、4つの商品それぞれに貼付された無線タグTG1〜TG4についてのタイミングチャートとして説明する。無線タグ通信装置100は、無線タグTG1〜TG4から商品識別情報と消去情報と精算情報を読み取り、精算情報を精算済みに書き換える。また図4は、ISO18000-6typeCのプロトコルに準拠する例を示しており、1ラウンドあたりのスロット数を4とした場合である。
図4において、記号[Q]、[RN]、[A]、[ID]、[RR]、[h]、[WR]、[Re]、[Qr]、[S]は、いずれも通信データを示している。各通信データの先頭には、データの先頭を示すプリアンブル符号が含まれる。また各通信データには、CRC(Cyclic Redundancy Check)符号などの誤り検出符号が含まれており、受信側でエラーを検出できる。
先ず、無線タグ通信装置100は、無変調のキャリア信号をアンテナから電波として送信する。各無線タグTG1〜TG4は、この電波を受けて起動する。
次に、無線タグ通信装置100は、第1ラウンドの読取開始を指令するためのQueryコマンド[Q]を送信する。Queryコマンド[Q]には、1ラウンドあたりのスロット数を4とするパラメータ(Q値=2)が含まれている。各無線タグTG1〜TG4はQueryコマンド[Q]を受信すると、それぞれ乱数[RN]を生成する。そして、この乱数により、各無線タグTG1〜TG4は、1ラウンド中の4つのスロットのうち、どのスロットで応答するかを決定する。[RN]は、無線タグ毎に異なる値となる。また、同じ無線タグでも生成する毎に異なる値となる。
図4の例では、無線タグTG2は1番目のスロットslot0で応答データ[RN]を送信する。
無線タグTG2からの応答データ[RN]を受信すると、無線タグ通信装置100は、その応答データ[RN]を正常に受信したことを指令するAckコマンド[A]を送信する。このAckコマンド[A]には、無線タグTG2から受信した応答データ[RN]を含む。
応答データ[RN]を送信した無線タグTG2は、Ackコマンド[A]を待機する。そして、Ackコマンド[A]を受信すると、自身が送信した応答データ[RN]が含まれているか否かを確認する。応答データ[RN]が含まれている場合、Ackコマンド[A]が自身宛であると認識する。
自身宛のAckコマンド[A]を受信したならば、無線タグTG2は自己の内部メモリで記憶している情報[ID]を送信する。ここで、図2に示すように、無線タグTG2のLength指定領域には8ワード分を示す情報が格納されているため、無線タグTG2はw1〜w8の8ワードの情報を送信する。
Ackコマンドを送信したら、無線タグ通信装置100は、ID情報[ID]を待機する。そして、ID情報[ID]を受信したら、誤りの有無を検出し、誤りが無い場合には、受信したID情報[ID]を記憶部802に読取情報として記憶する。
次に、無線タグ通信装置100は、ReqRNコマンド[RR]を無線タグTG2に送信し、書込みを行う準備をする。無線タグTG2は[RR]を受信すると、応答[h]を返信する。
図1に示す制御部110の消去状態判定部113は、無線タグTG2から受信した読取情報のうちの7ワード目の消去情報w7をもとに、無線タグTG2が消去状態0のものであるか、あるいは1のものであるかを判定する。この例では、7ワード目の消去情報w7は0000hであるとし、消去状態判定部113は、無線タグTG2は消去状態が0のものであると判定する。
また精算情報判定部112は、無線タグTG2から受信した読取情報のうちの8ワード目の精算情報w8と、消去状態判定部113の判定結果をもとに、無線タグTG2の精算情報を判定する。この例では、8ワード目の精算情報w8はF0FFhで、消去状態が0の無線タグであると消去状態判定部113が判定していることから、精算情報判定部112は、この商品は未精算と判定する。
書込情報生成部111は、精算情報判定部112の判定結果が未精算であったことから、精算情報w8に書込む情報として精算済みを示す情報F000hを生成する。
無線タグ通信装置100は、w8の位置にF000hを書込むために、Writeコマンド[WR]を無線タグTG2に送信する。無線タグTG2は[WR]を受信すると、w8の位置にF000hを書込み、応答[Re]を返信する。無線タグTG2の応答[Re]は書込み成功を示す値を出力する。成功を示す値である場合は、後述の図5に示すフローチャートの動作を省略し、精算済み処理成功として扱ってもよい。
次に、無線タグ通信装置100は、スロットの切換を指令するための、Query-repコマンド[Qr]を送信する。図4の例では、無線タグTG1が2番目のスロットslot1で応答データ[RN]を送信する。既にslot0で応答した無線タグTG2は、以降応答しない。以降の2番目のスロットslot1での無線タグ通信装置100と無線タグTG1との動作は、1番目のスロットslot0の動作と同じため、説明を省略する。
2番目のスロットslot1での通信が終了すると、無線タグ通信装置100は、スロットの切換を指令するための、Query-repコマンド[Qr]を送信する。図4の例では、無線タグTG3および無線タグTG4は3番目のスロットslot2で、それぞれ[RN]を送信する。
無線タグTG3とTG4の[RN]はそれぞれ異なる。Queryコマンド[Q]或いはQuery-repコマンド[Qr]を受信してから応答データ[RN]の送信を開始するまでの時間は所定時間以内に規定されているため、同じスロットで2つ以上の無線タグが、それぞれ応答データ[RN]を送信する場合には、応答データ[RN]の送信の一部は必ず衝突するようになっている。よって無線タグ通信装置100は、無線タグTG3の応答データ[RN]と無線タグTG4の応答データ[RN]を正しく受信できず、無線タグ通信装置100は、応答データ[RN]の受信タイムアウトを検出する。
次に、無線タグ通信装置100は、スロットの切換を指令するための、Query-repコマンド[Qr]を送信し、4番目のスロットslot3を開始する。図4の例では、無線タグTG1〜TG4はラウンド1で応答データ[RN]を送信しているため、4番目のスロットslot3では応答データ[RN]の送信は無く、無線タグ通信装置100は、応答データ[RN]の受信タイムアウトを検出する。
無線タグ通信装置100は、ラウンド1の4つのスロットの終了を検出し、新しいラウンド2の1番目のスロットslot0の開始を指令するためのQueryコマンド[Q]を送信する。図4の例では、ID情報[ID]を送信した無線タグTG1と無線タグTG2はラウンド2以降も応答しない例を示している。ラウンド2の1番目のスロットslot0では無線タグTG4が応答データ[RN]を送信する。以降のラウンド2の1番目のスロットslot0の動作は、ラウンド1の1番目のスロットslot0動作と同じため、説明を省略する。
ラウンド2の1番目のスロットslot0での通信が終了すると、無線タグ通信装置100は、スロットの切換を指令するための、Query-repコマンド[Qr]を送信する。ラウンド2の2番目のスロットslot1では無線タグTG3が応答データ[RN]を送信する。以降のラウンド2の1番目のスロットslot0の動作は、ラウンド1の1番目のスロットslot0動作と同じであるが、無線タグTG3はWriteコマンド[WR]実行時に電力不足になり、w8の消去は行ったが書込みを行うことができなかったとする。従って、無線タグTG3はWriteコマンドの応答[Re]として書込みエラーを示す応答を送信する。
無線タグ通信装置100は同様に通信を続け、ラウンド2終了後、先ず、書込みエラーの応答を返した無線タグTG3だけが応答するためのSelectコマンド[S]を送信し、次に、新しいラウンド3の1番目のスロットslot0の開始を指令するためのQueryコマンド[Q]を送信する。このQueryコマンドの場合、スロット数は1(Q=0)に設定する例を示す。無線タグTG3が乱数[RN]を生成して送信し、無線タグ通信装置100がAck[A]を送信し、無線タグTG3が自己の内部メモリで記憶している情報[ID]を送信する。上述の通り、図2に示すように、無線タグTG3のLength指定領域には8ワード分を示す情報が格納されているため、無線タグTG3はw1〜w8の8ワードの情報を送信する。
無線タグ通信装置100は、ID情報[ID]を受信したら、誤りの有無を検出し、誤りが無い場合には、受信したID情報[ID]を記憶部802にタグ読取情報として記憶する。
以降の無線タグTG3に対する制御部110の動作について、図5にフローチャートを示す。図5のフローチャートは、ラウンド2のSlot1で無線タグTG3に対し一旦書き込みを行い、ラウンド3のSlot0で無線タグTG3のタグ読取情報を取得した後の動作である。すなわち図5のフローチャートは、無線タグTG3に一旦書き込み処理をした後に、その書き込み後の情報を無線タグ通信装置100が取得したときの動作例である。また、消去状態と未精算/清算済みの関係は、上述のように以下の関係となっている。
・消去状態が0(w7=0000h)の無線タグの場合
未精算:w8=F0FFh
精算済み:w8=F000h
・消去状態が1(w7=FFFFh)の無線タグの場合
未精算:w8=0F00h
精算済み:w8=0FFFh
制御部110の消去状態判定部113は、無線タグTG3から受信したタグ読取情報のうちの7ワード目の消去情報w7をもとに、無線タグTG3の消去状態を判定する(ACT001)。w7が0000hの場合は消去状態の際にビット値が0となる無線タグとし(ACT003)、それ以外の場合は消去状態の際にビット値が1となる無線タグとする(ACT002)。消去状態判定部113は、この判定結果を規定のフラグ値として記憶しておく。
次に精算情報判定部112は、{消去状態が0で、かつ、w8の下位2桁が0(w8=XX00h)}、または、{消去状態が1で、かつ、w8の下位2桁が1(w8=XXFFh)}に合致するかを判定する(ACT004)。ACT004では、換言すると、以下の第1判定、第2判定のいずれかが肯定判定となるか否かを判定している。
・第1判定 ・・・ {消去情報のビット配列が全て0である}且つ{清算情報のビット配列が処理済みであることを示す値(w8=F000h)のビット配列の一部と一致し、且つ清算情報のビット配列に0が含まれる}
・第2判定 ・・・ {消去情報のビット配列が全て1である}且つ{清算情報のビット配列が処理済みであることを示す値(w8=0FFFh)のビット配列の一部と一致し、且つ清算情報のビット配列に1が含まれる}
条件に合致する場合(ACT004−Yes)、精算情報判定部112は、精算済みとして扱い(ACT007)、それ以外の場合(ACT004−No)、未精算として扱う(ACT005)。精算情報判定部112は、この判定結果をフラグ値として記憶しておく。
このフローチャートが実行されている状況は、無線タグTGが無線タグ通信装置100を通過して清算済みとする処理を行っている状態であるため、この段階で未精算である(清算済みでない)ことは、何らかのエラーが発生しているとみなすことができる。よって制御部110は、未精算と判定される場合は再度w8の書込みを行うリトライ処理を行う(ACT006)。ACT006以降は、再度読み取り図5の動作を実行してもよい。
一方、精算済みと判定した場合(ACT007)、制御部110は、精算済み処理成功としてACT008に処理を進める。精算済み処理成功と判定した後、清算情報判定部112は、{消去状態が0で、かつ、w8が0000h)}、または、{消去状態が1で、かつ、w8がFFFFh)}に合致するかを判定する(ACT008)。ここでは、制御部110は、消去情報と清算情報とが同値であるか否かを判定している。
合致している場合(ACT008−Yes)、清算情報判定部112は書込み応答エラーとして扱い(ACT010)、それ以外の場合(ACT008−No)、書込みエラー無しとする(ACT009)。精算情報判定部112は、この判定結果をフラグ値として記憶しておく。書き込み成功/失敗にかかわらず、制御部110は清算済み処理を成功とみなす(ACT011)。
各ステップで得られた判定結果のフラグ値は、例えば上位機器200に送信され、データ解析や成功率の分析、無線タグTGや無線タグ通信装置100の性能評価、解析などのデータとして用いられる。
本例では、ラウンド2のslot1で無線タグTG3から書込みエラーを示す応答を得たが、w8が消去状態である場合も精算済みとして扱い、これにより精算済み処理自体は成功したとして、無線タグTG3の処理が成功したと判定する。具体的には、消去状態を0とする場合、精算情報がF000hでなく0000hであった場合でも、制御部110は、Writeの応答[Re]は書込みエラーだったが、精算済み処理には成功したと判定する。このような実装により、成功率を向上させることができる。
尚、図5のACT004は、「w8が清算済みの値か否かの判定」と「w8が消去状態の値か否かの判定」の2つを同時に判定する動作となる。このACT004に替えて、
{(消去状態0) & (w8=F000h)} or {(消去状態1) & (w8=0FFFh)}
の判定を行うステップ(清算済みの値か否かの判定)と、
{(消去状態0) & (w8=0000h)} or {(消去状態1) & (w8=FFFFh)}
の判定を行うステップ(消去状態の値か否かの判定)の2つのステップを実行してもよい。この両判定のいずれかが肯定となる場合は処理済みと扱う(ACT007)。この両判定の両方とも否定となる場合は未精算として扱う(ACT005)。
また図4に示すように、上記ラウンド2の2番目のスロットslot1でWriteコマンドの応答[Re]が書込みエラーであった場合、図6に示す方法を行ってもよい。図6のラウンド2のスロットslot1において、無線タグ通信装置100はReqRNコマンド[RR]を無線タグTG3に送信し、読取りを行う準備をする。無線タグTG3は[RR]を受信すると、応答[h]を返信する。無線タグ通信装置100は、w1〜w8の情報を読み取るために、Readコマンド[RD]を無線タグTG3に送信する。無線タグTG3は[RD]を受信すると、w1〜w8の情報を送信する。無線タグ通信装置100がw1〜w8の情報を受信した後の精算情報の判定などについては、図5のフローチャートと同様である。この場合、Readコマンド[RD]でw8のみ読取るようにしてもよい。
また、別の方法として、図7に示すように先ずは一旦全タグの[ID]を読取った後、図8に示すように、読み取った[ID]1つずつについてSelectコマンドで無線タグを指定し、読取りとw8の書込みを行ってもよい。さらに、w8の書込みの結果の応答[Re]が書込みエラーであったタグについて、w1〜w8のリストを生成し、1枚ずつ読み取って、精算情報が精算済みと判定できるか判定する方法でもよい。
なお、上記は、Length指定領域に8ワード分を示す情報が格納されているとして説明したが、商品識別情報のみを読み取ればよい場合や、図2のデータ構成とは異なり消去情報がw6に含まれて商品識別情報、消去情報、精算情報とが合わせて7ワードの場合には、Length指定領域に6ワード或いは7ワードを示す情報を格納してもよいことは言うまでもない。
また、商品識別情報と消去情報は通常は書き替えることはない。よって、これらの情報が何らかの理由によって書き換えられることが無いように、書替不可のロック状態にして、精算情報のみ書替可能の状態にしてもよい。
以上により、仮に精算情報の書き替えにエラーが発生した場合でも、商品識別情報が書き替わってしまうことは無い。また、精算情報の書き替えにエラーが発生した場合でも、消去状態を精算済みとして取り扱うため、大部分の場合に、精算済み処理を成功とすることができ、成功率を高めることができる。
また、消去状態が異なる別種の無線タグが混在した場合でも、本実施形態は適用させることができる。また、精算済み処理が成功した場合でも、清算情報が消去状態の値であるか否かを確認することで、書き替えにエラーが発生したかどうかの情報を得ることができる。
本実施形態では、以下の構成を含む無線タグ通信装置について説明している。
対象の物品に貼付され、識別情報と精算情報がそれぞれ個別に書き替えできる領域に記憶された無線タグと通信する無線タグ通信装置であって、
少なくとも識別情報と精算情報を含む情報を読み取る機能と精算情報を書込む機能を有す無線タグ通信部と、
消去した状態が予め定められ、精算情報が消去した状態である場合を精算済みと判定し、精算情報が消去した状態でない場合を未精算と判定する精算情報判定部と、
精算情報判定部が精算情報を未精算と判定した無線タグに対して、精算情報を精算済みとする書込情報を生成する書込情報生成部と、
書込情報生成部で生成した書込み情報を無線タグ通信部にて書き込む動作を行い、無線タグから書込み失敗の応答を受けた場合、再度、書込み失敗の応答を受けた無線タグから精算情報を読み取り、読取った精算情報を精算情報判定部で判定した結果、精算情報が消去した状態であり精算済みと判定された場合には、精算情報の書き替えが成功したと判定する制御部、を設けた。
この構成は、商品識別情報と精算情報を個別に書き替えできる領域に分けているため、精算情報の書き替えに失敗しても、識別情報が書き替わることはない。また、精算情報の書き替えに失敗する場合の大部分は、電力供給が不安定で消去した状態で止まってしまう場合である。この場合は無線タグから書込み応答エラーが返ってくるが、上記構成では、消去状態を精算済みにしているため、応答エラーが返っても、精算情報は所望の情報に変わっており、精算情報の書き替え成功と判断できる。よって書き込み成功率が向上する。
対象の物品に貼付され、商品識別情報と精算情報がそれぞれ個別に書き替えできる領域に記憶されるとともに、消去した状態を示す消去情報が記憶された無線タグと通信する無線タグ通信装置であって、
少なくとも商品識別情報と精算情報と消去情報を含む情報を読み取る機能と精算情報を書込む機能を有す無線タグ通信部と、
読み取った消去情報に従って消去状態を判定する消去状態判定部と、
消去状態判定部の判定結果に従って精算情報が消去した状態である場合を精算済みと判定し、精算情報が消去した状態でない場合を未精算と判定する、精算情報判定部と、
消去状態判定部の判定結果に従って精算情報判定部が精算情報を未精算と判定した無線タグに対して、精算情報を精算済みとする書込情報を生成する書込情報生成部と、
前記書込情報生成部で生成した書込み情報を無線タグ通信部にて書き込む動作を行い、無線タグから書き込み失敗の応答を受けた場合、再度、書き込み失敗の応答を受けた無線タグから精算情報を読取り、読み取った精算情報を精算情報判定部で判定した結果、精算情報が消去した状態であり精算済みと判定された場合には、精算情報の書き替えが成功したと判定する制御部、を設けた。
これにより、消去した状態が異なる無線タグが混在した場合でも、上記と同様に、書込み成功率が向上させることができる。
精算情報の一部には、少なくとも消去した状態の値でない情報を含めた。具体的には、本実施形態では、消去状態が0の無線タグについては精算済みがw8=F000h、未精算がw8=F0FFhであるものとして説明した。また消去状態が1の無線タグについては精算済みがw8=0FFFh、未精算がw8=0F00hであるものとして説明した。これにより、消去した状態でない情報が有るかどうかを見れば、精算情報の書き替えの時に、消去した状態で停止したかどうかが分かる。
また、少なくともロック解除するまでは、商品識別情報および消去情報を書き替え不可の状態となるようにした。これにより、何らかの理由により、商品識別情報と消去情報を書き替えてしまうことを防止することができる。
上記の実施形態では、商品のチェックアウト処理を一例として説明し、対象商品が未精算か清算済みかを無線タグに書き込み、また判定する無線タグ通信装置として説明したが、態様はこれに限定されない。例えば、対象物品の検査処理が行われたか否かの情報を無線タグに書き込み、判定する検査装置や、対象物品の品質確認処理が行われたか否かを判定する品質管理装置など、様々な応用が可能である。また、対象物品の製造工程で、工程ごとに処理が行われたか否かを無線タグで管理する工程管理装置などにも適用できる。
実施形態では装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
以上に詳説したように、実施形態では、チェックアウト処理の成功率を向上させることができる。
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。