1946782a37
- 21 页清单与组号、样板页流程、批量复制、验收 5 条 - 待定:AI 页数据源、170 DO7 来源、页签栏重复的取舍
154 lines
6.8 KiB
Markdown
154 lines
6.8 KiB
Markdown
# 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` 段 |
|