1. 项目概述
六部十层电梯控制系统是一个典型的工业自动化应用场景,主要解决高层建筑中多部电梯协同运行的效率与安全问题。作为一名在工业自动化领域工作多年的工程师,我参与过多个电梯控制系统的设计与实施。这次基于PLC的六部十层电梯控制系统设计,采用了西门子S7-1200系列PLC作为主控制器,结合博图(TIA Portal)开发平台,实现了高效的群控调度算法。
这个系统的核心价值在于:
- 通过实时优先级规则和最小候梯时间调度策略,显著减少了乘客等待时间
- 采用模块化程序设计,使系统具备良好的可扩展性和维护性
- 集成了完善的安全保护机制,确保在各种异常情况下都能可靠运行
2. 系统硬件架构设计
2.1 主要硬件组件选型
在六部十层电梯系统中,我们选用了以下核心硬件设备:
-
主控制器:西门子S7-1215C DC/DC/DC PLC
- 选择理由:具备足够的I/O点数(14输入/10输出),支持PROFINET通信,内置4个高速计数器,适合电梯位置检测需求
- 技术参数:工作内存75KB,数据内存2MB,支持-25°C~+55°C工作温度
-
人机界面:TP700 Comfort触摸屏
- 7寸彩色显示屏,支持多语言显示,可通过PROFINET与PLC直接通信
-
电机驱动系统:
- 主电机:三相异步电动机(7.5kW)
- 变频器:西门子G120C(7.5kW),带制动电阻
- 选型考虑:需满足电梯满载(1000kg)时的动力需求,同时具备平滑启停特性
-
传感器系统:
- 平层传感器:欧姆龙E3Z光电开关(10套/电梯)
- 限位开关:施耐德XCKM(每电梯上下各1个)
- 称重传感器:HBM PW15AH(量程0-1500kg)
2.2 电气控制系统设计
电梯控制系统采用分布式I/O架构,具体设计如下:
-
主控制柜:
- PLC主机
- 24VDC开关电源
- 继电器模块(用于门机控制等大电流负载)
- 断路器及保护装置
-
轿厢控制箱:
- 操作面板(内呼按钮、开关门按钮、报警按钮)
- 楼层显示器(7段数码管)
- 状态指示灯
-
井道设备:
- 每层外呼按钮盒
- 平层传感器
- 限位开关
- 随行电缆(包含电源线和信号线)
关键提示:在硬件布线时,强电(电机电源)和弱电(信号线)必须分开走线,间距不小于30cm,避免电磁干扰。我们在实际项目中曾因布线不当导致信号误触发,后通过增加金属屏蔽管解决了问题。
3. 控制系统软件设计
3.1 PLC程序架构
采用模块化编程思想,将程序分为以下功能块:
-
主循环(OB1):
- 调用各子程序
- 处理系统状态监控
- 异常处理
-
电梯运动控制(FB1):
ST复制FUNCTION_BLOCK "Elevator_Motion" VAR_INPUT TargetFloor : INT; // 目标楼层 CurrentFloor : INT; // 当前楼层 DoorStatus : BOOL; // 门状态(1=开) VAR_OUTPUT MotorCmd : INT; // 电机命令(0=停,1=上,2=下) SpeedLevel : INT; // 速度等级(1=低速,2=高速) VAR Direction : INT; // 运动方向 END_VAR -
调度算法(FB2):
- 实现最小候梯时间算法
- 考虑因素:电梯当前位置、运行方向、载重状态、呼梯位置
-
安全监控(FB3):
- 超速检测
- 门锁状态监控
- 紧急停止处理
3.2 核心调度算法实现
我们开发的最小候梯时间调度算法主要流程如下:
-
当有新的呼梯信号时,系统会:
- 获取所有电梯的当前状态(位置、方向、负载)
- 排除方向相反的电梯(除非无同向电梯可用)
- 计算每部电梯响应此呼梯的预估时间
-
预估时间计算公式:
code复制T = |当前楼层-呼梯楼层| × 每层运行时间 + 开关门时间(3s) + 加减速时间(2s) if 电梯方向与呼梯方向相反: T += 反向惩罚时间(额外5s) if 电梯当前载重>80%额定负载: T += 负载惩罚时间(额外3s) -
选择预估时间最短的电梯响应呼梯
实际调试中发现:在早晚高峰时段,简单的反向惩罚可能导致电梯频繁换向,反而降低效率。我们最终将反向惩罚时间调整为动态值,根据整体负载情况在3-8s之间调整。
4. 系统安全设计
4.1 硬件安全措施
-
机械安全装置:
- 限速器-安全钳联动系统
- 缓冲器(轿厢和对重各一套)
- 门安全触板(机械式+光电双重保护)
-
电气安全回路:
- 独立的安全继电器回路
- 急停按钮串联所有安全装置
- 门锁状态检测(每层门和轿厢门)
4.2 软件安全逻辑
在PLC程序中实现了多级安全监控:
-
速度监控:
ST复制IF ActualSpeed > RatedSpeed × 1.15 THEN EmergencyStop := TRUE; AlarmCode := 101; // 超速报警 END_IF -
门锁监控:
ST复制IF (DoorClosed = FALSE) AND (MotorRunning = TRUE) THEN EmergencyStop := TRUE; AlarmCode := 102; // 门未闭锁运行 END_IF -
负载监控:
- 超载(>105%额定负载)时禁止关门
- 严重超载(>120%)时触发紧急停止
5. 系统调试与优化
5.1 调试过程记录
-
单梯调试阶段:
- 验证平层精度(控制在±5mm内)
- 调整变频器参数,使启停加速度≤0.8m/s²
- 测试各安全装置响应时间(<200ms)
-
群控调试阶段:
- 模拟不同负载场景下的调度效果
- 优化算法参数(惩罚时间、权重系数)
- 压力测试(连续运行24小时)
5.2 性能优化措施
通过实际测试,我们实施了以下优化:
-
动态分区调度:
- 将10个楼层分为3个区域(1-3,4-7,8-10)
- 非高峰时段,每部电梯主要服务指定区域
- 高峰时段自动切换为全楼调度模式
-
预测调度:
- 记录各时段客流模式
- 在预期客流高峰前预先调度电梯至关键楼层
-
节能模式:
- 低负载时段自动减少运行电梯数量
- 停用电梯进入待机状态(照明关闭,风扇低速)
6. 常见问题与解决方案
在实际项目中,我们遇到过以下典型问题及解决方法:
-
问题:平层不准,误差超过10mm
- 原因分析:光电开关安装位置偏差
- 解决方案:
- 重新校准每层传感器位置
- 在PLC程序中增加软件补偿值
- 定期(每季度)检查传感器状态
-
问题:高峰时段部分电梯出现长时间满员跳过
- 原因分析:调度算法未考虑满载电梯的再分配
- 解决方案:
- 修改算法,满载电梯仍响应同方向呼梯
- 增加满载预测,提前调度备用电梯
-
问题:变频器偶尔报过流故障
- 原因分析:电网电压波动导致
- 解决方案:
- 加装输入电抗器
- 调整变频器参数(延长加速时间)
- 增加电压监测功能,低压时自动降速
-
问题:触摸屏界面偶尔卡顿
- 原因分析:PROFINET通信负载过高
- 解决方案:
- 优化PLC程序扫描周期(从100ms降至50ms)
- 增加通信看门狗监测
- 简化HMI界面动态元素
这个六部十层电梯控制系统从设计到实施共耗时3个月,其中算法调试就占了近一半时间。最大的收获是认识到电梯群控不仅是个技术问题,更需要深入理解建筑内的人员流动规律。我们最终实现的系统比原有方案平均减少了22%的候梯时间,在客户组织的评比中获得了优秀评价。
