こちらはIndusol社のネットワーク機器記事の第6話を展開していきます。今回はWAGOの750-8215とRSTPネットワークを組み上げ、簡単なEthernet/IP 二重化ネットワークを構築します。
さ、FAを楽しもう。
Reference Link
http://soup01.com/ja/category/indusol/
RSTP
RSTP(Rapid Spanning Tree Protocol)とは、イーサネットネットワークにおけるループの防止や冗長パスの管理のためにネットワークで使用されるスパニングツリープロトコル(STP)の拡張バージョンである。IEEE802.1wとして標準化され、ネットワークトポロジーの迅速な収束を提供するように設計されています。
また、RSTPはリンク障害からの回復が非常に速く、通常1秒未満でコンバージェンスを達成する。この迅速な対応により、従来の STP と比較して、ネットワークのダウンタイムを大幅に削減できます!
Port States
RSTPはいくつかのポート状態を定義しています:
- Discarding: ポートはパケットを転送せず、MACアドレスを学習していない。
- Learning:ポートはMACアドレスを学習しているが、パケットを転送していない。
- Forwarding:ポートはパケットを転送し、ネットワークに参加しています
- Backup: プライマリポートに障害が発生した場合にバックアップ用として利用できる冗長ポートです。
Port Roles
Root Port
ルートブリッジのブリッジプロトコルデータユニット(BPDU)を受信するポートで、ネットワーク上のスイッチ間で交換されるメッセージです。
Designated Port
各ローカル・エリア・ネットワーク(LAN)セグメントで選択されたポートは、ルート・パス・コストが最も低くなります。リンク速度が速いほど、コスト値は低くなります。
Alternate Port
ポートがDesignated Portとして使用されない場合、そのポートは代替ポートになります。これは、障害発生時のルートポートのバックアップであり、ルートポートの通常の動作中はブロックされます。
Backup Port
これは指定ポートのバックアップです。ルートポートが故障した場合、バックアップポートが新しい指定ポートになります。Designated Portが正常に動作している間、バックアップポートは通常ブロックされます。
Edge Ports
エッジポートはエンドデバイスに直接接続するポートであり、RSTP では異なる扱いを受ける。即座にフォワーディング状態に移行できるため、高速な通信が可能になります。
EDGE PORTとしてよく設定されたポートは、スパニングツリーアルゴリズムにおいて、特別な扱いを受けます。具体的には、エンドデバイスに接続されているため、これがループを引き起こす危険性がないと見なされ、即座に Forwarding 状態に遷移することができます。これにより、必要なファイアウォールやネットワーク切り替えの時間が短縮され、迅速な通信が確保されます。
通常のポートは、スパニングツリーにより Blocking 状態(トラフィックが転送されない状態)や他の遷移状態を経る必要がありますが、EDGE PORTは直接Forwarding状態になるため、スイッチとエンドデバイス間の接続が迅速です。
BPDU
RSTP はブリッジ間の情報交換にブリッジプロトコルデータユニット (BPDU) を使用します。これにより、ネットワークデバイスは互いの状態と全体的なトポロジーを確実に知ることができます。
Compatibility
RSTPはレガシーSTPとの下位互換性を維持し、両方のプロトコルを同じネットワーク上で共存させることができます。
How It Works?
RSTPの動作は簡単にまとめると以下になります。
- ルートブリッジの選択
RSTPは、ブリッジプライオリティとMACアドレスに基づいてルートブリッジを選択することから始まります。ID が最も低いブリッジがルートになります。 - リンク監視
RSTP はリンクの状態をアクティブに監視して、障害をすばやく検出します。リンクがダウンすると、RSTP は残りのリンクを使用してトポロジを再計算する。 - 転移:
RSTPは、従来のSTPとは異なり、リスニング状態や学習状態を経由せずに、ポートを破棄から転送に直接移行できる。
UR20-FBC-EIP-ECO?
UR20-FBC-EIP-ECOフィールドバスカプラは、IEC 61158に従って開発されたEtherNet/IP™パーティシパントです。カプラはu-remoteシステムバスのヘッドモジュールで、最大16台のアクティブu-remoteモジュールを接続できます。
また、EtherNet/IPカプラには2つのイーサネットポートがあり、内蔵スイッチはラインネットワーク構造になっています。
UR20-FBC-EIP-ECOフィールドバスカプラは、イーサネット経由でウェブサーバーアプリケーションからアクセスできます。そのため、診断、ステータス値、パラメーターなどすべての情報を読み取ることができ、接続されているすべてのモジュールをシミュレーションまたは強制的に操作することができます。
また、ステーションの主電源はカプラに内蔵されています。電源は4極コネクターから供給されます。
Connection Options
こちらはUR20-FBC-EIP-ECOのEthenret/IP接続数の仕様になります。
Status word
こちらはUR20-FBC-EIP-ECOの診断用 Status wordのMappingになります。
Implementation
最初にWAGOのPFC200とWeidmullerのEthernet/IP Couplerの通信を確立します。
Weidmuller Side
最初にWeidmuller側から設定していきます。
Webserver
UR20-FBC-EIP-ECOがWeb Server搭載されていますので、WEB Serverをアクセスしましょう。
IP
IPアドレスの割り当てのデフォルト設定は、DHCPとStatic2つあります。 最初にはDHCP経由でアドレスの取得を試みますが、 30秒経ってもDHCP経由でアドレスを受信しない場合、IPアドレス192.168.0.222が静的に使用され、DHCP経由でアドレスを要求し続けます。次はWeb serverにアクセスし、ParameterでIPアドレスを変更してください。
Fieldbus Properties
次はFieldbus PropertiesのMenuを開き、Ethernet/IP関連の設定を確認しましょう。
こちらのMenuで各Instanceの入出力のBytes数を確認できます。
Module Offset
Webserverからも各Moduleが占有された入出力データの中に、そのByte Offsetを確認できます。
例えば下図のUR20-16DI-P 16点入力モジュールでは、モジュール自体は2Byte目のデータであり、各入力の状態は2Byte目の0Bit目…のように確認できます。
WAGO Side
今度はWAGO PFC200 750-8125側を設定していきましょう。
WAGO PFC200 750-8125にもWebserver機能がついてますので、Web ServerにLoginしてください。
Configure IP
注意するのはIPの変更は直ちに有効となり、Network Interfaceの変更によって接続が切れることがあります。Network>TCP/IP Configuration>IP SocureにStatic IPを設定し、IPアドレスを設定しましょう。
Add EDS File
Tools>Device Repositoryで新規のEDS Fileを登録します。
Installをクリックします。
先ほどDownloadしたEDS FileをImportします。
Done!
Add Etherent
WAGO PFC200のControllerにEthernet Driverを追加するため、Device>Add Deviceを右クリックします。
Ethernet Adapter>Ethernetを選び、Add DeviceでAdapterを追加しましょう。
IP Configuration
General>Network Interface>Browseで適切なNetwork Interfaceを選択します。
Br0を設定し、Okで進みます。
Add Ethernet IP Scanner
次はEthenret IP Scannerを追加します。
Add Ethernet/Ip Adapter
最後はWeidmueller社のUR20-FBC-EIP-ECOをEthernet/IPネットワークに追加しましょう。
Done!
IP Configuration
General>Address SettingsでWeidmuellerのEthernet/IP Couplerに合わせてください。
Connections
次はConnections>Edit ConnectionでExclusive Ownerの接続設定を変更します。
こちらはCodesysのEthernet/IP Connectionの設定画面です。
O–>T Size
O–>T SizeはWeidmueller Ethernet/IP CouplerのInstance 104のByte数に合わせてください。
T‐‐>O Size
T–>O SizeはWeidmueller Ethernet/IP CouplerのInstance 103のByte数に合わせてください。
Done!CodesysはConnection設定画面に設定したサイズに合わせて変数も自動的に宣言されます。
Mapping
Ethernet/IP Couplerに占有してるBytes数が多いので、入出力のAddress欄に固定アドレスを設定します。
Program
次はプログラムを作成します。
DUT_26ByteArray
こちらは26Bytes配列の構造体になります。
TYPE DUT_26ByteArray : STRUCT _data:ARRAY[0..25]OF BYTE; END_STRUCT END_TYPE |
DUT_36ByteArray
こちらは36Bytes配列の構造体になります。
TYPE DUT_36ByteArray : STRUCT _data:ARRAY[0..35]OF BYTE; END_STRUCT END_TYPE |
GVL
先ほど定義した構造体を使用し入出力変数を作成しましょう。
AT % の後にあるアドレス番地はMappingの設定に合わせておきましょう。
{attribute ‘qualified_only’} VAR_GLOBAL InputData AT %IB100:DUT_36ByteArray; OutputData AT %QB100:DUT_26ByteArray; InputRegister AT %IW1:WORD; OutputRegister AT %QW1:WORD; END_VAR |
Login
プロジェクトをCPUにDownloadします。
Result
Ethernet/IPの状態が”EIPConnected”と”Operational”になっています。
WAGOのPFC200にもエラーなく通信できました。
Implementation
次はIndusolのPROmesh P10+に加えて、RSTPプロトコルで2重化のネットワークを構築していきます。
WAGO Side
最初にWAGOのPFC200 750-8215から構築します。
Configure Bridge
Port1とPort2をBridgeとして設定します。
WAGO PFC200のWeb Serverにアクセスし、Configuration>Networking>Ethernet Configuration>Bridge ConfigurationでX1とX2を同じ”Bridge1”に設定しましょう。
Configure RSTP
次はPFC200でRSTPの設定を行います。Netwokring>STP/RSTPのMenuを開きます。
Parameter SettingsのMenuにあるEnabled Checkboxを入れてください。
また、Bridgeには先ほど設定したBridge1を選択し、ModeをRSTPに設定しましょう。
Port X1・PortX2をEdge Portとして設定してください。
Indusol Side
次はIndusolのPROmesh P10+側を設定します。
Configure RSTP
IndusolのPROmesh P10+のWeb serverにアクセスし、Redundancy>RSTPをクリックします。
こちらはRSTPの設定画面になります。
まずはRSTP機能を有効にしましょう。
次は今回記事で使用するPortをCheck入れ、Priorityを設定しましょう。
ResultーーーVideo
WAGOのWeb ServerからRSTP機能がEnabledされたことを確認できました。
IndusolのPROmesh P10+のWeb ServerからRSTP機能が有効になったことを確認しました。
Normal Status
こちらはネットワーク正常のときの各Portの状態です。
Port6 CommunicationError
こちらはPort6が障害発生したときのPort状態です。
Port2 CommunicationError
こちらはPort2が障害発生したときのPort状態です。
こちらの動画ではWAGO PFC200のPort1、Port2の経路を切り替える動作を確認できます。