Asterisk社員の技術情報ブログ

RFIDタグのフォーマットについて

最終更新日:2020年09月11日
カテゴリー:

こんにちは。
R&Dセクション 大城です。

以前にEPCへの書き込みについて記載をしました。
今回は「なぜ、フォーマットに準拠する必要があるか」と、「データでどの様になっているか」を記載したいと思います。

● フォーマットの準拠について
今後、RFIDは世の中に普及していくと予想されています。
独自フォーマットを扱う場合は、タグのbit範囲で自由に表現できると思いますが、以下のデメリットがあります。
・ソフトウェアも独自フォーマットに合わせないといけないため、そのフォーマット用にカスタマイズが必要
・システムのガラパゴス化が進み、標準化された場合に対応が難しくなる

JAISAから出ている「UHF 帯 RFID 標準コード体系ガイドライン」にSGTIN(Serialized Global Trade Item Number)という規格があり、商品を1つ1つ識別したい場合には便利です。
SGTINは、GTIN にシリアル番号を付加して個々の 商品に番号付けできるようにしたものです。
また、フォーマットから「商品タイプ」「事業者コード」「商品コード」が得られます。

という事は、SGTINにタグのフォーマットを準拠すればシステムもそれに準拠して汎用的なシステムも開発できます。
お店でタグをスキャンした際に、「どこの会社」「どの商品」というフィルターもかけ易くなりますね。

● 具体的なフォーマットの使用の仕方
では、どの様にフォーマットから判断するのでしょうか?
タグは96bitの構成で説明します。

例) A社
企業コード : 4912345 (7桁)
商品コード : 12345 (5桁)
シリアル番号 : 1002348 (7桁)

SGTINは構成
・EPC Header (8 bit)
・Filter (3 bit)
・Partition (3 bit)
・GS1 事業者 コード (24bit)
・商品コード (20bit)
・シリアル番号 (38bit)

7桁企業コードの場合、商品コードは 20bit(最大 1048575 まで可能)で表現するが、 JAN コードでは商品コードの桁数は 5桁(99999 が最大)なので、商品コードは99999より大きい値は設定しないようにする必要があります。

A社の場合
3035 2BD3 640C 0E40 000F 4B6C

1bit目から14bit目までは2進数表現で以下になります。
・EPC Header : 00110000
・Filter :001
・Partition : 101

このFilterの部分でタグ貼付対象物を区別する事ができ、上記の場合は「001」なので「Point of Sale (POS) Trade Item」に該当し「POS で精算を行う商品の SGTIN」という事がわかります。

残りのデータは15bit目から96bit目までは以下になります。

事業者コード : 0100 1010 1111 0100 1101 1001
商品コード : 0000 0011 0000 0011 1001
シリアル番号 : 00 0000 0000 0000 0000 1111 0100 1011 0110 1100

上記2進数を10進数に変換すると、以下になります。
企業コード : 4912345
商品コード : 12345
シリアル番号 : 1002348

この情報から、企業コードで「A社」、商品コードで「商品」、シリアル番号で「個体」の情報が分かり、DBから詳細な情報を取得したり、タグのInventory時にフィルタリングしたりする事が可能になります。

少し長々となりましたが、フォーマットについての手助けになれば幸いです。

記事のカテゴリー