Переглянути джерело

docs: 补充PLC故障恢复说明

main
suyu 1 місяць тому
джерело
коміт
1ea69f5202
2 змінених файлів з 28 додано та 1 видалено
  1. +19
    -1
      docs/ai/handoff.md
  2. +9
    -0
      docs/architecture.md

+ 19
- 1
docs/ai/handoff.md Переглянути файл

@@ -16,6 +16,9 @@
- 真机连接收集 HMI 和梯形图实际引用地址,按 M/D 分区并合并相邻地址读取
- 真机模式要求首次读取完成,不复制离线值,不运行 PC 软件逻辑执行器
- 通信错误停止轮询并保留最后一次有效缓存,状态栏和日志显示错误
- 通信故障立即撤销当前连接的首读资格;真机运行中发生故障会自动返回编辑态,重新进入真机前必须重新连接并完成新一轮首读
- PLC 故障态可直接“重新配置”,连接前自动清理旧串口会话,不再要求用户先手动点击断开
- PLC 日志区分串口未打开、串口已打开但 PLC 无响应、USB 转串口从电脑移除、已建立通信后的超时和 Modbus 协议异常
- 主窗口静态控件已迁入 `main_window.ui`,PLC 参数由独立配置对话框收集后再发起连接
- 已增加运行监控工作台:离线仿真同时显示 HMI、梯形图轨迹和自由监控,真机运行只显示 HMI 和自由监控
- 自由监控支持 `M0~M4000`、`D0~D4000` 地址输入、连续批量添加、去重、删除、清空和最多 64 项限制
@@ -85,6 +88,21 @@ HMI 控件在离线运行工作台中显示为空白。现在每次同步运行

Qt Release 应用已完成干净构建,并执行了启动与正常退出冒烟验证。`git diff --check` 无空白错误。

本轮修正 PLC 故障恢复状态链。通信服务发生错误时会清除当前连接的首次读取资格,运行模式
服务同时校验 PLC 必须处于 `Connected` 且当前连接已完成首读;真机运行期间发生故障会自动
返回编辑态,避免使用旧连接的首读结果重新进入真机运行。故障状态下主窗口开放“PLC 重新
配置”,用户确认后自动断开并清理旧会话,再发起新连接。旧连接未完成的异步回复使用连接代次
隔离,不能污染重连后的新会话。

PLC 错误分类已拆到独立基础设施模块:连接阶段串口未打开、串口已打开但 PLC 首次无响应、
电脑侧 USB 转串口移除、已建立有效通信后的超时、Modbus 协议异常、读写错误和配置错误使用
不同中文日志。PLC 侧 A/B 断开但 USB 转串口仍在时,日志报告本地串口仍打开且 PLC 通信超时;
电脑侧 USB 转串口移除时,日志报告转换器已从电脑移除。

本轮新增自动化测试覆盖故障自动退回编辑态、首读资格撤销、故障后禁止重新进入真机、故障态
直接重连清理旧会话、主窗口重新配置入口和五类核心通信错误。`plc_runtime_tests`、
`runtime_mode_service_tests`、`main_window_tests` 均通过,Qt Release 工程完成干净构建。

本轮参照 TouchWin 按钮业务新增四种位操作:置 ON、置 OFF、取反、瞬时 ON。按钮操作
使用领域枚举并写入工程 `1.0` JSON;运行服务按 Pressed/Released 事件生成写值,瞬时 ON
按下写 1、释放写 0,其他模式释放不重复写入。属性面板只在选中按钮时显示操作模式,新建
@@ -100,7 +118,7 @@ HMI 图元现已分离编辑选择与运行输入状态。运行按钮悬停时
1. 在 PLC STOP 状态确认 COM2 参数和 RS-485 A/B 接线
2. 用安全测试地址读取 `M0`、`D0`
3. 写入 `M0`、`D0` 并由 PLC 监控和下一次轮询确认
4. 验证断线、超时和重新连接流程
4. 真机复核电脑侧 USB 转串口拔除、PLC 侧 A/B 断开、超时和重新连接日志及恢复流程
5. PLC 切换 RUN 后执行完整 HMI 与设备联动测试
6. 整理测试记录、构建说明和演示工程



+ 9
- 0
docs/architecture.md Переглянути файл

@@ -140,6 +140,15 @@ PLC 连接后可以动态增删自由监控地址。存在读取请求时,新

HMI 写入只表示异步请求已受理,不乐观修改 PLC 缓存,实际值由后续读回确认。超时、协议错误或断线会停止轮询、保留最后一次有效值并进入故障状态,错误通过运行模式服务交给 UI 展示。

通信故障会立即撤销当前连接的首次读取资格。若故障发生在真机运行态,运行模式服务自动返回
编辑态,PLC 最后一次有效缓存仍保留用于日志和故障诊断,但不能作为再次进入真机运行态的依据。
重新进入真机运行必须重新连接 PLC,并在当前连接中重新完成首次读取。

通信服务结合 Qt Modbus 错误、串口是否曾成功打开、配置端口是否仍存在以及当前连接是否收到过
有效响应,区分以下故障:串口未打开导致的连接失败、串口已打开但 PLC 首次无响应、USB 转
串口从电脑移除、已建立通信后的超时、Modbus 协议异常、读写失败和串口参数错误。故障态允许
直接重新配置;用户确认连接后,运行模式服务先清理旧串口会话,再使用新参数连接。

## 运行模式边界

| 模式 | 允许编辑 | 寄存器来源 | 软件逻辑执行器 | 进入约束 |


Завантаження…
Відмінити
Зберегти