ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

基于PLC的立体车库存取系统设计:从梯形图到安全互锁

基于PLC的立体车库存取系统设计:从梯形图到安全互锁 1. 立体车库存取系统到底在解决什么问题城市里车位难找是很多毕业设计选题的起点。立体车库自动存取系统就是把车“放在架子上”通过PLC控制电机和传感器完成车辆自动存入和取出。你可能会问这不就是停车吗为什么值得单独做一个设计因为立体车库节点多、互锁多、安全要求高是考察PLC编程和系统设计能力的典型题目。尤其作为计算机毕业设计它同时涉及到硬件接线、梯形图编程、上位机监控和设计文档整理做出来的“源码LW文档”几乎是一套完整的工程流程。适合自动化、电气工程、计算机相关专业的学生用来锻炼工程思维也适合刚入行做非标设备的人快速熟悉PLC项目的基本套路。1.1 立体车库的核心需求不止是“把车升上去”立体车库有机械、电气、软件三部分。机械上常见的是升降横移式地面层车位可以横向左移或右移顶层车位只能升降中间空档形成通道。存车时系统先把目标空位下方的载车板横移开再把上层的空载车板降到地面司机把车开进去然后系统把车升回原高度。取车时相反。这里看起来简单但控制需求很硬核必须知道每个车位是否有车必须判断横移方向会不会撞到旁边的车必须确保“先横移、再升降”的顺序不被打破必须在上层升降时和下层横移之间加互锁防止一个动作没结束另一个动作就启动。这些都是PLC最擅长的逻辑控制、顺序控制和安全保护场景。作为毕设需求完全可以写薄薄几页但背后的设计含量并不低。1.2 为什么用PLC而不是单片机或工控机很多计算机专业的同学第一反应是用单片机加C语言不好吗甚至用python直接控制继电器确实可以但毕业设计要体现工程性PLC有三个天然优势。第一个是抗干扰和可靠性。立体车库现场有电机启停、接触器通断电磁干扰非常强。单片机系统在这种环境下容易出现IO误动作、程序跑飞PLC从硬件层面做了隔离和滤波稳定得多。第二个是编程和调试的门槛。梯形图非常直观一个中间继电器、一个定时器对应一个线圈跟继电器控制柜的逻辑几乎一脉相承。即使没写过代码也能看懂步序逻辑。而且在线监控可以看到每个IO点当前的通断状态对调试和答辩演示非常友好。第三个是扩展和通信。PLC自带以太网、RS485口可以接触摸屏、上位机也可以用Modbus TCP把数据传给可视化系统。这恰好是“计算机毕业设计”里展示上位机界面的好素材。所以用“PLC上位机”来做比单片机方案更能撑起一篇完整的设计文档。1.3 这类毕设适合谁来参考如果你正在准备毕业设计手里只有一份“源码LW文档”的题目清单不要被源码两个字带偏。PLC的“源码”不是文本文档而是梯形图程序块、变量表、触摸屏工程和上位机源码。你要做的不是抄代码而是把控制思路捋清楚然后按自己的硬件重新分配IO。这套方法同样适合自动化专业、电气专业甚至机械专业做机电一体化课题的入坑。反过来如果你已经工作在做非标设备调试这个立体车库案例也是理解“状态机互锁”的最佳入门样本。2. 系统整体设计与方案选型2.1 机械结构选型升降横移式为什么是首选立体车库有垂直循环式、巷道堆垛式、升降横移式等。毕业设计如果选垂直循环机械动画好看但控制逻辑偏向连续循环如果选巷道堆垛要用到行走定位和认证难度偏高。最稳妥的是升降横移式结构对称、控制逻辑经典、模型容易搭建用亚克力板或者铝型材做一个三层三列的小模型都能演示。升降横移式的基本参数我建议这样设定2层3列6个车位底层3个可横移顶层3个可升降。底层中间或某侧留一个空位移位通道。控制目标就是让任意上层车位都能被调度到出入口。这个规模能覆盖几乎所有控制难点又不会让IO点数爆炸。2.2 控制架构PLC、传感器、电机、上位机四层整体架构可以分成四层现场层传感器、电机、限位、控制层PLC、操作层按钮、触摸屏、管理监控层PC上位机。传感器负责感知状态车位有无车、载车板是否到位、车辆是否停正、安全装置是否动作。电机负责执行动作横移电机和升降电机升降层还要配电磁制动器或防坠器。PLC负责做决定。系统必须有两个模式手动模式和自动模式。手动模式用于检修调试每个动作通过按钮点动控制自动模式则根据存车/取车请求自动执行完整流程。这个双模式设计不是加个切换开关那么简单它要求手动和自动的输入点、输出点、互锁条件在逻辑上共存否则自动化程序跑起来时手动操作按钮很容易成为安全隐患。2.3 输入输出点分配表这是整个设计的核心基础。所有程序都是基于IO点写出来的IO分配不清晰后面调试就是灾难。我以西门子S7-200 SMART为例给出一套常用分配表完全可以套到自己题目里。注意分配表不是抄完就完要和你实际的PLC型号、传感器类型一一对应。输入点方面入口光电传感器、各车位有无车开关、横移左右限位、横移原位、升降上限、升降下限、防坠信号、急停按钮、模式选择、存车按钮、取车按钮、热继电器过载信号。输出点方面横移电机正转、横移电机反转、升降电机正转、升降电机反转、电磁抱闸、防坠电磁阀、运行指示灯、故障蜂鸣器等。我列一个简洁的表格写成变量表后方便监控调试输入点地址注释输出点地址注释I0.0入口光电Q0.0横移正转I0.1车到位传感器Q0.1横移反转I0.2横移左限位Q0.2升降正转I0.3横移右限位Q0.3升降反转I0.4横移原位Q0.4电磁抱闸I1.0升降上限Q0.5防坠电磁铁I1.1升降下限Q0.6运行指示I1.2急停Q0.7故障报警I1.3热继电器......IO点表的意义是让程序里有名有址。每次写梯形图先查表避免一码多用。这一点很多人忽略直到调试时发现一个输入点被PLC内部逻辑反复占用。2.4 安全回路硬件和软件的双保险安全回路一定要分成两层来设计。硬件层包括机械防坠器、限位开关串接在接触器控制回路的常闭触点、急停回路直接切断主接触器线圈。软件层包括梯形图里的互锁、定时扫描检测、超时判断。两层不能互相替代软件再完善也不能省掉硬件急停。实际案例我在调试一个小型立体车库模型时升降电机下行接近底部限位开关因为安装位置偏了2mmPLC已经收到下限信号但机械上还在往下走最后把载车板憋停了。如果只在程序里做“到达下限就停止”现场必定出事。后来我在电机控制回路里把下限常闭触点串进去信号不到位时接触器根本吸合不了才解决了隐患。这也是毕业设计论文里最值得写的一节。3. 存取车控制逻辑与PLC程序实现3.1 把流程写成状态机而不是写满if elsePLC程序最忌讳想到哪写到哪。我建议先画状态转移表。存取过程看起来复杂但拆开后就剩几个状态空闲、横移调度、升降下降、车辆入库/出库、升降上升、停靠复位。每个状态由“前一个状态完成标志当前条件满足”触发这种写法叫顺序控制法。存车流程为例系统空闲。入口光电检测到有车存车按钮被按下。判断该车位当前是否空闲如果为空读取目标车位号。判断需要横移的底层车位启动横移电机直到横移限位到达并停止。横移到位后消除横移输出维持升降机械允许状态。升降电机正转载车板下降直到下限位动作。司机将车驶入车到位传感器和保护装置确认。检测确认无人在车内、安全光电完成复位后升降电机反转上升直到上限位。所有动作复位系统回到空闲状态。取车流程就是第4步的判断方向反过来同时要先把目标车位的下层横移车位移开让上层车板下降到地面司机开走后再判断是否要继续复位。3.2 步进梯形图代码框架用三段式写顺序控制步启动条件、步动作、步转移条件。以西门子S7-200 SMART的STL指令或三菱STL指令为例核心思想是把“步号”和“动作”分离。下面是一个极简的梯形图思路不是完整工程代码但结构可以直接套// 步1等待存车指令 LD 存车按钮 AND 系统空闲位 SET 步2 // 步2横移调度动作 LD 步2 S 横移电机正转 // 步2转移条件 LD 横移限位到位 AND 步2 R 横移电机正转 SET 步3这种写法好处很多每个步序只激活一个动作不会出现两台电机同时动作步与步之间有明确的转移条件调试时看哪个步在闪就知道卡在哪里写论文时直接把状态表抄进去也不怕说不清。3.3 互锁、定时与防错报警互锁是最容易被扣分的地方。横移电机和升降电机必须有软互锁也就是在梯形图中用常闭触点相互串接Q0.0和Q0.2不能同时为1。同时正转和反转也必须互锁防止换向瞬间三相短路。程序层互锁只是第一道硬件上还要用接触器常闭触点互锁这才是完整设计。定时器在立体车库里主要做两类事情一类是动作超时判断比如横移从启动到限位动作正常5秒内完成超过10秒还没有限位信号程序必须报警停机说明机械卡死或传感器坏了另一类是停止时的稳定延时比如升降到达上限后不要立刻切换下一个动作先等0.5秒让机械稳定。很多人省掉这两个定时器结果要么卡住不报警要么机械还在晃就启动下一步。3.4 防坠、防超限和急停的程序响应防坠器是上层车板最关键的机械安全装置。上升时防坠电磁铁应该得电释放下降到位后防坠器重新闭锁。程序里不能依赖单一信号我通常加一个“升降动作允许”中间变量只有当上限、下限、防坠状态、抱闸状态全部满足时才允许输出升降。急停一旦动作所有Q输出在10ms内复位即使是自动流程中的某个步序也要通过“急停标志”强制跳回安全步。这些程序段的代码量不大但却是答辩时老师最喜欢追问的地方。如果你能解释清楚“为什么防坠电磁铁要在升降电机启动之前先吸合”以及“急停之后如何从断点恢复”设计含金量立刻不一样。4. 硬件接线与现场调试记录4.1 主回路与控制回路接线主回路用三相380V或单相220V的减速电机建议用接触器正反转不要用PLC直接驱动电机。PLC的输出只驱动接触器线圈。控制回路上热继电器常闭点、急停常闭点、限位常闭点应该串在接触器的线圈回路中。这样即使PLC程序出现问题硬件回路也能直接切断电机电源。亲眼见过一个学生在实验室把PLC的晶体管输出直接接电机一启动就烧输出点还把PLC内部24V电源搞短路了。正确的做法PLC输出点、中间继电器线圈、中间继电器触点、接触器线圈依次连接最后再驱动电机。多一级中间继电器不是多余而是用弱电控制强电的隔离而且中间继电器触点更换成本远低于PLC输出点。4.2 传感器选型与安装位置检测车辆是否到位的传感器可以选光电对射开关或漫反射光电。对射式抗干扰强但需要在车板两侧安装支架漫反射式安装方便但对车体颜色敏感黑色车身容易漏检。为了安全入口和车位到位尽量用对射式横移限位和升降限位用机械式限位开关因为机械限位的动作状态直观且不会因为灰尘误触发。安装位置要特别注意两点一是限位块和传感器挡块之间要留缓冲余量不能刚好卡死否则机械惯性容易把限位撞坏二是光电传感器的发射端和接收端要在同一个水平面内如果车板沉下去几毫米对射光路就可能被遮住导致误判“无车”。这些细节写在论文调试记录里会让老师觉得你真的做过实物。4.3 关键参数计算电机、制动与滤波毕业设计论文通常要求有参数计算这部分是最容易凑字数的但我建议把它当成一次真实选型。横移车板加车辆总重量按1.5吨估算横移速度0.1m/s链条传动效率按0.85算电机轴所需功率约PF×v/(效率)15000×0.1/0.85≈1.76kW再乘1.5倍安全系数选2.2kW的减速电机比较合理。升降机构还要额外考虑配重和钢丝绳直径如果只是模型功率可以按比例缩小但计算过程要完整。另一个容易被忽略的参数是PLC输入滤波时间。S7-200 SMART默认数字量输入滤波是6.4ms机械限位开关动作时会有接触抖动容易产生重复触发。实际调试我把横移限位和升降限位的滤波时间调到12.8ms或更大抖动基本消除。但注意滤波时间不能太长否则急停按钮的响应也会变慢。4.4 联调实录一次完整的存取车动作整个系统连起来后我用秒表记录了一轮自动存车流程入口光电检测到车到信号后0.3秒横移电机启动底层1号位向左横移行程约1.1米用时4.2秒限位动作后电机停止停止延时0.5秒升降电机启动载车板下降0.8米用时3.6秒下限到位后停车车辆驶入车到位传感器动作确认后升降电机反转上升用时3.5秒上限到位后停车防坠器闭锁。整体一个完整存车流程约12秒左右取车流程因为不需要等车辆驶入后的确认基本在9秒内完成。这组数据看起来很普通但对写论文很有用。把每个动作的实测时间、停止延时、传感器响应时间列表格再对比理论计算值分析偏差原因调试章节就能写得很扎实。比如实测横移用时4.2秒理论计算是1.1/0.111秒为什么差这么多因为电机实际启动后有一个加速过程平均速度远高于0.1m/s说明减速电机选型偏大但正因为偏大才保证不会出现扭矩不足。这个分析比单纯复述原理有价值得多。5. 常见故障与排查技巧实录5.1 电机过载跳闸现象横移或升降运行一两秒后热继电器动作接触器跳开PLC报警。排查思路首先区分是机械卡阻还是电气过流。断开电机与传动的连接手动盘车如果能轻松转动说明问题在电气如果盘不动先处理机械。电气侧用钳形电流表测三相电流看是否超过额定值。我遇到过一个小比例模型电机额定电流1.2A实测电流2.1A最后发现是车板上放了配重块远超设计载荷。后来把模型上的载荷限制在额定范围问题消失。热继电器的整定电流通常设置为电机额定电流的1.1到1.25倍。这里有个细节热继电器动作有反时限特性短时间过载不一定跳但持续十几秒必然跳。如果程序里动作超时报警为10秒而热继电器要15秒才跳那么超时报警会先触发这会让现场人员误以为是程序问题。调试时应把超时报警时间设置在热继电器动作之前比如6到8秒。5.2 定位不准限位抖动和机械惯性定位不准几乎每个立体车库都会遇到。横移车板总是停过一点或者差一点导致上层下降时卡住。原因主要有三限位开关安装位置不当、机械惯性导致过冲、PLC输入滤波太短。解决办法是“机械挡块限位停止延时”三管齐下。机械挡块安装在限位触发点之前一点让车板撞到挡块产生机械定位限位开关作为电气信号触发后电机断电但车板还会因为惯性滑行一小段此时再配合停车延时或变频器减速段让车板缓慢停止。如果用的是变频器驱动把减速时间设为1到2秒定位精度会明显提高。5.3 变频器或接触器干扰PLC现场最烦人的故障是PLC偶尔误动作监控里看不到任何规律。大多数情况是电机或接触器动作时产生的电磁干扰。处理优先级第一PLC的24V电源要单独从开关电源取不要和电机电源共用第二PLC输入信号线用屏蔽线屏蔽层单端接地第三电机、接触器主回路远离信号线走线槽要分开第四PLC的接地端子必须接大地不能悬空。我在调试另一个项目时PLC一启动升降电机入口光电就瞬间误触发程序以为有车进来直接跳到存车步。后来用示波器看到光电信号线上有幅度接近15V的尖峰是因为光电线缆和电机线在桥架里平行走了3米。把它们分开、加磁环后问题再没出现过。5.4 PLC程序丢失或通信不上经常有学生问程序下载进去断电重启就没了或者上传上来的程序跟下载的不一样。这不是硬件坏了而是使用习惯问题。S7-200 SMART的程序保存在RAM中断电前要把程序块保存到EEPROM否则掉电丢失。上位机通信不上时先看IP地址是否在同一网段再看PLC的IP是否被防火墙屏蔽最后确认使用的编程电缆或以太网口有没有选错。5.5 快速排查速查表故障现象可能原因快速处理办法电机不动作PLC输出未接通/接触器线圈断在线监控Q点测量接触器线圈电压动作中途停止限位提前触发/超时报警查看PLC故障位定位卡在哪个步序定位偏差大惯性过冲/传感器抖动调整停止延时加机械挡块光电频繁误报干扰或光路偏移屏蔽线接地调整对射角度急停后无法恢复步序没有复位程序里增加急停恢复初始化逻辑这个速查表建议直接放进论文的“系统调试”章节老师在答辩时看到会觉得你总结得很系统。6. 毕业设计交付源码、LW文档和答辩演示6.1 源码不只是梯形图是整套工程文件“源码”这个词在PLC项目里对应的是整个工程文件包括PLC程序、变量表、触摸屏工程、上位机代码或组态工程。拿到别人的压缩包不能用因为不同PLC型号、不同硬件地址、不同触摸屏版本都是不兼容的。正确做法是先把源码里的IO分配表、程序结构搞懂再迁移到自己的硬件上。按这个思路我一般把源码组织成四个文件夹PLC源码、触摸屏HMI、上位机监控、图纸文档。每个文件夹里再放README说明版本和修改记录。论文里的程序代码不需要全贴只贴关键步序的梯形图片段剩下的放到附录或网盘链接。这样既显得专业又不会让论文变成一本程序打印稿。6.2 LW文档的写作顺序LW文档的写作顺序和编程相反不要上来就写设计实现应该先写需求分析和总体方案再写硬件选型和程序实现。推荐章节结构绪论背景、国内外现状、研究内容2. 需求分析功能需求、性能需求、安全需求3. 总体方案机械结构选择、控制系统架构、通信方案4. 硬件设计元器件选型、主电路和控制回路设计、IO分配5. 软件设计控制流程图、梯形图说明、关键逻辑分析6. 系统调试调试环境、测试数据、问题解决7. 总结与展望。每一章先画图再写文字毕设论文不需要文采但需要图多。流程图、IO表、梯形图截图、实物照片这些比一大段话更让老师认可。6.3 答辩演示的加分细节答辩时不要一上来就讲PPT先花30秒说清楚“我做了一个什么系统用到了什么技术达到了什么效果”。然后把实物或模型通电现场按一次存车和取车流程一边动作一边指着屏幕说明当前步序。如果条件不允许演示就用调试录像代替录像里必须有监控画面和实物同步的画面。老师最常问的几个问题为什么选PLC不选单片机你的系统如何保证安全程序怎么处理干扰如果现场回答不上来就直接承认“当时调试时遇到过类似情况我是这样解决的”这是加分项比硬编一个答案好得多。把我在前面章节写的逻辑背熟应对这些提问基本够了。最后再分享一点我的个人体会毕业设计做完你能带走的不只是一份“源码LW文档”而是“先拆解需求再设计逻辑最后调试验证”的工程习惯。这个习惯在以后做任何项目都会用到。如果时间允许强烈建议用最低成本搭一个小模型哪怕是木板加减速电机亲手动一次看见载车板停稳、上升、防坠闭锁你对这套系统的理解会比看十篇论文都深。
返回列表