Repository navigation
plctap v0.3.0
写能力补全与全量交叉验证固化
写能力
- FINS 0102 区写 / MELSEC 1401 批量写实装 (写闸门元数据同步) —— 四协议写链路齐备
诊断与解释
interpret_all四字序 (ABCD / CDAB / BADC / DCBA) + int32 解释parse_pcap逐流协议判别 (修复混合 pcap 被全局多数协议错切)- probe 增加 MELSEC ASCII 回退 (仅 connected_but_no_reply 时); S7 知识库 (优化 DB / PUT-GET 权限)
- MELSEC 监听回帧支持全 4 帧格式
全量交叉验证修复三缺陷
起四权威实现台架 (pymodbus / python-snap7 / IoTClient FINS / 自建 MC fixture), MCP 工具逐一实测 + 第三方客户端交叉读回:
- MELSEC adapter frame_format 未贯穿 locked_exchange 收帧回调 → 3E ASCII / 4E 读必挂 (partial 显式绑定修复)
- FINS/TCP 数据帧生态主流命令是 0x02 不是 0x04 (三实现一致并经真机验证) → adapter 改发 0x02, 解析/监听两者等价
- 写能力元数据虚报 → 按类级"是否真正覆写"计算, 未实现显式报错
另含 v0.2.0 发布后线上实测发现的两个缺陷修复: fc16 RTU 校验 8B 硬编码误报 13B 合法帧 (改按 fc 分派); S7 非 DB 区 db_number 默认 1 泄漏 (非 DB 区默认 0, 显式非 0 直接报错)。
质量
- 跨厂商 e2e 交叉验证套件进 CI (迁移 pymodbus 3.15 新 API)
安装
uvx plctap # 或: pip install plctap==0.3.0PyPI: https://pypi.org/project/plctap/0.3.0/
Full Changelog: v0.2.0...v0.3.0