三菱PLC程序 3x3升降横移基于plc的立体车库控制系统设计,所有的附件即为邮箱里的东西
用三菱FX3U系列PLC搭这个系统,核心逻辑说白了就是九个车位的矩阵式调度,但要让升降机和横移台车别打架,得把互锁机制玩明白了。折腾完最大的感受是,搞立体车库程序就像玩三维华容道,不仅要考虑当前操作的车位,还得预判后面五步的设备调度。下次再搞5x5的车库,估计得用三菱Q系列才扛得住了,FX3U的I/O点差点被这项目榨干。三菱PLC程序 3x3升降横移基于plc的立体车库控制系统设计,所有的附件即为
三菱PLC程序 3x3升降横移基于plc的立体车库控制系统设计,所有的附件即为邮箱里的东西
最近在车间里折腾一套3x3立体车库的控制系统,发现升降横移结构虽然看着简单,真动起手来还是得跟PLC死磕。用三菱FX3U系列PLC搭这个系统,核心逻辑说白了就是九个车位的矩阵式调度,但要让升降机和横移台车别打架,得把互锁机制玩明白了。
先看硬件配置这块,X0-X17接了一堆光电开关和车辆检测传感器,Y0-Y13直接驱动升降电机和横移伺服。重点在于每个车位的状态得实时更新,比如用MOV指令搞个车位状态寄存器:
MOV K4M0 D100 //将X0-X17的状态打包到D100寄存器
CMP D100 K0 //检测当前车位是否被占用
这段代码直接把16个输入点的状态压缩成一个16位寄存器,每个bit对应一个车位状态。调试的时候发现,车库二层以上的车位需要同时检测下方车位是否空闲,这时候用三菱的BMOV块传送指令贼方便:
BMOV D100 D200 K3 //批量传送三层车位状态
程序里最要命的是升降台和横移台的联动逻辑。举个栗子,当需要存取第三层车位时,必须先把下面的第一、第二层车位挪开。这时候用步进指令+条件跳转稳得一批:
LD X005 //检测到三层操作指令
SET S20 //激活步进流程
STL S20
OUT Y000 //启动升降机上升
LD M8000 //常ON触点
CMP D300 K250 //检测升降高度
AND M8020 //等于标志
SET S21
STL S21
PLF Y000 //停止升降
OUT Y005 //横移台车右移
...
这套指令组合拳打下来,既能保证动作顺序,又能实时监测设备状态。调试时发现Y005输出后横移台车偶尔会抽搐,最后查出来是脉冲输出频率没调好,在伺服驱动器参数里把加减速斜率从100ms改成50ms立马顺滑。

三菱PLC程序 3x3升降横移基于plc的立体车库控制系统设计,所有的附件即为邮箱里的东西
安全防护这块必须上点心,急停开关直接挂在PLC的输入公共端,程序里还做了双保险:
LD M8000
ANB X020 //急停信号
ANB M100 //过载检测
OUT M50 //总运行许可
这套立体车库最骚的操作是自动平衡算法,当连续操作上层车位时,系统会自动把下层空闲车位调整到最优位置。用三菱的SFTL指令做状态轮询,配合CMP比较指令判断最优路径,实测比传统顺序控制节省30%操作时间。
折腾完最大的感受是,搞立体车库程序就像玩三维华容道,不仅要考虑当前操作的车位,还得预判后面五步的设备调度。下次再搞5x5的车库,估计得用三菱Q系列才扛得住了,FX3U的I/O点差点被这项目榨干。

更多推荐
所有评论(0)