Files
weinviews-unitouch/设计文档/开发主文件.md
T

541 lines
40 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
# JOYEA 触摸屏开发主文件(CMT2167X / EasyBuilder Pro 6.10)
工程目录:`E:\AiCodeGitea\weinveiw-touch` | 远程:`http://124.220.63.9:30000/admin/weinviews-unitouch.git`
## 1. 目标与环境
- 硬件:WEINTEK **CMT2167X**,1920×1080,arm64,24VDC。
- 软件:**EasyBuilder Pro 6.10.02.421**。
- 通讯/设备:与现有 `unitouch` 工程一致(不改 PLC 与地址映射)。
## 2. 工程资产
| 文件 | 说明 |
| --- | --- |
| `unitouch.cmtp` | EB Pro 工程文件 |
| `lwaddr.xls` / `lwaddr.csv` | 系统地址大全(1429 条,查系统寄存器用) |
| `制丸线HMI界面UniTouch布局202500915.xd` | XD 设计源(18 画板) |
> `unitouch.cxob`(编译输出)、`unitouch.debug`、`unitouch.cmtp.bak1~3` 为本地文件,已加入 `.gitignore`,不再入库。
XD 画板:`A_start`、`B_PID`、`C_运行1~3`、`D_点动1/2`、`E_配方1~3`、`F_设备参数2`、`G_清洗主机1`、`H_报警1`、`I_数据1~3`、`J_关于`。
## 3. 窗口结构
> **2026-10-27 按工程实际窗口表重建**(原表只到 128,现已扩到 282)。共 283 个窗口槽(0~282),实际有内容约 100 个。
### 3.1 系统 / 弹窗 / 主画面(0~128)
| 窗口 | 名称 | 用途 |
| --- | --- | --- |
| 3 | Monitor Mode | EB 系统窗 |
| 4 | Common Window | EB 系统窗(层叠底层) |
| 5 | — | 空 |
| 6~9 | HMI Connection / Password Restriction / Storage Space Insufficient / Backup | EB 系统窗,**不改内容** |
| 10 | 登陆和入口画面 | 登录 + 入口;开启执行 `logout` |
| 11 | 弹出 | 无权限提示(`LB-110`) |
| 12 | 修改时间 | `LB-120` |
| 13 | 系统IP和关于 | 关于 + 设置(`LB-123`);**窗口打开时执行宏**(图标标注 `打开(3…)`) |
| 14 | 用户管理 | `LB-122`;**打开时执行宏 ID 20 = `usr-init`** |
| 15 | 用户删除确认 | `LB-121` |
| 16 | 空页面弹窗 | `LB-124` |
| 17 | 超管登陆 | `LB-125` |
| 20 | 点检check | 点检画面 |
| 30~32 | `x2y2-focus-area1`~`area3` | X2Y2 三区聚焦弹窗,`LW-50` = **30 / 31 / 32**(0=收起) |
| 50~59 | Keypad 1~10 | EB 内置键盘弹窗(Integer / HEX / Floating / Numeric…) |
| 60~68 | ASCII Middle / Small / Upper M / Lower M / Upper S / Lower S(含 translucent 版) | EB 内置字符键盘 |
| 70~74 | Login & Logout / Add account / Delete account / Set privilege / Set password | EB 内置用户管理弹窗 |
| 76~77 | EasyAccess 2.0 Setting / Proxy Setting | EB 内置 |
| 80~82 | Screen Saver / Warning Message / Wechat Code | EB 内置 |
| 83~90 | System Standard / Flat ASCII / NumPad 系列 | EB 内置键盘 |
| 100 | `common-window-joyea` | 公共窗口(顶部栏/导航/常驻元件) |
| 101~107 | `X1Y1`~`X1Y7` | 主画面 |
| 108 | — | 空(X2Y1 禁用) |
| 109 | `X2Y2` | 主画面 |
| 112 | `X2Y5` | 主画面 |
| 115~121 | `X3Y1`~`X3Y7` | 主画面(X3 全有) |
| 123 | `X4Y2` | 主画面 |
| 126 | `X4Y5` | 主画面 |
> 110/111/113/114(X2Y3/Y4/Y6/Y7)与 122/124/125/127/128(X4Y1/Y3/Y4/Y6/Y7)为空,与 `LW-71`/`LW-73` 的缺页位图一致。
> `WIN = 101 + (X-1)*7 + (Y-1)` 仍成立(X3Y1=115、X4Y2=123 已验证)。
### 3.2 新增工艺页 / 弹窗(130~282)
> 这一段是 10 月后加的,旧文档完全没有。命名不再套 X/Y 规则,直接按「段-功能」或「弹窗-用途」。
| 窗口 | 名称 | 段 |
| --- | --- | --- |
| 130 | 清洗参数 | 清洗 |
| 131~134 | 制丸 / 制丸-投料搅拌 / 制丸-制条 / 制丸-制丸 | 制丸 |
| 136~141 | 制丸-切丸伺服 / 纯水输送 / 提升 / 抛光筛分 / 温控 / 温控2 | 制丸 |
| 142~143 | 温度采样 / 出条温度采样 | 温度 |
| 148~150 | 清洗-IO / 上料-IO / 制丸-IO | IO 总览 |
| 151~157 | 制丸-IO监控 DI1-2 / DI3-4 / DI5-6 / DO1-2 / DO3-4 / AI1-2 / AI3-4 | 制丸 IO |
| 158~165 | 上料-IO监控 DI1-2 / DI3-4 / DI5-6 / DI7-8 / DO1-2 / DO3-4 / DO5-6 / AI1-2 | 上料 IO |
| 166~169 | 清洗-IO监控 DI11-12 / DI13-14 / DO11-12 / DO13-14 | 清洗 IO |
| 170~171 | 上料-IO监控 DO7 / AI3 | 上料 IO |
| 177~178 | 制丸操作弹窗-投料搅拌 / 制条 | 制丸弹窗 |
| 181~185 | 制丸操作弹窗-纯水输送 / 切丸伺服 / 提升 / 抛光筛分 / 制丸弹窗-功能 | 制丸弹窗 |
| 190 | 上料-(空壳) | 上料 |
| 194~202 | 上料-通用 / 风淋投料 / 输送 / 1#浸膏称重 / 1#混合 / 2#浸膏称重 / 2#混合 / **输送2(201)** / 输送3 | 上料 |
| 204~210 | 清洗- / 浸膏罐清洗 / 1#粉体清洗 / 1#浸膏清洗 / 2#粉体清洗 / 2#浸膏清洗 / 点动 | 清洗 |
| 215~229 | 弹窗-浸膏罐预/一/二次清洗、1号/2号粉体、浸膏称重罐、浸膏分配阀 各一次/二次清洗 | 清洗弹窗 |
| 230~239 | 弹窗-风淋输送状态字 / 送粉气力输送状态 / 1#、2# 浸膏配料称重状态 / 泵配料状态 / 混合状态字 / 送粉、回粉三通切换阀状态 | 状态弹窗 |
| 241~251 | 弹窗-清洗弹窗1~3、1#/2# 混合机一/二次清洗、1#/2# 缓存斗一/二次清洗 | 清洗弹窗 |
| 260~265 | IO弹窗-风淋投料 / 输送 / 1#浸膏称重 / 1#混合 / 2#混合 / 2#浸膏称重 | IO 弹窗 |
| 280 | 弹窗-风淋输送 | 状态弹窗 |
> **201 = 上料-输送2**,就是 10.1 里“位按钮整片不显示”的那个页面。
## 4. 命名与导航
- 画面名:`X{段}Y{功能}_{工艺段}_{功能}`
- **X(工艺段)**:`X1 配料/上料`、`X2 上料清洗`、`X3 制丸`、`X4 制丸清洗`
- **Y(功能)**:`Y1 初始状态`、`Y2 运行`、`Y3 配方`、`Y4 设备参数`、`Y5 I/O监控`、`Y6 报警`、`Y7 数据趋势`
- **窗口号**:`WIN = 101 + (X-1)*7 + (Y-1)`(101~128)
- **导航机制**:按钮宏把 X/Y 与目标窗口号写入 `LW-0/1/2`,由 **PLC 控制元件「切换基本窗口」**(触发地址 `LW-2`,回写 `LW-3`)执行切窗。
- 顶部「运行/点动」为全局状态,暂不参与 X/Y 导航。
### 4.1 权限分配总表
> 已单独整理:见同目录 `权限分配表.md`(三级权限 ●/○/× 与 EB Pro 设置方法)。
## 5. 地址规划
> 已单独整理:见同目录 `地址表.md`(导航/公共、弹窗位、控制地址、命令/结果码、网络版本、IP 配置与互锁、拓扑)。
## 6. 宏清单
> 已单独整理:见同目录 `宏指令.md`(全部宏逐行注释,直接复制粘贴)。
## 7. 各页面要点
### 7.1 登录页(10 号窗)
- 项目选单(来源=用户账号)→ 写 `LW-102`;密码字符输入(勾系统键盘)→ `LW-112`。
- admin 登录(隐藏入口):登录页 logo 上盖**透明功能键**(安全页「最少按键时间」= 3 秒)→ `admin-open`;10 号窗放「直接窗口」`LB-125`→17,弹窗里填 `admin` + 密码 → `admin-login`(名称登入),取消 → `admin-close`。
- 底部提示用文字元件 + 字符串表,编号 `LW-261`(由登录宏直接写入)。
- 「登录」按钮 → `btn-login-index`。
- 窗口属性 → 「打开窗口时执行」= `logout`(每次回来强制重新登录)。
- 顶部账户显示读 `PLW-10754`,上面盖透明功能键 → 长按 1s(安全页最少按键时间=1)→ `logout`。
### 7.2 公共窗口(100 号窗)
- 顶部:品牌、页签、`?`/首页/用户/报警图标;右上角「日期/时间」元件。
- PLC 联机:触发条件(3 台联机位 AND)→ `LB-131` → 位状态指示灯。
- 直接窗口 ×6:`LB-110`→11、`LB-120`→12、`LB-121`→15、`LB-122`→14、`LB-123`→13、`LB-124`→16。
- 入口按钮:点检(功能键→切换基本窗口=20);关于(仅 A,安全页操作类别=类别 A);用户管理(`user-open`)。
- X/Y 导航按钮:`btn-x1~x4`、`btn-y1~y7`。
### 7.3 用户管理(14 号窗,1200×800 弹窗)
见同目录 `宏指令.md` 的 `usr-*`:列表(`LW-102`)+ 用户名/密码 + 4 个权限开关(`LW_Bit-10300~10303`)+ 读取权限/修改权限/修改密码/删除/新增/关闭 + 结果 `LW-101`。
只读管理员(B/admin)可用;改权限前先「读取权限」。
### 7.4 点检(20 号窗)
- 只做了画面(可退出),**暂无功能、暂不设计**;不放宏。
- 「关闭」等功能键直接切窗口(未用宏)。
### 7.5 关于 / 设置(13 号窗,1200×800 弹窗)
- 上方:关于信息,字段与地址见 5.7;`LB-123` 弹窗;入口仅工程师(A)。
- 下方「设置」区(全部存 `RW`,掉电保持):
- 本机角色 → `RW-60`(1 上料屏 / 2 制丸A屏 / 3 制丸B屏);
- 制丸线选择 → `RW-61`(1 A 线 / 2 B 线,上料屏用);
- HMI IP / 掩码 / 网关 → `RW-20`~`31`(备屏/换屏用;HMI 固定 IP 必填);
- 上料 PLC IP → `RW-40`~`43`;制丸A PLC IP → `RW-44`~`47`;制丸B PLC IP → `RW-48`~`51`;
- 「应用」→ `net-apply`;窗口开启时执行 `net-read`(进窗自动带出当前值,不需要单独做「读取当前」按钮)。
- 上料屏在 13 号窗设置区放「A/B 切换」按钮 → `line-ab-switch`(只切 `设备4` 的 IP 并重连;**仅本机角色=1 生效**,A/B 屏误点无效);旁边放当前线别显示(读 `RW-61`)。
- **现场无需 EB**:换屏/换 PLC 只填这一页,点「应用」即可。
### 7.6 修改时间(12 号窗)
- 6 个数值输入(`LW-40`~`45` 秒/分/时/日/月/年)+ 设定/取消。
- 入口:100 号窗时钟上透明功能键(仅 B)→ `open-time`。
### 7.7 主画面(101~128)设计
每个画面 = 某工艺段 × 某功能组合,底图按 XD/`pic` 素材放置;其余页面待逐个补。
#### 7.7.1 X1Y1(配料/上料 · 初始状态)完整操作表
> 地址栏留空(`__`)处待 PLC 工程师填写;元件先建好、地址后补。
**布局(1920×1080;内容区 x 110~1900,y 90~1000)**
| # | 区域 | 控件 | 元件 | 地址 | 位置(x,y) | 尺寸 |
| --- | --- | --- | --- | --- | --- | --- |
| 1 | 批次行 | 「产品配方」标签 | 文字 | — | 190,110 | — |
| 2 | 批次行 | 产品配方 | `数值输入` | `LW-__` | 250,105 | 210×44 |
| 3 | 批次行 | 选择 | `功能键` / `位状态设置` | `LB-__` | 470,105 | 90×46 |
| 4 | 批次行 | 「料次」标签 | 文字 | — | 580,110 | — |
| 5 | 批次行 | 料次 | `数值输入` | `LW-__` | 640,105 | 100×44 |
| 6 | 批次行 | 「批号」标签 | 文字 | — | 760,110 | — |
| 7 | 批次行 | 批号(存储) | `字符输入`(8 words) | `RW-__` | 820,105 | 220×44 |
| 8 | 批次行 | 「报警信息」标签 | 文字 | — | 1060,110 | — |
| 9 | 批次行 | 报警信息 | `报警条`(一行滚动) | 事件登录 | 1140,105 | 500×44 |
| 10 | 批次行 | 变频器复位 | `功能键` / `位状态设置` | `LB-__` | 1700,105 | 180×46 |
| 11 | 流程1组 | 节点1~6 | `多状态指示灯` | `LW-__` ×6 | x=680/850/1020/1190/1360/1530,y=300 | 160×56 |
| 12 | 流程1组 | 节点1~6 修正 | `数值输入`(仅工程师) | 同节点地址 | 同 x,y=362 | 100×40 |
| 13 | 状态区 | 圆形开关 | `位状态指示灯` | `LB-__` | 700,430 | 80×50 |
| 14 | 状态区 | 进度条 | `棒图`(0~100) | `LW-__` | 250,470 | 400×20 |
| 15 | 状态区 | 「投料 / 输送1」标签 | 文字 | — | 250,435 | — |
| 16 | 流程2组 | 节点7~12 | `多状态指示灯` | `LW-__` ×6 | 同 x,y=560 | 160×56 |
| 17 | 流程2组 | 节点7~12 修正 | `数值输入`(仅工程师) | 同节点地址 | 同 x,y=622 | 100×40 |
| 18 | 状态区 | 圆形开关 | `位状态指示灯` | `LB-__` | 700,690 | 80×50 |
| 19 | 状态区 | 进度条 | `棒图`(0~100) | `LW-__` | 250,730 | 400×20 |
**节点状态配色(多状态指示灯「状态设置」)**
| 值 | 含义 | 颜色/图片 |
| --- | --- | --- |
| 0 | 未开始 | 灰 |
| 1 | 进行中 | 绿 |
| 2 | 已完成 | 蓝 |
| 3 | 异常 | 红 |
**操作步骤(从上到下逐个做)**
**0. 准备**
1. 打开 **101 号窗口**(X1Y1)。
2. `工程文件 → 地址`(地址标签库)建标签(地址先用占位,PLC 给了再换):
产品配方 `LW-330`、料次 `LW-331`、批号 `RW-0`、节点状态 `LW-300`~`311`、进度 `LW-320`/`321`、圆形开关 `LB-300`/`301`、选择 `LB-311`、变频器复位 `LB-310`。
**① 批次信息行(y≈105)**
3. `元件 → 绘图 → 文字/批注` 放 4 个标签:「产品配方」`(190,110)`、「料次」`(580,110)`、「批号」`(760,110)`、「报警信息」`(1060,110)`。
4. 产品配方:`元件 → 输入 → 数值`,地址 `LW-330`,`(250,105) 210×44`;属性「数值输入」页勾 **系统键盘**。
5. 料次:`数值输入`,地址 `LW-331`,`(640,105) 100×44`,勾系统键盘。
6. 批号:`元件 → 输入 → 字符`,地址 **`RW-0`**、字长 8,`(820,105) 220×44`,勾系统键盘(`RW` 掉电保持 → 自动保存)。
7. 「选择」:`元件 → 按钮/开关 → 功能键`,动作选 `位状态设置` 或 `宏指令`,写 `LB-311`,`(470,105) 90×46`;「图片」标签可设按钮底图。
8. 「变频器复位」:`功能键`,写 `LB-310`,`(1700,105) 180×46`。
9. 报警信息:`元件 → 报警 → 报警条`,`(1140,105) 500×44`(报警来源见 ⑥)。
**② 流程节点(两组 × 6)**
10. `元件 → 指示灯 → 多状态指示灯`,放 6 个:`x = 680 / 850 / 1020 / 1190 / 1360 / 1530`,`y = 300`,`160×56`;地址 `LW-300`~`305`。
11. 「状态设置」给 4 个状态配图/色:`0` 灰(未开始)、`1` 绿(进行中)、`2` 蓝(完成)、`3` 红(异常)。
12. 复制这 6 个到第二组 `y = 560`,地址改 `LW-306`~`311`。
**③ 节点人工修正(显示+可改都用同一地址)**
13. `元件 → 输入 → 数值`,放在每个节点下方:同 `x`、`y = 362`、`100×40`;地址=对应节点状态字(`LW-300`~`305`)。
14. 属性 **「安全」页 → 操作类别 = 类别 A(工程师)**(只有工程师能改);可勾 **「操作前先确认」** 防误改。
15. 第二组同样:`y = 622`,地址 `LW-306`~`311`。
**④ 圆形开关**
16. `元件 → 指示灯 → 位状态指示灯`,`(700,430) 80×50`,地址 `LB-300`;状态 `0`/`1` 各配一张圆图(灰/绿)。
17. 第二组 `(700,690)`,地址 `LB-301`。
**⑤ 进度条**
18. `元件 → 图例 → 棒图`,`(250,470) 400×20`,地址 `LW-320`,方向横向、范围 `0~100`、绿色。
19. 上方加文字「投料 / 输送1」`(250,435)`。
20. 第二组 `(250,730)`,地址 `LW-321`。
**⑥ 报警**
21. `工程文件 → 事件/报警` 新建报警条目(地址、触发条件、显示文字、颜色)。
22. 本页用 **报警条**(步骤 9)做滚动提示;完整列表与**确认**放在 **Y6 报警表页**(见 7.7.2)。
**⑦ 收尾**
23. 各元件「安全」页按需限制操作类别(只显示/只工程师可改)。
24. 保存编译;等 PLC 地址到位后,把占位地址逐个替换即可,元件与布局不动。
**底部 X 页签**:由 100 号公共窗口的 4 个功能键实现(配料/上料、上料清洗、制丸、制丸清洗 → 切换基本窗口)。
#### 7.7.2 Y6 报警表页面(106 / 113 / 120 / 127)
> Y6 = 报警功能;各工艺段各有一个报警表页:`106`(配料/上料)、`113`(上料清洗)、`120`(制丸)、`127`(制丸清洗)。
| 控件 | 元件 | 关键设置 |
| --- | --- | --- |
| 报警列表 | **报警显示**(或事件显示) | 显示全部/未确认报警,**一行一条**,可上下滚动/翻页 |
| 顶部滚动条 | **报警条** | 一行滚动显示最新报警(同 X1Y1 的报警行) |
| 报警确认 | 报警显示元件属性 → **「确认地址」** = `LW-__` | 操作员确认时,系统把该报警的**确认值**写入此地址(PLC 可读,用于联动/记录) |
| 清除(当前记录) | `位状态设置` → **`LB-9021`**(OFF→ON 重置当前事件记录) | 系统位 |
| 删除事件记录文件 | `位状态设置` → **`LB-9023`**(删除 HMI 内存全部事件记录) | 系统位 |
| 翻页 / 确认按钮 | 报警显示元件自带按钮,或自定义功能键 | — |
**做法**
1. `工程文件 → 事件/报警` 里逐条建立报警(地址、触发条件、文字、颜色、类别)。
2. 在 Y6 页放 **报警显示** 元件(多行列表);X1Y1 等页放 **报警条** 元件(一行滚动)。
3. 报警显示的属性里设 **确认地址**,并为每条报警配**确认值** → 操作员确认后写回该地址给 PLC。
4. 需要"清除"按钮就放 `位状态设置` 写 `LB-9021`(重置)/`LB-9023`(删除文件)。
5. 4 个 Y6 页可共用同一套事件登录,也可按**类别**过滤(配料/上料、上料清洗、制丸、制丸清洗各自的报警)。
#### 7.7.3 X2Y2 分区聚焦弹窗(3 区)
> 目标:点屏幕上某个区域 → 弹出只含该区域线条/阀门的不透明弹窗,遮住其它内容、降低视觉负担;**不需要权限**。
| 分区 | 弹窗窗口号 | `LW-50` | 宏 |
| --- | --- | --- | --- |
| 1 物料输送管道系统 | 30 | 30 | `x2y2-focus-area1` |
| 2 浸膏输送和称量系统 | 31 | 31 | `x2y2-focus-area2` |
| 3 混合机 | 32 | 32 | `x2y2-focus-area3` |
| 关闭 | — | 0 | `x2y2-focus-area-close` |
**元件做法**
1. X2Y2 图上按区域盖 3 个**透明功能键**(`pic/transparent.png`、描述留空、矩形互不重叠、右键「移到最前」)→ 动作 = 触发宏指令 → `x2y2-focus-area1`~`area3`;
2. X2Y2 放一个**间接窗口**:读取地址 `LW-50`、位置 = **154,81**、尺寸 = **1763×929**(与弹窗一致);透明度 0%、「重叠」= 独立窗口;
3. 30~32 各弹窗:不透明背景 + 本区域放大图/阀门状态 + 「关闭」功能键(→ `x2y2-focus-area-close`);
4. X2Y2 窗口属性 → 宏指令 → **「打开窗口时」执行 `x2y2-focus-area-close`**(进页默认无弹窗);
5. 原「④ 软材缓存料斗」因无法独立排水,与「③ 混合机」**合并为 1 个分区**(共 3 区)。
#### 7.7.3.1 分区聚焦弹窗操作步骤
**准备**:3 个分区 = ① 红 `物料输送管道系统`、② 蓝 `浸膏输送和称量系统`、③ 黑 `混合机 + 软材缓存料斗`;对应窗口 30~32、宏 `x2y2-focus-area1~3`。
1. **建 3 个弹窗窗口**:30/31/32,尺寸 **1763×929**,**不勾公共窗口**;可勾「模态」。
2. **每个弹窗内容**:
- 不透明底(矩形填白或铺一张不透明底图)→ 遮住后面内容;
- 本区**放大管线图**(素材后续提供,直接替换图片即可);
- 本区**状态元件**(阀门指示灯/数值)——地址与主画面**同一批**,状态自动一致;
- 「关闭」功能键 → 类型 `宏指令` → `x2y2-focus-area-close`。
3. **X2Y2 主画面**:
- 铺整屏管线底图;
- 放一个 **间接窗口**元件:读取地址 `LW-50`、位置 = **154,81**、尺寸 = **1763×929**、透明度 0%、**「重叠」= 独立窗口**;
- 放 **3 个透明功能键**(图片 `pic/transparent.png`、描述留空),分别盖在 3 个分区上(**互不重叠**、右键「移到最前」)→ 动作 = 触发宏指令 → `x2y2-focus-area1`~`area3`。
4. **X2Y2 窗口属性** → 宏指令 → **「打开窗口时」执行 `x2y2-focus-area-close`**(进页默认无弹窗)。
5. **原屏状态照常**:主画面的指示灯/数值不用改,与弹窗读同一地址 → 两边同步。
6. **测试**:点分区① → 弹出 30;看阀门状态;点「关闭」→ 收起;再点② → 弹出 31;主画面状态始终可见。
> 触发元件要点:透明键只负责"点",显示交给**间接窗口 `LW-50`**;`x2y2-focus-area-close` 写 `LW-50=0` 即收起。
#### 7.7.3.2 各聚焦弹窗内容(30~32)
| 窗口 | 分区 | 标题文字 | 主体图 | 状态元件 |
| --- | --- | --- | --- | --- |
| 30 | ① 红 | 区域1 · 物料输送管道系统 | 该区放大管线图(素材后补) | 阀门/泵指示灯 + 数值 |
| 31 | ② 蓝 | 区域2 · 浸膏输送和称量系统 | 同上 | 同上 |
| 32 | ③ 黑 | 区域3 · 混合机 + 软材缓存料斗 | 同上 | 同上 |
**每个弹窗统一布局**
1. **不透明底**:矩形填白(或铺一张不透明底图)→ 完全遮住主画面,降低视觉负担。
2. **标题**:左上角文字(区域号 + 名称)。
3. **主体**:该区**放大管线图**(你后续提供的聚焦素材,直接替换图片即可)。
4. **状态元件**:阀门指示灯(`位状态指示灯`)、泵/电机指示灯、必要数值——**地址与主画面同一批**,两边状态自动同步。
5. **「关闭」功能键**(右下):类型 `宏指令` → `x2y2-focus-area-close`(写 `LW-50=0` 收起)。
**共性约定**
- 弹窗**不复制数据、不加新宏**(只用 `x2y2-focus-area1~4` / `x2y2-focus-area-close`);放大图到位后替换图片,元件与布局不动。
- 弹窗尺寸 = **1763×929**(30/31/32 三窗统一);间接窗口 `LW-50` 的位置/尺寸与之匹配:**位置 154,81、尺寸 1763×929**。
- 分区框与编号(①②③④、红/蓝/黑/绿)由**素材**体现,不在 EB Pro 里画。
### 7.8 弹窗规范(统一用直接窗口)
- 所有弹窗(11/12/13/14/15)都用 **直接窗口**元件,放在 **100 号公共窗口**,由触发位置位弹出。
- **关键**:直接窗口元件属性里的 **「重叠」必须选「独立窗口」**(cMT/cMT X),否则子窗口画在公共窗口那一层,会被主画面元素盖住;选「独立窗口」后显示在当前画面之上。
- 弹窗内容做在各自窗口里;关闭用宏清位(如 `close-msg` 清 `LB-110`)。
| 弹窗 | 触发位 | 窗口号 |
| --- | --- | --- |
| 无权限提示 | `LB-110` | 11 |
| 修改时间 | `LB-120` | 12 |
| 关于 | `LB-123` | 13 |
| 用户管理 | `LB-122` | 14 |
| 删除确认 | `LB-121` | 15 |
| 无内容提示 | `LB-124` | 16 |
| 管理员登录 | `LB-125` | 17 |
### 7.9 阀门按钮(双电控二位五通)
> 已单独整理:见同目录 `双电控电磁阀按钮设计.md`(阀特性约束、3 种方案选型、EB Pro 逐步做法、PLC 侧脉宽/互锁/超时、布局坐标、测试用例)。
要点速查:
| 项 | 做法 |
| --- | --- |
| 按钮类型 | **复归型(点动)**,按下 ON、松手 OFF;**绝不用切换型** |
| 地址 | 开 `LB-400` / 关 `LB-401`(命令);`LB-402/403`(阀位记忆,供灯);`LB-404` 故障;`LB-405` 允许操作 |
| 互锁 | HMI「安全」页互锁(各 2 条件)+ **PLC 最后一级 `Q_A := A AND NOT Q_B`**(电容屏可多点同按,HMI 互锁挡不住) |
| 脉宽 | PLC `TP` 0.2~0.5 s;两侧之间 `TOF` 死区 150 ms |
| 状态灯 | 读**阀位记忆位**,不读 DO(DO 只有 0.3 s 脉冲) |
| 超时 | 线圈连续 ON > 3 s → 强制断开 + 报警 |
| 急停 | 双电控断电**保持**阀位,屏只能提示"需手动复位",复位靠硬件 |
## 8. 素材清单(`pic/`)
| 素材 | 说明 |
| --- | --- |
| `common-bg.png` / `bottom-y.png` | 早期背景与按钮底板 |
| `white-bg.png` | 1920×1080 纯白底 |
| `transparent.png` | 240×48 全透明(透明功能键底图) |
| `start-bg.png` / `start-equip.png` | 启动屏厂区航拍 / 设备渲染 |
| `pid-illustration.png` / `btn-back.png` / `btn-next.png` / `pid-logo.png` | 点检页素材(取自 XD `B_PID`) |
| `lwaddr.csv` | 系统地址大全 |
## 9. 多线共屏:完整方法与流程
### 9.1 分工与连接
| 屏幕 | 角色 `RW-60` | 连哪两台 PLC | 能看到 |
| --- | --- | --- | --- |
| 上料屏 | 1 | 上料(**设备5**)+ 制丸 A 或 B(**设备4**,可切) | 上料段 + 当前选的制丸线 |
| 制丸A屏 | 2 | 上料(**设备5**)+ 制丸A(**设备4**) | 上料段 + A 线 |
| 制丸B屏 | 3 | 上料(**设备5**)+ 制丸B(**设备4**) | 上料段 + B 线 |
- 用户组:C → X1/X2(绑**设备5** 上料);D → X3/X4(绑**设备4** 制丸);`admin` 全开;
- 制丸A/B 互不可见:各屏只连自己那条线 + 上料;唯一例外是上料屏(D 登录可切 A/B)。
### 9.2 EB Pro 一次性改造
1. **设备列表**(10-27 实测):`设备4 = 制丸1(192.168.189.22)`、`设备5 = 上料清洗(192.168.189.2)`;X1/X2 与 C 组数据绑**设备5**,X3/X4 与 D 组数据绑**设备4**。
2. **13 号窗设置区**(`RW` 全部掉电保持):
- 本机角色 `RW-60`(1 上料 / 2 制丸A / 3 制丸B)、线别 `RW-61`(1=A / 2=B);
- HMI IP/掩码/网关 `RW-20~31`(备屏/换屏用;HMI 固定 IP 必填);
- 上料 IP `RW-40~43`、制丸A IP `RW-44~47`、制丸B IP `RW-48~51`;
- 「应用」= `net-apply`(勾「当 HMI 启动时即执行一次」);进窗自动执行 `net-read`。
3. **宏**:见同目录 `宏指令.md`(`main-init` 写 `LW-70~73` 位图、`btn-x/y`、登录内联版、`logout`、`user-open`/`usr-*`、`about-*`、时间三支、`close-msg`/`close-nopage`、`admin-*`、`net-read`/`net-apply`/`line-ab-switch`)。
4. **弹窗**:11/12/13/14/15/16/17 的直接窗口都放 100 号公共窗,属性「重叠」= 独立窗口。
5. **切换按钮暂放 13 号窗设置区**:「A/B 切换」功能键 → `line-ab-switch`(仅 role=1 生效)+ 当前线别显示(读 `RW-61`);后续再移到制丸页给 D 用(通讯灯 `LB-10400` 一并加)。
### 9.3 装机流程(每台屏,刷同一工程)
| 步骤 | 上料屏 | 制丸A屏 | 制丸B屏 |
| --- | --- | --- | --- |
| 1 | 设 HMI 网络 IP(屏系统设置或 13 号窗) | 同 | 同 |
| 2 | 13 号窗角色 = 1 | = 2 | = 3 |
| 3 | 填 上料 IP + 制丸A IP + 制丸B IP | 填 上料 IP + 制丸A IP | 填 上料 IP + 制丸B IP |
| 4 | 线别选 A(或 B) | 自动锁 A | 自动锁 B |
| 5 | 点「应用」 | 同 | 同 |
| 6 | 查 `LB-10100`(上料)、`LB-10400`(制丸)都 ON | 同 | 同 |
### 9.4 现场运行
- 上料屏切制丸线:暂在 13 号窗点「A/B 切换」→ 等 `LB-10400` ON 再操作(默认 A、重启回 A);能开 13 号窗的是工程师 A / admin,后续移到制丸页后 D 组可用;
- 制丸A/B 屏天然只看本线;admin 在制丸屏也切不动(`line-ab-switch` 角色校验);
- C 组只看上料段;工程师 A 看「关于/设置」;管理员 B 用「用户管理/改时间」。
### 9.5 换件流程
| 场景 | 操作 |
| --- | --- |
| HMI 屏坏 | 备件刷同工程 → 13 号窗设角色/线别/各组 IP → 应用 |
| PLC 坏、IP 变 | 在对应屏 13 号窗改该线 IP(上料屏改 A 或 B 组)→ 应用 |
| 整线换 PLC(IP 不变) | 不用动 |
| 屏挪到另一条线(A↔B 换屏) | 13 号窗把角色 `RW-60` 改 2↔3,核对本线 IP;**HMI 是固定 IP:一并把 HMI IP 改成新位置规划的 IP**(系统设置或 13 号窗 `RW-20~31`)→ 应用 |
### 9.6 注意
- PLC 在线改 IP 只支持本机以太网设备 4 及以后(1~3 是 COM);
- 切换 A/B 后要等 `LB-10400`=ON 再操作(防旧数据);
- A/B 屏不要给对方的线留 IP/加设备槽;要"上料屏同时看 A+B"才加设备6(另案);
- 系统弹窗可用 `LB-11963`/`LB-11964` 禁掉。
## 10. 常见问题(FAQ)
### 10.1 位按钮/指示灯整片不显示(在线模拟 / 离线模拟 / 真屏 都可能)
**现象(10-27 现场实测)**:同一画面(如 201 上料-输送2),编辑区元件齐全;**在线模拟、离线模拟、现场真屏三处都只剩文字与图片**,`位状态设置`/`位状态切换开关`/指示灯成片消失,且不报错。同工程其它页(X1Y1 初始状态、X1Y2 风淋投料等)的开关却正常。
> 早期版本本节写成「离线模拟正常、只有在线模拟缺」,**已被实测推翻**:三处表现一致,所以不能用「在线模拟要连真 PLC」单独解释。
**为什么"编辑区有、运行时不画"**:EB Pro 对**地址取不到数据**的元件,运行时是**整片不绘制**(不是画成 0、也不是灰显)。因此"编辑区有、模拟和真屏都没有"= 这批元件的**地址链路没通**,或者**元件属性被设成了不显示**。
**三类原因(先分叉,禁止直接改画面)**
| 类别 | 具体原因 | 主要特征 |
| --- | --- | --- |
| **A1 设备/网络** | 设备没配、IP/端口错、PLC 断线、PUT/GET 未开 | 绑这台设备的**所有页面**都不显示;`LB-10100`/`LB-10400` 通讯位 = 0 |
| **A2 地址/符号** | **元件地址为空或填错**;绑的设备不是实际那台;块名/变量名与 PLC 不一致(符号寻址下改过名、DB 没下载) | 同一页里绑 `LB`/`LW` 的元件正常,绑 PLC 符号的整族消失;**其它页用别的 DB 却正常** |
| **B 元件属性** | 「安全」勾了启用 + 无权限时隐藏;可见度/显示控制绑了位;透明度/图层;元件类型当前韧体不支持 | 地址换成本机 `LB` 后**仍然不显示** |
> **两个案例(10-27)**
> - **A2 实例(201 上料-输送2)**:设备绑的是对的(`上料清洗` = 设备5),但 21 个开关的**标签没填/填错**,运行时不画;**把地址填进去立刻恢复**。这不是网线问题、也不是通讯问题——重连设备/重启 PLC 都不会好。
> - 这类元件常是**整页复制**来的:EB 复制不会自动换标签,很容易整批为空或残留旧名,复制完必须逐个核对「标签」。
**一步判定(关键,先做这个)**
把出问题页面里**任意一个**开关的地址临时改成本机地址(如 `LB-400`)→ 保存 → 编译 → 在线/离线模拟:
- **能显示** → 走 A,再分 A1/A2:先看通讯位,再逐个核对「设备 + 标签」;
- **还不显示** → 走 B,逐个对比该元件与正常页面同款元件的「安全 / 可见度 / 透明度 / 图层」属性。
**本项目的高危叠加因素**
1. `net-apply` 勾了「HMI 启动时执行一次」,在线模拟启动同样执行;旧版宏无条件把 `RW-40~51` 写进 `LW-9600`/`LW-9605` 并主动重连。PC 模拟器里 `RW` 多为空值(0)→ 设备 IP 被刷成 `0.0.0.0` → 必然连不上。
2. `LB-11963`/`LB-11964` 禁掉了 "Device No Response" 系统弹窗 → 连不上时**无任何提示**,只表现为空白。
**已修订(10-27)**:`net-apply` 对设备 4/5 的 PLC IP 加首段判断,`v[0]==0` 时跳过写入与重连(见 `宏指令.md`)。
**A 分支排查顺序**
| # | 动作 | 判据 |
| --- | --- | --- |
| 1 | **先看元件属性「标签」是否为空 / 与 PLC 一致**(10-27 实证:201 就是这里) | 空标签或名字对不上 → A2,填上就好 |
| 2 | 看「设备」是不是实际在跑的那台(`设备5`=上料清洗 / `设备4`=制丸1) | 绑错 → 改绑 |
| 3 | 显示 `LW-9403`/`LW-9404`(错误码)、`LB-10100`/`LB-10400`(通讯位) | 有错误码或通讯位=0 → A1,查网络 |
| 4 | 13 号窗看 `RW-40~51`,填对 IP 后点「应用」 | 空值/错值 → A1 |
| 5 | PC `ping` 两台 PLC(`192.168.189.2` / `.22`) | 不通 → 网络/配置问题 |
**S7-1500 三查**
1. CPU 属性 → 防护与安全 → 连接机制 → 勾选 **「允许来自远程伙伴的 PUT/GET 通信访问」**;
2. 本工程是 **S7CommPlus + 符号寻址**,所以**不需要**取消「优化的块访问」;要查的是**符号名(DB 名 / 变量名)与 PLC 里是否一致**、以及**元件绑对了设备没有**;
3. PC 与 PLC 同网段,Windows 防火墙放行 EasyBuilder。
> **红色地址注释不是"地址写错"的证据**:编辑区里元件上压着的那行红色小字(物件名 + 完整地址 + 删除线)是 EB Pro 的地址注释。本次 201 这批元件的地址能正常编译、下载(校验和正常),所以不要只凭红字判断地址无效——按上面的 LB 替换法分叉判断。
>
> 现场真屏断通讯时这些元件同样不显示,属正常行为——先查通讯,不要改画面。但**必须补一条显式提示**(见下),否则操作员看到整片空白会误以为程序坏了或按钮丢了。
**已确认(10-27,EB 设备列表)**:`设备4 = 制丸1(192.168.189.22)`、`设备5 = 上料清洗(192.168.189.2)`,两台都是 **S7CommPlus + Symbolic Addressing(符号寻址)**。
所以 `net-apply` 里「上料 IP → `LW-9605`/`LB-10071`(设备5)、制丸 IP → `LW-9600`/`LB-10070`(设备4)」**是对的**;写反的只是**脚本注释**(详见 `宏指令.md` 的 `net-apply` 段,只改注释、别改数字)。
**对 201 的意义(重点)**:既然用符号寻址,元件绑的是「DB 名.变量名」而不是绝对地址。
- **201 =「上料-输送2」,其元件必须绑 `设备5`(上料清洗)**;若误绑成 `设备4`(制丸1),就会去制丸 PLC 上找上料的符号 → **找不到 → 该元件整片不画**,而其它上料页正常 —— 与现象完全吻合;
- 同理,**块名 / 变量名与 PLC 不一致**(改名、加前缀、DB 号变化)也会得到同样结果;
- 所以「符号名 + 设备绑定」这两项,比查网络更值得先看。
**通讯中断时的界面提示(待做)**
当前 `LB-11963`/`LB-11964` 把系统 "Device No Response" 弹窗关掉了,通讯一断就是"静默空白"。建议在 100 号公共窗加常驻状态:读 `LB-10100`/`LB-10400`(或 `LW-9403`/`LW-9404`),断线时在页面顶部显示红条「PLC 通讯中断,按钮不可用」,或把右上角网络图标改为红/灰。
## 11. 变更记录(里程碑)
| 日期 | 内容 |
| --- | --- |
| 09-23 | 解包分析现有工程;确定机型/分辨率/运行时与 XD 设计源 |
| 09-23 | 建立窗口骨架与命名规则(X1~X4 × Y1~Y7 → 101~128) |
| 09-23 | 导航机制落地:宏算 `LW-2` + PLC 控制元件切换基本窗口 |
| 09-23 | 完成登录页、权限控制(`LW-9222`)、按钮宏与无权限弹窗 |
| 09-24 | 完成用户管理(索引命令)、点检页、关于页、修改时间、PLC 联机状态、登录提示框 |
| 09-24 | 文档精简;准备开始 28 个主画面的设计 |
| 09-25 | 按钮宏全部改为逐行注释版(`btn-x1~x4`/`btn-y1~y7`,其余宏同步补注释);新增「该页面无内容」提示:`LB-124`→16 号窗 + `close-nopage`;`LW-70`~`73` 页面存在位图由 `main-init` 初始化 |
| 09-25 | X 段更名:X2 上料清洗、X3 制丸、X4 制丸清洗(X1 配料/上料不变);权限调整:X2=A/B/C、X4=A/B/D(X1=A/B/C、X3=A/B/D,Y1~Y7 不变) |
| 09-25 | 登录提示加速:`btn-login-index` 的 `DELAY(2000)` 改为「清旧结果 + 0.3s 读 + 0.3s 补读一次」,并在点登录时先清 `LW-261` 旧提示 |
| 09-25 | Y6/Y7 开放给 C、D 用户组:权限改为 A/B/C/D(Y4/Y5 仍仅 A/B,Y1~Y3 不变) |
| 09-25 | 新增「权限分配总表」(4.1):按用户组列出全部已开发功能的权限 |
| 09-25 | 权限表改为三级:● 拥有权限 / ○ 仅可见 / × 不可见,并补充 EB Pro 对应设置方法(操作类别、无权限时隐藏) |
| 09-25 | 修正登录/点检入口:制丸 D 登录后落到 X3Y1(段名调整后遗漏,原为 X2Y1) |
| 09-25 | 文档整理:删除未使用内容(`insp-next`、`LW-260`、cxob 资产条目);合并重复的 7.7 标题;修正 7.3/7.4 失效引用 |
| 09-25 | 登录页加用户名输入框 `LW-104`:填名称(admin)按名称登入,留空按下拉索引登入;`logout` 回登录页时清空用户名/密码框 |
| 09-25 | admin 登录改为隐藏入口:登录页 logo 长按 3 秒 → 弹 17 号窗名称登入(`LB-125` + `admin-open`/`admin-login`/`admin-close`);撤销可见用户名框,`btn-login-index` 恢复纯索引登入 |
| 09-25 | 新增 5.8 通用程序 IP 在线设置:HMI IP/掩码/网关(`LW-9129` 等 + `LB-12094`)、PLC IP(设备 4+:`LW-9600` 等 + `LB-1007x`)及现场设置页做法 |
| 09-25 | 网络设置落在 13 号窗(关于页):`RW-20~35` 暂存,新增 `net-read`/`net-apply` 宏,7.5/5.8 同步 |
| 09-25 | 窗口名按实际工程同步(10 登陆和入口、11 弹出、13 系统IP和关于、15 用户删除确认、16 空页面弹窗、17 超管登陆、20 点检check) |
| 09-25 | 宏清单与工程实际对齐:`user-open`、`usr-delete*`、`about-*`;新增宏编号警告(`msg-login`=ID 031 被 `btn-login-index` 写死) |
| 09-25 | 去掉高危数字宏号:`msg-login` 改由触发位 `LB-126` 驱动(执行条件 ON、结束自清);`btn-login-index`/`admin-login` 只置 `LB-126`;`net-apply` 用「HMI 启动时执行一次」 |
| 09-25 | 点检页只保留画面(可退出、暂不设计功能):删除 `insp-init` 宏及相关描述 |
| 09-25 | 确认保留 `logout`、废弃 `log-out`;`net-read`/`net-apply` 同步新 RW 规划(RW-40~51、RW-60 角色、RW-61 线别)并新增 `line-ab-switch` |
| 09-25 | 5.8 补充切换互锁:设备通讯状态 `LB-10100`/`LB-10400`、错误码 `LW-9403`/`9404`、禁止系统弹窗 `LB-11963`/`11964` |
| 09-25 | 登录提示改为内联(零延迟):映射写进 `btn-login-index`/`admin-login`,删除 `msg-login` 与 `LB-126` |
| 09-25 | 多线共屏防串线:`line-ab-switch` 增加角色校验,仅上料屏(`RW-60`=1)可切 A/B;制丸A/B 屏线别由角色锁定 |
| 09-25 | 新增 5.9 拓扑图(3 PLC × 3 HMI × 2 设备槽的逻辑连接) |
| 09-25 | 新增第 9 章「多线共屏完整方法与流程」:分工/一次性改造/装机/运行/换件/注意;变更记录顺延为第 10 章 |
| 09-25 | 上料屏制丸线默认 A:`main-init` 开机写 `RW-61`=1,`net-apply` 线别=0 按 A;只有人工切换才到 B |
| 09-25 | 去掉多余的「读取当前」按钮:13 号窗打开时已自动执行 `net-read` |
| 09-25 | A/B 切换按钮暂放 13 号窗设置区(仅 role=1 生效);后续再移到制丸页给 D 用 |
| 09-25 | 制丸屏装机只改角色:A屏 role=2(锁A)、B屏 role=3(锁B);角色=0 时 `net-apply` 不连制丸设备,防装错位置误连 |
| 09-25 | 9.5 换件流程补充「A↔B 换屏」:13 号窗改角色 2↔3 + 核对本线 IP |
| 09-25 | 明确 HMI 固定 IP:换屏必须一起改 HMI IP;13 号窗 HMI IP/掩码/网关(RW-20~31)建议做上 |
| 09-25 | 文档拆分:权限分配表 / 宏指令 / 地址表 独立到 `设计文档/`,主文档改为索引 |
| 09-25 | `界面开发记录.md` 更名 `开发主文件.md` 并移入 `设计文档/`,各文件引用同步 |
| 09-25 | 缺页位图按实际设置:`LW-70=127`、`LW-71=18`、`LW-72=95`、`LW-73=18`(禁用 X2Y1/X2Y3/X2Y4/X2Y6/X2Y7、X3Y6、X4Y1/X4Y3/X4Y4/X4Y6/X4Y7,导航到缺页弹 16 号窗) |
| 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`) |
| 10-27 | 新增 7.9 阀门按钮(双电控二位五通):独立文档 `双电控电磁阀按钮设计.md`;按钮定复归型、脉宽/互锁/超时归 PLC、状态灯读阀位记忆位 |
| 10-27 | 新增 5.10 阀门地址段(每阀 8 位,`LB-400` 起) |
| 10-27 | 新增 10.1 在线模拟不显示排查(设备未通讯→绑 PLC 地址的元件整片不画);`net-apply` 加 IP 首段为 0 不覆盖、不重连的保护 |
| 10-27 | **10.1 修正**:现场实测在线模拟、离线模拟、真屏**三处都不显示**,原「离线模拟正常」不成立;改为「A 地址/通讯 vs B 元件属性」两分支 + LB 替换一步判定法;明确红色地址注释不能当作地址错误的判据;新增「通讯中断界面提示」待办 |
| 10-27 | `.gitignore` 改为通配:`unitouch*.cxob` / `unitouch*.debug` / `unitouch*.cmtp.bak*` |
| 10-27 | **窗口表按工程实际重建**(3.1/3.2):系统窗实为 3~9;`30~32` = x2y2-focus-area1~3,确认 `LW-50`=`30/31/32`(旧记 141~144 作废);新增 **130~282 约 90 个窗口**(清洗参数/制丸/IO/上料/清洗/各类弹窗);**201=上料-输送2** |
| 10-27 | 宏清单按工程实际核对(见 `宏指令.md` 6.0):50 条、缺 ID 031;区域宏实名 `x2y2-focus-area*`;48 号 `屏蔽通讯异常提示` 是**周期执行**并屏蔽 `LB-11960~11967` 八台设备;新增 7 条未入档宏 |
| 10-27 | **设备 4/5 定性**:EB 设备列表实测 `设备4=制丸1(192.168.189.22)`、`设备5=上料清洗(192.168.189.2)`,均为 S7CommPlus 符号寻址;`net-apply` 代码正确、仅注释写反(见 `宏指令.md`);10.1 增补「符号名 + 设备绑定」判据,删掉不适用的「取消优化块访问」 |
| 10-27 | **10.1 结案(201 上料-输送2)**:设备绑对(上料清洗=设备5),问题是**元件「标签」没填/填错**——填上地址立即恢复。结论:属「地址/符号」而非通讯;10.1 拆成 A1 网络 / A2 地址符号 / B 属性 三类,「先看标签」列为排查第 1 步 |