Allen-Bradley / Rockwell — EtherNet/IP
EtherNet/IP (CIP, Common Industrial Protocol) は、Allen-Bradley / Rockwell の ControlLogix / CompactLogix シリーズ PLC が使用する通信規約です。
シンボリックタグ (Logix Tag) の制限
現在、本ゲートウェイの EIP ドライバは CIP の属性 (class / instance / attribute) のみを読み取ります。ControlLogix で一般的なシンボリックタグ (例: MyController:Pump1.RPM) には別途「Read Tag Service」が必要で、今後のバージョンで対応予定です。それまでシンボリックタグが必要な場合は、Kepware などのゲートウェイを経由して OPC-UA で取得する方法を推奨します。
登録フォームの入力値
| 入力欄 | 記入内容 | 例 |
|---|---|---|
| IP アドレス | PLC の IP | 192.168.0.90 |
| ポート | EtherNet/IP ポート | 44818 (標準) |
| Backplane (backplane) | バックプレーン番号 | 1 |
| Slot (local-slot) | CPU slot 番号 | 0 |
PLC 側では RSLogix / Studio5000 で EtherNet/IP モジュールを有効化しておく必要があります。
タグの PLC アドレス表記
EIP の CIP 座標を <class>,<instance>,<attribute> 形式で入力します。10進数、または 0x で始まる16進数のいずれも使用可能です。
| 表記 | 意味 |
|---|---|
0x01,1,1 | Identity Object → Vendor ID |
0x01,1,2 | Identity Object → Device Type |
0x01,1,7 | Identity Object → Product Name (文字列) |
0x6B,1,1 | Symbol Class instance 1 attribute 1 |
0x6C,1,1 | Template Class |
CIP 座標の調べ方
- Studio5000 の Tag Browser で attribute 情報を確認する
- Wireshark などで既存の EIP 通信パケットをキャプチャして確認する
- メーカー / 統合パートナーのマッピング表を利用する
シンボリックタグの方が扱いやすい場合は、前述の Kepware 経由方式 の方がはるかに簡単です。
データ形式のマッチング
| PLC の値 | データ形式 | 形式補助 |
|---|---|---|
| 文字列 (製品名、状態など) | String | (空欄) |
| 整数 (Vendor ID、DeviceType など) | Integer | (空欄) |
| 実数 | Float | (空欄) |
| Boolean | Boolean | (空欄) |
EIP ドライバは応答の raw バイトをそのまま文字列として受け取り、[データ形式] に従って後処理でキャストします。大きな整数 / 実数への変換が必要な場合は、計算式の適用 で後処理してください。
よくある問題と解決方法
| 症状 / メッセージ | 考えられる原因 | 解決方法 |
|---|---|---|
| 「Connection timeout」 | ポート 44818 が遮断されている、EtherNet/IP モジュールが無効 | RSLogix / Studio5000 で EtherNet/IP モジュールを有効化する |
| 「Forward Open failure」 | rack/slot または backplane の不一致 | 上表を参照して backplane / slot を修正する |
| 「Class/Instance not found」 | CIP 座標が誤っている | Studio5000 の Tag Browser または Wireshark で座標を検証する |
| 値が文字化けして見える | raw バイトをそのまま String として受け取るため | 計算式で little-endian として解釈する、または Kepware 経由を推奨 |
より詳細な例 / 自動登録
高度な設定 — REST API の EIP 例を参照してください。