导入到我的 TIA 项目
通过 TiaLink 把本示例的 2 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
概述
7 个开关分成两组控制一台加热器:Switch 1 + Switch 2 或 Switch 3 + Switch 4 任意一组同时闭合,加热器就启动并保持;当 Switch 4 + Switch 5 或 Switch 6 + Switch 7 同时闭合时,加热器停止。
这个例子很适合练习串并联组合(AND / OR)和置位保持:多路开关如何"成对生效",以及用一个内部标志做停止条件。
信号表
| 信号 |
类型 |
含义 |
作用 |
Switch 1~`Switch 4` |
I |
启动开关 |
成对闭合启动加热 |
Switch 5~`Switch 7` |
I |
停止开关 |
成对闭合停止加热 |
Tag_1 |
M |
加热标志 |
启动后保持;Heater 由它驱动 |
Tag_2 |
M |
停止标志 |
置位后把 Tag_1 复位 |
Heater |
Q |
加热器 |
最终输出 |
工作流程
Switch 1 与 Switch 2 同时闭合(或 Switch 3 与 Switch 4 同时闭合)→ Tag_1 置位并保持;
Tag_1=1 → Network 2 输出 Heater=1,加热器开始工作;
Switch 4 与 Switch 5 同时闭合(或 Switch 6 与 Switch 7 同时闭合)→ Tag_2 置位;
Tag_2=1 使 Network 1 中的常闭触点断开 → Tag_1 复位 → Heater 停止。
MainOB
Network 1 — 加热启动与保持
目的:用两组开关控制加热器的启动,并让启动状态保持。
条件 → 动作:(Switch 1 AND Switch 2) OR (Switch 3 AND Switch 4) 任一组成立,Tag_1 置位;Tag_1 自己的常开触点与这些条件并联,所以松开开关后仍然保持。只有当 Tag_2=1 时才复位。
为什么:每组内部是 AND(两个开关必须同时闭合),组与组之间是 OR(任意一组即可),再把自身触点并联进来形成保持——这是"多条件启动 + 自锁"的标准写法。
注意:Tag_2 的常闭触点串在最前面,表示"停止优先":停止条件一旦成立,不管启动条件是否还在,Tag_1 都会断开。
逻辑:Tag_1 = ((Switch 1 AND Switch 2) OR (Switch 3 AND Switch 4) OR Tag_1) AND NOT Tag_2
Network 2 — 加热器输出
目的:把加热标志送到实际输出。
条件 → 动作:Tag_1=1 → Heater=1。
为什么:把"逻辑状态"和"物理输出"分开写,方便以后在中间加联锁、报警或手自动切换。
逻辑:Heater = Tag_1
Network 3 — 停止条件
目的:用另一组开关产生停止信号。
条件 → 动作:(Switch 4 AND Switch 5) OR (Switch 6 AND Switch 7) 任一组成立 → Tag_2 置位并保持。
为什么:Tag_2 一旦置位就保持,避免停止开关只是瞬间闭合时加热器又立刻恢复。要重新启动,需要先让 Tag_2 复位(当前程序没有单独的复位逻辑)。
注意:Switch 4 同时出现在启动组和停止组里,这种"共用一个开关"的接法容易让人看晕;读图时建议按"启动路径 / 停止路径"分开看。
逻辑:Tag_2 = ((Switch 4 AND Switch 5) OR (Switch 6 AND Switch 7) OR Tag_2)
常见问题
- 加热器不启动:检查启动开关是否成对同时闭合;单独一个开关不会生效。
- 启动后停不下来:停止也是成对的(
Switch 4+5 或 Switch 6+7);另外 Tag_2 是保持的,停止后要复位它才能再次启动。
- 分不清哪个开关管什么:
Switch 1~3 主要参与启动,Switch 5~7 参与停止,Switch 4 两边都参与。
变体与扩展
- 加独立复位:加一个复位按钮把
Tag_2 清零,流程更清晰。
- 改为单组启停:去掉成对条件,改成"一个开关启动、一个开关停止",就是最基础的起保停电路。
- 扩展到更多路:继续用"AND 组合 + OR 合并"的写法即可,但路数多了建议改用状态机或数组处理。