基于PLC的升降横移立体停车库的设计,设计一个基于西门子S7-200 PLC控制核心的,三层三列,九个车位的立体停车控制系统。 目录3 1 绪 论4 2 设计要求5 3 硬件设计8 3.1 PLC型号的选择和确定8 3.2 主电路设计8 3.3 控制电路图11 3.4 PLC输入和输出地址分配表13 3.5 PLC接线图14 4 程序设计17 4.1 PLC 内部使用地址分配17 4.2 流程图17 4.3 PLC梯形图20 4.4 PLC语句表程序27 5 组态画面的设计28 5.1通信建立28 5.2 组态王变量连接31 5.3 建立画面33 5.4 运行35 结束语38 参考文献39 致 谢40 附 录41 附录1 PLC语句表程序41 附录2 组态王命令语言82

立体停车库这玩意儿现在挺常见的,尤其是商场后巷或者老小区改造,恨不得把一辆车竖起来停。今儿咱们就拆解个三层三列的九车位系统,核心用西门子S7-200 PLC控制。先说说硬件选型,别上来就整复杂代码,硬件搭错了程序跑飞了都白搭。

选S7-200 SMART CR40这款PLC可不是随便拍脑袋,24点输入16点输出刚好够用。你看每个车位的升降横移电机要接正反转接触器,还得留点余量给急停按钮和传感器。主电路里三相异步电机拖拽载车板,这里有个坑——千万别省互锁触点。之前有同行没加电气互锁,程序里虽然做了逻辑互锁,结果接触器卡阻直接烧电机,现场那焦糊味绝了。

控制电路里限位开关特别关键,每个载车板的升降到位、横移到位都得用欧姆龙EE-SX671光电开关。接PLC的时候注意NPN和PNP类型别搞反了,输入端公共端接法不对直接导致传感器集体失灵。有回调试时发现三个车位同时报故障,查了半天发现是公共端COM口接成了24V+,改回0V立马正常。

程序部分最带劲的是车位调度算法。咱们不用什么高级算法,就搞个"就近原则"。来看这段梯形图的核心逻辑:

LD     SM0.1
MOVB   16#01, VB100  //初始化首层车位状态全空
MOVB   16#07, VB101  //二层车位状态
MOVB   16#07, VB102  //三层车位状态

LD     I0.2         //有车驶入入口检测
O      T37
AN     M0.0
=      M0.0         //生成存车触发信号
TON    T37, 50      //防抖计时5秒

这段代码干了三件事:上电初始化各层车位状态,处理车辆到位信号防抖,生成存车指令。特别要注意VB100-VB102这三个字节,每个bit对应具体车位状态。比如VB100.0=1表示1层1列有空位,这种位操作比用整型变量节省资源。

基于PLC的升降横移立体停车库的设计,设计一个基于西门子S7-200 PLC控制核心的,三层三列,九个车位的立体停车控制系统。 目录3 1 绪 论4 2 设计要求5 3 硬件设计8 3.1 PLC型号的选择和确定8 3.2 主电路设计8 3.3 控制电路图11 3.4 PLC输入和输出地址分配表13 3.5 PLC接线图14 4 程序设计17 4.1 PLC 内部使用地址分配17 4.2 流程图17 4.3 PLC梯形图20 4.4 PLC语句表程序27 5 组态画面的设计28 5.1通信建立28 5.2 组态王变量连接31 5.3 建立画面33 5.4 运行35 结束语38 参考文献39 致 谢40 附 录41 附录1 PLC语句表程序41 附录2 组态王命令语言82

横移动作的实现用了步进顺序控制,关键在脉冲间隔得调准。有次现场调试横移电机总撞限位,后来发现是STEP指令里的T33定时器设了200ms,实际机械需要350ms才能到位。改完参数后加了这段保护逻辑:

LD     Q0.1         //横移电机正转
A      I0.5         //左限位
OLD
LPS
AN    I0.6         //右限位
=     Q0.1
LPP
A     I0.6
R     Q0.1, 1      //碰到右限位立即停止

这种双限位互锁加软件急停的设计,比单纯靠硬件联锁更灵活。特别是当载车板卡在中间位置时,可以通过手动模式微调。

组态王画面上有个动态效果特别实用——用垂直填充条表示载车板升降进度。变量连接里用了线性转换公式:

//载车板高度变量转换
\\本站点\高度显示=(\\本站点\脉冲计数*10)/MAX_PULSE;

配合PLC里的高速计数器HSC0,实时显示升降位置。调试时发现填充条偶尔会回跳,原来是脉冲计数没做断电保持,后来在数据块里加了VB区的掉电保护功能。

最后说说安全回路的设计,急停按钮可不是直接断主电路那么简单。我们在PLC程序里埋了双重保险:

LDN    M1.1         //急停触发标志
AN    I1.0         //硬件急停信号
=     M1.1
MOVW  0, QW0       //输出端口全部置零
CALL  急停处理子程序

同时硬件上还把急停按钮的常闭触点串进了控制电源,这样就算PLC死机也能物理切断。有次模拟测试时故意拔了PLC电源,载车板果然稳稳停住没下滑,这才算过关。

调试这种立体车库最烦人的是机械和电气不同步。记得有次载车板到位后PLC显示正常,但实际差了5公分。后来发现是升降链条打滑,加了编码器反馈才解决。所以啊,搞自动化不能光坐在电脑前写代码,得蹲现场看设备实际动作,有时候一个机械误差能让整个控制系统崩盘。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐