Allen-Bradley EtherNet/IP
EtherNet/IP (CIP, Common Industrial Protocol) は Allen-Bradley / Rockwell の ControlLogix / CompactLogix シリーズ PLC が使用する通信プロトコルです。
現在、このゲートウェイの 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 スロット番号 | 0 |
PLC 側では RSLogix / Studio5000 で EtherNet/IP モジュールが有効化されている必要があります。
LOGIX カードも同じドライバです接続登録画面に EIP と LOGIX が別々に表示されますが、同じプロトコル、同じドライバです。 ControlLogix / CompactLogix を探している方が名前で見分けやすいように別名を設けただけで、 どちらを選んでも動作は同じです。
タグの 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 例を参照してください。