|
|
@@ -11,7 +11,7 @@ |
|
|
- 应用外部配置业务已经完成,固定读取可执行文件目录下的 `config/application.ini` |
|
|
- 应用外部配置业务已经完成,固定读取可执行文件目录下的 `config/application.ini` |
|
|
- 配置支持 6 个体验型数量上限、2 个新建 HMI 页面默认尺寸和 6 个 PLC 串口默认参数 |
|
|
- 配置支持 6 个体验型数量上限、2 个新建 HMI 页面默认尺寸和 6 个 PLC 串口默认参数 |
|
|
- 配置启动时只读取一次,不热更新,不覆盖已有文件,不回写 PLC 配置窗口中的临时修改 |
|
|
- 配置启动时只读取一次,不热更新,不覆盖已有文件,不回写 PLC 配置窗口中的临时修改 |
|
|
- 当前没有代码阻塞,12 个 Release 功能测试、性能测试和 Release 主程序构建均已通过 |
|
|
|
|
|
|
|
|
- 当前没有代码阻塞,命令语输入功能已接入,Release 功能测试和 Release 主程序构建均已通过 |
|
|
|
|
|
|
|
|
## 工作区状态 |
|
|
## 工作区状态 |
|
|
|
|
|
|
|
|
@@ -21,6 +21,19 @@ |
|
|
- 新增用户文档 `docs/用户使用/应用配置说明.md`,并同步架构、数量边界、测试约定和 `AGENTS.md` 索引 |
|
|
- 新增用户文档 `docs/用户使用/应用配置说明.md`,并同步架构、数量边界、测试约定和 `AGENTS.md` 索引 |
|
|
- `build/` 只保存本地构建和测试输出,不纳入 Git |
|
|
- `build/` 只保存本地构建和测试输出,不纳入 Git |
|
|
- 未创建或修改发布包内的默认 INI;正式程序首次运行时由加载器按实际可执行文件目录创建 |
|
|
- 未创建或修改发布包内的默认 INI;正式程序首次运行时由加载器按实际可执行文件目录创建 |
|
|
|
|
|
- 新增 `LogicCommandService`,支持首期 14 类命令解析、M/D 地址校验、指令补全数据和原子转换 |
|
|
|
|
|
- 梯形图条件区、横线、Gap 和输出槽支持双击命令输入;成功后复用现有表达式树和图元刷新,失败保留输入并标红 |
|
|
|
|
|
- 连续 `LD` 会创建下一个网络;连续 `AND/ANI` 追加当前网络;连续 `OR/ORI` 将累计条件整体并联且不额外占用主干列 |
|
|
|
|
|
- 命令生成节点直接标记为已配置,不新增命令文本持久化格式;运行、JSON 保存和真机本地推算继续使用结构化梯形图 |
|
|
|
|
|
- 新增 `docs/用户使用/命令语输入说明.md` 和命令解析、连续输入、横线/Gap 替换及原子失败测试 |
|
|
|
|
|
- 命令输入框失焦会自动结束未提交输入,场景刷新会清理旧选择;表达式渲染跳过零长度连接线 |
|
|
|
|
|
- 删除后保留的 `Gap` 会被横线和条件追加优先复用,连续横线插入会消耗目标后的 Gap,不会错误创建新网络 |
|
|
|
|
|
- 已有条件节点和输出节点支持双击进入命令输入;条件节点可用 `LD/LDI/LDP/LDF` 替换,输出节点可用 `OUT/SET/RST/MOV/ADD/SUB` 替换,类型不匹配时原子拒绝 |
|
|
|
|
|
- 双击已有节点时命令输入框会回填当前指令和 M/D 地址;补全弹窗改为左对齐的“指令 / 操作数 / 说明”三列表格,并扩大宽高,输入框在视口边缘自动避让 |
|
|
|
|
|
- 命令补全增加 `LD=`、`LD<>`、`LD<`、`LD<=`、`LD>`、`LD>=` D 值比较指令,格式为比较指令 + D 地址 + 有符号常量 |
|
|
|
|
|
- `MOV/ADD/SUB` 命令输入保留指令对话框允许的常量操作数;补全过滤只按第一段指令名匹配,输入空格后的 M/D 操作数时仍保留指令提示 |
|
|
|
|
|
- 梯形图删除支持框选网络批量删除;混合选中时忽略断路占位,不再弹出“已经是断路”的误导提示 |
|
|
|
|
|
- 梯形图画布统一支持从网络内部或外部开始鼠标拖拽框选,Ctrl 继续追加选择 |
|
|
|
|
|
|
|
|
## 本轮变更结论 |
|
|
## 本轮变更结论 |
|
|
|
|
|
|
|
|
@@ -46,6 +59,11 @@ |
|
|
## 最近验证 |
|
|
## 最近验证 |
|
|
|
|
|
|
|
|
- 2026-08-25 执行 `run_qt_tests.ps1 -Configuration Release -Suite All`,12 个 Release 功能测试目标和性能测试全部通过 |
|
|
- 2026-08-25 执行 `run_qt_tests.ps1 -Configuration Release -Suite All`,12 个 Release 功能测试目标和性能测试全部通过 |
|
|
|
|
|
- 2026-08-25 执行 `run_qt_tests.ps1 -Configuration Release -Suite Functional`,包含命令输入测试的 12 个功能测试目标全部通过 |
|
|
|
|
|
- 2026-08-25 重新执行 qmake 和 `mingw32-make -j2`,Release 主程序 `build/release/release/integrated_platform.exe` 链接通过 |
|
|
|
|
|
- 2026-08-25 修复命令输入失焦、零长度连线黑点、删除后 Gap 复用和连续横线插入;Release Functional 测试及主程序构建通过 |
|
|
|
|
|
- 2026-08-25 修复已有节点双击无法进入命令输入;新增条件/输出节点替换回归测试,Release Functional 测试、主程序构建和 `git diff --check` 通过 |
|
|
|
|
|
- 2026-08-25 修复梯形图整网删除误报断路、网络内部无法启动框选;新增批量网络删除原子性测试,Release Functional 测试、主程序构建和 `git diff --check` 通过 |
|
|
- 2026-08-25 新增 Float32 编解码、HMI 双字读写、D3999/D4000 边界、HMI 重叠、自由监控步长/重叠/读写和 Float32 轮询元数据测试;All 套件全部通过 |
|
|
- 2026-08-25 新增 Float32 编解码、HMI 双字读写、D3999/D4000 边界、HMI 重叠、自由监控步长/重叠/读写和 Float32 轮询元数据测试;All 套件全部通过 |
|
|
- `application_settings_tests` 覆盖首次创建与默认内容、完整加载、缺失和未知字段、重复字段、越界、非整数、版本不兼容、非法 UTF-8 及创建失败回退 |
|
|
- `application_settings_tests` 覆盖首次创建与默认内容、完整加载、缺失和未知字段、重复字段、越界、非整数、版本不兼容、非法 UTF-8 及创建失败回退 |
|
|
- 领域和服务测试覆盖 HMI 页面/控件、报警、控制逻辑/网络动态上限与新建页面默认尺寸 |
|
|
- 领域和服务测试覆盖 HMI 页面/控件、报警、控制逻辑/网络动态上限与新建页面默认尺寸 |
|
|
@@ -54,11 +72,11 @@ |
|
|
- 重新执行 qmake 并完成 Release 主程序链接:`build/float32/release/integrated_platform.exe` |
|
|
- 重新执行 qmake 并完成 Release 主程序链接:`build/float32/release/integrated_platform.exe` |
|
|
- 新增真机测试覆盖:本地临时输出不改变 PLC 源仓库、同一轮后续网络可见、完整轮询只触发一次推算、断线/通信故障停止推算并返回编辑态、推算故障详情保留 |
|
|
- 新增真机测试覆盖:本地临时输出不改变 PLC 源仓库、同一轮后续网络可见、完整轮询只触发一次推算、断线/通信故障停止推算并返回编辑态、推算故障详情保留 |
|
|
- 使用已有 `build/manual_plc_discovery_probe/release/manual_plc_discovery_probe.exe` 在 `COM3 / 9600 / 8E1 / 站号 1` 完成一次真实 D0 探测,结果找到 PLC;本轮未重复执行真实 M/D 写入恢复流程 |
|
|
- 使用已有 `build/manual_plc_discovery_probe/release/manual_plc_discovery_probe.exe` 在 `COM3 / 9600 / 8E1 / 站号 1` 完成一次真实 D0 探测,结果找到 PLC;本轮未重复执行真实 M/D 写入恢复流程 |
|
|
- 本轮未做完整真机运行轨迹人工验收:改动的本地推算路径只读取 PLC 缓存、输出只写临时仓库,不改变 PLC 通信写入;交付前仍建议现场连接真实 PLC 确认轨迹随完整轮询刷新 |
|
|
|
|
|
|
|
|
- 本轮未做完整真机运行轨迹人工验收:改动的本地推算路径只读取 PLC 缓存、输出只写临时仓库,不改变 PLC 通信写入;本轮 UI 命令输入改动同样未连接真实 PLC,交付前仍建议现场连接真实 PLC 确认轨迹随完整轮询刷新 |
|
|
|
|
|
|
|
|
## 待完成 |
|
|
## 待完成 |
|
|
|
|
|
|
|
|
1. 代码功能无待完成项;提交前按逻辑完整改动提交当前配置、真机本地推算和 Float32 功能、测试及文档 |
|
|
|
|
|
|
|
|
1. 代码功能无待完成项;提交前按逻辑完整改动提交当前配置、真机本地推算、Float32 和命令输入功能、测试及文档 |
|
|
2. 现场使用真实 PLC 做一次 Float32 真机验收:读取 D10/D11 原值,写入一个有限 Float32,确认一次双寄存器请求,轮询读回显示正确,恢复原值并再次读回确认 |
|
|
2. 现场使用真实 PLC 做一次 Float32 真机验收:读取 D10/D11 原值,写入一个有限 Float32,确认一次双寄存器请求,轮询读回显示正确,恢复原值并再次读回确认 |
|
|
3. 现场同时确认 HMI 写入仍正常、本地轨迹随每轮 PLC 缓存刷新、PLC 源 M/D 不被本地梯形图输出改变 |
|
|
3. 现场同时确认 HMI 写入仍正常、本地轨迹随每轮 PLC 缓存刷新、PLC 源 M/D 不被本地梯形图输出改变 |
|
|
|
|
|
|
|
|
@@ -67,3 +85,4 @@ |
|
|
1. 先运行 `git status --short`,保留当前应用配置和真机本地推算的全部未提交修改 |
|
|
1. 先运行 `git status --short`,保留当前应用配置和真机本地推算的全部未提交修改 |
|
|
2. 若继续改配置字段,同步更新默认文件内容、严格加载器、配置测试和 `docs/用户使用/应用配置说明.md` |
|
|
2. 若继续改配置字段,同步更新默认文件内容、严格加载器、配置测试和 `docs/用户使用/应用配置说明.md` |
|
|
3. 提交前重新运行 Release 测试、主程序构建和 `git diff --check` |
|
|
3. 提交前重新运行 Release 测试、主程序构建和 `git diff --check` |
|
|
|
|
|
4. 命令输入尚未做完整人工 UI 验收,交付前需在编辑器中双击已有触点、条件网格、横线、Gap 和输出槽,确认替换、输入框位置、补全、错误标红和连续光标移动 |