以下结合工业现场常见的设备控制场景(如自动上下料、包装机、机床辅助控制等),补充 6 个更贴近实际应用的 PLC 梯形图编程案例,包含具体逻辑设计思路、易错点及项目落地经验,适用于三菱、西门子等主流 PLC。
一、自动上下料机械手(传感器与步进电机联动)
场景:为数控机床自动上下料,流程为 “待机→检测料仓有料→机械手下降→抓取工件→上升→移动到机床→下降→释放→复位”。
I/O 分配(三菱 FX3U):
核心梯形图逻辑(状态机设计):
ladder
// 状态初始化(M0=待机,M1~M8对应各步骤) LD M8002 // 上电初始化 SET M0 // 初始状态:待机 // 待机→下降(条件:启动+有料) LD M0 AND X0 // 启动 AND X2 // 料仓有料 SET M1 // 进入下降状态 RST M0 // 下降→抓取(到位后触发) LD M1 AND X3 // 下降到位 OUT Y2 // 抓取电磁阀动作 SET M2 // 进入抓取状态 RST M1 // 抓取→上升(确认抓取后) LD M2 AND X4 // 抓取确认(压力达标) OUT Y1 // 上升电磁阀 SET M3 RST M2 // 后续步骤(上升到位→移动到机床→下降→释放→复位)逻辑类似,均通过状态位M4~M8连锁 // 急停处理(任意状态触发急停,复位所有输出) LD X1 RST M0 // 复位所有状态 RST Y0 RST Y1 // ... 复位其他输出 SET Y5 // 报警灯亮
项目经验:
二、全自动包装机(定时与计数闭环控制)
场景:零食包装机,流程为 “送膜→封口(2 秒)→切刀动作→计数,每包 10 个产品,满 100 包停机报警”。
I/O 分配(西门子 S7-1200):
核心逻辑:
ladder
// 启动与送膜(膜未用完时) LD X0 AN X2 // 膜未用完 AN C1 // 未满100包 LPS // 分支开始 = Y0 // 送膜电机运行 LPP EU // 上升沿触发产品计数准备 = M0 // 产品计数(每10个触发包装) LD M0 AND X1 // 产品到位 CTU C0, 10 // 计满10个 LD C0 // 计数到10 = M1 // 触发包装动作 // 包装动作(封口→切刀) LD M1 = Y1 // 封口加热 TON T0, 2000 // 延时2秒(2000ms) LD T0 = Y2 // 切刀动作(0.5秒后复位) TON T1, 500 LD T1 R C0 // 复位产品计数 R M1 // 复位包装触发 CTU C1, 100 // 总包装计数+1 // 满100包停机报警 LD C1 = Y3 // 报警 R Y0 // 停止送膜
项目经验:
三、机床冷却系统(液位与温度联锁控制)
场景:数控机床冷却泵,要求 “液位低于下限或温度超上限时,停止冷却泵并报警;液位恢复后需手动复位”。
I/O 分配(三菱 FX5U):
核心逻辑:
ladder
// 启动与运行(无故障时) LD X0 AN M0 // 无故障锁定 AN X1 // 液位正常(X1常闭导通) AN X2 // 温度正常 = Y0 // 冷却泵运行 // 故障检测与锁定(液位低或超温) LD X1 // 液位低于下限(X1断开→常闭触点导通) OR X2 // 温度超上限 S M0, 1 // 置位故障锁定(保持报警) // 报警与停机 LD M0 = Y1 // 报警灯亮 R Y0 // 停止冷却泵 // 故障复位(需液位和温度恢复正常后) LD X3 AN X1 // 液位已恢复 AN X2 // 温度已恢复 R M0, 1 // 复位故障锁定
项目经验:
四、立体车库自动存取车(位置闭环与互锁)
场景:小型立体车库,存车流程 “入口检测有车→升到位→横移到空位→降到位;取车流程相反,且同一时间只能执行一个动作”。
I/O 分配(西门子 S7-1200):
核心逻辑(互锁关键):
ladder
// 存车与取车互锁(同一时间只能一个动作) LD X0 AN M1 // 取车状态未激活 = M0 // 存车状态激活 LD X1 AN M0 // 存车状态未激活 = M1 // 取车状态激活 // 存车流程 LD M0 AND X2 // 入口有车 AND X5 // 有空位 = Y0 // 上升 LD X3 // 升到位 = Y2 // 横移到空位 // ... 后续下降逻辑(略) // 入口禁止逻辑(动作执行时,禁止进车) LD M0 OR M1 // 存车或取车中 = Y3 // 入口指示灯亮(禁止进车) // 急停与复位 LD X6 R M0 R M1 // 复位所有动作状态
项目经验:
五、消毒设备(时间序列控制)
场景:医疗器械消毒机,流程 “关门→抽真空(30 秒)→加热消毒(5 分钟)→通风(2 分钟)→完成”,中途开门立即停止。
I/O 分配(三菱 FX3U):
核心逻辑(时序与安全联锁):
ladder
// 启动条件:门已关+无急停 LD X1 AND X0 // 关门到位(X0常闭导通) AND X2 // 急停正常 SET M0 // 启动标志 // 抽真空阶段(M0=ON且未完成) LD M0 AN T0 OUT Y0 // 抽真空阀 TON T0, 300 // 30秒(100ms时基,K300=30秒) // 消毒阶段(抽真空完成后) LD T0 AN T1 OUT Y1 // 加热消毒 TON T1, 3000 // 5分钟(K3000=300秒) // 通风阶段(消毒完成后) LD T1 AN T2 OUT Y2 // 通风扇 TON T2, 1200 // 2分钟(K1200=120秒)
项目经验:
通用编程与项目落地经验
这些案例的核心是 “用触点串联实现条件判断,用线圈 / 定时器 / 计数器控制状态转换”,同时结合现场设备的机械特性(如动作时间、安全要求)设计逻辑,确保 “程序可靠、调试高效、维护方便”。