@@ -1,6 +1,6 @@
# 当前开发交接
> 更新日期:2026-08-26 。本文件只保留当前工作区、本轮验证和下一步。
> 更新日期:2026-08-27 。本文件只保留当前工作区、本轮验证和下一步。
## 当前状态
@@ -10,6 +10,20 @@
- 本轮没有实现 Int64、无符号数、二/八/十六进制、ASCII、POU 变量监控、信捷原版寄存器网格或自定义监控偏移
- TouchWin 没有原生 Double64 数值控件;本项目的 `Double (Float64)` HMI 是基于 PLC 连续四个 D 的增强能力
## 梯形图竖线连续录入
- 工具栏“竖线”和 `F12` 成功连接当前行与下一行后,会保持原列位置并自动选择下一视觉行;连续操作可以逐段向下建立竖线
- 推进时保留网格、输出槽或列边界的原选择形态,目标行超出可视区域时画布自动滚动
- 当前段已经存在时只向下推进,不重复保存连接、不把工程标记为修改,也不生成空撤销记录;状态栏会提示该段原本已经存在
- 到达最后一个现有行后明确停止,不自动创建空行;鼠标拖动画竖线的原有批量行为不变
## 梯形图鼠标画线预览
- 鼠标画线/删线拖动时由 `LogicEditorWidget` 前景层绘制临时横线或竖线预览,移动过程中不修改工程模型
- 合法预览使用蓝色(画线)或橙色(删线),偏离同一行/同一列时使用红色提示;释放时才调用范围编辑服务一次性提交
- 非法释放会丢弃当前整次预览,之前已保存的线路不受影响;合法释放只产生一条撤销记录
- 横线范围目标已经是相同状态时直接成功返回,不标记工程修改,也不生成空历史
## 类型与地址规则
| 类型 | 占用字数 | 起始地址 | 输入规则 |
@@ -48,13 +62,15 @@
- 新增回归覆盖 Int32 最小/最大值和负数、Float32 `20.0` 字序、Double `1.0` 字序、Double 偶数地址、NaN/Inf、JSON 往返、HMI 复制粘贴、多字冲突和 16 位梯形图写入保护
- 监控回归覆盖四类型批量步长、完整轮询地址、离线初始值捕获、停止仿真恢复、64 行与 256 实际地址上限的候选拒绝
- PLC 回归覆盖 Int16 单字路径、Int32/Double 一次多字回调、Double `D118~D121` 不跨 120 字边界、无法合法拆分的重叠范围拒绝和地址集合原子切换
- 梯形图回归新增 F12 同列连续下移、目标自动滚动、末行停止、逐段撤销,以及重复竖线不产生脏状态和空历史
- 梯形图画线回归覆盖拖动预览、非法释放整次取消、合法释放一次提交和一次撤销恢复
- Qt Release 主程序已重新构建到 `build/release/release/integrated_platform.exe`,离屏启动 3 秒正常保持事件循环
- `git diff --check` 通过;工作区只有 `runtime_mode_service_tests.cpp` 的 CRLF/LF 转换提示,没有空白错误
- 当前 Windows 没有枚举到串口设备,无法使用 `COM3 / 9600 / 8E1 / 站号 1` 做真实 PLC 多寄存器写入,因此本轮没有伪造真机结果
- `git diff --check` 通过,没有空白错误
- 本轮竖线改动只涉及编辑服务和画布交互,不访问 PLC,因此没有重复真机测试
## 工作区与下一步
- 当前改动尚未提交 Git
- 开始本轮前已有的 `docs/工程格式说明.md`、`docs/用户使用/数量边界确认方案.md` 和旧交接修改均已保留并增量合并,没有回退来源不明的改动
- 设备可用后在 PLC STOP 状态先读取一组连续 D 原值,分别验证 Int32、Float32、Double 的一次多寄存器写入与读回,再恢复全部原值并读回确认
- 人工打开控制逻辑页面,分别从网格、列边界和第 10 列位置连续按 F12,检查选中框、滚动和状态栏提示
- 人工打开 HMI 页面和数据监控,检查四类型下拉框、Double 偶数地址提示、长数值显示和不同系统缩放下的输入框布局