简介:《自动双层停车场控制设计PLC课程设计报告书》是一份面向自动化、电气工程及同类专业学生的完整课程设计文档,适用于《电气控制与PLC》课程的实践教学环节。资源围绕基于PLC的双层停车场自动化控制展开,内容涵盖任务书、设计目的、设计要求、系统组成、硬件配置、PLC程序设计思路以及系统调试与优化,能帮助读者掌握梯形图编程、继电器互锁、I/O分配及电机控制等核心知识点,并可作为课程设计报告撰写的参考模板。资源包共1个文件,为doc格式的Word文档,大小349KB,内容结构完整,图文并茂,便于直接查阅和编辑。目前已有114人浏览学习,适合正在完成PLC课程设计或需要了解立体停车位自动控制方案的高校学生和工程技术人员使用。 我在带PLC课程设计时,几乎每年都会碰到“自动双层停车场控制设计”这个题目。很多学生拿到题目第一反应是“这不就是几个电机正反转嘛”,结果一画I/O表、一写梯形图就开始乱——不是逻辑打架,就是安全连锁没做,最后演示时车还没停到位设备就乱动。这套方案我前前后后带过不下十遍,从三菱FX系列到国产信捷、汇川都试过,这篇直接把一套能跑通、能答辩、能扩展的完整设计思路写出来:需求怎么拆、硬件怎么选、I/O怎么分、顺序控制怎么搭、调试会遇到什么坑,全部过一遍。适合正在做PLC课程设计或毕业设计的学生,也适合刚入门PLC、想找个实际项目练手的朋友。
1. 项目到底要做什么:从“双层停车”需求反推系统架构
1.1 双层停车场的核心控制需求拆解
自动双层停车场,本质上是一个升降横移式立体停车设备。没接触过机械结构的同学容易把它想复杂,其实原理很简单:地面层(下层)的车位可以直接进出车,空中层(上层)的车位要存取车时,必须先把对应的下层车辆横移开,再把上层台板降下来,等车开进去(或开出来)后升回去,最后把下层车辆横移复位。
所以整个控制系统的核心需求可以拆成四块:车辆检测(车位有没有车、入口出口有没有车)、横移电机控制(下层车辆腾位与复位)、升降电机控制(上层台板升降)、信号指示与保护(入口指示灯、报警、急停和限位互锁)。
这个需求听起来不复杂,但它是一个典型的顺序控制项目:动作必须严格按照“先横移、再下降、再确认、再上升、再复位”的顺序来做,任何一步没到位都不能往下走。这也是为什么这类题目特别适合做PLC课程设计——它不要求复杂的模拟量处理或通讯,但对逻辑的严密性、状态之间的互锁关系要求很高,能把学生是否真正理解“扫描周期”“状态标志位”“互锁保护”这几个核心概念充分暴露出来。
1.2 系统整体组成与一次完整存取车过程
系统组成我习惯用一张图来讲,这里用文字描述一下:控制核心是PLC,输入侧接的是各类传感器和按钮,输出侧接的是接触器,接触器再控制横移电机和升降电机。入口和出口各有一对光电传感器(或者地感线圈)用来检测是否有车经过,每个车位上方装一个光电/接近开关检测车位占用状态。上层台板的升降到位由行程开关(限位开关)反馈,横移机构左右到位同样由限位开关反馈。
一次完整的上层存车过程是这样的:假设车辆要存入上层2号位,而它对应的下层2号位已被占用。系统首先判断上层2号位是否空闲,如果空闲,启动横移电机把下层2号位的车辆横移到临时空位;横移到位信号确认后,再启动升降电机把上层台板降到地面层;下限位信号确认后,入口放行,车辆驶入台板;车位传感器检测到车辆停好后,系统启动升降电机把台板升回上层;上限位信号确认后,横移电机反向动作,把下层车辆移回原车位;全部复位后,车位状态刷新,一次存车完成。
取车过程方向相反,但核心顺序控制逻辑完全一致。这套流程我建议所有做课设的同学先自己画一遍“动作时序图”再写程序,因为后面的梯形图本质就是把这张时序图翻译成PLC语言。
2. 硬件选型与I/O分配:课设第一步的关键
2.1 PLC型号与传感器的选择逻辑
课程设计里PLC品牌怎么选?我的建议是:学校实验室用哪个就用哪个。三菱FX3U在课设中使用率最高,编程软件GX Works2(或GX Developer)资料多、梯形图指令直观;信捷、汇川的编程方式与三菱接近,而且软件下载和仿真方便,也经常出现在课设里。如果机房里正好是西门子S7-200 SMART,那用博途或STEP 7-MicroWIN SMART也一样,核心逻辑是通用的,差别只在指令写法。
传感器选型上,车位占用检测我推荐用对射式光电开关或者漫反射光电开关,对射式可靠性高,漫反射安装方便但容易受反光干扰。入口出口的车辆检测用对射光电或者地感线圈都可以,课设里通常用光电开关模拟,方便在实验台上摆弄。上层台板的上下限位、横移机构的左右限位,用**机械式行程开关(限位开关)**就够了,便宜、接线直观、动作可靠性高,程序调试时用手按一下就能模拟到位信号,非常方便。这里有个容易忽略的点:限位开关的触点一定要选“一开一闭”那种,常开常闭都接出来,常闭点进PLC做硬互锁,常开点做到位反馈,这样即使PLC程序出错,硬件上也能兜底。
2.2 I/O点表分配与安全保护触点
I/O分配是整个设计里最无聊但最不能出错的环节。我见过太多学生程序写得挺好,结果I/O表对不上,现场对线对得满头大汗。下面给一套我常用的I/O方案,以三菱FX3U为例:
| 输入点 | 信号说明 | 输出点 | 信号说明 |
|---|---|---|---|
| X0 | 下层1号车位占用检测 | Y0 | 横移电机正转(下层车横移腾位) |
| X1 | 下层2号车位占用检测 | Y1 | 横移电机反转(下层车复位) |
| X2 | 上层1号车位占用检测 | Y2 | 升降电机正转(台板下降) |
| X3 | 上层2号车位占用检测 | Y3 | 升降电机反转(台板上升) |
| X4 | 入口车辆检测 | Y4 | 入口绿灯(允许进入) |
| X5 | 出口车辆检测 | Y5 | 入口红灯(车位已满) / 报警 |
| X6 | 横移左限位(腾位到位) | ||
| X7 | 横移右限位(复位到位) | ||
| X10 | 台板上限位 | ||
| X11 | 台板下限位 | ||
| X12 | 急停按钮(常闭) | ||
| X13 | 热继电器过载(常闭) | ||
| X14 | 启动按钮 | ||
| X15 | 停止按钮(常闭) |
为什么输入点里有那么多常闭信号?这里敲一下黑板:急停、停止、热继电器这些安全类信号,必须接成常闭触点输入PLC。理由是:常闭触点在线路正常时是导通的,一旦线断了、接触器坏了、或者按钮被按下,PLC输入信号就会改变,程序能立刻识别到异常。如果你图省事接成常开,万一急停线断了,系统根本不知道急停失效,设备该转还转,这是非常危险的。这个知识点课设答辩时老师几乎必问,答不上来就尴尬了。
输出侧还要注意:三菱FX3U是继电器输出的话可以直接驱动小型接触器,但感性负载(接触器线圈)两端一定要并联续流二极管或者RC阻容吸收,不然断电瞬间的反向电动势会把PLC输出点击穿。这个细节不写进报告里看不出来,但现场调试时会让你怀疑人生。
3. 控制逻辑核心:顺序控制的本质
3.1 判定条件与车位状态刷新
整个程序的第一个模块是“状态判定与刷新”。程序每次扫描时,根据X0~X3四个车位传感器,刷新M0~M3四个标志位:M0=1表示下层1号位有车,M1=1表示下层2号位有车,M2=1表示上层1号位有车,M3=1表示上层2号位有车。
为什么要单独做一组M标志位而不是直接读X?因为输入点X是硬件信号,程序运行过程中外部干扰可能导致瞬间误动作;而M标志位是程序内部的“软件映像”,你可以在刷新时加滤波延时、可以人工置位复位,更重要的是,后续逻辑都引用M标志位,这样程序结构清晰,调试时监控M区一眼就能看出当前车位状态。
入口放行条件也要够严谨。入口有车(X4=1)时,系统计算总空位数:如果M0~M3中至少有一个为0,说明有空位,置位Y4绿灯放行;如果四个位全部为1,置位Y5红灯,提示车位已满。这里还有一个容易漏掉的场景:上层有空位但对应下层被占用时,车辆进入后并没有停车位可用,必须在入口或过渡区设置“等待区”,车辆先在等待区停留,系统执行“横移腾位+台板下降”之后,再引导车辆进入台板。所以我在实际方案里,X4不仅要用于入口放行判断,还要用它的下降沿信号作为“有车进入系统”的触发条件,启动一次上层存车流程。
3.2 上层车位存取的关键互锁流程
上层存取车的顺序控制,我习惯用一组状态继电器S来写。三菱FX3U有专门的步进指令STL,用S状态号编程比纯梯形图写M标志位要清晰得多。存车流程的状态划分如下:
- S0:待机状态,系统空闲,刷新车位标志
- S10:横移腾位状态,Y0输出,直到X6横移左到位
- S20:升降下降状态,Y2输出,直到X11台板下限位
- S30:等待进车状态,车辆进入台板,X2或X3检测到到位信号(也可加时间确认)
- S40:升降上升状态,Y3输出,直到X10台板上限位
- S50:横移复位状态,Y1输出,直到X7横移右到位
- S60:完成状态,刷新车位标志,返回S0
关键点是每两个状态之间的转换条件必须包含“当前动作已到位”的反馈信号。比如从S10进入S20,条件不能只是“时间到了”,而必须是X6(横移左到位)为ON。为什么?因为如果横移还没到位就启动升降,下层车辆还在台板正下方,上层台板降下来会直接压车。这是现场安全的事故隐患,绝不是程序跑不跑得通的问题。
互锁方面要分两层做。一层是软件互锁,在梯形图中保证Y0和Y1、Y2和Y3不能同时为ON;另一层是硬件互锁,接触器主回路里把正转接触器的常闭点串到反转接触器线圈回路中,把反转接触器的常闭点串到正转回路中,这样即使PLC程序错乱,硬件上两个接触器也不可能同时吸合。这两层互锁是电机正反转控制的标准做法,课设报告里建议专门用一节写清楚,属于加分项。
4. 梯形图程序实现:从状态图到三菱FX程序
4.1 程序整体结构:初始化、判定、步进
程序整体分三个模块:初始化与复位、入口判定与状态刷新、步进顺序控制。
初始化部分用M8002(三菱FX上电瞬间接通一次的脉冲继电器)把S0置位,同时把所有输出Y0~Y5、状态继电器S10~S60全部复位。这一步不做的话,程序上电瞬间状态不可控,设备可能莫名其妙乱动。说白了,PLC上电后的第一个扫描周期必须明确告诉它“现在处于待机状态,所有动作禁止”。
入口判定部分,用X4的上升沿触发一次“存车请求”,然后用条件判断是走下层直接入库路径还是走上层升降横移路径。下层有空位时,直接引导车辆进入,车位传感器动作后刷新M标志位即可;下层全满但上层有空位时,再进入上层存车流程。这里我建议用一个M100存车请求标志,避免X4持续为ON导致重复触发流程。
步进顺序控制部分用STL指令编写。STL梯形图的特点是:当前状态激活时,只有当前状态的程序段被执行,其他状态自动停止。这样程序天然具备“顺序执行、前一步完成后才能进入下一步”的特性,写起来和读起来都非常接近流程图,课设答辩讲程序时也特别好解释。
4.2 关键程序段的写法与要点
以“横移腾位”程序段为例,核心写法是:
- 当S10被激活(STL S10)时,输出Y0(横移正转)。
- 转换条件是X6(横移左到位)为ON。
- 当X6为ON时,使用SET S20激活下一状态,同时要用OUT或RST把S10复位。用STL指令时,三菱的规则是“状态转移后,前一个状态自动复位”,但在程序中要写成SET S20后跟上一条RST S10,养成习惯,避免用老版本软件时出现状态互串的问题。
等待进车的S30状态有个细节要处理好:车辆进入台板后,车位传感器会动作,但车辆完全停稳需要时间。我一般用X2或X3的上升沿启动一个T0定时器,延时2秒后才认为车辆停稳,然后才执行升台板动作。这个延时很有必要,不然车还没停稳台板就升,车会溜。课设演示时如果用手推小车模拟车辆,这个小车一推上去台板就开始升,现场看着很蠢,加了延时就好很多。
升降电机上升和下降的程序段是同样的写法,只是限位条件和输出点不同。注意Y2(下降)和Y3(上升)的软件互锁:在Y3的输出回路里串入Y2的常闭触点,在Y2的输出回路里串入Y3的常闭触点。这样即使状态切换逻辑出错,两个输出也不可能同时导通。这一步一定不要省,答辩老师都会看这个位置。
5. 调试现场记录:常见故障排查与心得
5.1 我实际调试中遇到的5个典型问题
第一次带学生做这个课题时,调试现场真是“故障不断”,但也因此积累了一堆实用的排查经验。我把高频问题整理成一张表,对应排查思路也一并列出:
| 故障现象 | 可能原因 | 排查思路 |
|---|---|---|
| 上电后设备没有反应 | 急停常闭点没接对、PLC未进入RUN状态、S0未被置位 | 先看PLC面板RUN灯,再看监控表里X12是否为ON,最后看S0是否为ON |
| 横移电机到位后不停 | 限位开关没触发、限位开关接线松、程序中用了下降沿判断 | 用手按压限位开关,观察X6状态是否翻转;检查到位信号用的是常开还是常闭 |
| 升降台下降过程中报警停机 | 热继电器误动作、电机堵转、下限位提前触发 | 看X13是否变OFF,检查机械机构是否卡滞,调整限位安装位置 |
| 程序状态乱跳,一步没完成就进入下一步 | 状态转换条件里用了脉冲信号而不是电平保持信号 | 把所有转换条件改成“传感器持续为ON”的常开触点,避免脉冲丢失 |
| 车辆停放后车位状态不刷新 | 车位传感器安装位置偏高/偏低、M刷新逻辑没执行 | 监控X2/X3的实际状态,调整传感器高度;检查车位刷新程序是否放在S0以外的循环程序段中 |
其中第二个问题最典型:限位开关到位后,程序必须用“X6的常开触点接通”来判断到位。但实际接线时如果误用了常闭触点,程序判断逻辑就全反了,电机到位反而当成没到位,继续输出。刚接触PLC的同学最容易在常开常闭这里栽跟头。我的建议是:写程序前先画一张输入信号逻辑表,明确每个传感器“有信号时PLC输入点是ON还是OFF”,再动手写梯形图。
5.2 排查技巧与保护机制设置
调试时我习惯在程序里加一个“运行状态监视段”:把S0、S10~S60的状态用M标志位镜像到PLC的辅助继电器区,同时在触摸屏或上位监控软件里做成指示条。这样程序跑到哪一步了,监视画面上一目了然。如果没有触摸屏也没关系,直接用GX Works2的“软元件监控”功能,在电脑上实时看S状态号和Y输出状态,排查效率能翻倍。
关于保护机制,我最后强调三点。第一,急停按钮的布线要采用“串联常闭进PLC+硬件切断接触器电源”双回路方式:PLC程序检测到急停后让所有输出复位,同时急停按钮的硬触点直接切断接触器线圈供电。第二,热继电器过载保护触点不要只做PLC输入报警,务必要串接在主接触器控制回路中,形成硬件层面的过载断电。第三,上电延时保护不要省:系统接通电源后先延时1~2秒再允许进入待机状态,避免上电瞬间各个传感器的瞬时抖动导致误动作。
6. 课设避坑心得:关于流程、报告和答辩的三点建议
如果正在准备课程设计,我最后给你三个实在建议。第一,拿到题目不要直接写梯形图,先花一晚上把顺序功能图(SFC)画出来,把每一步的动作、转换条件、输出状态列成表格,梯形图就是翻译这张表。实际做下来,百分之八十的逻辑错误都能在这一步拦下来。第二,灯光、限位这些“信号模拟”环节要尽量做得直观,答辩演示时给老师看到红绿灯变化、台板升降限位触发的过程,比任何口头解释都有说服力。第三,报告里把安全和互锁设计单独写一节,把“常闭触点安全回路”“正反转硬件互锁”“急停双回路”这三点讲透,这些内容才是课程设计真正想让你掌握的工程素养。
这个项目我每年都会重看一遍,其实还能往很多方向扩展:加一个触摸屏监控页面,把车位状态和运行状态做成动画界面;用组态软件做上位机监控,实时采集PLC运行数据;或者把程序改造成FB块结构,方便在信捷、汇川这些国产PLC平台上复用。做完基础版本后,挑一个方向深入一下,收获会远超课程设计本身。
本文还有配套的精品资源,点击获取