1. 项目背景与核心需求
去年接手了一个老式四层电梯的PLC改造项目,业主方要求保留原有机械结构,仅对控制系统进行升级。这种"老瓶装新酒"的改造方案,既要考虑新系统的稳定性,又要兼顾与旧设备的兼容性,对程序设计提出了更高要求。三菱FX系列PLC因其在电梯控制领域的广泛应用和稳定表现,成为本次改造的首选控制器。
四层电梯看似简单,实则暗藏玄机。与常见的二层电梯相比,它需要处理更复杂的呼叫逻辑、更精细的平层控制,以及更严苛的安全保护机制。特别是在高峰时段,如何优化响应策略减少乘客等待时间,成为程序设计的关键挑战。
2. 控制系统架构设计
2.1 硬件配置方案
实际选用了FX3U-48MT/ES-A作为主控单元,这款PLC自带24点输入和24点晶体管输出,完全满足四层电梯的常规需求。输入点分配如下:
- 轿厢内指令按钮:1F~4F各1个(共4点)
- 外呼上行按钮:1F~3F各1个(共3点)
- 外呼下行按钮:2F~4F各1个(共3点)
- 平层信号:每层各1个(共4点)
- 开关门限位、安全触板等(占用剩余输入点)
输出点主要用于控制:
- 曳引电机正反转(2点)
- 制动器控制(1点)
- 楼层显示(4点)
- 方向箭头(2点)
- 门机控制(2点)
2.2 软件逻辑框架
采用状态机设计模式,将电梯运行划分为6个主要状态:
- 待机状态:电梯停靠某层,门关闭
- 开门状态:响应呼叫后执行开门动作
- 关门状态:等待乘客进入后关闭轿门
- 加速运行:启动电机并释放制动器
- 匀速运行:保持恒定速度移动
- 减速停止:接近目标层时减速平层
每个状态转换都设置了严格的条件判断和安全互锁。例如从"开门"转到"关门"需要同时满足:开门到位信号有效+开门时间超过3秒+无安全触板触发。
3. 核心功能实现细节
3.1 呼叫登记与响应算法
采用矩阵扫描方式处理呼叫信号,内部维护两个寄存器:
- D100:外呼登记寄存器(bit0~bit5对应1F上~4F下)
- D101:内选登记寄存器(bit0~bit3对应1F~4F)
每100ms扫描一次输入信号,通过OR指令更新登记寄存器。响应策略采用"方向优先"原则:
assembly复制MOV K4X000 D0 // 读取外呼输入到D0
OR D0 D100 // 更新外呼登记
MOV K4X010 D1 // 读取内选输入到D1
OR D1 D101 // 更新内选登记
方向判断逻辑:
- 上行时响应所有上方同向呼叫和上方内选
- 下行时响应所有下方同向呼叫和下方内选
- 无方向指令时采用就近原则
3.2 平层控制精要
平层精度直接影响乘坐舒适度,我们采用"三级制动"方案:
- 一级减速点(距目标层1.5米):电机降速至30%
- 二级减速点(距目标层0.5米):电机降速至10%
- 平层信号触发:立即切断电机电源并施加制动
通过高速计数器C235对旋转编码器脉冲计数,配合比较指令实现位置判断:
assembly复制LD M8000 // 运行监控
OUT C235 K1000 // 编码器脉冲计数
CMP K500 C235 // 判断一级减速
CMP K150 C235 // 判断二级减速
3.3 安全保护机制
设置三重安全防护:
- 电气保护:急停按钮直接切断安全回路
- 软件保护:运行超时、位置异常等触发STOP
- 机械保护:限速器-安全钳联动装置
在程序中实现的安全逻辑示例:
assembly复制LD X024 // 安全回路信号
AND X025 // 门锁信号
AND M50 // 无故障标志
OUT Y010 // 允许运行输出
4. 调试经验与问题排查
4.1 现场调试笔记
在初期调试中遇到几个典型问题:
- 电机启停抖动:发现制动器释放时序不当,调整为先给电机励磁再松闸
- 平层不准:编码器联轴器有0.5mm间隙,更换为胀套连接后解决
- 开关门卡阻:门机曲线参数需要调整,最终设置为:
- 加速段:0.3秒
- 匀速段:0.5米/秒
- 减速段:0.4秒
4.2 抗干扰措施
工业现场干扰严重,我们采取了以下措施:
- 所有信号线采用双绞屏蔽线
- 模拟量信号单独走线槽
- PLC接地与动力接地分开
- 关键输入点并联0.1μF电容
特别在门机控制回路中,发现变频器干扰导致PLC误动作,增加磁环后问题消失。
5. 程序优化技巧
5.1 运行效率提升
通过以下优化缩短扫描周期:
- 将频繁调用的子程序改为直接写在主程序
- 用MOV指令替代多个LD/OUT组合
- 合理使用区间比较指令ZCP
优化前后对比:
| 优化项 | 原周期 | 优化后 |
|---|---|---|
| 主程序扫描 | 8ms | 5ms |
| 中断响应 | 2ms | 1ms |
| 通信处理 | 15ms | 10ms |
5.2 可维护性设计
为提高后期维护便利性,我们:
- 采用结构化注释:每个功能块添加详细说明
- 使用变量符号表:给每个软元件赋予含义名称
- 预留20%备用点:为后续改造留有余量
- 编写调试手册:记录所有参数设置和特殊逻辑
例如注释规范:
assembly复制// 功能:外呼信号处理
// 作者:王工
// 日期:2023-05-20
// 修改记录:V1.0 初始版本
6. 关键参数计算
6.1 运行曲线计算
根据电梯技术参数计算理想运行曲线:
- 额定速度:1m/s
- 最大加速度:0.5m/s²
- 层高:3.5m
加速段距离:
code复制S = v²/(2a) = 1/(2×0.5) = 1m
得出各段距离:
- 加速段:0→1m(1秒)
- 匀速段:1→2.5m(1.5秒)
- 减速段:2.5→3.5m(1秒)
6.2 制动时序设置
机械制动器动作时间实测为150ms,因此程序中设置:
- 提前200ms发出制动指令
- 速度降至0.1m/s时切断电机电源
- 制动完全抱闸后延时100ms撤消制动信号
7. 扩展功能实现
7.1 节能运行模式
在非高峰时段(通过RTC判断)启用节能策略:
- 空闲超过5分钟自动关闭轿厢照明
- 待机时降低变频器待机功耗
- 错峰执行自学习运行
程序实现:
assembly复制LD M8014 // 分钟脉冲
RST C10 // 清零空闲计时器
LD X002 // 门关闭信号
AND X003 // 无呼叫信号
OUT C10 K300 // 5分钟计时
7.2 故障自诊断
开发了三级诊断系统:
- 实时监测:显示当前主要状态
- 历史记录:保存最近20条故障
- 预测维护:统计主要部件运行时间
诊断界面通过触摸屏实现,关键代码如下:
assembly复制MOV D200 D0 // 当前楼层
MOV D210 D1 // 运行方向
MOV D220 D2 // 门状态
CALL P10 // 刷新HMI显示
8. 项目总结
这个四层电梯项目前后历时三周完成,期间经历了三次重大方案调整。最大的收获是认识到电梯控制中"安全与效率"的平衡艺术——过于保守的设计会影响用户体验,而过度追求响应速度又可能带来安全隐患。
几个值得记录的心得:
- 机械特性对控制效果的影响远超预期,建议先调好机械再优化程序
- 现场干扰问题防不胜防,预留20%的备用IO点非常必要
- 平层精度需要电气和机械配合调整,单纯靠程序无法解决所有问题
- 维护文档的完整程度直接决定后期维护成本
程序最终实现了所有设计指标:平均候梯时间不超过30秒,平层精度±3mm,故障率低于0.5次/月。这个案例再次证明,好的PLC程序不仅是代码的堆砌,更是对设备特性的深刻理解和对使用场景的精准把握。
