1. 立体车库控制系统概述
4×4立体车库作为现代城市停车解决方案的代表,通过垂直空间利用大幅提升了单位面积停车容量。这种16车位(4层×4列)的机械式车库采用PLC作为核心控制器,相比传统单片机方案具有更高的可靠性和抗干扰能力。西门子S7-1200系列PLC凭借其模块化设计和强大的运动控制功能,成为中型立体车库的理想选择。
在实际项目中,我们采用博途(TIA Portal)V16开发环境进行一体化编程,配合WinCC实现可视化监控。系统通过精确控制升降电机和横移电机,配合到位检测传感器,实现车辆的自动存取。典型工作流程包括:用户刷卡认证→选择存取车模式→载车板升降/横移→到位锁定→完成提示,整个过程平均耗时不超过90秒。
关键提示:立体车库属于特种设备,必须符合GB/T 27545-2011《机械式停车设备通用安全要求》标准,所有安全联锁(如防坠落装置、急停回路)必须采用独立于PLC的硬线连接。
2. 硬件系统架构设计
2.1 核心控制单元配置
选用西门子S7-1215C DC/DC/DC型号PLC,具体配置如下:
- CPU:6ES7 215-1AG40-0XB0,带2个PROFINET接口
- 数字量输入模块:6ES7 221-1BH30-0XB0(16点DI)
- 数字量输出模块:6ES7 222-1HF30-0XB0(8点继电器输出)
- 模拟量输入模块:6ES7 231-4HD30-0XB0(4路AI)
- 通信模块:6ES7 243-1EX30-0XB0(以太网/IP适配器)
2.2 传感器布局方案
| 传感器类型 | 型号 | 安装位置 | 功能描述 |
|---|---|---|---|
| 光电开关 | E3Z-D62 | 各层出入口 | 检测车辆是否完全进入载车板 |
| 接近开关 | E2B-M12KN04-W | 升降井道各层 | 层高定位(4层共4个) |
| 磁簧开关 | D-A73 | 横移轨道各列 | 列定位(4列共4个) |
| 称重传感器 | ZSF40A | 载车板底部 | 超载检测(量程3吨) |
| 防坠落检测开关 | XCK-J108 | 安全挂钩机构 | 机械保护状态监测 |
2.3 驱动系统选型
升降机构采用三相异步电机(3kW)配变频器(G120C),横移机构使用伺服系统(V90),通过PROFINET实现速度位置双闭环控制。关键参数设置:
pascal复制// 变频器参数示例
"G120C".p1070 := 75; // 电机额定频率Hz
"G120C".p1082 := 45; // 最大频率限制
"G120C".p1120 := 10; // 加速时间s
"G120C".p1121 := 8; // 减速时间s
// 伺服参数示例
"V90".p29040 := 1; // 启用电子齿轮
"V90".p29041 := 100; // 分子
"V90".p29042 := 1; // 分母
3. PLC程序设计详解
3.1 博途项目结构
code复制Project_4x4Garage
├── PLC_1 [S7-1200]
│ ├── Program Blocks
│ │ ├── OB1 : 主循环组织块
│ │ ├── FB100 : 升降控制功能块
│ │ ├── FB101 : 横移控制功能块
│ │ ├── DB10 : 设备状态数据块
│ │ └── DB11 : 用户操作记录
├── HMI_1 [WinCC]
│ ├── 主监控画面
│ ├── 参数设置画面
│ └── 报警记录画面
└── Network
├── PLC_HMI : S7连接
└── PLC_G120 : PROFINET通信
3.2 核心控制逻辑实现
升降控制功能块(FB100)的梯形图关键逻辑:
code复制Network 1: 上升启动条件
LD "自动模式" // I0.0
AND "上升按钮" // I0.1
ANDNOT "上限位" // I1.0
ANDNOT "急停状态" // I2.0
= "升降电机正转" // Q0.0
Network 2: 层间减速控制
LD "当前层检测" // I1.1
AND "目标层检测" // I1.2
MOVE "减速频率" // MW10
TO "变频器频率" // PQW256
3.3 安全联锁设计
- 双重限位保护:各轴设置软件限位(DB10.DBW20)和硬件限位(I1.0-I1.3)
- 超时监控:使用TON定时器检测运动超时(标准动作时间+30%余量)
- 心跳检测:通过OB35循环中断块(100ms)检查关键设备在线状态
- 紧急停止:独立安全回路直接切断动力电源(非PLC控制)
4. WinCC组态关键技术
4.1 画面元素动态化
通过VBS脚本实现车位状态可视化:
vbs复制Sub OnClick(ByVal Item)
Dim tagPrefix
tagPrefix = Left(Item.Name, 3)
If tagPrefix = "BTN" Then
SmartTags("HMI_OperateType") = Mid(Item.Name, 4, 1)
ScreenItems("Panel_Confirm").Visible = True
End If
End Sub
4.2 报警管理系统配置
在WinCC Alarm Control中设置三级报警:
- 警告级(黄色):设备维护提醒、操作提示
- 错误级(红色):传感器故障、通信中断
- 紧急级(闪烁红):安全装置触发、机械碰撞
4.3 数据记录方案
采用WinCC/DataMonitor实现:
- 循环记录:设备运行参数(每5分钟)
- 触发记录:所有用户操作和报警事件
- 存储周期:本地30天,SQL Server备份1年
5. 系统调试与优化
5.1 运动控制调试步骤
- 单轴手动测试:通过HMI点动按钮验证各轴基础运动
- 原点校准:使用MC_Home指令建立机械坐标系
- 速度曲线优化:调整变频器S曲线参数(p1130-p1133)
- 定位精度测试:激光测距仪验证停止位置(±2mm)
5.2 典型问题处理
| 故障现象 | 排查步骤 | 解决方案 |
|---|---|---|
| 升降电机启动抖动 | 1. 检查机械传动链 2. 监测电流波形 |
调整变频器启动转矩(p1610) |
| 横移定位偏差累积 | 1. 检查伺服编码器反馈 2. 测量导轨平行度 |
重新校准机械零点+软件补偿 |
| WinCC画面响应延迟 | 1. 检查网络负载 2. 监控脚本执行时间 |
优化VBS脚本+增加画面更新周期 |
5.3 性能优化记录
通过Trace功能采集的优化前后对比:
code复制优化前:完整存取周期平均110秒
优化措施:
1. 重叠运动控制(升降+横移同步)
2. 变频器多段速设置
3. PLC程序扫描周期优化
优化后:平均82秒(提升25%)
6. 仿真测试方案
6.1 PLCSIM Advanced配置
- 创建虚拟PLC实例:
xml复制<Instance>
<Name>Garage_Sim</Name>
<Type>S7-1200</Type>
<IP>192.168.1.100</IP>
<Subnet>255.255.255.0</Subnet>
</Instance>
- 导入GSD文件实现变频器仿真:
- 在博途硬件目录中添加"G120C_Sim"设备
- 配置PROFINET设备名称与IP地址
6.2 测试用例设计
-
正常流程测试:
- 连续执行10次存车/取车操作
- 验证平均耗时≤设计指标(90秒)
-
异常情况测试:
- 模拟传感器故障(强制修改IO状态)
- 突然断电恢复测试
- 网络中断恢复测试
-
压力测试:
- 持续运行24小时不中断
- 记录内存使用率(应<70%)
在实际项目中,我们通过增加光电开关的防干扰措施(如金属外壳接地)解决了现场电磁干扰导致的误触发问题。对于伺服电机偶尔出现的跟随误差报警,最终发现是电源质量导致,增加稳压器后故障率下降98%。这些实战经验说明,立体车库控制系统30%的问题来自程序逻辑,70%源于机械和电气安装质量。
