西门子PLC S7-200在立体车库控制系统中的应用联系

西门子PLC S7-200编写的立体车库联系

用西门子S7-200搞立体车库,说难不难,核心就是把升降、横移、安全这几块逻辑拆碎了,挨个怼明白。毕竟车库要的是稳,不是花里胡哨的算法,先从最基础的车位状态采集说起。

1. 先搞定车位空满检测

立体车库最基础的就是知道哪个车位空着,我一般用光电传感器或者压力传感器接输入点,比如I0.0到I0.7对应8个车位,传感器感应到车位没车就输出1,有车输出0。直接把这些状态存到一个字节里,后面找空车位方便得很:

// 车位状态采集:I0.0-I0.7对应1-8号车位,1为空,0为满
LD     SM0.0
MOVB   I0.0, VB0.0
MOVB   I0.1, VB0.1
MOVB   I0.2, VB0.2
MOVB   I0.3, VB0.3
MOVB   I0.4, VB0.4
MOVB   I0.5, VB0.5
MOVB   I0.6, VB0.6
MOVB   I0.7, VB0.7

这里用SM0.0循环扫,把每个输入点的状态直接塞到VB0的各个位里。后面找空车位不用挨个读I点,直接查VB0就行——比如VB0.0是1,就代表1号车位空着,省了不少重复代码,维护的时候也一眼能对应上哪个位管哪个车位。

西门子PLC S7-200编写的立体车库联系

之前踩过的坑:传感器偶尔会因为车库里的灰尘或者灯光干扰抖一下,导致车位状态误判。后来给每个输入点加了50ms的延时滤波,用TON定时器卡一下:

// I0.0的滤波处理,抖信号直接过滤
LD     I0.0
TON    T37, 5  // 50ms延时(S7-200的TON定时基数是10ms,5就是50)
LD     T37
=      M0.0
// 再把M0.0存到VB0.0里

几十毫秒的延时完全不影响正常检测,却能把大部分干扰信号挡在外面,客户再也不会抱怨“明明车位空的怎么显示满了”。

2. 自动找空车位

用户按存车键后,程序得自动找第一个空车位。S7-200的循环处理位变量有点绕,不如直接挨个判断来得直观——毕竟车位数量一般不会太多,写起来快,维护也方便:

// 找第一个空车位:存车触发信号M0.1有效时,把车位号存到VW10
LD     M0.1
LPS
MOVW   0, VW10  // 默认0表示无空车位
// 查1号车位
LD     VB0.0
JMP    0
// 查2号车位
LD     VB0.1
MOVW   2, VW10
JMP    1
// 查3号车位
LD     VB0.2
MOVW   3, VW10
JMP    1
// ... 后面依次查VB0.3到VB0.7
LPP
JMP    1
LBL    0
MOVW   1, VW10  // 找到1号空车位
LBL    1

这里用JMP跳转来减少无效判断,找到第一个空车位就直接跳出,不用再查后面的,响应速度快。要是车位多的话,其实也可以用FOR循环遍历VB0的每个位,但写起来不如这个直观,新手接手也能秒懂。

3. 升降横移的核心逻辑

载车板的上升下降是关键,必须加限位和互锁,不然升过顶或者降到底,电机直接废了。比如Q0.0控制上升接触器,Q0.1控制下降接触器,I1.0是上限位,I1.1是下限位:

// 载车板上升控制:M0.2是上升指令,串上限位和急停
LD     M0.2
O      Q0.0  // 自锁
AN     I1.0  // 上限位常闭,碰到就停
AN     M0.3  // 下降指令互锁,上升时不能触发下降
AN     I1.2  // 急停常闭,按下直接断电
=      Q0.0

// 载车板下降控制:同理
LD     M0.3
O      Q0.1
AN     I1.1  // 下限位
AN     M0.2  // 上升互锁
AN     I1.2  // 急停
=      Q0.1

这里的启保停电路是PLC入门级操作,但千万别省互锁和限位——之前见过有人图省事没加互锁,误操作同时触发上升下降,直接把接触器烧了,赔了钱不说,还耽误客户使用。

急停逻辑必须拉满,除了程序里串常闭,硬件上最好让急停按钮直接切断主回路,双重保险才靠谱。毕竟车库里有人取车的时候,万一载车板失控,急停是最后一道防线。

最后碎碎念

其实用S7-200做立体车库,真不用搞什么复杂算法,把每个动作的输入输出对应清楚,安全逻辑焊死,再把常见的干扰问题提前过滤掉,就八九不离十了。调试的时候别嫌麻烦,每个车位都要试存取,每个限位都要模拟触发,毕竟稳定才是工业项目的核心——客户要的是每天能正常存车取车,不是看你写了多么牛逼的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值