Network 1 — 打开标志

条件 → 动作:Switch 1 或 Switch 2 按下 → Tag_1 置位并自锁。
为什么:两个开关并联,任意一个都能启动;Tag_1 保持电磁阀的打开状态。
逻辑:Tag_1 = (Switch 1 OR Switch 2 OR Tag_1)
按任一开关打开电磁阀;全部松开后再次按任一开关关闭电磁阀。
通过 TiaLink 把本示例的 2 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
按任意一个开关,电磁阀打开;把两个开关都松开后,再按任意一个开关,电磁阀关闭。
程序用三个自锁标志实现"两个开关都能开、两个开关都能关"的单按钮切换逻辑,是双按钮/多按钮控制同一设备的练习。
| 信号 | 类型 | 含义 | 作用 |
|---|---|---|---|
Switch 1 / Switch 2 |
I | 两个控制开关 | 任意一个都能开/关电磁阀 |
Solenoid |
Q | 电磁阀 | 打开/关闭 |
Tag_1 |
M | 打开标志 | 任一开关按下时置位 |
Tag_2 |
M | 已全部松开 | 等待下一次按下 |
Tag_3 |
M | 关闭标志 | 复位打开标志 |
PB |
I | 点表中的按钮 | 程序未使用 |
Switch 1 或 Switch 2 → Tag_1 置位并自锁,Solenoid=1;Tag_2 置位;Tag_3 置位;Tag_3 复位 Tag_1 → Solenoid=0;Tag_3 保持,之后按开关不再动作。
条件 → 动作:Switch 1 或 Switch 2 按下 → Tag_1 置位并自锁。
为什么:两个开关并联,任意一个都能启动;Tag_1 保持电磁阀的打开状态。
逻辑:Tag_1 = (Switch 1 OR Switch 2 OR Tag_1)

条件 → 动作:Tag_1=1 且 Tag_3=0 → Solenoid=1;Tag_1=1 且两个开关都松开 → Tag_2 置位并保持。
为什么:Tag_2 用来确认"手已经离开开关",这样下一次按下才能被识别为"关闭"动作,而不是误判为持续按住。
逻辑:
Solenoid = Tag_1 AND NOT Tag_3
Tag_2 = (Tag_1 AND NOT Switch 1 AND NOT Switch 2 OR Tag_1 AND Tag_2)

条件 → 动作:Tag_2=1 且再次按下 Switch 1 或 Switch 2 → Tag_3 置位并保持。
为什么:Tag_3 同时承担"关闭电磁阀"和"锁定下一次操作"的作用;没有它,松开开关后电磁阀可能又被打开。
逻辑:Tag_3 = (Tag_2 AND Switch 1 OR Tag_2 AND Switch 2 OR Tag_3)
Tag_2 置位)再按。Tag_3 是否置位、Tag_2 是否在松开后建立。Tag_3 没有复位条件;加复位按钮或在下次启动时清零。Tag_1/Tag_2/Tag_3,恢复初始状态。Tag_1/Tag_3 驱动开/关指示灯。| 名称 | 数据类型 | 地址 | 注释 |
|---|---|---|---|
| Switch 1 | Bool | %I0.0 | |
| Switch 2 | Bool | %I0.1 | |
| Solenoid | Bool | %Q0.0 | |
| PB | Bool | %I0.2 | |
| Tag_1 | Bool | %M0.0 | |
| Tag_2 | Bool | %M0.1 | |
| Tag_3 | Bool | %M0.2 |