1. 项目背景与核心价值
去年参加西门子杯工业自动化竞赛时,我和团队花了三个月时间打磨的这套三部十层电梯控制系统,最终斩获了初赛特等奖和全国总决赛二等奖。这个基于博图V18平台开发的系统,不仅实现了常规电梯控制功能,更创新性地解决了高层建筑电梯调度中的多个痛点问题。
在实际办公楼测试中,这套系统使早高峰平均候梯时间缩短了42%,电梯运行能耗降低28%。其核心价值在于:
- 动态响应:通过实时监测三台电梯的运行状态,智能分配外呼请求
- 场景适配:自动识别早晚高峰特征,切换最优调度策略
- 容错设计:独创的双击误操作识别机制,减少无效停靠
- 资源优化:内存占用控制在50%以下,确保长期稳定运行
2. 系统架构设计解析
2.1 硬件平台选型
采用西门子S7-1200 PLC作为主控制器,具体型号为1215C DC/DC/DC。选择依据:
- 处理能力:支持3台电梯的并行控制需求
- 通信接口:自带PROFINET接口便于与WinCC监控系统集成
- 扩展性:留有30%的I/O余量应对后期功能升级
2.2 软件架构设计
系统采用分层模块化设计:
code复制┌───────────────────────┐
│ WinCC监控层 │
├───────────────────────┤
│ 调度策略管理层 │
│ (包括高峰判断模块) │
├───────────────────────┤
│ 单梯控制层(3个实例) │
├───────────────────────┤
│ 硬件驱动层(PLC) │
└───────────────────────┘
每个功能模块都封装为独立的FB块,通过背景数据块实现数据隔离。例如外呼分配模块(FB801)与电梯控制模块(FB802)通过DB802数据块交换信息。
3. 核心功能实现细节
3.1 智能外呼分配算法
采用改进的LOOK算法,核心逻辑流程:
- 实时采集三部电梯的:
- 当前位置
- 运行方向
- 轿厢负载
- 已登记的内呼请求
- 对新外呼请求计算三个评估值:
python复制# 伪代码示例 def calculate_score(elevator, call_floor): distance = abs(elevator.position - call_floor) direction_match = 1 if (elevator.direction == call_direction) else 0.5 load_factor = 1 - (elevator.load / max_load) return 0.6*distance + 0.3*direction_match + 0.1*load_factor - 选择综合得分最高的电梯响应请求
实际调试中发现:当distance≤2层时,直接分配比计算更高效,因此在程序中加入了此优化判断
3.2 高峰模式识别机制
通过统计分析实现智能时段判断:
- 数据采样:记录每日各时段呼梯频次(采样周期5分钟)
- 特征提取:计算移动平均值(窗口大小7天)
- 模式切换条件:
code复制当连续3个采样点呼梯次数 > 阈值(1.5倍日均值) 且 当前时段在06:00-09:00或17:00-20:00范围内
高峰模式下会:
- 优先响应内呼请求
- 自动启用"直达模式"(跳过部分外呼)
- 调整开门保持时间(从3秒缩短为2秒)
4. 关键技术创新点
4.1 双工程文件热切换
实现原理:
- 在OB35循环中断组织块中检测切换信号
- 使用S7-1200的Web服务器功能接收新工程文件
- 通过"BLKMOV"指令动态更新功能块参数
- 保持运行数据在保留存储器中
实测切换时间<200ms,远低于电梯停靠的典型时间(5-8秒),实现无感切换。
4.2 双击内呼消除设计
防误触逻辑实现:
STL复制// 西门子STL语言示例
IF "内呼按钮" THEN
"按下计时器"(IN := TRUE);
IF "按下计时器".Q AND NOT "第一次按下标志" THEN
"第一次按下标志" := TRUE;
ELSIF "按下计时器".Q AND "第一次按下标志" THEN
// 双击处理
RESET"内呼登记";
"第一次按下标志" := FALSE;
END_IF;
END_IF;
时间窗口设置为0.5秒,经实测可过滤95%以上的误操作。
5. 系统优化与稳定性保障
5.1 内存管理方案
通过以下措施将内存占用控制在50%以下:
- 使用优化的数据结构:
- 请求队列采用环形缓冲区
- 楼层状态用位存储(1个WORD表示10层状态)
- 定期清理历史数据:
- 每24小时自动归档运行日志
- 动态释放已完成任务的资源
5.2 故障自诊断系统
三级故障处理机制:
- 初级检测(循环扫描):
- 门锁状态异常
- 过载报警
- 通信超时
- 中级诊断(定时触发):
- 电机电流波形分析
- 位置传感器校验
- 高级预测(基于历史数据):
- 钢丝绳磨损趋势预测
- 制动器寿命评估
6. 实际部署注意事项
-
现场调试要点:
- 需精确测量各楼层平层位置(误差<5mm)
- 建议在非高峰时段进行参数整定
- 光电传感器需要防尘处理
-
参数调整建议:
- 高峰时段阈值应根据建筑特点调整
- 外呼分配权重系数可现场微调
- 货梯的加速度参数应单独设置
-
维护经验:
- 每月检查数据归档情况
- 每季度更新趋势预测模型
- 异常日志建议保留至少90天
这套系统在XX大厦实际运行8个月以来,平均故障间隔时间达到1800小时,远超行业平均水平。最让我自豪的是,通过持续优化调度算法,在能耗基本不变的情况下,将运输能力提升了35%。