Network 1 — 第 1 步:打开电磁阀

条件 → 动作:按下 Pushbutton switch → Tag_1 置位并自锁;Tag_3=1 时复位。
逻辑:Tag_1 = (Pushbutton switch OR Tag_1) AND NOT Tag_3
电磁阀、指示灯与报警的联动控制。
通过 TiaLink 把本示例的 2 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
按一次按钮:电磁阀和指示灯打开;再按一次:电磁阀关闭,同时报警输出。
程序用一串自锁标志实现"单按钮两步操作",是按次数切换状态的典型练习。
| 信号 | 类型 | 含义 | 作用 |
|---|---|---|---|
Pushbutton switch |
I | 单按钮 | 每次按下推进一步 |
Solenoid |
Q | 电磁阀 | 第 1 步打开 |
Pilot lamp |
Q | 指示灯 | 与电磁阀同步 |
Alarm |
Q | 报警 | 第 2 步打开 |
Tag_1 |
M | 第 1 步标志 | 电磁阀/指示灯使能 |
Tag_2 |
M | 已松开标志 | 等待第二次按下 |
Tag_3 |
M | 第 2 步标志 | 关闭电磁阀、打开报警 |
Tag_1 置位并自锁,Solenoid/Pilot lamp=1;Tag_2 置位;Tag_3 置位;Tag_3 复位 Tag_1(电磁阀/灯关闭),并驱动 Alarm=1;Tag_3 保持,继续按按钮不会改变状态。
条件 → 动作:按下 Pushbutton switch → Tag_1 置位并自锁;Tag_3=1 时复位。
逻辑:Tag_1 = (Pushbutton switch OR Tag_1) AND NOT Tag_3

条件 → 动作:Tag_1=1 且按钮松开 → Tag_2 置位并保持。
为什么:用"已打开 + 已松开"区分第一次和第二次按下。
逻辑:Tag_2 = (Tag_1 AND NOT Pushbutton switch OR Tag_2)

条件 → 动作:Tag_1=1 → Solenoid=1、Pilot lamp=1。
逻辑:Solenoid = Tag_1;Pilot lamp = Tag_1

条件 → 动作:Tag_2=1 且再次按下按钮 → Tag_3 置位并保持。
为什么:Tag_3 同时承担"关阀"和"报警"两个动作。
逻辑:Tag_3 = (Tag_2 AND Pushbutton switch OR Tag_3)

条件 → 动作:Tag_3=1 → Alarm=1。
逻辑:Alarm = Tag_3
Tag_2 需要第一次松开后才置位;确认按钮确实松开过。Tag_3 没有复位条件;需要加复位按钮或在下次启动时清零。Tag_1 的复位条件 NOT Tag_3 是否接对。Tag_1/Tag_2/Tag_3。CTU 记录按钮次数,用比较指令映射状态,扩展更清晰。| 名称 | 数据类型 | 地址 | 注释 |
|---|---|---|---|
| Pushbutton switch | Bool | %I0.0 | |
| Solenoid | Bool | %Q0.0 | |
| Pilot lamp | Bool | %Q0.1 | |
| Alarm | Bool | %Q0.2 | |
| Tag_1 | Bool | %M0.0 | |
| Tag_2 | Bool | %M0.1 | |
| Tag_3 | Bool | %M0.2 |