# 当前开发交接 > 更新日期:2026-08-24。本文件只保留当前工作区状态、最近验证和下一步,不记录历史开发流水账;稳定架构和业务细节分别以 `docs/architecture.md` 及对应专题文档为准。 ## 当前状态 - 分支:`main` - 核心闭环仍可用:HMI 编辑、结构化梯形图、离线仿真、工程 JSON、运行监控、自由监控和 Modbus RTU 真机读写均已实现 - 当前梯形图条件只包含 M 常开/常闭触点、M 上升沿/下降沿触点和 D 与常量比较;输出只包含普通/置位/复位 M 线圈、MOVE、ADD 和 SUB - T/C 触点、TON、CTU、CTD 已从领域模型、JSON、编辑服务、离线执行器、属性面板、工具栏、图标和自动化测试中整条移除,不是仅隐藏界面按钮 - 工程格式仍为严格的 `1.0`;包含 `timerContact`、`counterContact`、`ton` 或 `counter` 节点的工程现在会因节点类型不受支持而加载失败,不做自动迁移 - 当前没有代码阻塞,下一步是完成人工界面检查并整理提交 ## 工作区状态 - 删除定时器/计数器能力的 21 个 `app` 源码和测试文件仍处于未提交修改状态,属于当前任务成果,不能回退 - `app/src/services/offline_simulation_service.cpp` 只修正了“重启会话时清空 T/C 状态”的过时注释,没有行为改动 - `docs/用户使用/软件使用帮助.md` 处于已删除状态,本轮按现有工作区保留删除,不恢复旧内容 - 本轮已同步入口文档、工程格式、数量边界、开发顺序、测试约定和 XDH 指令摘要;各文档只保留自身负责的信息 - `build/` 只保存本地构建和测试输出,不纳入 Git ## 本轮变更结论 - `LogicNodeConfig` 不再包含 Timer/Counter 地址、触点或输出配置,运行前也不再做 T/C 资源引用检查 - `SoftwareLogicExecutor` 只保留 M/D 读写、边沿触点跨扫描状态、线圈和字操作执行;轨迹不再保存定时器或计数器状态 - JSON 读写只接受 `contact`、`edgeContact`、`coil`、`compare`、`move` 和 `arithmetic` - 梯形图工具栏、指令对话框、属性面板、绘制和图标工厂均不再提供 T/C、TON、CTU、CTD 入口 - 自动化测试已删除对应领域、JSON、编辑和离线执行断言,同时保留当前指令、结构化梯形图、运行模式和 PLC 轮询回归 ## 最近验证 - 2026-08-24 重新构建并通过 9 个 Release 功能测试目标:Domain、Service、JSON 和 Fake PLC 全部通过 - 独立 Release 性能目标通过:100 个控制逻辑扫描约 `0.123 ms`,4001 个 M 寄存器完整读写约 `0.048 ms`;CSV 位于 `build/tests/release/performance_tests/benchmark.csv` - Qt Release 主程序已构建并链接成功:`build/release-docs/release/integrated_platform.exe` - 本轮未连接真实 PLC:改动没有触及 Modbus 通信、真机运行模式或地址映射;继续沿用已有 COM3 安全读写和 RUN 联动验收结果 ## 待完成 1. 人工打开主界面,确认梯形图工具栏、属性面板和指令对话框不再出现 T/C、TON、CTU、CTD,当前保留指令仍能正常添加和编辑 2. 如需兼容历史 `1.0` 工程中的定时器/计数器节点,单独确定格式升级或迁移方案;当前实现按不兼容并拒绝加载处理 3. 提交前再次确认 `git status --short` 和提交范围,将代码删除与配套文档作为一个逻辑完整改动提交 ## 下一会话起点 1. 先运行 `git status --short`,保留当前源码、测试、文档修改和使用帮助删除 2. 涉及梯形图能力时以 `LogicNodeConfig` 当前六类配置为准;Qt 的 `QTimer` 只是轮询或界面刷新机制,不代表梯形图定时器指令 3. 修改代码后运行受影响测试、独立性能目标、Release 构建和 `git diff --check`;涉及真机通信时再按 `AGENTS.md` 做 COM3 读写及恢复验证