Network 1 — 灯的自锁

条件 → 动作:按下 Switch PB → Light 置位并自锁;Tag_1=1 时复位。
逻辑:Light = (Switch PB OR Light) AND NOT Tag_1
单按钮翻转灯:按一下开、松开后再按一下关。
通过 TiaLink 把本示例的 2 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
一个按钮控制一盏灯:按一下灯亮,松开后再按一下灯灭。这是单按钮翻转(Toggle)的又一种实现。
程序用三个网络:灯的启动自锁、松开检测、关闭标志。点表里还有未使用的 Tag_3/Tag_4,与本逻辑无关。
| 信号 | 类型 | 含义 | 作用 |
|---|---|---|---|
Switch PB |
I | 单按钮 | 每次按下翻转灯状态 |
Light |
Q | 灯输出 | 翻转目标 |
Tag_1 |
M | 关闭标志 | 复位灯的自锁 |
Tag_2 |
M | 已松开标志 | 等待下一次按下 |
Switch PB → Light 置位并自锁,灯亮;Tag_2 置位;Tag_1 置位;Tag_1 的常闭触点断开灯的自锁,Light=0;Tag_1 保持,灯保持熄灭。
条件 → 动作:按下 Switch PB → Light 置位并自锁;Tag_1=1 时复位。
逻辑:Light = (Switch PB OR Light) AND NOT Tag_1

条件 → 动作:Light=1 且按钮松开 → Tag_2 置位并保持。
为什么:确认"手已经离开按钮",下一次按下才被当作关闭动作。
逻辑:Tag_2 = (Light AND NOT Switch PB OR Tag_2)

条件 → 动作:Tag_2=1 且再次按下 → Tag_1 置位并保持。
为什么:Tag_1 复位灯的自锁,同时保持"已关闭"状态。
逻辑:Tag_1 = (Tag_2 AND Switch PB OR Tag_1)
Tag_2 置位。Tag_1 是否置位、Tag_2 是否建立。Tag_1 没有复位;需要加复位或在关闭后自动清零 Tag_1/Tag_2。Tag_1/Tag_2,恢复可再次翻转。PBox/R_TRIG 检测按下沿,配合状态位翻转,减少对按住时长的依赖。| 名称 | 数据类型 | 地址 | 注释 |
|---|---|---|---|
| Switch PB | Bool | %I0.0 | |
| Light | Bool | %Q0.0 | |
| Tag_1 | Bool | %M0.0 | |
| Tag_2 | Bool | %M0.1 | |
| Tag_3 | Bool | %M0.2 | |
| Tag_4 | Bool | %M0.3 |