FL-net(OPCN-2)の基礎知識
FL-net(OPCN-2)とは?
FL-net(OPCN-2)は、工場の生産機器、産業用ロボット、パソコン等を相互接続して、FAシステムを構築するためのネットワークプロトコルです。JEMA(一般社団法人日本電機工業会)により標準化され、国際規格ISO15745-4、及び日本工業規格JIS B3521に制定されています。
FL-net(OPCN-2)の特徴
- 異メーカー、異機種の機器を最大254台接続して通信できます。
- 一般に普及しているLANケーブルで接続できます。
- マスターレス(全てのノードが対等)で、任意のタイミングでネットワークに参加・離脱できます。
- コモンメモリにより、全ノードでデータを共有できます。
- 特定のノード間でメッセージを送受信できます。
FL-net(OPCN-2)の仕様
物理層規格 | IEEE 802.3 |
---|---|
トポロジ | バス型、スター型 |
最大接続ノード数 | 254 |
交信権制御方式 | トークンバス方式 |
ノード管理方式 | マスターレス方式 |
プロトコル | FAリンクプロトコル |
伝送サービス | サイクリック伝送(最大8192ビット+8192ワードの周期的なデータ伝送) メッセージ伝送(最大1024バイトの非周期的なデータ伝送) |
伝送性能 | 32ノードで2048ビット+2048ワードのデータを50ms以内にリフレッシュ |
IPアドレス
FL-netのIPアドレスは、クラスCを使用します。ネットワークアドレスはクラスCの範囲で任意に決めることができますが、標準値は192.168.250.0とされています。ホストアドレスは、ノード番号になります。例えば、ネットワークアドレスに標準値を使用していて、ノード番号が1であれば、IPアドレスは192.168.250.1となります。
ノード番号
FL-netのノード(局)を識別するノード番号は、以下の範囲です。
ノード番号 | 用途 |
---|---|
0 | 使用できません |
1~249 | 通常のFL-net通信機器(パソコン、PLC等) |
250~254 | FL-netメンテナンス用 |
255 | 使用できません |
サイクリック伝送
FL-netの基本的なデータ伝送は、サイクリック伝送(周期的なデータ伝送)です。サイクリック伝送は、トークンと呼ばれる送信権をリレーで周回させます。トークンを受け取ったノードは、自身のコモンメモリの範囲を他ノードに同報送信します。トークンがネットワークを一周すると、参加しているノードに割り当てたコモンメモリの範囲が全て更新(リフレッシュ)されます。このデータ伝送により、各ノードの上位層(アプリケーション)は、コモンメモリを読み書きするだけで他ノードと交信できます。
メッセージ伝送
FL-netは、メッセージ伝送(非周期的なデータ伝送)をサポートしています。メッセージ伝送は、特定のノード間でのデータ送受信、または全ノードにデータを同報送信することができます。メッセージで一度に送信できるデータは、最大で1024バイトです。
メッセージには、要求メッセージ、応答メッセージ、透過形メッセージがあります。要求メッセージと応答メッセージは対になっていて、FL-netの仕様で用途が定義されています。透過形メッセージは、ユーザーが用途を定義できるメッセージです。
コモンメモリ
コモンメモリは、ネットワーク上の仮想共有メモリで、サイクリック伝送により全ノードが同じ内容を保持しています。
コモンメモリには、アドレス空間が独立した2つの領域があります。領域1は512ワード、領域2は8192ワードの記憶領域があり、どちらの領域も1アドレスに1ワードのデータを格納できます。(ワード=16ビット)
先頭アドレス | 最終アドレス | サイズ | |
---|---|---|---|
領域1 | 0x0000 | 0x01FF(511) | 0x200(512) |
領域2 | 0x0000 | 0x1FFF(8191) | 0x2000(8192) |
サイズはワード単位。カッコ内は10進数表記。
コモンメモリは、ネットワーク上の各ノードにアドレスが重複しないように割り付けます。自ノードに割り付けられた範囲は、書き込み/読み込みが可能です。他ノードに割り付けられた範囲は、読み込みのみ可能です。コモンメモリを読み書きするこで、任意のノードと交信することができます。
トランザクションコード
トランザクションコードは、FL-netのフレーム(データ)を識別する値です。トランザクションコードを参照することで、メッセージ伝送のメッセージの種類を判別することができます。
トランザクションコード | メッセージ |
---|---|
65003 | バイトブロックリード(要求) |
65004 | バイトブロックライト(要求) |
65005 | ワードブロックリード(要求) |
65006 | ワードブロックライト(要求) |
65007 | ネットワークパラメータリード(要求) |
65008 | ネットワークパラメータライト(要求) |
65009 | 停止指令(要求) |
65010 | 運転指令(要求) |
65011 | プロファイルリード(要求) |
65013 | ログデータリード(要求) |
65014 | ログデータクリア(要求) |
65015 | メッセージ折返し(要求) |
65016 | ベンダー固有メッセージ(要求) |
65203 | バイトブロックリード(応答) |
65204 | バイトブロックライト(応答) |
65205 | ワードブロックリード(応答) |
65206 | ワードブロックライト(応答) |
65207 | ネットワークパラメータリード(応答) |
65208 | ネットワークパラメータライト(応答) |
65209 | 停止指令(応答) |
65210 | 運転指令(応答) |
65211 | プロファイルリード(応答) |
65213 | ログデータリード(応答) |
65214 | ログデータクリア(応答) |
65215 | メッセージ折返し(応答) |
65216 | ベンダー固有メッセージ(応答) |
10000~59999 | 透過形メッセージ |
ネットワークパラメータ
ネットワークパラメータは、各ノードに設定するパラメータです。ネットワークパラメータの内、ノード番号とノードに割り当てるコモンメモリの範囲は、他ノードと重複してはいけません。
ネットワークパラメータ | 説明 |
---|---|
ノード番号 | ノードを識別する番号。通常はIPアドレスのホストアドレスです。 |
ノード名 | ノードの名前。任意の名前を10文字以内で付けることができます。 |
ベンダ名 | ノードで使用するFL-net通信機器のベンダの名称。FL-net通信機器によります。 |
製造業者形式 | ノードで使用するFL-net通信機器の形式。FL-net通信機器によります。 |
領域1の先頭アドレス | ノードに割り当てるコモンメモリ領域1の先頭アドレス |
領域1のサイズ | ノードに割り当てるコモンメモリ領域1のサイズ |
領域2の先頭アドレス | ノードに割り当てるコモンメモリ領域2の先頭アドレス |
領域2のサイズ | ノードに割り当てるコモンメモリ領域2のサイズ |
最小許容フレーム間隔 | サイクリックフレームまたはメッセージフレームの送信間隔 |
トークン監視時間 | ノードがトークン(データ送信権)を保持できる時間 |