360 Secure SkillHub
360 安全技能中心

Ethernetip Tap

核心功能包括获取控制器身份信息、自动发现控制器标签、单/批量读取标签值,以及受管控的标签写入(默认禁用,需授权)。适用于对接可通过EtherNet/IP访问的ControlLogix/CompactLogix/GuardLogix控制器,无需预先知晓标签信息。通过ot-aiops MCP服务器路由,以命令行或工具调用输入参数,输出结构化数据,不支持PLC-5/SLC/Micro800等型号。

zw008
zw008
热度 16.10
最近更新 2026-06-28 14:49:08
分类:开发依赖:MCP 服务 / 代码执行应用场景:API 集成 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ethernetip-tap
Metadata
name
ethernetip-tap
description
Read 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.

ethernetip-tap

EtherNet/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.

When to use

  • A Rockwell/AB ControlLogix / CompactLogix / GuardLogix controller reachable over EtherNet/IP (TCP 44818): host + slot (0 for CompactLogix; the CPU slot for a ControlLogix chassis).
  • Discover the controller's tags, read tags/arrays by name, identify the controller.

When NOT to use (routing)

  • OPC-UA → opcua-tap; Modbus → modbus-tap; Siemens S7 → s7-tap; Mitsubishi → mc-tap; CNC → mtconnect-tap; MQTT/Sparkplug/UNS → sparkplug-tap.
  • Cross-protocol triage → industrial-diagnostics; OEE/asset analytics → industrial-analytics.
  • PLC-5 / SLC-500 (PCCC) / Micro800 → not supported (roadmap).
  • IT/network/Kubernetes/hypervisor/backup → not this tool.

Read tools

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}

Write tool (HIGH risk · MOC · off by default)

eip_write_tag(tag, value, endpoint?, dry_run=true)

  • OT-DANGEROUS. 未经授权勿对生产控制系统写入. Defaults to dry_run=true (nothing written). Captures the BEFORE value (read-back) and records an undo descriptor so the change is reversible.
  • Apply: 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).

CLI

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

Setup

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 欢迎留言.