Files
weinviews-unitouch/设计文档/IO页窗口重构施工单.md
T
admin 1946782a37 文档:新增 IO 页窗口重构施工单(去层套层,改 X1Y1 式单窗口)
- 21 页清单与组号、样板页流程、批量复制、验收 5 条
- 待定:AI 页数据源、170 DO7 来源、页签栏重复的取舍
2026-10-27 14:09:07 +08:00

154 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# IO 页面窗口重构施工单(V1:去层套层,改 X1Y1 式单窗口)
> 角色:指挥 = 你 / 实施 = wangli / 文档与宏 = 我
> 目标版本:`unitouch1025.cmtp`
> 范围:**只动 IO 监控的 21 个页面(149、151~171)**。操作弹窗(177~185)与清洗弹窗(215~251)留到 V2。
---
## 1. 为什么要改
现在 IO 页用的是「窗口重叠」三层结构:
```
底层 100.common-window-joyea
中层 105.X1Y5
顶层 149.上料-IO
```
三层同时打开,内容分散在 149(灯、CB、TB)和 158(文字标签)里,导致:
- 页面内容不完整地属于任何一个窗口,改一页要看三处;
- `LW-300` 组号没有任何窗口自己设置,只有 `042/044/045` 三支入口宏设,**切页签数据不换**;
- 一进 158 组号是 9(DI3-4)却显示 DI1-2 的标题,**天生错位**。
## 2. 目标结构
```
公共窗口 100(系统参数 → 一般 → 公共窗口 = 100,自动叠加顶栏)
└─ 每个 IO 页 = 一个独立基本窗口
├─ 页签栏(DI1-DI2 … AI3)
├─ 表格线与文字标签
├─ 灯(读 LW-310~313 或直接读 PLC,见 §6.1)
└─ 打开窗口时执行 = io-xxx(写 LW-300 组号)
```
窗口属性里的「重叠窗口」三层**全部清空**。
## 3. 页面清单(21 页)
| 窗口 | 名称 | 组号 `idx` | 数据源 | 状态 |
| --- | --- | --- | --- | --- |
| 151 | 制丸-IO监控DI1-2 | 1 | 050 | 可做 |
| 152 | 制丸-IO监控DI3-4 | 2 | 050 | 可做 |
| 153 | 制丸-IO监控DI5-6 | 3 | 050 | 可做 |
| 154 | 制丸-IO监控DO1-2 | 4 | 050 | 可做 |
| 155 | 制丸-IO监控DO3-4 | 5 | 050 | 可做 |
| 156 | 制丸-IO监控AI1-2 | 6 | ? | **待定** |
| 157 | 制丸-IO监控AI3-4 | 7 | ? | **待定** |
| 158 | 上料-IO监控DI1-2 | 8 | 050 | 可做(样板页) |
| 159 | 上料-IO监控DI3-4 | 9 | 050 | 可做 |
| 160 | 上料-IO监控DI5-6 | 10 | 050 | 可做 |
| 161 | 上料-IO监控DI7-8 | 11 | 050 | 可做 |
| 162 | 上料-IO监控DO1-2 | 12 | 050 | 可做 |
| 163 | 上料-IO监控DO3-4 | 13 | 050 | 可做 |
| 164 | 上料-IO监控DO5-6 | 14 | 050 | 可做 |
| 165 | 上料-IO监控AI1-2 | 20 | ? | **待定** |
| 166 | 清洗-IO监控DI11-12 | 15 | 050 | 可做 |
| 167 | 清洗-IO监控DI13-14 | 16 | 050 | 可做 |
| 168 | 清洗-IO监控DO11-12 | 17 | 050 | 可做 |
| 169 | 清洗-IO监控DO13-14 | 18 | 050 | 可做 |
| 170 | 上料-IO监控DO7 | 22 | ? | **待定** |
| 171 | 上料-IO监控AI3 | 21 | ? | **待定** |
> 组号 6、7 原本空着;20~24 在 `050` 里是注释掉的“制丸2”预留,先征用 20/21/22,制丸2 真做时再往 25 以后排。
## 4. 施工步骤(wangli 执行)
### 第 0 步:备份 + 冻结
1. 把 `unitouch1025.cmtp` 另存一份 `unitouch1025.重构前.cmtp`(本地,不进库);
2. 通知其他人:`149`、`151~171` 这批窗口暂停改动。
### 第 1 步:样板页 158(先做这一页,验收通过再批量)
1. 打开窗口 **158** → 右键「属性」;
2. 「重叠窗口」→ 底层/中层/顶层 **三个下拉全部设为「无」**;
3. 打开 **149**,框选 `CB_0~CB_7`、`TB_0/TB_1`、全部灯(`WL_0`~`WL_31`)→ 复制;
4. 回 **158** 粘贴,位置与 149 里一致(X/Y 不变,直接覆盖原坐标);
5. 页签栏(DI1-DI2 … AI3)从 149 复制到 158,贴底部同一位置;
6. 窗口 158「宏指令 → 打开窗口时执行」→ 选 `io-158`;
7. **保存 & 编译 → 在线模拟**,逐项对照 §5 验收表。
### 第 2 步:批量复制
1. 窗口列表 → 右键 **158 → 复制** → 得到新窗口,改号为 159;
2. 只改三处:① 窗口名;② 页签橙色高亮挪到 DI3-DI4;③ 「打开窗口时执行」换成 `io-159`;
3. 重复得到 160~164、165、170、171(上料 10 页);
4. 同法做制丸 151~157、清洗 166~169。
> 复制比重新画快 10 倍,且坐标、样式天然一致。**不要手画第 2 遍。**
### 第 3 步:清理
1. 21 页都独立后,**149 清空内容**(先别删窗口,留一周观察);
2. `042/044/045` 里删掉 `SetData(byteA, "Local HMI", LW, 300, 1)` 这一行,只保留 `LW-2` 切窗;
3. 确认「系统参数 → 一般 → 公共窗口 = 100」。
### 第 4 步:验证(21 页逐页过一遍)
见 §5。
## 5. 每页验收清单(5 条,全过才算完)
| # | 检查 | 通过标准 |
| --- | --- | --- |
| 1 | 顶栏 | JOYEA / 运行 / 点动 / 网络状态 / 用户 / 时间 都在,位置不变 |
| 2 | 页签 | 10 个页签都在,**当前页高亮正确** |
| 3 | 数据 | 切到该页后,灯/数值**与上一页不同**(说明组号变了) |
| 4 | 点序 | 现场按一个已知输入(如“投料完成按钮”),对应那一行的灯亮,**不跑到别的行** |
| 5 | 返回 | 点左侧「初始状态 / 运行 / 配方 / 设备参数 / IO监控」都能正常切走再切回 |
> 第 4 条是重构时最容易漏的:现在灯的位序是**乱的**(`WL_0 = LW_Bit 310.1`,`WL_15 = 310.0`),建议重构时按 `310.0 → 311.7` 顺排,排完必须实测一次。
## 6. 待确认(需要指挥拍板)
### 6.1 AI 页(156/157/165/171)的数据从哪来?
`050` 用的是 `unsigned char` 读字节,只适合 DI/DO 位组合;AI 是数值(16/32 位),大概率**不走 050**,而是数值元件直接绑 PLC 符号。
- 若直连 → 这 4 页不设组号,`050` 也不用补 AI 分支;
- 若走 `LW` 中转 → 要补 `050` 分支,且要按 REAL 处理。
**确认方法**:EB 打开 165,点一个数字显示框看「标签」,是 `Remote_AI…` 之类的 PLC 符号,还是 `LW-xxx`。
### 6.2 170(上料 DO7)走哪条
`050` 第 19 组读的是 `Remote_DO21A/21B`(远程站),这里只有 8 个点。需要确认 170 是读 `Local_DO07` 还是 `Remote_DO21`。
### 6.3 页签栏 10 份重复
不套层就必须每页自带页签栏,以后改样式要改 10 处。建议:
- 页签做成**群组**,复制时整组带走;
- 颜色/字号统一在样板上定死,之后不再改。
若不能接受,可退回“页签放 149、其余内容独立”——但那样又有一层,与本次目标冲突。
## 7. 风险与回滚
| 风险 | 应对 |
| --- | --- |
| 清空「重叠窗口」后顶栏消失 | 先确认公共窗口 = 100;158 试点验证后再批量 |
| 复制窗口后元件地址串页 | 复制后逐页核对灯地址(应在 `LW-310~313`) |
| 与其他人同时改窗口 | 施工前口头冻结 149/151~171 |
| 改坏无法回退 | 每完成 5 页存一份 cmtp,并 `git commit` 一次 |
## 8. 分工
| 人 | 事项 |
| --- | --- |
| 指挥 | 拍板 §6 三项;现场验收第 4 条(点序) |
| wangli | §4 全部施工;每 5 页提交一次 |
| 我 | 21 支 `io-xxx` 宏;页面清单与验收表;完成后更新 `开发主文件.md` 窗口表、`地址表.md` 的 `LW-300/310` 段 |