diff --git a/pic/X2Y2-2.png b/pic/X2Y2-2.png index 1be0bd8..b2a252d 100644 Binary files a/pic/X2Y2-2.png and b/pic/X2Y2-2.png differ diff --git a/pic/x1Y2.png b/pic/x1Y2.png index 74f8b2d..1465a6f 100644 Binary files a/pic/x1Y2.png and b/pic/x1Y2.png differ diff --git a/pic/x2y2-1.png b/pic/x2y2-1.png index 3dd846b..924e82c 100644 Binary files a/pic/x2y2-1.png and b/pic/x2y2-1.png differ diff --git a/unitouch.cmtp b/unitouch.cmtp index a7f1516..760bb0c 100644 Binary files a/unitouch.cmtp and b/unitouch.cmtp differ diff --git a/设计文档/制丸线HMI界面UniTouch布局202500915.xd b/设计文档/制丸线HMI界面UniTouch布局202500915.xd index 92dd0b6..ed609fb 100644 Binary files a/设计文档/制丸线HMI界面UniTouch布局202500915.xd and b/设计文档/制丸线HMI界面UniTouch布局202500915.xd differ diff --git a/设计文档/地址表.md b/设计文档/地址表.md index 75b70e0..7b7027d 100644 --- a/设计文档/地址表.md +++ b/设计文档/地址表.md @@ -12,10 +12,11 @@ | `LW-1` | Y(1~7) | | `LW-2` | 目标窗口号(PLC 控制元件触发地址) | | `LW-3` | 当前窗口号(PLC 控制元件回写) | +| `LW-50` | X2Y2 区域弹窗窗口号(0=关闭;141~144=物料输送/浸膏称量/混合机/软材料斗) | | `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=未登录) | > 已禁用(窗口留空、位图=0):X2Y1(108)、X2Y3(110)、X2Y4(111)、X2Y6(113)、X2Y7(114)、X4Y1(122)、X4Y3(124)、X4Y4(125)、X4Y6(127)、X4Y7(128)。 -| `LW-9222` | 当前登录用户类别位(bit0=A 工程师 / bit1=B 管理员 / bit2=C 上料 / bit3=D 制丸;0=未登录) | ### 5.2 弹窗 / 状态位 diff --git a/设计文档/宏指令.md b/设计文档/宏指令.md index 82a4a27..0f20cfa 100644 --- a/设计文档/宏指令.md +++ b/设计文档/宏指令.md @@ -1044,3 +1044,45 @@ macro_command main() // 宏入口:点 A/B end if // 非上料屏:无动作(线别锁定) 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 // 宏结束 +``` + +**`area-2`**(X2Y2 区域「浸膏输送和称量系统」透明键) +``` +macro_command main() // 宏入口:点该区域时执行 + short win = 142 // 目标弹窗窗口号 + SetData(win, "Local HMI", LW, 50, 1) // 写 LW-50 → 间接窗口显示 142 +end macro_command // 宏结束 +``` + +**`area-3`**(X2Y2 区域「混合机」透明键) +``` +macro_command main() // 宏入口:点该区域时执行 + short win = 143 // 目标弹窗窗口号 + SetData(win, "Local HMI", LW, 50, 1) // 写 LW-50 → 间接窗口显示 143 +end macro_command // 宏结束 +``` + +**`area-4`**(X2Y2 区域「软材缓存料斗(随制丸机清洗)」透明键) +``` +macro_command main() // 宏入口:点该区域时执行 + short win = 144 // 目标弹窗窗口号 + SetData(win, "Local HMI", LW, 50, 1) // 写 LW-50 → 间接窗口显示 144 +end macro_command // 宏结束 +``` + +**`area-close`**(弹窗「关闭」按钮 / X2Y2 打开窗口时) +``` +macro_command main() // 宏入口:关闭区域弹窗 + short z = 0 // 常量 0 + SetData(z, "Local HMI", LW, 50, 1) // 写 LW-50=0 → 间接窗口收起 +end macro_command // 宏结束 +``` diff --git a/设计文档/开发主文件.md b/设计文档/开发主文件.md index 33854d9..9114af6 100644 --- a/设计文档/开发主文件.md +++ b/设计文档/开发主文件.md @@ -37,6 +37,7 @@ XD 画板:`A_start`、`B_PID`、`C_运行1~3`、`D_点动1/2`、`E_配方1~3` | 20 | 点检check | 点检画面(可退出,暂无功能) | | 100 | `common-window-joyea` | 公共窗口(顶部栏/导航/常驻元件) | | 101~128 | `X1Y1` ~ `X4Y7` | 主画面,共 28 个 | +| 141~144 | — | X2Y2 区域聚焦弹窗(`LW-50` 切换:141 物料输送 / 142 浸膏称量 / 143 混合机 / 144 软材料斗) | ## 4. 命名与导航 @@ -203,6 +204,26 @@ XD 画板:`A_start`、`B_PID`、`C_运行1~3`、`D_点动1/2`、`E_配方1~3` 4. 需要"清除"按钮就放 `位状态设置` 写 `LB-9021`(重置)/`LB-9023`(删除文件)。 5. 4 个 Y6 页可共用同一套事件登录,也可按**类别**过滤(配料/上料、上料清洗、制丸、制丸清洗各自的报警)。 +#### 7.7.3 X2Y2 分区聚焦弹窗(4 区) + +> 目标:点屏幕上某个区域 → 弹出只含该区域线条/阀门的不透明弹窗,遮住其它内容、降低视觉负担;**不需要权限**。 + +| 分区 | 弹窗窗口号 | `LW-50` | 宏 | +| --- | --- | --- | --- | +| 1 物料输送管道系统 | 141 | 141 | `area-1` | +| 2 浸膏输送和称量系统 | 142 | 142 | `area-2` | +| 3 混合机 | 143 | 143 | `area-3` | +| 4 软材缓存料斗(随制丸机清洗) | 144 | 144 | `area-4` | +| 关闭 | — | 0 | `area-close` | + +**元件做法** + +1. X2Y2 图上按区域盖 4 个**透明功能键**(`pic/transparent.png`、描述留空、矩形互不重叠、右键「移到最前」)→ 动作 = 触发宏指令 → `area-1`~`area-4`; +2. X2Y2 放一个**间接窗口**:读取地址 `LW-50`、位置覆盖 P&ID 内容区(或全屏 `0,0 1920×1080`);透明度 0%、「重叠」= 独立窗口; +3. 141~144 各弹窗:不透明背景 + 本区域放大图/阀门状态 + 「关闭」功能键(→ `area-close`); +4. X2Y2 窗口属性 → 宏指令 → **「打开窗口时」执行 `area-close`**(进页默认无弹窗); +5. 区域 4 因无法独立排水,画成"软材缓存料斗 + 制丸机主体"合并图。 + ### 7.8 弹窗规范(统一用直接窗口) - 所有弹窗(11/12/13/14/15)都用 **直接窗口**元件,放在 **100 号公共窗口**,由触发位置位弹出。 @@ -331,4 +352,5 @@ XD 画板:`A_start`、`B_PID`、`C_运行1~3`、`D_点动1/2`、`E_配方1~3` | 09-25 | 禁用页窗口内容清空、窗号留空(108/110/111/113/114/120/122/124/125/127/128),位图禁用不变 | | 09-25 | X3Y6(120) 启用:`LW-72` 改回 127;禁用清单更新为 X2Y1/X2Y3/X2Y4/X2Y6/X2Y7、X4Y1/X4Y3/X4Y4/X4Y6/X4Y7 | | 09-25 | 停止跟踪 `unitouch.debug`、`unitouch.cmtp.bak1~3`(本地保留,加入 `.gitignore`) | +| 09-25 | 新增 7.7.3 X2Y2 分区聚焦弹窗:4 区透明键 → 间接窗口(`LW-50`,141~144),`area-1~4`/`area-close` 宏 | | 09-25 | 明确现场不碰 EB:IP 全部在 13 号窗完成;补充 PLC 设备号查看方法(设备列表或显示 `LW-9300~9306`) | \ No newline at end of file