三菱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点差点被这项目榨干。

Logo

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

更多推荐