From ea51e61c6e1fa246b99108605e53c3ad5dcadc35 Mon Sep 17 00:00:00 2001 From: liuyu65 Date: Tue, 27 Oct 2026 11:41:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=EF=BC=9A=E6=8C=89=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E5=AE=9E=E9=99=85=E5=AE=8F=E6=B8=85=E5=8D=95=E6=A0=B8?= =?UTF-8?q?=E5=AF=B9=EF=BC=8850=20=E6=9D=A1/=E7=BC=BA=20031=EF=BC=89?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=AD=A3=20area=20=E5=AE=8F=E5=90=8D?= =?UTF-8?q?=E4=B8=8E=2048=20=E5=8F=B7=E5=AE=8F=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 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 标注窗口号冲突待核对 --- 设计文档/地址表.md | 2 +- 设计文档/宏指令.md | 104 +++++++++++++++++++++++++++++---------------- 2 files changed, 68 insertions(+), 38 deletions(-) diff --git a/设计文档/地址表.md b/设计文档/地址表.md index 0e33919..b568629 100644 --- a/设计文档/地址表.md +++ b/设计文档/地址表.md @@ -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=未登录) | diff --git a/设计文档/宏指令.md b/设计文档/宏指令.md index 29bdf6d..93df95c 100644 --- a/设计文档/宏指令.md +++ b/设计文档/宏指令.md @@ -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` 说明。 \ No newline at end of file