文档:双电控阀按钮设计 + net-apply IP 保护 + 在线模拟排查

- 新增 7.9 阀门按钮(双电控二位五通)与 5.10 地址段,独立文档 双电控电磁阀按钮设计.md
- net-apply: RW-40~51 首段为 0 时跳过写设备 IP 与重连,防被刷成 0.0.0.0
- 新增 10.1 在线模拟元件不显示排查:设备未通讯时绑 PLC 地址的元件整片不画
- .gitignore 通配 unitouch*.cxob / *.debug / *.cmtp.bak*
This commit is contained in:
2026-10-27 10:26:58 +08:00
parent 034b88bb4c
commit ebd6f1d585
5 changed files with 305 additions and 9 deletions
@@ -0,0 +1,214 @@
# 双电控二位五通电磁阀 · HMI 按钮设计
> 适用:CMT2167X / EasyBuilder Pro 6.10;对象为**双线圈(双电控)二位五通**电磁阀。
> 前提:PLC 侧已分配 **2 个 DO**(A 线圈 = 开/工作,B 线圈 = 关/复位)。
>
> **一句话结论**:两个按钮都做成**复归型(点动)**,HMI 只发"命令脉冲";**脉宽、互锁、死区、超时全部放 PLC**;状态灯读**阀位记忆位**,绝不读 DO。
---
## 1. 先弄清这只阀的四个硬约束
| 特性 | 物理含义 | 对 HMI 的硬性要求 |
| --- | --- | --- |
| **双电控 = 记忆元件** | 线圈瞬时励磁即换向,断电后阀芯**保持**位置(无弹簧复位) | 按钮**必须点动**,不能自锁;状态不能用 DO 表示 |
| **线圈是脉冲工况** | 一般 0.1 s 级即可可靠换向;长期带电温升大、易烧 | 单次励磁 **0.2~0.5 s**,任何情况下不得长期 ON |
| **两线圈互斥** | 同时得电 → 阀芯卡死 / 两线圈短路 / 烧保险 / 烧 DO | 硬件 + PLC + HMI **三重互锁**,缺一不可 |
| **无中间位** | 只有"开/关"两个稳定态(不同于三位五通的中封/中泄) | 界面只允许两个状态,不要做"半开" |
> 顺带确认:若现场实际是**单电控(弹簧复位)**二位五通,则只有一个 DO,设计完全相反(保持型输出、断电气缸自动复位),不要套用本文。
---
## 2. 六个常见错法(会直接烧东西)
| 错法 | 后果 |
| --- | --- |
| 用「切换型/自锁」按钮直接写 DO | 按一下线圈长期带电 → 发热烧线圈;两个都自锁 → 双线圈同时得电 |
| 两个都点动,但**没有互锁** | 多点触控、两人同时按、屏幕粘滞 → 双线圈同时 ON |
| 指示灯取 DO 地址 | 脉冲只有 0.3 s,灯闪一下就灭,看不到阀位 |
| 把 DO=0 当成"阀已关" | 阀是记忆元件,脉冲过后 DO 必为 0,但阀可能仍是开 |
| HMI 做脉冲、PLC 不做边沿/脉宽 | HMI 卡死、通讯中断时 DO 状态不确定;重启后可能残留 ON |
| 急停指望"断阀电就复位" | 双电控断电保持,气缸不动;需另行设计泄压/复位 |
---
## 3. 三种按钮方案(先选型,再画)
| 方案 | 元件 | 适用 | 优点 | 缺点 |
| --- | --- | --- | --- | --- |
| **A 双点动按钮**(推荐) | 2 个 `位状态设置`(复归型)+ 2 个状态灯 | 已有 2 个 DO、要求分别点动;操作台式界面 | 最直观、和现有 DO 一一对应、易排故 | 占地方;必须靠互锁兜底 |
| B 单键翻转 | 1 个 `功能键` + 宏/PLC 取反 | 管路图上的小阀、密集布置 | 省空间 | 操作员要看清状态才敢按;误按即反向动作 |
| C 二位旋钮/选择开关 | 1 个 `多状态开关`(2 位:开/关) | 主管路阀、工艺关键阀 | 语义最清晰,天然不会"两个都按" | 占元件;自动模式下不好用 |
**本工程建议**:主管路/关键阀用 **C**,普通阀用 **A**;B 只用于画面极其拥挤的示意阀。以下按 **A 方案** 展开(C 方案仅把 2 个按钮换成 1 个多状态开关,PLC 侧逻辑相同)。
---
## 4. A 方案:EB Pro 元件做法
### 4.1 地址(建议值,落地前对一遍 `地址表.md` 并与 PLC 工程师确认)
| 信号 | 建议地址 | 方向 | 说明 |
| --- | --- | --- | --- |
| 开阀命令 | `LB-400` | HMI → PLC | **复归型**,按下 ON、松开 OFF |
| 关阀命令 | `LB-401` | HMI → PLC | **复归型** |
| 阀位 = 开 | `LB-402` | PLC → HMI | PLC 记忆位,供状态灯 |
| 阀位 = 关 | `LB-403` | PLC → HMI | PLC 记忆位 |
| 阀故障 | `LB-404` | PLC → HMI | 双线圈/超时/通讯异常 |
| 允许操作 | `LB-405` | PLC → HMI | 手动模式、无报警、通讯正常 |
> 每只阀占 8 位:阀 1 = `LB-400~407`,阀 2 = `LB-408~415`,依次类推。
> **不要直接写 PLC 的 `Q` 区**:HMI 写 `M`/`DB` 命令位,由 PLC 逻辑驱动 `Q`,否则手动/自动/安全逻辑会互相打架。
### 4.2 开阀按钮
1. `元件 → 按钮/开关 → 位状态设置`,放在 (860, 420),尺寸 `160×64`。
2. 「一般」页:**写入地址** = `LB-400`,**状态** = `ON`,**勾选「复归型」**。
- 效果:按住 = ON,松手 = 自动回 OFF → 这就是"点动手柄"。
- 不要勾「切换」;若用 `位状态切换开关`,把**输出类型**选 **「复归」**。
3. 「图形」页:未按下/按下各一张图(可用 `pic/machine/valve.png` 调色),文字 `开阀`;配色 **开 = 绿**。
4. 「安全」页:见 4.4 / 4.5。
> **可选**:若 PLC 侧实在不改(不做脉宽整形),改用 `位状态切换开关` 的**「触发」**类型,触发时间 `0.3 s`,由 HMI 自己产生脉宽。但这属于"把安全逻辑放在屏里",仅在无法改 PLC 时使用,且必须保留 PLC 侧互锁。
### 4.3 关阀按钮
同 4.2,写入地址 `LB-401`,位置 (1060, 420),文字 `关阀`,配色 **关 = 灰/红**。
### 4.4 互锁(HMI 侧,只防误触,不是安全措施)
`属性 →「安全」→ 勾「互锁」`:
| 元件 | 互锁条件 1 | 互锁条件 2 |
| --- | --- | --- |
| 开阀按钮 | `LB-401`(关阀命令)= ON | `LB-405`(允许操作)= OFF |
| 关阀按钮 | `LB-400`(开阀命令)= ON | `LB-405`(允许操作)= OFF |
条件成立时按钮**不可操作**(灰显/无反应)。互锁最多 2 个条件,正好够用。
> ⚠️ HMI 互锁挡不住**电容屏多点触控**:两根手指能同时按两个按钮。所以 **PLC 侧最后一道互锁(`Q_A := A AND NOT Q_B`)不可省**。
### 4.5 权限
按 `权限分配表.md`:`安全 → 操作类别` 只勾 A(工程师)/ B(管理员)/ D(制丸),无权限时**隐藏**或点了弹 11 号窗。
自动运行中禁止手动点动的,把 `LB-405`(允许操作)串进互锁条件 2,由 PLC 按"手动/自动"模式给。
### 4.6 状态显示(关键:不要读 DO)
1. `元件 → 指示灯 → 位状态指示灯`,读 `LB-402` / `LB-403`,尺寸 `24×24`,放在两个按钮正上方。
2. 管路图上的阀符号用 **图片切换**(`位状态切换开关` 只做显示、不写地址)或 **多状态指示灯**:
- 状态 0(`LB-403`=1)→ `pic/machine/分料阀.png` / `阀门开启.png` 的"关"位图;
- 状态 1(`LB-402`=1)→ "开"位图。
3. 需要"动作中"效果时,用 `LB-405` 或 PLC 的 `脉冲中` 位做闪烁,**不要**用 DO 地址。
### 4.7 状态与颜色约定
| 状态 | 显示 | 颜色 |
| --- | --- | --- |
| 开到位 | 实心圆 + 文字"开" | 绿 `#00A000` |
| 关到位 | 空心/实心 + 文字"关" | 灰 `#808080`(或红,按现场习惯) |
| 动作中(脉冲期) | 黄闪 + "动作中" | 黄 `#FFC000` |
| 故障 | 红闪 + 报警条 | 红 `#FF0000` |
| 无权限 / 不允许操作 | 灰 + 锁图标 | 灰 `#C0C0C0` |
| 通讯断 | 灰 + "—" | 灰 |
### 4.8 布局坐标(1920×1080,内容区 x110~1900 / y90~1000)
| 元件 | 位置(x,y) | 尺寸 |
| --- | --- | --- |
| 开阀按钮 | 860, 420 | 160×64 |
| 关阀按钮 | 1060, 420 | 160×64 |
| 阀符号 | 960, 400 | 80×80(放在两按钮中间上方) |
| 开/关状态灯 | 900, 380 / 1100, 380 | 24×24 |
| 阀名标签"XV-01" | 940, 340 | — |
---
## 5. PLC 侧必须做的(S7-1500,不能省)
HMI 只负责发"命令脉冲",下面 5 件事全部在 PLC 完成:
```scl
// ===================== 阀 V1 双电控二位五通 =====================
// HMI 写入的点动命令(复归型按钮,松手即 0)
// "HMI_DB".V1_OpenCmd / "HMI_DB".V1_CloseCmd
// 1) 脉冲整形:0.3 s 定长(按阀样本最小励磁时间,一般 0.1~0.5 s)
"TP_Open" (IN := "HMI_DB".V1_OpenCmd, PT := T#300ms);
"TP_Close"(IN := "HMI_DB".V1_CloseCmd, PT := T#300ms);
// 2) 死区:一侧刚失电后 150 ms 内不许另一侧动作(TOF 关断延时)
"TOF_DeadA"(IN := "V1_CoilA", PT := T#150ms); // A 输出期间 + 结束后 150ms 内为 1
"TOF_DeadB"(IN := "V1_CoilB", PT := T#150ms);
// 3) 最终输出(最后一道硬互锁:两线圈永不同时为 1)
"V1_CoilA" := "TP_Open".Q AND NOT "TOF_DeadB".Q AND NOT "V1_Fault";
"V1_CoilB" := "TP_Close".Q AND NOT "TOF_DeadA".Q AND NOT "V1_Fault";
// 4) 阀位记忆(给 HMI 显示,掉电保持用 M 区或 DB + 保持属性)
IF "V1_CoilA" THEN "V1_OpenMem" := TRUE; "V1_CloseMem" := FALSE; END_IF;
IF "V1_CoilB" THEN "V1_OpenMem" := FALSE; "V1_CloseMem" := TRUE; END_IF;
// 5) 诊断:双线圈同时输出 / 单线圈超时
"V1_Fault" := ("V1_CoilA" AND "V1_CoilB") OR "TON_Over".Q;
"TON_Over" (IN := "V1_CoilA" OR "V1_CoilB", PT := T#3s); // 超 3 s 判定异常
// 6) 输出到实际 DO
"Q_ValveA" := "V1_CoilA";
"Q_ValveB" := "V1_CoilB";
```
**要点**
- **脉宽不要给 HMI**:屏死机、通讯中断、宏跑飞都会让脉宽失控;PLC 的 `TP` 是确定性的。
- **互锁放最后一级**:所有条件算完后,`Q_A := … AND NOT Q_B`,这是唯一能保证"两线圈不同时"的写法。
- **超时保护必须有**:任何原因导致线圈连续 ON 超过 3 s → 强制断开 + 报警(否则线圈烧毁)。
- **阀位反馈优先级**:有气缸磁性开关 → 用**真实到位**信号做 `LB-402/403`;没有 → 用命令记忆位,并在 HMI 上把文字写成"命令:开/关",不要写"到位"。
---
## 6. 三种工况怎么处理
| 工况 | 处理 |
| --- | --- |
| 手动 / 自动 | 自动运行时 `LB-405`=0 → HMI 按钮互锁屏蔽;自动流程由 PLC 直接驱动 `V1_CoilA/B` 脉冲(同一套 `TP` 逻辑) |
| 通讯中断 / HMI 断电 | 脉冲已结束 → DO 必为 0,安全;HMI 恢复后状态灯读 PLC 记忆位,自动对齐。**这就是"不该由 HMI 保持 DO"的原因** |
| 急停 / 断电 | 双电控**保持**阀位,气缸不回。HMI 必须提示"阀位保持,需手动复位";工艺要求复位时,需在气路上加泄放/中泄阀或用单电控弹簧复位阀(属硬件方案,屏解决不了) |
---
## 7. 测试用例(验收必做)
| # | 操作 | 预期 |
| --- | --- | --- |
| 1 | 点"开阀" | 仅 A 线圈 0.3 s,阀位变"开",B 无输出 |
| 2 | 连点"开阀" 10 次 | 每次单脉冲,不叠加、不延长 |
| 3 | 开状态下点"关阀" | A 先断,≥150 ms 后 B 脉冲,中间无重叠 |
| 4 | 两指同时按两个按钮 | PLC 只认一个(或都屏蔽),**绝不双线圈** |
| 5 | 点住按钮不放 5 s | 3 s 超时报警并自动断开 |
| 6 | 拔网线 / HMI 断电重启 | DO=0;恢复后状态灯与 PLC 一致 |
| 7 | 急停 | 阀位保持,HMI 提示"需手动复位" |
| 8 | 无权限账号登录 | 按钮隐藏/灰显,点击无动作(或弹 11 号窗) |
---
## 8. 落地清单
- [ ] 确认阀型号:双电控 / 线圈电压 / **最小励磁时间** / 是否带手动应急按钮
- [ ] 确认 2 个 DO 类型:晶体管(漏型/源型)还是继电器;DC 线圈加续流二极管
- [ ] 确认地址:`LB-400~405` 是否与 PLC 现有 M/DB 冲突 → 回填 `地址表.md`
- [ ] PLC 侧补齐:`TP` 脉宽、`TOF` 死区、`AND NOT` 最终互锁、超时诊断
- [ ] HMI 侧:复归型按钮 ×2、互锁条件、权限、状态灯读记忆位
- [ ] 按第 7 章 8 条逐项测试并留记录
- [ ] 更新 `开发主文件.md` 变更记录
---
## 9. 待确认(问 PLC / 工艺)
1. 阀的**最小励磁时间**是多少?决定 `TP` 的 `PT`(0.3 s 只是常用经验值)。
2. 两线圈是否**共阴极/共阳极**?DO 是源型还是漏型?决定接线与公共端。
3. 气缸有无**磁性开关**?有则做"到位"显示,无则只能显示"命令状态"。
4. 自动流程里是否也点动这两只阀?若是,`LB-405` 的"手动/自动"条件必须接上。
5. 急停后工艺是否要求阀门复位?要求则需改硬件(单电控或加泄放阀)。
+19
View File
@@ -143,6 +143,7 @@
- 制丸页放「通讯正常」指示灯 = `LB-10400`;A/B 切换后(或刚上电)**等它变 ON 再操作**,避免按到旧画面数据;
- 切换按钮(`line-ab-switch`)只负责切 IP 和重连,不等待;互锁交给指示灯/操作条件。
- `net-apply` 已加保护(10-27):`RW-40~51` **首段为 0 时不写设备 IP、不重连**,防止新屏/PC 模拟把 IP 刷成 `0.0.0.0` 导致整片元件不显示(见 `开发主文件.md` 10.1)。
- **A/B 切换按钮只在上料屏(`RW-60`=1)生效**:制丸A/B 屏线别由角色锁死,宏内已挡,admin 登录也切不动。
### 5.9 拓扑图
@@ -172,3 +173,21 @@ graph LR
- 用户组:C(上料)→ X1/X2(绑 `设备4`);D(制丸)→ X3/X4(绑 `设备5`);`admin` 全开;
- 制丸A屏只连「A 的 PLC + 上料 PLC」;制丸B屏只连「B 的 PLC + 上料 PLC」;**A/B 互不可见**;
- 上料屏 D 登录后可用「A/B 切换」按钮切换 `设备5` 指向(仅 role=1 生效);按钮暂放 13 号窗,后续再移到制丸页。
### 5.10 双电控电磁阀(建议,待 PLC 确认)
> 设计见同目录 `双电控电磁阀按钮设计.md`。每只阀占 **8 位**,阀 1 从 `LB-400` 起。
| 偏移 | 阀 1 地址 | 用途 | 方向 |
| --- | --- | --- | --- |
| +0 | `LB-400` | 开阀命令(**复归型**,点动) | HMI → PLC |
| +1 | `LB-401` | 关阀命令(**复归型**,点动) | HMI → PLC |
| +2 | `LB-402` | 阀位 = 开(记忆位,供灯) | PLC → HMI |
| +3 | `LB-403` | 阀位 = 关(记忆位,供灯) | PLC → HMI |
| +4 | `LB-404` | 阀故障(双线圈/超时) | PLC → HMI |
| +5 | `LB-405` | 允许操作(手动模式/无报警/通讯正常) | PLC → HMI |
| +6~7 | `LB-406/407` | 备用 | — |
- 阀 2 = `LB-408~415`,阀 3 = `LB-416~423`,依次类推;
- 命令位写 PLC 的 `M`/`DB`,**不直接写 `Q`**;`Q` 由 PLC 逻辑驱动;
- 与现有 `LB-110~131`、`LB-300~311`、`LB-9021` 不冲突。
+14 -4
View File
@@ -997,16 +997,24 @@ macro_command main() // 宏入口:点「
SetData(on, "Local HMI", LB, 12094, 1) // 置 LB-12094 → HMI 网络生效
end if // 结束判断
GetData(v[0], "Local HMI", RW, 40, 4) // RW → 上料 PLC IP
SetData(v[0], "Local HMI", LW, 9600, 4) // 写上料 PLC(设备4)
SetData(on, "Local HMI", LB, 10070, 1) // 重连设备4
if v[0] == 0 then // 上料 IP 没填(新屏/模拟)?
v[0] = 0 // 不写、不重连,保留工程里的设备 IP
else // 已填 → 套用
SetData(v[0], "Local HMI", LW, 9600, 4) // 写上料 PLC(设备4)
SetData(on, "Local HMI", LB, 10070, 1) // 重连设备4
end if // 结束判断(防把设备 IP 刷成 0.0.0.0)
if okp == 1 then // 需要连制丸设备?
if line == 1 then // 选 A 线
GetData(v[0], "Local HMI", RW, 44, 4) // RW → 制丸A IP
else // 选 B 线
GetData(v[0], "Local HMI", RW, 48, 4) // RW → 制丸B IP
end if // 结束判断
SetData(v[0], "Local HMI", LW, 9605, 4) // 写制丸 PLC(设备5)
SetData(on, "Local HMI", LB, 10071, 1) // 重连设备5
if v[0] == 0 then // 制丸 IP 没填?
v[0] = 0 // 不写、不重连
else // 已填 → 套用
SetData(v[0], "Local HMI", LW, 9605, 4) // 写制丸 PLC(设备5)
SetData(on, "Local HMI", LB, 10071, 1) // 重连设备5
end if // 结束判断
end if // 结束判断(角色=0:不连制丸设备,防误连)
DELAY(1000) // 等 1 秒
SetData(z, "Local HMI", LB, 12094, 1) // 清 LB-12094
@@ -1015,6 +1023,8 @@ macro_command main() // 宏入口:点「
end macro_command // 宏结束
```
> **IP 为 0 不覆盖(10-27 修订)**:`RW-40~51` 首段为 0(新屏未填、PC 模拟器空值)时跳过写入与重连。否则开机/在线模拟会把设备 IP 刷成 `0.0.0.0` 并主动重连 → 通讯必失败,绑 PLC 地址的元件整片不显示(详见 `开发主文件.md` 10.1)。
**`line-ab-switch`**(13 号窗「A/B 切换」按钮;仅本机角色=1 生效)
```
macro_command main() // 宏入口:点 A/B 线切换按钮
+55 -2
View File
@@ -278,6 +278,23 @@ XD 画板:`A_start`、`B_PID`、`C_运行1~3`、`D_点动1/2`、`E_配方1~3`
| 删除确认 | `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/`)
| 素材 | 说明 |
@@ -347,7 +364,39 @@ XD 画板:`A_start`、`B_PID`、`C_运行1~3`、`D_点动1/2`、`E_配方1~3`
- A/B 屏不要给对方的线留 IP/加设备槽;要"上料屏同时看 A+B"才加设备6(另案);
- 系统弹窗可用 `LB-11963`/`LB-11964` 禁掉。
## 10. 变更记录(里程碑)
## 10. 常见问题(FAQ)
### 10.1 在线模拟时位按钮/指示灯全都不显示,离线模拟却正常
**现象**:同一画面(如 201),离线模拟元件齐全;在线模拟只剩文字与图片,`位状态设置`/`位状态切换开关`/指示灯成片消失,且不报错。
**原因**:EB Pro 只绘制**通讯成功**的设备地址元件——设备没连上,绑 PLC 地址的元件**整片不画**(不是画成 0)。在线模拟是拿 PC 上的模拟器连**真实 PLC**;离线模拟用本地模拟数据,不依赖通讯,所以全显示。
**本项目的高危叠加因素**
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`)。
**排查顺序**
| # | 动作 | 判据 |
| --- | --- | --- |
| 1 | 显示 `LW-9403`/`LW-9404`(错误码)、`LB-10100`/`LB-10400`(通讯位) | 有错误码或通讯位=0 → 没通 |
| 2 | 把任一按钮临时改成本机地址 `LB`,再在线模拟 | 能显示 → 确认是通讯问题,不是元件属性 |
| 3 | 13 号窗看 `RW-40~51`,填对 IP 后点「应用」 | 空值/错值即根因 |
| 4 | PC `ping` 三台 PLC | 不通 → 网络/配置问题 |
**S7-1500 三查**
1. CPU 属性 → 防护与安全 → 连接机制 → 勾选 **「允许来自远程伙伴的 PUT/GET 通信访问」**;
2. 用到的 DB 取消 **「优化的块访问」**;
3. PC 与 PLC 同网段,Windows 防火墙放行 EasyBuilder。
> 现场真屏断通讯时这些元件同样不显示,属正常行为——先查通讯,不要改画面。
## 11. 变更记录(里程碑)
| 日期 | 内容 |
| --- | --- |
@@ -392,4 +441,8 @@ XD 画板:`A_start`、`B_PID`、`C_运行1~3`、`D_点动1/2`、`E_配方1~3`
| 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`) |
| 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 | `.gitignore` 改为通配:`unitouch*.cxob` / `unitouch*.debug` / `unitouch*.cmtp.bak*` |