Skip to content

plctap v0.5.3

Choose a tag to compare

@ymxc152 ymxc152 released this 07 Sep 13:07
· 42 commits to main since this release

EtherNet/IP (CIP) —— 七协议版图收官

新端点

  • enip 端点 (44818 / 2222): ENIP 封装 + CIP 非连接消息 tag 读写 (0x4C 读 / 0x4D 写, 整数默认 DINT, 浮点 options.type="REAL")
  • tag 名字符串寻址 (如 "alpha[0]") —— 与其余协议的整数地址语义不同
  • 可写端点 (六大可写之一); 与 MELSEC SLMP 撞号 44818 由 detect 响应指纹消歧

官方实现双向交叉验证

  • pycomm3 (Rockwell 官方客户端库): 官方 client 逐字节解析 plctap 监听器应答

MCP 工具层修复

  • plc_read / plc_write address 放宽 int | str + 服务层 _validate_address 按协议类型闸 —— 原 schema 钉死 int 曾致 enip (只收 tag 名字符串) 整端点不可用; 补 fastmcp Client 经工具层读数冒烟回归

里程碑

七协议端点集齐: modbus / modbus_rtu / fins / melsec / s7 / iec104 / enip —— 覆盖西门子 / 三菱 / 欧姆龙 / 罗克韦尔 / 电力远动 / 通用 Modbus 六大生态。

质量

510 项单测; 评测八档 49/49 (新增 enip 档 4 例)。

安装

uvx plctap    # 或: pip install plctap==0.5.3

PyPI: https://pypi.org/project/plctap/0.5.3/

Full Changelog: v0.5.2...v0.5.3