From cdef1687c87fca8b4d2921331e1e525d783ccd45 Mon Sep 17 00:00:00 2001 From: ypc <15051963820@163.com> Date: Wed, 15 Jul 2026 18:12:23 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=BF=BD=E5=8A=A0=202026-07-15=20?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=80=BB=E7=BB=93=20=E2=80=94=20PLC=E9=81=A5?= =?UTF-8?q?=E6=B5=8B=E8=BF=90=E7=AE=97+=E5=89=8D=E7=AB=AF=E5=A2=9E?= =?UTF-8?q?=E5=BC=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- COMPLETION.md | 62 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/COMPLETION.md b/COMPLETION.md index 5561914..be7dbc1 100644 --- a/COMPLETION.md +++ b/COMPLETION.md @@ -106,6 +106,64 @@ > 已有测试: `test_datacenter.cpp`(34项) ✅ `test_comm.cpp`(17项) ✅ -## 阶段 4(预留) +## 阶段 4:PLC 遥测运算 + 前端增强(2026-07-15) -ICP67 / IEC61850 MMS / MQTT / 嵌入式HTTP / PLC / 内部协议 —— 全部 ⬜ +### 4.1 后端 — PLC 遥测运算引擎 + +| 任务 | 模块 | 状态 | +|------|------|:----:| +| 新增 6 个 MX 节点类型 (50-56) | `libplc` — ADD/SUB/MAX/MIN/MUL/DIV/ABS | ✅ | +| 新增 MX_CMP 比较元件 (57) | `libplc` — A>B→1, 否则→0 | ✅ | +| 7 个 MX execute 函数 | `libplc` — add/sub/max/min/mul/div/abs/cmp | ✅ | +| dst_pin 引脚排序通用化 | `libplc` — 从 SR/RS 扩展到所有多输入门 | ✅ | +| MX 输出信号 F32 注册 | `libplc` — plc.mx.out.0~19, DATA_TYPE_F32 | ✅ | +| 减法改为有符号 a-b | `libplc` — 原为 \|a-b\|,改为 a-b(可负数) | ✅ | +| 修复重复 MX float 写入块 | `libplc` — plc_set_out_by_id 去重 | ✅ | +| 更新 dst_pin 注释 | `libplc` — 0=A/S, 1=B/R | ✅ | +| XML 配置持久化 | `libweb_server` — dc_save_out_signals_xml | ✅ | + +### 4.2 前端 — PLC 配置页面 + +| 任务 | 模块 | 状态 | +|------|------|:----:| +| 合并运算符按钮 | `plc_config.js` — 遥信/遥测运算 → 统一 "运算符" | ✅ | +| MX 引脚 A/B 标注 | `plc_config.js` — drawGraphContent 画布引脚标签 | ✅ | +| MX inMax 限制为 2 | `plc_config.js` — ADD~DIV 固定 2 输入,ABS 固定 1 | ✅ | +| MX 信息弹窗 | `plc_config.js` — showMXInfoModal(引脚来源+顺序警告) | ✅ | +| 修复编辑加载备份 Bug | `plc_config.js` — indexOf → endsWith 精确匹配 | ✅ | +| 信号行 入/出 按钮 | `plc_config.js` — 每行信号增加 [入][出] 独立按钮 | ✅ | +| 新增运算符面板 | `plc_config.js` — 18 种运算符侧栏,点击即添加 | ✅ | +| Canvas 字体增大 | `plc_config.js` — 全节点字号+2~3px,节点尺寸+10px | ✅ | +| 信号面板加宽 | `plc_config.js` — 230→290px, 运算符面板 150→160px | ✅ | + +### 4.3 前端 — PLC 调试页面 + +| 任务 | 模块 | 状态 | +|------|------|:----:| +| 三列堆叠布局 | `plc_debug.js` — 左(遥信入+遥测入) \| 中(信号表) \| 右(遥信出+遥测出) | ✅ | +| 遥信输入按钮翻转 | `plc_debug.js` — 点击按钮 0↔1,发送 WS set 命令 | ✅ | +| 遥信输出 LED 指示 | `plc_debug.js` — >0 亮绿灯,≤0 灭 | ✅ | +| 遥测输入设值框 | `plc_debug.js` — 输入框+[设置]按钮,显示当前值(括号) | ✅ | +| 遥测输出值展示 | `plc_debug.js` — 实时显示浮点值 | ✅ | +| 箭头按钮全称+对齐 | `plc_debug.js` — ←遥信输入/遥信输出→,space-between | ✅ | +| 信号表 #序号+大字 | `plc_debug.js` — 增加序号列,font-size 12px,去除截断 | ✅ | +| 修复 MX 设置不发送 | `plc_debug.js` — 移除 WsClient.send 返回值误判 | ✅ | +| CSS 三列 Grid | `style.css` — 1fr 1.2fr 1fr + .plc-block 堆叠 | ✅ | + +### 4.4 Git 记录 + +| 提交 | 内容 | +|------|------| +| `4edabf2` | feat: PLC遥测运算完善 + 调试页五区布局 + 比较元件 + MX输出注册 | +| `4f07275` | fix: MX设置按钮修复 + 信号面板加宽 + Canvas字号增大 | + +### 4.5 编译状态 + +- x86 全量编译: ✅ 0 错误 +- JS 语法检查: ✅ plc_config.js + plc_debug.js 均通过 + +--- + +## 阶段 5(预留) + +ICP67 / IEC61850 MMS / MQTT / 嵌入式HTTP / 内部协议 —— 全部 ⬜