多条件控制:与逻辑、或逻辑与三取二表决
真实的启停逻辑几乎都是"条件组合":全部满足才允许(串联)、任意一个不满足就报警(并联)、 或者"三个传感器里两个说 OK 才算 OK"(表决)。这一页把组合逻辑的三个基本写法一次讲清, 练习时可直接打开 PLC 在线仿真器 边搭边跑,其它示例见 梯形图示例库。
例题:增压泵的启动允许条件
增压泵要启动,必须同时满足四个条件;缺任何一个都不允许,并亮禁止灯提示。四个信号都为 1 表示"正常"。
变量表
| 变量名 | 类型 | 习惯地址 | 说明 |
|---|---|---|---|
| 急停回路 | 布尔 | I0.0 | 1 = 回路正常(硬件用常闭触点) |
| 进水阀到位 | 布尔 | I0.1 | 1 = 阀门已开到位 |
| 压力未超限 | 布尔 | I0.2 | 1 = 出水压力低于上限 |
| 变频器就绪 | 布尔 | I0.3 | 1 = 变频器无故障、已准备好 |
| 允许指示灯 | 布尔 | Q0.0 | 条件全满足时点亮 |
| 禁止灯 | 布尔 | Q0.1 | 任一条件不满足时点亮 |
梯形图逻辑
允许(与逻辑 → 串联): [ I0.0 ] ─ [ I0.1 ] ─ [ I0.2 ] ─ [ I0.3 ] ─ ( Q0.0 允许指示灯 ) 禁止(或逻辑 → 并联的常闭触点): [ /I0.0 ] ─┬─ ( Q0.1 禁止灯 ) [ /I0.1 ] ─┤ [ /I0.2 ] ──┤ [ /I0.3 ] ─┘
逻辑:
允许 = 急停回路 · 进水阀到位 · 压力未超限 · 变频器就绪 禁止 = /急停回路 + /进水阀到位 + /压力未超限 + /变频器就绪
注意这两行是对偶的:串联变成并联、常开变成常闭,输出正好相反。 所以在梯形图里,同一个条件的两种视角(允许 vs 禁止)可以互推,不必重新想逻辑。
搭建步骤
- 变量表建好四个布尔输入和两个布尔输出
- 允许梯级:把「急停回路」「进水阀到位」「压力未超限」「变频器就绪」四个常开触点依次串联,末端接常开线圈「允许指示灯」
- 禁止梯级:新建一个梯级,放一个常闭触点后「添加分支」,共四个分支,分别绑定四个变量的常闭触点,末端接常开线圈「禁止灯」
- 开始模拟:把所有输入置 1,允许灯亮、禁止灯灭
- 逐个把输入置 0 再置回 1,观察两盏灯正好相反;同时检查"取消某个条件"时是否能定位到是哪一路(把禁止灯的四个分支各接一个小灯即可)
要点:
① 组合逻辑没有记忆:条件一变,输出立刻跟着变。如果这盏"允许灯"要触发启动动作,必须在下一级配自锁
(把允许触点串进
起保停电路),
否则条件一消失设备就停——这正是很多"为什么一松按钮就停"的答案。
② 禁止灯用常闭并联,不只是图省事:它就是"或逻辑"的标准画法,排查时一眼能看出是哪一类条件缺失。
③ 条件的命名要统一用"正向含义"(如"压力未超限"=1 表示正常)。混用正向/反向含义,是组合逻辑写错的第一大来源。
延伸:三取二表决(2 out of 3)
有些场合会装三个传感器测同一个量(如三个料位计、三条视角),防止单点误报让系统误动作。 要求"任意两个说 OK"才算 OK,这就是三取二表决:
确认 = A · B + A · C + B · C [ A ] ─ [ B ] ─┬─ ( Q0.2 确认信号 ) [ A ] ─ [ C ] ─┤ [ B ] ─ [ C ] ─┘
- 全与(A·B·C):最保守,一个传感器坏了就永远不动作
- 全或(A+B+C):最激进,一个误报就动作
- 三取二:允许一个传感器异常,仍能正确判断——化工和轨道交通里常见的安全冗余写法
练习完成后,如果你想把这套组合逻辑用到真实的西门子 S7-1500 工程里,可以先用 梯形图转 SCL 得到结构化文本,再用 TiaLink(博途 MCP 网关) 写进博途工程并下载到 PLCSIM 仿真。