説明

リーダ制御装置

【課題】リーダを制御して無線通信媒体のデータを読み取っている最中にリーダとの通信が一時的に不能になっても、通信復旧時には通信不能となる直前の状態から読み取り制御を継続できるようにする。
【解決手段】リーダ制御装置は、リーダに読取実行用のコマンドを送信してリーダの読取動作を制御している最中に、リーダからの応答が無くなると、リーダに動作確認用のコマンドを送信し、応答の有無を判定する。リーダから応答が無いときは、応答が有るまで動作確認用コマンドの送信を繰り返す。リーダからの応答を確認すると、読取制御を再開させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線通信媒体のデータ読み取り機能を有するリーダまたは無線通信媒体へのデータ書き込み機能を有するリーダ・ライタの制御装置に関する。
【背景技術】
【0002】
近年、無線タグ、無線ICタグ、RFタグ、RFIDタグ等と称される無線通信媒体を管理対象の物品に付し、無線通信を利用して上記無線通信媒体の情報を読み取ったり無線通信媒体に情報を書き込んだりして物品を管理するシステムが開発され、広く普及している。
【0003】
このようなシステムは、アンテナを介して無線通信媒体と無線通信を行うリーダ・ライタと、このリーダ・ライタを制御するリーダ・ライタ制御装置とを用いる。リーダ・ライタ制御装置は、ホスト装置、コントローラ等とも称され、例えばパーソナルコンピュータによって構成される。
【0004】
リーダ・ライタは、リーダ・ライタ制御装置と通信ケーブルを介して双方向通信自在に接続される。リーダ・ライタは、リーダ・ライタ制御装置から読み取りコマンド又は書き込みコマンドを受信する毎に、所定周波数の電波をアンテナから放射して、この電波の交信領域内に存在する無線通信媒体と無線通信を行い、情報の読み取りや書き込みを非接触で行う(例えば、特許文献1を参照)。
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、従来のリーダ・ライタ制御装置は、リーダ・ライタを制御して無線通信媒体のデータを読み取っている最中に、例えばリーダ・ライタを接続する通信ケーブルが抜けたためにリーダ・ライタとの通信が一時的に不能になると、リーダ・ライタの読み取り制御を終了させていた。このため、通信復旧時にはデータの読み取りが最初からやり直されるため、通信不能となる前に読み取られた無線通信媒体のデータが通信復旧後に再度読み取られて二重に管理されたり、通信不能となる前は読み取られたが通信復旧後は読み取られなかったために管理から漏れたりする不具合があった。
【0006】
本発明はこのような事情に基づいてなされたもので、その目的とするところは、リーダを制御して無線通信媒体のデータを読み取っている最中にリーダとの通信が一時的に不能になっても、通信復旧時には通信不能となる直前の状態から読み取り制御を継続することができ、二重読み取りや読み取り抜け等の不具合を防止できるリーダ制御装置及びコンピュータを当該リーダ制御装置として機能させるためのリーダ制御プログラムを提供しようとするものである。
【課題を解決するための手段】
【0007】
本発明のリーダ制御装置は、無線通信を利用して無線通信媒体のデータを非接触で読み取るリーダの制御装置であって、リーダを双方向通信自在に接続する通信手段と、通信手段を介してリーダに動作確認用のコマンドを送信し、応答の有無を判定する動作確認手段と、リーダで読取った無線通信媒体のデータを一時的に保存するための読取バッファと、動作確認用のコマンドに対してリーダから応答が有る状態で、無線通信媒体の読取開始コマンドを受付けると、読取バッファを初期化した後に通信手段を介してリーダに読取実行用のコマンドを送信し、応答の有無を判定する読取制御手段と、読取実行用のコマンドに対してリーダからの応答として無線通信媒体のデータを取り込むと、このデータを未読データとして前記読取バッファに格納する未読処理手段と、読取実行用のコマンドに対してリーダから応答が有る状態で、無線通信媒体のデータ要求コマンドを受付けると、読取バッファに格納された未読データを既読データとして処理する既読処理手段と、読取実行用のコマンドに対してリーダから応答が無くなると、通信手段を介してリーダに動作確認用のコマンドを送信し、応答の有無を判定する再起動確認手段と、この再起動確認手段によりリーダから応答が無いときは、応答が有るまで動作確認用コマンドの送信を繰り返し、リーダからの応答を確認すると、読取制御手段を再開させる再開処理手段とを備えたものである。
【0008】
本発明のリーダ制御プログラムは、無線通信を利用して無線通信媒体のデータを非接触で読み取るリーダを双方向通信自在に接続する通信手段を備え、この通信手段を介して接続されたリーダを制御するコンピュータを、通信手段を介してリーダに動作確認用のコマンドを送信し、応答の有無を判定する動作確認手段、動作確認用のコマンドに対してリーダから応答が有る状態で、無線通信媒体の読取開始コマンドを受付けると、リーダで読取った無線通信媒体のデータを一時的に保存するための読取バッファを初期化した後に通信手段を介してリーダに読取実行用のコマンドを送信し、応答の有無を判定する読取制御手段、読取実行用のコマンドに対してリーダから応答データとして無線通信媒体のデータを取り込むと、このデータを未読データとして読取バッファに格納する未読処理手段、読取実行用のコマンドに対してリーダから応答が有る状態で、無線通信媒体のデータ要求コマンドを受付けると、読取バッファに格納された未読データを既読データとして処理する既読処理手段、読取実行用のコマンドに対してリーダから応答が無くなると、通信手段を介してリーダに動作確認用のコマンドを送信し、応答の有無を判定する再起動確認手段、及び、この再起動確認手段によりリーダから応答が無いときは、応答が有るまで動作確認用コマンドの送信を繰り返し、リーダからの応答を確認すると、読取制御手段を再開させる再開処理手段、として機能させるためのものである。
【発明の効果】
【0009】
かかる手段を講じた本発明によれば、リーダを制御して無線通信媒体のデータを読み取っている最中にリーダとの通信が一時的に不能になっても、通信復旧時には通信不能となる直前の状態から読み取り制御を継続することができ、二重読み取りや読み取り抜け等の不具合を防止できる効果を奏する。
【図面の簡単な説明】
【0010】
【図1】本発明に係る一実施形態のシステム構成図。
【図2】同実施形態において、リーダ・ライタ制御装置のRAMに形成される読取バッファを示す模式図。
【図3】同実施形態におけるリーダ・ライタ制御装置の要部構成を示すブロック図。
【図4】同実施形態において、リーダ・ライタ制御装置のメインプログラム起動時におけるCPUの要部処理手順を示す流れ図。
【図5】同実施形態において、リーダ・ライタ制御装置のリーダ・ライタ用ドライバプログラム起動時におけるCPUの要部処理手順を示す流れ図。
【図6】同実施形態において、リーダ・ライタ制御装置のリーダ・ライタを使用する業務に対応したアプリケーションプログラム起動時におけるCPUの要部処理手順を示す流れ図。
【発明を実施するための形態】
【0011】
以下、本発明に係る一実施の形態を、図面を用いて説明する。
なお、この実施形態は、無線通信媒体の一態様であるRFIDタグのデータを非接触で読み取ったり、RFIDタグにデータを非接触で書き込んだりできるリーダ・ライタ2の制御装置3に本発明を適用した場合である。
【0012】
図1は、本実施形態のシステム構成を示すブロック図である。このシステムは、アンテナ1を備えたリーダ・ライタ2と、このリーダ・ライタ2を制御するリーダ・ライタ制御装置3とからなる。リーダ・ライタ2は、リーダ・ライタ制御装置3に対して、例えばUSB(Universal Serial Bus)インターフェース仕様の通信ケーブル4により着脱自在に接続される。アンテナ1は、リーダ・ライタ2に外付けされていてもよいし、リーダ・ライタ2に内蔵されていてもよい。また、リーダ・ライタ2は、据置型であってもよいし、ハンディ型であってもよい。
【0013】
リーダ・ライタ2は、通信ケーブル4を介してリーダ・ライタ制御装置3に接続された状態で、図示しない電源スイッチの投入により駆動電源が供給されると、動作可能となる。そして、物品等に付された図示しないRFIDタグとの間でアンテナ1を介して電波を送受信することにより、当該RFIDタグのメモリに記憶されたデータを非接触で読み取ったり、当該RFIDタグのメモリにデータを非接触で書き込んだりする。RFIDタグは、無線タグ、無線ICタグ、RFタグ等とも称されて既に実用化されているもので、本実施形態では、自らデータの送信機能を持たないパッシブ型のRFIDタグを想定する。
【0014】
図3は、本発明に係るリーダ・ライタ制御装置3の要部構成を示すブロック図である。リーダ・ライタ制御装置3は、制御部本体としてCPU(Central Processing Unit)11を搭載している。また、主記憶部としてROM(Read Only Memory)12及びRAM(Random Access Memory)13を搭載し、補助記憶部としてHDD(Hard Disk Drive)装置14を搭載している。さらに、LAN(Local Area Network)等の通信回線を介してサーバや他のコンピュータと通信を行う通信インターフェース15、キーボード16を制御して操作キーに対応した信号を取り込むキーボードコントローラ17、ディスプレイ38を制御して画像を表示させる表示コントローラ39、プリンタ、ポインティングデバイス等の外部装置(デバイス)と双方向通信を行う複数の外部装置インターフェース20,21を搭載している。そして、外部装置インターフェース20,21のいずれか1つに、通信ケーブル4を介して前記リーダ・ライタ2を着脱自在に接続可能となっている(通信手段)。このようなリーダ・ライタ制御装置3は、たとえばパーソナルコンピュータによって構成することができる。
【0015】
かかる構成のリーダ・ライタ制御装置3は、リーダ・ライタ2を使用する種々の業務、例えばRFIDタグを付した物品の所在管理業務に関わる情報処理をCPU11に実行させるためのアプリケーションプログラム31と、リーダ・ライタ2を制御するためのドライバプログラム32とを、HDD装置14に実装している。
【0016】
また、リーダ・ライタ制御装置3は、リーダ・ライタ2で読取ったRFIDタグのデータを一時的に保存するための読取バッファ41としてのメモリ領域を、RAM13に確保している。読取バッファ41は、図2に示すように、RFIDタグのデータに、それぞれ既読フラグfを付して記憶する。既読フラグfは、対応するRFIDタグのデータが未読状態にあるとき“0”にリセットされ、既読状態になると“1”にセットされる。
【0017】
図4は、リーダ・ライタ制御装置3において、メインプログラムが起動したときのCPU11の要部制御手順を示す流れ図である。上記メインプログラムは、ROM12またはHDD装置14に実装されており、リーダ・ライタ制御装置3が電源オンにより正常に立ち上がると起動する。そして、このメインプログラムの制御下で、前記アプリケーションプログラム31及びドライバプログラム32が起動する。
【0018】
図5は、リーダ・ライタ制御装置3において、前記アプリケーションプログラム31が起動したときのCPU11の要部処理手順を示す流れ図であり、図6は、前記ドライバプログラム32が起動したときのCPU11の要部処理手順を示す流れ図である。以下、図4乃至図6の各流れ図を用いて、リーダ・ライタ制御装置3が有する技術的手段について説明する。
【0019】
先ず、メインプログラムが起動すると、CPU11は、ST1としていずれかの外部装置インターフェース20,21にリーダ・ライタ2が接続されているか否かをチェックする。すなわちCPU11は、各外部装置インターフェース20,21から接続確認用のコマンドを送信する。いずれかの外部装置インターフェース20,21にリーダ・ライタ2を含むデバイスが接続されていると、このデバイスは、接続確認用のコマンドを受信したことに応じて正常応答コマンドを返信する。この正常応答コマンドには、当該デバイスの種類を識別可能な情報が含まれる。そこでCPU11は、各外部装置インターフェース40,41を監視して、正常応答コマンドの受信有無を判別する。所定時間内に正常応答コマンドを受信できないか、受信できたとしてもリーダ・ライタ2の接続を確認できなかった場合には(ST1のNO)、CPU11は、リーダ・ライタ2の接続を確認できるまで、ST1のチェック処理を繰り返す。
【0020】
今、外部装置インターフェース40にリーダ・ライタ2が接続され、このリーダ・ライタ2の電源スイッチが投入されて動作状態になったとする。この場合、リーダ・ライタ2は、上記接続確認用のコマンドを受信したことに応じて正常応答コマンドを返信する。この正常応答コマンドにより、リーダ・ライタ2の接続を確認できたならば(ST1のYES)、CPU11は、ST2としてリーダ・ライタ2のドライバプログラム32をHDD装置14からRAM13のプログラム領域にロードする。そして、このドライバプログラム32を起動する。
【0021】
ドライバプログラム32が起動すると、このドライバプログラム32の制御下においてCPU11は、ST11として外部装置インターフェース40を介してリーダ・ライタ2に動作確認用のコマンドであるオープンコマンドを送信する。リーダ・ライタ2は、上記オープンコマンドを受信すると、正常応答コマンドを返信する。そこでCPU11は、オープンコマンドを送信した後、ST12としてリーダ・ライタ2から正常応答コマンドを受信したか否かを判定する。正常応答コマンドを受信した場合には、リーダ・ライタ2は正常に動作している。この場合、CPU11は、ST13としてアプリケーションプログラム31から読取開始の通知を受けたか否かを判定する。読取開始の通知を受けていない場合には(ST13のNO)、CPU11は、ST11のオープンコマンド送信処理に戻る。ここに、ドライバプログラム32は、そのST11〜ST13の処理手順により、CPU11を、通信手段(外部装置インターフェース40)を介してリーダ・ライタ2に動作確認用のコマンド(オープンコマンド)を周期的に送信し、応答の有無を判定する動作確認手段として機能させる。
【0022】
この動作確認中において、例えばリーダ・ライタ制御装置3とリーダ・ライタ2とを接続する通信ケーブル4が外れたり、リーダ・ライタ2の電源スイッチが切られると、CPU11は、正常応答コマンドを受信できなくなる。このように、オープンコマンドを送信したが正常応答コマンドを受信できなかった場合(ST12のNO)、CPU11は、ST14としてメインプログラムにリーダ・ライタの切断を通知する。
【0023】
メインプログラムの制御下において、CPU11は、リーダ・ライタ2のドライバプログラム32を起動した後、ST3としてリーダ・ライタ2を使用する種々の業務のうちいずれか1つの業務の開始が指令されるのを待機している。また、ST4としてドライバプログラム32からリーダ・ライタの切断が通知されたか監視している。リーダ・ライタ2を使用する業務の開始が指令される前に(ST3のNO)、ドライバプログラム32からリーダ・ライタの切断が通知されると(ST4のYES)、CPU11は、ST5としてドライバプログラム32を終了させる。ここに、ドライバプログラム32は、そのST12,ST14の処理手順により、動作確認用コマンド(オープンコマンド)の送信に対してリーダ・ライタ2から応答が無いとき、制御動作を終了させる終了処理手段として機能させる。
【0024】
一方、キーボード16のキー入力、あるいは通信インターフェース15を介して接続された他の装置からのコマンド入力等により、リーダ・ライタ2を使用する業務の開始が指令されたならば(ST3のYES)、CPU11は、ST6として該当するアプリケーションプログラム31をHDD装置14からRAM13のプログラム領域にロードする。そして、このアプリケーションプログラム31を起動する。
【0025】
アプリケーションプログラム31が起動すると、このアプリケーションプログラム31の制御下においてCPU11は、ST31としてドライバプログラム32に読取開始のコマンドを通知する。続いて、CPU11は、ST32としてドライバプログラム32にデータ要求のコマンドを定期的に通知する。
【0026】
アプリケーションプログラム31からドライバプログラム32に読取開始のコマンドが通知されると(ST13のYES)、このドライバプログラム32の制御下においてCPU11は、ST15として読取バッファ41を初期化する。この初期化により、読取バッファ41に記憶されていたデータはクリアされる。続いて、CPU11は、ST16として外部装置インターフェース40を介してリーダ・ライタ2にデータ読取コマンドを送信する。
【0027】
データ読取コマンドを受信したリーダ・ライタ2は、アンテナ1から電波を送信し、この電波に応答したRFIDタグからデータを読取る。リーダ・ライタ2で読取られたRDFIDタグのデータは、リーダ・ライタ2からの応答コマンドに含まれて外部装置インターフェース40に入力される。
【0028】
そこで、データ読取コマンドを送信したCPU11は、ST17としてリーダ・ライタ2からの応答コマンドを待機する。そして、応答コマンドを受信したならば(ST17のNO)、CPU11は、ST18としてその応答コマンドにタグデータが含まれているか否かを判断する。ここに、ドライバプログラム32は、そのST15〜ST18の処理手順により、CPU11を、動作確認用のコマンド(オープンコマンド)に対してリーダ・ライタ2から応答が有る状態で、RFIDタグの読取開始コマンドを受付けると、読取バッファ41を初期化した後に通信手段(外部装置インターフェース40)を介してリーダ・ライタ2に読取実行用のコマンド(読取コマンド)を送信し、応答の有無を判定する読取制御手段として機能させる。
【0029】
リーダ・ライタ2からの応答コマンドにタグデータが含まれている場合(ST18のYES)、CPU11は、ST19として読取バッファ41を検索して、当該タグデータと同一のタグデータが既に読取バッファ41に格納されているか否か、すなわち今回読み取られたタグデータは、未だ読取バッファ41に格納されていない新規のタグデータであるか否かを判定する。新規のタグデータであった場合(ST19のYES)、CPU11は、ST20としてこの新規のタグデータを読取バッファ41に格納する。このとき、この新規のタグデータに付加される既読フラグfを、未読の状態を示す“0”に設定する。
【0030】
しかる後、CPU11は、ST21としてアプリケーションプログラム31からドライバプログラム32にデータ要求のコマンドが通知されたか否かを判断する。また、今回読み取られたタグデータが新規のタグデータでなかった場合(ST19のNO)、若しくはリーダ・ライタ2からの応答コマンドにタグデータが含まれていなかった場合(ST18のNO)も、CPU11は、ST21としてアプリケーションプログラム31からドライバプログラム32にデータ要求のコマンドが通知されたか否かを判断する。通知されていない場合(ST21のNO)、CPU11は、ST16の処理に戻り、リーダ・ライタ2にデータ読取コマンドを再度送信して、リーダ・ライタ2からの応答コマンドを待機する。ここに、ドライバプログラム32は、そのST18〜ST20の処理手順により、CPU11を、読取実行用のコマンド(読取コマンド)に対するリーダ・ライタ2からの応答としてRFIDタグのデータを取り込むと、このデータを未読データとして読取バッファ41に格納する未読処理手段、詳しくは、読取実行用のコマンド(読取コマンド)に対するリーダ・ライタ2からの応答としてRFIDタグのデータを取り込む毎に読取バッファ41を検索し、読取バッファ41に格納されていないデータを未読データとして読取バッファ41に格納する手段として機能させる。
【0031】
アプリケーションプログラム31からドライバプログラム32にデータ要求のコマンドが通知されると(ST21のYES)、このドライバプログラム32の制御下においてCPU11は、ST22として読取バッファ41を検索して、未読のタグデータ、すなわち既読フラグfが“0”に設定されているタグデータが格納されているか否かを判断する。未読のタグデータが格納されている場合(ST22のYES)、CPU11は、ST23として全ての未読タグデータをコマンド要求元のアプリケーションプログラム31に引き渡す。また、ST24として全ての未読タグデータの既読フラグfを“1”に更新する。しかる後、CPU11は、ST16の処理に戻り、リーダ・ライタ2にデータ読取コマンドを再度送信して、リーダ・ライタ2からの応答コマンドを待機する。ここに、ドライバプログラム32は、そのST21〜ST24の処理手順により、CPU11を、読取実行用のコマンド(読取コマンド)に対してリーダ・ライタ2から応答が有る状態で、RFIDタグのデータ要求コマンドを受付けると、読取バッファ41に格納された未読データを既読データとして処理する既読処理手段として機能させる。
【0032】
ドライバプログラム32からアプリケーションプログラム31に未読のタグデータが引き渡されると(ST33のYES)、このアプリケーションプログラム31の制御下においてCPU11は、ST34としてそのアプリケーションプログラム31に従い取得したタグデータを処理する。例えば、このタグデータを記憶したRFIDタグが付されている物品がアンテナ1の交信領域内に存在しているものとして情報を処理する。
【0033】
ドライバプログラム32の制御下において、データ要求のコマンドを受付けたが、読取バッファ41に未読のタグデータが格納されていない場合(ST22のNO)、CPU11は、ST25としてタグデータの読み取りが終了したか否かを判定する。例えば、予め設定された複数回数N(Nは2以上の任意の値)連続して未読のタグデータが格納されていない場合、CPU11は、読み取り終了と判定する。読み取り終了でない場合(ST25のNO)、CPU11は、ST16の処理に戻り、リーダ・ライタ2にデータ読取コマンドを再度送信して、リーダ・ライタ2からの応答コマンドを待機する。
【0034】
これに対し、読み取り終了の場合(ST25のYES)、CPU11は、ST26としてコマンド要求元のアプリケーションプログラム31に読取終了を通知する。しかる後、CPU11は、ST11の処理に戻り、リーダ・ライタ2にオープンコマンドを送信して、リーダ・ライタ2の動作状態を再び監視する。
【0035】
ドライバプログラム32からアプリケーションプログラム31に読取終了が通知されると(ST35のYES)、このアプリケーションプログラム31の制御下においてCPU11は、ST36としてメインプログラムに業務終了を通知する。
【0036】
アプリケーションプログラム31からメインプログラムに業務終了が通知されると(ST7のYES)、このメインプログラムの制御下においてCPU11は、ST8としてこのアプリケーションプログラム31を終了させる。しかる後、CPU11は、ST3に戻り、リーダ・ライタ2を使用する次の業務の開始が指令されるのを待機する。この待機期間中にドライバプログラム32からリーダ・ライタの切断が通知されると(ST4のYES)、CPU11は、ドライバプログラム32を終了させる(ST5)。一方、リーダ・ライタ2を使用する業務の開始が指令されたならば(ST3のYES)、CPU11は、該当するアプリケーションプログラム31を起動する(ST6)。アプリケーションプログラム31が起動すると、ドライバプログラム32に読取開始が通知される(ST31)。これにより、ドライバプログラム32の制御下において、読取バッファ41が初期化された後、リーダ・ライタ2によってRFIDタグのデータが読み取られる。
【0037】
ところで、リーダ・ライタ2によってRFIDタグのデータが読み取られている最中に(ST16〜ST21)、誤って通信ケーブル4が抜かれたり、リーダ・ライタ2の電源スイッチが切られたりした場合、ドライバプログラム32の制御下にあるCPU11は、読取コマンドに対してリーダ・ライタ2からの応答コマンドを受信できなくなる。このような場合(ST17のYES)、CPU11は、ST27として外部装置インターフェース40を介してリーダ・ライタ2に動作確認用のコマンドであるオープンコマンドを再度送信する。このオープンコマンドの送信は、ST28としてリーダ・ライタ2から正常応答コマンドが返信されてくるまで繰り返される。通信ケーブル4が再接続され、あるいは電源スイッチが再投入されてリーダ・ライタ2から正常応答コマンドが返信されてくると(ST28のYES)、CPU11は、ST16の処理に戻り、リーダ・ライタ2にデータ読取コマンドを再度送信して、リーダ・ライタ2からの応答コマンドを待機する。ここに、ドライバプログラム32は、そのST27〜ST28の処理手順により、CPU11を、読取実行用のコマンド(読取コマンド)に対してリーダ・ライタ2から応答が無くなると、通信手段(外部装置インターフェース40)を介してリーダ・ライタ2に動作確認用のコマンド(オープンコマンド)を送信し、応答の有無を判定する再起動確認手段、さらには、この再起動確認手段によりリーダ・ライタ2から応答が無いときは応答が有るまで動作確認用コマンド(オープンコマンド)の送信を繰り返し、リーダ・ライタ2からの応答を確認すると、読取制御手段(ST15〜ST18)を再開させる再開処理手段として機能させる。
【0038】
このように本実施形態のリーダ・ライタ制御装置3においては、リーダ・ライタ2を使用する種々の業務のうちいずれか1つの業務の開始が指令され、該当するアプリケーションプログラム31が起動すると、読取バッファ41を初期化した後、リーダ・ライタ2を動作させてRFIDタグのデータを読み取らせる。そして、リーダ・ライタ2によって読み取られたRFIDタグのデータを一旦読取バッファ41に格納し、その後、アプリケーションプログラム31からの要求に応じて定期的に該当するアプリケーションプログラム31に引き渡して処理させる。
【0039】
ここで、このような読取動作の最中に、リーダ・ライタ2との通信が不能になると、読取バッファ41のデータは保持される。リーダ・ライタ制御装置3においては、オープンコマンドをリーダ・ライタ2に繰返し送信して、リーダ・ライタ2との通信が復旧するのを待機する。リーダ・ライタ2との通信が復旧したならば、リーダ・ライタ2によって読み取られたRFIDタグのデータを取り込む。このとき、取り込んだデータが読取バッファ41に格納されているデータであった場合には、このデータは破棄される。これに対し、読取バッファ41に未だ格納されていない新規のデータであった場合には、このデータは読取バッファ41に追加される。また、読取バッファ41に記憶されているタグデータのうち、アプリケーションプログラム31によって処理されていない未読データについては、該当するアプリケーションプログラム31に引き渡されて処理される。
【0040】
このように本実施の形態のリーダ・ライタ制御装置3によれば、リーダ・ライタ2を制御してRFIDタグのデータを読み取っている最中にリーダ・ライタ2との通信が一時的に不能になっても、通信復旧時には通信不能となる直前の状態から読み取り制御を継続することができる。したがって、通信が不能になると読み取り制御を最初からやり直していた従来と比較すると、タグデータの二重読み取りや読み取り抜け等の不具合を防止できる効果を奏する。
【0041】
なお、この発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【0042】
例えば前記実施形態では、自らデータの送信機能を持たないパッシブ型のRFIDタグを想定したが、本発明はパッシブ型のRFIDタグに対するリーダ・ライタの制御装置に限定されるものではなく、自らデータを送信する機能を有するアクティブ型やセミアクティブ型のRFIDタグに対するリーダ・ライタの制御装置にも適用できるものである。また、データの書込み機能を有さない読取り専用のリーダの制御装置にも適用することができる。
【0043】
また、前記実施形態では、装置内部に発明を実施する機能を実現させるためのドライバプログラム32が予め記録されている場合で説明をしたが、これに限らず同様の機能を実現させるためのプログラムをネットワークから装置にダウンロードしても良いし、同様のプログラムを記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
【0044】
この他、前記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を組合わせてもよい。
【符号の説明】
【0045】
1…アンテナ、2…リーダ・ライタ、3…リーダ・ライタ制御装置、4…通信ケーブル、11…CPU、12…ROM、13…RAM、14…HDD装置、15…通信インターフェース、20,21…外部装置インターフェース、31…アプリケーションプログラム、32…ドライバプログラム、41…読取バッファ。
【先行技術文献】
【特許文献】
【0046】
【特許文献1】特開2007−065991号公報参照

【特許請求の範囲】
【請求項1】
無線通信を利用して無線通信媒体のデータを非接触で読み取るリーダの制御装置において、
前記リーダを双方向通信自在に接続する通信手段と、
前記通信手段を介して前記リーダに動作確認用のコマンドを送信し、応答の有無を判定する動作確認手段と、
前記リーダで読取った無線通信媒体のデータを一時的に保存するための読取バッファと、
前記動作確認用のコマンドに対して前記リーダから応答が有る状態で、前記無線通信媒体の読取開始コマンドを受付けると、前記読取バッファを初期化した後に前記通信手段を介して前記リーダに読取実行用のコマンドを送信し、応答の有無を判定する読取制御手段と、
前記読取実行用のコマンドに対して前記リーダからの応答として無線通信媒体のデータを取り込むと、このデータを未読データとして前記読取バッファに格納する未読処理手段と、
前記読取実行用のコマンドに対して前記リーダから応答が有る状態で、前記無線通信媒体のデータ要求コマンドを受付けると、前記読取バッファに格納された未読データを既読データとして処理する既読処理手段と、
前記読取実行用のコマンドに対して前記リーダから応答が無くなると、前記通信手段を介して前記リーダに動作確認用のコマンドを送信し、応答の有無を判定する再起動確認手段と、
この再起動確認手段により前記リーダから応答が無いときは応答が有るまで前記動作確認用コマンドの送信を繰り返し、前記リーダからの応答を確認すると前記読取制御手段を再開させる再開処理手段と、
を具備したことを特徴とするリーダ制御装置。
【請求項2】
前記動作確認手段による前記動作確認用コマンドの送信に対して前記リーダから応答が無いとき、制御動作を終了させる終了処理手段、をさらに具備したことを特徴とする請求項1記載のリーダ制御装置。
【請求項3】
前記未読処理手段は、前記読取実行用のコマンドに対して前記リーダからの応答として無線通信媒体のデータを取り込む毎に前記読取バッファを検索し、前記読取バッファに格納されていないデータを未読データとして前記読取バッファに格納することを特徴とする請求項1又は2記載のリーダ制御装置。
【請求項4】
無線通信を利用して無線通信媒体のデータを非接触で読み取るリーダを双方向通信自在に接続する通信手段を備え、この通信手段を介して接続されたリーダを制御するコンピュータを、
前記通信手段を介して前記リーダに動作確認用のコマンドを送信し、応答の有無を判定する動作確認手段、
前記動作確認用のコマンドに対して前記リーダから応答が有る状態で、前記無線通信媒体の読取開始コマンドを受付けると、前記リーダで読取った無線通信媒体のデータを一時的に保存するための読取バッファを初期化した後に前記通信手段を介して前記リーダに読取実行用のコマンドを送信し、応答の有無を判定する読取制御手段、
前記読取実行用のコマンドに対して前記リーダから応答データとして無線通信媒体のデータを取り込むと、このデータを未読データとして前記読取バッファに格納する未読処理手段、
前記読取実行用のコマンドに対して前記リーダから応答が有る状態で、前記無線通信媒体のデータ要求コマンドを受付けると、前記読取バッファに格納された未読データを既読データとして処理する既読処理手段、
前記読取実行用のコマンドに対して前記リーダから応答が無くなると、前記通信手段を介して前記リーダに動作確認用のコマンドを送信し、応答の有無を判定する再起動確認手段、及び、
この再起動確認手段により前記リーダから応答が無いときは、応答が有るまで前記動作確認用コマンドの送信を繰り返し、前記リーダからの応答を確認すると、前記読取制御手段を再開させる再開処理手段、として機能させるためのリーダ制御プログラム。
【請求項5】
前記コンピュータを、
前記動作確認手段による前記動作確認用コマンドの送信に対して前記リーダから応答が無いとき、制御動作を終了させる終了処理手段、としてさらに機能させるための請求項4記載のリーダ制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−267205(P2010−267205A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−119955(P2009−119955)
【出願日】平成21年5月18日(2009.5.18)
【出願人】(000003562)東芝テック株式会社 (5,631)
【Fターム(参考)】