PLC三层货梯升降控制方案:三菱FX3U呼梯仲裁与安全联锁详解

发布时间:2026/9/9 4:48:51
PLC三层货梯升降控制方案:三菱FX3U呼梯仲裁与安全联锁详解 做PLC项目这么多年如果说哪个控制对象最考验程序员的全局思维我会投电梯一票。前阵子刚帮朋友完成一套三层小型货梯的PLC升降控制系统用的是三菱FX3U配合变频器拖动带抱闸的曳引电机。这套系统表面上看只是“按了按钮电梯就上下”但实际拆开做的时候呼梯登记、方向仲裁、平层检测、门锁安全、抱闸时序、故障保护全搅在一起任何一个环节糊弄过去轻则电梯停不准重则就是实打实的安全隐患。这篇东西我就按做完一遍的真实顺序把电梯升降的PLC控制整体方案从头到尾捋清楚从需求层讲到梯形图落地的细节再聊聊空载调试和现场跑车时踩过的坑。这套思路不限定品牌换到信捷、汇川、西门子平台上把指令体系平移过来就能用做课程设计、毕业设计、小型货梯、电梯模型也都参考得上。1. 三层货梯的升降需求与总体方案设计1.1 需求拆解升降不只是“上行和下行”很多人第一次接触电梯控制时脑子里想的是“上行给正转、下行给反转、到了停”。真拿到项目需求你就会发现这只是最外层的动作底层还有一连串问题要回答乘客在1楼按了外呼上行轿厢正在3楼该不该下来接什么时候下来轿厢里同时有3楼内呼和2楼内呼先停哪层电梯从1楼去3楼经过2楼的时候刚好2楼有人按了上行要不要顺路停平层信号是每层都有怎么做才能知道轿厢“当前在几楼”怎么防止电梯高速经过中间层时误停车门没关好电梯绝对不能走运行中门被意外打开电梯必须马上停下来这个逻辑靠软件够不够到了顶层没停住怎么办变频器或抱闸突然故障怎么处理这些问题的答案不能靠拍脑袋必须在程序设计之前先用一张控制逻辑图理清顺序。我这里只讨论控制层的设计机械层面像曳引机、导轨、对重、限速器、缓冲器这些默认已经有专业厂家或实训设备提供PLC工程要解决的是检测、判断、驱动和连锁。以这次的三层货梯为例控制任务可以拆成几个功能模块呼梯登记与取消内呼按钮和外呼按钮按下后要先“记住”到达对应楼层后自动取消。方向仲裁根据当前楼层、呼梯楼层和呼梯方向决定电梯是上行、下行还是待机。运行控制启动变频器、输出高速或低速、控制抱闸开闭。平层定位通过每层平层信号判断位置准确停层。门控制自动开/关门检测关门到位、门锁闭合。安全保护急停、上下限位、门锁、变频器故障、抱闸反馈等逻辑。1.2 为什么选“三菱FX3U 变频器 平层感应器”这套组合这套系统用的是三菱FX3U-32MR整体成本可控、点数刚好而且三菱的梯形图资料最多后续让维护人员接手也容易。FX3U自带高速计数和通信口以后想加旋转编码器做闭环、加MCGS触摸屏显示楼层都不用换PLC预留余地不小。曳引电机选择的是带电磁抱闸的三相异步电机由变频器驱动。不用传统继电器直接切换电机相序的原因很简单电梯是典型的位能性负载满载下行和空载上行时电机会处于发电状态母线电压会升高必须靠变频器的能耗制动或者制动电阻来吸收能量。如果只用接触器换相启停冲击大制动过程不可控舒适性和安全性都差很多。定位这块没有上旋转编码器而是采用每层安装平层感应器的方案。每层井道里装隔磁板或感应铁片轿厢上装接近开关、光电开关或者干簧管轿厢到达楼层地板齐平的位置时给出平层信号。对三层货梯来说这个方案结构简单、调试直观定位精度配合低速爬行也能控制在可接受范围内。注意如果你做的是真实载人电梯哪怕只是别墅梯也必须符合GB 7588等相关标准和当地特种设备要求由有资质单位设计安装。这里讲的是技术原理和教学/实训项目实现不能把文章里的简化方案直接照搬上真梯。1.3 系统结构划分整个电控系统按功能可以分成三块调试的时候一块一块查问题会非常快主回路三相电源 → 断路器 → 主接触器 → 变频器 → 曳引电机。制动电阻接在变频器BR/PX端。控制回路PLC输出信号经过中间继电器再去控制变频器STF/STR/RH/RM端子、开门/关门继电器、抱闸接触器等。安全回路所有急停、上下极限、门锁、限速器开关等常闭触点串联驱动安全继电器。安全继电器的触点再串到主接触器和抱闸接触器的线圈回路中。这个结构中PLC并不是唯一的安全屏障。即使PLC程序逻辑出现荒唐错误只要安全回路断开主接触器和抱闸线圈失电电机就会被机械抱闸抱住这是整套系统里最重要的一道防线。2. I/O分配表和安全触点的接线选择2.1 输入输出点分配项目正式写程序之前我习惯先把I/O表做出来并且每个点都用中文注释标清楚。三层电梯如果外呼按钮做成“1楼只上、3楼只下、2楼上下双方向”加上内呼和必要安全信号点数大概是下面这样PLC地址信号名称说明X0急停按钮常闭输入接安全回路X1检修/自动切换检修时切低速点动X2上限位常闭触点到顶层极限断开X3下限位常闭触点到底层极限断开X4门锁回路信号所有层门、轿门锁信号串联后接入X5关门到位关门限位开关X61楼平层信号每层一个平层感应器X72楼平层信号X103楼平层信号X111楼内呼按钮轿厢操作箱X122楼内呼按钮X133楼内呼按钮X141楼外呼上行X152楼外呼上行X162楼外呼下行X173楼外呼下行X20开门按钮轿厢操作箱X21关门按钮X22变频器故障输出变频器正常时常闭X23抱闸反馈触点用于判断抱闸是否打开或闭合PLC地址信号名称说明Y0变频器正转/上行经中间继电器到STF端子Y1变频器反转/下行经中间继电器到STR端子Y2高速运行多段速1接RH端子Y3低速运行多段速2接RM端子Y4主接触器允许输出与安全继电器触点串联后控制KMY5开门继电器控制开门接触器Y6关门继电器控制关门接触器Y7抱闸释放输出经安全继电器触点控制抱闸接触器Y10运行指示灯轿厢/机房显示Y11蜂鸣器/故障指示灯故障报警这里要特别说明Y4和Y7PLC只是发出“允许”信号真正驱动主接触器和抱闸线圈的回路里必须串入安全继电器触点。比如Y7得电只是表示PLC认为可以松闸但如果这时候门锁动作导致安全继电器掉电抱闸接触器线圈回路照样断开抱闸依然抱住。2.2 为什么急停、门锁、限位开关全部接常闭有朋友会问既然PLC程序里可以判断常开为什么急停之类的不用常开这是电梯控制里最基础也最关键的一个原则所有安全触点必须按“断线即故障”来设计。安全回路里所有开关都用常闭触点串联正常状态下整个回路是导通的安全继电器线圈得电主接触器和抱闸回路才有电。一旦急停被按下、门锁没闭合、限位开关被撞开或者哪根线松动脱落回路就断开安全继电器立即失电系统进入安全状态。反过来如果采用常开触点正常时回路反而是断开的必须靠PLC程序去判断“这个点什么时候闭合”一旦接线松脱系统会误以为开关没动作继续运行那是绝对不允许出现的失效模式。2.3 关于“PLC故障信号用常开还是常闭”的工程判断这个点在调试时最容易把人绕晕我把判断方法说清楚。外部急停接的是常闭触点正常不动作时PLC输入点是导通的也就是X0为ON。程序里读这个信号用的反而是一个常开指令LD X0 ; X0ON 表示安全回路正常不是“发生急停” ANI X1 ; 检修信号 OUT M100 ; 运行允许标志这里面的逻辑是外部常闭触点的“正常状态”对应PLC输入的ON所以程序里用LD常开读取“正常”。如果外部急停按下了回路断开X0变OFFM100随之断开程序就知道安全回路不满足。很多初学者犯的错是“外部接了常闭程序里就写常闭触点”结果变成正常时候常闭触点断开逻辑条件反而不通急停动作时程序反而认为安全。遇到这种情况不要急着改程序先把万用表打到输入端看看安全回路正常时X点到底是亮还是不亮再决定程序里该用LD还是ANI。对于变频器故障这类信号同样如此。我一般把变频器故障继电器的常闭触点接到PLC输入意思是“无故障时输入为ON”程序里用LD X22作为“变频器正常”的判断这样故障或通信断线都会导向停车。3. 核心程序逻辑呼梯登记、方向仲裁与平层定位3.1 呼梯登记按键按下去那一刻只是“开始”电梯的呼梯按钮和普通按钮不一样按一下松开后系统要一直记住这个请求直到电梯到达并开门后才清除。所以在程序里我用SET和RST配合中间继电器M来实现“登记保持”。内呼登记的逻辑比较直观例如1楼内呼LD X11 ; 1楼内呼按钮按下 SET M111 ; 登记1楼内呼 LD M111 ; 1楼有内呼登记 AND M20 ; 系统允许运行条件简化 AND X6 ; 到达1楼平层 RST M111 ; 取消1楼内呼登记外呼登记要稍微复杂一点因为外呼本身带方向。2楼有两个按钮一个上行一个下行它们必须分别存储不能合并。原因很简单如果电梯此时正在上行过程中它只响应2楼上行呼梯2楼下行呼梯要等电梯换向后才响应如果混在一起电梯很容易在2楼停一趟后又为了另一个方向再停一趟或者出现“反复换向”的低效运行。3.2 方向仲裁不是简单地“有呼梯就上下”方向仲裁是整个程序里最难写清楚的部分。它要解决的问题是电梯在任意时刻面对一堆分散在不同楼层、不同方向的呼梯选一个明确方向继续走。我的做法是先给电梯定义一个“运行状态”上行中、下行中、待机。然后按以下规则选择如果电梯处于上行状态就从当前楼层往上找只要上面任何一层有内呼或者外呼上行就继续上行优先停靠顺向呼梯。当电梯走到最高登记楼层处理完顺向呼梯后如果下面还有向下的呼梯才允许换向为下行。不允许刚处理完2楼上行呼梯马上又响应2楼下行呼梯直接掉头。如果电梯处于待机就看所有呼梯相对当前楼层的位置都在上方就上行都在下方就下行。如果同一楼层同时有上行和下行外呼只要方向匹配或者到达该层时顺向就先停一次消掉该方向呼梯反向呼梯留下来等电梯换向回来再处理。这段逻辑在梯形图里写出来就是一堆比较指令和置位指令的组合。为了清晰我在这次程序里用的是步进梯形图STL指令把“上行运行”“下行运行”“平层开门”“待机”拆成状态每个状态内部处理该状态特有的动作和转移条件。用STL的好处是状态边界清楚不会出现多个状态同时激活的混乱。还有一点必须提醒平层信号只能在“该楼层有目标登记”时才能作为停车条件。电梯从1楼高速去3楼时2楼的平层感应器会短暂导通如果程序写的是“平层信号ON就停车”电梯就会在2楼莫名其妙停住。正确的做法是先判断2楼有没有顺向呼梯登记有才允许减速停车没有就只是把它当成一个位置经过信号。3.3 高速运行、减速爬行、平层停车三个动作不能混电梯平层的精度不是靠“刚好在平层信号到达时停高速”来实现的。以满载和空载两种情况为例轿厢的惯性差别很大抱闸动作时间也有偏差如果高速直接刹停电梯不是冲过头就是差一截。我采用的方法是两段速度控制电梯启动后先输出高速尽快运行当轿厢进入目标楼层的平层感应区域我先让电梯切到低速爬行等平层感应器给出准确位置信号PLC再封锁运行输出同时让抱闸接触器失电机械抱闸抱住。具体到平层信号怎么设计这里有细节。如果每层只有一个平层开关信号给出的时刻比较难和“轿厢地板与楼层地板齐平”完全对应不同安装位置会导致系统性偏差。这次项目里轿厢上装了两个感应器上下间隔约10厘米井道每层有一块足够长的隔磁板上行时下感应器先进入隔磁板约10厘米后上感应器也进入。我把“下感应器进入”当作本层换速点此时切断高速、输出低速把“两个感应器都进入且电梯已经低速爬行”当作停车点。这样平层位置有明确的机械参考精度比一个开关可靠得多。减速停车那一下时机的微调很重要。如果停车点信号来得太早轿厢还在低速爬行离准确平层差一点开门后会有台阶太晚又会冲过。这里没有绝对公式要在现场根据低速频率、负载、抱闸动作时间反复试。我的习惯是先把低速频率调到10Hz左右让电梯慢到能看清爬行再根据停车后轿厢地板相对楼层的偏差微调感应器安装位置或者程序里的停车信号选择不要急着一次跑高速。方向不同的停车偏差可能不一样比如上行停得刚好下行可能过一点因为负载和机械间隙方向不同这时就得做个折中让正反两个方向的偏差都能控制在合理范围里。4. 安全联锁怎么搭软件程序之外还有三道硬件防线4.1 安全回路做主PLC程序做辅电梯控制里最忌讳“所有保护都写在梯形图里”。PLC程序跑飞、输出点烧坏、中间继电器卡死这些故障不是软件能自检的必须有硬件兜底。这跟家里装漏电保护器是一个道理你不能指望门口的保安用眼睛判断你有没有触电再去拉闸必须是物理回路自己断电。所以电梯的安全设计我始终按这个顺序来硬件安全回路优先于PLC逻辑PLC逻辑优先于普通功能逻辑。急停、限速器、上下极限、门锁等开关的常闭触点全部串联最后驱动一个安全继电器。安全继电器吸合后它的触点才会给主接触器和抱闸接触器供电。换句话讲就算PLC的Y4一直意外输出“主接触器允许”只要安全回路里有个急停被拍下主接触器线圈得不到电变频器输入侧照样断开电机失电被抱闸抱住。程序里再去判断X0、X4等输入只是为了做状态显示和故障报警不能把程序判断当成唯一保护。4.2 上下行和门锁的硬件互锁不能省如果电梯是用接触器切换电机相序来实现换向上下行接触器的线圈回路里必须做双重互锁KM上行的常闭触点串到下行接触器线圈回路KM下行的常闭触点串到上行接触器线圈回路再加机械互锁。哪怕PLC程序已经写了Y0和Y1互锁硬件上也要再锁一道防止接触器卡死或者PLC输出故障导致两个方向同时得电。用变频器的情况稍有不同上下行信号是接到变频器的STF/STR端子电机相序由变频器内部切换。但PLC输出Y0、Y1依然可能因为程序BUG同时为ON所以梯形图里要互相闭锁LD M100 ; 运行允许 ANI Y1 ; 未输出下行 ANI M20 ; 未到达下限位 AND M50 ; 有上行请求 OUT Y0 ; 输出上行关键并不在于用什么品牌PLC而在于“同一时刻只允许一个方向”这个约束要在每一层都成立。接中间继电器的时候我也会把Y0和Y1对应的继电器触点互相串一下作为驱动层的额外保险。门锁环节同样如此。所有厅门、轿门门锁验证开关导通后门锁继电器吸合这个继电器的触点一方面给PLC提供X4输入另一方面直接串在主接触器控制回路上。这样门没有锁好时即使程序误判“门已关好”并输出运行主接触器回路也不通电梯动弹不了。4.3 抱闸控制顺序比大多数人想象的更讲究带电磁抱闸的曳引电机线圈得电松闸、失电抱闸这个特性本身就是一个机械安全装置。正因为如此抱闸的控制时刻非常关键。我遇到过不止一次现场问题电梯刚启动的时候如果先松抱闸后给速度或者给速度和松抱闸同时进行满载轿厢会先溜一下再被拉起来钢丝绳会“嘣”地一声冲击感很强。原因是电机还没建立起足够力矩抱闸已经松了轿厢靠重力往下溜。正确做法是启动时先让变频器输出方向并开始建立频率延时大概0.3到0.5秒等电机有输出力矩了再让Y7得电松抱闸。停车则反过来平层信号到后先撤掉速度输出同时让抱闸接触器失电让机械抱闸立即抱住随后变频器封锁输出。整个过程顺序错了舒适性差是小问题溜车才是大问题。当然这个延时不能一刀切要根据现场负载、曳引机特性和钢丝绳伸缩情况来调。我的调试方法是先在检修状态做低速试验观察启动瞬间有没有溜车或过冲再逐步把延时推向正常值。变频器如果能设置“频率到达”信号也可以把该信号作为松抱闸的允许条件比单纯延时更可靠。5. 从空载调试到带载跑车实测中最容易翻车的细节5.1 模拟调试阶段拦下来的逻辑BUG正式通电前我在实验台上用按钮、开关和指示灯模拟了整个井道系统。这个阶段不需要真的电梯把每层平层信号、门锁信号、上下限位信号分别接到对应的PLC输入端再用DC24V指示灯代替接触器和变频器输出就能把大部分逻辑错误找出来。第一轮模拟就发现了一个典型问题2楼同时有人按上行和下行电梯从1楼上到2楼停靠消掉了2楼上行呼梯和2楼内呼开门再关门后程序立即判断出“2楼还有下行呼梯”准备换向下行。从逻辑上讲这不算错但在真实的电梯使用场景里乘客不可能同时按两个方向这个呼梯多半是不同乘客在不同时间按的电梯确实应该下一趟再下来接。问题出在我最初的方向仲裁条件里没有加“至少完成一次运行或者换向锁定时间”导致电梯处理完2楼上行后立刻反向下行从1楼出发本来只需要停一次实际却可能为了同一个楼层停两次。修正方案是在一个运行周期内同一楼层的反向呼梯不参与当前换向判断必须等电梯到达顶层/底层后重新分配方向时才被纳入。第二轮模拟又查出一个更隐蔽的错误运行中如果按了急停我最初的程序会让所有输出清零但M1xx呼梯登记不丢失。结果就是复位后电梯马上继续执行原来的呼梯突然又走了乘客根本来不及反应。正确的做法是急停复位后必须重新检测门锁、方向、位置并且建议把当前的自动运行状态切回待机让电梯需要重新召唤才运行而不是把中断前的任务继续跑完。5.2 抱闸时序、起动频率与平层精度的现场调整把程序搬到真实设备上后问题开始变得很“物理”。第一次低速跑车轿厢空载上行时还好空载下行时明显听到电机启动瞬间有一声闷响像是钢丝绳被猛拽了一下。检查发现是松抱闸太早电机输出频率还很低力矩不足。我把Y7输出在运行指令后延时了0.4秒同时把变频器启动频率适当提高一点让曳引机在抱闸松开前已经建立足够的力矩这个现象立刻减轻了。平层精度也调了好几轮。最初两次跑车电梯上行到2楼停车后轿厢地板比楼层地板高出大概2厘米下行时又低1厘米左右。这个差异主要来自抱闸动作方向和机械间隙。我把低速运行频率从15Hz降到8Hz让停车前速度更慢同时调整了停车信号触发的时机。最终把上行和下行停车误差都控制在了±1厘米以内对货梯场景已经够用。另一个让我印象深刻的是高速切低速瞬间的顿挫感。最开始我是“高速输出断开后马上输出低速”变频器突然从高频切换到低频电梯像被踩了一脚刹车轿厢晃动很厉害。后来修改成“先断开高速延时0.2秒再输出低速”中间这段短暂滑行让电梯自然减速切换冲击明显小了很多。这类问题没法完全靠梯形图推演必须在现场反复试记录每次参数修改后的现象。5.3 楼层位置丢失后的恢复策略楼层位置丢失是我一开始没充分考虑的情况。现场调试时检修人员把电梯手动开到两层之间然后又上下移动了几次PLC里的“当前楼层”就和实际位置对不上了。如果这时候有呼梯进来PLC按错误楼层去判断方向轻则电梯乱跑重则可能往极限位置撞。解决思路并不复杂但必须在程序里提前做。我的做法是每经过一个平层感应器就刷新“当前楼层”变量让位置在正常运行时随时得到校正。在上端站和下端站各装一个强迫换速开关。当电梯向上运行接近顶层时即使PLC还不知道自己在几楼只要这个开关动作就强制切到低速不能再高速冲顶如果连这个开关都没被触发最后还有极限开关切断安全回路。如果PLC上电后发现没有楼层位置记忆就只允许检修低速运行不允许自动高速运行。检修状态下手动把电梯开到端站