メインコンテンツまでスキップ

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 の IP192.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,1Identity Object → Vendor ID
0x01,1,2Identity Object → Device Type
0x01,1,7Identity Object → Product Name (文字列)
0x6B,1,1Symbol Class instance 1 attribute 1
0x6C,1,1Template Class

CIP 座標の調べ方

  • Studio5000 の Tag Browser で attribute 情報を確認する
  • Wireshark などで既存の EIP 通信パケットをキャプチャして確認する
  • メーカー / 統合パートナーのマッピング表を利用する

シンボリックタグの方が扱いやすい場合は、前述の Kepware 経由方式 の方がはるかに簡単です。


データ形式のマッチング

PLC の値データ形式形式補助
文字列 (製品名、状態など)String(空欄)
整数 (Vendor ID、DeviceType など)Integer(空欄)
実数Float(空欄)
BooleanBoolean(空欄)

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 例を参照してください。