多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

基于PLC的自动洗车系统设计与实现:从选题到答辩全流程指南

基于PLC的自动洗车系统设计与实现:从选题到答辩全流程指南 每年三四月份后台就会多出一批相似的问题PLC毕设题目选什么自动洗车系统有没有现成方案设计报告怎么才能写到一万字问得多了我索性把做这个题目最完整的一条路线写出来——从选题拆解、工艺梳理、选型接线到程序架构、触摸屏组态、现场调试最后落到设计报告的框架和答辩准备。这篇文章不是什么资料包截图拼凑就是基于PLC控制的自动洗车系统从头到尾怎么落地怎么讲透你拿它至少能搭出一套属于自己的完整方案不用再东拼西凑地找零散教程。1. 这个题目为什么值得做从选题价值到覆盖知识点1.1 一个题目把PLC的核心技能全串起来了自动洗车系统的控制对象非常明确喷淋、泡沫、刷洗、冲洗、风干再加上龙门架或传送带的前进后退。对应到执行机构就是电磁阀、三相电机、高压水泵、风机控制方式涉及数字量输入采集、定时器、顺序控制、状态转移、手动/自动切换、报警处理。一套小型自动化系统该有的控制要素这个题目基本都覆盖了。对比一下其他常见的PLC毕设选题差异就很直观十字路口红绿灯主要是定时器加顺序输出缺少传感器反馈环节做出来更像练习而算不上系统设计机械手搬运涉及运动控制和点位表难度偏高很多人在中位机和回原点的处理上卡住恒压供水偏重PID和变频器闭环调节对理论基础的要求比较高。自动洗车系统恰好踩在中间工艺流程有嵌套但又足够清晰传感器和执行机构种类丰富市面上成熟案例多参考资料好找做的时候不容易走着走着就无据可依。对刚入门的人而言这也是一个能快速建立程序框架感的项目。它逼着你把时序、联锁、状态跳转这些概念落实到梯形图和STL里而不是停留在看得懂指令的层面。做完之后你再看那些电机顺启逆停8人抢答器之类的小例子基本就是降维打击。1.2 评审容易理解答辩环节天然占便宜做过毕设答辩的人都知道评委老师第一个问题往往是你这个系统是干什么的。洗车系统几乎不需要额外解释背景——每个评委都洗过车你一句车辆到位、喷淋、泡沫、刷洗、冲洗、风干三句话把原理讲完剩下的时间可以全部用来展示PLC程序、电气图纸、组态画面这些硬核内容。这一点在答辩里的价值经常被低估。很多学生死在开场题目一偏评委五分钟没听懂你在做啥后面提问环节自然刁钻。而洗车系统是那种人人都觉得你能做出来、但做完整也不容易的题目评委的预期管理更容易被你主动掌握。你甚至可以在演示视频里让评委看到喷水动作和刷洗动作的先后配合这比干讲梯形图要有说服力得多。1.3 弹性大实物演示、仿真、半实物都能做这套题目还有一层好处是它可以根据学校条件和预算灵活调整落地方式有经费有条件搭建小型演示台用指示灯代替执行机构用按钮加光电传感器模拟到位信号整套硬件成本几百块程序完全按真实工业逻辑写没条件做实物可以用S7-200 SMART的编程软件配合触摸屏组态软件做全流程仿真车辆到位用软元件模拟输出看触摸屏上的状态变化一样能完成功能和演示想冲高分加入变频器控制、PID调压、两台PLC以太网通信系统层次直接对标小型工业项目论文层面则统一按完整工业方案写工艺参数写清楚图纸画规范仿不仿真不影响报告质量。说白了这个题目的下限低、上限高很适合既不希望太水、也不希望做不出来的绝大多数人。2. 洗车工艺梳理设计前必须搞清楚的流程逻辑2.1 龙门往复式洗车机的完整工序拆解以最常见的龙门往复式洗车机车辆不动、清洗架往复移动为例完整的自动清洗流程应该拆成下面这些步骤车辆驶入清洗工位停在定位线上车头到位传感器和车位中部传感器同时有效系统检测到车辆到位蜂鸣器提示驾驶员拉手刹、关闭车窗、收起天线预湿工序喷淋管喷水湿润车身软化表面泥沙持续10~15秒泡沫工序泡沫泵启动喷头喷出洗车泡沫覆盖车身持续15~20秒刷洗工序顶刷从车头向车尾移动侧刷贴合车身两侧上下往复持续25~30秒冲洗工序高压水泵启动高压水流冲掉泡沫和残余污渍持续15~20秒风干工序风机启动从车头往车尾方向吹干持续20秒左右完成提示声光提示驾驶员驶离工位每一步的时长不是拍脑袋定的它跟喷头流量、水泵压力、电机转速、龙门架移动速度都相关。设计报告里得写清楚这些时间依据程序里更不能把时长焊死成常数要留出触摸屏上可调的接口方便现场按实际工况微调。2.2 工艺里的安全约束直接影响控制方案现场工艺里有一批约束条件是在写任何一行程序之前就要定下来的安全联锁龙门架移动路径上要有人体检测或安全光幕检测到人立即停止刷洗工序中顶刷电机和侧刷电机不能先于喷淋启动否则干刷损伤车漆传感器逻辑车头到位传感器用于触发启动流程车位中部传感器用于确认车辆长度和停留位置出口传感器用于判断流程结束介质互锁高压水泵必须在冲洗电磁阀打开之后才能启动避免憋压泡沫电磁阀关闭前不允许高压水泵工作防止泡沫进入高压管路急停复位急停按下后所有输出切断急停复位后系统必须回到待机状态等待操作工重新按启动按钮绝不允许自动恢复运行这些问题如果不在设计阶段列清楚等程序写了一半再补状态机逻辑非常容易被改乱。我自己带项目的时候就吃过这个亏一开始光顾着把工序顺序写出来没把急停复位后必须手动复位这条规则想透结果联调时模拟急停复位后设备当着大家的面自己又跑起来了场面一度很尴尬。2.3 工序表到程序状态表的映射写程序前先把工序表转成状态表这是我认为整套设计里最值得花时间的一步。具体做法就是在草稿纸上画一张表格每个工序一行写下它的入口条件、执行动作、出口条件、异常情况。画完这张表再动手写梯形图后面的编程速度会快得多。也正是这一步能让你区分清楚顺序功能图和一堆定时器串联的本质区别。毕设答辩时评委如果问你这个程序是面向过程还是面向状态你能答出基于状态转移并且拿出状态表加分效果非常明显。3. 硬件选型与I/O分配把每一路信号落实到位3.1 PLC型号选择西门子S7-200 SMART还是三菱FX3U做这个题目国内高校基本集中在两款西门子S7-200 SMART和三菱FX3U。选型对比拉一张表最直观对比项西门子S7-200 SMART三菱FX3U编程软件STEP 7-Micro/WIN SMARTGX Works2指令风格梯形图/STL并重梯形图为主配套触摸屏Smart IE系列以太网直连常用昆仑通态或专用屏资料丰富度极高视频教程最多高常用型号SR40 / ST40 / SR30FX3U-48MR从毕设角度我更推荐S7-200 SMART。原因是梯形图直观、编程软件完全免费、触摸屏组态软件WinCC flexible SMART也免费以太网下载程序比USB快且稳定网上问题解答多到你想不到。如果你是PLC编程刚入门闭眼选它踩坑成本最低。3.2 传感器与执行机构的选型清单这是我在实际项目中配置过的一套清单参数都验证过可以参考车辆到位检测漫反射光电传感器 E3F-DS30C4NPN常开检测距离30cm10~30V DC供电龙门架工位检测电感式接近开关 LJ12A3-4-Z/BXNPN常开检测距离4mm水罐液位浮球液位开关低液位闭合触点高压泵出口压力压力继电器用于低水压保护刷洗电机三相异步电机0.55kW顶刷、侧刷各一台龙门架驱动电机三相异步电机0.75kW高压水泵三相异步电机1.5kW风机离心式风机0.75kW电磁阀2W系列220VAC电磁阀预湿、泡沫、冲洗各一个接触器CJX2-0910线圈220VAC热继电器JR36-20按电机额定电流整定这套器件选下来成本不高而且每一种在论文里都能展开写清楚选型理由正好把硬件设计一章的篇幅撑起来。3.3 完整I/O分配表以S7-200 SMART SR40为例SR40有24个数字量输入和16个继电器型数字量输出对这套系统富余量很大后续就算想加变频器状态反馈也够用。I/O分配可以参考这张表PLC地址信号名称类型说明I0.0启动按钮DI常开触点上升沿有效I0.1停止按钮DI常开触点按下停止I0.2急停按钮DI常闭触点I0.3手动/自动切换DION为手动OFF为自动I0.4车头到位传感器DINPN常开I0.5车位中部传感器DINPN常开I0.6水罐低液位DI浮球开关低液位闭合I0.7水泵过载DI热继电器常开辅助触点I1.0风机过载DI热继电器常开辅助触点I1.1刷洗电机过载DI热继电器常开辅助触点Q0.0龙门架前进DO接触器KM1Q0.1龙门架后退DO接触器KM2Q0.2顶刷电机DO接触器KM3Q0.3侧刷电机DO接触器KM4Q0.4预湿电磁阀DO220VACQ0.5泡沫电磁阀DO220VACQ0.6冲洗电磁阀DO220VACQ0.7高压水泵DO接触器KM5Q1.0风机DO接触器KM6Q1.1蜂鸣器DO声光提示Q1.2运行指示灯DO绿色Q1.3报警指示灯DO红色这里有一个特别要提醒的安全原则热继电器的辅助触点接入PLC是为了让程序能够感知过载并且触发报警画面但真正的断电保护靠的是热继电器主触点串在主回路里直接切断电机电源。如果只依赖PLC去处理过载从热继电器动作到程序扫描再到输出断开这个时间差在工业现场是致命的所以热继电器主触点串主回路这条硬逻辑不能省。4. 电气原理图设计要点安全回路是硬底线4.1 主回路与控制回路分层设计电气图纸我习惯分成两个层次来看主回路和控制回路。主回路上每一台电机都独立一条回路走断路器QF、接触器KM、热继电器FR、电机M的标准串联结构控制回路则是PLC输出点带中间继电器中间继电器触点再驱动接触器线圈。用继电器输出型PLC直接驱动接触器线圈虽然静态电流够但接触器吸合瞬间的冲击电流很容易造成PLC输出触点粘连。所以我的习惯是PLC输出先接中间继电器比如常见的HH54P带指示灯座再由中间继电器触点去控制接触器线圈。这样多花二十块钱检修方便程度完全不一样——PLC输出点烧坏了换一个中间继电器就行成本十几块换一个PLC输出模块则是上百起步。4.2 急停和电气互锁必须硬接线不能只靠程序电气设计里最重要的一条原则安全功能绝对不能只用PLC程序实现。急停按钮要直接串在接触器线圈的公共回路上按下急停后所有接触器失电机械动作立刻停止。如果只在PLC输入里读急停、靠程序去切断输出中间隔着扫描周期和程序逻辑存在不可接受的延迟和漏洞。必须硬接线的点位至少包括以下三个急停按钮串联在控制回路公共电源上按下后控制回路整体失电龙门架前进和后退接触器之间加电气互锁用KM1的常闭触点串入KM2线圈回路反之亦然防止两个接触器同时吸合热继电器常闭触点串联在各自电机对应的接触器线圈回路里过载时直接断电程序里当然也要做互锁但电气互锁是最后一道保险程序互锁是日常运行逻辑两者缺一不可。4.3 传感器接线的典型坑NPN与公共端传感器接线这块我单独拿出来讲因为现场出问题最多的就是这里。NPN传感器输出的是低电平有效信号它的供电正极接24V信号线接PLC输入点PLC输入公共端M接24V-。很多初学者把NPN和PNP搞混或者公共端接错症状就是传感器指示灯明明亮了PLC输入就是没反应。S7-200 SMART的输入公共端是1M、2M端子SR40的输入分成两组接线之前一定先看清楚分组。如果两组输入共用一个公共端信号会互相干扰。看图纸的时候碰到这种错误我基本一眼就能指出来因为这种问题十次里有九次是公共端接错导致的。5. PLC程序架构状态机思想让多工序控制不乱套5.1 为什么顺序控制一定要用状态机刚开始学PLC的人拿到这个题目很容易写出一大串定时器和输出线圈直接串联。工序只有两三个时梯形图还能撑住一旦工序到五六个再加上手动/自动切换、急停、报警程序就变成一团乱麻改一个点牵动全身。状态机的核心思想是任何一个时刻系统有且只有一个状态位为ON。所有输出和转移条件都基于当前状态来判断。这个做法的好处逻辑清晰审查方便导师和评委都能快速看懂不会出现两个互斥输出同时动作比如龙门架前进和后退同时得电急停、复位、异常跳转只需要在处理状态机上做一次逻辑不用在每个输出里各自判断这个思路放到工业现场就是顺序功能图SFC西门子有专门的S7-GRAPH功能块但用梯形图手写状态位完全能达到同样的效果而且更接近PLC编程入门阶段应该掌握的基本功。5.2 状态定义与转移条件表把第二章的工序表转成状态表可以这样定义状态位状态名称进入条件退出条件M10.0待机上电初始化/复位完成启动按钮上升沿 车辆到位M10.1预湿启动条件满足T37计时到M10.2泡沫T37到T38计时到M10.3刷洗T38到T39计时到M10.4冲洗T39到T40计时到M10.5风干T40到T41计时到M10.6完成提示T41到停止/复位定时器的时长是预湿10秒、泡沫15秒、刷洗25秒、冲洗15秒、风干20秒总周期大约85秒。这个时间尺度对演示很合适既不会让人等得失去耐心又足够展示每个工序的状态变化。5.3 核心程序段的梯形图与STL实现S7-200 SMART里做状态机梯形图的写法固定为三部分。首先是状态转移段比如待机到预湿的状态跳转// 网络1待机 - 预湿 LD M10.0 // 当前处于待机状态 A I0.0 // 启动按钮 EU // 上升沿检测 A I0.4 // 车头到位传感器 A I0.5 // 车位中部传感器 A I0.2 // 急停复位正常状态 S M10.1, 1 // 置位预湿状态 R M10.0, 1 // 复位待机状态接着是定时器段每个状态里启动对应的定时器。S7-200 SMART的T37属于100ms分辨率定时器计时值单位是0.1秒10秒就是100// 网络2预湿工序计时 LD M10.1 TON T37, 100 // 10秒计时 // 网络3预湿 - 泡沫 LD M10.1 A T37 S M10.2, 1 R M10.1, 1最后是输出段每个输出线圈由状态位直接驱动简洁清楚// 网络4输出 - 预湿电磁阀 LD M10.1 Q0.4 // 网络5输出 - 泡沫电磁阀 LD M10.2 Q0.5 // 网络6输出 - 高压水泵仅冲洗状态启动 LD M10.4 Q0.7这套结构的好处是新增一个工序只需要加一个状态位、一个定时器、一组转移和若干输出线圈原有逻辑完全不受影响。程序写到后面你甚至会感觉是在填表格而不是在堆逻辑。5.4 手动模式的安全规则可以简化但不能取消保护手动模式不等于不管安全。手动模式下电磁阀、水泵、风机可以用触摸屏按钮点动方便调试和维护但两个互斥输出仍然需要程序互锁比如龙门架前进和后退不能同时ON急停信号在手动模式下同样要接入程序作为所有输出的总切断条件。我见过一份学生设计手动模式跳过了所有联锁结果调试时差点把龙门架撞上定位挡块。手动模式可以简化保护层次但不能取消保护本身这是现场调试的基本底线。设计报告里写清楚手动模式下的保护策略比用大篇幅堆砌操作步骤要值钱得多。6. 触摸屏组态自动、手动、报警三个页面必须到位6.1 为什么系统里要加触摸屏自动洗车系统加一块触摸屏论文里的上位机监控章节就有了实际落点工程上确实也需要——操作工不可能靠十几个按钮去操作那么多路输出触摸屏是必需的人机接口不是加分项。推荐用西门子Smart Line系列比如Smart 700 IE V37寸屏和S7-200 SMART通过以太网直连。组态软件用WinCC flexible SMART V4免费官方例程和手册也全。这套组合在毕设里是最不容易出问题的搭配。6.2 页面结构三页足够别贪多触摸屏组态我建议只做三个页面把每个页面做扎实比堆七八个花哨页面更实用主画面显示系统当前状态待机/预湿/泡沫/刷洗/冲洗/风干/完成用状态指示灯或者文本显示当前工序显示各工序剩余时间放置启动、停止、复位三个按钮手动画面每个执行机构一个点动按钮带当前状态反馈放自动/手动切换开关放急停复位确认按钮报警画面过载报警、低液位报警、急停报警、传感器故障报警每条报警带发生时间和确认按钮页面之间的跳转用画面切换按钮再按操作员和工程师分两级权限操作员只能看主画面和手动画面工程师权限才允许修改定时参数。这个权限设计写进论文里又是一个能让评委点头的细节。6.3 通信参数设置IP同网段PUT/GET要打开S7-200 SMART与Smart IE触摸屏通信关键参数就那么几个但对不齐就黑屏PLC侧打开允许从远程设备进行PUT/GET通信访问选项触摸屏侧接口选择以太网IP设置成与PLC同网段比如PLC为192.168.0.1触摸屏为192.168.0.2需要在线修改的工艺时间参数写到PLC的V存储区触摸屏通过VW地址读写很多人第一次做以太网通信明明线都插好了屏幕就是连不上九成是IP不在同一网段或者PUT/GET访问权限没打开。这两个点在组态文档里写法比较隐晦做的时候优先检查它们能省掉大量没有任何意义的排查时间。7. 联调与排错现场真实踩过的坑和排查思路7.1 光电传感器被水雾打湿导致信号乱跳调试现场碰到的第一个故障往往来自水。漫反射光电传感器装在洗车区喷淋一开、水雾一飘传感器镜面被打湿输出信号开始无规律乱跳系统误判车辆位置程序在几个状态之间来回跳。处理办法有三层传感器加防护罩镜头朝斜下方安装减少水雾覆盖有条件的换成对射式光电传感器抗水雾能力比漫反射式强很多程序里对车辆到位信号加延时确认信号持续0.5秒后再视为有效。前两点是硬件措施第三点必须写进程序——任何现场信号都存在抖动输入信号加确认延时本来就是标准做法不能只依赖硬件。排查这个问题的顺序也很固定先看传感器指示灯是否稳定再查PLC输入状态表最后才怀疑程序逻辑从外到内一层层缩小范围。7.2 刷洗电机启动冲击导致PLC输出触点粘连S7-200 SMART的继电器输出触点额定电流一般是2A接触器线圈的静态电流虽然只有几十毫安但吸合瞬间的冲击电流远高于稳态多次动作之后PLC输出触点就可能粘连。我在实际项目里遇到过继电器输出模块带负载导致触点烧黑、输出点一直导通的情况拆开一看完全是被冲击电流反复电弧烧坏的。解决路径就是第四章说的PLC输出先接中间继电器隔离再由中间继电器触点去带接触器线圈。如果老师坚持不加中间继电器那就选ST系列晶体管输出型PLC晶体管输出扛冲击的能力强很多但需要外部加24V中间继电器。这个方案在论文里换成隔离驱动设计的表述就是很标准的小型PLC应用实践。7.3 急停复位后系统自己继续运行最危险的故障这算得上洗车机调试里最典型的危险场景。急停按下时状态机被打断定时器全部复位急停复位后如果启动按钮和车辆到位信号还保持有效状态系统会直接重新启动——如果车上还有处理人员后果不堪设想。正确做法是三层保护急停信号作为状态机的总复位条件急停一旦触发所有状态位强制清零系统进入停机状态正常启动必须用启动按钮的上升沿而不是电平信号保证急停复位后必须重新按一次启动按钮才能再开急停复位后增加一个复位确认步骤操作工在触摸屏上按确认按钮系统才回到待机状态这条逻辑写起来不过几行但它真的是在现场用教训换来的。没有这个处理你甚至都不敢让评委按下急停按钮做演示。7.4 电磁阀和水泵的时序配合问题预湿工序里预湿电磁阀和高压水泵是先后参与的。如果两者同时启动水泵瞬间憋压管路里会传来明显的水锤冲击声长期运行后阀体密封圈和管接头都容易损坏。正确的配合是先开电磁阀延时0.5秒再启泵停止时先停泵延时0.5秒再关电磁阀。这个时间差在梯形图里就是两个TON定时器的事效果却很直接。这种先导通阀门再启动动力设备的思路几乎适用于所有涉及管路和泵阀配合的自动化项目。设计报告里如果能把这类细节写进PLC程序抗扰动设计小节比泛泛而谈系统稳定可靠要有力得多。8. 设计报告的成稿框架与答辩避坑经验8.1 万字报告到底怎么搭骨架毕业设计报告要求一万字以上很多人一听就头大。其实字数不是靠灌水凑的而是把每个章节写到该有的密度自然就够了。自动洗车系统的报告可以按这样的章节骨架展开绪论选题背景、国内外洗车设备发展现状、本设计的目标和意义约1500字系统总体方案洗车工艺分析、控制要求、系统总体框图约1500字硬件设计PLC选型论证、传感器选型、电气原理图、I/O分配表、接线图约2500字软件设计程序总体流程图、状态机定义、关键梯形图和STL说明约3000字组态设计触摸屏页面结构、变量表、通信配置约1500字调试与仿真调试环境、功能验证、故障处理记录约1000字总结与参考文献一万字的核心不在一头一尾而在第3、4、5章。这三章只要有图纸有表格有代码段每一处展开写清楚为什么这么选、为什么这么写字数自然到位质量也站得住。8.2 图纸和源文件的组织规范交付资料建议按下面这套结构整理这也是我在实际工程项目里沿用的目录习惯图纸目录系统框图、主回路图、PLC接线图、触摸屏画面截图程序目录主程序、子程序、中断程序、符号表、状态变量表文档目录设计报告、开题报告、答辩PPT、调试记录源文件命名一定带版本号比如wash_main_v2.1.smart。我来回改程序时吃过不少亏没有版本号的文件过两天就分不清哪个是新的最后只能挨个打开对比时间戳。这个习惯从课程设计阶段养成工作以后受用一辈子。另外每一版程序改完同步更新设计报告里的对应梯形图截图别到最后一天再补图那工作量会让你怀疑人生。8.3 答辩高频问题预判与应答思路根据我这些年和学生的模拟答辩经验评委最常问的问题其实就那几个提前准备了就能稳住问为什么选S7-200 SMART而不是三菱答系统I/O点数约20点SR40有充足余量编程和组态软件全部免费学习曲线平缓以太网下载调试方便指令体系与S7-1200、S7-1500一致方便毕业后向工业项目过渡。重点突出够用、免费、有扩展空间。问如果车辆位置传感器失灵系统会发生什么答程序里设计了信号延时确认和传感器互锁逻辑两个到位传感器信号不一致超过2秒即判定异常系统停止并触发报警等待人工介入。同时解释冗余思路利用两个传感器的交叉验证避免单点故障造成误动作。问手动模式切自动模式的瞬间是怎么防误动作的答切换开关信号接入PLC切换瞬间所有输出复位状态机回到待机操作工需要在当前模式下重新确认启动。核心一句切换过程不允许保留任何输出状态。问这套系统以后能扩展成两个洗车工位吗答有两种路线PLC升级到S7-1200点数更多且支持更复杂的任务分配或者保持两台S7-200 SMART通过以太网通信做主从协调共享一块触摸屏。答辩时能答出联网协调的思路说明你有系统意识这比答出具体型号更重要。这几条准备透了答辩环节基本不会被问懵。就算评委临时换个角度提问只要你抓住传感器冗余、输出隔离、安全硬线、状态机复位这四个关键词去组织答案都能绕回自己熟悉的阵地。整套做下来你会发现一个自动洗车系统的价值其实不在于洗车本身而在于把PLC入门到进阶的知识点全部串成了体系——这才是这个题目真正值得做的地方。
返回列表