ypc
|
b176d957df
|
feat: 集成 PLC 就地自动化逻辑模块 + SIGILL 编译修复
## PLC 模块 (libplc)
- 新增 libplc 模块: 解析 Reclose_logic.txt 逻辑图,支持与/或/非/延时/SR等多种节点类型
- PLC_Logic() 配置文件路径改为 func_get_process_self_dir 动态拼接
- app_modules.h 注册 APP_MODULE(PLC, plc, ...)
- system makefile 增加 libplc 子目录
- RTU makefile 链接 -lplc
## SIGILL 编译修复
- linux.mk: ARM 编译加 -mno-outline-atomics -fno-threadsafe-statics,禁用 LSE 原子指令
- RTU makefile: STATIC_FLAGS 去掉 -static-libstdc++,避免工具链预编译 libstdc++ 中的 LSE 指令触发 RK3568 SIGILL
## 配置
- app_config.json 新增 app_plc 条目(默认 enable: false)
- PLC/Reclose_logic.txt 逻辑配置文件占位
|
2026-07-01 15:56:12 +08:00 |
ypc
|
cb60d687e3
|
feat: channel_config 统一重构 + lib60870 CBB 库集成 + libiec 文件拆分
## channel_config 通道配置统一重构
- 合并 channel_config.xml / channel_config_rk.xml 为单文件
- Channel 新增 bind 字段显式绑定私有规约(channel_cfg_find_by_bind)
- 转发隧道改为 from_saddr→to_saddr 单向,支持 ICP67维护+IEC101/104
- com_channel_recv_cb 重构为三级路由: 转发→bind→IEC
- 去除 ICP66→ICP67 帧转换逻辑(decode_frame_codec 清空)
- com_recv_data 去除硬编码 uart0, 简化为纯 IEC 头检测
- com_scan_send_data_to_app 增加 p_event 空指针防护
- self_ptl_init 改用 bind 字段绑定 UART+通过转发规则反查 TCP
- self_ptl 内部转发加 TCP 连接状态守卫, p_event 未就绪时仅入队
- 新增参数缺省值重构相关文件
## lib60870 CBB 库集成
- 替换原 lib60870 为科大智能 CBB 库
- 新增 cbb_compat.h 兼容层, 通过 gcc -include 注入类型定义
- 新增 CBB 库完整文档(lib60870_mkdocs)
## libiec 文件拆分
- iec_method.cpp 拆分为 iec_common/iec_dd/iec_fault/iec_file/
iec_param/iec_soe/iec_time/iec_yc/iec_yk/iec_yx 等独立文件
## 工程文档
- 新增 15+ 模块分析/plan/中间文档
|
2026-07-01 14:52:22 +08:00 |