Skip to content

plctap v0.4.0

Choose a tag to compare

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

主动诊断旗舰: 协议自动识别 / 透明代理 / 故障注入

detect_device —— 冷启动协议识别

  • 并发扫标准端口 → 四协议 probe 指纹 → deep 最小读验证, 给出可执行的 plc_read 建议
  • 全程只读 (握手帧 + 最小读帧), "识别 ≠ 可访问" (如 S7 PUT/GET 关闭时识别成功但读仍失败)
  • _PROFILES 注册表: 新协议接入 = adapter register + 注册表加一条, 识别逻辑零改动
  • 44818 端口撞号 (MELSEC SLMP 与 EtherNet/IP): 端口先验只影响同级排序不参与置信度, 按响应指纹消歧

主动诊断设施

  • 透明代理 start_proxy / stop_proxy / get_proxy_frames: 上位机→代理→真 PLC 透传 + 双向录帧, 在线联调免 Wireshark
  • 监听 inject_errors 故障注入档: 确定性故障轮转 (exception / bad_length / truncate / end_code / garbage), 兼评测语料生成器
  • modbus probe 带请求上下文回显甄别 (tid/unit/fc/byte_count 四重交叉校验), 防回显服务器误判

写链路全量实测

四协议写链路各经权威第三方客户端独立读回验证一致。

质量与收录

  • 452 项测试全绿; 评测六档 39/39 (新增 detect 档 4/4)
  • 官方 MCP Registry 收录 (v0.4.0 status=active); glama.ai 自动收录公开

安装

uvx plctap    # 或: pip install plctap==0.4.0

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

Full Changelog: v0.3.0...v0.4.0