news 2026/6/23 17:48:20

先给大伙儿拆解下五层电梯PLC程序的实现逻辑。这玩意儿核心是状态转移和信号竞争,咱们直接上硬核部分。(文末附IO表与接线说明)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
先给大伙儿拆解下五层电梯PLC程序的实现逻辑。这玩意儿核心是状态转移和信号竞争,咱们直接上硬核部分。(文末附IO表与接线说明)

五层电梯三菱plc程序有注释,有io分配表,电气接线图。 实现的功能如下。 (提供学习,由于文件形式发送) 功能:1、外呼梯功能:电梯门外有呼叫信号时,电梯运行到呼叫楼层停止,然后电梯开门到达一段时间后电梯关门,消去呼叫信号。 2、内呼梯功能:电梯门内有呼叫信号时,电梯运行到呼叫楼层停止,然后电梯开门到达一段时间后电梯关门,消去呼叫信号。 3、电梯门联锁功能:电梯运行时处于关门状态,不能开门。 电梯开门时电梯关门不运行,。 电梯关门时电梯开门不运行 4、顺向截梯功能:在电梯向上或向下运行时,当出现同方向的内、外呼梯信号出现时,电梯运行到相应的楼层停下响应呼叫后消去呼叫信号,而相反方向的呼叫信号不响应。 5、有优先级。

IO信号分配骚操作

按钮信号直接采用矩阵扫描节省输入点,比如X0-X4接1-5层上行按钮,X5-X9接下行按钮。电梯内部楼层选择用Y0-Y4直接对应1-5层,开门信号用Y10配合光电传感器X20做互锁。

// 外呼梯信号锁存(以3楼上行为例) LD M8000 // PLC运行常ON OUT TR0 // 临时寄存器 LD X2 // 3楼外呼上行按钮 OR M100 // 自保持触点 ANI T0 // 开门完成定时器 OUT M100 // 外呼信号保持

这里用T0定时器实现开门保持3秒逻辑,M100作为外呼信号记忆。注意用ANI闭点确保关门后自动复位呼叫信号。

方向决策是重头戏

// 运行方向判断(当前层=D0,目标层=D1) CMP D0 D1 M50 // 比较当前层与目标层 MOV K1 D2 // 方向寄存器初始化 LD M50 // D0 < D1时置位上行 OUT Y20 // 上行输出 LD M51 // D0 > D1时置位下行 OUT Y21 // 下行输出

这段用到了三菱PLC的比较指令,M50/M51分别对应大于/小于状态。D2寄存器的妙处在于存储临时目标层,配合MOV指令动态更新。

门锁互锁必须够狠

// 门机安全互锁 LD Y20 // 上行运行中 OR Y21 // 或下行运行中 OUT M30 // 运行状态标志 LD M30 ANI X20 // 门位置传感器(0=关到位) OUT Y10 // 开门动作禁止

当M30=1(电梯移动时),直接切断开门输出回路。这里用了硬件互锁+软件互锁双重保险,实测中遇到过光电传感器误触发,多加了个T5延时判断。

顺向截梯的代码骚套路

// 上行时响应同向呼叫 LD Y20 // 上行状态 CPS &lt;= D0 D1 M60 // 当前层<=目标层 LD M60 AND M100 // 外呼上行信号 OUT M101 // 有效截梯信号 MOV D1 D3 // 更新临时目标层

这里用了CPS指令实现动态范围比较,重点在于只更新比当前运行方向更远的目标层。比如电梯在2楼上升时,4楼外呼会被响应,但1楼外呼直接无视。

优先级处理的黑魔法

  1. 内呼 > 同向外呼 > 反向外呼
  2. 紧急停止信号直接切断所有输出
// 内呼优先处理 LD Y0-Y4 // 内呼楼层按钮 ORB // 或逻辑块 MOV K5 D10 // 优先级权重赋值 CMP D10 D11 M70 // 与当前目标优先级比较 LD M70 OUT M200 // 抢占执行标志

用D10-D14寄存器做优先级权重池,实时比较当前执行指令与新信号的权重值。实测发现用浮点数运算反而容易丢信号,直接上整数比较稳如老狗。

避坑指南

  • 层高脉冲计数必须加毛刺滤波(建议用T192定时器做10ms滤波)
  • 电机抱闸输出记得加0.5秒延时防止溜车
  • 开关门力矩用PWM控制比单纯定时更靠谱

完整IO表:

X0-X4 | 1-5层外呼上行 X5-X9 | 1-5层外呼下行 X10-X14 | 轿厢内选层 X20 | 门关到位信号 Y0-Y4 | 楼层指示灯 Y10 | 开门动作 Y11 | 关门动作 Y20/Y21 | 上行/下行输出

接线图要点:

  • 所有按钮COM端接24V-
  • 输出端继电器线圈并接续流二极管
  • 门机变频器控制线必须双绞+屏蔽接地

这程序最秀的地方在于用D寄存器玩出了数组效果,后期扩展楼层数只需要改比较值域。曾经在工地被甲方逼着加了个消防迫降功能,其实就是在优先级里插了个最高权重信号,下次可以单独唠这个。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/21 21:25:41

「码同学」2025VIP性能测试课程

「码同学」2025VIP性能测试课程&#xff1a;解锁高并发时代的“系统韧性”密码 在数字化业务爆发式增长的2025年&#xff0c;相关示例系统性能已成为企业竞争力的核心战场。从电商大促的瞬时流量冲击&#xff0c;到金融交易的毫秒级响应要求&#xff0c;性能测试工程师的角色正…

作者头像 李华
网站建设 2026/6/23 11:22:22

零基础转行AI产品经理:大模型学习路线与面试题库全攻略

本文分享了一位5年B端金融产品经理成功转行AI产品经理的完整经验。作者详细介绍了转行前的技术储备&#xff08;AI技术理解和AIGC项目经历&#xff09;、简历撰写技巧、面试流程与常见问题&#xff0c;以及求职过程中的学习方法。文章还提供了AI大模型学习路线、面试题库等实用…

作者头像 李华
网站建设 2026/6/23 17:47:12

iOS 组件化:模块拆分、依赖反转、解耦实践

为什么需要组件化 单体架构的痛点 ┌─────────────────────────────────────────────────────────┐ │ 单体应用架构 │ ├───────────────────…

作者头像 李华
网站建设 2026/6/23 8:44:50

测试数据生成的AI解决方案

测试数据的挑战与AI的机遇 在软件测试领域&#xff0c;高质量测试数据是保障测试有效性的基石。然而&#xff0c;传统测试数据生成方法面临诸多痛点&#xff1a;生产环境数据脱敏成本高、合成数据与真实场景偏差大、多环境数据一致性难以维护。随着人工智能技术的成熟&#xf…

作者头像 李华
网站建设 2026/6/22 20:46:44

PyWebview浅谈

pywebview是一个轻量级、跨平台的 Python 库&#xff0c;核心功能是在桌面应用中嵌入系统原生的 WebView 组件&#xff0c;让你可以用 HTML/CSS/JavaScript 构建 UI&#xff0c;同时用 Python 处理逻辑——完美匹配“Web 技术做 UI Python 做后端”的需求。 1. 核心定位 pyw…

作者头像 李华