(57)【要約】【課題】  ラダープログラマの作業負担を減らすとともに、ネットワーク全体のアクセス速度の低下を防ぐ。【解決手段】  無線タグ通信装置１００を被制御機器として制御する上位装置３００と接続可能に構成されるとともに、上位装置３００と共有されるデータであって、上位装置３００において無線タグ通信装置１００が割り付けられた識別情報によって特定されるデータを記憶するＰＬＣ共有メモリ１０２と、無線タグ２００からのレスポンスデータを記憶するタグ共有メモリ１０４と、識別情報とアクセスすべき無線タグ２００のタグアドレスとの対応関係を示す対応情報を記憶するアドレス対応テーブルメモリ１０３と、を備える。【選択図】          図２
2011128912.tif 000002
【特許請求の範囲】
【請求項１】
無線タグとの間で非接触通信を行うために無線信号を送受信する通信手段と、
前記通信手段を制御する通信制御手段と、を有する無線タグ通信装置であって、
前記無線タグ通信装置を被制御機器として制御する上位装置と接続可能に構成されるとともに、
前記上位装置において前記無線タグ通信装置が割り付けられた識別情報によって特定されるデータに対応し、前記上位装置と共有されるデータを記憶する共有データ記憶手段と、
前記通信制御手段によって前記無線タグとの間で非接触通信を行う際に、前記無線タグと通信するタグデータを記憶するタグデータ記憶手段と、
前記識別情報と前記タグデータとの対応関係を示す対応情報を記憶する対応情報記憶手段と、を備えることを特徴とする無線タグ通信装置。
【請求項２】
前記通信制御手段は、前記対応情報記憶手段に記憶されている情報に基づいて、アクセスすべき前記無線タグのタグアドレスを特定し、前記通信手段を制御することを特徴とする請求項１記載の無線タグ通信装置。
【請求項３】
前記対応情報記憶手段には、前記識別情報と前記タグアドレスとの対応関係を規定する対応テーブルが記憶されており、
当該対応テーブルの内容を編集する対応テーブル編集手段を備えることを特徴とする請求項１又は２記載の無線タグ通信装置。
【請求項４】
前記対応テーブル編集手段は、前記無線タグ通信装置に接続された対応テーブル編集装置からのコマンドに基づいて、前記対応テーブルの内容を編集することを特徴とする請求項３記載の無線タグ通信装置。
【請求項５】
前記対応情報記憶手段は、前記識別情報と前記タグアドレスとの対応関係を規定する対応テーブルを複数記憶しており、
前記通信制御手段は、前記対応情報記憶手段に記憶された複数の対応テーブルのうちいずれかを選択し、アクセスすべき前記無線タグのタグアドレスを特定し、前記通信手段を制御することを特徴とする請求項１から４のいずれか記載の無線タグ通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線タグに非接触でアクセスしてデータの読み取り及び／又は書き込みが可能な無線タグ通信装置に関する。
【背景技術】
【０００２】
従来から、ＦＡ（Factory
Automation）や物流の分野では、製品識別や製品管理を行うための技術として無線タグが用いられている。無線タグは、ＲＦ（Radio Frequency）信号を使用して無線タグ内の半導体メモリのデータにアクセスするもので、一般にＲＦＩＤ（Radio Frequency Identification）と呼ばれている。このような無線タグとＲＦ信号で交信し、無線タグ内のデータにアクセスする装置は一般にリーダーライター或いはＲＦＩＤ装置と呼ばれている。
【０００３】
無線タグは、例えばＦＡの分野では、製造ラインの搬送路上を搬送されてくる製品（以下ワークとする）、又はワークが載置されたパレットに予め取り付けられる。一方で、ＲＦＩＤ装置は、その搬送路を構成する製造装置の一部として取り付けられていることが多い。また、無線タグについては複数の種類が存在しているが、ＦＡや物流で使われるものの多くは国際規格ＩＳＯ（International Organization for Standardization）／ＩＥＣ１５６９３に準拠している。この国際規格に準拠した無線タグは、内部メモリをブロック単位で管理しているが、１ブロックを構成するメモリのバイト数は規定されておらず、例えば１ブロックが４バイトの無線タグや、１ブロックが８バイトの無線タグなどが存在する。このため、ユーザは、無線タグと交信するためのプログラムを作成する際には、１ブロックあたりのバイト数を考慮しながら記述するのが一般的である。
【０００４】
ところで、近年になって、ＲＦＩＤ装置を動作させるためにフィールドネットワークを用いる場合が増加している（例えば特許文献１参照）。フィールドネットワークは、主としてＦＡ分野で用いられ、各種センサや工作機械などとＰＬＣ（Programmable Logic Controller）間の配線を省力化するネットワークである。フィールドネットワークに接続されたＰＬＣによってＲＦＩＤ装置を動作させるためには、ＰＬＣからＲＦＩＤ装置に対して、読み取り（リード）や書き込み（ライト）などのアクセスの区別を示す「コマンド」と、実際にアクセスする無線タグのタグアドレス（データ格納場所）やアクセス容量などを示す「パラメータ」とを送信する。これらのコマンドやパラメータを受信したＲＦＩＤ装置は、ＲＦ信号を用いて無線タグと交信し、タグ内のメモリにアクセスしてその結果をＰＬＣにレスポンスとして返す。
【０００５】
このように、ＰＬＣは、ＲＦＩＤ装置に対してコマンドやパラメータを逐次送信することによって、無線タグからのデータの読み取りや無線タグへのデータの書き込みを行うことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２０５３６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、コマンドと共に無線タグのアドレス等をパラメータとして都度ＲＦＩＤ装置に送る従来方式では、コマンドやアドレスはアスキーコードとして扱う必要があるなど、ＰＬＣの動作を規定するラダープログラムを記述するラダープログラマに対し、煩雑な作業負担（プログラム作成負担）を強いていた。
【０００８】
具体的に説明すると、ＰＬＣには、ＲＦＩＤ装置とデータ共有するためのラダー共有メモリ（例えばＤＭ＋００〜ＤＭ＋１０）が設けられている。そして、例えば無線タグの記憶領域のうち０ｘ００００番地〜０ｘ０００２番地で示されるタグアドレスのデータを読み取りたい場合、ラダープログラマは、ＰＬＣの動作を規定するラダープログラムにおいて、リード（ＲＥＡＤ）コマンドを意味する“Ｒ”及び“Ｄ”を表すアスキーコード、「０ｘ５２」及び「０ｘ４４」をそれぞれＤＭ＋００及びＤＭ＋０１にセットするための記述Ｓ１、アクセスしたいタグアドレスの先頭番地である、開始アドレスやアクセスする容量を意味するラダー内部表現形式で表された１６進数の数値（開始アドレスは０ｘ００００、アクセス容量は０ｘ０００３）をアスキーコードに変換するための記述Ｓ２、アスキーコードに変換された開始アドレス“００００”の各桁（０ｘ３０，０ｘ３０，０ｘ３０，０ｘ３０）をそれぞれＤＭ＋０２〜ＤＭ＋０５にセットするための記述Ｓ３、アスキーコードに変換されたアクセス容量（０ｘ３０，０ｘ３０，０ｘ３０，０ｘ３３）をそれぞれＤＭ＋０６〜ＤＭ＋０９にセットするための記述Ｓ４など、各値をラダー共有メモリ（ＤＭ
＋００〜ＤＭ＋０９）にセットするために多くの記述が必要になる。（なお、‘０ｘ’は続く数字が１６進数であることを表す）
【０００９】
特に、製品のトレーサビリティ要求が高まっている近年では、単なる製品識別だけでなく、各工程（例えば数十の工程）の加工開始時点で前工程作業が正常に終了したか否かの確認まで無線タグで行われる場合がある。このような場合には、無線タグのタグアドレスのうち、（不連続な）複数のエリアにアクセスしなければならないことがある。例えば、上述の例を用いて説明すると、無線タグの記憶領域のうち０ｘ００００番地〜０ｘ０００２番地で示されるタグアドレスのデータだけでなく、０ｘ００５０番地〜０ｘ００５２番地で示されるタグアドレスのデータも併せて読み取りたい場合、ラダープログラマは、ＰＬＣの動作を規定するラダープログラムにおいて、上述した記述の後ろに、無線タグから読み出された０ｘ００００番地〜０ｘ０００２番地で示されるタグアドレスのデータを別の記憶領域に退避させるための記述Ｓ５を加え、更に、０ｘ００５０番地〜０ｘ００５２番地で示されるタグアドレスに関して、上述した記述Ｓ１〜記述Ｓ４に相当する記述や、退避させた別の記憶領域にアクセスするための記述Ｓ６などを加えなければならない。上述した記述Ｓ１や記述Ｓ２に相当する記述については、サブルーチン等で省略することも可能と考えられるが、上述した記述Ｓ３や記述Ｓ４に相当する記述については、開始アドレスとアクセス容量を変更していく必要があるため省略することができない。加えて、データの退避に関する記述Ｓ５や記述Ｓ６が必要になる。その結果、無線タグのタグアドレスのうち、（不連続な）複数のエリアにアクセスしなければならないときには、ラダープログラマに対して多大な作業負担を強いることになる。
【００１０】
また、無線タグの記憶領域のうち０ｘ００００番地〜０ｘ０００２番地で示されるタグアドレスのデータだけでなく、０ｘ００５０番地〜０ｘ００５２番地で示されるタグアドレスのデータも併せて読み取る場合には、ＰＬＣからＲＦＩＤ装置へリードコマンドが２回送られる。したがって、不連続にアクセスしなければならないタグアドレスが増えるにつれて、フィールドネットワーク上を流れるコマンドが増加し、ネットワーク全体のアクセス速度の低下を招く虞がある。
【００１１】
本発明は、以上の点に鑑みてなされたものであり、その目的は、ラダープログラマの作業負担を減らすとともに、ネットワーク全体のアクセス速度を改善することが可能な無線タグ通信装置を提供する。
【課題を解決するための手段】
【００１２】
本発明に係る無線タグ通信装置は、無線タグとの間で非接触通信を行うために無線信号を送受信する通信手段と、通信手段を制御する通信制御手段と、を有する無線タグ通信装置であって、無線タグ通信装置を被制御機器として制御する上位装置と接続可能に構成されるとともに、上位装置において無線タグ通信装置が割り付けられた識別情報によって特定されるデータに対応し、上位装置と共有されるデータを記憶する共有データ記憶手段と、通信制御手段によって無線タグとの間で非接触通信を行う際に、無線タグと通信するタグデータを記憶するタグデータ記憶手段と、識別情報とタグデータとの対応関係を示す対応情報を記憶する対応情報記憶手段と、を備える。
【００１３】
このような構成によれば、通信制御手段は、対応情報記憶手段の記憶内容を参照することによって、アクセスすべき無線タグのタグアドレスを特定することができるので、上位装置からタグアドレスの指定を行う必要がなくなる。したがって、例えばＰＬＣを動作させるためのラダープログラムに、アスキーコードに変換された開始アドレスの各桁をそれぞれＤＭ＋ｘｘにセットするための記述（上述した記述Ｓ３）や、アスキーコードに変換されたアクセス容量をそれぞれＤＭ＋ｘｘにセットするための記述（上述した記述Ｓ４）などが不要になり、ひいてはラダープログラマの作業負担を減らすことができる。
【００１４】
特に、本発明によれば、無線タグのタグアドレスのうち不連続な複数のエリアにアクセスしなければならないときでも、上述した記述Ｓ３〜記述Ｓ６といった記述の繰り返しを不要にすることができるため、ラダープログラマの作業負担を減らすことができる。また、繰り返し記述が不要になれば、無線タグ通信装置に何度もリードコマンドを送信しなくてもよいので、フィールドネットワーク上を流れるコマンドの数を減らすことができ、ひいてはネットワーク全体のアクセス速度の低下を防ぐことができる。
【００１５】
また、本発明に係る無線タグ通信装置では、通信制御手段が、共有データ記憶手段に記憶されたデータに基づいて、対応情報記憶手段の記憶内容を参照してアクセスすべき無線タグのタグアドレスを特定し、通信手段を制御するようにしてもよい。これにより、通信制御手段によって、アクセスすべき無線タグのタグアドレスが特定されるので、ラダープログラマのプログラム作成負担を軽減することができる。
【００１６】
また、本発明に係る無線タグ通信装置では、対応情報記憶手段には、識別情報とタグアドレスとの対応関係を規定する対応テーブルが記憶されており、対応テーブルの内容を編集する対応テーブル編集手段を備えるような構成としてもよい。これにより、ユーザは、アクセスすべき無線タグのタグアドレスとして所望のタグアドレスを指定することができるので、無線タグ通信装置の利便性を高めることができる。なお、対応テーブル編集手段は、後述するように対応テーブル編集装置からのコマンドに基づいて動作するものであってもよいし、例えば無線タグ通信装置に設けられた操作入力装置（スイッチやボタンなど）に基づいて動作するものであってもよい。
【００１７】
また、本発明に係る無線タグ通信装置では、対応テーブル編集手段は、無線タグ通信装置に接続された対応テーブル編集装置からのコマンドに基づいて、対応テーブルの内容を編集するような構成としてもよい。これにより、ユーザは、無線タグ通信装置が設置された場所に足を運ばなくても、所望のタグアドレスを指定することができる。なお、対応テーブル編集装置は、無線タグ通信装置に直接的に接続されるように構成してもよいし、ＰＬＣなどの上位装置を介して無線タグ通信装置に間接的に接続されるように構成してもよい。
【００１８】
また、対応情報記憶手段は、識別情報とタグアドレスとの対応関係を規定する対応テーブルを複数記憶しており、通信制御手段は、対応情報記憶手段に記憶された複数の対応テーブルのうちいずれかを選択し、アクセスすべき無線タグのタグアドレスを特定し、通信手段を制御するように構成してもよい。これにより、ユーザは、対応テーブルを選択するという簡易な操作だけで、アクセスすべき無線タグのタグアドレスを特定することができ、より利便性の高い無線タグ通信装置を提供することができる。
【発明の効果】
【００１９】
以上説明したように、本発明によれば、ラダープログラマの作業負担を減らすとともに、ネットワーク全体のアクセス速度を改善することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係る無線タグ通信装置を用いた無線タグ通信システムのシステム構成例を示す図である。
【図２】図１に示す無線タグ通信システムの要部についての機能構成を示すブロック図である。
【図３】ＲＦＩＤコントローラとＰＬＣとの間で行われるメモリの情報共有を説明するための概念図である。
【図４】パーソナルコンピュータの表示部において設定画面例を示す図である。
【図５】本実施形態に係るＲＦＩＤコントローラにおける処理を説明するためのフローチャートである。
【図６】本実施形態に係るＰＬＣにおける処理を説明するためのフローチャートである。
【図７】ＲＦＩＤ装置が無線タグに送るコマンド及びパラメータのデータ構成を示す図である。
【図８】ＲＦＩＤ装置と無線タグの間でやりとりされるデータの例を示す図である。
【図９】不連続なタグアドレスへのアクセスを説明するための説明図である。
【図１０】不連続なタグアドレスへのアクセスを説明するための説明図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態に係る無線タグ通信装置を用いた無線タグ通信システムについて、図面に基づいて具体的に説明する。
【００２２】
［システム構成］
図１は、無線タグ通信システムのシステム構成例を示す図である。なお、無線タグ通信システムは、ＡＳＫ（Amplitude Shift Keying）変調されたＲＦ信号を利用して無線タグ２００にデータを書き込んだり、無線タグ２００内のデータを読み出したりすることによって、搬送ライン上を搬送されるパレットＷを管理するシステムである。パレットＷの上には、例えば図示されていないワークが載置されている。無線タグ通信システムは、無線タグ２００と、無線タグ２００と交信する無線タグ通信装置の一例としてＲＦＩＤコントローラ１００と、上位装置の一例としてＰＬＣ３００と、パレットＷの到着などを検知する光電センサ４００と、を有している。なお、光電センサ４００については必須ではなく、省略することも可能である。
【００２３】
ＲＦＩＤコントローラ１００や光電センサ４００とＰＬＣ３００とは、いわゆるフィールドネットワークで接続されている。なお、ここでいうフィールドネットワークは、例えばＣＣ−Ｌｉｎｋを意味する用語として一般的に使われている狭義の意味でのフィールドネットワークに限られず、例えばＲＳ２３２Ｃ、ＲＳ４２２、ＲＳ４８５、イーサネット（登録商標）などの何らかの物理的な配線接続の上で動作し、ＰＬＣ３００とＲＦＩＤコントローラ１００との間で何らかの情報交換プロトコルに従って、メモリ情報を共有する仕組みを有するもの全てを含んだ意味で使用する。物理的な配線について更に詳述すれば、ＩＥＥＥ１３９４やＵＳＢなどのシリアル接続、パラレル接続、或いは１００ＢＡＳＥ−Ｔなどのネットワーク接続であってもよい。また、例えばＩＥＥＥ８０２．１ｘやＯＦＤＭなどの無線ＬＡＮ，赤外線や光通信などを利用した無線接続も考えられる。光電センサ４００と、ＲＦＩＤコントローラ１００と接続は、前述のフィールドネットワークに配線が可能ならば、図１のような配線トポロジーが可能であるが、フィールドネットワークの種類によっては、別系統で配線することも考えられる。どちらの配線でも本発明の本質には影響しない。
【００２４】
ＲＦＩＤコントローラ１００は、ＩＳＯ１５６９３の国際規格に基づく無線タグ通信装置の一例であり、無線タグ２００との最適交信距離が数ｃｍから数十ｃｍとなる、いわゆる近傍型の無線タグ通信装置である。ＲＦＩＤコントローラ１００は、ＡＳＫ変調信号（ＲＦ信号）を送信し、無線タグ２００からの応答信号を受信する。なお、詳細は図２を用いて後述するが、本実施形態では、アンテナ１０６が組み込まれたアンテナ一体型のコントローラを考えているが、アンテナ１０６をＲＦＩＤコントローラ１００から独立させた構成の場合でも、本発明の本質には影響しない。
【００２５】
無線タグ２００は、ＲＦＩＤコントローラ１００からのＲＦ信号を受信し、動作に必要な電力を生成するとともに、受信データに含まれる書き込みデータをタグメモリ２０２（図２）に書き込んだり、受信データに基づいてタグメモリ２０２からデータを読み出みだしたりする。タグメモリ２０２内には、無線タグ２００を識別するための識別情報として、製造時に割り当てられるＵＩＤ（Unique ID）が格納されている。具体的には、タグのメーカーコードや製品コード、シリアルナンバーなどがＵＩＤとして格納されている。したがって、無線タグ２００からＵＩＤを読み取ることによって、その無線タグ２００が取り付けられているパレットＷ（そのパレットＷに載置されたワークなど）を識別することができる。またＵＩＤとは別に、ユーザがあらかじめタグメモリ内に、パレットＷに載置されたワークに対応する独自のシリアル番号や、ワークの品番・品種情報を書き込んでおき、それらのデータをタグから読み取ることで、パレットＷおよび載置されたワークを識別する使い方も可能で、一般的には後者の方法で識別することが多い。
【００２６】
ＰＬＣ３００は、ＲＦＩＤコントローラ１００に無線タグ２００との交信開始を指示し、ＲＦＩＤコントローラ１００が無線タグ２００から読み取ったデータを収集・蓄積し、加工及び判断を下すことで、外部接続された工作機械（図示せず）に対して、パレットＷに載置されたワークに実施すべき加工内容を指示したり、表示器（図示せず）に表示するデータを伝えたりする。例えば、搬送ライン上のパレットＷがＲＦＩＤコントローラ１００の交信エリア内に位置するタイミングで、交信開始を指示する。このタイミングは、例えば、搬送ライン上に複数配置される光電センサ４００を用いて検知することができる（説明の便宜上、図１では光電センサ４０００は１個しか配置していない）。すなわち、ＰＬＣ３００は、光電センサ４００から受信した検知信号に基づいて、ＲＦＩＤコントローラ１００と無線タグ２００との交信開始を指示するタイミングを認識することができる。
【００２７】
ＲＦＩＤコントローラ１００と無線タグ２００との交信開始を指示するためのトリガ信号として、リードコマンドやライトコマンドがＰＬＣ３００からＲＦＩＤコントローラ１００へ出力され、ＲＦＩＤコントローラ１００では、これらのコマンドに基づいて無線タグ２００に対する要求信号の送信が開始される。この要求信号は、上述したようにＡＳＫ変調されたＲＦ信号として送出され、無線タグ２００からは、対応する応答信号がＲＦ信号で送信される。
【００２８】
図２は、図１に示す無線タグ通信システムの要部についての機能構成を示すブロック図であり、特に、ＰＬＣ３００（図の左）、ＲＦＩＤコントローラ１００（図の中央）、無線タグ２００（図の右）の機能構成を図示している。
【００２９】
ＲＦＩＤコントローラ１００は、制御手段１０１と、ＰＬＣ共有メモリ１０２と、アドレス対応テーブルメモリ１０３と、タグ共有メモリ１０４と、通信回路１０５と、アンテナ１０６と、を有している。
【００３０】
制御手段１０１は、外部Ｉ／Ｆ（フィールドネットワーク）を介してＰＬＣの制御手段３０１から入力されるトリガ信号に基づいて無線タグ２００に対する交信を開始する。具体的には、ＰＬＣ３００からのリード／ライトコマンドに基づいて、無線タグ２００に対する要求信号を生成し、通信回路１０５へ出力することで、アンテナ１０６から無線タグ２００へＲＦ信号として送りだされる。一方無線タグ２００からの応答信号は、アンテナ１０６で受信され、通信回路１０５で復調されて制御手段１０１に伝えられる。
【００３１】
また、制御手段１０１では、無線タグ２００との交信に関するパラメータを自動設定する動作を行う構成にすることも考えられる。具体的には、パーソナルコンピュータ５００（図４）を使ってアドレス対応テーブルメモリ１０３を設定する際に、対象とする無線タグをＲＦＩＤコントローラ１００と交信させることで、自動的に最適なパラメータを取得し、アドレス対応テーブルメモリ１０３とセットでＲＦＩＤコントローラ１００に記憶させる方法が考えられる。テーブルを読み出し、読み出したパラメータテーブルに基づいて受付コマンド（Ｉｎｖｅｎｔｒｙコマンドとも呼ばれる）を生成し、無線タグ２００に対して送信する。この受付コマンドによる無線タグ２００からの応答に基づいて、交信パラメータがさらに設定される構成も考えられる。
【００３２】
なお、ここでいうパラメータの例としては、ＡＳＫ変調における変調度、ＲＦ信号の送出時の電波強度、１ブロックに含まれるバイト数（アクセスサイズ）などがある。とくにアクセスサイズは本願との関連が深い。タグアドレスを元に無線タグ２００に送る要求信号を生成する為には、あらかじめアクセスサイズを知っておく必要があるからである。アクセスサイズを知る為には、受付コマンド（Ｉｎｖｅｎｔｒｙコマンド）という無線タグ２００のＵＩＤコード（メーカーコードや製品コードの情報が含まれる）を取得するコマンドを前述のアドレス対応テーブルメモリ１０３の設定の際に無線タグ２００に要求信号として送り、無線タグ２００からのレスポンスを得ておけば良い。無線タグ２００のメーカコードや製品コードが判明すれば、あらかじめパーソナルコンピュータ５００か、ＲＦＩDコントローラ１００内に記憶されている対応表から、アクセスサイズを求めれば良い。実際に市場で使われている無線タグの種類はそれほど多くない為、このような対応表を保持させておく（例えば、パーソナルコンピュータ５００にインストールするユーティリティソフトに記憶させておき、インストール時にパーソナルコンピュータ５００に転送されるようにしておく）ことは現実的である。
【００３３】
通信回路１０５は、発振回路、増幅回路、変調回路、ローパスフィルタ、符号化回路等で構成される送信回路と、減衰器、復調回路、増幅回路、復号化回路などから構成される受信回路と、から構成される。通信回路１０５は、上述したように、無線タグ２００にＲＦ信号を送信する際には、制御手段１０１から対応する要求信号が入力されるとともに、無線タグ２００からＲＦ信号を受信する際には、制御手段１０１に対して復号された応答信号を出力する。より具体的に説明すると、水晶発振子などから構成され、ＲＦ信号を生成する発振回路において、例えば１３．５６ＭＨｚのＲＦ信号が生成され、搬送波として出力される。この搬送波は、増幅回路において電力増幅されるとともに、変調回路においてＡＳＫ変調が行われる。ＡＳＫ変調を行う際には、符号化回路において、制御手段１０１から入力されるデータがパルス位置によって符号化され、ベースバンド信号が生成される。そして、このベースバンド信号に基づいて、変調回路にてＡＳＫ変調が行われる。変調回路は、種類の異なる無線タグ２００であっても交信できるように、例えば変調度１００％のＡＳＫ変調と変調度１０％のＡＳＫ変調とを切り替えることができるようになっている。ＡＳＫ変調が行われた信号は、ローパスフィルタによって高周波成分が除去され、必要に応じて伝送路の特性インピーダンスに整合させた上で、アンテナ１０６へ出力される。アンテナ１０６から出力されたＲＦ信号は、無線タグ２００へ送出される。また、無線タグ２００からの応答信号は、アンテナ１０６によって受信された後、復調回路に入れられる。そして、復調回路は、受信信号である搬送波の上に乗っている成分、もしくは副搬送波に乗せられている成分の信号を取り出すことで、復調信号を生成する。この復調信号は、復号化回路において復号化された後に、制御手段１０１に応答信号として出力される。このように、通信回路１０５やアンテナ１０６は、無線タグ２００との間で非接触交信を行うために無線信号を送受信する通信手段の一例として機能する。また、制御手段１０１は、通信回路１０５を制御する通信制御手段の一例として機能する。
【００３４】
なお、ＰＬＣ共有メモリ１０２、アドレス対応テーブルメモリ１０３、タグ共有メモリ１０４の詳細については、無線タグ２００およびＰＬＣ３００を説明した後で詳細に説明する。
【００３５】
無線タグ２００は、薄い矩形状の基板の各辺に沿って螺旋状に配線されたアンテナ（アンテナコイル）２０４と、このアンテナ２０４に接続され、一般的にはアンテナ２０４の内側に配置される半導体チップと、から構成される。半導体チップは、アンテナ２０４とで共振回路を形成するためのコンデンサや受信信号を復調するための復調回路などを有する通信回路２０３と、受信データを処理するための処理回路などを有する制御手段２０１と、ＵＩＤや書き込み指示を受けたデータを記憶する半導体メモリであるタグメモリ２０２と、から構成される。応答信号は、ＲＦＩＤコントローラ１００からの要求信号に基づいて生成される。具体的には、受信データに含まれている指示に基づいて半導体メモリにデータを書き込み、または半導体メモリからデータを読み出しし、符号化、変調し、ＲＦ信号として生成される。アンテナ１０６に対応するアンテナ２０４、通信回路１０５に対応する通信回路２０３、制御手段１０１に対応する２０１という構成になり、それぞれが同様の働きをすると考えて良いが、通信回路２０３には通信回路１０５と若干の違いがある。それは、通信回路２０３には、電力生成回路が追加されていることと、通信回路１０５の発振回路が、動作クロック生成回路に置き換わる点である。電力生成回路は、アンテナ２０４が受けたＲＦ信号より、エネルギーを取り出し、整流・平滑・安定化させることで、無線タグ２００内の回路全体に対して、動作に必要なエネルギーを供給する役割を果たす。動作クロック生成回路は、アンテナ２０４が受けたＲＦ信号の搬送波成分を取り出し、波形整形することで、他の回路が動作するために必要な基準クロック信号を作り出し、他の回路に供給する役割を果たす。なお、タグメモリ２０２には、不揮発性の半導体メモリを使用し、無線タグ２００にはメモリ記憶を維持するためのバッテリーを内蔵する必要が無い様な構成としたものが一般的で、その場合は、無線タグ２００内のすべての回路が動作する際のエネルギーは、前述した電力生成回路が作り出したエネルギーで賄われる構成となる。これらの回路の働きにより、ＲＦＩＤコントローラ２００から受けた要求信号をもとに、制御手段２０１は、タグメモリ２０２に対して記憶保持すべきデータを送ったり（ライト）、タグメモリ２０２保持されているデータを取り出したり（リード）する。
【００３６】
ＰＬＣ３００は、制御手段３０１と、ラダープログラムメモリ３０２と、ラダー共有メモリ３０３とを有している。制御手段３０１について更に詳述すると、ＣＰＵや制御時に必要なデータが書き込まれるワーキングメモリ、パーソナルコンピュータやメモリカード等の外部記憶装置が接続可能なインターフェース、ＲＦＩＤコントローラ１００の制御手段１０１や光電センサ・工作機械などと接続可能なインターフェース（フィールドネットワーク・インターフェース）などを有している。（図２では、フィールドネットワークのみを、制御手段３０１と制御手段１０１をつなぐ線として示しており、他のインターフェースは図示していない。）
【００３７】
制御手段３０１内のインターフェースを介してパーソナルコンピュータから送られてきたラダープログラムは、制御手段３０１内のＣＰＵにおいてマシンコードに変換され、ラダープログラムメモリ３０２に格納される。このラダープログラムメモリ３０２は、例えばバッテリーバックアップされたＲＡＭや、フラッシュメモリ等の不揮発メモリから構成される。格納されてしまえば、パーソナルコンピュータを常時接続しておく必要はなく、通常運用時はパーソナルコンピュータは切り離しておき、ＰＬＣ３００のラダープログラムの変更など、何らかの設定変更を行うときのみ、パーソナルコンピュータを接続するのが、一般的な使い方である。
【００３８】
ここで、無線タグ通信システムにおいては、ＰＬＣ３００内のラダー共有メモリ３０３と、ＲＦＩＤコントローラ１００のＰＬＣ共有メモリ１０２との間で、情報共有が行われるようになっている。ラダー共有メモリ３０３は、ＰＬＣ３００に接続される各機器に割り付けられるデバイスによって特定されるデータを記憶する入出力メモリである。なお、本実施形態では、ラダー共有メモリ３０３を上述したワーキングメモリと別に（別構成で）設けることとしているが、例えばワーキングメモリの一部を上述したラダー共有メモリ３０３として使用してもよい。
【００３９】
デバイスとは、リレー、タイマ、カウンタ、データメモリなど、各機器の動作確認や制御のためにプログラムで用いられる要素であって、命令で使用するデータを与えたり、命令の実行結果を格納したりするために用いられる。デバイスには、入力装置からの入力信号に基づいてオン／オフされるビットデバイス（入力デバイス）や、出力装置の動作を制御するためにオン／オフされるビットデバイス（出力デバイス）、オン／オフではなく数値データを格納することが可能なワードデバイスなどがある。また、デバイスは、ビットデバイスであるかワードデバイスであるかを示すデバイス種別と、同一のデバイス種別を有する複数のデータを管理するためのデバイス番号を有している。
【００４０】
制御手段３０１のＣＰＵは、例えば、入力装置から入力される入力信号に基づいて、ラダープログラムメモリ３０２に記憶されているラダープログラムを実行することにより、出力装置の動作を制御する。すなわち、入力装置からの入力信号に基づいて、その入力装置が割り付けられたデバイスがオン／オフされ、それに基づいて、ＣＰＵが所定の出力装置に割り付けられたデバイスをオン／オフすることにより、出力装置の動作が制御される。ラダープログラムは、リレー回路を記号化したラダー図を用いて作成されるプログラムであって、例えば、パーソナルコンピュータ上で実行されるラダープログラム作成ソフトウェアを用いて、パーソナルコンピュータの表示画面上に梯子（ラダー）状に表示される複数のセル内にデバイスのシンボル（図形）を適宜配置して、視覚的なリレー回路を表すラダー図を構築（記述）することによって作成される。
【００４１】
図２では、ラダー共有メモリ３０３は、例えば図１に示す光電センサ４００が割り付けられたデバイスによって特定されるデータを記憶する記憶領域（図中では「機器Ａと共有」と示す）と、ＲＦＩＤコントローラ１００が割り付けられたデバイスによって特定されるデータを記憶する領域（図中では「機器Ｂと共有」と示す）と、工作機械など他の機器が割り付けられたデバイスによって特定されるデータを記憶する領域（図中では「機器Ｃと共有」と示す）と、を有している。このうち、「機器Ｂと共有」と示した領域が、ＲＦＩＤコントローラ１００のＰＬＣ共有メモリ１０２内の記憶領域と情報共有される。この情報共有について、図３を用いて詳述する。
【００４２】
図３は、ＲＦＩＤコントローラ１００とＰＬＣ３００との間で行われるメモリの情報共有を説明するための概念図である。
【００４３】
図３に示すように、ＰＬＣ３００のラダー共有メモリ３０３には、デバイスＲ＋００によって特定されるデータ「タグ読み／書きトリガ」と、デバイスＲ＋０１によって特定されるデータ「ハンドシェークフラグ」と、デバイスＤＭ＋００によって特定される「データＡ」と、デバイスＤＭ＋０１によって特定されるデータＢと、デバイスＤＭ＋０２によって特定されるデータＣとが記憶されている。なお、ここでＲやＤＭはデバイス種別を示し、Ｒはビットデバイス、ＤＭはワードデバイスを示している。本実施形態では、Ｒは入出力用のビットデバイスとして扱っているが、入出力用のビットデバイスを扱えないＰＬＣ３００であれば、入力用のビットデバイスと出力用のビットデバイスの２個をもって１個のＲとして扱ってもよい。また、＋００や＋０１などは、デバイス番号を示している。したがって、デバイスは、デバイス種別とデバイス番号によって識別される。さらには、「タグ読み／書きトリガ」を一つのビットにまとめて、「トリガ」としてビットデバイスに割り当てし、アクセス種別（例えば、「読みだし」か「書き込みか」）は別なワードデバイスに割り当てを行っても良い。
【００４４】
一方、ＲＦＩＤコントローラ１００のＰＬＣ共有メモリ１０２にも、デバイスＲ＋００によって特定されるデータ「タグ読み／書きトリガ」と、デバイスＲ＋０１によって特定されるデータ「ハンドシェークフラグ」と、デバイスＤＭ＋００によって特定される「データＡ」と、デバイスＤＭ＋０１によって特定されるデータＢと、デバイスＤＭ＋０２によって特定されるデータＣとが記憶されている。このように、ラダー共有メモリ３０３内のメモリ情報と同じ情報が、ＲＦＩＤコントローラ１００内のＰＬＣ共有メモリ１０２にも反映されることによって、情報共有が実現される。ＰＬＣ共有メモリ１０２への反映のさせ方は、如何なる方法であっても構わない。通常この方法は、ＰＬＣの製造メーカが規格化し、通信手順（プロトコル）を公開するのが通例である。例えば、制御手段３０１は、ラダー共有メモリ３０３のメモリ内容を更新したタイミングで、ＲＦＩＤコントローラ１００内の制御手段１０１に更新内容を通知し、制御手段１０１は、通知された更新内容に基づきＰＬＣ共有メモリ１０２の内容を書き換える方法などが考えられる。別な方法としては、制御手段１０１から制御手段３０１にリードコマンドを繰り返し送ることでトリガメモリ（Ｒ＋００）のみを常時センスしておき、トリガの内容が変化したときのみ、制御手段１０１が他のメモリ（ＤＭ＋ｘｘ等）を読み出しに行く方法である。この方法の優れた点は、普段はトリガメモリしかセンシングしない為、フィールドネットワーク上のトラフィックや、制御手段３０３への処理負担を抑えつつも、レスポンス速度は犠牲にならないという点である。これは後述の、ＲＦＩＤコントローラ１００内のＰＬＣ共有メモリ１０２に対すうる制御手段１０１のアクセス内容・手順との相性も非常によい。さらに、トリガ信号を読みだしする時間間隔をユーザが設定可能な構成にしておくことで、トラフィックをできるだけ下げ、同じフィールドネットワークを使用する他の機器への影響を低減できるようにすることもできる。一般にこれらのトラフィック制御は、通信経路における帯域制御とも呼ばれ、ＰＬＣ製品毎に、あるいは規格化されたフィールドネットワークであれば、その規格内で設定・制御方法が決められていることが多い。たとえば前述したトリガ信号の読み出し時間間隔を、過去の変化実績にもとづいて予測するような学習機能を搭載し、さらに高速レスポンス化とトラフィック低減を図ることは、ＲＦＩＤコントローラの分野に限らず、フィールドネットワーク機器全般に対して適用できる。なお、ＰＬＣ３００の制御手段３０１は、外部接続された入力機器から入力される信号をラダー共有メモリ３０３に取り込み（入力リフレッシュ）、予め登録されたラダープログラムに基づき論理演算を実行し（論理演算）、その実行結果をラダー共有メモリ３０３に書き込んで出力機器に送り出す（出力リフレッシュ）、という一連の処理をサイクリックに繰り返す（他にも、通信処理などの周辺処理が実行される場合がある）。また、ＰＬＣ共有メモリ１０２は、ＰＬＣ３００と共有されるデータであって、ＰＬＣ３００においてＲＦＩＤコントローラ１００が割り付けられた識別情報（デバイス種別とデバイス番号）によって特定されるデータを記憶する共有データ記憶手段の一例として機能する。
【００４５】
図３では、ＲＦＩＤコントローラ１００の制御手段１０１は、ＰＬＣ共有メモリ１０２のＲ＋００を確認することによって、何も実行する必要はないのか、無線タグ２００からデータを読み出すのか、或いは、無線タグ２００にデータを書き込むのか、といったＰＬＣ３００からの指示内容を判断することができる。そして、例えば無線タグ２００にデータＡを書き込む指示であると判断した場合には、制御手段１０１は、ＤＭ＋００に対応するタグアドレスを知るために、アドレス対応テーブルメモリ１０３に記憶されているアドレス対応テーブルを参照し、対応するタグアドレスを認識する。
【００４６】
アドレス対応テーブルメモリ１０３については、図４を用いて詳細に説明する。図４は、ＲＦＩＤコントローラ１００に接続されたパーソナルコンピュータ５００において、アドレス対応テーブルを作成する様子を説明するための図である。アドレス対応テーブルは、最初からＲＦＩＤコントローラ１００内に存在しているわけではなく、ユーザが無線タグ通信システムの運用に先立って、事前に作成（設定）しておく。なお、このアドレス対応テーブルの設定内容は、個々のユーザはもちろん、各製造ラインの製造工程毎によっても異なり、ユーザが設定変更可能となっている。また、図４では、パーソナルコンピュータ５００はＲＦＩＤコントローラ１００に接続されているが、フィールドネットワークのプロトコルに、ＲＦＩＤコントローラ１００固有の設定情報など、機器固有の設定情報を流せる仕組みが構築されている場合には、ＰＬＣ３００を介してパーソナルコンピュータ５００をＲＦＩＤコントローラ１００に接続してもよい。これにより、ユーザはＲＦＩＤコントローラ１００が設置された（狭い）場所まで足を運ばなくても、ＰＬＣ３００が設置された場所まで足を運べばよく、メンテナンス等でアドレス対応テーブルの設定内容を変更する際の作業性を向上させることができる。
【００４７】
パーソナルコンピュータ５００には、ＲＦＩＤコントローラ１００に各種設定を行うためのユーティリティソフトがインストールされており、上述したようにパーソナルコンピュータ５００を直接（或いはＰＬＣ３００を介して）ＲＦＩＤコントローラ１００に接続することで、設定内容をＲＦＩＤコントローラ１００に流し込んで記憶させることができる。また、パーソナルコンピュータ５００とＲＦＩＤコントローラ１００とは、ＲＳ２３２ＣやＵＳＢ、イーサネット（登録商標）で接続することが考えられる。また、アドレス対応テーブルは、１パターンだけでなく、複数パターンを予め設定しておき、どのパターンを使用するかをＰＬＣ３００の共有メモリ（ラダー共有メモリ３０３）内の情報で選択指示させる、といったようなことも可能である。
【００４８】
図４に示すように、パーソナルコンピュータ５００の表示部には設定画面例が示されている。図４に示す設定画面には、ラダー共有メモリ５０１の欄、タグアドレス５０２の欄、タグアドレス内容５０３の欄、タグアドレス５０４の欄、タグアドレス内容（ラベル）５０５の欄が表示されている。ラダー共有メモリ５０１の欄、タグアドレス５０２の欄、タグアドレス内容５０３の欄は、ＰＬＣ共有メモリ１０２に記憶される内容に関する欄であって、タグアドレス５０４の欄、タグアドレス内容５０５の欄は、タグ共有メモリ１０４に記憶される内容に関する欄である。
【００４９】
ユーザは、マウスやキーボードといったパーソナルコンピュータ５００の入力部を用いて、まず、タグアドレス５０５の部分に関して、使用する無線タグ２００の種類に対応したタグ品番を選択する（図示せず）。これは、無線タグ２００の種類によって、無線タグ２００のメモリサイズが異なっているためである。ユーザがこれを選択した結果、図４では、タグアドレス５０５の欄に示すように、０ｘ００００番地から０ｘ０３ＦＦ番地まで、すなわち１０進数で表すと０番地〜１０２３番地までが自動的に表示される。
【００５０】
次に、ユーザは、タグアドレス内容５０５の欄を入力する。図４では、仮想的な自動車の生産管理用途で説明している。タグアドレス０ｘ００００番地及び０ｘ０００１番地には、それぞれ品番１及び品番２が入力され、これらは例えば車種情報を表している。タグアドレス０ｘ０００２番地には、例えば塗装色が１バイトで記憶され、カーナビゲーションやオーディオ機器をはじめとする各種オプション装備情報が、タグアドレス０ｘ０００３番地〜０ｘ０００６番地に入力されているとする。また、販売予定国や販売地域を表す出荷先１，２，３が、タグアドレス０ｘ０００７番地〜０ｘ０００９番地に入力されており、使用するエンジンの排気量が、タグアドレス０ｘ００１０番地に入力されているとする。
【００５１】
このように、タグアドレス内容５０５の欄にユーザが各種ラベルを入力することによって、ユーザは覚えにくい１６進数等の数字の設定間違いに容易に気づくことができ、ひいては設定ミスを防止することができる。なお、図４では図示していないが、タグアドレスが多く、パーソナルコンピュータ５００の表示画面に収まりきらない場合には、スクロールバーが表示されるような構成としてもよい。
【００５２】
次に、ユーザはラダー共有メモリ５０１の欄にデバイスを入力する。ここでは、ＲＦＩＤコントローラ１００とＰＬＣ３００とは、３バイトのＤＭメモリで情報のやり取りをするように構成している例で説明する。なお、実際のラダー共有メモリ３０３は２バイト単位で管理されることもあるが、そのような場合には無線タグ２００の連続した２バイトのアドレスとラダー共有メモリ３０３の１アドレスデータが対応している、というように考えればよい。また、本発明を実施するにあたって、必ずしも１バイト単位で設定しなければならないものではなく、１バイトの中をビット単位に分割して細かく設定するように構成してもよいし、逆に複数バイトを一つの単位として扱った構成でも良い。
【００５３】
次に、ユーザは、上述したラダー共有メモリ５０１の欄に入力されたデバイスＤＭ＋０１〜デバイスＤＭ＋０２に割り当てたいタグアドレスを、タグアドレス５０２の欄に入力する。この入力をすると、直ちにタグアドレス内容５０５の欄に入力された情報を基にして、タグアドレス内容５０３の欄に対応するタグアドレスの内容が表示される。例えば、ラダー共有メモリ５０１の欄におけるデバイスＤＭ＋００に割り当てたいアドレスとして０ｘ００００を入力すると、タグアドレス内容５０３の欄に「品番１」が自動的に表示される。これにより、ユーザはタグアドレス５０２の欄にタグアドレスを入力する際の入力ミスに容易に気づくことができるようになる。なお、右と左の対応関係が図４に示すように分かりやすい線等でリンク表示すれば（図中の線参照）、ユーザは視覚的にも対応関係を把握することができ、さらに利便性が向上する。ここでは線を利用しているが、例えば、タグアドレス内容５０３の「オプション装備１」が入力された行と、タグアドレス内容５０５の「オプション装備１」が入力された行とが、所定色でマーキングされたり下線が引かれたり文字の色が変化したりと、図４に示す線以外の方法で対応関係を視覚的にわかりやすく表示してもよい。
【００５４】
図２及び図３に戻って、制御手段１０１は、図４を用いて説明したアドレス対応テーブルを用いて、各デバイスに対応するタグアドレスを認識する。すなわち、アドレス対応テーブルを参照して、アクセスすべき無線タグのタグアドレスを特定する。そして、タグアドレスとアクセス種別（ここではリード）を基にして、無線タグ２００に対して必要なコマンド（上述した要求信号）を生成し、無線タグ２００へＲＦ信号として送出する。無線タグ２００内の制御手段２０１は、送られてきたコマンド（要求信号）を解釈・実行することで、ＲＦＩＤコントローラ１００の要求がリードであることと、そのリードすべきタグアドレスとを認識し、それに対応する情報を、タグメモリ２０２から読み出し（取り出し）、同コマンドに対するレスポンス（上述した応答信号）を生成し、ＲＦＩＤコントローラ１００に対して送出する。ＲＦＩＤコントローラ１００の制御手段１０１は、このレスポンスを受け取って内容を解析することで、求めていたタグアドレスの情報（データＡ）を得るとともに、その情報をタグ共有メモリ１０４に記憶（保管）する。
【００５５】
次に、ＲＦＩＤコントローラ１００内の制御手段１０１は、アドレス対応テーブルの内容に従ってアドレス変換し、タグ共有メモリ１０４の情報に対応するＰＬＣ共有メモリ１０２のアドレスに、必要な情報を反映させる。例えば、図３に示すデータＡの一例として図４に示す「品番１」を読み出したときには、「品番１」が格納されていたタグアドレス０ｘ０００３に対応するデバイスＤＭ＋００が格納される記憶領域（アドレス）に、この「品番１」の値を反映させる。なお、読みだすべきアドレスが連続している場合は、一回のリード要求信号とその応答信号の交信で済むが、不連続な複数のアドレスがリード対象であるときは、この無線タグとの交信を複数回行う必要がある。必要な情報を全てリードし、ＰＬＣ共有メモリに反映し終えると、ＲＦＩＤコントローラ１００においてＲ＋０１のハンドシェークフラグを立てて（「未実行」→「実行済み」に変更する、詳細は図５を用いて詳述する）、ＰＬＣ３００に指示された動作が完了したことを通知する。ＰＬＣ３００では、フィールドネットワークの仕組みによって、ＲＦＩＤコントローラ１００内のＰＬＣ共有メモリ１０２と自身のラダー共有メモリ３０３とが情報共有されているため、直ちにその結果がＰＬＣ３００内のラダー共有メモリ３０３の「機器Ｂと共有」と示した領域に反映される。ＰＬＣ３００は、ハンドシェークフラグが立ったことを確認した後に、デバイスＤＭ＋００などへアクセスすることが可能となる。
【００５６】
なお、以上はリード動作のときについての説明であるが、ライト動作のときも、基本的な流れはリード動作のときと同様である。無線タグ２００からリードしてラダー共有メモリ３０３に反映させるのではなく、ラダー共有メモリ３０３のデバイスＤＭ＋００〜に書かれていた内容を無線タグ２００のタグメモリ２０２に書き込みを行うようにすればよい。また、リード動作やライト動作だけではなく、その他にも、デバイスＤＭ＋００〜ＤＭ＋０２の内容と、対応する無線タグ２００のタグメモリ２０２の内容を照合し、一致しているか否かをデバイスＤＭ＋０３にＹＥＳ／ＮＯ結果として反映させる、ベリファイコマンドも考えられるし、或いは、ベリファイとライトとを一度に実施するベリファイライトコマンドなども考えられる。アドレス対応テーブルメモリ１０３は、識別情報とアクセスすべき無線タグ２００のタグアドレスとの対応関係を規定する対応テーブルを記憶しており、対応情報記憶手段の一例として機能する。また、パーソナルコンピュータ５００は、対応テーブル編集装置の一例に相当し、制御手段１０１は、パーソナルコンピュータ５００からのコマンドに基づいて、対応テーブルの内容を編集する。
【００５７】
図５は、本実施形態に係るＲＦＩＤコントローラ１００における処理を説明するためのフローチャートである。なお、図５では、リード動作とライト動作のみについて説明するが、上述したベリファイコマンドやベリファイライトコマンドについても同様に考えることができる。
【００５８】
図５に示すように、ＰＬＣ共有メモリ１０２内のＲ＋００を「指示なし」にするとともに、ＰＬＣ共有メモリ１０２内のＲ＋０１を「実行済み」にする等の初期化処理が行われた後（ステップＳ１）、ＰＬＣ共有メモリ１０２内のＲ＋０１がチェックされ（ステップＳ２）、その後、ＰＬＣ共有メモリ１０２内のＲ＋００がチェックされる（ステップＳ３）。より具体的には、ＰＬＣ共有メモリ１０２内のＲ＋００とＲ＋０１は、上述したようにＰＬＣ３００のラダー共有メモリ３０３と情報共有が行われている。そして、ＰＬＣ３００の制御手段３０１によって、ラダー共有メモリ３０３のＲ＋００の状態が「指示なし」から「指示あり（例えばリード）」に遷移すると、すなわちＲＦＩＤコントローラ１００に対する指示フラグが立つと、フィールドネットワークを通じて制御手段１０１によって、ＲＦＩＤコントローラ１００内のＰＬＣ共有メモリ１０２内のＲ＋００の状態も「指示なし」から「指示あり（例えばリード）」に遷移する。その後、ＰＬＣ３００の制御手段３０１によって、ラダー共有メモリ３０３のＲ＋０１の状態が「実行済み」から「未実行」に遷移すると、すなわちＲＦＩＤコントローラ１００に対するハンドシェークフラグが立つと、フィールドネットワークを通じて制御手段１０１によって、ＲＦＩＤコントローラ１００内のＰＬＣ共有メモリ１０２内のＲ＋０１の状態も「実行済み」から「未実行」に遷移する。このように、制御手段１０１は、Ｒ＋００の状態をチェックすることによってコマンド種別を認識することができ、Ｒ＋０１の状態をチェックすることによって処理タイミングを認識することができる。なお、ステップＳ２においてＲ＋０１の状態が「実行済み」のままである場合（ステップＳ２：ＮＯ）、或いは、ステップＳ３においてＲ＋００の状態が「指示なし」のままである場合（ステップＳ３：ＮＯ）には、ステップＳ２又はステップＳ３の処理が繰り返される。
【００５９】
ステップＳ２においてＲ＋０１の状態が「未実行」の場合であって、かつ、ステップＳ３においてＲ＋００の状態が「指示あり」の場合には、制御手段１０１は、コマンド種別がリードであるかライトであるかを判断する（ステップＳ４）。上述したように、説明の便宜上、図５ではリードとライトのみを考えているが、実際は、ベリファイやベリファイライトなど他のコマンドも考慮される。この場合、分岐は２つではなく３つや４つになったりする。
【００６０】
制御手段１０１がリードと判別した場合には（ステップＳ４：リード）、制御手段１０１は、アドレス対応テーブルメモリ１０３にアクセスして、アドレス対応テーブル（図４参照）を基にしてリードコマンド（要求信号）を生成し（ステップＳ５）、無線タグ２００に向けてコマンドを送信する（ステップＳ６）。その後、無線タグ２００からレスポンス（応答信号）を受信し（ステップＳ７）、これを解析して、読み出したデータについてはタグ共有メモリ１０４に記憶する（ステップＳ８）。そして、制御手段１０１によって、全てのコマンドを送ったか否かが判断され（ステップＳ９）、全てのコマンドを送っていない場合には（ステップＳ９：ＮＯ）、処理はステップＳ６に戻る。
【００６１】
一方で、全てのコマンドを送った場合には（ステップＳ９；ＹＥＳ）、制御手段１０１は、アドレス対応テーブルを基にして、読み出したデータについてタグ共有メモリ１０４をＰＬＣ共有メモリ１０２に反映させる（ステップＳ１０）。そして、制御手段１０１は、ＰＬＣ共有メモリ１０２内のＲ＋０１を「未実行」から「実行済み」へと遷移させる（ステップＳ１１）。その結果、ＰＬＣ３００内のラダー共有メモリ３０３のＲ＋０１も「未実行」から「実行済み」へと遷移し、一連の処理が終了するとともに、ステップＳ２の処理（指示待機状態）に戻ることになる。
【００６２】
以上がリード動作についての説明である。ステップＳ４において、制御手段１０１がライトと判別した場合には、（ステップＳ４：ライト）、制御手段１０１は、アドレス対応テーブルメモリ１０３にアクセスして、アドレス対応テーブル（図４参照）を基にして、参照すべきデバイス（ＤＭ＋ｘｘ）の範囲を特定する（ステップＳ１２）。どの範囲を参照すべきかは、パーソナルコンピュータ５００を通じてユーザによって予め決められている。例えば、図４に示すように、本実施形態では、デバイスＤＭ＋００〜デバイスＤＭ＋０２が参照すべき範囲である。もちろん、必要に応じて、ユーザはデバイスＤＭ＋０３以降も参照すべき範囲とすることができる。
【００６３】
参照すべきデバイスの範囲が特定されると、制御手段１０１は、ＰＬＣ共有メモリ１０２内のデバイス（ＤＭ＋ｘｘ）の範囲の内容を読み出し、アドレス対応テーブルの情報を使って、対応するタグアドレスを特定し、タグ共有メモリ１０４に書き写す（ステップＳ１３）。図４の例でいえば、デバイスＤＭ＋００〜デバイスＤＭ＋０２の番地の内容である。次に、ステップＳ１３で作成したタグ共有メモリ１０４の内容を基にして、無線タグ２００の制御手段２０１に送出するライトコマンド（要求信号）を生成し（ステップＳ１４）、無線タグ２００に向けてコマンドを送信する（ステップＳ１５）。その後、無線タグ２００からレスポンス（応答信号）を受信し（ステップＳ１６）、これを解析して、正常にライトされたか否かを確認する（ステップＳ１７）。そして、制御手段１０１によって、全てのコマンドを送ったか否かが判断され（ステップＳ１８）、全てのコマンドを送っていない場合には（ステップＳ１８：ＮＯ）、処理はステップＳ１５に戻る。
【００６４】
一方で、全てのコマンドを送った場合には（ステップＳ１８；ＹＥＳ）、制御手段１０１は、ＰＬＣ共有メモリ１０２内のＲ＋０１を「未実行」から「実行済み」へと遷移させる（ステップＳ１９）。その結果、ＰＬＣ３００内のラダー共有メモリ３０３のＲ＋０１も「未実行」から「実行済み」へと遷移し、一連の処理が終了するとともに、ステップＳ２の処理（指示待機状態）に戻ることになる。
【００６５】
図６は、本実施形態に係るＰＬＣ３００における処理を説明するためのフローチャートである。
【００６６】
図６に示すように、まず、ＰＬＣ３００では、制御手段３０１のＣＰＵによって、ラダー共有メモリ３０３内のＲ＋００を「指示なし」にするとともに、ラダー共有メモリ３０３内のＲ＋０１を「実行済み」にする等の初期化処理が行われる（ステップＳ２１）。そして、制御手段３０１のＣＰＵは、ラダー共有メモリ３０３内のＲ＋００に対し、例えばリードやライトなど、ＲＦＩＤコントローラ１００に実行させたいアクセス種別をセットする（ステップＳ２２）。その後、制御手段１０１は、ラダー共有メモリ３０３内のＲ＋０１の状態を「実行済み」から「未実行」に遷移させる（ステップＳ２３）。そうすると、図５のステップＳ２〜ステップＳ１９を用いて説明したように、ＲＦＩＤコントローラ１００において各種処理が実行される。図５のステップＳ１１及びステップＳ１９に示すように、ＲＦＩＤコントローラ１００のＰＬＣ共有メモリ１０２のＲ＋０１が「実行済み」に遷移すると、フィールドネットワークを通じて制御手段３０１によって、ラダー共有メモリ３０３内のＲ＋０１の状態も「未実行」から「実行済み」に遷移する。制御手段３０１は、この「未実行」から「実行済み」に遷移するか否かを判断する（ステップＳ２４）。「実行済み」に遷移していない場合には（ステップＳ２４：ＮＯ）、「実行済み」に遷移するまで待機する。
【００６７】
一方で、「未実行」から「実行済み」に遷移した場合には（ステップＳ２４：ＹＥＳ）、必要領域へのアクセスが行われる（ステップＳ２５）。具体的には、ＰＬＣ３００の制御手段３０１は、例えばリードだった場合、ＲＦＩＤコントローラ１００のＤＭ＋ｘｘの必要領域にアクセスして、所望のデータを読み出すことができる。
【００６８】
なお、必要に応じてステップＳ２５の後に他の処理を行う（ステップＳ２６）。また、図６ではリードの例を説明したが、例えばライトの場合には、ステップＳ２３において、ラダー共有メモリ３０３内のＲ＋０１の状態を「実行済み」から「未実行」に遷移させる前に、デバイスＤＭ＋ｘｘの必要領域にデータを書き込んでおく必要がある。
【００６９】
また、図３〜図６を用いて説明した例では、図３に示すように、データＡ，データＢ，データＣは、ラダー共有メモリ３０３上で連続したアドレスに記憶されるとともに、ＰＬＣ共有メモリ１０２上でも連続したアドレスに記憶されるようにしていた。しかし、無線タグ２００のタグメモリ２０２内では、必ずしも連続したアドレスに記憶されていなくても構わない。具体的に説明すると、一般に、ＲＦＩＤコントローラ１００内の制御手段１０１から、無線タグ２００内の制御手段２０１に送信するコマンド（要求信号）や、逆に無線タグ２００内の制御手段２０１から送られてくるレスポンス（応答信号）は、図７に示すような態様（データ構成）となっている。例えば、タグアドレスの０番地から４バイトリードする際に、無線タグ２００に送信するコマンドと、無線タグ２００から帰ってくるレスポンスは、図８に示すような態様（データ構成）となる。リードの場合、送信コマンドにデータが必要ないので、データが空になっている。また、レスポンスの４データは、開始アドレスから順に４アドレス分、タグメモリ２０２のデータが返される。なお、図７や図８に示すコマンドフォーマットは、模式的なものであって、例えば実際の送信コマンドには無線タグ２００のＵＩＤを指定する欄や、その他さまざまなパラメータの指定が考えられる。レスポンスについても同様である。
【００７０】
図８に示すように、連続したタグアドレスへのアクセスは一度のコマンドで済む。しかし、不連続なタグアドレスにアクセスしようとすると、複数回のコマンドが必要になる。例えば図９に示すように、０番地（０ｘ００００番地）〜４番地（０ｘ０００４番地）と、５０番地（０ｘ００５０番地）、５３番地（０ｘ００５３番地）をアクセスしたい場合には、単純計算で３回に分けてアクセスする必要がある。なお、図９の左欄はアクセス種別、中央欄は開始アドレス、右欄はアクセス容量を示す。
【００７１】
ただし、条件によっては、複数のアクセスを一つに纏めた方が全体の交信時間が短くなる場合がある。すなわち、アクセスするデータ数を元に、そのアクセスに要する時間を計算することが可能なので、複数のアクセスを一つに纏める方が、交信時間が短くなるかどうかを自動判定し、最適なコマンドアクセスを実現することも考えられる。例えば図１０に示すように、５０番地を開始アドレスとしてアクセス容量を３とする。そうすると、５０番地から３バイト分リードされ、５０番地と５２番地のデータを得ることができる。５１番地もリードしてしまうことについては、余分な情報のリードになってしまうが、それによる時間のロスよりも、コマンド回数を減らす方が時間短縮になる。
【００７２】
しかしながら、同様の考え方を全ての番地に適用した場合には、時間短縮に繋がらない虞がある。具体的に説明すると、例えば０番地を開始アドレスとして５４バイト分リードすれば、０番地から５バイト分リードすることも、５０番地から１バイト分リードすることも、５２番地から１バイト分リードすることも、一度に行うことが可能になる。しかしながら、５番地〜４９番地までのリードは無駄なリードとなり、これによる時間のロスは小さくない。
【００７３】
このように、従来は、不連続なタグアドレスにアクセスしようとすると、複数回のコマンドが必要になる一方で、仮に一つのコマンドに纏めようとすると、番地が大きく離れている場合に大きな時間のロスが発生してしまっていた。しかし、本実施形態に係るＲＦＩＤコントローラ１００によれば、制御手段１０１によって、アクセスすべき無線タグのタグアドレスが特定されるので、番地が大きく離れている場合であっても（図４参照）、大きな時間のロスは発生しない。したがって、無線タグ２００との交信時間の短縮化を図ることができる。なお、この自動判定は、前述したパーソナルコンピュータ等を使用してＲＦＩDコントローラに予めアドレス変換テーブル内容を設定する段階で、パーソナルコンピュータ側で計算させ、その結果をＲＦＩDコントローラに流し込んで記憶させておくことが考えられる。ＲＦＩDコントローラ内で交信毎に計算判定するよりも、このように設定時に記憶させておく方が、処理速度の観点から効率的である。
【００７４】
［実施形態の主な効果］
以上説明したように、ＲＦＩＤコントローラ１００の制御手段１０１が、アドレス対応テーブルメモリ１０３の記憶内容を参照することによって、アクセスすべき無線タグのタグアドレスを特定するので、ＰＬＣ３００からタグアドレスの指定を行う必要がない。したがって、ＰＬＣ３００を動作させる際のラダープログラムに、アスキーコードに変換された開始アドレスの各桁をそれぞれＤＭ＋ｘｘにセットするための記述や、アスキーコードに変換されたアクセス容量をそれぞれＤＭ＋ｘｘにセットするための記述などが不要になり、ひいてはラダープログラマの作業負担を減らすことができる。
【００７５】
また、本実施形態に係るＲＦＩＤコントローラ１００によれば、図９及び図１０を用いて説明したように、無線タグ２００のタグアドレスのうち不連続な複数のエリアにアクセスしなければならないときでも、多くの繰り返し記述を不要にすることができるため、ラダープログラマの作業負担を減らすことができる。また、繰り返し記述が不要にすることで、ＰＬＣ３００から、ＲＦＩＤコントローラ１００に何度もリードコマンドを送信しなくてもよいので、一連の処理時間の短縮を図ることができる。さらには、フィールドネットワーク上を流れるコマンドの数を減らすことができるので、フィールドネットワークのトラフィックを減らすことで、ＲＦＩＤ装置以外の機器とＰＬＣ３００との通信速度の低下を防止し、ネットワーク全体のアクセス速度の向上も図ることができる。
【００７６】
また、図４を用いて説明したように、識別情報とタグアドレスとの対応関係を規定する対応テーブルを編集可能とすることによって、ＲＦＩＤコントローラ１００の利便性を高めることができる。例えば、ＲＦＩＤコントローラ１００のユーザや使用環境が異なれば、識別情報とタグアドレスとの対応関係を変更したい場合がある。また、ユーザや使用環境が異ならなくても、生産ラインを流れてくるワークの種類に応じて、識別情報とタグアドレスとの対応関係を変更したい場合がある。本実施形態に係るＲＦＩＤコントローラ１００は、制御手段１０１によって対応テーブルを編集可能に構成しているので、このようなニーズにも対応することができる。加えて、対応テーブルの編集パターンはアドレス対応テーブルメモリ１０３のメモリ容量が許す限り、何通り（例えば数十通り）でも作成することが可能である。したがって、識別情報とタグアドレスとの対応関係について自由度の高いＲＦＩＤコントローラ１００を提供することができる。例えば、アドレス対応テーブルメモリ１０３に、２パターンの対応テーブルを予め記憶させておく。そして、制御手段１０１が、これら２パターンの対応テーブルのうちいずれか一を選択することによって、アクセスすべき無線タグのタグアドレスを特定するようにする。これにより、ユーザは、ＰＬＣ３００からのコマンド等により、制御手段１０１に複数の対応テーブルのうちいずれか一を選択させることによって、アクセスしたい無線タグ２００のタグアドレスを簡易に特定することができる。
【符号の説明】
【００７７】
１００  ＲＦＩＤコントローラ
１０１  制御手段
１０２  ＰＬＣ共有メモリ
１０３  アドレス対応テーブルメモリ
１０４  タグ共有メモリ
１０５  通信回路
１０６  アンテナ
２００  無線タグ
２０１  制御手段
２０２  タグメモリ
２０３  通信回路
２０４  アンテナ
３００  ＰＬＣ
３０１  制御手段
３０２  ラダープログラムメモリ
３０３  ラダー共有メモリ
【図１】
2011128912.tif 000003
【図２】
2011128912.tif 000004
【図３】
2011128912.tif 000005
【図４】
2011128912.tif 000006
【図５】
2011128912.tif 000007
【図６】
2011128912.tif 000008
【図７】
2011128912.tif 000009
【図８】
2011128912.tif 000010
【図９】
2011128912.tif 000011
【図１０】
2011128912.tif 000012