(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-15
(45)【発行日】2022-06-23
(54)【発明の名称】応答器、質問機、応答器の制御方法、質問機の制御方法、情報処理プログラム、および記録媒体
(51)【国際特許分類】
G06K 7/10 20060101AFI20220616BHJP
G06K 19/07 20060101ALI20220616BHJP
H04B 1/59 20060101ALI20220616BHJP
H04L 5/22 20060101ALI20220616BHJP
【FI】
G06K7/10 120
G06K19/07 160
G06K19/07 230
H04B1/59
H04L5/22 Z
(21)【出願番号】P 2017046595
(22)【出願日】2017-03-10
【審査請求日】2020-01-09
【審判番号】
【審判請求日】2021-08-04
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100155712
【氏名又は名称】村上 尚
(72)【発明者】
【氏名】野上 英克
【合議体】
【審判長】田中 秀人
【審判官】山澤 宏
【審判官】須田 勝巳
(56)【参考文献】
【文献】特開2008-177775(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K19/077
G06K19/07
G06K 7/10
(57)【特許請求の範囲】
【請求項1】
タイムスロット方式のアンチコリジョン機能を有する応答器であって、
センサが位置、速度、圧力、温度、光量、振動、電流値、および、電圧値の少なくとも1つの異常を検出したかを判定する判定部と、
前記判定部によって前記センサが前記異常を検出したと判定される場合に選択するタイムスロットを、前記判定部によって前記センサが前記異常を検出していないと判定される場合に選択するタイムスロットよりも早いタイムスロットに決定する決定部と、を備えることを特徴とする応答器。
【請求項2】
前記決定部は、
(1)前記判定部によって前記センサが前記異常を検出したと判定される場合に選択するタイムスロットを、所定の閾値よりも小さな値の乱数に一致したタイムスロットに決定し、
(2)前記判定部によって前記センサが前記異常を検出していないと判定される場合に選択するタイムスロットを、前記所定の閾値以上の値の乱数に一致したタイムスロットに決定することを特徴とする請求項1に記載の応答器。
【請求項3】
前記センサを備えることを特徴とする請求項1または2に記載の応答器。
【請求項4】
タイムスロット方式のアンチコリジョン機能を有する複数の応答器の各々と通信する質問機であって、
複数の前記応答器の各々からの応答のうち、所定値以下の順番のタイムスロットで受信した応答があるかを判定する受信判定部と、
前記受信判定部によって、前記所定値以下の順番のタイムスロットで受信した応答があると判定されると、複数の前記応答器の各々が選択可能なタイムスロットを、
前記所定値以下の順番のタイムスロットに指定する指定部と、を備えることを特徴とする質問機。
【請求項5】
タイムスロット方式のアンチコリジョン機能を有する応答器の制御方法であって、
センサが位置、速度、圧力、温度、光量、振動、電流値、および、電圧値の少なくとも1つの異常を検出したかを判定する判定ステップと、
前記判定ステップにて前記センサが前記異常を検出したと判定される場合に選択するタイムスロットを、前記判定ステップにて前記センサが前記異常を検出していないと判定される場合に選択するタイムスロットよりも早いタイムスロットに決定する決定ステップと、を含むことを特徴とする制御方法。
【請求項6】
タイムスロット方式のアンチコリジョン機能を有する複数の応答器の各々と通信する質問機の制御方法であって、
複数の前記応答器の各々からの応答のうち、所定値以下の順番のタイムスロットで受信した応答があるかを判定する受信判定ステップと、
前記受信判定ステップにて、前記所定値以下の順番のタイムスロットで受信した応答があると判定されると、複数の前記応答器の各々が選択可能なタイムスロットを、
前記所定値以下の順番のタイムスロットに指定する指定ステップと、を含むことを特徴とする制御方法。
【請求項7】
請求項4に記載の質問機としてコンピュータを機能させるための情報処理プログラムであって、前記各部としてコンピュータを機能させるための情報処理プログラム。
【請求項8】
請求項7に記載の情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タイムスロット方式のアンチコリジョン機能を有する応答器等に関する。
【背景技術】
【0002】
従来、RFID(Radio Frequency IDentification)タグ等の応答器を利用した対象物の管理が普及している。例えば、下掲の特許文献1には、RFID読取装置などの質問機が複数の応答器からの応答を受信する際に、質問機から応答器に対して割当てられるタイムスロット数を、最も読取り効率の高い最適な値に設定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平11-282975号公報(1999年10月15日公開)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述のような従来技術は、質問機が、複数の応答器の各々からの応答のうち、センサ等によって異常状態等の所定の状態を検出した応答器からの応答を、優先的に受信することができないという問題がある。
【0005】
本発明の一態様は、複数の応答器の各々からの応答のうち、センサ等によって異常状態等の所定の状態を検出した応答器からの応答を質問機が優先的に受信することを可能とする応答器等を実現することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一態様に係る応答器は、タイムスロット方式のアンチコリジョン機能を有する応答器であって、センサが所定の状態を検出したかを判定する判定部と、前記判定部によって前記センサが前記所定の状態を検出したと判定される場合に選択するタイムスロットを、前記判定部によって前記センサが前記所定の状態を検出していないと判定される場合に選択するタイムスロットよりも早いタイムスロットに決定する決定部と、を備えることを特徴としている。
【0007】
前記の構成によれば、前記応答器は、前記センサが前記所定の状態を検出したと判定した場合に選択するタイムスロットを、前記センサが前記所定の状態を検出していないと判定した場合に選択するタイムスロットよりも早いタイムスロットに決定する。言い換えれば、複数の前記応答器のうち、前記センサが前記所定の状態を検出したと判定した前記応答器は、前記センサが所定の状態を検出していないと判定した前記応答器に比べて、早いタイムスロットで応答する。
【0008】
したがって、前記応答器は、複数の前記応答器の各々からの応答のうち、前記センサが異常状態等の前記所定の状態を検出したと判定した前記応答器からの応答を、前記センサが異常状態等の前記所定の状態を検出していないと判定した前記応答器からの応答に比べて、質問機が優先的に受信することを可能とするとの効果を奏する。
【0009】
本発明に係る応答器において、前記決定部は、(1)前記判定部によって前記センサが前記所定の状態を検出したと判定される場合に選択するタイムスロットを、所定の閾値よりも小さな値の乱数に一致したタイムスロットに決定し、(2)前記判定部によって前記センサが前記所定の状態を検出していないと判定される場合に選択するタイムスロットを、前記所定の閾値以上の値の乱数に一致したタイムスロットに決定してもよい。
【0010】
前記の構成によれば、前記応答器は、(1)前記センサが前記所定の状態を検出したと判定した場合に選択するタイムスロットを、前記所定の閾値よりも小さな値の乱数に一致したタイムスロットに決定する。また、前記応答器は、(2)前記センサが所定の状態を検出していないと判定した場合に選択するタイムスロットを、前記所定の閾値以上の値の乱数に一致したタイムスロットに決定する。つまり、前記応答器は、前記センサが前記所定の状態を検出したと判定した場合に選択するタイムスロットを、前記センサが前記所定の状態を検出していないと判定した場合に選択するタイムスロットよりも早いタイムスロットに決定する。そのため、複数の前記応答器のうち、前記センサが前記所定の状態を検出したと判定した前記応答器は、前記センサが前記所定の状態を検出していないと判定した前記応答器に比べて、早いタイムスロットで応答する。
【0011】
したがって、前記応答器は、複数の前記応答器の各々からの応答のうち、前記センサが異常状態等の前記所定の状態を検出したと判定した前記応答器からの応答を、前記センサが異常状態等の前記所定の状態を検出していないと判定した前記応答器からの応答に比べて、質問機が優先的に受信することを可能とするとの効果を奏する。
【0012】
本発明に係る応答器は、前記センサを備えてもよい。
【0013】
前記の構成によれば、前記応答器は前記センサを備えており、つまり、前記応答器はセンサ付き応答器である。したがって、前記応答器は、複数の前記応答器の各々からの応答のうち、自装置の備える前記センサが異常状態等の前記所定の状態を検出したと判定した前記応答器からの応答を、自装置の備える前記センサが異常状態等の前記所定の状態を検出していないと判定した前記応答器からの応答に比べて、質問機が優先的に受信することを可能とするとの効果を奏する。
【0014】
上記の課題を解決するために、本発明の一態様に係る質問機は、タイムスロット方式のアンチコリジョン機能を有する複数の応答器の各々と通信する質問機であって、複数の前記応答器の各々からの応答のうち、所定値以下の順番のタイムスロットで受信した応答があるかを判定する受信判定部と、前記受信判定部によって、前記所定値以下の順番のタイムスロットで受信した応答があると判定されると、複数の前記応答器の各々が選択可能なタイムスロットの個数を、所定の基準値以下の個数に指定する指定部と、を備えることを特徴としている。
【0015】
前記の構成によれば、前記質問機は、複数の前記応答器の各々からの応答のうち、前記所定値以下の順番のタイムスロットで受信した応答があると判定すると、複数の前記応答器の各々が選択可能なタイムスロットの個数を、所定の基準値以下の個数に指定する。つまり、前記質問機は、前記所定値以下の順番のタイムスロットで受信した応答があると判定すると、前記質問機に応答可能な前記応答器を限定する。
【0016】
例えば、センサによって所定の状態を検出した前記応答器のみが前記所定値以下の順番のタイムスロットで応答できる場合、前記質問機は、前記質問機に対して応答可能な前記応答器を、例えば、前記センサによって所定の状態を検出した前記応答器に限定する。
【0017】
したがって、前記質問機は、前記センサによって所定の状態を検出した前記応答器からの応答を、前記センサによって前記所定の状態を検出していない前記応答器からの応答に比べて、優先的に受信することができるとの効果を奏する。
【0018】
上記の課題を解決するために、本発明の一態様に係る応答器の制御方法は、タイムスロット方式のアンチコリジョン機能を有する応答器の制御方法であって、センサが所定の状態を検出したかを判定する判定ステップと、前記判定ステップにて前記センサが前記所定の状態を検出したと判定される場合に選択するタイムスロットを、前記判定ステップにて前記センサが前記所定の状態を検出していないと判定される場合に選択するタイムスロットよりも早いタイムスロットに決定する決定ステップと、を含むことを特徴としている。
【0019】
前記の制御方法によれば、前記応答器は、前記センサが前記所定の状態を検出したと判定した場合に選択するタイムスロットを、前記センサが前記所定の状態を検出していないと判定した場合に選択するタイムスロットよりも早いタイムスロットに決定する。言い換えれば、複数の前記応答器のうち、前記センサが前記所定の状態を検出したと判定した前記応答器は、前記センサが所定の状態を検出していないと判定した前記応答器に比べて、早いタイムスロットで応答する。
【0020】
したがって、前記制御方法は、複数の前記応答器の各々からの応答のうち、前記センサが異常状態等の前記所定の状態を検出したと判定した前記応答器からの応答を、前記センサが異常状態等の前記所定の状態を検出していないと判定した前記応答器からの応答に比べて、質問機が優先的に受信することを可能とするとの効果を奏する。
【0021】
上記の課題を解決するために、本発明の一態様に係る質問機の制御方法は、タイムスロット方式のアンチコリジョン機能を有する複数の応答器の各々と通信する質問機の制御方法であって、複数の前記応答器の各々からの応答のうち、所定値以下の順番のタイムスロットで受信した応答があるかを判定する受信判定ステップと、前記受信判定ステップにて、前記所定値以下の順番のタイムスロットで受信した応答があると判定されると、複数の前記応答器の各々が選択可能なタイムスロットの個数を、所定の基準値以下の個数に指定する指定ステップと、を含むことを特徴としている。
【0022】
前記の制御方法によれば、前記質問機は、複数の前記応答器の各々からの応答のうち、前記所定値以下の順番のタイムスロットで受信した応答があると判定すると、複数の前記応答器の各々が選択可能なタイムスロットの個数を、所定の基準値以下の個数に指定する。つまり、前記質問機は、前記所定値以下の順番のタイムスロットで受信した応答があると判定すると、前記質問機に応答可能な前記応答器を限定する。
【0023】
例えば、センサによって所定の状態を検出した前記応答器のみが前記所定値以下の順番のタイムスロットで応答できる場合、前記質問機は、前記質問機に対して応答可能な前記応答器を、例えば、前記センサによって所定の状態を検出した前記応答器に限定する。
【0024】
したがって、前記制御方法は、前記センサによって所定の状態を検出した前記応答器からの応答を、前記センサによって前記所定の状態を検出していない前記応答器からの応答に比べて、前記質問機が優先的に受信することができるとの効果を奏する。
【発明の効果】
【0025】
本発明の一態様によれば、複数の応答器の各々からの応答のうち、センサ等によって異常状態等の所定の状態を検出した応答器からの応答を質問機が優先的に受信することができるとの効果を奏する。
【図面の簡単な説明】
【0026】
【
図1】本発明の実施形態1に係るRFIDタグの要部構成を示すブロック図である。
【
図2】本実施形態に係る交信管理システムおよび従来の交信管理システムの全体概要を示す図である。
【
図3】本発明の実施形態1に係るRFIDリーダ/ライタの要部構成を示すブロック図である。
【
図4】
図1のRFIDタグが選択するタイムスロットを説明する図である。
【
図5】
図1のRFIDタグの処理の概要を示すフローチャートである。
【
図6】
図3のリーダ/ライタの処理の概要を示すフローチャートである。
【発明を実施するための形態】
【0027】
〔実施形態1〕
以下、本発明の実施形態1について、
図1から
図6に基づいて詳細に説明する。図中同一または相当部分には同一符号を付してその説明は繰返さない。本発明の一態様に係るRFID(Radio Frequency IDentification)タグ10(応答器)、および、RFIDリーダ/ライタ20(質問機)についての理解を容易にするため、先ず、両者を含む交信管理システム1の概要を、
図2を用いて説明する。なお、記載の簡潔性を担保するため、以下では「RFIDタグ」は単に「タグ」とのみ記載する。同様に、「RFIDリーダ/ライタ」は単に「リーダ」とのみ記載する。
【0028】
(実施形態1の交信管理システムの概要)
図2は、各々がタイムスロット方式のアンチコリジョン機能を備える交信管理システム1および従来の交信管理システム99の概要を示す図である。
図2の(A)は、複数のタグ10(1)~10(n)とリーダ20とを含む交信管理システム1の概要を示し、
図2の(B)は、従来のタグ80(1)~80(n)と従来のリーダ90とを含む従来の交信管理システム99の概要を示している。なお、本実施の形態において「n」は1以上の整数とする。また、タグ10(1)~10(n)の各々を特に区別する必要がない場合は単に「タグ10」と称し、同様に、従来のタグ80(1)~80(n)の各々を特に区別する必要がない場合は単に「従来のタグ80」と称する。
【0029】
交信管理システム1についての理解を容易にするため、先ずは、従来からの一般的なタイムスロット方式のアンチコリジョン機能を採用した従来の交信管理システム99の概要を、
図2の(B)を用いて説明していく。
【0030】
(従来の交信管理システム)
図2の(B)に例示する従来の交信管理システム99において、従来のタグ80(1)~80(n)の各々は、例えば、ライン上を移動してくる複数のワークの各々に配置されている。従来のリーダ90がQUERY(読取り開始コマンド)を発行すると、従来のリーダ90との交信が可能な領域内の従来のタグ80(1)~80(n)の全てが、従来のリーダ90に応答する。従来のタグ80(1)~80(n)の各々は、センサを備えており、従来のリーダ90からのQUERYに応答して、自装置の識別情報およびセンシングデータ(検出結果)を、従来のリーダ90に送信する。従来のタグ80は、リーダ90への応答に際し、自装置の識別情報および検出結果を、従来のリーダ90に送信し、従来のタグ80からの応答を受信した従来のリーダ90は、応答した従来のタグ80の識別情報および検出結果を取得する。
【0031】
ここで、従来の交信管理システム99のように、1台の従来のリーダ90からのQUERYに対して、複数の従来のタグ80が応答する場合、以下の事象が発生する可能性がある。すなわち、自装置の識別情報等を送信するために複数の従来のタグ80の各々から出力された信号(応答)が衝突(コリジョン)し、従来のリーダ90が複数の従来のタグ80の各々を読み取ることができない場合が生じる。複数の従来のタグ80の各々から出力された信号の衝突を防止し、1台の従来のリーダ90が複数の従来のタグ80を短時間で読み取ることができるように、従来の交信管理システム99は、タイムスロット方式の衝突防止機能(アンチコリジョン機能)を採用する。
【0032】
タイムスロット方式は、通信媒体の応答手順を制御するアクセス制御方式であり、アロハ(ALOHA)方式とも呼ばれ、アンチコリジョンに係る国際標準規格に採用されている代表的なアルゴリズムの1つである。
【0033】
すなわち、従来のリーダ90は、「複数の従来のタグ80の各々が選択可能なタイムスロットの数を指定するための数値であるQ値(Q≧0)」を含む、QUERYを発行する。具体的には、Q値は、従来のタグ80が応答可能なタイムスロット数を2Q値個に指定する。QUERYを受信した従来のタグ80は、QUERY中のQ値を用いて「0」から「2Q値-1」までの範囲の乱数(疑似乱数)を生成する。そして、従来のタグ80は、生成した乱数に一致したタイムスロット(乱数に一致したタイミングのタイムスロット)を選択して従来のリーダ90に応答する。
【0034】
例えば「Q値=3」である場合、23=8=[1000]であるので、従来のタグ80は、3ビットの乱数[000]~[111]のいずれかを生成し、生成した乱数のタイムスロットで従来のリーダ90に応答する。「Q値=3」を含むQUERYを受信した従来のタグ80が[010]を生成した場合、その従来のタグ80は、[000]~[111]のタイムスロットのうち、[010]のタイムスロットで応答する。
【0035】
なお、以下の説明においては、Q値を用いて生成された乱数(疑似乱数)に一致するタイムスロットについて、[00]に一致するタイムスロットを「タイムスロットT1」、[01]に一致するタイムスロットを「タイムスロットT2」とする。以下同様に、[10]に一致するタイムスロットを「タイムスロットT3」、[11]に一致するタイムスロットを「タイムスロットT4」、・・・とする。対応する乱数の値が小さいタイムスロットほど、順番(送信順番)の早いタイムスロット(早いタイムスロット)であり、例えば、タイムスロットT1は、タイムスロットT2よりも早い。
【0036】
同様に、例えば「Q値=4」である場合、24=16=[10000]であるので、従来のタグ80は、4ビットの乱数[0000]~[1111]のいずれかを生成する。そして、従来のタグ80は、生成した乱数のタイムスロットで従来のリーダ90に応答する。具体的には、「Q値=4」を含むQUERYを受信した従来のタグ80が[0100]を生成した場合、その従来のタグ80は、[0000]~[1111]のタイムスロットのうち、[0100]のタイムスロットで従来のリーダ90に応答する。
【0037】
この際、1つのタイムスロットに対して1つの従来のタグ80のみが応答した場合、その従来のタグ80からの応答は従来のリーダ90によって受信される。これに対して、1つのタイムスロットに対して複数の従来のタグ80が同時に応答した場合、これらの応答は衝突するので、それらの従来のタグ80からの応答は従来のリーダ90によって受信されない。
【0038】
応答が衝突し従来のリーダ90によって受信されなかった従来のタグ80は、再度乱数を生成し、生成した乱数に一致したタイミングのタイムスロットを選択して従来のリーダ90に応答する。従来のタグ80が「乱数を生成し、生成した乱数に一致するタイムスロットで応答する」という一連の処理を繰り返すことにより、従来のリーダ90は複数の従来のタグ80の各々から略同時に応答を受信できるようになる。
【0039】
従来の交信管理システム99において、従来のリーダ90のアンテナ交信領域内に存在する従来のタグ80の数が多い場合、従来のリーダ90はQ値の値を大きくすることによって衝突発生回数を減らす。一方、従来のタグ80の数が少ない場合、従来のリーダ90はQ値の値を小さくすることによって、複数の従来のタグ80の全てとの通信に要する時間を短縮する。
【0040】
これまで説明してきたように、従来の交信管理システム99において、複数の従来のタグ80の各々は、「自装置の、従来のリーダ90への応答順番(タイムスロット)」を、ランダムに決定する。つまり、従来の交信管理システム99において、従来のリーダ90への応答順番(タイムスロット)は、従来のタグ80(1)~80(n)の各々によってランダムに決定される。
【0041】
そのため、従来の交信管理システム99においては、複数の従来のタグ80の各々の応答順番のみによって、「複数の従来のタグ80のうち、どの従来のタグ80のセンサが異常状態等の所定の状態を検出したか」を把握することはできない。言い換えれば、従来の交信管理システム99においては、「センサにより異常状態等の所定の状態を検出した従来のタグ80」と、「所定の状態を検出していない従来のタグ80」と、を従来のタグ80の応答順番のみによって区別することはできない。したがって、従来の交信管理システム99においては、
図2(B)の従来のタグ80(3)(センサにより異常振動を検出した従来のタグ80)を、他の従来のタグ80から識別するための処理を、外部の装置等において実行する必要があった。
【0042】
また、従来のリーダ90は、複数の従来のタグ80の各々からの応答について、タイムアウトにより、複数の従来のタグ80の各々からの応答の全てを、読み取れない可能性がある。ここで、従来の交信管理システム99において、「異常状態等の所定の状態を検出したセンサを備える従来のタグ80」からの応答は、「他の従来のタグ80」からの応答よりも優先されない。そのため、従来のリーダ90と従来のタグ80(1)~80(n)との間の所定の交信時間内で「異常状態等の所定の状態を検出したセンサを備える従来のタグ80」からの応答を、従来のリーダ90が受信できない可能性があった。つまり、従来のリーダ90は、タイムアウトによって、「異常状態等の所定の状態を検出したセンサを備える従来のタグ80」からの応答を受信できない可能性があり、その結果、異常状態を検出できない可能性があった。
【0043】
(本発明の一態様に係る交信管理システム)
<タグの実行する処理>
図2の(A)に例示する交信管理システム1においても、タグ10(1)~10(n)の各々は、例えば、ライン上を移動してくる複数のワークの各々に配置されており、また、交信管理システム1は、タイムスロット方式のアンチコリジョン機能を採用している。すなわち、リーダ20からのQUERYを受信したタグ10は、QUERY中のQ値を用いて、「0」から「2
Q値-1」までの範囲内で乱数(疑似乱数)を生成する。そして、タグ10は、生成した乱数に一致したタイムスロット(乱数に一致したタイミングのタイムスロット)を選択してリーダ20に応答する。なお、以下の説明においては、「QUERY中のQ値を用いて生成した乱数(疑似乱数)に一致したタイムスロット(乱数に一致したタイミングのタイムスロット)を選択して応答する」ことを「QUERY応答」と呼ぶことがある。
【0044】
交信管理システム1において、タグ10は、センサ160が異常状態等の所定の状態を検出すると、他のタグ10よりも早いタイムスロットで、リーダ20に応答する。言い換えれば、タグ10は、センサ160が異常状態等の所定の状態を検出した時はQUERY応答を早く実行し、通常時(つまり、センサ160が所定の状態を検出していない場合)はQUERY応答を遅く実行する。
【0045】
交信管理システム1において、タグ10がリーダ20に応答する際に採用し得るタイムスロットは、「異常検出時用タイムスロット」と、「通常時用タイムスロット」とに分けることができる。「異常検出時用タイムスロット」は、タグ10がQUERY中のQ値を用いて生成した乱数(疑似乱数)であって、乱数閾値Rtよりも小さな値の乱数に一致するタイムスロットである。「通常時用タイムスロット」は、タグ10がQUERY中のQ値を用いて生成した乱数(疑似乱数)に一致するタイムスロットであって、乱数閾値Rt以上の値の乱数に一致するタイムスロットである。言い換えれば、「通常時用タイムスロット」は、タグ10がQUERY中のQ値を用いて生成した乱数であって、乱数閾値Rtと同じ値、または乱数閾値Rtよりも大きな値の乱数に一致するタイムスロットである。「異常検出時用タイムスロット」は、「通常時用タイムスロット」よりも、順番(送信順番)が早いタイムスロットであり、つまり、「通常時用タイムスロット」よりも早いタイムスロットである。
【0046】
(A)センサ160が異常状態等の所定の状態を検出した場合、タグ10は、「異常検出時用タイムスロット」を選択して、リーダ20に応答する。(B)センサ160が異常状態等の所定の状態を検出していない場合、タグ10は、「通常時用」を選択して、リーダ20に応答する。タグ10は、通常時(センサ160が所定の状態を検出していない場合)は、「異常検出時用タイムスロット」においては応答せずに、「通常時用タイムスロット」において、リーダ20に応答する。タグ10は、センサ160が所定の状態を検出した場合にのみ、「異常検出時用タイムスロット」において、リーダ20に応答する。
【0047】
例えば、「乱数閾値Rt=4」である場合、タグ10は、Q値を用いて生成した乱数に一致するタイムスロットであって、以下の条件を満たすタイムスロットで、リーダ20に応答する。すなわち、(A)センサ160が異常状態等の所定の状態を検出した場合、タグ10は、乱数閾値Rt=4=[100]よりも小さな値の乱数(すなわち、[00]~[11]のいずれか)に一致するタイムスロットT1~T4で、リーダ20に応答する。(B)センサ160が異常状態等の所定の状態を検出していない場合、タグ10は、乱数閾値Rt=4=[100]以上の値の乱数に一致するタイムスロット(すなわち、タイムスロットT5以降のタイムスロット)で、リーダ20に応答する。
【0048】
つまり、タイムスロットT1~T4を選択できるのは、センサ160により所定の状態を検出したタグ10のみであり、所定の状態を検出していないタグ10は、タイムスロットT5以降のタイムスロットで、リーダ20に応答する。
【0049】
センサ160により所定の状態を検出したタグ10が選択するタイムスロット(タイムスロットT1~T4)は、センサ160により所定の状態を検出していないタグ10が選択するタイムスロット(タイムスロットT5以降のタイムスロット)よりも早い。したがって、タグ10は、リーダ20(およびリーダ20に接続された不図示のPLC等の外部装置)に対する、「所定状態の発生」の通知を高速化することができる。
【0050】
また、タイムスロットT1~T4を選択できるのは、センサ160により所定の状態を検出したタグ10のみであるから、タイムスロットT1~T4においてコリジョンが発生する可能性は低い。言い換えれば、タグ10は、センサ160により所定の状態を検出した場合にのみタイムスロットT1~T4を選択することにより、センサ160により所定の状態を検出した場合の応答について、コリジョンが発生する可能性を抑制することができる。
【0051】
さらに、センサ160により所定の状態を検出したタグ10は、タイムスロットT5よりも早いタイムスロットT1~T4で応答するので、リーダ20がその応答をタイムアウトによって受信できない可能性は低い。
【0052】
したがって、リーダ20は、センサ160により所定の状態を検出したタグ10(
図2の例では、タグ10(3))の応答を、所定の状態を検出していないタグ10(
図2の例では、タグ10(3)以外のタグ10)からの応答よりも早く受信することができる。
【0053】
また、タグ10は、センサ160により所定の状態を検出した場合の応答について、コリジョンが発生する可能性、および、タイムアウトによってリーダ20が受信できない可能性を抑制することができる。したがって、交信管理システム1は、異常状態等の所定の状態が発生したことを、例えば、リーダ20、および、リーダ20に接続された不図示のPLC等の外部装置等を介して、ユーザに確実に報知することができる。
【0054】
なお、タグ10は、従来のタグ80と同様に、リーダ20への応答に際し、自装置の識別情報をリーダ20に送信する。タグ10は、リーダ20への応答に際し、自装置の識別情報に加えて、センサ160の検出結果をリーダ20に送信してもよい。これに対応して、タグ10からの応答を受信したリーダ20は、応答したタグ10の識別情報を取得する。タグ10からの応答を受信したリーダ20は、応答したタグ10の識別情報に加えて、センサ160の検出結果を取得してもよい。
【0055】
<リーダの実行する処理>
交信管理システム1において、リーダ20は、センサ160により異常状態等の所定の状態を検出したタグ10からの応答を受信すると、QUERYによってタグ10に通知するQ値を小さくする。具体的には、リーダ20は、タグ10からの応答を受信したタイムスロットに応じて、「通常モード(大きなQ値を設定するモード)」と「異常検出モード(小さなQ値を設定するモード)」とを切り替える。
【0056】
交信管理システム1において、乱数閾値Rtよりも小さな値の乱数に一致するタイムスロット(異常検出時用タイムスロット)を選択してリーダ20に応答できるのは、センサ160により異常状態等の所定の状態を検出したタグ10のみである。言い換えれば、リーダ20が乱数閾値Rtよりも小さな値の乱数に一致するタイムスロットで受信した応答を送信したタグ10は、センサ160により異常状態等の所定の状態を検出している。
【0057】
したがって、交信管理システム1においてリーダ20は、乱数閾値Rtよりも小さな値の乱数に一致するタイムスロットで応答を受信した場合、(A)センサ160により異常状態等の所定の状態が検出されたことを把握することができる。また、リーダ20は、(B)乱数閾値Rtよりも小さな値の乱数に一致するタイムスロットで受信した応答に含まれる識別情報から、どのタグ10が(どのセンサ160が)、所定の状態を検出したかを把握することができる。リーダ20は、乱数閾値Rtよりも小さな値の乱数に一致するタイムスロットで応答を受信した場合、(A)所定の状態の発生、および、(B)所定の状態を検出したタグ10(センサ160)の識別情報を、PLC等の外部装置に通知してもよい。
【0058】
交信管理システム1におけるリーダ20は、従来の交信管理システム99における従来のリーダ90と異なり、タグ10からの応答を受信したタイムスロットのみから、(A)所定の状態の発生と、(B)所定の状態を検出したタグ10の識別情報と、を把握する。言い換えれば、リーダ20は、(A)所定の状態の発生と、(B)所定の状態を検出したタグ10の識別情報と、を把握するための外部装置を必要としない。(A)所定の状態の発生、および、(B)所定の状態を検出したタグ10の識別情報を、応答を受信したタイムスロットのみから把握したリーダ20が、PLC等の外部装置を介して、これらの情報に係るアラーム(警告)およびLED表示等を実行してもよい。
【0059】
リーダ20は、複数のタグ10の各々からの応答について、乱数閾値Rtに一致するタイムスロットよりも順番が早いタイムスロットである「タイムスロット判定値Ts」を用いて、センサ160により所定の状態が検出されたかを判定する。例えば乱数閾値Rt=4=[100]である場合、すなわち、乱数閾値Rtに一致するタイムスロットがT5である場合、「タイムスロット判定値Ts」は、タイムスロットT1~T4のいずれかが選択される。
【0060】
ただし、「タイムスロット判定値Ts」は、望ましくは、「乱数閾値Rt」に一致するタイムスロットの1つ前のタイムスロット(「乱数閾値Rt」に一致するタイムスロットよりも順番が1つ早いタイムスロット)である。以下の説明においては、「タイムスロット判定値Ts」が、「乱数閾値Rt」に一致するタイムスロットの1つ前のタイムスロットであるものとして説明を行なう。例えば乱数閾値Rt=4=[100]である場合、「タイムスロット判定値Ts」は、タイムスロットT4である。
【0061】
乱数閾値Rt=4=[100]である場合、センサ160により異常状態等の所定の状態を検出したタグ10は、[100]よりも小さな値の乱数(すなわち、[00]~[11])に一致するタイムスロットT1~T4のいずれかで、リーダ20に応答する。リーダ20は、「タイムスロット判定値Ts=タイムスロットT4」以下のタイムスロットで、すなわち、タイムスロットT1~T4のいずれかで、応答を受信すると、センサ160により所定の状態が検出されたと判定する。
【0062】
リーダ20は、複数のタグ10の各々からの応答のうち、タイムスロット判定値Ts以下の順番のタイムスロット(つまり、タイムスロット判定値Tsと同じ、またはタイムスロット判定値Tsよりも早いタイムスロット)で受信した応答があるかを判定する。
【0063】
(A)タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答がないと判定すると、リーダ20は通常モードを選択し、QUERYによってタグ10に通知するQ値を「通常時用のQ値」であるQ1(Q1>Q2≧0)に設定する。通常モードにおいてリーダ20は、「Q値=Q1(例えば、「Q1=16」)」に設定することにより、複数のタグ10の各々からの応答を全て受信することができる。ただし、リーダ20が複数のタグ10の各々からの応答を全て受信し終わるまでに要する時間は長い。
【0064】
(B)リーダ20は、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答があると判定すると、リーダ20は異常検出モードを選択し、QUERYによってタグ10に通知するQ値を「異常検出時用のQ値」であるQ2に設定する。異常検出モードにおいてリーダ20は、「Q値=Q2(例えば、「Q2=2」)」に設定することにより、センサ160により異常状態等の所定の状態を検出したタグ10など、限られたタグ10からの応答のみを受信する。
【0065】
例えば、「乱数閾値Rt=4=[100]」であり、「Q2=2」である場合、交信管理システム1において以下の処理が実行される。第1に、異常検出モードのリーダ20は、「Q値=Q2=2」を含むQUERYを発行する。
【0066】
第2に、22=[100]であるので、タグ10は、Q値を用いて2ビットの乱数[00]~[11]のいずれかを生成し、生成した乱数のタイムスロットでリーダ20に応答する。具体的には、タグ10は、タイムスロットT1=[00]、T2=[01]、T3=[10]、T4=[11]のいずれかでリーダ20に応答する。ここで、「乱数閾値Rt=4」であるため、タイムスロットT1~T4のいずれかを選択することのできるタグ10は、センサ160により異常状態等の所定の状態を検出したタグ10のみである。
【0067】
したがって、交信管理システム1において、「乱数閾値Rt=4」であり、「Q2=2」である場合、異常検出モードのリーダ20に応答するのは、センサ160により異常状態等の所定の状態を検出したタグ10のみである。
【0068】
交信管理システム1において、異常検出モードを選択したリーダ20は、QUERYによってタグ10に通知するQ値を、通常モードを選択した場合に比べて小さくし、リーダ20に応答することのできるタグ10を限定する。例えば、異常検出モードを選択したリーダ20は、センサ160により異常状態等の所定の状態を検出したタグ10のみがリーダ20に対して応答できるように設定したQ値を含むQUERYを発行する。
【0069】
具体的には、リーダ20は、「2Q2=乱数閾値Rt」を満たすQ2にQ値を設定してQUERYを発行することにより、応答可能なタグ10を、乱数閾値Rtよりも小さな値の乱数に一致するタイムスロットを選択可能なタグ10に限定することができる。言い換えれば、リーダ20は、「2Q2=乱数閾値Rt」を満たすQ2にQ値を設定してQUERYを発行することにより、応答可能なタグ10を、センサ160により異常状態等の所定の状態を検出したタグ10に限定することができる。
【0070】
そのため、異常検出モードを選択したリーダ20は、リーダ20に応答可能な全てのタグ10との通信に要する時間を、通常モードを選択した場合にリーダ20に応答可能な全てのタグ10との通信に要する時間に比べて短縮することができる。
【0071】
したがって、異常検出モードを選択したリーダ20は、通常モードを選択した場合に比べて、単位時間にQUERYをより多くの回数発行することができ、リーダ20に応答可能な全てのタグ10と、より多くの回数通信することが可能となる。異常検出モードを選択したリーダ20は、リーダ20に応答可能な全てのタグ10と単位時間により多くの回数通信することによって、リーダ20に応答可能な全てのタグ10から、例えば、所望の情報をより多く取得でき、より正確な情報を取得することができる。
【0072】
リーダ20は、通常モードと異常検出モードとを使い分け、「リーダ20に応答可能な全てのタグ10との通信」1回あたりの時間が短い異常検出モードにおいては、「リーダ20に応答可能な全てのタグ10との通信」の頻度(単位時間当たりの回数)を増やす。リーダ20は、「リーダ20に応答可能な全てのタグ10との通信」の頻度を増やすことで、例えば、センサ160によって異常状態等の所定の状態を検出したタグ10のみから、その所定の状態についての情報を、より多く、より詳細に、取得することができる。
【0073】
複数のタグ10の各々は、センサ160の状態(例えば、異常状態等の所定の状態を検知したか否か)に応じて自装置の応答順番を決定する。センサ160によって所定の状態を検知したタグ10は、所定の状態を検知していないタグ10に比べて優先してリーダ20に応答する。センサ160によって所定の状態を検知したタグ10は、所定の状態を検知していないタグ10よりも早くリーダ20に応答するので、リーダ20が小さなQ値を指定した場合であっても、リーダ20は、所定の状態を検知したタグ10からの応答を受信できる。また、センサ160によって異常状態等の所定の状態を検知したタグ10からの応答は、所定の状態を検知していないタグ10からの応答よりも早いため、タグ10は、リーダ20の実行する処理を簡易化し、また、トラフィックを低減することが可能となる。
【0074】
また、リーダ20は、タイムアウトにより、複数のタグ10の各々からの応答の全てを読み取れない場合であっても、センサ160によって異常状態等の所定の状態を検知したタグ10からの応答を優先して受信することができる。つまり、リーダ20は、「センサ160によって異常状態等の所定の状態を検知したタグ10からの応答を、タイムアウトが原因となって受信できない」というリスクを抑制することができる。
【0075】
これまで、交信管理システム1、および交信管理システム1に含まれる装置(タグ10およびリーダ20)の概要について、
図2を用いて説明を行ってきた。次に、交信管理システム1に含まれるタグ10およびリーダ20について、その構成および処理の内容等を、
図1等を用いて説明していく。
【0076】
(タグについて)
図1を参照してタグ10の詳細について説明する前に、タグ10についての理解を容易にするため、タグ10の概要について以下のように整理しておく。
【0077】
(タグの概要)
タグ10は、タイムスロット方式のアンチコリジョン機能を有する応答器であって、センサ160が所定の状態(例えば、異常状態)を検出したかを判定する判定部143と、判定部143によってセンサ160が前記所定の状態を検出したと判定される場合に選択するタイムスロットを、判定部143によってセンサ160が前記所定の状態を検出していないと判定される場合に選択するタイムスロットよりも早いタイムスロットに決定するタイムスロット決定部142(決定部)と、を備えている。
【0078】
具体的には、判定部143が「センサ160によって所定の状態が検出された」と判定した場合にのみ、タイムスロット決定部142は、「通常時用タイムスロット」よりも早い(順番が早い)「異常検出時用タイムスロット」を選択する。
【0079】
前記の構成によれば、タグ10は、センサ160が前記所定の状態を検出したと判定した場合に選択するタイムスロットを、センサ160が前記所定の状態を検出していないと判定した場合に選択するタイムスロットよりも早いタイムスロットに決定する。言い換えれば、複数のタグ10のうち、センサ160が前記所定の状態を検出したと判定したタグ10は、センサ160が所定の状態を検出していないと判定したタグ10に比べて、早いタイムスロットで応答する。
【0080】
したがって、タグ10は、複数のタグ10の各々からの応答のうち、センサ160が異常状態等の前記所定の状態を検出したと判定したタグ10からの応答を、センサ160が異常状態等の前記所定の状態を検出していないと判定したタグ10からの応答に比べて、リーダ20が優先的に受信することを可能とするとの効果を奏する。
【0081】
タグ10のタイムスロット決定部142は、(1)判定部143によってセンサ160が前記所定の状態を検出したと判定される場合に選択するタイムスロットを、乱数閾値Rt(所定の閾値)よりも小さな値の乱数に一致したタイムスロットに決定し、(2)判定部143によってセンサ160が前記所定の状態を検出していないと判定される場合に選択するタイムスロットを、乱数閾値Rt以上の値の乱数に一致したタイムスロットに決定する。
【0082】
例えば、(1)センサ160により所定の状態が検出されたと判定される場合、タイムスロット決定部142は、乱数生成部141がQUERY中のQ値を用いて生成した乱数であって、乱数閾値Rtよりも小さな値の乱数に一致したタイムスロットを選択する。(2)センサ160により所定の状態が検出されていないと判定される場合、タイムスロット決定部142は、乱数生成部141がQUERY中のQ値を用いて生成した乱数であって、乱数閾値Rt以上の値の乱数に一致したタイムスロットを選択する。
【0083】
前記の構成によれば、タグ10は、(1)センサ160が前記所定の状態を検出したと判定した場合に選択するタイムスロットを、乱数閾値Rtよりも小さな値の乱数に一致したタイムスロットに決定する。また、タグ10は、(2)センサ160が所定の状態を検出していないと判定した場合に選択するタイムスロットを、乱数閾値Rt以上の値の乱数に一致したタイムスロットに決定する。
【0084】
つまり、タグ10は、センサ160が前記所定の状態を検出したと判定した場合に選択するタイムスロットを、センサ160が前記所定の状態を検出していないと判定した場合に選択するタイムスロットよりも早いタイムスロットに決定する。そのため、複数のタグ10のうち、センサ160が前記所定の状態を検出したと判定したタグ10は、センサ160が前記所定の状態を検出していないと判定したタグ10に比べて、早いタイムスロットで応答する。
【0085】
したがって、タグ10は、複数のタグ10の各々からの応答のうち、センサ160が異常状態等の前記所定の状態を検出したと判定したタグ10からの応答を、センサ160が異常状態等の前記所定の状態を検出していないと判定したタグ10からの応答に比べて、リーダ20が優先的に受信することを可能とするとの効果を奏する。
【0086】
タグ10はセンサ160を備えている。前記の構成によれば、タグ10はセンサ160を備えており、つまり、タグ10はセンサ付き応答器である。したがって、タグ10は、複数のタグ10の各々からの応答のうち、自装置の備えるセンサ160が異常状態等の前記所定の状態を検出したと判定したタグ10からの応答を、自装置の備えるセンサ160が異常状態等の前記所定の状態を検出していないと判定したタグ10からの応答に比べて、リーダ20が優先的に受信することを可能とするとの効果を奏する。
【0087】
なお、タグ10がセンサ160を備えていることは必須ではなく、タグ10は、自装置の外部に存在するセンサ160からセンサ160の検出結果を取得してもよい。その場合、タグ10は、取得した検出結果からセンサ160が前記所定の状態を検出したか否かを判定し、判定結果に基づいて、自装置がリーダ20に応答するタイムスロットを決定する。
【0088】
(タグの詳細)
図1は、タグ10の要部構成を示すブロック図である。
図1に示すタグ10は、タグ無線通信IC100、タグアンテナ部150、およびセンサ160を含む構成である。なお、記載の簡潔性を担保するため、本実施の形態に直接関係のない構成は、説明およびブロック図から省略している。ただし、実施の実情に則して、タグ10は、当該省略された構成を備えてもよい。
【0089】
タグアンテナ部150は、リーダ20からの電波を、タグ無線通信IC100等を動作させる電力源として受け取る。タグアンテナ部150は、また、リーダ20から受信した電波を無線信号に変換してタグ無線通信IC100に送信するとともに、タグ無線通信IC100からの無線信号を電波に変換してリーダ20に送信する。つまり、タグアンテナ部150は、リーダ20からのQUERYへの応答に際して、自装置の識別情報をリーダ20に送信する。タグアンテナ部150は、リーダ20への応答に際し、自装置の識別情報に加えて、センサ160の検出結果(例えば、異常状態等の所定の状態の発生およびセンサ160の検出した物理量そのものの少なくとも一方)をリーダ20に送信してもよい。言い換えれば、タグアンテナ部150は、リーダ20からのQUERYに対して自装置の識別情報を応答し、さらにセンサ160の検出結果を応答してもよい。タグアンテナ部150には、例えば、アンテナ、共振回路などが使用される。
【0090】
上述の説明の通り、タグ10は、電池などの電源を備えておらず、リーダ20から電波で送電された電力によって回路が動作し、リーダ20と無線通信を行うパッシブタイプのRFIDタグである。しかしながら、タグ10がパッシブタイプのRFIDタグであることは必須ではなく、タグ10は、電池などの電源を備えたセミパッシブまたはアクティブタイプのRFIDタグであってもよい。
【0091】
センサ160は、例えば、位置、速度、圧力、温度、光量、振動、電力(電流値および電圧値の少なくとも一方)などの種々の物理量を検出する検出器であり、検出結果(センシングデータ)をタグ無線通信IC100(特に、判定部143)に通知する。センサ160は、検出結果として、検出した物理量を通知してもよいし、検出した物理量が所定値(基準値)よりも大きいか否かを通知してもよい。例えば、センサ160が温度センサであれば、検出した温度を通知してもよいし、所定値(基準値)より高い温度を検出したか否か(例えば、異常な高温を検出したか否か)を通知してもよい。また、センサ160が振動センサであれば、検出した振動の大きさを通知してもよいし、所定値(基準値)より大きな振動を検出したか否か(例えば、異常な振動を検出したか否か)を通知してもよい。さらに、センサ160は電流センサまたは電圧センサであってもよく、例えば、センサ160に供給される電力の電流値および電圧値の少なくとも一方が所定値(基準値)よりも小さくなった場合に、電力低下(電力異常)を通知してもよい。
【0092】
タグ無線通信IC100は、リーダ20からタグアンテナ部150を介して受信した信号に基づいてリーダ20からのデータを記憶したり、記憶されたデータ等を、タグアンテナ部150を介してリーダ20に送信したりする。具体的には、タグ無線通信IC100は、リーダ20からタグアンテナ部150を介してQUERYを受信し、自装置の識別情報およびセンサ160の検出結果を、タグアンテナ部150を介してリーダ20に応答する。
図1に示すように、タグ無線通信IC100は、タグ無線処理部110、電源部120、メモリ部130、および、タグ制御部140を備える構成である。なお、タグ無線通信IC100は、リーダ20から送信される電波を電力源としているため、ROMなどの不揮発性メモリや、SRAM、FeRAMなどの消費電力の少ないメモリを利用することが望ましい。
【0093】
タグ無線処理部110は、リーダ20からタグアンテナ部150を介して受信した無線信号を元の形式に変換し、変換したデータをタグ制御部140に出力する。また、タグ無線処理部110は、タグ制御部140から受信したデータを無線送信に適した形式に変換し、変換した無線信号を、タグアンテナ部150を介してリーダ20に送信する。タグ無線処理部110は、リーダ20からのQUERYに対して、タイムスロット決定部142によって決定されたタイムスロットで、自装置の識別情報とセンサ160の検出結果とを応答する。タグ無線処理部110には、例えば、A/D(Analog to Digital)変換回路、D/A(Digital to Analog)変換回路、変復調回路、RF回路などが使用される。
【0094】
電源部120は、タグアンテナ部150が電波を受信することにより発生する誘起電圧を整流回路にて整流し、電源回路にて所定の電圧に調整した後、タグ無線通信IC100の各部およびセンサ160に供給する。電源部120には、例えば、ブリッジダイオード、電圧調整用コンデンサなどが使用される。なお、センサ160が電源部120から電力を供給されることは必須ではない。タグ10は、センサ160専用の電池などの電源を備え、センサ160はそのような専用の電源から電力を供給されてもよい。
【0095】
タグ制御部140は、タグ無線通信IC100内における動作を統括的に制御するものである。タグ制御部140は、例えば、論理演算回路、レジスタなどを備え、コンピュータとして機能し、種々の制御プログラムを実行することによって各種の動作制御を行なう。タグ制御部140は、例えば、メモリ部130のROM(Read Only Memory)などにインストールされた制御プログラムを読み込んで実行する。タグ制御部140は、リーダ20からタグアンテナ部150およびタグ無線処理部110を介して制御プログラムをダウンロードしてメモリ部130にインストールして実行しもよい。図示のタグ制御部140には、機能ブロックとして、乱数生成部141、タイムスロット決定部142、および、判定部143が含まれる。
【0096】
乱数生成部141は、リーダ20から受信したQUERY中に含まれているQ値を用いて乱数(疑似乱数)を生成する。具体的には、乱数生成部141は、「0」から「2Q値-1」までの乱数を生成する。乱数生成部141は、例えば「Q値=3」である場合、23=8=[1000]であるので3ビットの乱数[000]~[111]のいずれかを生成する。同様に、乱数生成部141は、例えば「Q値=4」である場合、24=16=[10000]であるので、従来のタグ80は、4ビットの乱数[0000]~[1111]のいずれかを生成する。
【0097】
タイムスロット決定部142は、乱数生成部141が生成した乱数と、判定部143から通知される判定結果と、から、メモリ部130に格納されている乱数閾値Rtを利用して、タグ無線処理部110がID等を送信する(つまり、応答する)タイムスロットを決定する。タイムスロット決定部142は、決定したタイムスロットをタグ無線処理部110に通知する。タイムスロット決定部142によるタイムスロットの決定方法について、詳細は
図4を用いて後述する。
【0098】
判定部143は、センサ160が異常状態等の所定の状態を検出したか否かを判定し、判定結果をタイムスロット決定部142に通知する。判定部143は、センサ160から、センサ160の検出結果(例えば、異常状態等の所定の状態の発生およびセンサ160の検出した物理量そのものの少なくとも一方)を取得する。
【0099】
判定部143は、センサ160から、センサ160の検出した物理量そのものを取得すると、例えば、取得した物理量が所定値(基準値)よりも大きいかを判定し、所定値(基準値)よりも大きい場合、所定の状態(例えば、異常状態)が発生したと判定する。具体的には、判定部143は、センサ160の検出した温度が所定値(基準値)より高い場合、所定の状態(例えば、異常な高温状態)が発生したと判定する。また、判定部143は、センサ160の検出した振動の大きさが所定値(基準値)より大きい場合、所定の状態(例えば、異常な振動状態)が発生したと判定する。さらに、判定部143は、センサ160の検出した電力の電流値および電圧値の少なくとも一方が所定値(基準値)よりも小さい場合、所定の状態(例えば、異常な電力状態)が発生したと判定する。
【0100】
判定部143は、センサ160から、異常状態等の所定の状態が発生したか否かを示す検出結果を取得してもよく、そのような検出結果に基づいて、異常状態等の所定の状態が発生したか否かを判定する。
【0101】
判定部143は、異常状態等の所定の状態の発生の有無(言い換えれば、センサ160が異常状態等の所定の状態を検出したか否か)を判定し、判定結果をタイムスロット決定部142に通知する。
【0102】
なお、これまでに説明してきた「センサ160が検出する物理量」、「判定部143が、センサ160の検出した物理量と所定値(基準値)とを用いて行う判定の方法」、および、「判定部143による判定内容」は一例にすぎない。判定部143は、例えば、センサ160が検出する物理量と所定値(基準値)との大小関係等を利用して、つまり、センサ160が検出した物理量に基づいて、異常状態などの所定の状態の発生の有無を判定し、判定結果をタイムスロット決定部142に通知できればよい。
【0103】
タグ制御部140は、乱数生成部141、タイムスロット決定部142、および、判定部143によって上述の処理を実行するのに加えて、さらに以下の処理を実行する。すなわち、タグ制御部140は、タグアンテナ部150およびタグ無線処理部110を介してリーダ20から受信したデータをメモリ部130に記憶する。また、タグ制御部140は、メモリ部130に記憶されたデータ(例えば、自装置の識別情報)を読み出して、タグアンテナ部150およびタグ無線処理部110を介して、リーダ20に送信する。さらに、タグ制御部140は、センサ160から取得した検出結果(例えば、異常状態等の所定の状態の発生およびセンサ160の検出した物理量そのものの少なくとも一方)を、タグアンテナ部150およびタグ無線処理部110を介して、リーダ20に送信する。
【0104】
メモリ部130は、上記したROMや、SRAM(Static RAM)、FeRAM(強誘電体メモリ)などの半導体メモリによって構成される。このメモリ部130に記憶される内容としては、上記した制御プログラム、およびその他各種のプログラム、ならびに各種データが挙げられる。また、メモリ部130には、自装置の識別情報および乱数閾値Rtが格納されている。
【0105】
乱数閾値Rtは、リーダ20からのQUERYに対して応答するタイムスロットをタイムスロット決定部142が決定する(選択する)際に利用される。具体的には、タイムスロット決定部142は、(1)判定部143によって異常状態などの所定の状態が発生したと判定されると、乱数生成部141の生成した乱数(疑似乱数)であって、乱数閾値Rtよりも小さな値の乱数に一致したタイムスロットを選択する。また、タイムスロット決定部142は、(2)判定部143によって異常状態などの所定の状態が発生していないと判定されると、乱数生成部141の生成した乱数(疑似乱数)であって、乱数閾値Rt以上の値の乱数に一致したタイムスロットを選択する。
【0106】
(リーダについて)
これまで、タグ10について
図1を参照して構成を説明してきたが、次に、複数のタグ10と交信するリーダ20について
図3を参照して詳細を説明する。先ず、リーダ20についての理解を容易にするため、リーダ20の概要について以下のように整理しておく。
【0107】
(リーダの概要)
リーダ20は、複数のタグ10のような「タイムスロット方式のアンチコリジョン機能を有する複数の応答器」の各々と通信する質問機である。リーダ20は、複数のタグ10の各々からの応答のうち、タイムスロット判定値Ts(所定値)以下の順番のタイムスロットで受信した応答があるかを判定する受信判定部201と、受信判定部201によって、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答があると判定されると、複数のタグ10の各々が選択可能なタイムスロットの個数を、2Q2(所定の基準値)以下の個数に指定するQ値指定部202(指定部)と、を備えている。
【0108】
前記の構成によれば、リーダ20は、複数のタグ10の各々からの応答のうち、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答があると判定すると、複数のタグ10の各々が選択可能なタイムスロットの個数を、2Q2以下の個数に指定する。つまり、リーダ20は、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答があると判定すると、リーダ20に応答可能なタグ10を限定する。
【0109】
例えば、センサ160によって所定の状態を検出したタグ10のみがタイムスロット判定値Ts以下の順番のタイムスロットで応答できる場合、リーダ20は、リーダ20に対して応答可能なタグ10を、例えば、センサ160によって所定の状態を検出したタグ10に限定する。
【0110】
したがって、リーダ20は、センサ160によって所定の状態を検出したタグ10からの応答を、センサ160によって前記所定の状態を検出していないタグ10からの応答に比べて、優先的に受信することができるとの効果を奏する。
【0111】
(リーダの詳細)
図3は、リーダ20の要部構成を示すブロック図である。
図3に示すリーダ20は、リーダ制御部200、リーダアンテナ部210、リーダ無線処理部220、および、外部I/F部230を含む構成である。なお、記載の簡潔性を担保するため、本実施の形態に直接関係のない構成は、説明およびブロック図から省略している。ただし、実施の実情に則して、リーダ20は、当該省略された構成を備えてもよい。
【0112】
リーダ20は、複数のタグ10との交信制御にタイムスロット方式のアンチコリジョン機能を利用している。この機能により、リーダ20のリーダアンテナ部210の交信領域内に複数のタグ10が存在しても、リーダ20は、複数のタグ10の各々から送信されたデータを略一括して読み取ることができる。
【0113】
リーダアンテナ部210は、リーダ無線処理部220からの無線信号を電波として外部に送信するとともに、外部から受信した電波を無線信号に変換してリーダ無線処理部220に出力するものである。リーダアンテナ部210には、例えば、アンテナ、共振回路などが使用される。
【0114】
リーダ無線処理部220は、リーダ制御部200から取得したデータを無線送信に適した形式に変換し、変換した無線信号を、リーダアンテナ部210を介してタグ10に送信する。また、リーダ無線処理部220は、タグ10からリーダアンテナ部210を介して受信した無線信号を元の形式に変換し、変換したデータをリーダ制御部200に出力する。リーダ無線処理部220は、リーダアンテナ部210を介して、Q値指定部202によって指定された(設定された)Q値を含むQUERYを発行する。また、リーダ無線処理部220は、リーダアンテナ部210を介して、複数のタグ10の各々からの応答を受信し、受信した応答を、応答のあったタイムスロットを示す情報とともに、リーダ制御部200(特に、受信判定部201)に通知する。リーダ無線処理部220には、例えば、A/D(Analog to Digital)変換回路、D/A(Digital to Analog)変換回路、変復調回路、RF回路などが使用される。
【0115】
外部I/F部230は、PLC(Programmable Logic Controller)などの外部装置と通信を行うものである。外部I/F部230のインタフェース規格としては、USB(Universal Serial Bus)、IEEE1394、Ethernet(登録商標)などが挙げられる。
【0116】
リーダ制御部200は、リーダ20の機能を統括して制御するものである。図示のリーダ制御部200には、機能ブロックとして、受信判定部201およびQ値指定部202が含まれている。
【0117】
受信判定部201は、複数のタグ10の各々からの応答のうち、所定範囲のタイムスロットで受信した応答があったか否かを判定し、判定結果をQ値指定部202に通知する。具体的には、受信判定部201は、(1)リーダ無線処理部220から、複数のタグ10の各々からの応答、および、応答のあったタイムスロットを示す情報を取得する。受信判定部201は、(2)記憶部240のタイムスロット判定値テーブル241を参照してタイムスロット判定値Tsを取得する。受信判定部201は、(3)複数のタグ10の各々からの応答のうち、タイムスロット判定値Ts以下の(つまり、タイムスロット判定値Tsと同じ、または、タイムスロット判定値Tsよりも早い)順番のタイムスロットで受信した応答があるかを判定する。言い換えれば、受信判定部201は、複数のタグ10の各々が応答した複数のタイムスロットの中に、タイムスロット判定値Ts以下の順番のタイムスロットがあるかを判定する。受信判定部201は、(4)判定結果をQ値指定部202に通知する。
【0118】
タイムスロット判定値Ts以下の順番のタイムスロットでの応答があると判定した場合、受信判定部201はさらに、所定の状態の発生を、外部I/F部230を介してPLC等の外部装置に通知してもよい。
【0119】
Q値指定部202は、受信判定部201から通知される判定結果から、記憶部240に格納されているQ値管理テーブル242を参照して、QUERY中に含めるQ値を指定し(設定し)、指定したQ値をリーダ無線処理部220に通知する。Q値指定部202は、受信判定部201によってタイムスロット判定値Ts以下の順番のタイムスロットでの応答があると判定された場合、ないと判定された場合に比べて、Q値の値を小さくする。すなわち、Q値指定部202は、受信判定部201から通知される判定結果に基づいて、Q値を、Q値管理テーブル242に格納されているQ1またはQ2(Q1>Q2≧0)に指定する(設定する)。
【0120】
具体的には、(A)受信判定部201によって、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答がないと判定されると、Q値指定部202は通常モードを選択し、Q値を「通常時用のQ値」であるQ1(Q1>Q2≧0)に設定する。(B)受信判定部201によって、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答があると判定されると、Q値指定部202は異常検出モードを選択し、Q値を「異常検出時用のQ値」であるQ2に設定する。
【0121】
なお、Q値指定部202は、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答がある場合にはQ値を「異常検出時用のQ値」に設定し、ない場合にはQ値を「異常検出時用のQ値」よりも大きな値に適宜設定してもよい。すなわち、Q値指定部202は、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答がある場合(つまり、所定の状態が発生した場合)のQ値を、所定の状態が発生していない場合のQ値よりも小さくできればよい。
【0122】
上述したリーダ制御部200の各機能ブロックは、例えば、CPU(central processing unit)などが、ROM(read only memory)、NVRAM(non-Volatile random access memory)等で実現された記憶装置(記憶部240)に記憶されているプログラムを不図示のRAM(random access memory)等に読み出して実行することで実現できる。
【0123】
記憶部240は、リーダ20が使用する各種データを格納する。記憶部240は、リーダ20が実行する(1)制御プログラム、(2)OSプログラム、(3)各種機能を実行するためのアプリケーションプログラム、および、(4)該アプリケーションプログラムを実行するときに読み出す各種データを記憶する。上記の(1)~(4)のデータは、例えば、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶される。また、記憶部240には、タイムスロット判定値テーブル241およびQ値管理テーブル242が格納されている。
【0124】
タイムスロット判定値テーブル241には、受信判定部201が、複数のタグ10の各々が応答したタイムスロットから、所定の状態の発生の有無を判定する際に利用するタイムスロット判定値Tsが格納されている。
【0125】
Q値管理テーブル242には、「通常時用のQ値」であるQ1と、「異常検出時用のQ値」であるQ2と、が格納されている(Q1>Q2≧0)。Q1は、受信判定部201によって、「複数のタグ10の各々からの応答のうち、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答がない」と判定された場合にQ値指定部202が指定するQ値である。Q2は、受信判定部201によって、「複数のタグ10の各々からの応答のうち、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答がある」と判定された場合にQ値指定部202が指定するQ値である。
【0126】
(本発明の一態様に係るタグのタイムスロット選択方法)
図4は、タグ10が選択するタイムスロットを説明する図である。タイムスロット決定部142は、リーダ20からのQUERYに応答するタイムスロットを、「異常検出時用タイムスロット」または「通常時用タイムスロット」に決定する。タイムスロット決定部142は、判定部143によってセンサ160が異常状態等の前記所定の状態を検出したと判定された場合にのみ、QUERYに応答するタイムスロットを、「異常検出時用タイムスロット」に決定する。
【0127】
「異常検出時用タイムスロット」は、乱数生成部141がQUERY中のQ値を用いて生成した乱数(疑似乱数)であって、乱数閾値Rtよりも小さな値の乱数に一致するタイムスロットである。
図4には、「乱数閾値Rt=4=[100]」である場合の「異常検出時用タイムスロット」および「通常時用タイムスロット」が例示されている。
【0128】
「乱数閾値Rt=4=[100]」である場合、「異常検出時用タイムスロット」は、[00]~[11]のいずれかに一致するタイムスロットT1~T4のいずれかである。また、「通常時用タイムスロット」は、[100]以上の値の乱数に一致するタイムスロットT5以降のタイムスロットである。
【0129】
タイムスロット決定部142は、判定部143によってセンサ160が異常状態等の前記所定の状態を検出したと判定された場合にのみ、QUERYに応答するタイムスロットを、タイムスロットT1~T4のいずれかに決定する。タイムスロット決定部142は、判定部143によってセンサ160が異常状態等の前記所定の状態を検出していないと判定された場合、QUERYに応答するタイムスロットを、タイムスロットT5以降のタイムスロットのいずれかに決定する。
【0130】
(システムにおいて実行される処理のフロー)
これまでに
図1~
図4を用いて構成等を説明してきたタグ10およびリーダ20について、次に、タグ10およびリーダ20の各々が実行する処理について
図5および
図6を用いて説明していく。
【0131】
(タグが実行する処理のフロー)
図5は、タグ10の処理の概要を示すフローチャートである。
図5に例示するように、タグアンテナ部150が、リーダ20からのQUERY(Q値含む)を受信すると(S110)、乱数生成部141は、Q値を用いて乱数(疑似乱数)を生成する(S120)。
【0132】
判定部143は、センサ160からセンサ160の検出結果を取得し、センサ160が異常状態等の所定の状態を検出したか否かを判定する(S130)。判定部143によって「センサ160が異常状態等の所定の状態を検出した」と判定されると(S130でYes)、タイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rtよりも小さいかを判定する(S140)。
【0133】
タイムスロット決定部142は、乱数生成部141の生成した乱数(乱数の値)が乱数閾値Rtよりも小さいと判定すると(S140でYes)、その乱数に一致する(その乱数の値に一致する)タイムスロットを、タグ無線処理部110に通知する。タグ無線処理部110は、リーダ20からのQUERYに対して、タイムスロット決定部142から通知されたタイムスロットで、自装置の識別情報とセンサ160の検出結果とを応答する(S150)。
【0134】
タイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rt以上であると判定すると(S140でNo)、乱数生成部141に乱数の再生成を指示し、再生成の指示を受け付けた乱数生成部141はQ値を用いて乱数を生成する(S120)。乱数生成部141の生成した乱数が乱数閾値Rtより小さくなるまで、S120~S140の処理が繰り返される。
【0135】
つまり、判定部143が「センサ160によって所定の状態が検出された」と判定すると(S130でYes)、タイムスロット決定部142は、乱数閾値Rtよりも小さい乱数に一致するタイムスロットである「異常検出時用タイムスロット」を選択する。
【0136】
判定部143によって「センサ160が異常状態等の所定の状態を検出していない」と判定されると(S130でNo)、タイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rt以上であるかを判定する(S160)。
【0137】
タイムスロット決定部142は、乱数生成部141の生成した乱数(乱数の値)が乱数閾値Rt以上であると判定すると(S160でYes)、その乱数に一致する(その乱数の値に一致する)タイムスロットを、タグ無線処理部110に通知する。タグ無線処理部110は、リーダ20からのQUERYに対して、タイムスロット決定部142から通知されたタイムスロットで、自装置の識別情報とセンサ160の検出結果とを応答する(S150)。
【0138】
タイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rtより小さいと判定すると(S160でNo)、乱数生成部141に乱数の再生成を指示し、再生成の指示を受け付けた乱数生成部141はQ値を用いて乱数を生成する(S120)。乱数生成部141の生成した乱数が乱数閾値Rtより小さくなるまで、S120、S130、およびS160の処理が繰り返される。
【0139】
つまり、判定部143が「センサ160によって所定の状態が検出されていない」と判定すると(S130でNo)、タイムスロット決定部142は、乱数閾値Rt以上の乱数に一致するタイムスロットである「通常時用タイムスロット」を選択する。
【0140】
(タイムスロットの決定方法の具体例)
Q値=8であり、かつ、乱数閾値Rt=4である場合、タイムスロット決定部142および乱数生成部141は以下の処理を実行する。第1に、28=[100000000]であるので、タグ10が選択可能なタイムスロットは、8ビットの乱数[00000000]~[11111111]のいずれかに一致するタイムスロットである。乱数生成部141は、[00000000]~[11111111]のいずれかを生成する(S120)。
【0141】
第2に、タイムスロット決定部142は、「乱数生成部141の生成した乱数」および「判定部143の判定結果」に応じて以下のように乱数を決定し、決定した乱数に一致するタイムスロットをタグ無線処理部110に通知する。
【0142】
判定部143から「センサ160によって所定の状態が検出された(S130でYes)」との判定結果を通知されたタイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rtより小さいかを判定する(S140)。タイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rtより小さいと判定すると(S140でYes)、その乱数に一致するタイムスロットをタグ無線処理部110に通知する。タイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rt以上であると判定すると(S140でNo)、乱数生成部141に乱数の再生成を指示する。乱数生成部141の生成した乱数が乱数閾値Rtより小さくなるまで、タイムスロット決定部142は、乱数生成部141に乱数を生成させる。
【0143】
乱数閾値Rt=4=[00000100]であるから、乱数生成部141の生成した乱数が[00000000]~[00000011]のいずれかであると、タイムスロット決定部142はその乱数に一致するタイムスロットをタグ無線処理部110に通知する。乱数生成部141の生成した乱数が[00000100]~[11111111]のいずれかであると、乱数生成部141の生成した乱数が[00000000]~[00000011]のいずれかになるまで、タイムスロット決定部142は乱数を再生成させる。
【0144】
判定部143から「センサ160によって所定の状態が検出されていない(S130でNo)」との判定結果を通知されたタイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rt以上であるかを判定する(S160)。タイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rt以上であると判定すると(S160でYes)、その乱数に一致するタイムスロットをタグ無線処理部110に通知する。タイムスロット決定部142は、乱数生成部141の生成した乱数が乱数閾値Rtより小さいと判定すると(S160でNo)、乱数生成部141に乱数の再生成を指示する。乱数生成部141の生成した乱数が乱数閾値Rt以上になるまで、タイムスロット決定部142は、乱数生成部141に乱数を生成させる。
【0145】
乱数生成部141の生成した乱数が[00000100]~[11111111]のいずれかであると、タイムスロット決定部142はその乱数に一致するタイムスロットをタグ無線処理部110に通知する。乱数生成部141の生成した乱数が[00000000]~[00000011]のいずれかであると、乱数生成部141の生成した乱数が[00000100]~[11111111]のいずれかになるまで、タイムスロット決定部142は乱数を再生成させる。
【0146】
(タイムスロットの決定方法の変形例)
なお、タイムスロット決定部142が、(A)センサ160が所定の状態を検出した場合は「異常検出時用タイムスロット」を、(B)検出していない場合は「通常時用タイムスロット」を、選択する方法は、
図5に示す方法に限られるものではない。
【0147】
例えば、(A)判定部143が「センサ160によって所定の状態が検出された」と判定とした場合、乱数生成部141はQxを用いて乱数を生成してもよい。ここで、Qxは、乱数生成部141がQxを用いて生成する乱数が、乱数閾値Rtよりも小さくなる値であり、つまり、「Rt≧2Qx」を満たす。
【0148】
例えば「乱数閾値Rt=4=22」である場合、「2≧Qx」である。したがって、乱数生成部141は、判定部143が「センサ160によって所定の状態が検出された」と判定とした場合、例えば「2≧Qx」を満たす「Qx=2」を用いて乱数を生成する。具体的には、22=[100]であるので、乱数生成部141は、2ビットの乱数[00]~[11]のいずれかを生成し、つまり、乱数生成部141がQxを用いて生成する乱数はいずれも、「乱数閾値Rt=4」よりも小さい。そして、タイムスロット決定部142は、乱数生成部141がQxを用いて生成した乱数に一致するタイムスロットを、リーダ20に応答するためのタイムスロットとして選択する。
【0149】
また、(B)判定部143が「センサ160によって所定の状態が検出された」と判定とした場合、乱数生成部141は、リーダ20から受信したQuery中のQ値を用いて乱数を生成する。そして、タイムスロット決定部142は、乱数生成部141がQ値を用いて生成した乱数であって、乱数閾値Rt以上の値の乱数に一致したタイムスロットを、リーダ20に応答するためのタイムスロットとして選択する。
【0150】
すなわち、乱数生成部141は、判定部143による判定結果に応じて、つまり、「センサ160が所定の状態を検出したか否か(言い換えれば、所定の状態の発生有無)」に応じて、「『Rt≧2Qx』を満たすQx」またはQ値を用いて乱数を生成してもよい。具体的には、(A)所定の状態が発生した場合、乱数生成部141はQxを用いて乱数を生成し、(B)所定の状態が発生していない場合、乱数生成部141はQ値を用いて乱数を生成してもよい。
【0151】
図5に示す処理例において、所定の状態が発生した場合(S130でYes)、乱数生成部141は、生成した乱数が乱数閾値Rtより小さくなるまで、Q値を用いて乱数を生成する。そのため、
図5に示す処理例では、乱数生成部141が乱数を何回も生成し、タグ10のリーダ20への応答が遅くなる可能性がある。これに対して、乱数生成部141は、Qxを用いて乱数を生成することにより、一回で、乱数閾値Rtよりも小さな(乱数閾値Rtよりも値の小さい)乱数を生成することができる。したがって、所定の状態が発生した場合、乱数生成部141がQxを用いて乱数を生成することによって、タグ10は、リーダ20へ、
図5に示す処理例よりも早く応答することが可能となる。乱数生成部141が生成する乱数の値について、(A)所定の状態が発生した場合に生成する乱数(乱数の値)の方が、(B)所定の状態が発生していない場合に生成する乱数(乱数の値)よりも小さい。
【0152】
以上に説明した通り、(A)所定の状態が発生した場合、タイムスロット決定部142は、乱数閾値Rtよりも小さな値の乱数に一致したタイムスロットを、リーダ20に応答するためのタイムスロットとして選択する。(B)所定の状態が発生していない場合、タイムスロット決定部142は、乱数閾値Rt以上の値の乱数に一致したタイムスロットを、リーダ20に応答するためのタイムスロットとして選択する。
【0153】
図5を用いて説明してきたタグ10の実行する処理は、以下のように整理することができる。すなわち、タグ10が実行する処理は、タイムスロット方式のアンチコリジョン機能を有する応答器の制御方法であって、センサ160が所定の状態(例えば、異常状態)を検出したかを判定する判定ステップ(S130)と、前記判定ステップにてセンサ160が前記所定の状態を検出したと判定される場合に選択するタイムスロットを、前記判定ステップにてセンサ160が前記所定の状態を検出していないと判定される場合に選択するタイムスロットよりも早いタイムスロットに決定する決定ステップ(S140およびS160)と、を含んでいる。
【0154】
具体的には、センサ160によって所定の状態が検出されたと判定される場合(S130でYes)にのみ、「通常時用タイムスロット」よりも早い(順番が早い)「異常検出時用タイムスロット」を選択する(S140)。
【0155】
前記の制御方法によれば、タグ10は、センサ160が前記所定の状態を検出したと判定した場合に選択するタイムスロットを、センサ160が前記所定の状態を検出していないと判定した場合に選択するタイムスロットよりも早いタイムスロットに決定する。言い換えれば、複数のタグ10のうち、センサ160が前記所定の状態を検出したと判定したタグ10は、センサ160が所定の状態を検出していないと判定したタグ10に比べて、早いタイムスロットで応答する。
【0156】
したがって、タグ10が実行する処理は、複数のタグ10の各々からの応答のうち、センサ160が異常状態等の前記所定の状態を検出したと判定したタグ10からの応答を、センサ160が異常状態等の前記所定の状態を検出していないと判定したタグ10からの応答に比べて、リーダ20が優先的に受信することを可能とするとの効果を奏する。
【0157】
(リーダが実行する処理のフロー)
図6は、リーダ20処理の概要を示すフローチャートである。
図6に例示するように、リーダアンテナ部210がタグ10からの応答を受信すると(S210)、受信判定部201は、その応答をタイムスロット判定値Ts以下の順番のタイムスロットで受信したかを判定する(S220)。言い換えれば、受信判定部201は、複数のタグ10の各々が応答したタイムスロットの中に、タイムスロット判定値Ts以下のタイムスロット(タイムスロット判定値Tsと同じ、またはタイムスロット判定値Tsよりも早いタイムスロット)があるかを判定する。
【0158】
受信判定部201により「タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答がある」と判定されると(S220でYes)、Q値指定部202は、Q値=Q2(<Q1)として、QUERYを発行する(S230)。受信判定部201により「タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答がない」と判定されると(S220でNo)、Q値指定部202は、Q値=Q1(>Q2)として、QUERYを発行する(S240)。
【0159】
(Q値の決定方法の具体例)
Q2が「2Q2=乱数閾値Rt」を満たし、かつ、「タイムスロット判定値Ts」が「乱数閾値Rt」に一致するタイムスロットの1つ前のタイムスロットである場合、リーダ20は、センサ160により所定の状態を検出したタグ10のみに応答を許可する。例えば、「乱数閾値Rt=4=[100]」である場合、Q2は「2Q2=乱数閾値Rt」を満たすから、「Q2=2」となる。また、「タイムスロット判定値Ts」は「乱数閾値Rt=[100]」に一致するタイムスロットT5の1つ前のタイムスロットであるので、「タイムスロット判定値Ts」はタイムスロットT4である。
【0160】
乱数閾値Rt=[100]であるので、センサ160により異常状態等の所定の状態を検出したタグ10のみが、[100]よりも小さな値の乱数(すなわち、[00]~[11])に一致するタイムスロットT1~T4のいずれかで、リーダ20に応答する。
【0161】
タグ10からの応答を受信すると(S210)、受信判定部201は、応答を受信したタイムスロットが、タイムスロット判定値Ts以下であるか否かを判定する(S220)。具体的には、受信判定部201は、タグ10からの応答を、「タイムスロット判定値Ts=T4」以下の順番のタイムスロットで、つまり、タイムスロットT1~T4のいずれかで、受信したか否かを判定する。
【0162】
乱数閾値Rt=[100]であるので、リーダ20が、タグ10からの応答を、[100]よりも小さな値の乱数に一致するタイムスロットT1~T4のいずれかで受信した場合、その応答を行なったタグ10の備えるセンサ160は、所定の状態を検出している。したがって、受信判定部201は、「タグ10からの応答を『タイムスロット判定値Ts=T4』以下のタイムスロットで受信したか否か」を判定することで、「センサ160よって所定の状態が検出されたか(所定の状態が発生したか)」を判定することができる。
【0163】
そして、受信判定部201によって「タグ10からの応答をタイムスロットT1~T4のいずれかで受信した」と判定されると(S220でYes)、Q値指定部202は、Q値=Q2=2として、QUERYを発行する(S230)。言い換えれば、受信判定部201によって「所定の状態が発生した」と判定されると、Q値指定部202は、Q値=Q2=2として、QUERYを発行する。
【0164】
タグ10が「Q値=Q2=2」を含むQUERYを受信すると、22=[100]であるので、乱数生成部141は、2ビットの乱数[00]~[11]のいずれかを生成する。ここで、乱数生成部141が生成する[00]~[11]は、いずれも乱数閾値Rt=4=[100]よりも小さい。そして、乱数閾値Rt=4=[100]よりも小さな値の乱数([00]~[11])に一致するタイムスロットT1~T4で、リーダ20に応答することのできるタグ10は、センサ160によって異常状態等の所定の状態を検出したタグ10のみである。
【0165】
つまり、「乱数閾値Rt=4=[100]」、「Q2=2」、「タイムスロット判定値Ts=T4」の場合、受信判定部201によって「所定の状態が発生した」と判定されると、リーダ20は、リーダ20に応答可能なタグ10を以下のように限定する。すなわち、リーダ20は、リーダ20に応答可能なタグ10を、「センサ160によって異常状態等の所定の状態を検出したタグ10」のみに限定する。
【0166】
したがって、リーダ20は、(A)「2Q2=乱数閾値Rt」を満たすようにQ2を設定し、(B)「タイムスロット判定値Ts」を「『乱数閾値Rt』に一致するタイムスロットの1つ前のタイムスロット」に設定することによって、所定の状態を検出したタグ10のみに応答を許可することができる。
【0167】
リーダ20は、「所定の状態が発生した」と判定すると、「アンテナ交信領域内に存在するタグ10の全てと通信する」通常モードから、「センサ160によって異常状態等の所定の状態を検出したタグ10のみと通信する」異常検出モードに遷移する。通常モードに比べて「リーダ20に応答可能な全てのタグ10との通信」1回あたりの時間が短い異常検出モードにおいては、リーダ20は、「リーダ20に応答可能な全てのタグ10との通信」の頻度を増やすことができる。したがって、リーダ20は、「センサ160によって異常状態等の所定の状態を検出したタグ10のみとの通信」の頻度を増やし、その所定の状態についての情報を、より多く、より詳細に、取得することができる。
【0168】
図6を用いて説明してきたリーダ20の実行する処理は、以下のように整理することができる。すなわち、リーダ20が実行する処理は、複数のタグ10のような「タイムスロット方式のアンチコリジョン機能を有する複数の応答器」の各々と通信する質問機の制御方法であって、複数のタグ10の各々からの応答のうち、タイムスロット判定値Ts(所定値)以下の順番のタイムスロットで受信した応答があるかを判定する受信判定ステップ(S220)と、前記受信判定ステップにて、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答があると判定されると、複数のタグ10の各々が選択可能なタイムスロットの個数を、2
Q2(所定の基準値)以下の個数に指定する指定ステップ(S230)と、を含んでいる。
【0169】
前記の制御方法によれば、リーダ20は、複数のタグ10の各々からの応答のうち、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答があると判定すると、複数のタグ10の各々が選択可能なタイムスロットの個数を、2Q2以下の個数に指定する。つまり、リーダ20は、タイムスロット判定値Ts以下の順番のタイムスロットで受信した応答があると判定すると、リーダ20に応答可能なタグ10を限定する。
【0170】
例えば、センサ160によって所定の状態を検出したタグ10のみがタイムスロット判定値Ts以下の順番のタイムスロットで応答できる場合、リーダ20は、リーダ20に対して応答可能なタグ10を、例えば、センサ160によって所定の状態を検出したタグ10に限定する。
【0171】
したがって、リーダ20が実行する処理は、センサ160によって所定の状態を検出したタグ10からの応答を、センサ160によって前記所定の状態を検出していないタグ10からの応答に比べて、リーダ20が優先的に受信することができるとの効果を奏する。
【0172】
(交信周波数について)
タグ10は、交信周波数としてUHF帯(例えば850MHz以上、より好適には850~960MHz)の電波を用いる。
【0173】
一般に、無線タグ向けの周波数帯域としては、13.56MHz帯、800MHz~960MHz前後のいわゆるUHF帯、2.45GHz帯などがある。ここで、UHF帯の電波は、13.56MHz帯の電波に比べて、通信距離を伸長し易い。また、UHF帯の電波は、2.4GHz帯の電波に比べて、物陰に回り込み易い。したがって、交信周波数としてUHF帯の電波を利用すれば、リーダ20がタグ10と通信可能な空間領域である通信エリアを比較的広範囲に拡大することが可能となる。つまり、リーダ20とタグ10とがUHF帯の変調反射技術を用いる場合、1つのリーダ20が同時期に読み込むことが可能なタグ10の個数は、HF帯等、UHF帯以外の周波数帯域を用いる場合に比べて増える。そのため、リーダ20とタグ10とがUHF帯の変調反射技術を用いる場合、リーダ20に応答可能な複数のタグ10の各々からの応答のうち、センサ160により所定の状態を検出したタグ10からの応答をリーダ20が優先的に受信する必要性は、より高くなる。
【0174】
したがって、タグ10は、HF帯等、UHF帯以外の周波数帯域を用いる場合に比べてより多くのタグ10と通信可能なリーダ20が、センサ160により所定の状態を検出したタグ10からの応答を他のタグ10からの応答に比べて優先的に受信することを可能にするとの効果を奏する。
【0175】
なお、本実施形態においては、リーダ20とタグ10とがUHF帯を用いて通信することを想定している。しかしながら、リーダ20とタグ10との通信周波数帯域はUHF帯に限定されるものではない。リーダ20とタグ10との通信周波数帯域は、RFIDタグ向けの周波数帯域としての、13.56MHz帯、2.45GHz帯などの周波数帯域を用いてもよく、さらには、無線による通信を行うことが可能なその他の周波数帯による通信が行われても構わない。
【0176】
〔変形例〕
これまで、タグ10およびリーダ20が、各々、タイムスロット方式のアンチコリジョン機能を備えるRFIDタグおよびRFIDリーダ/ライタである例を説明したが、両者が各々、RFIDタグおよびRFIDリーダ/ライタであることは必須ではない。タグ10とリーダ20との間の通信は、TDMAまたはTDMAに準拠するマルチアクセス方式を採用してもよく、そのタイムスロットの優先順位の決定方法として、センサ160の検知結果を利用してもよい。
【0177】
また、タグ10が自装置の応答のためのタイムスロットを決定する基準である「センサ160の検知結果」は、「センサ160が異常状態を検知したか否か」に限られるものではない。タグ10は、センサ160の状態(例えば、センサ160の検出結果)に応じて、自装置の応答のためのタイムスロットを決定すればよい。
【0178】
さらに、上述までの説明では、リーダ20はQ値をQ1またはQ2のいずれかに設定する例を説明してきたが、リーダ20が設定し得るQ値は、Q1またはQ2の2種類に限られるものではない。リーダ20が設定し得るQ値は、3種類以上であってもよく、つまり、リーダ20は、複数のタグ10の各々からの応答について、複数(例えば、3種類以上)の優先順位を設定できてもよい。リーダ20は、タグ10からの応答について、「所定の状態を検出したか否か」という2種類に限らず、例えば、以下のような3種類に分けて優先順位を設定してもよい。
【0179】
すなわち、リーダ20は、タグ10からの応答を、センサ160が、「早急に報告すべき警告状態を検出した」場合、「注意を喚起すべき注意状態を検出した」場合、「報告指示を待って報告すべき通常状態を検出した」場合に分けて、優先順位を設定してもよい。
【0180】
〔ソフトウェアによる実現例〕
リーダ20は、リーダ20としてコンピュータを機能させるための情報処理プログラムであってリーダ20の各部(特に受信判定部201およびQ値指定部202)としてコンピュータを機能させるための情報処理プログラムによって実現してもよい。また、そのような情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体を、コンピュータに読み込ませることによって、リーダ20を実現してもよい。
【0181】
すなわち、リーダ20の制御ブロック(特に受信判定部201およびQ値指定部202)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
【0182】
後者の場合、リーダ20は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0183】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0184】
10 タグ(応答器)
20 リーダ(質問機)
142 タイムスロット決定部(決定部)
143 判定部
160 センサ
201 受信判定部
202 Q値指定部(指定部)
Rt 乱数閾値(所定の閾値)
Ts タイムスロット判定値(所定値)
2Q2 所定の基準値
S130 判定ステップ
S140およびS160 決定ステップ
S220 受信判定ステップ
S230 指定ステップ