1. 项目背景与核心需求
六层电梯控制系统是工业自动化领域的经典应用场景。作为一名在工控领域摸爬滚打多年的工程师,我发现传统继电器控制方案存在线路复杂、故障率高、维护困难等痛点。采用PLC(可编程逻辑控制器)进行改造后,系统可靠性提升显著,这次就分享一个完整的实现方案。
这个系统的核心需求很明确:实现六层楼宇的电梯安全运行控制,包括楼层呼叫响应、轿厢位置检测、运行方向判断、开关门控制等基本功能,同时需要满足以下工业级要求:
- 响应时间≤200ms(从按下按钮到系统响应)
- 平层精度±5mm以内
- 紧急制动情况下停车距离≤150mm
- 支持满载/超载报警(≥80%额定载荷预警,≥100%禁止运行)
2. 系统架构设计
2.1 硬件选型方案
经过多方案对比,最终硬件配置如下:
- PLC主机:西门子S7-1200 CPU1214C(选型理由:6个高速计数器满足编码器输入需求,14点数字量输入/10点输出满足基础控制)
- 人机界面:威纶通MT8071iE(7寸触摸屏,支持动态楼层显示)
- 电机驱动:三菱FR-D720S变频器(0.75kW,带制动电阻)
- 位置检测:欧姆龙E6B2-CWZ6C增量式编码器(600P/R)
- 称重装置:梅特勒-托利多PW15C3称重传感器(量程1000kg)
关键提示:PLC的DI点需预留20%余量,我们实际使用了12个输入点(6个上行呼叫+6个下行呼叫+门限位等),输出点使用了8个(电机正反转+楼层指示灯等)
2.2 软件功能规划
系统程序采用模块化设计,主要功能块包括:
- 楼层扫描模块(OB35中断组织块,周期100ms)
- 呼叫登记与消号模块(FC1功能块)
- 运行方向判断模块(FC2功能块)
- 速度曲线生成模块(FC3功能块)
- 安全保护模块(FC4功能块)
ladder复制// 典型梯形图逻辑示例:上行呼叫登记
LD I0.0 // 1楼上行按钮
S M0.0 // 置位1楼上行登记标志
LD I0.1 // 2楼上行按钮
S M0.1 // 置位2楼上行登记标志
... // 其他楼层类推
3. 核心算法实现
3.1 楼层定位算法
采用编码器脉冲计数+软件校正的方案:
- 每层楼高度3m,编码器每转对应电梯移动πD≈0.628m(D=200mm曳引轮直径)
- 每层对应脉冲数:(3/0.628)×600≈2866个脉冲
- 在程序中建立脉冲-楼层映射表:
| 楼层 | 脉冲范围 | 减速点脉冲 |
|---|---|---|
| 1F | 0-2866 | 2500 |
| 2F | 2867-5733 | 5367 |
| ... | ... | ... |
| 6F | 14335-17202 | 16935 |
实际调试中发现钢丝绳打滑会导致累计误差,因此增加了以下补偿措施:
- 每层平层信号(磁簧开关)触发时重置计数器
- 运行超过5次未检测到平层信号时触发纠错程序
- 每日首次运行执行全楼层自学习
3.2 调度算法优化
针对六层楼宇的特点,我们改进了传统的SCAN算法:
- 方向优先原则:同方向请求优先响应
- 最近距离优先:当无同方向请求时,选择距离最近的逆向请求
- 高峰时段策略:
- 早高峰(7:00-9:00):默认停靠1层待命
- 晚高峰(17:00-19:00):增加6层停靠权重
算法实现关键代码:
SCL复制// SCL语言编写的调度判断
IF "上行方向" THEN
"目标楼层" := MIN(6, NEXT_HIGHER("当前楼层"));
IF "目标楼层" > 6 THEN
"目标楼层" := MAX(1, NEXT_LOWER("当前楼层"));
"运行方向" := 0; // 切换为下行
END_IF;
END_IF;
4. 安全保护机制
4.1 多重安全回路设计
-
电气安全回路(硬件级):
- 急停按钮串联所有安全触点
- 安全继电器(PNOZ X2.1)监控门锁状态
- 变频器STO安全扭矩关断功能
-
软件保护措施:
- 速度-位置双闭环校验(当偏差>10cm时急停)
- 加速度变化率监测(d²s/dt² > 1.5m/s³时报警)
- 看门狗定时器(500ms超时复位)
4.2 典型故障处理方案
根据现场统计,常见故障及处理方法:
| 故障现象 | 可能原因 | 处理步骤 |
|---|---|---|
| 平层不准(±2cm外) | 编码器联轴器松动 | 1. 检查机械连接 2. 执行自学习 |
| 开关门异常 | 门机变频器参数漂移 | 重设V/f曲线参数 |
| 随机停车 | 安全回路接触不良 | 测量X2继电器线圈电压 |
| 楼层显示错乱 | 脉冲计数器溢出 | 增加DINT类型计数器 |
5. 现场调试要点
5.1 机械安装注意事项
- 编码器安装必须保证同心度(偏差<0.1mm)
- 称重传感器需预压5%量程(50kg预压力)
- 曳引钢丝绳张力偏差≤5%
- 导轨垂直度要求:≤0.5mm/5m
5.2 参数整定流程
-
变频器基本参数:
plaintext复制
Pr.1=50Hz(上限频率) Pr.2=5Hz(启动频率) Pr.7=3s(加速时间) Pr.8=3s(减速时间) Pr.20=50Hz(基准频率) -
PID调节步骤:
- 先设P=50%,I=0,D=0
- 观察平层抖动情况,逐步增加I值
- 最后微调D值抑制超调
- 典型最终参数:P=30%,I=0.5s,D=0.1s
6. 系统优化技巧
经过三个月的运行数据收集,我们实施了以下优化:
-
能耗优化:
- 空闲超过5分钟时自动切换至节能模式(电机降速30%)
- 利用再生制动能量回馈装置(节电约15%)
-
预测维护方案:
- 记录电机电流趋势(基线值±10%报警)
- 钢丝绳张力监测(每周自动测试一次)
- 导向轮异响检测(加装振动传感器)
-
扩展功能实现:
- 消防迫降功能(接入消防信号干接点)
- 停电应急平层(选配UPS电源)
- 物联网远程监控(通过4G模块上传数据)
这个项目给我的深刻体会是:电梯控制不是简单的逻辑实现,而是机械、电气、软件的综合艺术。比如平层精度这个指标,我们花了整整两周时间调整PID参数和机械间隙,最终才达到±3mm的稳定性能。建议新手在类似项目中一定要预留足够的调试时间,特别是安全回路的测试必须逐项验证。