要实现5 个按钮中任意两个同时接通即触发报警的功能,核心是检测 5 个按钮输入信号的通断状态组合,判断是否存在≥2 个信号同时为 ON,再触发报警逻辑。下面以三菱 FX 系列 PLC和西门子 S7-300/1200 PLC为例,提供具体的程序实现方案,同时说明通用逻辑思路。
一、通用控制逻辑(适用于所有 PLC)
二、三菱 FX 系列 PLC 实现方案(梯形图 / 指令表)
1. 硬件分配
| 硬件类型 | 地址 | 功能说明 |
|---|---|---|
| 输入(按钮) | X0~X4 | 5 个按钮的信号输入 |
| 输出(报警) | Y0 | 报警指示灯 / 蜂鸣器 |
| 复位按钮 | X5 | 报警手动复位 |
2. 程序实现(两种方法)
方法 1:使用加法指令统计 ON 的按钮数量(直观易懂)
plc
// 步骤1:将按钮信号转为数值(ON=1,OFF=0) LD X0 MOV K1 D0 LD M8000 AND NOT X0 MOV K0 D0 LD X1 MOV K1 D1 LD M8000 AND NOT X1 MOV K0 D1 LD X2 MOV K1 D2 LD M8000 AND NOT X2 MOV K0 D2 LD X3 MOV K1 D3 LD M8000 AND NOT X3 MOV K0 D3 LD X4 MOV K1 D4 LD M8000 AND NOT X4 MOV K0 D4 // 步骤2:累加所有按钮的数值(D5为总数量) LD M8000 MOV D0 D5 ADD D1 D5 D5 ADD D2 D5 D5 ADD D3 D5 D5 ADD D4 D5 D5 // 步骤3:判断数量≥2则触发报警 LD M8000 CMP D5 K2 M0 // D5≥2时M1=ON LD M1 OUT Y0 // 触发报警输出 SET M10 // 报警锁存 // 步骤4:报警复位(X5按下复位) LD X5 RST M10 LD M10 OUT Y0 // 锁存报警,复位后熄灭
方法 2:使用触点串联直接判断任意两按钮同时接通(节省寄存器)
该方法通过枚举所有两按钮组合的串联逻辑,实现报警触发,无需数值统计:
plc
// 枚举X0~X4中任意两按钮同时接通的情况 LD X0 AND X1 OR X0 AND X2 OR X0 AND X3 OR X0 AND X4 OR X1 AND X2 OR X1 AND X3 OR X1 AND X4 OR X2 AND X3 OR X2 AND X4 OR X3 AND X4 OUT Y0 // 任意两按钮同时接通,立即报警 SET M10 // 报警锁存 // 复位逻辑 LD X5 RST M10 LD M10 OUT Y0
三、西门子 S7-1200/300 PLC 实现方案(结构化编程)
1. 变量定义
plc
VAR Button_0: BOOL AT %I0.0; // 按钮1 Button_1: BOOL AT %I0.1; // 按钮2 Button_2: BOOL AT %I0.2; // 按钮3 Button_3: BOOL AT %I0.3; // 按钮4 Button_4: BOOL AT %I0.4; // 按钮5 Reset: BOOL AT %I0.5; // 复位按钮 Alarm_Out: BOOL AT %Q0.0; // 报警输出 Alarm_Latch: BOOL; // 报警锁存标志 Button_Count: INT; // 按钮接通数量 END_VAR
2. 程序实现(ST 语言)
st
// 统计按钮接通数量 Button_Count := 0; IF Button_0 THEN Button_Count := Button_Count + 1; END_IF; IF Button_1 THEN Button_Count := Button_Count + 1; END_IF; IF Button_2 THEN Button_Count := Button_Count + 1; END_IF; IF Button_3 THEN Button_Count := Button_Count + 1; END_IF; IF Button_4 THEN Button_Count := Button_Count + 1; END_IF; // 触发报警并锁存 IF Button_Count >= 2 THEN Alarm_Latch := TRUE; END_IF; // 报警复位 IF Reset THEN Alarm_Latch := FALSE; END_IF; // 报警输出 Alarm_Out := Alarm_Latch;
四、关键注意事项
总结
实现 5 个按钮任意两同时接通报警的核心是数量统计或组合枚举,前者灵活(可扩展至更多按钮),后者直接(节省资源)。实际应用中可根据 PLC 型号和现场需求选择方案,同时需注意防抖和报警锁存,确保逻辑稳定可靠。

