1. 项目背景与核心需求
立体车库作为现代城市停车难题的重要解决方案,其控制系统设计直接关系到设备运行的可靠性和用户体验。这个项目采用西门子S7-200 PLC作为主控制器,搭配组态王软件实现3x3升降横移式立体车库的自动化控制,是典型的工业自动化应用场景。
在实际工程中,这类系统需要同时满足几个核心需求:
- 设备安全运行(防坠落、防碰撞等安全联锁)
- 高效存取车逻辑(最优路径规划)
- 实时状态监控(车位检测、故障报警)
- 用户友好交互(触摸屏操作界面)
2. 系统架构设计解析
2.1 硬件配置方案
主控单元选用西门子S7-200 CPU224XP,这是经过大量工程验证的经典选择:
- 14DI/10DO的基本配置满足3x3车库存取信号需求
- 内置2路模拟量输入可用于载车板重量检测
- 6个高速计数器(HSC)处理编码器信号
- 扩展EM223数字量模块(16DI/16DO)补充I/O点
传感器配置方案:
- 每个载车板配置4个接近开关(前后左右限位)
- 升降电机配增量式编码器(A/B相脉冲计数)
- 横移电机加装原点光电开关
- 载重检测采用应变片式称重传感器
关键经验:实际布线时一定要将安全回路(如急停、防坠)的传感器单独分组,采用常闭触点串联方式,这样即使线路断路也会触发安全保护。
2.2 组态王软件配置
组态王6.55版本作为上位机开发环境,主要实现:
- 车库三维动态显示(使用内置动画构件)
- 操作权限管理(管理员/用户分级)
- 存取车记录存储(SQLite本地数据库)
- 故障报警历史查询(带时间戳存储)
人机界面设计要点:
- 主画面采用俯视45°视角,直观显示9个车位状态
- 每个车位用不同颜色标注:绿色-空闲/红色-占用/黄色-故障
- 操作按钮按功能分区:存取车、急停、复位、参数设置
- 实时显示当前电机运行参数(速度、电流、位置)
3. PLC程序设计详解
3.1 运动控制逻辑
升降横移的核心控制采用状态机编程模式:
ladder复制// 典型状态转移逻辑
Network 1: 初始状态检测
LD SM0.1
S S0.0, 1
Network 2: 接收取车指令
LD I0.0 // 1号车位取车按钮
LDW>= VW100, 1 // 确认车位有车
A
S S0.1, 1 // 转移到横移准备状态
R S0.0, 1
横移电机控制关键点:
- 采用PTO脉冲输出控制伺服电机(Q0.0/Q0.1)
- 使用S7-200的PLS指令生成指定脉冲数
- 实际移动距离=脉冲当量×脉冲数(需现场校准)
3.2 安全联锁设计
安全回路采用独立硬件+软件双重保护:
- 硬件级:
- 急停按钮直接切断控制电源
- 安全继电器监控所有限位信号
- 软件级:
- 升降机构双电磁阀互锁
- 载重超限禁止动作(VD200>2000kg时T37触发)
- 超程保护(I1.5上升限位常闭触点)
血泪教训:曾经因未设置防坠落装置的软件互锁,导致测试时光电开关失效引发载车板下滑。后增加以下逻辑:
ladder复制Network 10: 防坠落互锁 LD I2.1 // 升降电机抱闸信号 LPS A M10.0 // 升降使能 = Q1.0 // 升降接触器 LPP AN T38 // 防坠装置异常定时器 = Q1.1 // 安全电磁阀
4. 典型问题排查指南
4.1 通讯故障处理
当组态王与PLC通讯中断时,按以下步骤排查:
-
检查物理连接:
- PPI电缆(6ES7 901-3CB30-0XA0)是否松动
- 端口设置(COM1,9.6kbps,偶校验)
-
确认PLC参数:
- 系统块中设置的地址(默认2)与组态王一致
- 没有其他编程设备占用端口
-
组态王侧检查:
- 设备定义中的"西门子S7-200PPI"驱动是否正常
- 数据词典中的寄存器地址格式(如VW100对应V区字)
4.2 定位不准问题
横移机构到位后仍有±5cm偏差时的处理方法:
-
机械检查:
- 同步带张紧度(用张力计测量≥50N)
- 导轨平行度(激光校准≤0.1mm/m)
-
电气调整:
ladder复制// 修改回原点速度参数 MOVW 16#2000, SMB67 // PTO控制字 MOVW 500, SMW168 // 初始脉冲频率 MOVW 200, SMW170 // 最终脉冲频率 -
软件补偿:
- 在组态王中建立位置补偿表
- 每个车位单独设置偏移量(单位mm)
- 通过V区变量传递给PLC(如MOVW 20, VW210)
5. 系统优化技巧
5.1 存取效率提升
通过优化控制算法,将平均取车时间从120s缩短至85s:
-
路径规划策略:
- 空闲时自动将中层车辆移至顶层
- 采用"最近原则"分配新进车辆位置
- 建立优先队列处理连续存取请求
-
运动参数优化:
ladder复制// 修改加速度曲线 MOVW 16#A0, SMB67 // 启用脉冲包络 MOVW 1000, SMW168 // 初始频率 MOVW 5000, SMW170 // 最大频率 MOVW 200, SMW172 // 加速时间(ms)
5.2 维护模式设计
在组态王中隐藏的工程师菜单包含:
- 单轴点动控制(速度可调)
- I/O信号强制测试
- 电机电流曲线监控
- 故障代码清除功能
访问密码采用动态加密:
stl复制// PLC端密码验证程序
LD VB10 // 输入密码第一位
XORB 16#55
AB<> VB20 // 与存储值比较
JMP ERROR
LD VB11
XORB 16#AA
AB<> VB21
JMP ERROR
6. 现场调试要点
6.1 空载测试流程
-
单动测试:
- 逐一点动各轴,确认运动方向正确
- 记录每个限位开关的实际触发位置
-
联动测试:
- 编写测试脚本顺序移动所有载车板
- 检查干涉区安全距离(实测≥150mm)
-
急停测试:
- 在各运动阶段触发急停
- 确认制动时间≤0.5s(高速摄像机验证)
6.2 负载调试方法
-
重量校准:
- 在载车板四角放置标准砝码
- 调整模拟量采样值(AIW0=2000对应2000kg)
-
动载测试:
- 以50%额定速度运行10次完整循环
- 监测电机温升(≤65℃为合格)
-
偏载测试:
- 将1.5倍额定负载置于载车板一侧
- 验证防倾斜装置(I2.5)的响应时间
这套系统经过三个月的连续运行测试,累计完成5000+次存取操作,关键改进包括将故障复位时间从平均15分钟缩短至3分钟,通过增加预诊断功能使预防性维护效率提升40%。实际部署时建议在每组载车板加装RFID识别装置,可进一步实现车辆自动匹配功能。