• 検索結果がありません。

** 目次 ** 1. 概要 TR3SDK ライセンス RFID について RFID 関係の JIS 定義 RFID システムの特徴 ISO15693 対応 IC チップメーカ タグ

N/A
N/A
Protected

Academic year: 2021

シェア "** 目次 ** 1. 概要 TR3SDK ライセンス RFID について RFID 関係の JIS 定義 RFID システムの特徴 ISO15693 対応 IC チップメーカ タグ"

Copied!
46
0
0

読み込み中.... (全文を見る)

全文

(1)

新規作成 2005 年 12 月 20 日 修正 2010 年 12 月 1 日

(2)

1. 概要... 1 1.1.TR3SDK ...1 1.2.ライセンス ...1 2. RFID について... 2 2.1.RFID 関係の JIS 定義 ...2 2.2.RFID システムの特徴 ...2 2.3.ISO15693 対応 IC チップメーカ ...3 2.4.タグのメモリ構造...4 2.5.タグ状態遷移...5 3. TR3SDK について... 7 3.1.SDK の基本...7 3.1.1.基本手順 ...7 3.1.2 パススルー関数について...7 3.2.通信確立処理...9 3.2.1.Connect コマンド ...10 3.2.2.SetActionMode コマンド...10 3.3.上位 PC からの R/W の制御...15 A.コマンドモードでの制御 ...15 3.4.R/W に自動でタグを読み取らせる場合の制御 ...27 A.オートスキャンモードでの制御...27 B.連続インベントリモードでの制御 ...31 C.RDLOOP モードでの制御...32 D.EAS モードでの制御...35 4. VB6.0 による TR3SDK のプログラミングについて... 36 4.1.プロジェクトの作成 ...36 4.2.TR3SDK への参照の追加 ...37 4.3.ResponseRFID イベントハンドラの追加...38 5. VB.NET による TR3SDK のプログラミングについて ... 39 5.1.プロジェクトの作成 ...39 5.2.TR3SDK への参照の追加 ...40

(3)

1. 概要

本解説書は、RFID システム開発を行う際に必要となる RFID の基本的な概念、及び TR3SDK を 使用した R/W 制御/タグリード・ライトを行う為の基本的な処理手順を解説するものです。 また、同時に TR3SDK 関数一覧に記載されている各用語についても随時解説を行います。 なお、弊社製 R/W TR3 シリーズは、国際標準規格 ISO/IEC15693 及び ISO/IEC18000-3 (Mode1)に対応した製品です。それ以外の規格のタグには対応しておりませんのでご注意くださ い。 1.1.TR3SDK TR3SDK はタカヤ株式会社が開発、販売する RFID リーダ・ライタ「TR3 シリーズ」に対応するアプ リケーションを開発して頂くための開発ツールとサンプルプログラムです。そのため、他社製品上で の動作は保証していません。また、サポートも行っておりませんのでご了解下さい。 1.2.ライセンス TR3SDK はお客様自身でソフトウェアを開発される場合にご活用頂けます。なお、TR3SDK は開 発用ライセンスです。開発マシン 1 台に1ユーザのライセンスが必要になりますので、開発台数分を 必ずご購入下さい。 一方、SDK を利用して開発されたアプリケーション (オブジェクト)は再配布を禁止するものでは ありません。ライセンスの詳細については、別紙「ソフトウェア使用許諾書 SDK.pdf」を参照くださ い。

(4)

2. RFID について

RFID の定義、及び RFID システム開発を行う際に必要となる基本概念を解説します。 2.1.RFID 関係の JIS 定義 (1)RFID 誘導電磁界または電波によって非接触で半導体メモリのデータを読み出し書込みの為の近 距離通信を行うものの総称。 (2)RF タグ 半導体メモリを内蔵し、誘導電磁界または電波によって書込まれたデータを保持して非接触 で読出し可能な情報媒体。 (3)R/W(リーダ/ライタ) RF タグのデータの書込みと読出しをする装置。通常、アンテナと制御装置で構成される。 (4)アンテナ R/W の一部で RF タグと物理的に誘導電磁界または電波の送受信を行う導体素子放射 部分(空間結合素子部分)。 2.2.RFID システムの特徴 (1)非接触 通信距離は、1cm~1m 程度。 (2)被覆可能 遮蔽物(金属除く)がタグと R/W の間に入っても認識できる。 ただし、周波数により水分を含む遮蔽物の影響を受ける場合がある。 (3)小型・薄型 貼付け可能なので商品や製品の幅が広がる。 (4)ユニーク ID(UID) チップ単体に個別の識別 ID を持つ為、個別に管理可能。 (5)環境・耐久性 汚れ振動に強く、経年変化が少ない為、長期使用に耐えられる。 (6)書き換え可能 一度書込んだ情報に新たな情報の追加や書換えが可能。 (7)移動中 移動していても読み書きが可能。 (8)複数同時読取

(5)

2.3.ISO15693 対応 IC チップメーカ

TR3SDK がサポートしている IC チップのメーカーは表 2-1 の通りです。

RF タグチップメーカー RF タグ種別 容量

(ブロック) Tag-it HF-I Plus 64 Tag-it HF-I Standard 8 Texas Instruments

Tag-it HF-I Pro 8

I-Code SLI 28 I-Code SLIX 28 NXP Semiconductors I-Code SLI-S 40 SRF55V**P -SRF55V10P 125 SRF55V02P 29 Infineon Technologies My-d Light SRF55V01P 13 MB89R116 250 富士通 MB89R118 250 表 2-1 IC チップのメーカー

(6)

2.4.タグのメモリ構造

以下のタグメモリ構造体は、TI 製 Tag-it HF-I のメモリ構造となります。

図 2-1 (1)UID 各 IC タグを識別する 64bit の独自識別子。 UID は以下の形式に従い、IC 製造者が永続的に設定する。 図 2-2 (2)AFI(アプリケーションファミリ識別子) AFI は、R/W が目標にするアプリケーションタイプを表し、電界内に存在する全ての タグの中から要求されている適用基準に適合するタグだけを抽出する為に使用される。 具体的な使用方法は、「3.3.A.コマンドモードでの制御」にて解説します。 (3)Lock Bits そのブロックがロックされているかどうかを表します。 具体的な使用方法は、「3.3.A コマンドモードでの制御」にて解説します。

(7)

2.5.タグ状態遷移 ISO/IEC15693 の規格では、以下の様に状態遷移を行います。 図 2-3 (1)電源 OFF タグが電界外に存在する状態を表します。 電界外に存在する場合、電源 OFF となり、交信することはできません。 (2)レディ(Ready) タグが電界内に入った直後の状態を表します。 タグは電磁誘導により起電し、電源 ON となります。この状態であれば、R/W からの通信コマンド に応答します。 (3)静止(Quiet) 電源 ON 状態であるが、R/W からの通信コマンドに対して、応答しない状態を表します。 「レディ状態」にあるタグに対して「静止状態遷移コマンド」を送信することで「静止状態」へ遷移 させることが可能です。

(8)

以下の方法により「静止状態」から「レディ状態」へ遷移させることが可能です。 方法 1. 「レディ状態遷移コマンド」を送信する。 方法 2. 一度電界外へタグを移動して「電源 OFF 状態」へ遷移後、 再度、電界内へタグを移動する。 方法 3. R/W に対して「送信信号制御コマンド(OFF)」を送信し、 一度 R/W の電波出力を停止し、 再度、「送信信号制御コマンド(ON)」を送信して、電波出力を開始する。 タグは、上記方法 2 と同様の状態遷移を行い、「レディ状態」へ遷移します。 (4)選択 R/W からの通信コマンド(選択状態指定あり)に対して、応答する状態を表します。 (R/W からの通信コマンド(選択状態指定あり)に対しては、「選択状態」にあるタグのみが応答し、 「レディ状態」のタグは応答しません。) 「レディ状態」にあるタグに対して「選択状態遷移コマンド」を送信することで「選択状態」へ遷移 させることが可能です。 「選択状態」への遷移は、電界内に複数枚のタグが存在する場合において、特定のタグ(単一) のみに応答させることを目的としています。 ただし、弊社においては、上記目的達成方法として、「選択状態」への遷移ではなく、リードコ マンド/ライトコマンド送信時に UID を指定したコマンド送信を行う方法を推奨します。 ※「レディ状態」のタグの中からリード、及びライトを希望するタグの UID を指定してコマンド送信 を行うことにより、特定のタグのみを操作することが可能となります。 (選択状態へ遷移させる必要はありません) 表 2-2 実際のコマンド名

(9)

3. TR3SDK について

TR3SDK を使用した R/W 制御、及びタグのリード/ライトについて基本的な制御/処理方法を 解説します。 ※なお、この章で説明する各コマンドの引数は TR3-SDK-NET2003 のものです。実際のコマンド の引数は、別紙、関数一覧をご参照ください。 3.1.SDK の基本 3.1.1.基本手順 TR3-SDK は、R/W からの応答があると、ResponseRFID イベントを発生させます。そのため、基本 的手順は下記のようになります。 <手順> ①Inventory 関数等で、R/W へコマンドを送信する。 ②ResponseRFID イベントをハンドルし、UID 等の情報を取得する。 ※自動読取モードの場合は、①は不要です。 なお、ResponseRFID イベントのパラメータに格納されている情報は、コマンドごとに異なります。 別紙、関数一覧をご参照ください。 3.1.2 パススルー関数について TR3-SDK にはバイナリデータを R/W やタグへ直接送信する関数が用意されています。 SDK に実装されていないコマンドの送信には下表の関数を使用します。 関数名 用途 SendData 関数 R/W に直接バイナリデータを送信する。 例)SDK に実装されていないコマンドを送信したい場合。 ThroughCommand 関数 ※1 タグに直接バイナリデータを送信する。 例)タグメーカ独自のカスタムコマンドを送信したい場合。 ※1・・・R/W の製品シリーズが TRF シリーズで、かつ、TR3-SDK が下表のバージョンの場合のみ 使用可能です。

(10)

製品 対応バージョン TR3-SDK-VB6 ver 3.2.0 以降 TR3-SDK-NET2003 未対応 TR3-SDK-NET2005 ver 2.2.0 以降 TR3-SDK-PDA ver 2.3.0 以降 TR3-SDK-EVC 未対応 表 3-1 ThrougCommand 関数 対応表 通信フォーマットの詳細 送信するコマンドと応答のフォーマットについて、より詳細な情報が必要であれば、R/W 付属の CD に収められている「TR3 通信プロトコル説明書」をご参照ください。

(11)

3.2.通信確立処理 R/W の制御、及びタグのリード/ライトを行う為には、アプリケーションと R/W 間にて通信確立処 理を行う必要があり、必要な作業としては、以下 2 点となります。 (1)通信ポートオープン Connect コマンドを用いて、R/W を接続している通信ポートのオープン処理を行います。 (2)R/W 動作モード設定 SetActionMode コマンドを用いて、R/W の動作モードを設定します。 通信確立処理時の注意点 ・R/W が接続されているポート以外のポートでもオープンすることが可能です。 そのため、R/W との通信が確立されたかを調べるには、一度コマンドの送受信を行う必要があ ります。(上図では、SetActionMode で確認しています。) ・ポートオープンの際に誤った通信速度を指定した場合は、ポートのオープンには成功しますが、 コマンドはタイムアウトします。

(12)

3.2.1.Connect コマンド 通信ポートのオープン処理を行う為のコマンドです。 TR3SDK コマンド名 コマンド引数 対象 Connect コマンド (通信ポートオープン) ①通信ポート番号 ②通信速度 9600bps or 19200bps or 38400bps(※) PC 表 3-4 Connect コマンドの引数(TR3-SDK-NET-2003 版) ①通信ポート番号 R/W が接続されているポートを設定します。 ②通信速度 R/W に設定されている通信速度を設定します。 ※通信速度 38400bps は、R/W の ROM バージョンが 1.21 以降の場合にのみ有効です。 3.2.2.SetActionMode コマンド R/W の動作モード設定を行う為のコマンドです。 TR3SDK コマンド名 コマンド引数 対象 SetActionMode コマンド (動作モードの設定) ①動作モード ②通信速度 ③アンチコリジョン設定 ④連続読み取り設定 ⑤ブザー音設定 ⑥取得データ設定 ⑦ポーリング時間の設定 ⑧EEPROM 書き込み有無設定 R/W 表 3-5 SetActionMode コマンドの引数(TR3-SDK-NET-2003 版) ①動作モード [コマンドモード] 上位 PC から送信されるコマンドに従い処理を実行するモードです。 コマンドモードの R/W は、上位コマンド制御以外では IC タグのスキャンを行いません。 ※ 詳細は、「3.3.A コマンドモードでの制御」にて解説します。

(13)

[オートスキャンモード] 上位 PC から R/W にコマンドを送信することなく、R/W が単独でタグデータ読取状態となり、 電界内に存在するタグのデータを受信するモードです。 タグのデータを受信すると、ResponseRFID イベントが発生します。 なお、このモードで受信可能なデータは、専用の書込コマンド(SimpleWrite コマンド)で書き 込まれた独自フォーマットのデータとなります。 ※詳細は、「3.4.A オートスキャンモードでの制御」にて解説します。 [連続インベントリモード] タグの UID のみを連続で受信するモードです。 オートスキャンモードと同様に上位 PC から R/W にコマンドを送信することなく、R/W が単独で タグ UID データ読取状態となり、電界内に存在するタグの UID を受信します。また、タグの UID を受信すると、ResponseRFID イベントが発生します。 ※詳細は、「3.4.B 連続インベントリモードでの制御」にて解説します。 [RDLOOP モード] タグの UID と指定バイト範囲のデータを受信するモードです。 オートスキャンモードと同様に上位 PC から R/W にコマンドを送信することなく、 R/W が単独でタグデータ読取状態となり、電界内に存在するタグの UID とデータを 受信します。また、タグの UID を受信すると、ResponseRFID イベントが発生します。 ※詳細は「3.4.C RDLOOP モードでの制御」にて解説します。 [トリガーモード] 弊社製品ハンドヘルドアンテナ TR3-HA101、TR3-HA201 に装備されているプッシュロック タイプスイッチを押している間 (トリガー信号が ON の間)のみ、オートスキャンモードと同様の 読み取り処理を行うモードです。 ※受信可能なデータは、オートスキャンモード同様、専用の書込コマンド(SimpleWrite コマ ンド)で書き込まれた独自フォーマットのデータとなります。 [ポーリングモード] 指定した時間だけオートスキャンモードと同様の動作を行うモードです。 指定時間経過後は、コマンドモードとなります。 ※受信可能なデータは、オートスキャンモード同様、専用の書込コマンド(SimpleWrite コマン ド)で書き込まれた独自フォーマットのデータとなります。 [EAS モード] タグの AFI を利用し特定の AFI 値を持つタグを検出するモードです。

(14)

オートスキャンモードと同様に上位 PC から R/W にコマンドを送信することなく、 R/W が単独でタグデータ読取状態となり、電界内に存在するタグを検出します。また、タグを 検出すると、ResponseRFID イベントが発生します。 ※詳細は「3.4.D EAS モードでの制御」にて解説します。 ②通信速度 R/W 内の通信速度を設定します。 ※通信速度 38400bps は、R/W の ROM バージョンが 1.21 以降の場合にのみ有効です。 ③アンチコリジョン設定 電界内において、同時に複数のタグが存在する可能性がある場合、 「複数同時読取」を設定します。その他の場合、「単独読取」を設定します。 本設定値は、コマンドモード以外の全てのモード(オートスキャンモード等)の動作に以下のよう な影響を与えます。 設定 概要 単独読取 複数のタグが存在する場合、すべてのタグを読み取ることは困難です。 複数同時読取 複数のタグが存在していても、すべてのタグを読み取ることができます。 処理速度について 電界内のタグ件数が 1 件の場合、「単独読取」「複数同時読取」のどちらの場合も 正常なデータ受信が可能となりますが、「単独読取」設定のほうが上位 PC から見た 処理速度は速くなります。 ④連続読取設定 コマンドモード以外の動作モードの場合、R/W は、単独で読取処理を行い、上位 PC へデータ送 信を行いますが、その際、一度処理を行ったタグに対する処理を本設定にて選択します。 設定 概要 連続読取設定 一度処理を行ったタグについても連続で読取処理を継続します。 シングル読取設定 一度だけ読取処理を行います。

(15)

シングル読取りの仕組み(R/W 内部処理) R/W は、一度読取処理を行ったタグに対し、「静止状態遷移コマンド(StayQuiet)」を 送信し、処理済タグを「静止状態」へ遷移させます。 従って、処理済タグが電界内に留まっている間、再度処理を行うことはありません。 ただし、処理済タグであっても一度電界外へ移動し、再度電界内に戻ってきた場合には、タグが 「レディ状態」へ遷移する為、読取処理を行うことになります。 ⑤ブザー音設定 コマンドモード以外の動作モードの場合、R/W は、単独で読取処理を行い、上位 PC へデータ 送信を行いますが、その際、R/W 内のブザー鳴動を行うか否かを設定します。 ⑥取得データ設定 オートスキャンモード、トリガーモード、ポーリングモードの場合、R/W は、単独で読取処理を行 い、上位 PC へデータ送信を行いますが、上位 PC への送信データに UID を含めるか否かを設 定します。 ※コマンドモード、連続インベントリモード使用時は、本設定は動作に影響しません。 設定 概要 UID+ユーザデータ ユーザデータだけでなく、UID も上位の PC へ送信します。 ユーザデータのみ タグのユーザデータのみ上位の PC へ送信します。 ⑦ポーリング時間の設定 ポーリングモード時の待機時間(×200ms)を設定します。 有効範囲は 0~65535 までとなります。 ⑧EEPROM 書込有無設定 上記①~⑥にて設定した内容を R/W の EEPROM に書込むか否かを設定します。 (⑦は書き込みません。) 設定 概要 未書き込み 上記①~⑥にて設定した内容は、一度電源を OFF にすると、破棄されま す。 書き込み 上記①~⑥にて設定した内容は、再度動作モード設定が行われるまで有 効となります。

(16)

※注意点

③、④、⑤、⑥の設定は、オートスキャンモードや連続インベントリモードのように R/W が単独で読 取り処理を行うモード使用時に有効となります。

コマンドモード使用時は、これらの設定は動作に影響しません。 (例外:「Inventory16slot」「Inventory2」「SimpleRead」)

(17)

3.3.上位 PC からの R/W の制御 R/W を上位の PC から制御する場合の基本的なタグのリード/ライト処理について 解説します。 なお、以下の内容は、TR3SDK を使用した処理手順の一例であり、必ずしも最適な処理手順で あるとは限りません。 A.コマンドモードでの制御 上位の PC から制御する場合は、コマンドモードを使用します。

A.1.タグ UID の取得 – Inventory コマンド

電界内において、同時に存在するタグ件数が 1 件の場合、「Inventory コマンド」を使用します。 TR3SDK コマンド名 コマンド引数 対象 Inventory コマンド (UID 取得) ①アンチコリジョン設定 ②AFI 指定の有無 タグ 表 3-6 Inventory コマンドの引数(TR3-SDK-NET-2003 版) ①アンチコリジョン設定 電界内に同時に存在する可能性のあるタグ件数に応じて設定を行います。 電界内において、同時に複数のタグが存在する可能性がある場合、「複数同時読取」を設定し ます。その他の場合、「単独読取」を設定します。 ただし、弊社においては、Inventory コマンドの「複数同時読取設定」は推奨しません。 「複数同時読取設定」を必要とするアプリケーションを構築する場合は、「Inventory2 コマンド」の 使用を推奨します。 ②AFI 指定 R/W の AFI 値と同じ AFI 値を持つタグのみを処理対象としたい場合に「指定する」を設定しま す。(R/W への AFI 値設定は「SetAFI コマンド」にて行います)

(18)

A.2.タグ UID の取得 – Inventory2 コマンド 電界内において、同時に複数件のタグが存在する場合、「Inventory2 コマンド」、及び「GetUID コマンド」を使用します。 TR3SDK コマンド名 コマンド引数 対象 Inventory2 マンド (UID 取得) ①UID 取得設定 取得した UID 数のみを取得する。 or UID 数、及び UID を取得する タグ GetUID コマンド (R/W が保持している UID 取得) ②R/W 内保持番号 R/W 内にて保持中の各 UID に割り振られた番号 R/W 表 3-7 Inventory2 コマンドの引数(TR3-SDK-NET-2003 版) ①Inventory2 コマンド – UID 取得設定 Inventory2 コマンドを R/W へ送信した場合、R/W は、先ず電界内に存在する全てのタグの UID を取得し、R/W 内に保持します。その後、上位 PC へデータ送信を行います。 ・「取得した UID 数のみを取得する」を設定している場合 取得 UID 数のみが上位 PC へ送信されます。 ・「UID 数、及び UID を取得する」を設定している場合 取得 UID 数、及び取得した UID データ全件を上位 PC へ送信します。 ②GetUID コマンド – R/W 保持番号 R/W が内部的に保持している UID を保持番号を指定して取得します。 電界内において、同時に複数件のタグが存在する場合の UID 取得方法としては、上記処理フロ ーのように、先ず Inventory2 コマンドを使用して UID を R/W 内に保持し、その後、UID 取得件数 回「GetUID コマンド」を使用して、順次、UID の取得を行う方法が挙げられます。

(19)

A.3.タグユーザーデータの取得 – ReadSingleBlock コマンド 1.電界内に同時に存在するタグ件数が 1 件の場合

「A.1.タグ UID の取得 – Inventory コマンド」にて示した処理の

UID 取得成功直後に「ReadSingleBlock コマンド(UID 指定)」を使用し、 タグユーザーデータの読取り処理を行います。 TR3SDK コマンド名 コマンド引数 対象 ReadSingleBlock コマンド (タグユーザーデータ取得) ①ブロック番号指定 ②読み込むタグの UID 設定 ③ブロックセキュリティステータス設定 ④UID タグ 表 3-8 ReadSingleBlock コマンドの引数(TR3-SDK-NET-2003 版) ①ブロック番号指定 読み込み対象のブロック番号を指定します。 ②読み込むタグの UID 指定 特定のタグのみを処理対象としたい場合、「指定する」または「カレント UID を使用する」を設定 します。 ・「指定する」と設定した場合 ④で指定した UID のタグを対象とします。 ・「カレント UID を使用する」と設定した場合 R/W のカレント UID に 設定された UID のタグを対象とします。

※カレント UID は「Inventory コマンド」、または UID を指定したコマンドを R/W が受信した際に設 定されます。 ③ブロックセキュリティステータス設定 ①にて指定したブロックがロック情報を取得するか否かを設定します。ロック情報は、0 が未 ロックで、1 がロック済みを表しています。 ブロックのロック ロック済のブロックは ReadOnly となっており、書込みを行うことはできません。 また、一度ロックしたブロックは、未ロック状態に戻すことはできません。

(20)

④UID ②にて「指定する」を選択した場合のみ、設定して下さい。 それ以外を選択している場合はこの設定を省略するか NULL を設定して下さい。 UID は下位バイトからバイト配列に格納して下さい。 2.電界内に同時に存在するタグ件数が複数件の場合 電界内において、同時に複数件のタグが存在し、存在するタグ全件のデータを リードする場合、以下のように処理を行います。

「A.2.タグ UID の取得 – Inventory2 コマンド」にて示した処理の UID 取得成功直後に 「ReadSingleBlock コマンド(UID 指定)」を使用し、タグユーザーデータの読取り処理を行いま す。 3.「選択状態」の使用 以下に示すように、タグを「選択状態」へ遷移させて処理する方法を用いても 「ReadSingleBlock コマンド(UID 指定)」と同様の処理を行うことが可能です。 しかし、「ReadSingleBlock コマンド(UID 指定)」と比較してコマンドの送信回数が 増え、処理速度低下の要因となる為、弊社では推奨していません。 ※「SelectTag コマンド」 タグを選択状態へ遷移させる為のコマンド

(21)

A.3-2. タグユーザーデータの取得 – ReadBytes コマンド 1.ブロック(固定長)のリード処理を行う「ReadSingleBlock コマンド」に対し、複数ブロック(可変 長)のリード処理が可能な「ReadBytes コマンド」も TR3SDK 内に準備されています。 TR3SDK コマンド名 コマンド引数 対象 ReadBytes コマンド (タグユーザーデータ取得) ①開始ブロック番号指定 ②読込みバイト数指定 ③読込むタグの UID 設定 ④UID タグ 表 3-9 ReadBytes コマンドの引数(TR3-SDK-NET-2003 版) ①開始ブロック番号指定 読み込みを開始するブロック番号を指定します。 ②読込みバイト数指定 読込みを行うバイト数を指定します。 一度の「ReadBytes コマンド」で読み込める最大バイト数は下記の通りです。 ・タグユーザメモリ領域が 112 バイトの場合・・・112 バイト ・タグユーザメモリ領域が 256 バイトの場合・・・254 バイト ③読み込むタグの UID 指定 特定のタグのみを処理対象としたい場合、「指定する」または「カレント UID を使用する」を設定 します。 ・「指定する」と設定した場合 ④に UID を設定します。 ・「カレント UID を使用する」と設定した場合 R/W のカレント UID に 設定された UID が指定されます。

※カレント UID は「Inventory コマンド」、または UID を指定したコマンドを R/W が受信した際に 設定されます。

④UID

③にて「指定する」を選択した場合のみ、設定して下さい。それ以外を選択している場合はこ の設定を省略するか NULL を設定して下さい。

(22)

A.4.タグユーザーデータの書込み – WriteSingleBlock コマンド 1.電界内に同時に存在するタグ件数が 1 件の場合

「3.3.A.1.タグ UID の取得 – Inventory コマンド」にて示した処理の UID 取得成功直後に 「WriteSingleBlock コマンド(UID 指定)」を使用し、タグユーザーデータの書込み処理を行いま す。 TR3SDK コマンド名 コマンド引数 対象 WriteSingleBlock コマンド (タグユーザーデータ書き込み) ①ブロック番号指定 ②書き込みデータ ③書き込みを行うタグの UID 設定 ④タグの種類 ⑤UID タグ 表 3-10 WriteSingleBlock コマンドの引数(TR3-SDK-NET-2003 版) ①ブロック番号指定 書込みを行うブロック番号を指定します。 ②書込みデータ タグに書込むデータを指定します。書込みデータは文字列またはバイナリデータの どちらかを指定します。1ブロックに書込みきれないデータは切り捨てられます。 ③書込みを行うタグの UID 設定 特定のタグのみを処理対象としたい場合、「指定する」または「カレント UID を使用する」を設定 します。 ・「指定する」と設定した場合 ④に UID を設定します。 ・「カレント UID を使用する」と設定した場合 R/W のカレント UID に 設定された UID が指定されます。

※カレント UID は「Inventory コマンド」、または UID を指定したコマンドを R/W が受信した際に 設定されます。

(23)

④タグの種類

タグの種類を指定します。

TAG-IT HF-I の場合、TAG-IT HF-I を、それ以外(i-code SLI, my-d)の場合は、Other を指定 します。 ⑤UID ③にて「指定する」を選択した場合のみ、設定して下さい。それ以外を選択している場合はこ の設定を省略するか NULL を設定して下さい。 UID は下位バイトからバイト配列に格納して下さい。 2.電界内に同時に存在するタグ件数が複数件の場合 電界内において、同時に複数件のタグが存在し、存在するタグ全件へデータを ライトする場合、以下のように処理を行います。

「A.2.タグ UID の取得 – Inventory2 コマンド」にて示した処理の UID 取得成功直後に 「WriteSingleBlock コマンド(UID 指定)」を使用し、タグユーザーデータの書込み処理を行いま す。

(24)

A.4.2.タグユーザーデータの書込み – WriteBytes コマンド 1.ブロック(固定長)のライト処理を行う「WriteSingleBlock コマンド」に対し、複数ブロック(可変 長)のライト処理が可能な「WriteBytes コマンド」も TR3SDK 内に準備されています。 TR3SDK コマンド名 コマンド引数 対象 WriteBytes コマンド (タグユーザーデータ書き込み) ①開始ブロック番号指定 ②書き込みデータ ③書き込みを行うタグの UID 設定 ④UID タグ 表 3-11 WriteBytes コマンドの引数(TR3-SDK-NET-2003 版) ①開始ブロック番号指定 書込みを開始するブロック番号を指定します。 ②書込みデータ タグに書込むデータを指定します。書込みデータは文字列またはバイナリデータの どちらかで指定します。 一度に書込める最大バイト数は ・タグユーザメモリ領域が 112 バイトの場合、112 バイト ・タグユーザメモリ領域が 256 バイトの場合、250 バイト となっています。 ③書込みを行うタグの UID 指定 特定のタグのみを処理対象としたい場合、「指定する」または「カレント UID を使用する」を設定 します。 ・「指定する」と設定した場合 ④に UID を設定します。 ・「カレント UID を使用する」と設定した場合 R/W のカレント UID に 設定された UID が指定されます。

※カレント UID は「Inventory コマンド」、または UID を指定したコマンドを R/W が受信した際に 設定されます。

④UID

③にて「指定する」を選択した場合のみ、設定して下さい。それ以外を選択している場合はこ の設定を省略するか NULL を設定します。

(25)

A.5.AFI の使用方法 R/W に設定された AFI と同一の AFI を持つタグのみ応答させる場合に使用します。 以下、AFI を用いた「Inventory コマンド」発行時の処理を示します。 TR3SDK コマンド名 コマンド引数 対象 WriteAFI コマンド (タグへの AFI の書き込み) ①AFI 指定 ②書き込みを行うタグの UID 設定 ③タグの種類 ④UID タグ SetAFI コマンド (R/W への AFI の設定) ⑤AFI 指定 R/W 表 3-12 AFI に関するコマンドの引数(TR3-SDK-NET-2003 版) ①WriteAFI コマンド - AFI 指定 タグに書込む AFI コードを設定します。 ②WriteAFI コマンド - 書込みを行うタグの UID 設定 特定のタグのみを処理対象としたい場合、「指定する」または「カレント UID を使用する」を設定 します。「指定する」と設定した場合、⑤に UID を設定します。

「カレント UID を使用する」と設定した場合、R/W のカレント UID に設定された UID が指定されま す。カレント UID は「Inventory コマンド」、または UID を指定したコマンドを R/W が受信した際に 設定されます。

③WriteAFI コマンド - タグの種類 タグの種類を指定します。

TAG-IT HF-I の場合、TAG-IT HF-I をそれ以外(i-code SLI, my-d)の場合は、Other を指定し ます。

④WreiteAFI コマンド - UID

②にて「指定する」を選択した場合のみ、設定して下さい。それ以外を選択している場合はこ の設定を省略するか NULL を設定して下さい。

(26)

UID は下位バイトからバイト配列に格納して下さい。 ⑤SetAFI コマンド - AFI 指定 R/W に設定する AFI を指定します。 この設定を行うことにより、「Inventory コマンド」発行時に R/W 側の AFI コードを タグに知らせ、タグ側で応答するか否かを判断することが可能となります。 この処理を有効にするためには、「Inventory コマンド」発行時に AFI フラグを ON にする必要が あります。 ※但し、タグ側の仕様が AFI をサポートするときのみ有効です。

(27)

A.6.LockBlock の使用方法

タグの AFI, DSFID, UserMemory をロックし、ReadOnly する場合に使用します。

タグの初期のロック状態を下図に示します。 TR3SDK コマンド名 コマンド引数 対象 LockBlock コマンド (ブロックのロック) ①ブロック番号指定 ②読込むタグの UID 設定 ③UID タグ 表 3-13 LockBlock コマンドの引数(TR3-SDK-NET-2003 版) ①ブロック番号指定 読み込みを行うブロック番号を指定します。 ②読み込むタグの UID 指定 特定のタグのみを処理対象としたい場合、「指定する」または「カレント UID を使用する」を設定 します。 「指定する」と設定した場合、(4)に UID を設定します。

「カレント UID を使用する」と設定した場合、R/W のカレント UID に設定された UID が指定されま す。カレント UID は「Inventory コマンド」、または UID を指定したコマンドを R/W が受信した際に 設定されます。

(28)

③UID ②にて「指定する」を選択した場合のみ、設定して下さい。それ以外を選択している場合はこ の設定を省略するか NULL を設定します。 UID は下位バイトからバイト配列に格納して下さい。 前述の「LockBlock コマンド」を使用して 1 ブロック目をロックした場合、タグは以下のようになりま す。

UserMemory のロック情報は、「ReadSingleBlock コマンド」や、「GetMBlockSecSt」で取得すること が可能です。

※ AFI や DSFID のロックは、それぞれ LockAFI、LockDSFID を使用してください。 (詳細は、SDK 付属の関数一覧を参照)

AFI と DSFID のロック

AFI と DSFID のロック情報は取得する方法がありません。 ただし、対象のタグが、Tag-it HF-I の場合のみ、下記の方法でロックの有無を確認することができます。

方法:WriteAFI、WriteDSFID でロック情報の変更を試み、応答を確認する。 結果:下記の NAK 応答があれば、ロックされている。

(29)

3.4.R/W に自動でタグを読み取らせる場合の制御 R/W にて自動でタグを読み取る場合の基本的な処理について解説します。 なお、以下の内容は、TR3SDK を使用した処理手順の一例であり、任意のアプリケーション開発 を行う際、必ずしも最適な手段であるとは限りません。 A.オートスキャンモードでの制御 R/W をオートスキャンモードに設定した場合の基本的な処理について解説します。 オートスキャンモードでは、事前にタグへ書き込んだデータを、R/W が自動で読み取るモードです。 動作モードを設定する際のオプションによっては、データと同時に UID も取得することが可能で す。 A.1.タグへの書込み オートスキャンモードでタグの読取り処理を行うためには、事前に「SimpleWrite コマンド」でタグ にデータを書き込む必要があります。 それ以外のコマンドで書込みが行われているタグは無視されます(一部の例外を除く)。 TR3SDK コマンド名 コマンド引数 対象 SimpleWrite コマンド (可変長データ書き込み) ①書き込みデータ タグ 表 3-14 SimpleWrite コマンドの引数(TR3-SDK-NET-2003 版) ①書込みデータ タグに書込むデータを指定します。書込みデータは文字列またはバイナリデータの どちらかで指定します。「WriteSingleBlock コマンド」と違い、可変長のデータを 書込むことが可能です。 「SimpleWrite コマンド」の最大書込みバイト数は下記の通りです。 ・タグユーザメモリ領域が 112 バイトの場合、106 バイト ・タグユーザメモリ領域が 256 バイトの場合、249 バイト

(30)

A.2.タグ UID 及びタグユーザーデータの取得 – シングル読取り 上位 PC から R/W にコマンドを送信することなく、R/W が単独でタグデータ読取状態となり、電界 内に存在するタグのデータを受信します。 タグデータを受信すると、R/W は受信データを上位 PC へ送信します。 一度読取りを行ったタグは静止状態となるため、電界内に留まっている間に再度読取りが行わ れることはありません。

(31)

A.3.タグ UID 及びタグユーザーデータの取得 – 連続読取り 「A.2.タグ UID 及びタグユーザーデータの取得 – シングル読取り」と同様に上位 PC から R/W にコマンドを送信することなく、R/W が単独でタグデータ読取状態となり、電界内に存在するタグの データを受信し、受信データを上位 PC へ送信します。 シングル読取りの場合とは異なり、一度処理したタグについても連続で処理を継続します。タグ が電界内に存在する間、永続的に同一タグデータの受信が発生します。

(32)

A.4.SimpleRead コマンドを使用した読取り処理 コマンドモードにて、「SimpleRead コマンド」を使用すると、オートスキャンモードと同様の読み取り 処理を行うことができます。 アンチコリジョンの有無や、読み取りモード(シングル読み取り or 連続読み取り)等の設定は、動 作モード設定時の設定が使用されます。 TR3SDK コマンド名 コマンド引数 対象 SimpleRead コマンド (タグユーザーデータ(+UID)取 得) なし タグ 表 3-15 SimpleRead コマンドの引数(TR3-SDK-NET-2003 版)

(33)

B.連続インベントリモードでの制御 R/W を連続インベントリモードに設定した場合の基本的な処理について解説します。 オートスキャンモードと同様に、上位 PC から R/W にコマンドを送信することなく R/W が単独でタ グ UID データ読取状態となり、電界内に存在するタグの UID を受信します。 タグの UID を受信すると、R/W は受信データを上位 PC へ送信します。 オートスキャンモードと違い、フォーマットの指定はなく、ISO15693 に準拠したタグならば, UID を読取ることが可能です。 コマンドモードで連続インベントリモードと同様の処理を行うには

「3.3.A.2.タグ UID の取得 – Inventory2 コマンド」にて記載した処理手順を用い、連続でタグの UID を読み取ります。

(34)

C.RDLOOP モードでの制御 R/W を連続 RDLOOP モードに設定した場合の基本的な処理について解説します。 C.1.処理概要 オートスキャンモードと同様に、上位 PC から R/W にコマンドを送信することなく R/W が単独でタ グデータ読取状態となり、電界内に存在するタグの UID と指定した範囲のデータを受信します。(範 囲の指定方法は次ページにて解説) タグの UID を受信すると、R/W は受信データを上位 PC へ送信します。 オートスキャンモードと異なり、弊社独自の形式でデータを書き込んでいなくても、読取ることが できます。

(35)

C.2.読取り範囲の設定

RDLOOP モードでは、読み出しスタートブロックから、読み出しデータ長で指定した バイト数だけ読取ります。

ただし、このデータの読取り範囲は、あらかじめ設定しておく必要があります。

(36)

※以下のバージョンでは、SetRDLOOPRange 関数を使用することで、プログラムから RDLOOP の 読み取り範囲を変更できるようになりました。 製品 対応バージョン TR3-SDK-VB6 ver 3.1.0 以降 TR3-SDK-NET2003 未対応 TR3-SDK-NET2005 ver 2.1.0 以降 TR3-SDK-PDA ※1 下記 TR3-SDK-EVC 未対応 表 3-16 SetRDLOOPRange 関数対応表

※1 製品内の TR3-SDK-NET2005 PDA は ver.2.2.0 以降対応しています。 TR3-SDK-NET2003 PDA は未対応ですのでご注意ください。

(37)

D.EAS モードでの制御

R/W を EAS モードに設定した場合の基本的な処理について解説します。

EAS モードでは、R/W に SetAFI コマンドで設定してある AFI 値と同様の AFI 値をもつタグを読 み取った場合、上位の PC に「OK」という文字列を送信します。

※この時の ResponseRFID は、e.SendCommand に SimpleRead がセットされ、 e.TextData に「OK」という文字列がセットされます。 なお、EAS モードは、SDK が下記のバージョン以降の場合のみ使用可能です。 製品 対応バージョン TR3-SDK-VB6 ver 3.0.0 以降 TR3-SDK-NET2003 ver 2.0.0 以降 TR3-SDK-NET2005 ver 2.0.0 以降 TR3-SDK-PDA ver 2.0.0 以降 TR3-SDK-EVC 未対応 表 3-17 EAS モード対応表

(38)

4. VB6.0 による TR3SDK のプログラミングについて

ここでは、Microsoft Visual Studio VB6.0 と TR3-SDK-VB6 を用いて、Window アプリケーションを 作成する場合の開発方法を紹介します。

4.1.プロジェクトの作成

アプリケーションを作成するために以下のステップに従ってください。

①Microsoft Visual Studio 6.0 を実行します。

(39)

4.2.TR3SDK への参照の追加

①メニューから「プロジェクト」→「参照設定」を選択します。

(40)

4.3.ResponseRFID イベントハンドラの追加

①コード上で WithEvents 句を指定して、RFIDControl 型のオブジェクトを作成します。

②クラス名コンボボックスから①で宣言したオブジェクトを選択し、イベント名コンボボックスから 「ResponseRFIDBinary(または ResponseRFID)」を選択してください。

(41)

5. VB.NET による TR3SDK のプログラミングについて

ここでは、Microsoft Visual Studio .NET 2003 と TR3-SDK-NET2003 を用いて、Window アプリケ ーションを作成する場合の開発方法を紹介します。

※Microsoft Visual Studio .NET 2005 と TR3-SDK-NET2005 を用いた場合も同様です。

5.1.プロジェクトの作成

アプリケーションを作成するために以下のステップに従ってください。

①Microsoft Visual Studio .NET を実行します。

(42)

5.2.TR3SDK への参照の追加

①メニューから「プロジェクト」→「参照の追加」を選択します。

②[参照ボタン]より TR3-SDK のインストールフォルダ内の TR3COM.dll を選択し、 [OK ボタン]押下で追加します。

(43)

5.3.ResponseRFID イベントハンドラの追加

(44)

②クラス名コンボボックスから①で宣言したオブジェクトを選択すると、メソッド名コンボボックスに 「ResponseRFID」が表示されます。

メソッド名コンボボックスから「ResponseRFID」を選択してください。

(45)

更新履歴 Ver No 日付 内容 Ver 1.0.0 2005/12/20 作成 Ver 1.1.0 2006/05/12 RDLOOP モードに関する解説を追加 Ver 1.2.0 2006/12/05 EAS モードに関する解説を追加 その他、補足説明の追加 Ver 1.2.1 2006/01/10 罫線を修正。 Ver 1.2.2 2007/03/08 EAS モードの対応製品一覧を修正 Ver 1.2.4 2007/05/01 VB6.0 での開発に関する記述を追加 Ver 1.2.5 2007/05/25 ライセンスに関する記述を修正 Ver 1.2.6 2008/03/28 ファイル名統一による文言修正 Ver 1.3.0 2010/07/01 RDLOOP モード読み取り範囲設定に関する記述を追加 その他、タグ情報などを更新 Ver 1.4.0 2010/12/01 ThroughCommand 関数に関する記述を追加 タグ情報を更新 ^

(46)

[FAX] (03)5449-1423 [Mail] rfid-sol@takaya.co.jp [URL] http://www.takaya.co.jp/

参照

関連したドキュメント

スライド5頁では

12―1 法第 12 条において準用する定率法第 20 条の 3 及び令第 37 条において 準用する定率法施行令第 61 条の 2 の規定の適用については、定率法基本通達 20 の 3―1、20 の 3―2

エネルギー状況報告書 1 特定エネルギー供給事業者の概要 (1) 特定エネルギー供給事業者の氏名等

エネルギー状況報告書 1 特定エネルギー供給事業者の概要 (1) 特定エネルギー供給事業者の氏名等

エネルギー状況報告書 1 特定エネルギー供給事業者の概要 (1) 特定エネルギー供給事業者の氏名等

This is done by starting a Byte Write sequence, whereby the Master creates a START condition, then broadcasts a Slave address with the R/W bit set to ‘0’ and then sends two

ア.×

 (4)以上の如き現状に鑑み,これらの関係 を明らかにする目的を以て,私は雌雄において