(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-11
(45)【発行日】2022-10-19
(54)【発明の名称】リーダライタ、リーダライタの制御方法、およびプログラム
(51)【国際特許分類】
G06F 3/08 20060101AFI20221012BHJP
G06K 7/10 20060101ALI20221012BHJP
【FI】
G06F3/08 E
G06K7/10 100
(21)【出願番号】P 2018204364
(22)【出願日】2018-10-30
【審査請求日】2020-12-15
【前置審査】
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100155712
【氏名又は名称】村上 尚
(72)【発明者】
【氏名】肥塚 八尋
【審査官】打出 義尚
(56)【参考文献】
【文献】特表2011-516933(JP,A)
【文献】米国特許出願公開第2006/0279412(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/08
G06K 7/10
(57)【特許請求の範囲】
【請求項1】
RFタグとの間で無線通信によりデータの読み出しおよび書き込みの少なくともいずれか一方を行うリーダライタであって、
所定の複数のRFタグを対象RFタグとして特定するRFタグ特定部と、
複数の前記対象RFタグがそれぞれ備えるメモリを統合して、1つの仮想メモリ空間として読み出しおよび書き込みの少なくともいずれか一方のメモリ処理を行うメモリ処理部と、を備え、
前記RFタグ特定部は、
前記対象RFタグの識別情報をインデックスとして管理することによって、前記仮想メモリ空間における、前記それぞれの前記対象RFタグが備えるメモリのアドレスを設定し、
外部の上位機器から前記対象RFタグの数を示す個数情報を受信し、前記個数情報と、通信可能領域内に存在する通信可能RFタグの数とが一致した場合に、該通信可能RFタグを前記対象RFタグとして特定するリーダライタ。
【請求項2】
前記RFタグ特定部は、通信可能領域内に存在する通信可能RFタグの総メモリ容量を算出し、前記メモリ処理に必要とされるデータ量が前記総メモリ容量以下である場合に、該通信可能RFタグを前記対象RFタグとして特定する請求項1に記載のリーダライタ。
【請求項3】
前記RFタグ特定部は、通信可能領域内に存在する通信可能RFタグのうち、複数の前記対象RFタグの識別情報が記録されている通信可能RFタグから該識別情報を読み出し、読み出した識別情報に対応する通信可能RFタグを前記対象RFタグとして特定する請求項
1に記載のリーダライタ。
【請求項4】
所定の複数のRFタグを対象RFタグとして特定する第1ステップと、
複数の前記対象RFタグがそれぞれ備えるメモリを統合して、1つの仮想メモリ空間として読み出しおよび書き込みの少なくともいずれか一方のメモリ処理を行う第2ステップと、を含み、
前記第1ステップは、
前記対象RFタグの識別情報をインデックスとして管理することによって、前記仮想メモリ空間における、前記それぞれの前記対象RFタグが備えるメモリのアドレスを設定し、
外部の上位機器から前記対象RFタグの数を示す個数情報を受信し、前記個数情報と、通信可能領域内に存在する通信可能RFタグの数とが一致した場合に、該通信可能RFタグを前記対象RFタグとして特定するリーダライタの制御方法。
【請求項5】
請求項1から3までのいずれか1項に記載のリーダライタを動作させるプログラムであって、コンピュータを前記RFタグ特定部、および前記メモリ処理部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、RFタグとの間でデータの読み出しおよび書き込みの少なくともいずれかを行うリーダライタ、リーダライタの制御方法、およびプログラムに関する。
【背景技術】
【0002】
従来、製造現場や物流現場で固体管理のために、個体に取り付けたRFタグからデータを読み書きし、プログラマブルコントローラ(Programmable Logic Controller、以下「PLC」と略記)等の産業用制御装置との間でデータ交換を行うリーダライタが知られている。
【0003】
これらのリーダライタでは、RFタグとの間の通信は、無線通信を介して行うのが一般的であり、無線通信の信頼性を高めるために、RFタグからのデータに、CRC(Cyclic Redundancy Code)を付加することで、異常検知を行う技術がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第3007926号(1999年12月3日登録)
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで近年、生産現場において、個体管理のために用いる情報の容量が増加している。しかしながら、一般的な既製品のRFタグのメモリ容量は小さく、RFタグのメモリ容量が、必要なデータ容量に対して不足するという問題がある。一方で、メモリ容量の大きいRFタグは単価が高く、コストの増大を招くという問題がある。
【0006】
本発明の一態様は、コストの増大を抑制して、RFタグによって管理できる情報の容量を増大させることができる技術を実現することを目的とする。
【課題を解決するための手段】
【0007】
前記の課題を解決するために、本発明の一態様に係るリーダライタは、RFタグとの間で無線通信によりデータの読み出しおよび書き込みの少なくともいずれか一方を行うリーダライタであって、所定の複数のRFタグを対象RFタグとして特定するRFタグ特定部と、複数の前記対象RFタグがそれぞれ備えるメモリを統合して、1つの仮想メモリ空間として読み出しおよび書き込みの少なくともいずれか一方のメモリ処理を行うメモリ処理部と、を備える構成である。
【0008】
前記の構成によれば、複数の対象RFタグがそれぞれ備えるメモリを統合して、1つの仮想メモリ空間として読み出しおよび書き込みの少なくともいずれか一方のメモリ処理を行うことができる。これにより、メモリ容量の小さい一般的な既製品のRFタグを複数用いることで、1つのRFタグのメモリには記憶しきれない容量の必要な情報を、1つの仮想メモリ空間に記憶させて用いることができる。よって、RFタグのコストの増大を抑制して、RFタグによって管理できる情報の容量を増大させることができる。
【0009】
また、本発明の一態様に係るリーダライタは、前記RFタグ特定部は、前記対象RFタグの識別情報をインデックスとして管理することによって、前記仮想メモリ空間における、前記それぞれの前記対象RFタグが備えるメモリのアドレスを設定してもよい。
【0010】
前記の構成によれば、複数の対象RFタグがそれぞれ備えるメモリとの間でのデータの読み出しおよび書き込みの少なくともいずれか一方を行う際に、複数の対象RFタグを検出した際の読み出す順番を、インデックスとして管理している識別番号に応じた順番と予め決めておくことができる。これにより、別途複数の対象RFタグを読み出すまたは複数の対象RFタグに書き込む順番に関する情報を記録しておく、などの処理が不要となる。よって、データ統合を効率良く行うことができる。このため、複数の対象RFタグのメモリを1つの仮想メモリ空間として用いても、データ処理を効率化し、データ容量を増大させることができる。
【0011】
また、本発明の一態様に係るリーダライタは、前記RFタグ特定部は、外部の上位機器から前記対象RFタグの数を示す個数情報を受信し、前記個数情報と、通信可能領域内に存在する通信可能RFタグの数とが一致した場合に、該通信可能RFタグを前記対象RFタグとして特定してもよい。
【0012】
前記の構成によれば、リーダライタは、上位機器からの指令に応じた数の通信可能RFタグを、対象RFタグとして適切に特定することができる。
【0013】
また、本発明の一態様に係るリーダライタは、前記RFタグ特定部は、通信可能領域内に存在する通信可能RFタグの総メモリ容量を算出し、前記メモリ処理に必要とされるデータ量が前記総メモリ容量以下である場合に、該通信可能RFタグを前記対象RFタグとして特定してもよい。
【0014】
前記の構成によれば、リーダライタは、複数の対象RFタグの総メモリ容量が、メモリ処理に必要な容量に達していることを確認してから、データの読み出しおよび書き込みの少なくともいずれか一方を行うことができる。これにより、複数の対象RFタグのメモリを1つの仮想メモリ空間として用いる場合に、データの読み出しまたは書き込みに必要な容量が、メモリ処理の途中に足りなくなり異常終了することがない。よって、リーダライタは、効率よく、データの読み出しおよび書き込みの少なくともいずれか一方の処理を、複数の対象RFタグに対して行うことができる。
【0015】
また、本発明の一態様に係るリーダライタは、前記RFタグ特定部は、通信可能領域内に存在する通信可能RFタグのうち、複数の前記対象RFタグの識別情報が記録されている通信可能RFタグから該識別情報を読み出し、読み出した識別情報に対応する通信可能RFタグを前記対象RFタグとして特定してもよい。
【0016】
前記の構成によれば、通信可能RFタグから読み出した識別情報を参照することで、複数の対象RFタグを識別することができ、対象RFタグの特定を効率よく行うことができる。
【0017】
また、本発明の一態様に係るリーダライタは、前記メモリ処理部は、前記メモリ処理を行う時点で、通信可能領域内に全ての前記対象RFタグが存在する場合には、全ての前記対象RFタグに対して順次メモリ処理を行う一方、前記メモリ処理を行う時点で、前記通信可能領域内に全ての前記対象RFタグが存在しない場合には、前記通信可能領域内に存在する前記対象RFタグに対して順次メモリ処理を行うとともに、残りの前記対象RFタグが前記通信可能領域内に入ってきた時点で、順次メモリ処理を行ってもよい。
【0018】
前記の構成によれば、複数の対象RFタグの特定可能領域を、通信可能領域外に広げることができ、通信可能領域内に入りきらない複数のRFタグのメモリも、1つの仮想メモリ空間として用いて、データの読み出しおよび書き込みの少なくともいずれか一方を行うことができる。
【0019】
また、前記の課題を解決するために、本発明の一態様に係るリーダライタの制御方法は、所定の複数のRFタグを対象RFタグとして特定するステップと、複数の前記対象RFタグがそれぞれ備えるメモリを統合して、1つの仮想メモリ空間として読み出しおよび書き込みの少なくともいずれか一方のメモリ処理を行うステップと、を含む方法である。
【0020】
前記の方法によれば、複数の対象RFタグがそれぞれ備えるメモリを統合して、1つの仮想メモリ空間として読み出しおよび書き込みの少なくともいずれか一方のメモリ処理を行うことができる。これにより、メモリ容量の小さい一般的な既製品のRFタグを複数用いることで、1つのRFタグのメモリには記憶しきれない容量の必要な情報を、1つの仮想メモリ空間に記憶させて用いることができる。よって、RFタグのコストの増大を抑制して、RFタグによって管理できる情報の容量を増大させることができる。
【0021】
また、前記の課題を解決するために、本発明の一態様に係るプログラムは、前記リーダライタを動作させるプログラムであって、コンピュータを前記RFタグ特定部、および前記メモリ処理部として機能させるプログラムである。
【0022】
前記の構成によれば、RFタグのコストの増大を抑制して、RFタグによって管理できる情報の容量を増大させることができる。
【発明の効果】
【0023】
本発明の一態様によれば、コストの増大を抑制して、RFタグによって管理できる情報の容量を増大させることができる。
【図面の簡単な説明】
【0024】
【
図1】実施形態に係るリーダライタの要部構成を示すブロック図である。
【
図2】リーダライタを用いたシステム環境を模式的に示す図である。
【
図3】(a)および(b)はリーダライタを用いたシステムの構成を示すブロック図である。
【
図4】リーダライタと、RFタグとの間のデータの流れの一例を示す図である。
【
図5】リーダライタの読み出し処理の流れの具体例1を示すフローチャートである。
【
図6】リーダライタの読み出し処理の流れの具体例2を示すフローチャートである。
【
図7】PLCと、リーダライタと、RFタグとの間のデータの流れの一例を示す図である。
【
図8】リーダライタの読み出し処理の流れの応用例を示すフローチャートである。
【発明を実施するための形態】
【0025】
以下、本発明の一側面に係る実施形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。
【0026】
§1 適用例
まず、
図1、及び
図2を用いて、本発明が適用される場面の一例について説明する。
図1は、本実施形態に係るリーダライタ10の要部構成を示すブロック図である。
図2は、本実施形態に係るリーダライタ10が用いられるシステム環境を模式的に示す図である。
【0027】
図2に示すように、例えば生産現場において、部品や製品などの物品の個体管理のために、RFタグ40が用いられる。RFタグ40は、部品や製品などのワーク101を乗せた1つのパレット100に所定の複数、本実施形態では3枚(RFタグ40A,40B,40C)、取り付けられて用いられる。
【0028】
図1に示すように、リーダライタ10は、複数のRFタグ40(40A,40B,40C)のそれぞれとの間で無線通信を実現するアンテナ35を備え、アンテナ35を介して、交信領域内にある所定の複数のRFタグ40(40A,40B,40C)との間で、データの読み出しおよび書き込みの少なくともいずれか一方を行う。リーダライタ10は、所定の複数のRFタグ40との間でデータの読み出しおよび書き込みの少なくともいずれか一方を行う際には、所定の複数のRFタグ40がそれぞれ備えるメモリを統合して、1つの仮想メモリ空間としてメモリ処理を行う。
【0029】
このようにリーダライタ10は、所定の複数のRFタグ40のそれぞれのメモリを統合して、1つの仮想メモリ空間としてメモリ処理を行うため、RFタグ40のそれぞれのメモリ容量が例えば2KBと少なくても、仮想的にメモリ容量を大容量化させることができる。よって、部品や製品などの物品の個体管理のために必要な情報量が増えても、所定の複数のRFタグ40にこれらの情報を分散させて読み出しおよび書き込みの少なくともいずれか一方を行うことができる。
【0030】
§2 構成例
以下、本発明の実施形態に係るリーダライタ10の構成について、
図1から
図3に基づいて詳細に説明する。
図1は、リーダライタ10の要部構成を示すブロック図である。
図2は、リーダライタ10を用いたシステム環境を模式的に示す図である。
図3の(a)および(b)はリーダライタ10を用いたシステムの構成を示すブロック図である。
【0031】
〔リーダライタ10の構成〕
図1に示すように、リーダライタ10は、RFタグ40との間で無線通信によりデータの読み出しおよび書き込みの少なくともいずれか一方を行う。また、リーダライタ10は、上位機器であるPLC(Programmable Logic Controller)50の入力機器として用いられる。
【0032】
リーダライタ10は、上位通信制御部11、RF通信制御部20、記憶部30、およびアンテナ35を含んでいる。
【0033】
上位通信制御部11は、PLC50との間の通信を制御する。上位通信制御部11は、PLC50との間で、無線通信、またはバスやネットワークを介した有線通信を実行する。上位通信制御部11は、PLC50との間で、1バイトあたり数マイクロ秒~数ミリ秒という高速でデータ交換を行うことができる。
【0034】
リーダライタ10は、上位通信制御部11による制御により、PLC50との間で通信を行い、上位通信制御部11を介してPLC50から、RFタグ40との間でデータの読み出しおよび書き込みの少なくともいずれか一方を行う指令を受信する。
【0035】
アンテナ35は、所定の複数のRFタグ40との間の無線通信を実現する。アンテナ35は、RF通信制御部20の制御に基づいて、所定の複数のRFタグ40に対してコマンド信号を含む電磁波を送出するとともに、コマンドに対する所定の複数のRFタグ40からの応答信号を受け付ける。
【0036】
RF通信制御部20は、アンテナ35を介して、所定の複数のRFタグ40との間でデータの読み出しおよび書き込みの少なくともいずれか一方を行う。なお、RF通信制御部20は、リーダライタ10の各部を統括的に制御する機能を備えている演算装置であってもよい。RF通信制御部20は、例えば1つ以上のプロセッサ(例えばCPUなど)が、1つ以上のメモリ(例えばRAMやROMなど)に記憶されているプログラムを実行することでリーダライタ10の各部を制御してもよい。
【0037】
RF通信制御部20は、上位通信制御部11の機能によりPLC50から受信した指令を解読する。PLC50から受信する指令には、RFタグ40との間でのデータの書き込みを指定するライトコマンドと、RFタグ40との間でのデータの読み出しを指定するリードコマンドとがある。ライトコマンド、およびリードコマンドには、PLC50とリーダライタ10との間でのデータ交換サイズに関するデータが含まれている。
【0038】
PLC50は、リーダライタ10が1つの指令に応じて、データの読み出しまたは書き込みを行うために通信するRFタグ40の枚数を認識している必要はない。詳細については後述するが、RF通信制御部20は、読み出しまたは書き込みを行うデータの容量に応じて、所定の複数のRFタグ40のそれぞれのメモリに対して読み出しまたは書き込みの処理を実行する。
【0039】
また、RF通信制御部20は、PLC50から受信したライトコマンドに含まれるデータを、RFタグ40に書き込み可能なデータに変換する。RF通信制御部20は、例えば、PLC50から受信したライトコマンドに含まれる8進コード、16進コード、64進コード等のデータをアスキーコードのデータに変換する。
【0040】
また、RF通信制御部20は、PLC50から受信したリードコマンドに対する応答として、RFタグ40との間で読み出したデータを、PLC50に転送可能なデータに変換する。RF通信制御部20は、例えば、RFタグ40との間で読み出した数字列データを、8進コード、16進コード、64進コード等のデータに変換する。
【0041】
RF通信制御部20は、アンテナ35を介して、所定の複数のRFタグ40に対するコマンド信号の送出と、応答信号の受信とを実行する。また、RF通信制御部20は、RFタグ40から受信した応答信号の復号化処理を実行することができる構成であってもよい。なお、アンテナ35を介した、RFタグ40との間の無線通信は、1バイトあたり数ミリ~数十ミリ秒という速さの通信である。
【0042】
図3の(a)に示すように、リーダライタ10は、それぞれ別体の複数のユニットによって構成されていてもよい。例えば、リーダライタ10は、上位通信制御部11の機能と、RF通信制御部20の機能の一部とを備えた制御ユニット120、信号の増幅を行うアンプユニット130、およびアンテナ35がそれぞれ別体である構成であってもよい。
【0043】
また、
図3の(b)に示すように、リーダライタ10は、上位通信制御部11と、RF通信制御部20と、アンテナ35とが一体に構成されていてもよい。
【0044】
図1に示すように、RF通信制御部20は、RFタグ特定部21と、メモリ処理部22とを含んでいる。
【0045】
RFタグ特定部21は、所定の複数のRFタグを対象RFタグとして特定する。RFタグ特定部21は、アンテナ35の通信可能領域内に存在する複数の通信可能RFタグ40のそれぞれから、RFタグ40のメモリに記憶されている識別情報をアンテナ35を介して読み出す。RFタグ特定部21は、読み出した識別情報に対応する通信可能RFタグ40A,40B,40Cを対象RFタグ40A,40B,40Cとして特定するアンチコリジョン処理を行う。
【0046】
RFタグ40の識別情報には、それぞれのRFタグ40の個体を識別するための情報に加えて、1つのワーク101(
図1参照)の個体情報を保持する所定の複数のRFタグ40のセットに含まれる他のRFタグ40の識別情報が含まれていてもよい。アンチコリジョン処理において、RFタグ特定部21は、複数の通信可能RFタグ40のそれぞれの識別情報を参照して、1つのワーク101(
図1参照)の個体情報を保持する複数のRFタグ40のセットを特定することで、対象RFタグ40A,40B,40Cを特定する。
【0047】
RF通信制御部20は、RF通信制御部20がアンテナ35を介して対象RFタグ40A,40B,40Cのそれぞれから読み出した識別情報を記憶部30に記憶させる。RFタグ特定部21は、記憶部30に記憶した、対象RFタグ40A,40B,40Cの識別情報をインデックスとして管理することによって、仮想メモリ空間における、それぞれの対象RFタグ40A,40B,40Cが備えるメモリのアドレスを設定する。RFタグ特定部21は、例えば、識別情報をインデックスとして管理し、当該インデックスをソートした順序に応じて、対象RFタグ40A,40B,40Cのメモリブロックを、仮想メモリ空間における1番目、2番目、3番目と見立てて、アドレスを設定する。
【0048】
RFタグ40の識別情報は、例えば、各RFタグ40に個別に設定されている識別番号である。これらの識別番号は、アルファベットと数字とを組み合わせたものであり、RFタグ特定部21は、識別番号をアルファベット順、および数字順の少なくともいずれか一方でソートすることで、データの読み出し、または書き込みの順序を決定する。
【0049】
このように、リーダライタ10は、複数の対象RFタグ40A,40B,40Cがそれぞれ備えるメモリとの間でのデータの読み出しおよび書き込みの少なくともいずれか一方を行う際に、複数の対象RFタグ40A,40B,40Cを検出した際の読み出す順番を、識別番号をインデックスとして用いてソートした順番と予め決めておく。これにより、リーダライタ10は、複数の対象RFタグ40を読み出す順番、または複数の対象RFタグ40に書き込む順番に関する情報を、例えば各RFタグ40の識別番号と対応付けて記録しておくなどの処理が不要となる。よって、リーダライタ10は、複数の対象RFタグ40A,40B,40Cとの間で読出しまたは書き込みを行うデータの統合を効率良く行うことができる。
【0050】
なお、PLC50は、リーダライタ10に対してデータの読み出しまたは書き込みの指令を行う対象RFタグの数を認識している構成であってもよい。この場合、PLC50は、対象RFタグの数に係る情報を含むデータの読み出しまたは書き込みの指令をリーダライタ10に送信する。RFタグ特定部21は、PLC50から上位通信制御部11を介して受信した対象RFタグの数を示す個数情報を取得する。RFタグ特定部21は、取得した当該固体情報と、通信可能領域内に存在する通信可能RFタグ40の数とが一致した場合に、該通信可能RFタグ40を対象RFタグ40A,40B,40Cとして特定してもよい。
【0051】
また、PLC50は、リーダライタ10に対してデータの読み出しまたは書き込みの指令を行う対象RFタグを識別するための識別情報を含む指令を送信することができてもよい。RFタグ特定部21は、PLC50から上位通信制御部11を介して受信した対象RFタグを識別するための識別情報と、通信可能RFタグ40のそれぞれから読み出した識別情報と、に基づいて、アンチコリジョン処理を行ってもよい。
【0052】
メモリ処理部22は、RFタグ特定部21によって特定された対象RFタグ40A,40B,40Cがそれぞれ備えるメモリを統合して、1つの仮想メモリ空間とする。例えば、各対象のRFタグ40A,40B,40Cが2KBのメモリ容量を有している場合、メモリ処理部22は、これらのメモリを統合して、仮想的に6KBのメモリ容量を有する1つの仮想メモリ空間として読み出しおよび書き込みの少なくともいずれか一方のメモリ処理を行う。
【0053】
これにより、ユーザは、メモリ容量の小さい一般的な既製品のRFタグ40を複数用いることで、1つのRFタグ40のメモリには記憶しきれない容量の情報を、複数のRFタグ40のメモリを統合した1つの仮想メモリ空間に記憶させることができる。よって、メモリ容量の大きな高価なRFタグを用いる必要がないため、コストの増大を抑制することができ、且つ、RFタグ40によって管理できる情報の容量を増大させることができる。
【0054】
なお、RFタグ特定部21は、通信可能領域内に存在する通信可能RFタグ40の総メモリ容量を算出し、メモリ処理部22によるメモリ処理に必要とされるデータ量が総メモリ容量以下である場合に、該通信可能RFタグ40を対象RFタグ40A,40B,40Cとして特定してもよい。記憶部30には、リーダライタ10との間で通信を行う可能性のある複数のRFタグ40の識別情報と、各RFタグ40のメモリ容量とが予め記憶されていてもよい。RFタグ特定部21は、複数の通信可能RFタグ40から読み出した識別情報に基づいて、記憶部30に記憶されている識別情報が該当するRFタグ40のメモリ容量の合計を算出することで、通信可能RFタグ40の総メモリ容量を算出する。
【0055】
図4は、リーダライタ10と、対象RFタグ40A,40B,40Cとの間のデータの流れの例を示す図である。
図4は、リーダライタ10が、6KBの仮想メモリ空間の1000番地から4000バイトのデータを読み出すPLC50からの指令に応じて対象RFタグ40A,40B,40Cからデータを読み出す際のデータの流れを示している。
【0056】
先ず、リーダライタ10のRF通信制御部20は、RFタグ特定部21の機能により、アンテナ35の通信可能領域内に存在する複数の通信可能RFタグ40のそれぞれから、RFタグ40のメモリに記憶されている識別情報をアンテナ35を介して読み出す。RFタグ特定部21は、通信可能RFタグ40のそれぞれから読み出した識別情報を参照して、アンチコリジョン処理を行い、対象RFタグ40A,40B,40Cを特定する。RFタグ特定部21は、特定した対象RFタグ40A,40B,40Cのメモリのそれぞれに、仮想メモリ空間におけるアドレスを設定する。
【0057】
RF通信制御部20は、メモリ処理部22の機能により、まず1番目のRFタグ40Aに対して、メモリの1000番地から1000バイトのデータの読み出しを要求するリードコマンドを送信する。メモリ処理部22は、送信したリードコマンドに対する応答としてRFタグ40Aから転送される1000バイトのデータを取得する。
【0058】
続いて、メモリ処理部22は、2番目のRFタグ40Bに対して、メモリの0000番地から2000バイトのデータの読み出しを要求するリードコマンドを送信する。メモリ処理部22は、送信したリードコマンドに対する応答としてRFタグ40Bから転送される2000バイトのデータを取得する。
【0059】
次に、メモリ処理部22は、3番目のRFタグ40Cに対して、メモリの0000番地から1000バイトのデータの読み出しを要求するリードコマンドを送信する。メモリ処理部22は、送信したリードコマンドに対する応答としてRFタグ40Cから転送される1000バイトのデータを取得する。
【0060】
なお、
図4に示した例は、データの読み出しを示すものであるが、メモリ処理部22は、所定の複数の対象RFタグ40との間で無線通信によりデータの書き込みを行う場合も、同様に対象RFタグがそれぞれ備えるメモリを統合して、1つの仮想メモリ空間として書き込みを行うことができる。リーダライタ10は、例えば、6KBの仮想メモリ空間の1000番地から4000バイトのデータを書き込むPLC50からの指令に応じて、データの読み出し処理とは逆の流れで、対象RFタグ40A,40B,40Cにデータの書き込みを行うことができる。
【0061】
所定の複数の対象RFタグ40との間でデータの書き込みを行う場合、RF通信制御部20は、RFタグ特定部21の機能により、対象RFタグ40A,40B,40Cを特定し、特定した対象RFタグ40A,40B,40Cのメモリのそれぞれに、仮想メモリ空間におけるアドレスを設定する。
【0062】
RF通信制御部20は、メモリ処理部22の機能により、まず1番目の処理対象のRFタグ40Aに対して、メモリの1000番地から1000バイトのデータを書き込むライトコマンドを送信し、RFタグ40Aに1000バイトのデータを書き込む。
【0063】
続いて、メモリ処理部22は、2番目の処理対象のRFタグ40Bに対して、メモリの0000番地から2000バイトのデータを書き込むライトコマンドを送信し、RFタグ40Bに2000バイトのデータを書き込む。
【0064】
次に、メモリ処理部22は、3番目の処理対象のRFタグ40Cに対して、メモリの0000番地から1000バイトのデータを書き込むライトコマンドを送信し、RFタグ40Cに1000バイトのデータを書き込む。
【0065】
このように、リーダライタ10は、複数の対象RFタグ40がそれぞれ備えるメモリを統合して、1つの仮想メモリ空間とすることで、RFタグ40によって管理できる情報の容量を増大させることができる。
【0066】
〔リーダライタ10のデータ読み出し処理の流れの具体例1〕
図5は、リーダライタ10のデータ読み出し処理の流れの具体例1を示すフローチャートである。
【0067】
リーダライタ10のRF通信制御部20は、上位通信制御部11を介してPLC50から受信したデータ読み出しの指令を取得すると、まず、RFタグ特定部21の機能によりアンチコリジョン処理を実行する(ステップS1)。
【0068】
RF通信制御部20は、アンチコリジョン処理が正常に終了したか否かを判定する(ステップS2)。RF通信制御部20は、RFタグ特定部21により所定の複数の対象RFタグ40A,40B,40Cが特定できた場合には、アンチコリジョン処理が正常に終了したと判定し(ステップS2でYES)、ステップS3に進む。RF通信制御部20は、RFタグ特定部21により所定の複数の対象RFタグ40A,40B,40Cが特定できなかった場合には、アンチコリジョン処理が正常に終了しなかったと判定し(ステップS2でNO)、指令に対する処理が異常終了した旨をPLC50に送信する。
【0069】
RF通信制御部20は、RFタグ特定部21によって設定された仮想メモリ空間における対象RFタグ40A,40B,40Cがそれぞれ備えるメモリのアドレスを用いて、メモリ処理部22の機能により、読み出しのメモリ処理を行う。メモリ処理部22は、まず、対象のRFタグ40A,40B,40Cのうち、一番目の処理対象のRFタグ40Aにリードコマンドを送信する(ステップS3)。
【0070】
RF通信制御部20は、一番目の処理対象のRFタグ40Aとの間で無線通信によりリードコマンドを正常に受け渡すことができたか否かを判定する(ステップS4)。例えば、対象のRFタグ40Aが、アンテナ35の通信可能領域から外れている場合には、リードコマンドを受け渡すことができず、異常と判定される。RF通信制御部20は、RFタグ40Aにリードコマンドを正常に受け渡すことができたと判定すると(ステップS4でYES)、ステップS5に進む。RF通信制御部20は、RFタグ40Aにリードコマンドを正常に受け渡すことができなかったと判定すると(ステップS4でNO)、指令に対する処理が異常終了した旨をPLC50に送信する。
【0071】
RF通信制御部20は、メモリ処理部22の機能により、一番目の処理対象のRFタグ40Aからデータを読み出す(ステップS5)。PLC50から受信したデータ読み出しの指令が、6KBの仮想メモリ空間の1000番地から4000バイトのデータを読み出す指令である場合、メモリ処理部22は、RFタグ40Aの1000番地から1000バイトのデータを応答として受信する。
【0072】
メモリ処理部22は、次に、対象のRFタグ40A,40B,40Cのうち、二番目の処理対象のRFタグ40Bにリードコマンドを送信する(ステップS6)。
【0073】
RF通信制御部20は、二番目の処理対象のRFタグ40Bとの間で無線通信によりリードコマンドを正常に受け渡すことができたか否かを判定する(ステップS7)。例えば、対象のRFタグ40Bが、アンテナ35の通信可能領域から外れている場合には、リードコマンドを受け渡すことができず、異常と判定される。RF通信制御部20は、RFタグ40Bにリードコマンドを正常に受け渡すことができたと判定すると(ステップS7でYES)、ステップS8に進む。RF通信制御部20は、RFタグ40Bにリードコマンドを正常に受け渡すことができなかったと判定すると(ステップS7でNO)、指令に対する処理が異常終了した旨をPLC50に送信する。
【0074】
RF通信制御部20は、メモリ処理部22の機能により、二番目の処理対象のRFタグ40Bからデータを読み出す(ステップS8)。PLC50から受信したデータ読み出しの指令が、6KBの仮想メモリ空間の1000番地から4000バイトのデータを読み出す指令である場合、メモリ処理部22は、RFタグ40Bの0000番地から2000バイトのデータを応答として受信する。
【0075】
メモリ処理部22は、次に、対象のRFタグ40A,40B,40Cのうち、三番目の処理対象のRFタグ40Cにリードコマンドを送信する(ステップS9)。
【0076】
RF通信制御部20は、三番目の処理対象のRFタグ40Cとの間で無線通信によりリードコマンドを正常に受け渡すことができたか否かを判定する(ステップS10)。例えば、対象のRFタグ40Cが、アンテナ35の通信可能領域から外れている場合には、リードコマンドを受け渡すことができず、異常と判定される。RF通信制御部20は、RFタグ40Cにリードコマンドを正常に受け渡すことができたと判定すると(ステップS10でYES)、ステップS11に進む。RF通信制御部20は、RFタグ40Cにリードコマンドを正常に受け渡すことができなかったと判定すると(ステップS10でNO)、指令に対する処理が異常終了した旨をPLC50に送信する。
【0077】
RF通信制御部20は、メモリ処理部22の機能により、三番目の処理対象のRFタグ40Cからデータを読み出す(ステップS11)。PLC50から受信したデータ読み出しの指令が、6KBの仮想メモリ空間の1000番地から4000バイトのデータを読み出す指令である場合、メモリ処理部22は、RFタグ40Cの0000番地から1000バイトのデータを応答として受信して、指令に対する処理が正常終了した旨をPLC50に送信する。
【0078】
RF通信制御部20は、メモリ処理部22の機能により対象RFタグ40A,40B,40Cから受信した4000バイトのデータを統合して、PLC50に送信する。
【0079】
このように、メモリ処理部22は、メモリ処理を行う時点で、アンテナ35の通信可能領域内に全ての対象RFタグ40A,40B,40Cが存在し、全ての対象RFタグ40A,40B,40CがRFタグ特定部21によって特定されている場合には、全ての対象RFタグ40A,40B,40Cに対して順次メモリ処理を行う。
【0080】
〔リーダライタ10のデータ読み出し処理の流れの具体例2〕
図6は、リーダライタ10によるデータ読出し処理の流れの具体例2を示すフローチャートである。
図6に示すように、リーダライタ10のRF通信制御部20は、上位通信制御部11を介してPLC50から受信したデータ読み出しの指令を取得すると、RFタグ特定部21の機能によりアンチコリジョン処理を実行するとともに、対象RFタグセットの確認を行う(ステップS21)。
【0081】
RFタグ特定部21は、アンテナ35の通信可能領域内に存在する複数の対象RFタグの少なくともいずれか1枚のメモリに書き込まれた、1セットに含まれる複数の対象RFタグのそれぞれの識別情報を読み出して、対象RFタグセットの確認を行ってもよい。例えば、RFタグ40Aのメモリには、RFタグ40Aの識別情報とともに、RFタグ40BおよびRFタグ40Cの識別情報が予め書き込まれている。RFタグ特定部21は、RFタグ40Aのメモリから読み出した、RFタグ40A,40B,40Cの識別情報に基づいて、対象RFタグセットは、RFタグ40A,40B,40Cから構成されていると確認することができる。
なお、複数の対象RFタグの少なくともいずれか1枚のメモリに、1セットに含まれる複数の対象RFタグのそれぞれの識別情報とともに、各対象RFタグの読み出し順を示す情報が記録されていてもよい。この場合、上記した識別番号をインデックスとして用いてソートする処理を省略することができる。
【0082】
また、RFタグ特定部21は、PLC50から受信したデータ読み出しの指令に含まれる対象RFタグセットの情報に基づいて、対象RFタグセットは、RFタグ40A,40B,40Cから構成されていると確認することができてもよい。この場合には、PLC50からの指令には、データの読み出し対象のRFタグセットがRFタグ40A,40B,40Cから構成されていることを示す情報が含まれている。例えば、PLC50からの指令には、RFタグセットを構成するRFタグ40A,40B,40Cのそれぞれの識別情報が含まれていてもよい。
なお、PLC50から受信したデータ読み出しの指令に、各対象RFタグの読み出し順を示す情報が含まれていてもよい。この場合、上記した識識別番号をインデックスとして用いてソートする処理を省略することができる。
【0083】
RF通信制御部20は、RFタグ特定部21の機能によりステップS21においてアンチコリジョン処理と、対象RFタグセットの確認を行った後、ステップS22~S31の処理を実行する。なお、ステップS22~S31の処理は、上述したステップS2~ステップS11の処理と同一のため、その説明を省略する。
【0084】
〔リーダライタ10のデータ読み出し処理の応用例〕
ところで、メモリ処理部22によるメモリ処理が行われる時点では、アンテナ35の通信可能領域内に全ての対象RFタグ40A,40B,40Cが存在しない場合もある。このような場合には、メモリ処理部22は、アンテナ35の通信可能領域内に存在する対象RFタグに対して順次メモリ処理を行うとともに、残りの対象RFタグに関しては、アンテナ35の通信可能領域内に入ってきた時点で、順次メモリ処理を行ってもよい。例えば、RFタグ40が取り付けられているパレット100が、コンベアによって搬送される生産ラインにおいて、パレット100の搬送移動により、アンテナ35の通信可能領域内に順次RFタグ40が入ってくるようなケースが想定される。
【0085】
図7は、アンテナ35の通信可能領域内に全ての対象RFタグ40A,40B,40Cが存在しない場合のPLC50と、リーダライタ10と、RFタグ40A,40B,40Cとの間でのデータの流れを示す図である。
【0086】
図7に示すように、リーダライタ10のRF通信制御部20は、上位通信制御部11を介してPLC50から受信した読み出し指令を取得する。RF通信制御部20は、RFタグ特定部21の機能により、所定の複数の対象RFタグ40を特定する。RFタグ特定部21は、PLC50からの指令の内容を参照して、複数の対象RFタグ40を特定してもよい。
【0087】
また、RFタグ特定部21は、アンテナ35の通信可能領域内に存在するRFタグ40Aから読み出した識別情報参照して、複数の対象RFタグ40を特定してもよい。RFタグ特定部21は、アンテナ35の通信可能領域内に存在するRFタグ40から読み出した識別情報に含まれている所定の複数の対象RFタグ40の識別情報を参照して、対象RFタグ40A,40B,40Cを特定する。
【0088】
RFタグ特定部21は、アンテナ35の通信可能領域内にRFタグ40が存在しない場合には、アンテナ35の通信可能領域内にRFタグ40が到着するまで待機し、アンテナ35の通信可能領域内にRFタグ40が到着したのを確認した後、当該RFタグ40から識別情報を読み出してもよい。
【0089】
メモリ処理部22は、RFタグ特定部21によって特定された所定の複数の対象RFタグ40A,40B,40Cのそれぞれが、アンテナ35の通信可能領域内に存在するか否かを確認する機能を有する。また、メモリ処理部22は、RFタグ特定部21によって特定された所定の複数の対象RFタグ40A,40B,40Cのそれぞれが、アンテナ35の通信可能領域内に存在しない場合には、アンテナ35の通信可能領域内に到着したか否かを確認する機能を有する。メモリ処理部22は、アンテナ35の通信可能領域内に存在する、または到着した対象RFタグ40から順に、データの読み出し処理を実行する。
【0090】
例えば、メモリ処理部22は、RF通信制御部20によってPLC50からの読み出し指令が取得され、対象RFタグ40A,40B,40Cが特定された後、アンテナ35の通信可能領域内に存在する対象RFタグ40Aからまずデータの読み出しを行う。PLC50から取得した読み出し指令が、メモリの1000番地から4000バイト読み出す指令である場合には、メモリ処理部22は、まず対象RFタグ40Aのメモリの1000番地から1000バイトのデータを読み出す。
【0091】
メモリ処理部22は、続いて、アンテナ35の通信可能領域内に対象RFタグ40Bが到着したことを確認し、対象RFタグ40Bのメモリの0000番地から2000バイトのデータを読み出す。その後、メモリ処理部22は、アンテナ35の通信可能領域内に対象RFタグ40Cが到着したことを確認し、対象RFタグ40Cのメモリの0000番地から1000バイトのデータを読み出す。
【0092】
このように、リーダライタ10は、アンテナ35の通信可能領域外にも、対象RFタグ40の読み出し範囲を拡張して、複数の対象RFタグ40から順にデータを読み出すことができる。これにより、複数の対象RFタグ40がそれぞれ備えるメモリを統合して、1つの仮想メモリ空間として用いることにより、RFタグ40によって管理できる情報の容量を増大させることができる。
【0093】
なお、メモリ処理部22は、所定の複数の対象RFタグ40との間で無線通信によりデータの書き込みを行う場合も、同様に対象RFタグがそれぞれ備えるメモリを統合して、1つの仮想メモリ空間として複数の対象RFタグ40にデータの書き込みを行うことができる。リーダライタ10は、PLC50からの指令に応じて、データの読み出し処理とは逆の流れで、対象RFタグ40A,40B,40Cにデータの書き込みを行うことができる。つまり、メモリ処理部22は、アンテナ35の通信可能領域内に対象RFタグ40が到着したことを確認し、対象RFタグ40のメモリの所定位置に所定容量のデータを書き込むことができる。
【0094】
〔メモリ処理部22による処理の流れについて〕
図8は、アンテナ35の通信可能領域内に全ての対象RFタグ40A,40B,40Cが存在しない場合のメモリ処理部22によるデータの読み出し処理の流れの一例を示すフローチャートである。
【0095】
RF通信制御部20は、RFタグ特定部21の機能により特定された対象RFタグ40A,40B,40Cのうち、1番目にデータを読み出す対象RFタグ40Aの、アンテナ35の通信可能領域内への到着を待ち、メモリ処理部22の機能により、対象RFタグ40Aのメモリの所定位置から、所定容量のデータを読み出す(ステップS41)。
【0096】
RF通信制御部20は、メモリ処理部22が対象RFタグ40Aから正常にデータを読み出せたか否かを判定する(ステップS42)。RF通信制御部20は、メモリ処理部22が対象RFタグ40Aから正常にデータを読み出せたと判定すると(ステップS42でYES)、ステップS43に進む。RF通信制御部20は、メモリ処理部22が対象RFタグ40Aから正常にデータを読み出せなかったと判定すると(ステップS42でNO)、データの読み出しが異常終了した旨をPLC50に通知して、処理を終了する。
【0097】
RF通信制御部20は、対象RFタグ40Aから応答を受信した旨をPLCに通知する(ステップS43)。
【0098】
RF通信制御部20は、2番目にデータを読み出す対象RFタグ40Bの、アンテナ35の通信可能領域内への到着を待ち、メモリ処理部22の機能により、対象RFタグ40Bのメモリの所定位置から、所定容量のデータを読み出す(ステップS44)。
【0099】
RF通信制御部20は、メモリ処理部22が対象RFタグ40Bから正常にデータを読み出せたか否かを判定する(ステップS45)。RF通信制御部20は、メモリ処理部22が対象RFタグ40Bから正常にデータを読み出せたと判定すると(ステップS45でYES)、ステップS46に進む。RF通信制御部20は、メモリ処理部22が対象RFタグ40Bから正常にデータを読み出せなかったと判定すると(ステップS45でNO)、データの読み出しが異常終了した旨をPLC50に通知して、処理を終了する。
【0100】
RF通信制御部20は、対象RFタグ40Bから応答を受信した旨をPLCに通知する(ステップS46)。
【0101】
RF通信制御部20は、3番目にデータを読み出す対象RFタグ40Cの、アンテナ35の通信可能領域内への到着を待ち、メモリ処理部22の機能により、対象RFタグ40Cのメモリの所定位置から、所定容量のデータを読み出す(ステップS47)。
【0102】
RF通信制御部20は、メモリ処理部22が対象RFタグ40Cから正常にデータを読み出せたか否かを判定する(ステップS48)。RF通信制御部20は、メモリ処理部22が対象RFタグ40Cから正常にデータを読み出せたと判定すると(ステップS48でYES)、ステップS49に進む。RF通信制御部20は、メモリ処理部22が対象RFタグ40Cから正常にデータを読み出せなかったと判定すると(ステップS48でNO)、データの読み出しが異常終了した旨をPLC50に通知して、処理を終了する。
【0103】
RF通信制御部20は、対象RFタグ40Cから応答を受信した旨をPLCに通知するとともに、対象RFタグ40A,40B,40Cのそれぞれから読み出したデータを統合して、PLC50に全データを送信する(ステップS49)ことによって、指令に対する処理が正常終了した旨をPLC50に通知し処理を終了する。
【0104】
〔ソフトウェアによる実現例〕
リーダライタ10の制御ブロック(特に上位通信制御部11、およびRF通信制御部20)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0105】
後者の場合、リーダライタ10は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して前記コンピュータに供給されてもよい。なお、本発明の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0106】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0107】
10 リーダライタ
11 上位通信制御部
20 RF通信制御部
21 RFタグ特定部
22 メモリ処理部
30 記憶部
50 PLC(上位機器)
40(40A,40B,40C) RFタグ