Repository navigation
plctap v0.5.2
IEC 60870-5-104 (电力 / 水务 / 热力远动)
新端点
- iec104 端点 (2404): APCI I/S/U 帧型 + ASDU 常用子集 (遥信 / 归一化 / 标度化 / 短浮点 ± 时标变体、总召 / 读 / 时钟同步 / 测试命令) + CP56Time2a
- probe = STARTDT+TESTFR 握手探测;
plc_read= 总召收集式读 —— 连接池内维护 I 帧收发序号、超窗 S 帧确认、序号跳号记入诊断 notes - 按设计仅读 (六端点可写之外的唯一只读端点)
诊断配套
- 钓鱼监听: U 握手回 CON、总召回 ACT_CON + 罐头帧 + ACT_TERM
- kb/iec104.yaml 四条远动高频故障; parse / validate / diagnose / auto 全链路接入
官方实现双向交叉验证
- MZ Automation lib60870.NET: plctap 读官方 server 预置点逐值一致; 官方 client 正确解码 plctap 罐头帧
- 期间以代理抓包逐字节比对, 修正总召帧带 IOA (置 0) 的规范误判
- C# 台架进仓 tests/e2e/bench_iec104 (缺 dotnet 环境自动跳过)
质量
482 项测试全绿; 评测七档 45/45 (iec104 档 6 条, 总召帧与官方实现逐字节比对)。
安装
uvx plctap # 或: pip install plctap==0.5.2PyPI: https://pypi.org/project/plctap/0.5.2/
Full Changelog: v0.5.1...v0.5.2