Install
openclaw skills install @zw008/ethernetip-tapRead Rockwell / Allen-Bradley Logix controllers over EtherNet/IP (CIP) — Logix controller identity, controller-scoped TAG DISCOVERY (the headline feature), read one tag or array element, batch-read many tags, and a governed MOC-gated tag write (OFF by default). ControlLogix / CompactLogix (and GuardLogix) via pycomm3 (pure Python). Use when the task names EtherNet/IP, CIP, Rockwell, Allen-Bradley, ControlLogix, CompactLogix, Studio 5000/RSLogix, or a Logix tag. Routes to the ot-aiops MCP server. Read-first. PLC-5/SLC (PCCC) and Micro800 are NOT supported (roadmap). For OPC-UA/Modbus/Siemens/Mitsubishi/MTConnect/MQTT use the sibling *-tap skills; not for IT/network gear, Kubernetes, hypervisors, backups.
openclaw skills install @zw008/ethernetip-tapEtherNet/IP (CIP) read-first telemetry for Allen-Bradley Logix controllers via the ot-aiops MCP server, using pycomm3 (pure Python — no native deps). Preview — validated against a mocked LogixDriver, NOT a live controller.
host + slot (0 for CompactLogix; the CPU slot
for a ControlLogix chassis).opcua-tap; Modbus → modbus-tap; Siemens S7 → s7-tap; Mitsubishi →
mc-tap; CNC → mtconnect-tap; MQTT/Sparkplug/UNS → sparkplug-tap.industrial-diagnostics; OEE/asset analytics → industrial-analytics.| Tool | Params | Returns |
|---|---|---|
eip_controller_info | endpoint? | {host, slot, controller:{vendor, product_type, product_code, revision, serial, product_name, name}} |
eip_list_tags | endpoint? | {tag_count, tags:[{name, data_type, tag_type, structure, dimensions}]} |
eip_read_tag | tag, endpoint? | {tag, value, type, error, good} |
eip_read_many | tags[], endpoint? | {count, items:[{tag, value, type, error, good}]} (auto multi-packet) |
eip_list_tags is the headline pycomm3 capability — the controller advertises its
symbol table, so you can enumerate tags without prior knowledge. Program-scoped
tags appear as Program:<prog>.<tag>; array elements read as Array[3].
Example: eip_read_tag(tag="Conveyor.Speed", endpoint="cell5") →
{"tag":"Conveyor.Speed","value":1500.0,"type":"REAL","error":"","good":true}
eip_write_tag(tag, value, endpoint?, dry_run=true)
dry_run=true
(nothing written). Captures the BEFORE value (read-back) and records an
undo descriptor so the change is reversible.dry_run=false and set OPCUA_AUDIT_APPROVED_BY (a recorded
approver — MOC). CLI: ot-aiops eip write-tag Setpoint 42 -e cell5 --apply
(double-confirm prompt).ot-aiops eip info -e cell5 # controller identity
ot-aiops eip tags -e cell5 # tag discovery
ot-aiops eip read "Conveyor.Speed" -e cell5
ot-aiops eip read-many Speed Temp -e cell5
ot-aiops eip write-tag Setpoint 42 -e cell5 # dry-run preview
ot-aiops eip write-tag Setpoint 42 -e cell5 --apply # double-confirm
ot-aiops init (ethernetip: host/slot/port) · ot-aiops doctor · ot-aiops mcp.
Config: ~/.ot-aiops/config.yaml (protocol: ethernetip or alias eip). Test
against a CIP/Logix simulator. Endpoint text is sanitized; every tool runs through
the ot-aiops governance harness (audit/budget/risk-tier). 缺功能提 issue/PR 欢迎留言.