2016年8月10日水曜日

同じEPCを持つタグをTIDを使って識別したい

RFIDのタグは貼って使うと、物を識別することができます。それでは、タグ自体を識別することはできるのでしょうか。もちろん異なるIDのタグ同士であれば、簡単に識別することが可能ですね。それでは、タグのIDが同じだった場合はどうなるのでしょうか。
普通はRFIDシステムを使う上で、タグのIDが同じかなんて気にする必要はありません。誰かが重複しないように作成してくれています。この記事はその誰かが確認する場合の方法を検討しながら、RFIDへの理解を深めるのが目的になります。但し、他システムや他社との間でタグIDが重複しないようにする枠組み( ISO国際規格やGS1標準)については扱いません。
RFIDタグは一般的にIDと呼ばれるEPC領域に書き込まれた値の他に、TIDと呼ばれるものを持ちます。TIDにはチップベンダー出荷時点で一意の値が書き込まれており、書換できません。このTIDを使ってタグ自体を識別することができないかを実験しながら確かめてみたいと思います。

それでは、実際にタグのIDとTIDを読んでみましょう。以下のものを用意しました。

  • Alienリーダとアンテナ
  • Alien RFID Gateway(リーダ付属のソフトです)
  • タグ何枚か

Alienリーダが起動したら、Alien RFID Gatewayを立ち上げます。接続されたリーダを選択したら、右下の「Tag Programmer」というボタンをクリックします。下のような画面が表示されます。


Tag Programmerはタグの詳細情報を見たり、タグにIDを書き込んだりすることができます。画面のEPCの部分がタグのIDを、Higgs UTIDの部分がTIDをそれぞれ表しています。

Tag Programmerの機能を使って、今回は3枚のタグに同じIDを書込みました。アンテナにタグを載せ、EPC Dataのボックスに好きなIDを入力し、「ProgramEPC」ボタンを押すと書き込めます。ちなみに書込むときは電波出力は抑えた方がよいです。画面では、RF Attenuationを最大の15 dBに設定しています。

同じIDのタグが準備できたところで、タグを読んでみましょう。アンテナにはIDが同じタグを載せておきます。

複数枚一度に読むので、一旦画面を閉じ、今度は「Tag Grid」という機能を使ってみます。おそらく下の画面のように表示されます。


Tag Grid画面では、1つのIDが1つのアイコンとして表示されるので、3枚のタグのIDが同一のため、一つのアイコンとして表示されてしまっているようです。

それでは、IDに加えTIDも合わせて読んでみるとどうなるでしょうか。リーダの設定を変えて試してみます。

設定の変更にはTag Grid画面の「Alin> Command Line」の「Send>」のところに一行ずつ各行を入力し、エンターを押します。
  1. AcqG2TagData = 2 2 4
  2. TagStreamFormat = Custom
  3. TagStreamCustomFormat = EPC:%i ${G2DATA1}, Disc:%d %t, Last:%D %T, Count:%r, Ant:%a, Proto:%p
一行目はIDを読むときに、TIDも一緒に読むための設定です。二行目はリーダからの送信データに独自書式を使うための設定です。三行目は独自書式の詳細となります。詳細はAlienリーダのマニュアルに載っています。

全行入力し終わると、以下のような表示に変わります。



各アイコンの上に表示される十六進数が従来はIDのみだったのに対し、IDにTIDを付加した形になっており、それぞれ別のタグとして識別することができました。大量のタグのIDが重複しているか確認するには、「Persist Forever」を選択した上で、対象のタグを読ませ、「Save Data」すると、タグのIDがCSV形式で保存されます。あとはExcelなどで加工・集計すれば、確認できると思います。

もう少し使い勝手をよくするために、ExcelToolでIDとTIDを合わせて読みたいと考えているのですが、実現できていません。もちろんアンテナの読取領域に同一IDのタグが一枚だけならば、実現できるのですが、肝心の複数枚存在するパタンでうまくいきません。SessionやSelect、TargetなどRFIDに関するより深い理解が必要なようです。何か分かったら、また投稿したいと思います。

0 件のコメント:

コメントを投稿