Selaa lähdekoodia

fix: 移除 HMI 画布未绑定状态叠加文字

main
suyu 1 kuukausi sitten
vanhempi
commit
cf69b9c5db
2 muutettua tiedostoa jossa 9 lisäystä ja 9 poistoa
  1. +0
    -8
      app/src/ui/hmi_editor_widget.cpp
  2. +9
    -1
      docs/ai/handoff.md

+ 0
- 8
app/src/ui/hmi_editor_widget.cpp Näytä tiedosto

@@ -138,14 +138,6 @@ public:
painter->setPen(QPen(QColor(QStringLiteral("#1677a8")), 2));
painter->drawRect(boundingRect().adjusted(0, 0, -1, -1));
}
if (!control_.isConfigured())
{
painter->setPen(QColor(QStringLiteral("#b54708")));
painter->drawText(
rect.adjusted(2, rect.height() - 15, -2, 0),
Qt::AlignCenter,
QStringLiteral("未绑定"));
}
}

// 向场景和外部控件返回该图元对应的领域控件标识


+ 9
- 1
docs/ai/handoff.md Näytä tiedosto

@@ -58,6 +58,7 @@
- `app/src/ui/logic_editor_widget.cpp`
- `app/tests/logic_editor_service_tests.pro`
- `app/tests/logic_editor_service_tests.cpp`
- `app/tests/runtime_mode_service_tests.pro`
- Decisions made:
- Qt 应用源码位于 `app/`,构建输出位于被忽略的 `build/`。
- 使用 qmake、Qt Widgets、Qt SerialBus 和 MinGW 8.1。
@@ -82,7 +83,7 @@
- 当前尚未接入 PLC 通信,真机运行入口会按领域规则提示先连接并完成首次读取。
- 项目代码不使用自定义命名空间,分层由目录、接口和依赖方向表达。
- `HmiEditorService` 负责页面控件的添加、删除、移动和属性修改,画布项只保存控件标识。
- 控件拖动必须限制在页面内,控件标识在页面内唯一,保存前校验必需 M/D 绑定
- 控件拖动必须限制在页面内,控件标识在页面内唯一;未绑定控件可作为草稿保存,但不得进入离线运行
- 新增控件先以未绑定状态进入编辑器,避免自动分配地址造成误绑定。
- 离线运行的按钮采用点击切换 M 位语义,数值输入写入一个带符号 16 位 D 字。
- `HmiRuntimeService` 仅通过 `RegisterRepository` 访问寄存器,不依赖虚拟寄存器、串口或 Modbus。
@@ -91,6 +92,12 @@
- `LogicEditorService` 负责网络、串联条件、并联条件、输出线圈、属性和删除操作。
- `LogicEditorWidget` 自动布局母线、支路和节点,不允许自由拖动或手动画线,不保存节点坐标。
- 控制逻辑编辑器不访问 HMI、寄存器仓库或 PLC,工程格式版本保持 `1.0`。
- 新增 HMI 控件立即进入工程内存但默认未绑定,属性区明确显示“未绑定”,不再以 `M0/D0` 伪装默认绑定。
- 新增梯形图节点立即进入工程内存,但 `configured=false`;画布显示 `< M 地址 >`、`< D 地址 >` 或 `< 常量 >`,点击应用逻辑属性后才成为已配置节点。
- `Project::validate()` 是草稿保存和加载校验,允许未绑定 HMI、待配置节点及未完成网络;`Project::validateForRunning()` 额外校验可运行完整性。
- `RuntimeModeService` 依赖 `ProjectService` 的只读工程,在进入离线运行态前执行完整性校验,拒绝未配置或未完成的工程。
- JSON 节点新增 `configured` 字段;缺失字段的旧版 `1.0` 工程按历史逻辑视为已配置,保持兼容读取。
- 梯形图 UI 已按 LAD 可读性优化:普通线圈采用标准 `( )` 形状,导线连接元件端子而不穿透符号,比较条件显示为带数据类型和上下操作数的指令块。
- Validation run and results:
- 在 `build/baseline/` 执行 qmake 与 `mingw32-make -j2`,构建成功。
- 已启动 `integrated_platform.exe` 并正常退出。
@@ -115,6 +122,7 @@
- Debug 应用构建成功。
- 启动 Debug 应用确认主窗口创建成功,窗口标题为“综合平台编程器”。
- 梯形图结构重构后,领域、逻辑编辑服务、工程管理和主窗口测试重新构建并全部通过。
- 待配置节点改造后,Release 应用构建成功;领域、工程管理、逻辑编辑服务、运行模式和主窗口测试全部通过。
- Remaining work: 进入开发顺序第 8 步,实现离线软件逻辑执行器和 HMI 闭环。
- Known risks / blockers: 无。
- Suggested next command: 为控制逻辑建立固定周期的软件执行器,按网络顺序执行并计算级间 AND 与级内 OR。

Ladataan…
Peruuta
Tallenna