以下、図面を参照して、実施形態に係る無線タグ読取装置及びプログラムについて説明する。以下では、商品に付された無線タグからタグ情報の読み取りを行う形態について説明する。なお、以下に説明する実施形態により、この発明が限定されるものではない。
図1は、実施形態に係るPOSシステムの構成の一例を示す図である。図1に示すように、POSシステム1は、RFIDスキャナ10と、POS端末20とを有する。RFIDスキャナ10と、POS端末20とは、USB(Universal Serial Bus)ケーブル等の接続線Wを介して接続される。
RFIDスキャナ10は、無線タグ読取装置の一例である。RFIDスキャナ10は、商品に付された無線タグの一例であるRFIDタグからタグ情報を読み取る。タグ情報には、個々のRFIDタグを識別するためのタグIDの他、RFIDタグが付された商品の種別を識別するための商品コード等が含まれる。ここで、タグIDは、タグ識別子の一例である。また、商品コードは、物品識別子の一例である。
RFIDスキャナ10は、RFIDタグから読み取ったタグ情報をPOS端末20に出力する。具体的には、RFIDスキャナ10は、RFIDタグから読み取ったタグ情報を後述する読取バッファBF(図3参照)に保持し、POS端末20からの出力要求に応じて、読取バッファBFに保持したタグ情報をPOS端末20に出力する。
POS端末20は、外部装置の一例である。POS端末20は、客が購入する商品の商品コードを取得して、その買上げ商品の登録処理や精算処理等を行うPOSレジスタである。POS端末20は、RFIDスキャナ10で読み取られたタグ情報に含まれる商品コードに基づき、当該商品コードに対応する商品の取引(商取引)に係る処理を実行する。取引は、商品の購入に係る一連の手続きを意味する。
具体的には、POS端末20は、取引が開始されると、RFIDスキャナ10に対しタグ情報の出力を要求することで、RFIDスキャナ10で読み取られたタグ情報を取得する。POS端末20は、店舗で販売される各商品の商品コードと、当該商品の商品名、価格等の商品情報とを関連付けた商品マスタを参照することで、RFIDスキャナ10で読み取られたタグ情報に含まれる商品コードに対応する商品を購入対象の商品として特定する。
なお、POSシステム1(RFIDスキャナ10及びPOS端末20)の形態は特に問わず、種々の形態を採用することが可能である。例えば、POSシステム1は、図2に示す形態としてもよい。
図2は、POSシステム1の外観構成の一例を示す図である。図2に示すように、RFIDスキャナ10は、アンテナユニット11と、本体部12とを有する。アンテナユニット11は、電波透過性の部材(例えば樹脂等)で形成され、後述するアンテナ107(図2参照)を内蔵する。
本体部12は、後述する制御部100や読取部106等(図3参照)を内蔵しており、アンテナユニット11(アンテナ107)を駆動することでタグ情報の読み取りを行う。また、本体部12には、RFIDタグ(タグ情報)の読み取り開始を指示するためのスタートキー13と、読み取りの停止を指示するためのストップキー14とが設けられている。なお、スタートキー13及びストップキー14は、図2に示すように個別に設けられてもよいし、トグル操作により読み取り開始と読み取り終了とを交互に指示することが可能な単一のトグルボタン等であってもよい。
図2の構成において、アンテナユニット11の上面には、客が購入する商品Gを収納した買い物カゴCが載置される。アンテナ107は、RFIDタグと交信可能な電波を上方に出力することで、買い物カゴC内に収納された各商品GのRFIDタグTとの間でタグ情報読み取りのための交信を行う。本体部12は、アンテナ107を介してRFIDタグTの各々から送信されたタグ情報を取得することで、タグ情報の読み取りを行う。これにより、RFIDスキャナ10では、アンテナユニット11の上面に置かれた商品G(RFIDタグT)の各々からタグ情報の読み取りを一括で行うことができる。
POS端末20は、RFIDスキャナ10の近傍に設けられ、接続線Wを介してRFIDスキャナ10と接続される。POS端末20は、本体部21の上面にキーボード22、レシート排出口23、表示デバイス24等を有する。キーボード22には、テンキー、取引開始キー、精算開始キー等の各種操作キーが設けられる。レシート排出口23は、後述するプリンタ208(図4参照)が印字した領収書等のレシートを排出する。表示デバイス24は、LCD(Liquid Crystal Display)等のディスプレイであり、取引の内訳等の各種情報を表示する。
また、POS端末20は、商品Gに付されたバーコード等のコードシンボル(図示せず)を読取るためのコードスキャナ25を有する。コードシンボルには、商品の種別を識別するための商品コード等が保持される。また、POS端末20は、本体部21の下部に硬貨や紙幣を収納するドロワ26を配置している。
図2の構成において、POS端末20は、RFIDスキャナ10やコードスキャナ25を介して読み取られた商品コードに基づき、客が購入する商品の登録処理や精算処理を実行する。例えば、POS端末20では、RFIDタグが付された商品Gについては、RFIDスキャナ10を用いて商品コードの一括読み取りを行い、RFIDタグが付されていない商品については、コードスキャナ25を用いて商品コードの読み取りを行う。
なお、図2では、RFIDスキャナ10を据え置き型としたが、RFIDスキャナ10の形態はこれに限らず、例えばコードスキャナ25と同様の持ち運び可能なハンディタイプとしてもよい。また、図2では、アンテナユニット11と本体部12とを一体的に構成したが、アンテナユニット11と本体部12とを別体としてもよい。また、図2では、RFIDスキャナ10と、POS端末20とを別体としたが一体的に構成してもよい。
次に、RFIDスキャナ10及びPOS端末20のハードウェア構成について説明する。
図3は、RFIDスキャナ10のハードウェア構成の一例を示す図である。図3に示すように、RFIDスキャナ10は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103とを備える。
CPU101は、プロセッサの一例であり、RFIDスキャナ10の動作を統括的に制御する。ROM102は、各種プログラムを記憶する。RAM103は、プログラムや各種データを展開するワークスペースである。CPU101、ROM102、及びRAM103は、バス104を介して接続され、コンピュータ構成の制御部100を構成する。制御部100では、CPU101がROM102や記憶部105に記憶されRAM103に展開されたプログラムに従って動作することによって、各種の処理を実行する。
また、RAM103は、RFIDタグから読み取られたタグ情報を記憶するための読取バッファBFを保持する。読取バッファBFは、記憶手段の一例であり、個々のタグ情報を保持することが可能なメモリ領域を複数個有する。なお、本実施形態では、RAM103が読取バッファBFを保持する形態としたが、後述する記憶部105が読取バッファBFを保持する形態としてもよい。
制御部100には、バス104を介して記憶部105が接続される。記憶部105は、フラッシュメモリ等の不揮発性の記憶装置で構成され、電源を遮断しても記憶内容を保持する。記憶部105は、CPU101が実行する各種のプログラムや、RFIDスキャナ10の動作に係る各種の設定情報を記憶する。
また、制御部100には、バス104を介して読取部106が接続される。読取部106は、後述する読取制御部152と協働することで読取手段の一例として機能する。読取部106は、アンテナ107を用いることで、RFIDタグからタグ情報を読み取るための変調波(電波)を所定の時間間隔(例えば、数十ミリ秒間隔)で発信させる。また、読取部106は、アンテナ107を介してRFIDタグが保持するタグ情報を読み取り、読み取ったタグ情報をCPU101に出力する。
また、制御部100には、バス104を介して、操作部108及び接続部109等が接続される。操作部108は、各種の操作キーを有する。例えば、操作部108は、上述した読み取り開始を指示するためのスタートキー13と、読み取り終了を指示するためのストップキー14とを有する。
接続部109は、USB等の接続インタフェースである。接続部109は、接続線Wを介してPOS端末20と接続される。
図4は、POS端末20のハードウェア構成の一例を示す図である。図4に示すように、POS端末20は、CPU201と、ROM202と、RAM203とを備える。
CPU201は、プロセッサの一例であり、POS端末20の動作を統括的に制御する。ROM202は、各種プログラムを記憶する。RAM203は、プログラムや各種データを展開するワークスペースである。CPU201、ROM202、及びRAM203は、バス204を介して接続され、コンピュータ構成の制御部200を構成する。制御部200では、CPU201がROM202や記憶部205に記憶されRAM203に展開されたプログラムに従って動作することによって、各種の処理を実行する。
制御部200には、バス204を介して記憶部205が接続される。記憶部205は、HDD(Hard Disk Drive)やフラッシュメモリ等の不揮発性の記憶装置で構成され、電源を遮断しても記憶内容を保持する。記憶部205は、CPU201が実行する各種のプログラムや、POS端末20の動作に係る各種の設定情報を記憶する。また、記憶部205は、上述した商品マスタ等を記憶する。
また、制御部200には、バス204を介して、表示部206及び操作部207が接続される。表示部206は、例えば上述した表示デバイス24を有し、制御部200の制御に従って各種の情報や画面を表示する。操作部207は、例えば上述したキーボード22を有し、オペレータの操作に応じた操作内容を制御部200に出力する。なお、操作部207は、表示部206の表示面に設けられたタッチパネルであってもよい。
また、制御部200には、バス204を介して、上述したコードスキャナ25及びドロワ26が接続される。さらに、制御部200には、バス204を介して、プリンタ208、接続部209及び通信部210等が接続される。接続部209は、USB等の接続インタフェースである。接続部209は、接続線Wを介してRFIDスキャナ10と接続される。通信部210は、LAN等のネットワーク(図示せず)に接続することが可能な通信インタフェースである。通信部210は、ネットワークを介し店舗サーバ等の外部装置と通信を行う。
次に、RFIDスキャナ10及びPOS端末20の機能構成について説明する。図5は、RFIDスキャナ10及びPOS端末20の機能構成の一例を示す図である。なお、図5では、RFIDスキャナ10及びPOS端末20の両装置において、関係のある機能部を破線で接続している。
図5に示すように、RFIDスキャナ10は、操作受付部151と、読取制御部152と、要求受付部153と、出力制御部154とを機能部として備える。
RFIDスキャナ10が備える機能部の一部又は全ては、RFIDスキャナ10のプロセッサ(例えばCPU101)とメモリ(例えばROM102、記憶部105)に記憶されたプログラムとの協働により実現されるソフトウェア構成であってもよい。また、RFIDスキャナ10が備える機能部の一部又は全ては、RFIDスキャナ10に搭載された専用回路等で実現されるハードウェア構成であってもよい。
操作受付部151は、受付手段の一例である。操作受付部151は、操作部108を介してオペレータの操作を受け付ける。例えば、操作受付部151は、スタートキー13及びストップキー14に対する操作を受け付ける。
読取制御部152は、読取手段及び制御手段の一例である。読取制御部152は、読取部106を制御することでタグ情報の読み取りを行う。具体的には、読取制御部152は、スタートキー13の操作に応じて、タグ情報の読み取りを開始する。
読取制御部152は、読取部106によりタグ情報が読み取られると、読み取られたタグ情報を取得する。次いで、読取制御部152は、読取バッファBFを参照し、取得したタグ情報に含まれたタグIDと同一のタグIDを含むタグ情報が、読取バッファBFに登録済か否かを判定する。ここで、読取バッファBFに登録されていないと判定した場合、読取制御部152は、取得したタグ情報を読取バッファBFに登録する。また、読取バッファBFに登録済と判定した場合、読取制御部152は、取得したタグ情報を破棄することで、読取バッファBFへの登録を抑制する。
ここで、図6を参照して、読取制御部152の動作について説明する。図6は、読取バッファBFのデータ構成の一例を模式的に示す図である。
図6に示すように、読取バッファBFは、200個分のタグ情報を保持可能なメモリ領域を有する。各メモリ領域のアドレスを示すポインタは“0”~“199”となっている。
読取制御部152は、タグ情報が読み取られると、そのタグ情報に含まれるタグIDと、読取バッファBFに登録済みのタグ情報のタグIDとを比較し、タグIDの重複チェックを行う。ここで、重複するタグIDが読取バッファBFに登録されていない場合、読取制御部152は、読み取られた順にタグ情報をメモリ領域に順次登録する。
例えば、タグID“ID1”~“ID10”を有する10個のタグ情報がタグIDの順に読み取られ、これらのタグIDと重複するタグ情報が読取バッファBFに登録されていないとする。この場合、読取制御部152は、図6に示すように、タグID“ID1”~“ID10”のタグ情報を、ポインタ“0”~“9”のメモリ領域に順次登録する。
一方、重複するタグIDが読取バッファBFに登録されている場合、読取制御部152は、読み取られたタグ情報を読取バッファBFに登録することなく破棄する。例えば、タグID“ID1”~“ID10”のタグ情報が読取バッファBFに登録された状態で、タグID“ID5”、“ID9”、“IS21”の3個のタグ情報が読み取られたとする。この場合、読取制御部152は、タグID“ID5”、“ID9”のタグ情報については、ポインタ“4”、“8”に登録されたタグ情報のタグIDと重複するため破棄する。また、タグID“ID21”のタグ情報については、何れのタグ情報とも重複しないため、読取制御部152は、図6に示すように、タグID“ID21”のタグ情報を次のポインタ“10”のメモリ領域に登録する。
読取制御部152は、スタートキー13が操作されてから、ストップキー14が操作されるまでの間、タグ情報の読み取りを継続する。そして、読取制御部152は、タグ情報が読み取られる毎に上記の処理を行うことで、読取部106で読み取られたタグ情報を読取バッファBFに順次登録する。これにより、読取バッファBFには、スタートキー13が操作されてからストップキー14が操作されるまでの間に読み取られたタグ情報のうち、タグIDの重複分を除いた、互いに異なるタグIDを有するタグ情報のみが登録される。
なお、図6では、読取バッファBFが有するメモリ領域の個数を200個としたが、複数個であればこれに限らないものとする。但し、メモリ領域の個数は、数十個以上等の多数値とすることが好ましい。また、読取バッファBFが有するメモリ領域の個数は固定値に限らず、動的に増減させる形態としてもよい。
また、読取制御部152は、スタートキー13又はストップキー14が操作されたタイミングで、読取バッファBFのクリアを行う形態としてもよい。これにより、読取バッファBFがタグ情報を不用意に保持し続けることを防ぐことができるため、読取バッファBFを効率的に使用することができる。
要求受付部153は、POS端末20から送信される出力要求を受け付ける。具体的には、要求受付部153は、操作受付部151がスタートキー13の操作を受け付けてから、ストップキー14の操作を受け付けるまでの間、POS端末20からの出力要求を受け付ける。
出力制御部154は、読出手段、抽出手段、変換手段、及び出力手段の一例である。出力制御部154は、読取バッファBFに登録されたタグ情報から商品コードを抽出し、抽出した商品コードをPOS端末20に出力する。
具体的には、出力制御部154は、要求受付部153が出力要求を受け付けると、当該出力要求に応じて読取バッファBFからタグ情報を読み出す。ここで、出力制御部154は、読取バッファBFに登録された順、つまりポインタの順にタグ情報を読み出す。また、出力制御部154は、出力要求を受け付ける毎に、読取バッファBFに新たに登録された未出力のタグ情報を読み出す。
次いで、出力制御部154は、読み出したタグ情報毎に、当該タグ情報に含まれた商品コードを抽出する。ここで、商品コードの抽出方法は特に問わないものとするが、タグ情報のデータ形式に対応した方法で抽出することが好ましい。以下、図7を参照して商品コードの抽出方法について説明する。
図7は、タグ情報のデータ構成の一例を模式的に示す図である。図7では、SGTIN(Serialized Global Trade Item Number)形式のタグ情報を示している。
図7に示すように、SGTIN形式のタグ情報は、ヘッダー(Header)、フィルター値(Filter Value)、パーティション(Partition)、カンパニープレフィックス(Company Prefix)、アイテムリファレンス(Item Reference)、及びシリアルナンバー(Serial Number)の6つの項目で構成される。
ヘッダーには、タグ情報のデータ形式を識別するための8ビットのバイナリ値が格納される。例えば、ヘッダーには、SGTIN-96か、SGTIN-198かを識別する値が格納される。
フィルター値には、RFIDタグの貼付対象物を識別するための3ビットのバイナリ値が格納される。パーティションには、カンパニープレフィックスとアイテムリファレンスとの桁数の区切りを表す3ビットのバイナリ値が格納される。カンパニープレフィックスには、事業者のコードを表す20-40ビットのバイナリ値が格納される。アイテムリファレンスには、アイテムのコードを表す24-4ビットのバイナリ値が格納される。ここで、カンパニープレフィックスとアイテムリファレンスとの組は、本実地形態の商品コードに対応する。
また、シリアルナンバーには、タグIDに対応する、無線タグのシリアルナンバーを表すバイナリ値が格納される。例えば、SGTIN-96では、シリアルナンバーは38ビットのバイナリ値で表され、SGTIN-198では、シリアルナンバーは140ビットのバイナリ値で表される。なお、本実施形態では、カンパニープレフィックスとアイテムリファレンスとの組が商品コードに対応し、シリアルナンバーがタグIDに対応する。
上述したデータ構成の場合、出力制御部154は、ヘッダーに格納されたバイナリ値から、タグ情報のデータ形式を判別する。また、出力制御部154は、パーティションに格納されたバイナリ値から、カンパニープレフィックスとアイテムリファレンスとの桁数を特定する。次いで、出力制御部154は、特定した桁数に基づいて、カンパニープレフィックスとアイテムリファレンスとに格納されたバイナリ値を商品コードとして抽出する。そして、出力制御部154は、抽出した商品コードをPOS端末20に出力する。
ここで、出力制御部154は、抽出した商品コード(バイナリ値)をそのまま出力してもよいし、POS端末20で使用可能な形式に変換した後に出力してもよい。例えば、POS端末20の仕様によっては、バイナリ値で表された商品コードを使用することができず、10進等の文字列で表された商品コードのみ使用することが可能な場合がある。
この場合、出力制御部154は、抽出したバイナリ値の商品コードを10進等の文字列に変換することで、POS端末20で使用可能なコード体系に商品コードを変換する。そして、出力制御部154は、変換後の商品コードをPOS端末20に出力する。なお、POS端末20で使用可能なコード体系は、設定情報として予め記憶しておく形態としてもよいし、接続部109を介してPOS端末20から取得する形態としてもよい。また、POS端末20に出力する商品コードのコード体系は、操作部108等を介して選択可能な構成としてもよい。
一方、POS端末20は、図5に示すように、出力要求部251と、商品コード取得部252と、登録処理部253と、精算処理部254とを機能部として備える。
POS端末20が備える機能部の一部又は全ては、POS端末20のプロセッサ(例えばCPU201)とメモリ(例えばROM202、記憶部205)に記憶されたプログラムとの協働により実現されるソフトウェア構成であってもよい。また、POS端末20が備える機能部の一部又は全ては、POS端末20に搭載された専用回路等で実現されるハードウェア構成であってもよい。
出力要求部251は、RFIDスキャナ10に対し出力要求を送信する。具体的には、出力要求部251は、取引の開始を指示する操作(例えば、取引開始キー操作)等に応じて、出力要求の送信を開始する。また、出力要求部251は、出力要求を所定の時間間隔(例えば1秒間隔)で送信し、登録処理の終了を指示する操作(例えば、精算開始キー操作)が行われると、出力要求の送信を停止する。
商品コード取得部252は、RFIDスキャナ10やコードスキャナ25から商品コードを取得する。例えば、商品コード取得部252は、出力要求に対する応答としてRFIDスキャナ10から出力された商品コードを取得する。また、商品コード取得部252は、コードスキャナ25で読み取られた商品コードを取得する。
ここで、商品コード取得部252がRFIDスキャナ10から取得する商品コードのコード体系は、コードスキャナ25から取得する商品コードのコード体系と同一であることが好ましい。例えばコードスキャナ25が読み取る商品コードのコード体系が10進の数値で表される場合、RFIDスキャナ10(出力制御部154)は、RFIDタグから読み取った商品コードを10進に変換して出力する。これにより、RFIDスキャナ10とコードスキャナ25とで読み取られる商品コードとを同様に取り扱うことができるため、商品コードを処理するための機能やアプリケーションを共通化することができる。
登録処理部253は、商品から読み取られた商品コードに基づき、客が購入する商品の登録処理を実行する。具体的には、登録処理部253は、商品コード取得部252が取得した商品コートに基づき、当該商品コードや、商品コードに対応する商品の商品情報(商品名、価格等)をRAM103等に登録(記憶)する登録処理を実行する。なお、登録処理部253は、商品マスタを参照することで、商品から読み取られた商品コードに対応する商品の商品情報を特定する。
精算処理部254は、登録処理部253によって登録された商品の精算処理を実行する。具体的には、精算処理部254は、登録処理の終了を指示する操作(例えば、精算開始キー操作)に応じて、当該操作までに登録された各商品の合計金額を算出する。商品の合金額は、登録された商品の商品コードに対応する価格に基づき算出することができる。また、精算処理部254は、算出した合計金額を、客から預かった預り金で精算する精算処理を実行する。
以下、図8を参照して、RFIDスキャナ10で実行される処理について説明する。図8は、RFIDスキャナ10が実行する処理の一例を示すフローチャートである。
まず、読取制御部152は、タグ情報の読み取りが開始済みか否かを判定する(ステップS11)。タグ情報の読み取りが開始済みの場合(ステップS11;Yes)、読取制御部152は、ステップS16に移行する。
また、タグ情報の読み取りが開始されていない場合(ステップS11;No)、操作受付部151は、スタートキー13の操作を受け付けたか否かを判定する(ステップS12)。スタートキー13の操作がない場合(ステップS12;No)、ステップS11に処理を戻す。また、操作受付部151がスタートキー13の操作を受け付けると(ステップS12;Yes)、読取制御部152は、読取バッファBFをクリアした後(ステップS13)、ステップS14に移行させる。
ステップS14では、読取制御部152が、タグ情報の登録先となる読取バッファBFのポインタ(以下、登録先ポインタともいう)を先頭の“0”に設定するとともに、出力制御部154が、タグ情報の出力を開始する読取バッファBFのポインタ(以下、出力開始ポインタともいう)を先頭の“0”に設定する(ステップS14)。次いで、読取制御部152は、読取部106を制御することで、RFIDタグ(タグ情報)の読み取りを開始する(ステップS15)。
続いて、読取制御部152は、タグ情報が読み取られたか否かを判定する(ステップS16)。ここで、読取制御部152は、タグ情報が読み取られないと判定した場合(ステップS16;No)、ステップS20に移行させる。
また、読取制御部152は、タグ情報が読み取られたと判定すると(ステップS16;Yes)、読み取られたタグ情報に含まれるタグIDと、読取バッファBFに登録されたタグ情報のタグIDとを比較し、タグIDが重複するか否かを判定する(ステップS17)。タグIDが重複した場合(ステップS17;Yes)、読取制御部152は、読み取られたタグ情報を破棄し、ステップS20に移行させる。
一方、タグIDが重複しないと判定した場合(ステップS17;No)、読取制御部152は、読み取られたタグ情報を読取バッファBFの登録先ポインタに登録する(ステップS18)。次いで、読取制御部152は、登録先ポインタを1インクリメントすることで、新たな登録先ポインタに更新した後(ステップS19)、ステップS20に移行する。
このように、読取制御部152は、読取部106でタグ情報が読み取られる毎に、タグ情報の各々についてステップS17~ステップS19の処理を実行する。これにより、読取バッファBFには、タグIDが重複しないユニークなタグ情報が順次登録されることになる。
続くステップS20において、要求受付部153は、POS端末20から出力要求を受け付けたか否かを判定する(ステップS20)。ここで、出力要求がない場合(ステップS20;No)、ステップS25に移行させる。
要求受付部153が出力要求を受け付けると(ステップS20;Yes)、出力制御部154は、出力開始ポインタから登録先ポインタまでに登録されたタグ情報を読み出す。次いで、出力制御部154は、ステップS21で読み出したタグ情報の各々から商品コードを抽出する(ステップS22)。なお、商品コードのコード体系を変換する場合には、出力制御部154は、ステップS22で抽出した商品コードの各々を10進などの所定のコード体系に変換する。
続いて、出力制御部154は、ステップS22で抽出した商品コードをPOS端末20に出力する(ステップS23)。次いで、出力制御部154は、出力開始ポインタを、登録先ポインタと同じポインタに更新する(ステップS24)。
このように、要求受付部153は、POS端末20から出力要求が送信される毎に、読取バッファBFに新たに登録された未出力のタグ情報を読み出し、当該タグ情報が抽出した商品コードをPOS端末20に出力する。これにより、POS端末20には、タグIDが重複しないユニークなタグ情報に含まれた商品コードが、出力要求毎に出力されることになる。
なお、本実施形態では、ステップS21で、出力開始ポインタから登録先ポインタまでのタグ情報を読み出す形態としたが、出力開始ポインタから登録先ポインタを1デクリメントしたポインタまでのタグ情報を読み出す形態としてもよい。
続いて、操作受付部151は、ストップキー14の操作を受け付けたか否かを判定する(ステップS25)。ここで、ストップキー14が操作されない場合には(ステップS25;No)、ステップS11に処理を戻す。
操作受付部151がストップキー14の操作を受け付けた場合(ステップS25;Yes)、読取制御部152は、読取部106を制御することで、タグ情報の読み取りを停止した後(ステップS26)、ステップS11に処理を戻す。なお、読取制御部152は、ステップS26の処理の後、読取バッファBFをクリアする形態としてもよい。
以上のように、本実施形態のRFIDスキャナ10は、無線タグから当該無線タグを識別するタグIDを含んだタグ情報を読み取ると、読取バッファBFに記憶された既存のタグ情報のタグ識別子と比較し、重複しないタグ識別子を含んだタグ情報を読取バッファBFに記憶する。また、RFIDスキャナ10は、POS端末20から出力要求を受け付ける毎に、未出力のタグ情報を読取バッファBFから読み出し、当該タグ情報に含まれた商品コードを抽出して、POS端末20に出力する。
これにより、RFIDスキャナ10では、POS端末20から出力要求が複数回送信される場合であっても、過去に出力した商品コードのタグ情報と同一のタグIDを有するタグ情報を出力の対象から除外することができる。したがって、本実施形態のPOSシステム1では、POS端末20側にタグIDの重複チェック機能を設ける必要はなくなるため、無線タグの読み取りを効率的に行うことができる。
また、RFIDスキャナ10は、タグ情報に含まれた商品コードを抽出してPOS端末20に出力する。これにより、本実施形態のPOSシステム1では、POS端末20側でタグ情報を処理するための機能を不要とすることができるため、RFIDタグに記憶された情報の読み取りを効率的に行うことができる。
更に、RFIDスキャナ10は、抽出した商品コードのコード体系を変換してPOS端末20に出力することもできる。これにより、本実施形態のPOSシステム1では、POS端末20で使用することが可能なコード体系の商品コードをRFIDスキャナ10から出力することができる。したがって、本実施形態のPOSシステム1では、POS端末20側にコード体系を変換する機能を設ける必要はなくなるため、RFIDタグに記憶された情報の読み取りをより効率的に行うことができる。
以上説明した実施形態は、上述の各装置が有する構成又は機能の一部を変更することで、適宜に変形して実施することも可能である。そこで、以下では、上述した実施形態に係るいくつかの変形例を他の実施形態として説明する。なお、以下では、上述した実施形態と異なる点を主に説明することとし、既に説明した内容と共通する点については詳細な説明を省略する。また、以下で説明する変形例は、個別に実施されてもよいし、適宜組み合わせて実施されてもよい。
(変形例1)
上述の実施形態では、RFIDスキャナ10は、スタートキー13又はストップキー14の操作をトリガに読取バッファBFのクリアを行う形態としたが、他のトリガに応じて読取バッファBFをクリアする形態としてもよい。
例えば、RFIDスキャナ10は、POS端末20からの指示に応じて読取バッファBFをクリアする形態としてもよい。一例として、読取制御部152は、スタートキー13の操作に対応する読み取り開始の指示や、ストップキー14の操作に対応する読み取り停止の指示をPOS端末20から受け付けたことを条件に、読取バッファBFをクリアする形態としてもよい。この場合、例えばPOS端末20は、自端末の開局時や電源オン時に読み取り開始の指示をRFIDスキャナ10に送信し、自端末の閉局時や電源オフ時に読み取り停止の指示をRFIDスキャナ10に送信する。
また、他の例として、読取制御部152は、取引の開始指示や、登録処理の終了指示をPOS端末20から受け付けたことを条件に、読取バッファBFをクリアする形態としてもよい。この場合、例えばPOS端末20は、取引開始を指示する操作を受け付けた場合にその旨の指示をRFIDスキャナ10に送信し、登録処理の終了を指示する操作を受け付けた場合にその旨の指示をRFIDスキャナ10に送信する。
なお、他の例の場合、登録処理の終了指示を受けた時点で、読み取り済みの商品(RFIDタグ)がアンテナ107の読み取り範囲に存在する可能性がある。そのため、他の例の場合には、読取部106の読み取り結果に基づいて、アンテナ107の読み取り範囲にRFIDタグが存在しないことを確認できたことを条件に、読取バッファBFをクリアすることが好ましい。また、この場合、アンテナ107の読み取り範囲をセンシングする物体検知センサを別途設けることで、アンテナ107の読み取り範囲に物品が存在しないことを確認する構成としてもよい。
これにより、RFIDスキャナ10では、POS端末20の操作や動作に連動して読取バッファBFをクリアすることができるため、取引時におけるRFIDタグの読み取りに係る利便性を向上させることができる。
さらに、RFIDスキャナ10は、上述したアンテナ107の読み取り範囲に存在するRFIDタグや物品の検出結果に基づき、読取バッファBFのクリアを独立して行う形態としてもよい。例えば、RFIDスキャナ10の読取制御部152は、タグ情報の読み取りが行われない期間が所定時間(例えば1分等)継続したことを条件に、読取バッファBFをクリアする形態としてもよい。
これにより、RFIDスキャナ10は、RFIDタグの読み取りが行われない休止期間の間に読取バッファBFをクリアすることができるため、読取バッファBFを効率的に使用することができる。
(変形例2)
上述の実施形態では、読取部106で読み取られたタグ情報を読取バッファBFのポインタの順に登録する形態を説明した。この形態の場合、末尾のポインタまでタグ情報を登録すると、空き状態のメモリ領域が不足することになる。そこで、例えば、読取制御部152は、空き状態のメモリ領域が不足した場合、先頭のポインタに戻すことで、先に使用されたメモリ領域から順に上書き登録する形態としてもよい。
例えば、図6の読取バッファBFにおいて、末尾のポインタ“199”までタグ情報を登録した場合には、空き状態のメモリ領域が不足することになる。この場合、読取制御部152は、先頭のポインタ“0”に再び戻すことで、ポインタ“0”から順にタグ情報を上書き登録していく。
これにより、RFIDスキャナ10は、メモリ領域の個数が固定値に制限されている場合であっても、読取バッファBFを効率的に使用することができる。また、読取バッファBF全体のメモリサイズの低減化を図ることができる。
(変形例3)
上述の実施形態では、RFIDスキャナ10の出力制御部154は、タグ情報から商品コードを抽出してPOS端末20の出力する形態を説明したが、出力対象の情報は商品コードに限らないものとする。例えば、POS端末20側において、個品単位で商品を取り扱う場合には、商品コードとともにタグIDをPOS端末20に出力する形態としてもよい。
具体的には、出力制御部154は、タグ情報から商品コードとタグIDとを抽出する。そして、出力制御部154は、同一のタグ情報から抽出した商品コードとタグIDとを対応付けてPOS端末20に出力する。
なお、出力制御部154は、上述した実施形態と同様に、商品コードとタグIDとを10進等の数値に変換した後、POS端末20に出力してもよい。また、出力制御部154は、商品コードとタグIDとの組のうち、何れか一方(例えば商品コード)のみを変換する形態としてもよい。
これにより、RFIDスキャナ10は、POS端末20において個品単位での商品の取り扱いを可能とすることができるため、利便性の向上を図ることができる。
上述した実施形態の各装置で実行されるプログラムは、ROM等に予め組み込まれて提供される。上述の実施形態の各装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、上述した実施形態の各装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態の各装置で実行されるプログラムをインターネット等のネットワーク経由で提供又は配布するように構成してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。