资讯详情

基于PLC的升降横移式立体车库自动存取系统设计

📅 2026/10/3 6:51:58 | 华诺云谱 👁 阅读
基于PLC的升降横移式立体车库自动存取系统设计
三年前我带学生做了一套三层五列升降横移式立体车库的PLC控制系统题目就是简简单单几个字基于PLC的立体车库自动存取系统设计。很多计算机专业的学生看到“PLC”三个字就发怵觉得这是电气专业的东西跟自己的毕设不搭。实际上这个题目的核心不是PLC语法而是自动控制系统的设计思路——车位怎么调度、传感器怎么布置、程序怎么防碰撞这些才是选题的价值所在。这篇博文就围绕这个毕设题目把我在实际项目中踩过的坑、总结出的经验、以及可以直接“抄作业”的硬件方案、梯形图逻辑和文档写作思路全部梳理一遍。适合两类人看一类是正在纠结毕设选题的学生另一类是打算自己上手做一套小型立体车库控制系统的工程师。看完之后你会发现这个题目其实并不难难的是把“车库怎么运行”这件事想清楚。1. 项目思路拆解先想清楚车库怎么动再谈PLC1.1 升降横移式车库的机械逻辑立体车库类型很多最常见也最适合毕设的就是升降横移式。它的原理可以用“华容道”来理解车位分多层多列底层留一个空位每个载车板既能横向平移也能升降。存取车时系统通过把阻挡路径的车板平移让开再把目标车板降到地面层实现车辆进出。以三层五列为例车位编号建议这样做一层A1~A5二层B1~B5三层C1~C5其中A5固定为空位。为什么留空位因为底层车位之间必须有一个空位作为横移缓冲否则横移车板没有落脚的“空槽”。这个细节经常被新手忽略画图时把底层铺满结果运动学上根本不成立。每个载车板对应一个横移电机和一个升降电机。横移电机通过链条或齿轮驱动车轮带动整个载车板在轨道上平移升降电机则通过钢丝绳或链条提升载车板。为了简化机械结构通常只有需要存取的那块板才动作其他板保持静止。动作顺序必须严格按“先腾位、后升降、再平移”来顺序错了轻则卡死重则拉坏机械结构。1.2 存车、取车的完整动作序列很多学生一上来就写梯形图写着写着就乱了。正确做法是先画出动作序列再翻译成PLC程序。拿“存车到B3车位”举例完整流程如下车辆驶入入口光电检测区系统判断车位B3是否空闲。若B3下方A3有车则先将A3向右平移至空位A5。B3载车板从二层下降至地面层。车辆驶入B3载车板前轮压到定位传感器后停车。系统确认车辆停稳载车板上升回二层。B3横移归位同时把A3横移回原位置如果之前腾挪过存车结束。取车流程正好相反先把目标车板降下来或者把目标车板横移到出入口通道再降下来。出入口位置也会影响流程设计我建议把出入口固定在某一个列位比如A1列这样上位机编程和调试都方便不用考虑“任意列都能直接取车”的情况。这里有个关键细节动作序列不是写给人看的而是要细化成“每个电机从启动到停止的完整闭环”。每一步都必须有对应的到位信号否则程序就不知道下一步该不该走。这套“动作-检测-确认”的机制是后面PLC编程的骨架。1.3 从机械动作到IO信号的转化理清流程之后就可以统计IO点数了。升降横移式车库的输入信号主要包括每层载车板的上升限位、下降限位每个横移电机左限位、右限位每个车位的光电占用检测入口车辆检测、出口车辆检测、防人员误入检测急停按钮、手/自动旋钮、复位按钮检修用点动按钮输出信号则包括每台电机的正转、反转、变频器接点以及状态指示灯和蜂鸣器。三层五列、每层5块板、每块板2个限位输入光限位就有30个。实际做下来数字量输入点一般在50~70个数字量输出在20~30个。选PLC型号时建议留出20%~30%的余量别卡得刚刚好调试时加功能是常有的事。2. 控制方案选型PLC型号、传感器、电机驱动怎么选2.1 为什么是PLC而不是单片机这个题目叫“基于PLC”但答辩时几乎一定会被问“为什么不用单片机”标准答案有三层可靠性、开发效率、项目演示效果。立体车库是载人载车的设备对稳定性和抗干扰要求高。PLC本身是专为工业环境设计输入输出隔离、看门狗、掉电保持这些机制都是现成的单片机想要达到同等可靠性外围电路和软件容错的工作量远超取用适合作大作业不适合做控制系统的核心。另外毕设答辩时间有限PLC梯形图可视化程度高评委一眼能看懂逻辑。你用单片机写C语言讲座上半小时还不一定讲清楚状态机梯形图一贴哪一步触发什么输出清清楚楚。所以选PLC不是因为“题目要求”而是因为它是这个场景下的最优解。2.2 三菱FX3U与西门子S7-200 SMART的取舍我在实际项目中两种都用过。如果你选三菱FX3U软件用GX Works2或GX Developer指令风格偏日系STL步进梯形图非常直观很适合做顺序控制类项目。如果选西门子S7-200 SMART用STEP 7-MicroWIN SMART指令风格偏德系线圈和置位复位指令的用法更灵活尤其是面对复杂逻辑时用S置位和R复位能节省大量编程时间。学生选型我一般给这个建议谁更熟悉就选谁但课程里学的是三菱就选三菱课程里学的是西门子就选西门子。不要为了“显得高级”选一个从没用过的品牌调试时间会被无限拉长。从性价比看S7-200 SMART CPU SR40和FX3U-64MT价格接近功能上都能满足这个项目。真正的差别在扩展性集成了以太网口通信配置更方便需要单独配通信模块或开对应的软元件映射。另外很多高校实验室现有设备以三菱为主借用方便这个问题你在选型前最好先问清楚导师。2.3 传感器与限位开关的实际选型限位开关是立体车库最关键的传感器。载车板升到顶、降到底、横移到左端、右端全靠它给出“到位”信号。对于毕设项目我用的是欧姆龙或国产正泰的滚轮型行程开关二线制机械触点接线简单故障排查容易。不建议用接近开关做升降限位因为升降到位时载车板会有一个冲击机械行程开关的滚轮能吸收一部分冲击接近开关感应距离短安装不当容易被撞坏。但在车位占用检测这个位置可以改用对射式光电开关。理由是车辆停放后车板底面和上层板之间的距离很有限限位挡块位置不一定能准确反映“有没有车”光电开关只要检测车板上方有没有遮挡物就行。电机的驱动方面升降电机一般使用带失电制动的锥形转子电机停车瞬间能抱死刹车防止载车板溜车。横移电机则用带减速箱的电机转速不需要太高但要保证左右行程的重复定位精度。变频器前后各装一个接触器主电路再加热继电器做过载保护。这些基础保护在毕设里可能不被强制要求但答辩评委一定会抽查所以必须画进电气原理图。3. 从梯形图到状态机核心程序怎么编3.1 用辅助继电器M做顺序控制PLC的梯形图虽然叫“图”但本质上是在写顺序逻辑。最经典的写法是用辅助继电器M做“步标志”一个M代表一个状态状态之间用触点互锁衔接。这种方式相当于手写状态机逻辑清楚容易排故。举个例子假设定义M100为“B3下降前等待状态”M101为“B3下降中”M102为“B3下降到位”。那么M101的置位条件是M100接通并且A列横移已让位M101的复位条件是B3下降限位接通。写成梯形图的思路就是网络1当M100闭合且“A列让位完成”信号闭合则输出置位M101同时复位M100。网络2当M101闭合输出升降电机下行接触器。网络3当B3下降限位闭合置位M102复位M101同时停止下行输出。这套方法比直接写电机线圈逻辑要清晰得多。每个状态做什么、从哪个状态来、条件是啥都一目了然。调试时如果车卡在半路看哪个M没有跳动就能定位是哪一步没满足。3.2 互锁与防碰撞逻辑的实现立体车库一旦做出格动作轻则撞车重则砸坏设备。梯形图里必须加上以下几类保护正反转互锁。每个电机的正转接触器和反转接触器不能在同时得电程序上要用常闭触点互锁硬件上也可以用接触器的辅助触点做二次互锁。升降与横移互锁。同一时刻只能有一个载车板存在升降动作或者同轨道上横移动作只能有一个。用区域占用辅助继电器控制比如M200是“横移区域忙碌”任何横移启动前先检查M200启动后立即置位动作结束后复位。安全联锁。所有限位信号没有到位的状态下禁止启动下一步动作。例如升降电机启动前对应载车板的锁销必须处于释放位置这个信号没有程序就直接锁定输出。超时保护。每个动作设置一个定时器。比如横移动作最多运行30秒如果30秒后仍然没有到达限位开关考虑机械卡死或者限位失灵系统立刻停止输出并报警。这个保护极其实用我在实车调试时遇到过链条脱扣就是靠这个定时器避免了发呆。3.3 手动、自动与故障急停的程序框架毕设库里通常会有手动/自动切换这是凑功能点但对工程来说也是必须的。手动模式下操作员通过界面上的按钮直接点动每个电机主要用于检修和初始对位自动模式下系统按存取流程自己跑。急停回路一定用硬接线串入所有接触器控制回路不能只靠PLC程序处理。理由很简单PLC程序有可能跑飞、死机、被干扰误动作硬接线的急停是最底层的保障。按下急停时所有主回路切断同时把急停信号送进PLC让PLC进入“故障锁定状态”只有旋转复位按钮才能恢复。这三块内容最好分成三个子程序区手动程序、自动程序、故障处理互相之间用模式标志隔离开不要写在一个大程序里不然后期维护会疯掉。4. 上位机、触摸屏与通信设计4.1 触摸屏与组态王界面布局立体车库需要操作员能实时看到车库状态所以上位机有人机界面。毕设中常见的选择是用组态王做PC端监控画面或者用威纶通/Kinco触摸屏直接挂在柜门上。我更推荐触摸屏方案因为调试时移动方便而且触摸屏和PLC之间的通信配置比组态王简单。页面上至少要三块区域顶部是车位状态指示区用一个个小车图标显示每层每列有没有车中部是操作区包含存车/取车按钮、车位号输入框这些按钮要对PLC的内部M和D寄存器读写底部是报警区显示当前报警代码和急停状态。车位状态指示不是靠上位机算的而是直接读取PLC里每个车位的“占用标志”软元件。比如把一个车位占用标志映射到触摸屏的一个位灯灯亮表示有车。这样的好处是逻辑源头只有一个不会出现PLC里已经判定了上位机画面却对不上的情况。4.2 Modbus RTU通信参数配置如果用的是三菱FX3U可以用FX3U-485-BD扩展板走Modbus RTU。若用西门子S7-200 SMART直接支持Modbus RTU协议需要初始化主站或从站功能。通信参数建议设为波特率9600数据位8无校验停止位1站号区分上位机和PLC。接线时A/B-两根线一定要弄清楚A接A、B接B很多项目第一次通信不上就是因为A/B反接。通信参数不一致或者PLC站号没设置对也会导致“PLC与上位机连接不上”的经典报错。另外触摸屏的通信设置里要选择正确的驱动例如三菱FX3U对应选“Mitsubishi FX3U”西门子S7-200 SMART对应选“Siemens S7-200”。调试小技巧先用PC串口调试助手发一条03功能码读寄存器指令确认PLC有响应再连上位机。这样能把问题缩小到“PLC通信模块还是上位机配置”这个范围不用两边同时瞎猜。4.3 调试时如何监控PLC内部寄存器在线监控功能是PLC调试的第一生产力。三菱GX Works2的“软元件监控”窗口可以直接看M、D、T的值变化西门子STEP 7-MicroWIN SMART的状态图表也可以实时监控。调试时我习惯把几个关键状态标志排在一屏比如当前存取流程步号M标志组各轴限位开关状态X输入各车位占用标志各超时定时器的剩余时间故障代码寄存器这几项监控一开程序跑到哪里、卡在哪个条件立刻就能看到。很多新手不习惯开着监控看写完程序就下载然后直接按按钮试动作结果动作没反应就瞎猜线头问题这样效率太低。正确做法是先把PLC程序用强制置位/复位的方式单独验证每个限位输入点、输出点确认硬件通道无误后再跑整体流程。5. 源码工程与LW文档论文怎么组织5.1 源码目录结构建议毕设的“源码”不只是PLC工程文件还包括上位机工程、电气图纸、说明书文档。建议按下面的目录整理方便导师查看和答辩现场演示PLC立体车库项目/ │ ├── PLC程序/ │ ├── FX3U_GXWorks工程/ // 三菱PLC源工程 │ │ ├── 主程序.sfx │ │ ├── 自动存取流程.st │ │ └── 报警处理程序.st │ ├── S7-200SMART工程/ // 西门子PLC源工程 │ └── 梯形图截图/ │ ├── 上位机/ │ ├── 触摸屏工程/ │ └── 组态王工程/ │ ├── 电气图纸/ │ ├── 主电路图.dwg │ ├── 控制电路图.dwg │ └── IO分配表.xlsx │ └── 设计文档/ ├── 系统设计说明书.docx ├── 答辩PPT.pptx └── 答辩问题整理.mdPLC程序文件建议同时保留“源码工程”和“PDF打印版梯形图”。源码工程方便老师直接打开看PDF版防止工程损坏打不开的尴尬。5.2 LW文档设计说明书的核心章节LW文档就是毕业设计说明书它是整个毕设的“门面”重点部分必须写得有工程味。我的习惯是分六章第一章绪论。写清楚研究背景和意义重点是“为什么立体车库是城市停车难的可行解法”不要写成一本书的百科全书两到三页即可。第二章系统总体方案设计。画系统结构图写功能需求并提出几种方案PLC、单片机、继电器控制的对比最后说为什么选PLC。第三章硬件设计。把IO分配表、电气原理图、元器件选型表都放在这里这是分值最高的部分也是很多学生写流水账的部分。最好加入每台电机的功率、额定电流、电缆参数的计算让方案可信。第四章软件设计。放工作流程图、程序结构图、每段核心状态机的梯形图截图并配文字说明每一步的逻辑。第五章系统调试。记录调试过程中遇到的问题和解决方案比如“横移电机过流保护动作将热继电器整定值从2A调整到2.8A后正常”这类真实的调试记录比写满乐观结论要有说服力。第六章总结与展望。简要总结工作提两到三个可以改进的方向比如增加车牌识别、接入手机APP点到为止即可。5.3 答辩演示的现场注意事项答辩现场不让讲太久所以演示要抓重点。我的经验是PPT控制在15页以内现场演示时最好用一个预先录好的视频作为“保底”因为真实系统在答辩现场容易出现接触不良、通信不上、限位抖动这些意外。视频里把存车、取车、报警、手动模式操作都录全万一设备不配合你放视频也比站在那里排查故障要体面得多。模拟盘的学生可以在电脑上直接运行组态王画面和真实系统同步演示。一定要提前检查笔记本的通信端口组态王和USB转485适配器有兼容性问题答辩前最好在实验室先连续运行一整天不出错再去答辩现场。6. 常见问题与排查技巧实录6.1 定位不准、限位误动作的处理最典型的问题是“载车板明明到位了程序就认为没到位”。排查步骤先看输入指示灯PLC面板上有X输入灯如果到位时灯没有亮先查行程开关是否被撞坏或者挡块偏离如果灯亮了但程序不动作则是梯形图中限位触点写错地址。有时限位开关本身正常但机械振动导致瞬时断开又接通程序就会误判。解决方法是梯形图里给限位信号加个0.1秒左右的D10-D20定时滤波或者选用带滚轮自锁功能的行程开关。电气噪声干扰也可能造成限位误动作这种情况优先检查屏蔽层接地和布线。6.2 电机启动过流、变频器参数设置横移电机和升降电机启动瞬间电流冲击大热继电器选小了一启动就跳闸。经验值横移电机按额定电流的1.5~1.8倍整定升降电机因为瞬间负载大按额定电流的2倍整定。如果用了变频器加减速时间建议设在2~4秒太短会造成大电流冲击太长则影响存取车效率3秒左右是最常用的起点。如果电机通电后无法启动或发出嗡嗡声先确认主电路相序尤其是接触器和变频器直通的回路相序反了电机不转。再检查制动线圈是否一直处于制动状态带失电制动器的电机如果在停机状态制动线圈没有断电离合没松开电机就会卡死。6.3 通信掉线、下载失败时的排查顺序PLC程序下载失败八成是通信参数或者电缆问题。先说USB转接线很多USB转RS422/RS232线是免驱的但兼容性不可靠强烈建议用原厂USB-SC18或西门子原装编程电缆。通信参数选择必须与微机设置一致端口号在设备管理器里确认好PLC的内置编程口和触摸屏通信地址不能冲突。在线调试时出现上位机监控值不动先看PLC是否在RUN状态有些情况下下载程序时PLC会跳到STOP需要重新切到RUN并在触摸屏侧重新连接。如果通信偶尔掉线考虑现场变频器产生干扰PLC这边要采用屏蔽双绞线做通信线且屏蔽层单端接地。6.4 程序逻辑上的经典坑最后一个经典坑是“输出已经置位电机却没有动作”。排查时别急着怀疑PLC坏了先看输出负载电压够不够DC24V的驱动电源是不是掉压了再查接触器线圈是AC220V还是DC24V。经常有学生把DC24V的设备接到AC220V回路里把PLC输出点烧毁。同样经典的是“某动作卡在中间态时好时坏”。这种情况大概率是状态步“跳”乱了比如M标志位没有被正确复位。梯形图里一定要在每一步置位前把同组其他步标志全部复位。这也是为什么推荐用“置位/复位”指令而不是单纯用线圈否则会出现多步同时接通机械结构就会乱动作。如果让我第一次做这个题目时能提前知道所有坑我可能还会义无反顾地选它。因为这套系统麻雀虽小五脏俱全从机械运动到电气控制再到上位机通信全链路都覆盖做完之后对工业自动化系统的认知完全不一样。工程上用得顺手的方案往往不是最复杂的而是逻辑最清晰的。遇到动作不对、程序卡住先回到动作序列图上重新走一遍流程远比在梯形图里盯着某个触点发呆有效得多。这个思路同样适用于你之后做的任何控制类项目。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑