1. 项目概述:十层起重机电梯控制系统的技术架构
在工业自动化领域,起重机电梯控制系统属于典型的多层分布式控制场景。这次我们要构建的是一个十层结构的起重机电梯控制系统,采用西门子S7-200 PLC作为底层控制器,配合博图V16进行PLC编程和仿真调试,最后通过组态王实现上位机监控界面。这种组合在中小型工业控制项目中非常常见,既能满足控制精度要求,又具有较高的性价比。
这个系统的核心挑战在于要同时处理起重机的大负载运动和电梯的精准停靠两个控制需求。起重机部分需要考虑防摇控制、负载检测等特殊功能,而电梯部分则需要实现常规的楼层呼叫、轿厢调度、安全保护等功能。两者结合后,系统复杂度呈指数级上升,特别是在十层建筑中,如何优化响应速度和确保安全冗余成为关键设计难点。
2. 核心硬件选型与配置
2.1 西门子S7-200 PLC的硬件配置
西门子S7-200系列PLC虽然属于小型PLC,但其稳定性和扩展性在同类产品中表现突出。针对十层起重机电梯系统,我们选择了CPU 224XP作为主控制器,主要考虑以下几点:
- 自带14DI/10DO,可扩展至168点数字量
- 2路模拟量输入和1路模拟量输出
- 内置PID控制器,适合起重机速度调节
- 0.22μs/指令的运算速度,满足实时性要求
实际配置方案:
- 主控制器:CPU 224XP AC/DC/RLY
- 数字量扩展:EM223 16DI/16DO ×2(用于楼层按钮和状态指示灯)
- 模拟量扩展:EM231 4AI ×1(用于称重传感器和速度反馈)
- 通信模块:EM277 Profibus-DP(用于与组态王通信)
注意:S7-200的模拟量输入默认是0-10V电压信号,如果使用4-20mA电流型传感器,需要调整模块上的DIP开关并并联250Ω电阻。
2.2 电气控制柜设计要点
起重机电梯的控制柜需要特殊考虑振动和电磁干扰问题:
- 采用镀锌钢板柜体,厚度≥2mm
- PLC与变频器分区布置,中间加装金属隔板
- 所有模拟量信号使用双绞屏蔽线,屏蔽层单端接地
- 大电流线路(如接触器控制线)与信号线分开走线槽
- 柜内安装防震胶垫,特别是对PLC和扩展模块的固定
3. 博图V16下的PLC程序设计
3.1 起重机电梯的编程框架设计
在博图V16中创建项目时,采用结构化编程思想,将功能分解为多个FC块:
- FC1:楼层呼叫处理(带优先级判断)
- FC2:轿厢调度算法(基于最短路径原则)
- FC3:起重机防摇控制(PID算法实现)
- FC4:安全保护连锁(急停、超重、限位等)
- FC5:故障诊断与记录
关键数据结构:
- 楼层状态字:MB10(bit0-bit9对应1-10层呼叫状态)
- 轿厢位置:MW20(当前楼层,1-10)
- 运行方向:M21.0(0=下行,1=上行)
- 负载重量:MD30(实数,单位kg)
3.2 核心控制算法实现
3.2.1 电梯调度算法
采用LOOK算法(电梯扫描算法)的改进版本:
- 记录所有楼层呼叫请求(MB10)
- 根据当前运行方向(M21.0)确定服务顺序
- 在运行方向上响应所有同向请求
- 到达端点楼层后反向运行
- 新请求插入时重新计算最优路径
梯形图关键逻辑:
code复制NETWORK 1: 方向判断
LD SM0.0
MOVW MW20, MW22 //当前楼层
MOVW MW24, MW26 //目标楼层
SUBW MW22, MW26, MW28
LDW>= MW28, 0
S M21.0, 1 //上行
R M21.0, 0 //下行
3.2.2 起重机防摇控制
使用PID指令实现防摇:
code复制PID_LOOP:
LD SM0.0
PID MW50, MD100, MD104, MD108, MD112
// MW50: 回路表起始地址
// MD100: 过程变量(摆角反馈)
// MD104: 设定值(0)
// MD108: 输出(起重机速度修正)
// MD112: 增益参数区
PID参数整定经验:
- 比例增益Kp:初始值取0.5,根据摆动幅度调整
- 积分时间Ti:建议从5s开始调试
- 微分时间Td:通常设为Ti的1/4
- 采样时间Ts:100ms(与编码器反馈同步)
4. 组态王监控界面开发
4.1 通信配置关键步骤
- 在组态王中安装S7-200驱动(需单独下载s7_tcp.dll)
- 新建设备→PLC→西门子→S7-200系列(TCP)
- 配置IP地址(与EM277模块一致)
- 定义数据词典:
- 楼层呼叫:M10.0-M10.9(对应1-10层)
- 轿厢位置:MW20
- 负载显示:VD30
- 故障代码:VW100
常见问题:如果出现通信中断,检查EM277的DP地址是否与组态王配置一致,以及Profibus电缆终端电阻是否启用(两端站点的电阻开关打到ON位置)
4.2 监控画面设计技巧
主界面应包含三个核心区域:
-
电梯井道动态示意图
- 使用组态王的动画连接功能
- 轿厢位置绑定MW20变量
- 门状态绑定M11.0(0=关,1=开)
-
起重机操作面板
- 速度设定滑块(VD50)
- 急停按钮(M12.0)
- 负载显示仪表(VD30)
-
报警历史记录
- 使用组态王的事件记录控件
- 配置报警条件如:
- VD30>5000 → "超载报警"
- M13.0=1 → "上限位触发"
高级功能实现:
- 趋势曲线:添加负载重量(VD30)和速度(VD50)的实时曲线
- 报表生成:配置每日运行记录报表,自动记录运行次数、故障次数等
- 权限管理:设置操作员、管理员不同权限级别
5. 系统调试与故障排查
5.1 分阶段调试方法
-
单机测试阶段:
- 使用博图V16的PLC仿真功能验证基础逻辑
- 强制IO点测试每个输出回路
- 模拟量通道校准(用标准信号源验证)
-
联动测试阶段:
- 先测试电梯单独运行
- 再测试起重机单独运行
- 最后进行复合动作测试
-
负载测试阶段:
- 25%额定负载测试基本功能
- 75%负载测试动态性能
- 110%负载测试保护功能
5.2 典型故障处理手册
| 故障现象 | 可能原因 | 排查步骤 |
|---|---|---|
| 电梯到层不准 | 1. 编码器信号干扰 2. 平层感应器位置偏移 |
1. 检查编码器屏蔽线接地 2. 用示波器查看脉冲信号 3. 调整感应器安装位置 |
| 起重机摆动过大 | 1. PID参数不当 2. 机械结构松动 |
1. 重新整定PID参数 2. 检查钢丝绳张力 3. 紧固所有机械连接件 |
| 组态王数据不更新 | 1. 通信中断 2. 变量地址错误 |
1. 检查EM277状态指示灯 2. 对比PLC和组态王变量表 3. 重启通信服务 |
6. 工程优化与进阶技巧
6.1 性能提升方案
-
通信优化:
- 将博图V16的OB35循环中断设置为50ms,与组态王采集周期同步
- 在组态王中启用"数据变化上传"模式,减少网络负载
-
程序优化:
- 将频繁调用的FC块转换为SFC(系统功能)
- 使用间接寻址处理楼层数据(如:MOVB &VB10+MW20, MB50)
-
安全增强:
- 增加软件限位保护(比较MW20与极限值)
- 实现"安全停车"功能(急停时按预设减速度停止)
6.2 扩展功能实现
-
远程监控:
- 通过组态王的Web发布功能实现手机查看
- 配置短信报警(需要GSM模块支持)
-
能耗统计:
- 增加电能表(Modbus RTU协议)
- 在组态王中开发能耗分析画面
-
预防性维护:
- 记录电机运行小时数
- 设置定期润滑提醒
在实际调试过程中,我发现起重机电梯系统的机械安装质量对控制效果影响极大。曾经遇到过一个案例,由于导轨安装垂直度偏差超过标准,导致电梯无论怎么调整PID参数都会在特定楼层出现晃动。后来使用激光准直仪重新校正导轨后,问题迎刃而解。这提醒我们,自动化工程师也需要具备基本的机械安装知识,才能在调试时准确判断问题是出在电气控制还是机械结构上。
