Skip to content

plctap v0.5.2

Choose a tag to compare

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

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.2

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

Full Changelog: v0.5.1...v0.5.2