文档:双电控阀按钮设计 + 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
+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 线切换按钮