以下、本発明の一実施形態を、図面を参照して詳細に説明する。
図1は、本実施形態の構成例を示す図である。図1において、本実施形態のシステムは、制御装置1、RFIDリーダ/ライタ21、RFIDリーダ/ライタ22、RFIDリーダ/ライタ23、RFIDアンテナ211、RFIDアンテナ212、RFIDアンテナ221、RFIDアンテナ222、RFIDアンテナ231、RFIDアンテナ232、RFIDタグ5等を有する。RFIDアンテナ211、RFIDアンテナ212、RFIDアンテナ221、RFIDアンテナ222、RFIDアンテナ231、RFIDアンテナ232等の各々は、較正用RFIDタグ216〜237を有する。
制御装置1には、RFIDリーダ/ライタ21、RFIDリーダ/ライタ22、RFIDリーダ/ライタ23等が接続される。RFIDリーダ/ライタ21には、RFIDアンテナ211、RFIDアンテナ212等が接続される。RFIDリーダ/ライタ22には、RFIDアンテナ221、RFIDアンテナ222等が接続される。RFIDリーダ/ライタ23には、RFIDアンテナ231、RFIDアンテナ232等が接続される。
制御装置1は、RFIDアンテナ211〜232の自身の較正用RFIDタグ216〜237に対する書き込み及び読取り結果から、同時にアクティブ不可となるRFIDアンテナ211〜232の組合せを取得し、取得した組合せと、予め記憶装置に格納されている構成情報とから、RFIDリーダ/ライタ21〜23の使用手順を作成し、作成した使用手順でRFIDリーダ/ライタ21〜23を動作させる。また、制御装置1は、予め、各RFIDアンテナ211〜232により読み取られるべき情報を記憶装置に格納しておき、RFIDリーダ/ライタ21〜23の各RFIDアンテナ211〜232による読取り結果と、記憶装置から読み出した読み取られるべき情報とを比較することにより、各RFIDアンテナ211〜232が正しく接続されているか否か判定する。RFIDリーダ/ライタ21、RFIDリーダ/ライタ22、RFIDリーダ/ライタ23の各々は、制御装置1の指示に従い、自身に接続されているRFIDアンテナ(RFIDアンテナ211、RFIDアンテナ212、RFIDアンテナ221、RFIDアンテナ222、RFIDアンテナ231、RFIDアンテナ232等)のうち何れか1つをアクティブとし、書き込み及び読取りを制御する。RFIDアンテナ211、RFIDアンテナ212、RFIDアンテナ221、RFIDアンテナ222、RFIDアンテナ231、RFIDアンテナ232等の各々は、RFIDタグ5、及び、自身の有する較正用RFIDタグ216〜237の各々に対し、書き込み及び読取りを行なう。
なお、図1では図示しないが、RFIDリーダ/ライタと各RFIDアンテナとは、RFIDアンテナ切り替え器を介して接続されているものとする。このRFIDアンテナ切り替え器は、例えばポート等の接続インタフェース(図示略)を複数有し、この接続インタフェースの各々に、RFIDアンテナが接続される。RFIDアンテナ切り替え器は、RFIDリーダ/ライタの内部に内蔵されている場合と、RFIDリーダ/ライタとは別の装置として存在する場合とがある。また、1台のRFIDリーダ/ライタに1つのRFIDアンテナを接続する場合には、RFIDアンテナ切り替え器を使用しなくても良い。このRFIDアンテナ切り替え器は、従来技術と同じであるので、説明を省略する。
RFIDリーダ/ライタ21〜23の各々が、自身に接続されたRFIDアンテナ211、232のうち何れか1つをアクティブとし、書き込み及び読取りを制御する動作は、従来技術と同じである。また、RFIDアンテナ211〜232の各々は、較正用RFIDタグ216〜237を有する点が従来技術と異なるが、これらのRFIDアンテナ211〜232そのものが、RFIDタグ5、及び、較正用RFIDタグ216〜237の各々に対し書き込み及び読取りを行なう動作は、従来技術と同じである。
なお、図1において、制御装置1に接続するRFIDリーダ/ライタの数が3つとなっているが、これに限られるわけではなく、RFIDリーダ/ライタが接続できる数ならば何台接続しても良い。また、図1において、1つのRFIDリーダ/ライタに接続するRFIDアンテナの数が2つとなっているが、これに限られるわけではなく、RFIDアンテナが接続できる数ならば何台接続しても良い。
次に、図1に示す各構成について詳細に説明する。
まず、制御装置1について説明する。制御装置1は、例えば、PC(Personal Computer)やサーバ等の情報処理装置である。制御装置1は、CPU(Central Processing Unit)11、メモリ12、接続インタフェース13、記憶装置14、入力装置15、出力装置16、通信インタフェース17等を有する。記憶装置14は、例えば、HDD(Hard Disk Drive)や、CD−R(Compact Disc- Recordable)、DVD−RAM(Digital Versatile Disk- Random Access Memory)等の書き込み及び読み出し可能な記憶メディア及び記憶メディア駆動装置等である。記憶装置14は、アプリケーションプログラム141、アンテナ使用手順作成プログラム142、アンテナ使用実行プログラム143、アンテナ動作監視プログラム144、RFIDリーダ/ライタ構成情報145、アンテナ使用要求情報146、アンテナ較正用情報147、アンテナ使用手順情報148等を有する。
CPU11は、メモリ12にロードしたアンテナ使用手順作成プログラム142を実行することにより、使用手順作成部111を実現する。また、CPU11は、メモリ12にロードしたアンテナ使用実行プログラム143を実行することにより、実行指示部112を実現する。CPU11は、メモリ12にロードしたアンテナ動作監視プログラム144を実行することにより、動作監視部113、接続監視部114等を実現する。
使用手順作成部111は、後述するRFIDリーダ/ライタ構成情報145と、アンテナ使用要求情報146と、アンテナ較正用情報147とをもとに、RFIDアンテナをどの組み合わせでどのような順番で使用するかというアンテナ使用手順148を作成する。実行指示部112は、使用手順作成部111の作成したアンテナ使用手順148に従って、RFIDアンテナ211〜232各々による書き込み及び読取りを指示する。動作監視部113は、較正用RFIDタグ216〜237の各々に対する読取り結果から、アンテナ較正用情報147を更新し、この読取り結果からアンテナ使用手順148を変更する必要があると判定される場合、それを通知する情報を出力し、さらに、使用手順作成部111に変更を指示等する。接続監視部114は、所定のタイミング等で、RFIDアンテナ211〜232の各々により読み取られた情報と、後述するRFIDリーダ/ライタ構成情報145とから、RFIDアンテナ211〜232の各々が、所定個所に接続されているか否か判定し、その判定結果を出力する。
制御装置1は、接続インタフェース13を通してRFIDリーダ/ライタ21〜23に接続する。
アプリケーションプログラム141は、RFIDタグ5を用いた処理を実行するプログラムである。アプリケーションプログラム141の具体例として、RFIDタグを付与した物品の在庫状況を把握する棚卸プログラムや、RFIDタグを付与した物品の情報を提供する商品情報提供プログラムなどがある。なお、1つの制御装置1がアプリケーションプログラム141を有する数は任意であるが、ここでは、制御装置1は、2つのアプリケーションプログラム141を有するものとして説明する。以下、各アプリケーションプログラム141により実現されるアプリケーションを特に区別して説明する場合、「アプリケーション1」、「アプリケーション2」という。
アンテナ使用手順作成プログラム142は、使用手順作成部111を実現するプログラムである。アンテナ使用実行プログラム143は、実行指示部112を実現するプログラムである。動作監視プログラム144は、動作監視部113を実現するプログラムである。
RFIDリーダ/ライタ構成情報145は、制御装置1が管理するRFIDリーダ/ライタおよび各々のRFIDリーダ/ライタに接続されたRFIDアンテナの構成に関する情報である。アンテナ使用要求情報146は、アプリケーションプログラム141毎の、使用するRFIDリーダ/ライタおよびRFIDアンテナの条件情報等を示す。アンテナ較正用情報147は、同時使用に問題のあるRFIDアンテナの組み合わせの等の情報である。
入力装置15は、例えば、キーボード、マウス、スキャナ、マイク等である。出力装置16は、例えば、ディスプレイ、スピーカ、プリンタ等である。制御装置1は、通信インタフェース17を介して、図示しない他の情報処理装置等の通信機器と接続する。
なお、図1では、1つの制御装置1が、使用手順作成部111、実行指示部112、動作監視部113、RFIDリーダ/ライタ構成情報145、アンテナ使用要求情報146、アンテナ較正用情報147、アンテナ使用手順148等を有しているが、これらの一部を、通信ネットワーク17を介して接続された他の情報処理装置(図示略)等が有し、後述する処理を分散して行なっても良い。
次に、RFIDリーダ/ライタ21〜23について説明する。RFIDリーダ/ライタ21〜23は、接続インタフェース13を介して、制御装置1と接続する。このRFIDリーダ/ライタ21〜23は、後述する制御装置1の指示に従い、RFIDアンテナ211〜232の動作を制御する点以外は、従来技術のリーダ/ライタと同じである。上述のように、本実施形態では、RFIDリーダ/ライタ21〜23と、各RFIDリーダ/ライタ21〜23との間に、RFIDアンテナ切り替え機能を有するものとする。また、各RFIDリーダ/ライタ21〜23は、1回で複数のRFIDタグの読み込みが可能なアンチコリジョン機能を有するものとする。このアンチコリジョン機能は、例えば、従来技術のALOHA方式により実現してもよい。
次に、RFIDアンテナ211〜232について説明する。
RFIDアンテナ211〜232の各々は、較正用RFIDタグ216〜237を有する点を除き、従来技術の、RFIDにおけるアンテナと同じである。この較正用RFIDタグ216〜237の各々も、RFIDアンテナ211〜232に設置され、後述する動作のために用いられる点を除き、従来技術のRFIDタグと同じである。較正用RFIDタグ216〜237は、電池を内蔵するアクティブタグ、又は、電池を内蔵しないパッシブタグの何れでも良い。また、較正用RFIDタグ216〜237は、読取りのみ可能でもよく、また、読取り及び書き込みの両方が可能でもよいが、ここでは、読取りのみ可能なものであるとして説明する。較正用RFIDタグ216〜237の各々は、タグIDを保持している。ここでは、このタグIDの一部により、較正用RFIDタグと、他のタグID5とを区別するものとする。即ち、較正用RFIDタグ216〜237の各々の有するタグIDは、較正用RFIDタグであることを示す識別情報を含む。制御装置1は、後述する動作により、読み取られたタグIDの所定領域に、所定の識別情報を含むか否かにより、読み取られたタグIDが、較正用RFIDタグ216〜237のものであるか、或いは、RFIDタグ5のものであるか判定する。
なお、較正用RFIDタグと他のタグID5とを区別するための識別情報は、必ずしもタグIDに含まれなくても良い。この識別情報は、例えば、タグID領域以外のユーザデータ領域に含まれていても良い。また、較正用RFIDタグと、他のタグID5とを区別するのは、これに限られるわけではない。例えば、記憶装置13が、較正用RFIDタグのタグIDの一覧を格納するテーブル等を有し、読み取ったタグIDと一致するタグIDが、そのテーブルに含まれているか否かにより、較正用RFIDタグと他のRFIDタグ5とを区別してもよい。
較正用RFIDタグ216〜237は、RFIDアンテナ211〜232の各々と一体化されていてもよく、また、RFIDアンテナ211〜232近傍の任意の位置に置いただけでもよい。また、1つのRFIDアンテナは、複数の較正用RFIDタグを有しても良い。ただし、後述するように、較正用RFIDタグ216〜237は、RFIDアンテナ211〜232の干渉を検出するためのものであるので、あるRFIDアンテナの較正用RFIDタグが確実に読取り可能であり、かつ、他のRFIDアンテナによる読み取りに対し反応しないような位置とすることはいうまでもない。
RFIDアンテナ211〜232の設置例を、図2を参照して説明する。図2(a)の例は、RFIDアンテナ211〜232の各々を棚2に配置する場合の例である。棚2の1段目にはRFIDアンテナ211、212、2段目にはRFIDアンテナ221、222、3段目にはRFIDアンテナ231、232が配置される。図2(a)に一例を示す棚2に設置されたRFIDアンテナを拡大した例を図2(b)に示す。RFIDアンテナ211〜232の各々は、読取り範囲内に配置等されたRFIDタグ5に対し、書き込み及び読み込みが可能となる。例えば、管理物品7にRFIDタグ5を付与しておくことで、物品の在庫状況を把握する棚卸プログラム等が実現可能となる。
なお、図2に示すRFIDアンテナの設置は一例であり、これに限られるわけではない。RFIDアンテナの設置は、RFIDアンテナの使用目的に応じて自由に設定することが可能である。
次に、図3を参照し、RFIDリーダ/ライタ構成情報145の一例を説明する。
図3は、RFIDリーダ/ライタ構成情報145の一例である。RFIDリーダ/ライタ構成情報145は、RFIDリーダ/ライタ301、RFIDアンテナ302、較正用RFIDタグ303等を有する。RFIDリーダ/ライタ301、RFIDアンテナ302、較正用RFIDタグ303等は互いに対応付けられている。RFIDリーダ/ライタ301は、制御装置1に接続されているRFIDリーダ/ライタを示す識別情報等であり、例えば、RFIDリーダ/ライタの接続されている制御装置1のポート番号等を示す情報である。RFIDアンテナ302は、対応するRFIDリーダ/ライタ301に接続されているRFIDアンテナを示す識別情報であり、例えば、RFIDアンテナの接続されているRFIDリーダ/ライタのポート番号等を示す情報である。較正用RFIDタグ303は、対応するRFIDアンテナ302に付与されている較正用RFIDタグを示す識別情報等である。この較正用RFIDタグ303の情報は、例えば、その較正用RFIDタグ303の保持しているタグID等である。
なお、RFIDリーダ/ライタ構成情報145は、予め記憶装置14に格納されていてもよく、また、入力装置15や通信インタフェース17等を介して入力された情報に従い、新規格納、追加、削除等されてもよい。また、USB(Universal Serial Bus)やEthernet(登録商標)等による接続で、制御装置1に、新たなRFIDリーダ/ライタが接続されたことや、既にRFIDリーダ/ライタ構成情報145に格納されているRFIDリーダ/ライタが切断されたことを制御装置1が検知できる場合には、RFIDリーダ/ライタ構成情報145内のRFIDリーダ/ライタ301内の情報を新規格納、追加、削除等してもよい。同様に、制御装置1又は各RFIDリーダ/ライタが、RFIDアンテナが新たに接続されたことや、接続されていたRFIDアンテナが切断されたことを検知できる場合には、制御装置1自身の検知した内容、又は、RFIDリーダ/ライタから通知された追加又は切断されたRFIDアンテナの識別情報に従い、RFIDリーダ/ライタ構成情報145内のRFIDアンテナ302、較正用RFIDタグ303内の情報を新規格納、追加、削除等してもよい。RFIDリーダ/ライタ構成情報145内のRFIDアンテナ302、較正用RFIDタグ303等を更新する動作例は後述する。
次に、図4を参照し、アンテナ使用要求情報146の一例を説明する。
図4に、アンテナ使用要求情報146の一例を示す。図4(a)は、アプリケーション1のアンテナ使用要求情報146である。図4(b)は、アプリケーション2のアンテナ使用要求情報146である。以下、各アンテナ使用要求情報146を特に区別して説明する場合、「アンテナ使用要求情報146a」、「アンテナ使用要求情報146b」というように、符号を付与して説明する。
図4(a)において、アンテナ使用要求情報146は、アプリケーション401、使用要求402等を含む。アプリケーション401は、実行するアプリケーションプログラム141を示す名称や識別情報等である。使用要求402は、RFIDアンテナ411、動作412、回数413等を含む。RFIDアンテナ411、動作412、回数413等は互いに対応付けられている。RFIDアンテナ411は、対応するアプリケーション401を実行するときに書き込み及び読み取りを行なうRFIDアンテナを示す情報であり、例えば、RFIDアンテナの接続されているRFIDリーダ/ライタのポート番号等を示す情報である。動作412は、対応するアプリケーション401を実行する場合、対応するRFIDアンテナ411で読み込みを行なうか、又は、書き込みを行なうかを示す情報である。回数413は、対応するRFIDアンテナ411で、対応する動作412を行なう回数を示す。回数413「連続」は、特に停止指示等がない限り、対応するRFIDアンテナ411で、対応する動作412を連続して行なうことを示す。回数413「1回」は、指示等を受け付けた場合に、RFIDアンテナ411で、対応する動作412を行なうことを示す。
図4(b)に一例を示すアンテナ使用要求情報146は、項目は上述の図4(a)に一例を示すアンテナ使用要求情報146と同じであり、具体的な情報のみ異なるものであるため、図示のみに留め、詳細な説明は省略する。
なお、本実施形態では、制御装置1は、RFIDタグに対し書き込み及び読み取りを行なう全てのアプリケーションプログラム141に対し、上述のようなアンテナ使用要求情報146を有しているものとする。アンテナ使用要求情報146内の情報は、予め記憶装置14に格納されているものとするが、入力装置15及び通信インタフェース17等から入力された情報に従い、新規格納、変更、削除等してもよい。
次に、図5を参照し、アンテナ較正用情報147の一例を説明する。
図5において、アンテナ較正用情報147は、組合せ501、重大度502等を有する。組合せ501、重大度502等は互いに対応付けられている。組合せ501は、同時に使用したときに問題のあるRFIDアンテナの組合せである。従って、1つの組合せ501は、複数のRFIDアンテナの識別情報等を含む。この識別情報は、上述と同様に、例えば、RFIDアンテナの接続されているRFIDリーダ/ライタのポート番号等を示す情報である。重大度502は、対応する組合せ501のRFIDアンテナを使用する場合の問題の重大度を示す。図5の例では、重大度502は5段階であり、重大度502の示す数字が大きいほど、対応する組合せ501のRFIDアンテナを使用する場合の問題が重大であることを示すものとする。
なお、アンテナ較正用情報147は、システム構築時に設定する場合と、システム運用前に設定する場合と、システム運用時に設定する場合がある。システム構築時に設定する場合は、ユーザ等が、RFIDアンテナの位置関係などから問題が発生しそうなRFIDアンテナの組み合わせを登録する。システム運用前やシステム運用時に設定する場合は、動作監視部113が、後述する動作により、較正用RFIDタグの読み取り状況などから問題のあるRFIDアンテナの組み合わせを検出して登録する。
次に、図6を参照し、アンテナ使用手順情報148の一例を説明する。
図6において、アンテナ使用手順148は、タイミング601、内容602等を有する。タイミング601、内容602等は互いに対応付けられている。タイミング601は、RFIDアンテナを使用する順番である。内容602は、RFIDアンテナ611、アプリケーション(図中では「AP」と示す。以下同じ)612等を含む。RFIDアンテナ611、アプリケーション612等は互いに対応付けられている。RFIDアンテナ611は、対応するタイミング601において使用するRFIDアンテナの識別情報等であり、例えば、RFIDアンテナの接続されているRFIDリーダ/ライタのポート番号等を示す情報である。アプリケーション612は、対応するRFIDアンテナ611に対し書き込み及び読み出しを行なうアプリケーションを示す。
ここで、アンテナ使用手順情報148は、内容602を1つ以上有する。各内容602は、対応するタイミング601において動作させるRFIDアンテナ等を示す。従って、アンテナ使用手順情報148は、1つのタイミングで複数のRFIDアンテナを動作させる場合、動作させるRFIDアンテナの数と同じ数の内容602を含む。例えば、図6に一例を示すアンテナ使用手順情報148の場合、タイミング601「1」で、RFIDアンテナ611「211」及び「231」の2つを同時に動作させることを示す。1つのタイミング601に対応する内容602の数は任意である。
なお、アンテナ使用手順情報148は、1つのアプリケーション、又は、複数のアプリケーションの実行により、複数のアンテナを同時に使用するパターンの数だけ有るものとする。例えば、上述のように、制御装置1が「アプリケーション1」及び「アプリケーション2」を実行可能であり、「アプリケーション1」のみを実行する場合、「アプリケーション2」のみを実行する場合、「アプリケーション1」及び「アプリケーション2」の両方を実行する場合という3つの動作パターンがある場合、これらの3つのパターンのためのアンテナ使用手順情報148があるものとする。ここでは、「アプリケーション1」及び「アプリケーション2」の両方を実行する場合のみを説明するので、上述のように、図6に一例を示すアンテナ使用手順情報148のアプリケーション612には2つのアプリケーションが含まれているが、これに限られるわけではなく、任意の数のアプリケーションが含まれる。
アンテナ使用手順情報148内の情報は、予め記憶装置14に格納されていてもよく、また、入力装置15又は通信インタフェース17を介して入力された情報により、新規格納、追加、削除等してもよい。ただし、記憶装置14に格納されているアンテナ使用手順情報148の内容は、後述する動作により更新等される。
次に、図1に示すシステムの動作例を説明する。
まず、図7を参照し、アンテナ使用手順情報148を作成する動作例を説明する。この動作は、任意のタイミングで起動される。起動されるタイミングとして、例えば、入力装置15又は通信インタフェース17からの指示が入力された場合、所定の時間毎、RFIDリーダ/ライタやRFIDアンテナの構成の変更を検知した場合、RFIDリーダ/ライタ構成情報145、アンテナ使用要求情報146、アンテナ較正用情報147等が変更された場合等がある。
使用手順作成部111は、実行するアプリケーションを取得する(S701)。このアプリケーションは、例えば、図7の動作の起動が入力装置15又は通信インタフェース17から入力された指示によるものである場合、その指示と共に入力されたものでもよく、また、図7の動作の起動が、所定の時間毎、RFIDリーダ/ライタやRFIDアンテナの構成の変更を検知した場合、RFIDリーダ/ライタ構成情報145、アンテナ使用要求情報146、アンテナ較正用情報147等が変更等された場合、入力装置15又は通信インタフェース17から入力されるもの、又は、記憶装置14から読み出した情報によるものでもよい。また、既にアンテナ使用手順情報148が記憶装置14に格納されている場合、そのアンテナ使用手順情報148からアプリケーション612を読み出すことにより、アプリケーションを取得しても良い。ここで取得されるアプリケーションの数は任意である。ここでは、使用手順作成部111は「アプリケーション1」及び「アプリケーション2」を取得するものとする。
次に、使用手順作成部111は、変数「n」の初期値を「n=1」とする(S702)。次に、使用手順作成部111は、S701で取得したアプリケーションで使用するRFIDアンテナを取得する(S703)。さらに、使用手順作成部111は、S703で取得したRFIDアンテナ、及び、S701で取得したアプリケーションを、アンテナ使用手順情報148の、タイミング601「n」に対応するRFIDアンテナ611及びアプリケーション612に格納する(S704)。そのために、例えば、使用手順作成部111は、記憶装置14から、S701で取得したアプリケーションと一致するアプリケーション401を有するアンテナ使用要求情報146を読み出し、読み出したアンテナ使用要求情報146から、回数413「連続」と対応付けられているRFIDアンテナ411を読み出す。使用手順作成部111は、アンテナ使用手順情報148の、タイミング601「n」に対応するRFIDアンテナ611に、S703で取得したアンテナの識別情報等を格納し、そのRFIDアンテナ611に対応するアプリケーション612に、読み出したアンテナ使用要求情報146のアプリケーション401を格納する。S701で取得したアプリケーションが複数である場合、使用手順作成部111は、各々のアプリケーションに対し、上述の処理を行なう。このとき、アンテナ使用手順情報148に、重複するRFIDアンテナ611が既に格納されている場合、使用手順作成部111は、重複するRFIDアンテナ611に対応するアプリケーション612に、異なるアプリケーションを格納する。
例えば、上述のように、「n=1」であり、S701の処理で「アプリケーション1」及び「アプリケーション2」を取得した場合の具体例を説明する。使用手順作成部111は、記憶装置14から、アプリケーション401「アプリケーション1」を有する、図4(a)に一例を示すアンテナ使用要求情報146aを読み出し、そのアンテナ使用要求情報146aから、回数413「連続」と対応付けられているRFIDアンテナ411「211」、「212」を読み出す。使用手順作成部111は、タイミング601「1」に対応するRFIDアンテナ611に、読み出した「211」、「212」を格納する。さらに、使用手順作成部111は、このRFIDアンテナ611に対応するアプリケーション612の各々に、「アプリケーション1」を格納する。次に、使用手順作成部111は、記憶装置14から、アプリケーション401「アプリケーション2」を有する、図4(b)に一例を示すアンテナ使用要求情報146bを読み出し、そのアンテナ使用要求情報146bから、回数413「連続」と対応付けられているRFIDアンテナ411「211」、「221」、「231」を読み出す。ここで、読み出したRFIDアンテナ411のうち、「211」は、既にタイミング601「1」に対応するRFIDアンテナ611に格納されているので、使用手順作成部111は、そのRFIDアンテナ611「211」に対応するアプリケーション612に、今回のアプリケーションを示す情報「アプリケーション2」を格納する。また、使用手順作成部111は、重複しないRFIDアンテナ411「211」、「212」を、タイミング601「1」に対応するRFIDアンテナ611に格納し、さらに、このRFIDアンテナ611に対応するアプリケーション612の各々に、「アプリケーション2」を格納する。
次に、使用手順作成部111は、タイミング「n」のRFIDアンテナの数が「0」であるか否か判定する(S705)。そのために、使用手順作成部111は、記憶装置14からアンテナ使用手順情報148を読み出し、タイミング601「n」と対応付けられたRFIDアンテナ411が含まれているか否か判定する。
S705の判定の結果、タイミング「n」のRFIDアンテナの数が「0」である場合、使用手順作成部111は、アンテナ使用手順情報148を作成する動作を終了する。
S705の判定の結果、タイミング「n」のRFIDアンテナの数が「0」でない場合、使用手順作成部111は、アンテナ使用手順情報148から、タイミング601「n」と対応付けられたRFIDアンテナを降順等により1つ選択する(S706)。次に、使用手順作成部111は、RFIDリーダ/ライタ構成情報145及びアンテナ較正用情報147から、S706で選択したRFIDアンテナと同時使用に問題のあるRFIDアンテナを取得する(S707)。そのために、使用手順作成部111は、RFIDリーダ/ライタ構成情報145から、S706で選択したRFIDアンテナを含むRFIDアンテナ302を読み出し、読み出したRFIDアンテナ302のうち、S706で選択したRFIDアンテナ以外のものが、タイミング601「n」と対応付けられたRFIDアンテナ411に含まれているか否か判定する。さらに、使用手順作成部111は、アンテナ較正用情報147から、S706で選択したRFIDアンテナを含む組合せ501を読み出し、読み出した組合せ501に含まれるRFIDアンテナのうち、S706で選択したRFIDアンテナ以外のものが、タイミング601「n」と対応付けられたRFIDアンテナ411に含まれているか否か判定する。なお、使用手順作成部111は、このアンテナ較正用情報147による判定の代わりに、アンテナ較正用情報147から、重大度502が所定値以上であり、かつ、その重大度に対応付けられた組合せ501が、S706で選択したRFIDアンテナを含むものを読み出し、読み出した組合せ501に含まれるRFIDアンテナのうち、S706で選択したRFIDアンテナ以外のものが、タイミング601「n」と対応付けられたRFIDアンテナ411に含まれているか否か判定してもよい。これらの判定により、該当するデータが含まれている場合、使用手順作成部111は、該当するRFIDアンテナが、S706で選択したRFIDアンテナと同時使用に問題のあるRFIDアンテナであると判定し、そのRFIDアンテナをメモリ12の所定領域等に格納する。
例えば、「n=1」であり、上述のS704の動作例で、アンテナ使用手順情報148のタイミング601「1」に対応付けられたアンテナ611に、「211」、「212」、「221」、「231」を格納し、S706でRFIDアンテナ「211」を選択した場合の例を具体的に説明する。使用手順作成部111は、図3に一例を示すRFIDリーダ/ライタ構成情報145から、RFIDアンテナ「211」を含むRFIDアンテナ302「211」、「212」を読み出し、読み出したRFIDアンテナ302のうち、S706で選択したRFIDアンテナ「211」以外のRFIDアンテナ302「212」を抽出する。抽出したRFIDアンテナ302「212」は、アンテナ使用手順情報148のタイミング601「1」に対応付けられたアンテナ611に含まれているので、使用手順作成部111は、S706で選択したRFIDアンテナ「211」と同時使用に問題があるRFIDアンテナが「212」であると判定し、メモリ12の所定領域等に格納する。
また、使用手順作成部111は、図5に一例を示すアンテナ較正用情報147から、RFIDアンテナ「211」を含む組合せ501「211」及び「221」と、組合せ501「211」、「212」及び「231」を読み出す。使用手順作成部111は、読み出した組合せ501内のRFIDアンテナのうち、S706で選択したRFIDアンテナ「211」以外のRFIDアンテナ「212」、「221」、「231」を抽出する。抽出したRFIDアンテナ「212」、「221」、「231」は、アンテナ使用手順情報148のタイミング601「1」に対応付けられたアンテナ611に含まれているので、使用手順作成部111は、S706で選択したRFIDアンテナ「211」と同時使用に問題があるRFIDアンテナが「212」、「221」、「231」であると判定し、メモリ12の所定領域等に格納する。
また、使用手順作成部111は、上述のアンテナ較正用情報147による判定の代わりに、図5に一例を示すアンテナ較正用情報147から、「3」以上の重大度502と対応付けられており、かつ、S706で選択したRFIDアンテナ「211」を含む組合せ501のみを読み出しても良い。図5に一例を示すアンテナ較正用情報147の場合、「3」以上の重大度502と対応付けられており、かつ、S706で選択したRFIDアンテナ「211」を含む組合せ501は、「211」及び「221」である。この場合、使用手順作成部111は、読み出した組合せ501内のRFIDアンテナのうち、S706で選択したRFIDアンテナ「211」以外のRFIDアンテナ「221」を抽出する。抽出したRFIDアンテナ「221」は、アンテナ使用手順情報148のタイミング601「1」に対応付けられたアンテナ611に含まれているので、使用手順作成部111は、S706でRFIDアンテナ「211」と同時使用に問題があるRFIDアンテナが「221」であると判定し、メモリ12の所定領域等に格納する。
使用手順作成部111は、S707で取得した、S706で選択したRFIDアンテナと同時使用に問題のあるRFIDアンテナの数が「0」であるか否か判定する(S708)。
S708の判定の結果、S706で選択したRFIDアンテナと同時使用に問題のあるRFIDアンテナの数が「0」である場合、使用手順作成部111は、アンテナ使用手順情報148を作成する処理を終了する。
S708の判定の結果、S706で選択したRFIDアンテナと同時使用に問題のあるRFIDアンテナの数が「0」でない場合、使用手順作成部111は、アンテナ使用手順情報148の、タイミング601「n」と対応付けられたRFIDアンテナ611のうちS707で取得したRFIDアンテナを、タイミング601「n+1」と対応付けられたRFIDアンテナ611に移動する。さらに、使用手順作成部111は、このRFIDアンテナ611の移動に伴い、そのRFIDアンテナ611に対応付けられたアプリケーション612のデータも、「n+1」と対応付けられたアプリケーション612に移動する(S709)。
例えば、「n=1」であり、上述のS704の動作例で、アンテナ使用手順情報148のタイミング601「1」に対応付けられたアンテナ611に、「211」、「212」、「221」、「231」を格納し、アンテナ611「211」、「212」に対応するアプリケーション612に「アプリケーション1」を格納し、アンテナ611「211」、「221」、「231」に対応するアプリケーション612に「アプリケーション2」を格納し、S707でRFIDアンテナ「212」、「221」を取得した場合の例を具体的に説明する。使用手順作成部111は、アンテナ使用手順情報148のタイミング601「1」に対応付けられたアンテナ611「211」、「212」、「221」、「231」のうち、S707で取得したRFIDアンテナ「212」、「221」を削除し、さらに、RFIDアンテナ611「212」、「221」と対応付けられたアプリケーション612「アプリケーション1」、「アプリケーション2」を削除する。これにより、タイミング601「1」に対応付けられたアンテナ611は「211」、「231」となり、アンテナ611「211」に対応付けられたアプリケーション612は「アプリケーション1」及び「アプリケーション2」、アンテナ611「231」に対応付けられたアプリケーション612は「アプリケーション2」となる。
また、使用手順作成部111は、「n+1」であるタイミング601「2」に対応付けられたアンテナ611に、S707で取得したRFIDアンテナ「212」、「221」を格納する。使用手順作成部111は、RFIDアンテナ611「212」に対応するアプリケーション612に「アプリケーション1」RFIDアンテナ611「221」に対応するアプリケーション612に「アプリケーション2」を格納する。
なお、上述のS708の結果、S706で選択したRFIDアンテナと同時使用に問題のあるRFIDアンテナの数が「0」である場合、及び、上述のS709の処理の後に、タイミング「n」に、上述のS706の処理で未選択のRFIDアンテナが含まれているか否か判定してもよい。この判定の結果、未選択のRFIDアンテナが含まれている場合、上述のS706の処理を再度行い、タイミング「n」のRFIDアンテナのうち未選択のものを1つ選択し、以後の処理を上述と同様に行なってもよい。また、この判定の結果、未選択のRFIDアンテナが含まれていない場合、上述と同様に処理を終了する、又は、後述するS710の処理をおこなってもよい。
次に、使用手順作成部111は「n=n+1」とし(S710)、新たなタイミング「n」に対し、S705の処理を再度行なう。
制御装置1は、上述のように動作することで、図3〜5に一例を示すRFIDリーダ/ライタ構成情報145、アンテナ使用要求情報146、アンテナ較正用情報147から、図6に一例を示すアンテナ使用手順情報148を作成する。
なお、上述の動作例では、使用手順作成部111は、アンテナ使用手順情報148を1つ作成してすぐに終了したが、これに限られるわけではなく、複数のアンテナ使用手順情報148を作成し、その中から一番短い時間で全てのRFIDタグ5に対し書き込み及び読取り可能なものを取得してもよい。そのために、例えば、使用手順作成部111は、上述のS706の処理で選択するRFIDアンテナの順番等を変更して、上述の動作を行ない、作成された複数のアンテナ使用手順情報148のうち、タイミング601の最大値が最も小さいものを、一番短い時間で全てのRFIDタグ5に対し書き込み及び読取り可能であると判定するとよい。
次に、アプリケーションを起動し、RFIDタグ5に対し書き込み及び読み出しを行なう場合の動作例を、図8、図9を参照して説明する。図8は、実行指示部112の動作例であり、図9は、動作監視部113の動作例である。本実施形態では、起動されたアプリケーションでRFIDタグ5に対し書き込み及び読取りを行なう場合、実行指示部112の動作と、動作監視部113の動作とが同時に起動されるものとするが、これに限られるわけではなく、実行指示部112と動作監視部113とは、別々のタイミングで起動されてもよい。動作監視部113は、例えば、アンテナ使用手順情報148が更新等されたとき、制御装置1が起動等されたとき、所定時間毎等、任意のタイミングで起動してもよい。
なお、以下で説明する動作例は、「アプリケーション1」、「アプリケーション2」が同時に実行されている場合の例を説明する。「アプリケーション1」、「アプリケーション2」のうち片方又は両方、或いは、「アプリケーション1」及び「アプリケーション2」を連動して動作させる図示しない他のプログラム等が、実行指示部112及び動作監視部113を起動させる。
図8において、実行指示部112は、初期値を「n=1」、「MAX=タイミングの最大値」と設定する(S801)。ここで、「タイミングの最大値」とは、RFIDタグ5に対し行なう書き込み及び読取りのタイミングの最大値である。この「タイミングの最大値」を取得するために、使用手順作成部111は、記憶装置14から、起動しているアプリケーションをアプリケーション612に含むアンテナ使用手順情報148を読み出し、読み出したアンテナ使用手順情報148から、タイミング601のうち最も大きな値を読み出し、この値を「MAX」とする。具体的には、例えば、起動しているアプリケーションが「アプリケーション1」及び「アプリケーション2」である場合、実行指示部112は、図6に一例を示すアンテナ使用手順情報148から、タイミング601の最大値「2」を読み出し、「MAX=2」とする。
次に、実行指示部112は、アプリケーション等から停止が要求されているか否か判定する(S802)。この判定は、例えば、実行指示部112が、メモリ12の所定領域内の、実行しているアプリケーションプログラム141により変更される停止要求を示すフラグ等を読み出すことにより判定する。
S802の判定の結果、停止が要求されている場合、実行指示部112は、RFIDタグ5に対し書き込み及び読取りを行なう処理を終了する。なお、ここで、実行指示部112は、複数のアプリケーションが実行されている場合、一部のアプリケーションから停止が要求されている場合に処理を終了してもよく、また、全てのアプリケーションから停止が要求される場合に終了するようにしても良い。
S802の判定の結果、停止が要求されていない場合、実行指示部112は、アンテナ使用手順情報148から、タイミング「n」で使用するRFIDアンテナ、及び、その各RFIDアンテナに実行させる動作を取得する(S803)。そのために、例えば、実行指示部112は、上述の処理で読み出した、起動しているアプリケーションをアプリケーション612に含むアンテナ使用手順情報148から、タイミング601「n」と対応付けられているRFIDアンテナ611及びアプリケーション612を読み出す。次に、実行指示部112は、記憶装置14から、読み出したアプリケーション612と一致するアプリケーション401を含むアンテナ使用要求情報146を読み出し、読み出したアンテナ使用要求情報146から、読み出したRFIDアンテナ611と一致するRFIDアンテナ411と対応付けられており、かつ、回数413「連続」と対応付けられている動作412を読み出す。実行指示部112は、読み出したアプリケーション612、RFIDアンテナ、動作の組み合わせを、メモリ12の所定領域に格納する。
具体的には、例えば、「n=1」である場合、実行指示部112は、図6に一例を示すアンテナ使用手順情報148から、タイミング601「1」と対応付けられているRFIDアンテナ611「211」、「231」、及び、アプリケーション612「アプリケーション1」、「アプリケーション2」を読み出す。次に、実行指示部112は、図4(a)に一例を示すアンテナ使用要求情報146から、RFIDアンテナ411「211」、及び、回数413「連続」に対応付けられている動作412「読取り」を読み出す。同様に、実行指示部112は、図4(b)に一例を示すアンテナ使用要求情報146から、RFIDアンテナ411「231」、及び、回数413「連続」に対応付けられている動作412「読取り」を読み出す。
次に、実行指示部112は、S803で取得したRFIDアンテナに読取りを指示する(S804)。そのために、例えば、実行指示部112は、S803で取得したRFIDアンテナのうち1つを選択し、RFIDリーダ/ライタ構成情報145から、選択したRFIDアンテナと一致するアンテナ302と対応付けられたRFIDリーダ/ライタ301を読み出し、上記で格納したアプリケーション、RFIDアンテナ、動作等と共に、メモリ12の所定領域に格納する。実行指示部112は、S803で取得したRFIDアンテナと一致するアンテナ411を含むアンテナ使用要求情報146が複数ある場合、各アンテナ使用要求情報146に対し上述の処理を行なう。次に、実行指示部112は、メモリ12の所定領域から、アプリケーション、RFIDリーダ/ライタ、RFIDアンテナ、動作等の組合せを読み出し、読み出したRFIDリーダ/ライタに対し、読み出したRFIDアンテナを用いた読取りの指示を、接続インタフェース13を介して出力する。
メモリ12の所定領域に、アプリケーション、RFIDリーダ/ライタ、RFIDアンテナ、動作等の組合せが複数ある場合、実行指示部112は、各RFIDリーダ/ライタに対し同様の処理を行なう。
具体的には、S803でRFIDアンテナ「211」、「231」、動作「読取り」、アプリケーション「アプリケーション1」、「アプリケーション2」等を取得した場合の例を説明する。まず、実行指示部112は、RFIDアンテナ「211」を選択する。次に、実行指示部112は、図3に一例を示すRFIDリーダ/ライタ構成情報145から、RFIDアンテナ302「211」と対応付けられているRFIDリーダ/ライタ301「21」を読み出す。実行指示部112は、読み出したRFIDリーダ/ライタ「21」等を、既に格納されているRFIDアンテナ「211」、「231」、動作「読取り」、アプリケーション「アプリケーション1」、「アプリケーション2」等と共に、メモリ12の所定領域に格納する。次に、実行指示部112は、S803で取得したRFIDアンテナのうち未選択の「231」を選択し、上述と同様の処理を行なう。この場合、実行指示部112は、RFIDリーダ/ライタ「23」等を読み出し、RFIDアンテナ「211」、「231」、動作「読取り」、アプリケーション「アプリケーション1」、「アプリケーション2」等と共にメモリ12の所定領域に格納する。次に、実行指示部112は、RFIDリーダ/ライタ「21」に対し、RFIDアンテナ「211」での「読取り」指示を出力する。具体的には、例えば、実行指示部112は、接続インタフェース13のポート番号「21」に接続されたRFIDリーダ/ライタに、ポート番号「211」に接続されたRFIDアンテナでの読取りを指示するコマンド等を出力する。また、実行指示部112は、RFIDリーダ/ライタ「23」に対し、RFIDアンテナ「231」での「読取り」指示を出力する。具体的には、例えば、実行指示部112は、接続インタフェース13のポート番号「22」に接続されたRFIDリーダ/ライタに、ポート番号「231」に接続されたRFIDアンテナでの読取りを指示するコマンド等を出力する。
上述の処理で読み取りを指示されたRFIDリーダ/ライタは、その指示に従い、上述の信号切り替え器により切換えることにより、指定されたRFIDアンテナで読取り動作を行なう。この読取りの処理は従来技術と同じであるので省略する。各RFIDリーダ/ライタが読取りを行なう回数は任意であり、1回のみでもよいが、ここでは、複数回読取りを行なうものとして説明する。この読取り回数は、制御装置1が、上述の読取り指示の時に読取り回数もあわせて指示してもよく、RFIDリーダ/ライタの有する記憶装置(図示略)内に予め格納されていてもよい。また、読取り回数を制御装置1が指示する場合、アプリケーション、RFIDアンテナ、動作、RFIDリーダ/ライタ、較正用RFIDタグ等に応じて、読取り回数を変更してもよい。ここでは、予め「5回」読み取ることが定められているものとする。
RFIDリーダ/ライタは、指定されたRFIDアンテナを用いて読取りを行なうと、その読取りにより取得したデータを、制御装置1に出力する。上述のように、各RFIDアンテナの通信範囲には、RFIDタグ5と、較正用RFIDタグとがある。従って、このRFIDリーダ/ライタの読取りにより読み取られるデータは、RFIDタグ5から読み出したタグID等のデータと、較正用RFIDタグから読み出したタグIDとがある。RFIDリーダ/ライタは、読み取ったRFIDタグ5内の保持する情報等と、較正用RFIDタグ内のタグIDとを制御装置1に出力する。
制御装置1の実行指示部112は、S804で指示した読取り結果を取得する(S805)。この結果は、接続インタフェース13を介して入力された情報である。
ここで、制御装置1の実行指示部112は、後述するS806以降の処理を、上述のS804の処理を行なってから所定時間後に行なってもよく、また、上述のS803で取得した全てのRFIDアンテナの使用終了の同期をとり、同時使用のRFIDアンテナのうち全ての処理が終了してから行なっても良い。
後述するS806以降の処理を、上述のS804の処理を行なってから所定時間後に行なう場合、実行指示部112は、S804で指示してからの経過時間を内部時計(図示略)等により取得し、経過時間が、記憶装置14等から読み出した所定値以上となる場合、後述するS806以降の処理を行なうとよい。この所定値は、上述のS804の処理で指示したアプリケーション、RFIDアンテナ、動作、RFIDリーダ/ライタ等に応じて異なるものであってもよい。
また、上述のS803で取得した全てのRFIDアンテナの使用終了の同期をとる場合、予め、各タイミング及び各内容でかかる所要時間を定めておき、同じタイミングで実行する処理のうち最大値の所要時間が経過するまで待ってもよく、また、同じタイミングで実行する読取り結果の全てが制御装置1に入力されるまで待っても良い。
予め、各タイミング及び各内容でかかる所要時間を定めておく場合、その所要時間は、例えば、アンテナ使用要求情報146の、各RFIDアンテナ411、動作412、回数413等に対応付けて予め格納されており、上述のアンテナ使用手順情報148を作成する動作で、動作412等を取得する動作と共にこの所要時間を取得し、タイミング601毎に、RFIDアンテナ611、アプリケーション612等と共に対応付けて格納しておくとよい。実行指示部112は、上述のS803等の処理で、RFIDアンテナ等を取得すると共に、タイミング601「n」と対応付けられた所要時間のうち最大値を取得し、続くS804の処理を行なってから、取得した所要時間の最大値が経過するまで待機し、取得した所要時間の最大値が経過後に、後述するS806以降の処理を行なう。
また、同じタイミングで実行する処理結果の全てが制御装置1に入力されるまで待つ場合、実行指示部112は、接続インタフェース13を介して入力される書き込み結果、及び、読取りデータを、S804で処理を指示した全てのRFIDリーダ/ライタから入力された場合、後述するS806以降の処理を行なう。
これにより、例えば、RFIDアンテナ211での読み取りに1000ミリ秒、RFIDアンテナ231での読み取りに800ミリ秒かかった場合、実行指示部112は、RFIDアンテナ231での読み取り終了後、即ち、RFIDアンテナ211での読み取りが終了するまでの200ミリ秒間、後述するS806以降の処理実行を待つという処理が入る。
実行指示部112は、入力された読取り結果を、関係するアプリケーションプログラム141及びアンテナ動作監視プログラム144に振り分ける(S806)。そのために、実行指示部112は、例えば、各RFIDリーダ/ライタから入力された読取りデータから、較正用RFIDタグから読み出したタグIDを抽出し、抽出したタグID、及び、「n」の値を、アンテナ動作監視プログラム144に振り分けるためのメモリ12の所定領域に格納する。較正用RFIDタグから読み出したタグIDを、RFIDタグ5の保持するタグIDと区別するために、実行指示部112は、例えば、読み出したタグIDのうち所定の一部を参照し、所定の一部が予め定められたデータと一致する場合、そのタグIDは較正用RFIDタグから読み出されたものと判定する。さらに、実行指示部112は、RFIDリーダ/ライタ毎の残りの処理結果をアプリケーションプログラム141に振り分ける。そのために、実行指示部112は、メモリ12の所定領域の、上述のS804の処理での指示に用いたアプリケーション、RFIDアンテナ、動作、RFIDリーダ/ライタ、較正用RFIDタグ等の情報を参照し、この情報に従い、RFIDリーダ/ライタ毎の残りの処理結果をアプリケーションプログラム141に振り分ける。ここで、実行指示部112は、S803で取得した動作が「書き込み」である場合、その動作と対応付けられているアプリケーションには、読み取ったデータを振り分けなくても良い。
例えば、「n=1」であり、かつ、アプリケーション「アプリケーション1」及び「アプリケーション2」、RFIDアンテナ「211」、RFIDリーダ/ライタ「21」の組合せと、アプリケーション「アプリケーション2」、RFIDアンテナ「231」、RFIDリーダ/ライタ「23」の組合せとが、メモリ12の所定領域に格納されている場合の具体例を説明する。この場合、実行指示部112は、RFIDアンテナ211から入力されたタグIDを含むデータのうち、較正用RFIDタグから読み出したタグIDを抽出して、「n=1」の値と共に、メモリ12の所定領域に格納する。さらに、実行指示部112は、残りのデータを、「アプリケーション1」のアプリケーションプログラム141、及び、「アプリケーション2」のアプリケーションプログラム141に渡すためのメモリ12の所定領域に格納する。また、実行指示部112は、RFIDアンテナ231から入力されたタグIDを含むデータのうち、較正用RFIDタグから読み出したタグIDを抽出し、残りのデータを、「アプリケーション2」のアプリケーションプログラム141に渡すためのメモリ12の所定領域に格納する。
次に、実行指示部112は、S803で取得した動作に「書き込み」が含まれているか否か判定する(S807)。そのために、実行指示部112は、メモリ12の所定領域に「書き込み」が含まれているか否か判定する。
S807の判定の結果、S803で取得した動作に「書き込み」が含まれている場合、実行指示部112は、書き込みを行なうべきRFIDアンテナに書き込みを指示する(S808)。そのために、例えば、実行指示部112は、メモリ12内の、上述のS803、S804の処理等で格納したアプリケーション、RFIDアンテナ、動作、RFIDリーダ/ライタ等の組み合わせのうち、動作「書き込み」である組み合わせを選択し、この組み合わせのRFIDリーダ/ライタに、この組み合わせのRFIDアンテナでの書き込み指示を出力する。このとき、実行指示部112は、メモリ12の所定領域から書き込むべきデータを読み出し、このデータも指示と共に出力する。
RFIDリーダ/ライタは、書き込み指示が入力されると、制御装置1から出力されたデータを、指定されたRFIDアンテナを用いてRFIDタグ5に書き込み、この書き込み結果を制御装置1に出力する。この動作は従来技術と同じであるので省略する。
次に、実行指示部112は、「n=MAX」であるか否か判定する(S809)。
S809の判定の結果、「n=MAX」でない場合、実行指示部112は、「n=n+1」とし(S810)、上述のS802の判定を再度行なう。
S809の判定の結果、「n=MAX」である場合、実行指示部112は、「n=1」とし(S811)、上述のS802の判定を再度行なう。
次に、図9を参照して、上述の図8に一例を示す動作例を同時に起動される動作監視プログラム144の処理例を説明する。
図9において、動作監視部113は、アプリケーションプログラム141等により、停止が要求されているか否か判定する(S901)。この動作例は上述のS802と同じであるので省略する。
S901の判定の結果、処理停止が要求されている場合、動作監視部113は、処理を終了する。
S901の判定の結果、処理停止が要求されていない場合、動作監視部113は、変数「n」の初期値を「n=0」とする(S902)。次に、動作監視部113は、動作監視部113の実行したタイミングと、上述のS806の動作により振り分けられた、較正用RFIDタグから読み取られたタグIDとを取得する(S903)。そのために、例えば、動作監視部113は、メモリ12の所定の領域から、S806の処理で実行指示部112により格納されたタグID、及び、タイミングを示す値等を読み出す。
次に、動作監視部113は、取得したタイミングの処理で読み取るべきタグIDを取得する(S904)。そのために、動作監視部113は、記憶装置14のアンテナ使用手順情報148から、S902で取得したタイミングを示す値と一致するタイミング601と対応付けられているRFIDアンテナ612を読み出す。次に、動作監視部113は、RFIDリーダ/ライタ構成情報145から、読み出したRFIDアンテナと一致するRFIDアンテナ302と対応付けられている較正用RFIDタグ303を読み出す。動作監視部113は、読み出した較正用RFIDタグ303を、取得したタイミングの処理で読み取るべきタグIDとする。
次に、動作監視部113は、S904で取得したタグIDのうち1つ選択する(S905)。動作監視部113は、S905で選択したタグIDが、S903で取得したタグIDに含まれているか否か判定する(S906)。なお、上述のように、ここでは、RFIDリーダ/ライタは、複数回読取りを行なうものである。動作監視部113は、S903で取得したタグIDに、S905で選択したタグIDと同じものが読取り回数と同じ数量無い場合、そのタグIDを保持する較正用RFIDタグが付与されているRFIDアンテナに問題が発生していると判定する。また、1つのRFIDアンテナに、複数の較正用RFIDタグが付与されている場合、動作監視部113は、全ての較正用RFIDタグが読取り回数分読み取られている場合に、それらのタグIDを保持する較正用RFIDタグが付与されているRFIDアンテナに問題が発生していると判定する。
S906の判定の結果、S905で選択したタグIDが、S903で取得したタグIDに含まれていない場合、動作監視部113は「n=n+1」を算出する(S907)。
S905で選択したタグIDが、S903で取得したタグIDに含まれている場合、又は、上述のS907の処理の後に、動作監視部113は、S904で取得したタグIDに、未選択のものがあるか否か判定する(S908)。
S908の判定の結果、S904で取得したタグIDに、未選択のものがある場合、動作監視部113は、S905の処理を再度行ない、未選択のタグIDから1つ選択する。
S908の判定の結果、S904で取得したタグIDに、未選択のものがない場合、動作監視部113は、「n≧2」であるか否か判定する(S909)。
S909の判定の結果、「n≧2」である場合、動作監視部113は、S903で取得したタイミングで処理を実行したRFIDアンテナの組合せに問題のある可能性があると判定し(S910)、その問題の重大度を取得する(S911)。重大度を定める動作は任意であるが、例えば、動作監視部113は、上述のS906の判定で含まれていないと判定されたタグIDが、S903の処理で取得したタグIDに含まれている数により定めても良い。そのために、動作監視部113は、例えば、上述のS906の判定で含まれていないと判定されたタグIDが、S903で取得したタグIDに含まれている数量をカウントする。例えば、1つのRFIDリーダ/ライタが較正用RFIDタグを1つ有しており、そのRFIDリーダ/ライタが5回読取りを行なう場合、S903で取得したタグIDに、上述のS906の判定で含まれていないと判定されたタグIDと同じものが2つ含まれている場合、動作監視部113は、その重大度を「3」とする。
動作監視部113は、アンテナ較正用情報147に、問題のあるRFIDアンテナの組み合わせ、及び、この問題の重大度を格納する(S912)。ここで、問題のあるRFIDアンテナの組み合わせとは、上述のS906の判定で含まれていないと判定されたタグIDを保持する較正用RFIDタグを付与されている、複数のRFIDアンテナである。このRFIDアンテナを取得するために、動作監視部113は、例えば、RFIDリーダ/ライタ構成情報145から、上述のS906の判定で含まれていないと判定されたタグIDと一致する較正用RFIDタグ303と対応付けられたRFIDアンテナ302を読み出す。動作監視部113は、この処理を、上述のS906の判定で含まれていないと判定されたタグID毎に行なう。動作監視部113は、問題のあるRFIDアンテナの組合せ、及び、S911で取得した重大度を、アンテナ較正用情報147の、組合せ501、重大度502として格納する。
S909の判定の結果、「n≧2」でない場合、動作監視部113は、「n=1」であるか否か判定する(S913)。
S913の判定の結果、「n=1」である場合、動作監視部113は、1つのRFIDアンテナ、及びそのRFIDアンテナを用いるRFIDリーダ/ライタ何れか又は両方に問題のある可能性があると判定する(S914)。ここで、問題のあるRFIDアンテナ、及び、RFIDリーダ/ライタとは、上述のS906の判定で含まれていないと判定されたタグIDを保持する較正用RFIDタグを付与されているRFIDアンテナと、そのRFIDアンテナを用いるRFIDリーダ/ライタである。このRFIDアンテナ及びRFIDリーダ/ライタを取得するために、動作監視部113は、例えば、RFIDリーダ/ライタ構成情報145から、上述のS906の判定で含まれていないと判定されたタグIDと一致する較正用RFIDタグ303と対応付けられたRFIDアンテナ302、及び、RFIDリーダ/ライタ301を読み出す。
S913の判定の結果、「n=1」でない場合、動作監視部113は、いかなる問題も発生していないと判定し、上述のS901の処理を再度行なう。
S912、S914の処理の後、動作監視部113は、問題が発生したことを出力装置15及び通信インタフェース17を介して出力する(S915)。ここで、RFIDアンテナの組み合わせにより問題の発生した可能性がある場合の、ディスプレイ等の出力装置16に出力した画面例を図10に示す。図10において、画面例1001は、上述のS906の判定で、S905で選択したタグIDがS903で取得したタグIDに含まれていないと判定されたタグIDを保持する較正用RFIDタグを付与されているRFIDアンテナと、そのRFIDアンテナを用いるRFIDリーダ/ライタ、及び、S911で取得した重大度を表示する例である。ここで、ユーザ等が、入力装置15又は通信インタフェース17を介して、使用手順の変更指示を入力すると、動作監視部113は、使用手順作成部111を起動させ、上述の図7に一例を示す動作を再度実行させる。
また、RFIDアンテナ、RFIDリーダ/ライタのうち何れか又は両方に問題の発生した可能性がある場合の、ディスプレイ等の出力装置16に出力した画面例を図11に示す。図11において、画面例1101は、上述のS906の判定で、S905で選択したタグIDがS903で取得したタグIDに含まれていないと判定されたタグIDを保持する較正用RFIDタグを付与されているRFIDアンテナと、そのRFIDアンテナを用いるRFIDリーダ/ライタ等を表示する例である。
なお、動作監視部113は、上述のS906の判定で、S905で選択したタグIDがS903で取得したタグIDに含まれていないと判定した場合、割り込みコマンドの発行等により、実行しているアプリケーションプログラム141、又は、実行指示部112等の動作を停止させてもよい。また、この停止は、S911の処理で取得する重要度が所定以上の場合に行なっても良い。
例えば、上述の図9に一例を示す動作で、RFIDアンテナ「212」及びアンテナ「221」の組み合わせで重大度「5」の問題が発生したと判定してアンテナ較正用情報147を更新し、この更新により、図5に一例を示すアンテナ較正用情報147が図12となった場合の具体例を説明する。図12に一例を示すアンテナ較正用情報147は、図5に一例を示すアンテナ較正用情報147と比較して、組み合わせ501「212」及び「221」、重大度502「5」が追加されている。この場合、実行指示部112は、ユーザからの指示、又は、動作監視部113による指示等により、図8に一例を示す動作を停止する。また、使用手順作成部111は、ユーザからの指示、又は、動作監視部113による指示等により、図7に一例を示す動作を実行する。アンテナ較正用情報147には、組み合わせ501「212」及び「221」、重大度502「5」が追加されているので、図6に一例を示すタイミング601「2」に対応付けられている内容602が変更される。使用手順作成部111が、図12に一例を示すアンテナ較正用情報147により新たに作成したアンテナ使用手順情報148の一例を、図13に示す。図13において、内容602内の「休み」は、対応するタイミング601において、RFIDアンテナを使用しないことを示す。例えば、図13の例では、タイミング「2」では、RFIDアンテナ「212」のみを使用し、タイミング「3」では、RFIDアンテナ「221」のみを使用することを示す。同じタイミングでのRFIDアンテナの使用、及び、休みの同期の取り方は、上述と同じである。このように、RFIDアンテナの使用の代わりに休みを入れることにより、タイミングの終了時点を同期する。なお、タイミングの先頭や途中に休みが入ることも可能である。実行指示部112は、再度起動されると、図13に一例を示すアンテナ使用手順情報148に従い、RFIDアンテナを制御する。
次に、接続監視部114の動作例を、図14を参照して説明する。
上述のS913の判定の結果、「n=1」であり、上述のS914の処理で、動作監視部113が、1つのRFIDアンテナ、及びそのRFIDアンテナを用いるRFIDリーダ/ライタ何れか又は両方に問題のある可能性があると判定した場合、動作監視部113は、接続監視部114を起動させる。起動された接続監視部114は、以下で説明する動作を行なう。なお、接続監視部114が起動されるタイミングはこれに限られるわけではなく、例えば、上述のS910の処理で、RFIDアンテナの組合せに問題のある可能性があると判定され、動作監視部113により起動を指示された場合や、制御装置1の起動時、所定時間毎等の任意のタイミングで起動し、以下の動作を行なっても良い。
図14において、接続監視部114は、接続を確認するRFIDアンテナを取得する(S1401)。動作監視部113により起動された場合、例えば、動作監視部113は、問題があると判定したRFIDアンテナ及びRFIDリーダ/ライタを示す情報を、メモリ12の所定領域に格納する。接続監視部114は、メモリ12の所定領域から、動作監視部113の格納したRFIDアンテナ及びRFIDリーダ/ライタを示す情報を読み出す。ここで、メモリ12の所定領域に、複数のRFIDアンテナ及びRFIDリーダ/ライタを示す情報の組み合わせがある場合、接続監視部114は、そのうち1つを選択する。また、制御装置1の起動時等任意のタイミングで起動した場合、例えば、接続監視部114は、RFIDリーダ/ライタ構成情報145から降順等により、1つのRFIDアンテナを選択する。
接続監視部114は、RFIDリーダ/ライタ構成情報145から、S1401で取得したRFIDアンテナにて読み出すべきタグIDを読み出す(S1402)。そのために、例えば、接続監視部114は、RFIDリーダ/ライタ構成情報145から、S1401で取得したRFIDアンテナと一致するRFIDアンテナ302と対応付けられた較正用RFIDタグ303を読み出す。
接続監視部114は、S1401で取得したRFIDアンテナに対し読取りを指示する(S1403)。そのために、接続監視部114は、例えば、上述の動作例で読み出したRFIDリーダ/ライタに対し、読み出したRFIDアンテナを用いた読取りの指示を、接続インタフェース13を介して出力する。
接続監視部114は、S1403で指示した読取り結果を取得する(S1404)。この結果は、接続インタフェース13を介して入力された情報である。
接続監視部114は、S1404で取得した読取り結果が、較正用RFIDタグから何らかのタグIDを読み取ったものであるか否か判定する(S1405)。そのために、接続監視部114は、S1404で取得した情報に、較正用RFIDタグを示す識別情報を含むタグIDが含まれているか否か判定する。
S1405の判定の結果、較正用RFIDタグの情報を読取り不可である場合、接続監視部114は、S1401で取得したRFIDアンテナ、そのRFIDに付与されている較正用RFID、そのRFIDアンテナが接続されているRFIDリーダ/ライタ等のうち少なくとも1つに故障や接続エラー等の問題が発生していると判定し(S1406)、後述するS1410の処理を行なう。
S1405の判定の結果、較正用RFIDタグの情報を読取り可能である場合、接続監視部114は、S1402で取得したタグIDと、S1404で取得したタグIDとが一致するか否か判定する(S1407)。
S1407の判定の結果、一致する場合、接続監視部114は、接続構成に問題無しと判定し(S1408)、後述するS1410の処理を行なう。
S1407の判定の結果、一致しない場合、接続監視部114は、接続構成に問題有りと判定し(S1409)、後述するS1410の処理を行なう。
なお、この動作が、上述の動作により動作監視部113により起動された場合、上述のS1402〜S1404の代わりに、上述のS903で取得したタグIDの読取り状況等により判定してもよい。この場合、接続監視部114は、上述のS903で取得したタグIDの個数と、上述のS904の処理で取得した読み取るべきタグIDの個数とが一致するか否か判定する。この判定の結果、一致しない場合、接続監視部114は、上述のS1406と同じ判定、即ち、RFIDアンテナ、そのRFIDに付与されている較正用RFID、そのRFIDアンテナが接続されるRFIDリーダ/ライタ等のうち少なくとも1つに故障等や接続エラー等の問題が発生していると判定する。また、この判定の結果、一致する場合、接続監視部114は、上述のS1409と同じ判定、即ち、接続構成に問題があると判定する。
接続監視部114は、上述のS1405、S1407の判定結果を、出力装置15及び通信インタフェース17を介して出力する(S1410)。上述のS1405の判定の結果、較正用RFIDタグの情報を読取り不可であると判定された場合に出力する画面の例は、上述の図11と同じである。また、S1407の判定の結果、一致しないと判定された場合の、ディスプレイ等の出力装置16に出力した画面例を図15に示す。図15において、画面例1501は、上述のS1401で取得したRFIDリーダ/ライタ、及び、RFIDアンテナとの組み合わせと、上述のS1401で取得したRFIDリーダ/ライタ、及び、上述のS1404で取得したタグIDを保持する較正用RFIDタグを有するRFIDアンテナを示す情報を表示する例である。ここで、ユーザ等が、入力装置15又は通信インタフェース17を介して、構成情報の変更指示を入力すると、接続監視部114は、RFIDリーダ/ライタ構成情報145の構成情報を変更してもよい。そのために、接続監視部114は、RFIDリーダ/ライタ構成情報145の、S1401で取得したRFIDアンテナと一致するRFIDアンテナ302と対応付けられた較正用RFIDタグ303に、上述のS1404で取得したタグIDを上書き等する。
なお、上述のS910の処理で、RFIDアンテナの組合せに問題のある可能性があると判定され、動作監視部113により起動を指示された場合、接続監視部114は、上述の処理を、動作監視部113により問題があると判定されたRFIDアンテナの組み合わせ全てに対し行なうとよい。また、制御装置1の起動時等任意のタイミングで起動した場合、接続監視部114は、上述の処理を、RFIDリーダ/ライタ構成情報145内の全てのRFIDアンテナに対し行なうとよい。これらの場合、上述のS1410の結果出力は、全てのRFIDアンテナに対し処理を行なった後に出力してもよく、また、一部のRFIDアンテナに対し処理を行なった後に出力しても良い。
従来技術のRFIDアンテナは、例えば、識別情報等を保持するような機能は無い。1つのRFIDリーダ/ライタに複数のRFIDアンテナが接続されている場合、従来技術のRFIDリーダ/ライタは、例えばポート番号等の接続インタフェースを指定することにより、読取り及び書き込みを行なうRFIDアンテナを指定している。従って、RFIDリーダ/ライタが、自身に正しいRFIDアンテナが接続されているか否かを判定することはできず、このような構成の確認は、管理者等が目視等により行なっていた。上述のように、接続監視部114が、較正用RFIDタグで保持している情報を、予め記憶している情報と比較することにより、RFIDアンテナが正しく接続されているか否かを判定することが容易となる。また、RFIDアンテナの構成が変更されたと判定できる場合には、構成情報を変更することが可能となる。
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、以上の説明では、実行指示部112が、使用手順作成部111により作成されたアンテナ使用手順148に従ってRFIDアンテナを使用した。この代わりに、RFIDアンテナリストからRFIDアンテナの貸し出し・返却という処理により、同様の機能を実現することができる。具体的には、例えば、RFIDアンテナの使用リストを記憶装置14に記憶しておく。この使用リストは、例えば、使用可能なRFIDアンテナ、又は、使用不可のRFIDアンテナ等を格納している。実行指示部112は、RFIDアンテナを使用するプログラムからのRFIDアンテナ要求を受け付けると、使用リストを参照し、他のプログラム等により使用中でないか判定し、さらに、RFIDリーダ/ライタ構成情報145及びアンテナ較正用情報147を参照し、現在貸し出されているRFIDアンテナと、要求されたRFIDアンテナとの同時使用に問題がない場合、要求されたRFIDアンテナの貸し出しをする。現在貸し出されているRFIDアンテナと、要求されたRFIDアンテナとの同時使用に問題があるか否か判定する動作例は上述と同じである。実行指示部112は、この条件が満たされない場合、貸し出しを拒否する。
また、上述の実施形態では、重大度は、タグIDを読み取れた回数により定まるとして説明したが、これに限られるわけではなく、例えば、書き込み及び読み取りを行なうアプリケーション、書き込み及び読み取りを行なうRFIDリーダ/ライタ、書き込み及び読み取りを行なうRFIDアンテナ毎等により値を定め、タグIDが読み取れなかった場合のアプリケーション、RFIDリーダ/ライタ、RFIDアンテナのうちいずれか1つ、又は、これらの組み合わせ等により重要度を定めても良い。
また、アンテナ使用要求情報146において、回数413「1回」である場合、上述のように、その回数413に対応する動作412を、アプリケーションプログラム141等が、必要に応じて指示する。使用手順作成部111は、この指示を受けた場合、上述と同様の動作を行い、回数413「1回」に対応する動作412をも含むアンテナ使用手順情報148を作成してもよい。その場合、使用手順作成部111は、S703の処理で、対応する回数413が「1回」であるRFIDアンテナ411をも含んで取得し、以後の動作を上述と同様に行なうとよい。
また、上述の実施形態では、較正用RFIDタグによる干渉確認のために、動作させる全てのRFIDアンテナにより読取りを行い、その後に、アンテナ使用要求情報146にて定める動作が「書き込み」である場合に、書き込み動作を行なうRFIDアンテナのみに書き込みを指示したが、これに限られるわけではない。較正用RFIDタグによる干渉確認のために、動作させる全てのRFIDアンテナにより読取りを行い、その後に、全てのRFIDアンテナの各々に対し、アンテナ使用要求情報146にて定める動作を指示してもよい。即ち、較正用RFIDタグによる干渉確認のために、RFIDアンテナによる読取りが行なえればよく、その読取りが、アプリケーションに要求されているものであるか否かは問わない。
1:制御装置、11:CPU、111:使用手順作成部、112:実行指示部、113:動作監視部、114:接続監視部、12:メモリ、13:接続インタフェース、14:記憶装置、15:入力装置、16:出力制御装置17:通信インタフェース17、21、22、23:RFIDリーダ/ライタ、211、212、221、222、231、232:RFIDアンテナ、216、217、226、227、236、237:較正用RFIDタグ、5:RFIDタグ