RTU/mimo/plan/iec101帧搜索方案.md

931 B
Raw Permalink Blame History

IEC-101 帧搜索方案(修订)

设计

在现有 self_ptl_search_iec_frame() 中增加 IEC-101 搜索分支,由上到下串行匹配,命中即退出

self_ptl_search_iec_frame(p_data, len, p_pos, p_valid_len):
  for i in 0..len:
    ① 尝试 IEC-101 短帧 (0x10)
       0x10 | ctrl | addr(LSB) | [addr(MSB)] | cks | 0x16
       → 5或6字节校验 cks = data 累加和
    ② 尝试 IEC-101 长帧 (0x68)
       0x68 | len | len | 0x68 | ctrl | addr(2B) | data.. | cks | 0x16
       → 验证 len重复 + 第4位0x68 + tail 0x16 + cks
    ③ 尝试 IEC-104 帧 (0x68) — 保持现有逻辑
       0x68 | len | ctrl1..4 | asdu..
       排除:若满足 101 长帧特征则跳过len重复+第4位=0x68

涉及文件

文件 改动
self_ptl.cpp 修改 self_ptl_search_iec_frame() 增加 101 分支

编译验证

./release/build.sh