文档:按工程实际宏清单核对(50 条/缺 031),修正 area 宏名与 48 号宏说明

- 新增 6.0 工程实际清单:ID 000~050,排除已删的 031
- 区域宏实际为 x2y2-focus-area1~3 + -close,旧 area-1~4 作废,只有 3 区
- 48 号 屏蔽通讯异常提示 是周期执行(P),屏蔽 LB-11960~11967 八台设备
- 标出 7 条文档未覆盖的宏(macro_13 / IO切换* / 上料参数 / 温度监控 / 出条温度监控 / IO)
- 地址表 LW-50 标注窗口号冲突待核对
This commit is contained in:
2026-10-27 11:41:19 +08:00
parent 4f5a664540
commit ea51e61c6e
2 changed files with 68 additions and 38 deletions
+1 -1
View File
@@ -12,7 +12,7 @@
| `LW-1` | Y(1~7) |
| `LW-2` | 目标窗口号(PLC 控制元件触发地址) |
| `LW-3` | 当前窗口号(PLC 控制元件回写) |
| `LW-50` | X2Y2 区域弹窗窗口号(0=关闭;141~144=物料输送/浸膏称量/混合机/软材料斗) |
| `LW-50` | X2Y2 区域弹窗窗口号(0=关闭;**只有 3 区**:物料输送 / 浸膏称量 / 混合机)。窗口号 `141~143` 与主文件 7.7.3 的 `30~32` 冲突,**待按工程核对**(宏名实际为 `x2y2-focus-area1~3`) |
| `LW-70`~`73` | **页面存在位图**:bit0=Y1 … bit6=Y7,1=该页有内容;X1/X2/X3/X4 段分别对应 `LW-70/71/72/73`。当前值:`LW-70=127`、`LW-71=18`(缺 Y1/Y3/Y4/Y6/Y7)、`LW-72=127`(X3 全有)、`LW-73=18`(缺 Y1/Y3/Y4/Y6/Y7) |
| `LW-9222` | 当前登录用户类别位(bit0=A 工程师 / bit1=B 管理员 / bit2=C 上料 / bit3=D 制丸;0=未登录) |
+67 -37
View File
@@ -2,7 +2,63 @@
> 摘自同目录 `开发主文件.md` 第 6 章,直接复制到 EB Pro 宏编辑器。
## 6. 宏清单
## 6.0 工程实际清单(2026-10-27 核对,依据 EB Pro「宏指令」窗口)
> 现工程 `unitouch1025.cmtp` 共 **50 条**(ID 000~050,**缺 031**)。
> `{I}` = 当 HMI 启动时即执行一次;`{P}` = **周期执行**;无标记 = 由按钮/窗口事件触发。
> 本表是“以工程为准”的基准,下文 6.1 起的正文若与本表冲突,**以本表为准**。
| ID | 宏名 | 条件 | 用途 | 文档状态 |
|---|---|---|---|---|
| 000 | `main-init` | I | 开机初始化 `LW-0/1/2`、页面位图 `LW-70~73`、`RW-61` | 有正文 |
| 001~007 | `btn-y1`~`btn-y7` | — | Y 页签导航(权限 + 页面存在位图) | 有正文 |
| 008~011 | `btn-x1`~`btn-x4` | — | X 页签导航 | 有正文 |
| 012 | `btn-login-index` | — | 索引登入 + 内联提示映射 | 有正文 |
| 013 | `macro_13` | — | **未命名宏**,疑似废弃残留 | **未记录** |
| 014 | `close-msg` | — | 关 11 号无权限窗 | 有正文 |
| 015~017 | `open-time` / `set-time` / `close-time` | — | 修改时间 | 有正文 |
| 018 | `logout` | — | 注销并回 10 号窗 | 有正文 |
| 019 | `user-open` | — | 开 14 号用户管理窗 | 有正文 |
| 020~027 | `usr-init`/`usr-back`/`usr-add`/`usr-delete`/`usr-delete-ok`/`usr-delete-cancel`/`usr-setlevel`/`usr-setpwd` | — | 用户管理各种命令 | 有正文(模板) |
| 028~029 | `about-open` / `about-close` | — | 关于窗 | 有正文 |
| 030 | `usr-getlevel` | — | 按索引读权限 | 有正文(模板) |
| — | (031 已删除,工程内无此 ID) | — | — | — |
| 032 | `close-nopage` | — | 关 16 号“无内容”窗 | 有正文 |
| 033~035 | `admin-close` / `admin-login` / `admin-open` | — | 超管登录弹窗 | 有正文 |
| 036 | `line-ab-switch` | — | A/B 线切换(仅 role=1) | 有正文 |
| 037 | `net-apply` | I | 网络参数套用(HMI + 设备 4/5 IP) | 有正文(10-27 已加 IP 保护) |
| 038 | `net-read` | — | 系统网络值 → 暂存 `RW` | 有正文 |
| 039~041 | `x2y2-focus-area1`~`area3` | — | X2Y2 三区聚焦 → `LW-50` | **正文缺失**(旧文档写作 `area-1~3`,名字已不符) |
| 042 | `IO切换上料` | — | 待确认(疑似 IO 监控页切换) | **未记录** |
| 043 | `x2y2-focus-area-close` | — | 关区域弹窗(`LW-50=0`) | **正文缺失**(旧文档写作 `area-close`) |
| 044 | `IO切换清洗` | — | 待确认 | **未记录** |
| 045 | `IO切换制丸` | — | 待确认 | **未记录** |
| 046 | `上料参数` | — | 待确认 | **未记录** |
| 047 | `温度监控` | P | 周期采集/判断温度 | **未记录** |
| 048 | `屏蔽通讯异常提示` | P | 周期置 ON `LB-11960~11967`(设备 1~8 的 “Device No Response”) | **未记录**(旧文档只提 11963/11964) |
| 049 | `出条温度监控` | P | 周期监控出条温度 | **未记录** |
| 050 | `IO` | — | 待确认 | **未记录** |
### 6.0.1 与旧文档的差异(已确认)
1. **区域弹窗宏名不对**:实际是 `x2y2-focus-area1~3` + `x2y2-focus-area-close`,旧文档的 `area-1~4` / `area-close` 作废;且**只有 3 个区域**,没有 area-4(与“4 区并 3 区”一致)。
2. **48 号宏 `屏蔽通讯异常提示` 是周期执行(P)**,不是开机一次;它把 `LB-11960~11967` 八台设备全屏蔽,不是文档写的 63/64 两台。
3. **7 条宏文档完全没有**:`macro_13`、`IO切换上料`、`IO切换清洗`、`IO切换制丸`、`上料参数`、`温度监控`、`出条温度监控`、`IO`(含 3 条周期温度宏)。
4. **ID 031 缺失**(工程里已删除,文档无记录)。
5. `macro_13` 未命名,建议确认是否可删。
### 6.0.2 待补正文(按优先级)
| 优先 | 宏 | 需要的确认 |
|---|---|---|
| 高 | `x2y2-focus-area1~3`、`-close` | `LW-50` 写入的是 **30~32** 还是 **141~144**(本文档与主文件冲突的根源) |
| 高 | `net-apply` | 新工程是否已含“IP 首段为 0 不覆盖”保护 |
| 中 | `IO切换上料/清洗/制丸`、`IO` | 是否属于 IO 监控页的页签切换,地址用哪批 |
| 中 | `上料参数` | 是否写 PLC 配方参数 |
| 低 | `温度监控`、`出条温度监控` | 周期时间、报警阈值地址 |
| 低 | `macro_13` | 是否废弃可删 |
## 6.1 宏正文(逐行注释)
> 命名:导航 = `btn-*`、登录 = `main-init`/`btn-login-index`/`logout`、管理员登录 = `admin-open`/`admin-login`/`admin-close`、用户管理 = `user-open` + `usr-*`(你的工程删除类为 `usr-delete*`)、关于窗 = `about-open`/`about-close`、时间 = `open-time`/`set-time`/`close-time`、弹窗 = `close-msg`/`close-nopage`。
> **登录提示已内联**:`LW-101` 结果码 → `LW-261` 的映射直接写在 `btn-login-index`/`admin-login` 内,零延迟、不轮询、不依赖宏编号。`net-apply` 用宏属性「当 HMI 启动时即执行一次」。
@@ -1055,44 +1111,18 @@ macro_command main() // 宏入口:点 A/B
end macro_command // 宏结束
```
**X2Y2 分区聚焦弹窗 `area-*`**(配合间接窗口 `LW-50`,见主文件 7.7.3)
**`area-1`**(X2Y2 区域「物料输送管道系统」透明键)
```
macro_command main() // 宏入口:点该区域时执行
short win = 141 // 目标弹窗窗口号
SetData(win, "Local HMI", LW, 50, 1) // 写 LW-50 → 间接窗口显示 141
end macro_command // 宏结束
```
### X2Y2 分区聚焦弹窗(工程实际名 `x2y2-focus-area*`)
**`area-2`**(X2Y2 区域「浸膏输送和称量系统」透明键)
```
macro_command main() // 宏入口:点该区域时执行
short win = 142 // 目标弹窗窗口号
SetData(win, "Local HMI", LW, 50, 1) // 写 LW-50 → 间接窗口显示 142
end macro_command // 宏结束
```
> 施工见 `开发主文件.md` 7.7.3。**旧文档的 `area-1~4` / `area-close` 作废**,工程实际是:
**`area-3`**(X2Y2 区域「混合机」透明键)
```
macro_command main() // 宏入口:点该区域时执行
short win = 143 // 目标弹窗窗口号
SetData(win, "Local HMI", LW, 50, 1) // 写 LW-50 → 间接窗口显示 143
end macro_command // 宏结束
```
| 宏 | 触发 | 作用 |
| --- | --- | --- |
| `x2y2-focus-area1` | 区域①透明键 | 写 `LW-50` = 目标窗口号 |
| `x2y2-focus-area2` | 区域②透明键 | 同上 |
| `x2y2-focus-area3` | 区域③透明键 | 同上 |
| `x2y2-focus-area-close` | 「关闭」键 / X2Y2 打开窗口时 | `LW-50` = 0 收起 |
**`area-4`**(X2Y2 区域「软材缓存料斗(随制丸机清洗)」透明键)
```
macro_command main() // 宏入口:点该区域时执行
short win = 144 // 目标弹窗窗口号
SetData(win, "Local HMI", LW, 50, 1) // 写 LW-50 → 间接窗口显示 144
end macro_command // 宏结束
```
**只有 3 个区域**(原第④区已并入③),没有 area-4。
**`area-close`**(弹窗「关闭」按钮 / X2Y2 打开窗口时)
```
macro_command main() // 宏入口:关闭区域弹窗
short z = 0 // 常量 0
SetData(z, "Local HMI", LW, 50, 1) // 写 LW-50=0 → 间接窗口收起
end macro_command // 宏结束
```
**窗口号待核对(两处文档互相矛盾)**:本文旧版写 `141/142/143`,`开发主文件.md` 7.7.3 写 `30/31/32`。请在 EB 里打开 `x2y2-focus-area1`,看 `short win = ?` 这一行确认后回填,同时改掉 `地址表.md` 5.1 的 `LW-50` 说明。