ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

基于PLC的六层电梯控制系统设计与梯形图编程实战

基于PLC的六层电梯控制系统设计与梯形图编程实战 简介可编程逻辑控制器PLC是工业自动化领域的核心控制元件它以高可靠性和灵活编程能力广泛应用于各类机电设备。在电梯控制场景中PLC通过数字量输入输出实现楼层识别、按钮响应与电机驱动构成典型的状态判断与逻辑调度系统。设计电梯程序需掌握信号采集、自锁与互锁、安全联锁等基础梯形图编程技巧并运用顺向截梯算法优化运行效率。结合变频器多段速控制可显著提升平层精度与乘梯舒适度。从单层、三层到六层电梯的逐步进阶是理解PLC工程实践的经典路径。本文以六层电梯系统为例详细拆解I/O分配、逻辑调度、梯形图编程及仿真调试全过程为课程设计、毕业设计及自动化入门者提供一套可复用的完整框架。 电梯控制是PLC入门绕不开的一个经典实战项目。六层电梯说大不大说小不小但它把PLC课程里最核心的几个东西全串起来了信号采集、状态判断、逻辑输出、安全联锁还有一层很关键的调度算法。我见过不少刚学PLC的朋友一上来就找现成的梯形图抄抄完还是不明白电梯为什么能顺着最近的呼叫方向跑、为什么到站会开门、为什么门没关好就不启动。这篇就以《基于PLC的六层电梯系统设计》为例把整个设计思路、I/O分配、逻辑调度、梯形图编程和调试排查过程完整拆开讲一遍。想自己动手做课程设计、毕业设计或者刚入行想拿一个完整项目练手的照着这个框架走基本不会跑偏。1. 项目整体思路先搞清楚电梯到底要干什么1.1 六层电梯的控制需求拆解很多人拿到这个题目第一反应就是“让电机正转反转就行了”实际远没那么简单。电梯本质上是一个要求极高的状态判断系统它必须实时知道三件事轿厢现在在哪一层、用户要去哪一层、当前应该往哪个方向走。围绕这三件事六层电梯的控制需求可以拆成四个模块呼梯信号采集模块、楼层位置检测模块、运行方向判断模块、开关门控制模块。呼梯信号分为两大类一类是轿厢内部的选层按钮六个楼层各一个另一类是各楼层外面的召唤按钮一楼只有“上行”按钮六楼只有“下行”按钮中间楼层需要“上行”和“下行”各一个。也就是说外呼信号总共是8个加上轿内6个选层信号光呼梯输入就有14个。很多初学者会漏掉“一楼没有下行、六楼没有上行”这个细节导致I/O分配表少算或者多算。楼层位置检测的方式也直接决定系统的复杂程度。最常用的方案是每层安装一个平层感应器例如干簧管配合隔磁板或者接近开关配合感应铁片轿厢到达哪一层对应层的感应器就动作。还有一种方案是用旋转编码器配合变频器做楼层计数这种方式精度更高、能计算实时位置但对程序逻辑和硬件成本的要求也更高。课程设计一般推荐第一种简单直观逻辑也好写。1.2 PLC选型为什么教学和中小型项目都偏爱小型机六层电梯的I/O点加起来大概在30到40个之间运行逻辑中等复杂完全没有必要上大型PLC。选型时主要看三点I/O点数是否够用、是否有足够的中间继电器和定时器资源、编程软件是否顺手。西门子S7-200 SMART、三菱FX3U/FX5U、信捷XC系列、汇川H1U/H3U这几类小型机都跑得动这种项目实际选哪个主要看你手头有什么硬件、周围人用什么平台。我在这个项目里用的是三菱FX3U系列选它的原因很直接FX3U的软元件数量对六层电梯绰绰有余GX Works2编程软件自带仿真功能调试时不用反复往实物PLC里下载程序效率高很多。如果你用的是西门子200 SMART逻辑是一模一样的只是指令写法从LD/AND换成I0.0/Q0.0这种地址表达风格核心思路不影响。选PLC的时候给I/O留10%~15%的余量后期加功能比如照明控制、风扇联动时不至于推倒重来。2. 硬件与I/O分配信号梳理是整个设计的命根子2.1 输入输出信号清单与I/O地址规划做电梯控制设计第一步不是写程序而是把输入输出清单列清楚。我按六层电梯的实际需要列了一份I/O分配表你拿到手后直接用或者按自己的PLC型号改地址都行。输入信号部分核心是楼层平层信号和各类按钮信号。平层信号X0到X5对应一到六层常开触点感应器动作时导通轿内选层按钮X6到X13对应一到六层外呼按钮X14到X25一共8个其中一楼只留上行、六楼只留下行。再加上开门按钮X26、关门按钮X27、超载信号X30、门锁到位信号X31、上限位保护X32、下限位保护X33、急停X34总的输入点约27个。输出信号相对清晰。Y0是上行接触器、Y1是下行接触器、Y2是开门继电器、Y3是关门继电器这4个是执行机构的核心。楼层显示如果外接七段数码管可以用Y4到Y10输出BCD码如果接触摸屏或者组态界面直接把当前楼层数值映射到HMI寄存器就行。呼梯指示灯用Y11到Y24对应14个呼梯按钮加上方向指示灯Y25上行、Y26下行输出点约27个。整体算下来选一款40点以内的PLC完全够用。很多人会忽略两个信号门锁到位信号和上下限位信号。门锁到位是电梯能不能启动的前提条件门没关严必须禁止一切运行上下限位是最后一道物理保护一旦触发不管程序逻辑是什么状态都必须切断运行输出。这两个信号在实物项目里不是“可有可无”的而是安全底线绝不能省。2.2 执行机构与驱动方式的搭配电梯的升降机构设计对整个系统的影响非常大。教学型六层电梯模型常见的有两种驱动方式一种是直流减速电机配合限位开关程序简单但启停冲击明显另一种是三相异步电机配合变频器能实现多段速控制电梯平层更平稳对乘客的舒适度也友好得多。如果采用变频器方案PLC的输出不是直接控制电机正反转而是控制变频器的正转、反转、多段速端子。常规的做法是设三段速度启动和正常运行用高速比如50Hz接近目标楼层减速到中速15Hz到20Hz平层前切换为爬行速度5Hz左右。这样做不是因为程序写不出“一下子到位”而是因为电梯轿厢有惯性高速直接停车会冲过平层位置乘客也会被顿一下。电机启停平稳度是判断一个电梯控制系统好坏的最直观标准。开门机构相对简单一般用直流电机配合正反转继电器驱动或者用气动/电动推杆。控制上注意两点一是开门到位和关门到位要有限位开关反馈不能只靠时间控制二是开门过程中如果检测到安全触板动作或光幕被遮挡要立即停止关门并反向开门这是电梯国家标准里的强制性要求。3. 控制逻辑拆解核心是“定向调度”而不是“跑上跑下”3.1 电梯运行的六个基本状态把整个电梯的运行过程抽象化其实就是六个状态在来回切换空闲待机、上行中、下行中、到站开门、关门延时、超载保护。写程序之前先把状态图画清楚远比急着写梯形图重要。我习惯用状态机的思路来想问题虽然梯形图不一定要严格用步进指令写但脑子里有状态划分逻辑才不会乱。空闲状态的时候电梯停在某一层所有呼梯信号都在等待。一旦有呼梯信号进来系统先判断呼梯楼层相对于当前位置的方向决定转向上行还是下行。运行过程中需要持续检测两个信息一是有没有呼梯楼层与当前运行方向一致且在当前运行方向上二是当前楼层有没有平层信号。前者决定继续跑还是换向后者决定要不要减速停车。到站后停稳、开门、延时闭门再继续处理剩余呼梯直到所有呼梯清空回到空闲状态。3.2 顺向截梯电梯调度里最核心的算法思想六层电梯的调度逻辑行业内叫“顺向截梯”。简单说就是电梯先响应当前运行方向上的呼梯全部处理完再换向。举个例子电梯在1楼3楼有人按上行5楼有人按下行那么电梯的响应顺序是先上到3楼接人因为是上行方向顺路的继续上行到5楼接人之后没有上行呼梯了再根据是否有反向呼梯决定换向向下。这个逻辑特别像快递员送件手里一堆单子先跑同一个方向顺路的全送完再掉头。如果看到哪儿有活就往哪儿跑电梯会在中间楼层来回折腾运行效率极低乘客体验也很差。程序实现上核心就是“比较当前楼层”和“有效呼梯楼层”的关系。梯形图里可以用区间比较指令也可以用一组触点组合来完成判断。呼梯信号的锁存与复位是这里的关键。每个呼梯按钮都要用自锁电路把它“记住”直到电梯到达该楼层、完成开门动作后才复位。比如轿内3楼按钮按下后即使乘客松手M53保持接通当电梯到达3楼并开门到位后M53才断开。这个“信号保持”和“到站清零”的机制是整个电梯程序能稳定运行的前提写的时候每一步都要跟到位。3.3 开关门逻辑与安全联锁开关门看起来是电梯里最简单的一环实际容易踩坑。标准流程是这样的电梯平层停稳后如果此时没有运行信号输出开门信号门完全打开后开门限位动作开门继电器断开然后进入延时计时一般3到5秒延时结束输出关门信号门完全关好后门锁到位信号动作这时候系统才允许启动运行。这个流程里最容易出错的地方是“门锁到位”和“运行”的联锁关系。程序里必须做到门锁不到位上下行输出无条件禁止运行过程中如果门锁信号突然断开比如有人扒门必须立即切断运行输出并停车。这个联锁要放在输出回路里用常闭触点硬性切断不能只靠程序前面的逻辑判断因为外部干扰或PLC扫描周期延迟可能让“软联锁”失效。同时接触器本身也要做硬件互锁上行接触器和下行接触器的常闭触点要串到对方的线圈回路里防止两个接触器同时吸合造成短路这是电气控制的基本功。4. 梯形图编程实操从零写最关键的程序段4.1 楼层定位与显示程序里必须先有“当前位置”电梯运行的前提是知道自己在哪。楼层定位程序段我习惯用一组“置位-复位”逻辑来实现思路是每一层用一个中间继电器M表示“当前位置位于该层”该层平层信号接通时置位一旦相邻层平层信号接通就复位保证任何时刻只有一个M是ON状态。以三菱指令风格举例1层定位的核心逻辑是这样平层感应器X0接通后当前层标志M10置位当2层平层感应器X1接通时M10复位。每层都按这种“相邻层互斥”的方式处理从1层到6层写六段。注意不要用“当前层等于某层”时去触发别的逻辑因为电梯经过中间层时平层信号会短暂动作如果楼层标志没有正确互斥显示会乱跳。楼层显示可以直接把M10到M15的值传到输出也可以用编码器处理后送七段码看你的硬件方案。4.2 呼梯信号锁存与复位乘客松手了电梯也得记得呼梯锁存是所有楼层按钮程序的基础。每个内呼、外呼按钮都要用自锁电路记忆。内呼3楼的指令大概是这样的逻辑X10轿内3楼按钮按下M53吸合并自锁当电梯到达3楼且开门到位时M53复位。开门到位信号是复位的核心条件不是“到站”就行而是必须完成开门动作因为乘客可能按钮后改变主意不下车但开门后还没下呼梯就已经算完成了。外呼信号的复位逻辑稍复杂一点因为外呼信号分为上行请求和下行请求。比如3楼有人按了上行按钮电梯从3楼往上的方向停靠开门后该上行请求才复位如果是电梯下行时顺路在3楼停下3楼的上行请求不复位需要等后续上行方向处理时再消号。这个细节直接关系到电梯会不会“漏接人”写程序时要把“呼梯方向”和“电梯运行方向”做一致性判断。4.3 方向判断与电机输出核心输出段的梯形图设计方向判断是整个程序里最绕的部分我把它拆成两步来做先判断“有没有同向呼梯”再判断“有没有反向呼梯需要换向”。上行允许的条件是当前处于空闲状态或正在上行且存在楼层高于当前层的有效呼梯。具体到梯形图就是把“2层呼梯”到“6层呼梯”的所有信号并联并串入“当前不在6层”的条件。下行同理。再往里走一步方向判断还要区分“已经超过目标层”的情况。比如电梯正在上行去4楼过程中5楼突然有人按下行按顺向截梯原则电梯应该继续上行到4楼、处理完后再上到5楼接人然后才换向。所以上行运行中只要是高于当前层的呼梯都是有效的不管它是上行还是下行请求只有当前层上方没有任何呼梯了才允许换向。这段逻辑写完后要拿几个典型的呼叫顺序去验证1楼上行、3楼下行、5楼上行同时存在时电梯应该按什么顺序停靠计算器算一遍和程序跑一遍结果必须一致。输出段相对简单但要注意安全。上行输出Y0的线圈回路里除了串入上行允许条件和门锁到位条件还要串入下行输出Y1的常闭触点、下限位保护X33的常闭触点、急停X34的常闭触点。这样即使程序逻辑被外部信号干扰或误触发输出回路也能在物理上防止危险动作。很多初学者只把互锁放在输出指令之前我在实操中吃过亏后来坚持“输出线圈处再加一层硬互锁”从此再没出过上下行同时动作的事故。5. 仿真调试与常见问题排查实录5.1 用仿真软件先跑通逻辑再碰实物强烈建议先做逻辑仿真再上实物调试。用GX Works2的仿真功能或者西门子的PLCSIM把程序跑起来用软元件测试窗口强行模拟平层信号和呼梯信号观察输出状态是否正确。这个阶段可以极快地发现方向判断和呼梯复位相关的逻辑漏洞还不用担心烧坏接触器或电机。仿真调试时我习惯准备一张呼叫测试流程表按顺序把典型场景过一遍单层呼梯、同方向连续呼梯、两个方向交替呼梯、最远端反向呼梯、轿内指令和外呼信号冲突等。前三个场景确认无误后电梯调度的主体逻辑就有保障了。另一个值得仿真的是“相邻楼层连续平层信号”的情况比如电梯以爬行速度经过2楼平层感应器后马上进入3楼感应范围看看楼层定位有没有抖动。5.2 六个典型故障案例与排查方法第一个高频问题是“电梯到站不开门”。排查顺序是先看平层信号有没有到PLC对应输入点再看程序里是否满足开门条件停止状态、非运行中、门锁正常最后查开门继电器和门电机回路。我在实际项目中遇到过平层信号延迟导致电梯还没完全停稳就尝试开门的情况后来给开门条件增加了“速度为零”信号问题才彻底解决。第二个高频问题是“电梯从1楼出发3楼有下行呼梯它居然先跑到6楼再下来”。这是典型的定向逻辑错误原因是用“存在呼梯”就直接触发方向输出而没有区分呼梯方向和当前运行方向。解决方案就是前面说的同方向优先、反向最远端把它写进换向条件里。第三个问题是运行中门锁突然断开导致急停。电梯在运行过程中轿厢会有轻微震动如果门锁感应开关安装太紧或接线松动就会瞬间断开又恢复造成运行中断甚至困人。排查方法除了检查接线还要在程序里给门锁信号做一点防抖处理或者把门锁断开后的处理逻辑改为“减速停车”而不是“立即急停”除非是检测到真正的门锁打开。第四个问题是上下行接触器偶尔同时吸合。这个基本可以断定是程序互锁和硬件互锁只做了一层或者输出继电器的动作时序有重叠。处理方法是输出线圈处必须串常闭触点互锁接触器线圈回路也要加辅助触点互锁双层保护缺一不可。第五个问题是平层精度差电梯停下来后离楼层地面差一两厘米。这跟变频器的减速距离设置有关系多段速切换的时机不对减速段切入太晚或爬行速度太高。处理方式是把减速信号提前一层或提前一段距离触发爬行速度调到5Hz以下让轿厢以极低速度慢慢蹭到平层位置。第六个问题是外呼指示灯亮了不会灭或者轿内选层按钮按了没反应。优先检查对应的输出点有没有驱动指示灯以及复位条件是否满足重点查开门到位信号是否反馈正常。5.3 排查技巧速查表故障现象可能原因排查方法电梯到站不开门平层信号未到位、开门条件不满足、门电机故障先查输入点有无信号再查开门输出条件最后查执行机构电梯运行方向错误定向逻辑判断错误、呼梯方向未做区分用仿真软件单步跟踪方向判断程序段运行中急停门锁信号抖动、接线松动、限位误动作检查门锁回路接线程序增加信号滤波上下行同时动作缺少程序互锁或硬件互锁输出线圈加常闭互锁触点接触器加辅助触点互锁平层精度差减速信号触发过晚、爬行速度过高减速信号提前触发爬行频率降至5Hz以下呼梯信号不复位复位条件缺失、开门到位信号未反馈检查开门到位信号确认其参与复位逻辑调试的时候每次只改一个变量改完重新跑完整流程测试不要同时调两处以上否则出了问题根本不知道是哪次改动引起的。这套方法听起来慢实际是最快的。六层电梯这个项目我前前后后带过不少学生和同事走完过完整流程最大的体会是千万别一头扎进梯形图里先把“电梯是怎么工作的”想透再研究“程序怎么写”效率会高出一大截。从三层电梯做起跑通所有典型呼梯场景再扩展成六层这样的进阶曲线比一上来就挑战六层舒服得多。如果你还要继续往深了走可以在现有基础上加入变频器多段速精准平层、触摸屏监控界面、故障记录与报警功能甚至把PLC和上位机组态软件做实时通信这些都是这个项目自然的延伸方向。做完一个完整的六层电梯系统设计你对PLC这门技术的理解会上一个明显的台阶。本文还有配套的精品资源点击获取
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进