
1. 项目概述与选题价值1.1 这个设计到底在解决什么问题立体车库这个词大家都不陌生小区、商场、医院地下停车场里经常能看到。但很多人不知道的是这类设备的“大脑”——自动存取系统恰恰是自动化、电气工程、计算机交叉领域里一个非常典型的毕业设计题目。这套设计要做的说白了就是让车主把车开到入口刷卡或按键之后系统自动完成“把车从入口搬运到某个空车位”和“把车从车位搬运回出口”的全过程。中间涉及到车位检测、横纵运动控制、到位判断、安全联锁、上位机监控这几个核心环节每一个环节都能对应到PLC课程里学过的知识点。作为计算机或自动化方向的毕业设计这个题目覆盖面非常合适硬件上有PLC选型、传感器选型、电机驱动方案软件上有梯形图编程、顺序控制设计、上位机通信文档上还有完整的系统架构图、流程图、I/O分配表、梯形图注释。一套做完从需求分析到系统调试的完整流程就都走了一遍答辩的时候也有的说。1.2 适合谁拿这个题目自动化、电气工程及其自动化专业的本科生课程里学过PLC原理、电机拖动、传感器技术做这个题目正好把几门课串起来。计算机专业但选了工业控制方向的学生重点可以放在上位机监控界面和通信协议部分用C#或Python写一个简单的监控程序和PLC走Modbus TCP或者OPC UA通信。准备考研或找工作、需要作品集的人一套完整的立体车库控制系统设计无论是写在简历里还是面试时拿出来讲都比纯理论课程设计有说服力。2. 系统整体架构与设计思路拆解2.1 立体车库的机械结构怎么选做设计的第一步不是写程序而是确定你要控制的对象长什么样。常见的立体车库结构有升降横移类、巷道堆垛类、垂直循环类、平面移动类其中升降横移类是毕业设计里最合适的选择。原因有三个结构直观、容易画图升降横移式车库一般是2到3层、每层若干车位用一个横移框架和升降机构组合就能说明白。控制逻辑典型存取车过程中涉及到横移电机、升降电机、定位检测、安全互锁恰好覆盖PLC应用的核心场景。市场上真实应用最多国内中小型立体车库里升降横移式占了相当大的比例做出来的设计有实际参考价值答辩时不会显得脱离工程实际。以一套“双层三列、五个车位”的小型车库为例地面层有三个车位其中一个是空位二层有两个车位。地面层的载车板可以横向移动二层载车板可以升降通过“空位”的存在实现车位调度。存取车时先把目标车位对应的位置腾出来再把载车板移动过去最后完成存取。注意车位数量和层数不要贪多本科毕设做到“2层3列、5车位”这个规模就已经能把所有核心逻辑体现出来了。搞到“5层20车位”除了让梯形图膨胀好几倍、调试难度直线上升之外对加分没什么实际帮助。2.2 PLC选型与I/O点数的估算PLC选型是整套设计里第一个硬决策。选型的核心依据是I/O点数不是看哪个牌子名气大。以“双层三列五车位”的配置估算输入信号每层每列的车位占用检测光电开关/行程开关5个横移左限位、右限位2个升降上限位、下限位2个车辆入位检测入口地感线圈/光电开关1个刷卡/按键取车信号1到2个急停、手动/自动切换2个合计约13到14个开关量输入输出信号横移电机正转、反转2个升降电机正转、反转2个车位占用指示灯5个蜂鸣器/报警灯1个合计约10个开关量输出I/O总点数在25个左右按留20%到30%余量的惯例选30到40点的小型PLC就够了。市场主流选择是西门子S7-200 SMART或者S7-1200三菱FX3U/5U也可以。如果学校实验室用的是哪个牌子直接用同款可以省去很多熟悉环境的时间。这里多说一句毕业设计里PLC选型不要迷信高端型号。S7-1200和S7-200 SMART虽然在通信能力和扩展性上有差别但对于这个规模的系统S7-200 SMART完全够用而且配套的以太网口可以直接和上位机做Modbus TCP通信省去转接模块。2.3 控制方案与通信架构系统整体采用“PLC作为控制核心上位机作为监控界面”的两级架构底层PLC负责所有输入信号的采集车位状态、限位信号、车辆检测、逻辑运算调度策略、安全联锁、动作顺序、输出控制电机驱动、状态指示。上层上位机通过以太网与PLC通信实时显示车位占用情况、设备运行状态、报警信息同时支持手动操作按钮和取车请求下发。通信方式优先选Modbus TCP。原因很实际S7-200 SMART本体自带以太网口上位机用C#的HslCommunication库或者Python的pyModbus库就能读写PLC的保持寄存器和线圈不需要额外买通信模块也不需要碰复杂的OPC配置。如果导师要求“SCADA风格”的监控界面用组态王、WinCC都行底层通信被这些软件封装好了工作量主要在画面组态上。提醒一下如果选三菱PLC通信这块通常走Modbus RTU串口或者MC协议上位机代码要稍微改一下。设计文档里把通信协议选型依据写清楚——“为什么选Modbus TCP而不是PPI/MPI”这种思考过程在答辩时非常加分。3. 控制系统核心细节与I/O规划3.1 I/O分配表的设计原则I/O分配表是整个设计的地基。很多同学拿到题目直接开写梯形图结果写到最后发现输入点不够用、输出点对不上只能返工。正确顺序是先列出完整的I/O分配表再动手写程序。以S7-200 SMART的地址规则为例分配表大致长这样信号名称PLC地址类型说明横移左限位I0.0输入载车板到达最左侧横移右限位I0.1输入载车板到达最右侧升降上限位I0.2输入载车板升至顶层升降下限位I0.3输入载车板降至底层1号车位占用检测I0.4输入光电开关1有车2号车位占用检测I0.5输入光电开关1有车3号车位占用检测I0.6输入光电开关1有车4号车位占用检测I0.7输入光电开关1有车5号车位占用检测I1.0输入光电开关1有车入口车辆检测I1.1输入地感/光电检测入库车辆取车请求按钮I1.2输入车主按键申请取车急停按钮I1.3输入常闭触点急停断开横移电机正转Q0.0输出载车板左移横移电机反转Q0.1输出载车板右移升降电机正转Q0.2输出载车板上升升降电机反转Q0.3输出载车板下降车位占用指示灯Q0.4~Q1.0输出每个车位一个灯报警输出Q1.1输出蜂鸣器/报警灯三个设计原则说一下急停用常闭触点急停按钮必须接常闭这样急停线断线时系统也能自动停机符合安全规范。这是安全联锁里最基本也最容易被忽略的点。输入信号全部采用光电隔离实际接线时传感器供电和PLC输入模块之间要有隔离措施防止现场干扰导致误动作。地址规划要留余量哪怕你现在确认只有13个输入也要从I0.0按顺序排下去留几个空地址出来。后面调试时加传感器的情况太常见了。3.2 传感器选型与信号逻辑立体车库里用到的传感器主要有三类车位占用检测用对射型光电开关或漫反射型光电开关装在车位后方或侧面。注意对射型的抗灰尘能力更强漫反射型安装方便但对安装角度和反射面材质敏感。室内车库推荐对射型。位置限位横移和升降的到位检测用行程开关或者接近开关。接近开关电感式寿命长、响应快但要注意检测距离行程开关结构简单、抗干扰缺点是机械寿命有限。工程上两者都常见毕设里建议选行程开关画图、接线、解释原理都更方便。入口车辆检测用地感线圈配合车辆检测器最可靠但成本高、施工麻烦。毕设里用对射光电开关模拟即可——车辆进入入口时遮挡光线产生一个“有车”信号。关于信号逻辑要特别强调所有限位信号都要按“动作状态1非动作状态0”的统一约定来定义并且梯形图里要注意区分“常开触点”和“常闭触点”的编程表达。很多调试时出现的“电机一直转不停”“到位了还在动”的问题根源往往不是逻辑写错而是传感器信号极性搞反了。3.3 安全联锁与保护逻辑安全功能是立体车库控制系统里绝对不能省的部分答辩时导师几乎必问。至少要考虑以下几类联锁横移与升降互锁横移电机运行时升降电机不允许启动升降电机运行时横移电机不允许启动。避免两个运动同时进行导致机械碰撞。限位保护横移到达左限位时禁止继续左移右限位同理升降到位后禁止同方向继续运行。车辆/人员检测联锁车位内有车时不允许该车位对应的载车板移动入口检测到有车时不允许执行取车动作。急停联锁急停触发后所有输出立即断开必须手动复位后才能重新运行。运行超时保护用定时器为每个动作设定最长运行时间比如横移限时5秒、升降限时10秒超过时间仍未收到限位信号立即停机并报警。超时保护这个功能强烈建议加上。一是它体现的是“故障诊断”思维二是实现起来很简单——一个定时器加一个比较指令的事但很多教材上的例程都没有你写了就是亮点。4. 存取车流程与PLC程序设计4.1 存车流程的状态拆解存车流程可以拆成下面几个状态每个状态对应梯形图里的一段程序空闲等待系统处于待机状态入口车辆检测信号有效后进入“等待刷卡确认”。分配车位PLC扫描所有车位占用信号找到第一个空车位记录车位编号。调度策略可以是“固定优先”——比如固定从1号车位开始找实现简单也可以是“就近分配”——优先分配离入口最近的车位减少搬运时间。腾空路径如果目标车位不是当前载车板所在位置需要把载车板横移到目标车位对应的列。此时要判断横移方向并调用横移子程序。如果目标车位在二层还要先判断升降方向。车辆入库载车板到达入口位置后给出“允许入库”信号车主将车开上载车板入口车辆检测信号消失后认为车辆已完全入库。搬运到位执行横移和升降动作把载车板连同车辆移动到目标车位到位后复位载车板状态车位占用标志置1。这里有一个关键细节“入口车辆检测信号消失”这个条件用来判断车辆是否已经完全停上载车板。因为车头先进入口会遮挡光电车完全停进去后遮挡解除信号消失。这个逻辑比单纯用“定时延时”可靠得多。4.2 取车流程状态拆解取车流程是存车的逆过程但有一个重要区别——取车请求必须指定车位号请求识别车主在出口操作面板上输入车位号或用刷卡绑定车位号PLC接收到取车请求。移动至目标车位PLC控制载车板横移/升降到目标车位对应位置。注意这里要先确认目标车位“有车”如果没有车则给出“车位无车”提示不执行动作。载车板装载车辆车辆随载车板移动至出口位置。到出口后出口检测信号持续为1表示车辆还在载车板上。车辆驶离释放车主将车开出出口检测信号消失后系统确认车辆已完全驶离载车板复位到空闲状态车位占用标志清零。取车流程里特别容易出Bug的是“车辆驶离检测”。很多设计用“延时N秒后默认车辆已离开”这种做法有隐患——如果车主迟迟不开走系统会误判。正确做法是检测出口光电信号从有变无再用一个短暂延时做防抖确认而不是直接倒计时。4.3 梯形图程序的分模块设计梯形图直接写一大坨是灾难正确做法是分模块模块名称功能建议实现方式初始化模块上电复位所有状态、清除中间变量SM0.1首次扫描触发复位手动/自动切换模块手动模式用于调试点动控制电机切换开关点动按钮调度模块分配空车位、确定目标位置比较指令移位寄存器动作执行模块横移/升降电机的顺序控制顺序控制继电器或SCL安全联锁模块互锁、限位、超时、急停常闭触点串联定时器指示与报警模块车位指示灯、蜂鸣器控制输出映像区刷新以S7-200 SMART为例我建议用**顺序控制继电器法S/R指令**来组织主流程每个动作状态用一个M继电器表示前一个状态满足完成条件后复位当前状态、置位下一个状态。这种写法的好处是逻辑清晰、调试方便看梯形图就能看出当前执行到哪一步。举一小段核心逻辑的示意伪梯形图描述网络1停车申请有效且有空车位 → 置位“存车开始”M0.0网络2M0.0有效且当前车位非目标车位 → 启动横移电机正转等待横移到位网络3横移到位信号到达 → 复位M0.0置位“升降动作”M0.1网络4M0.1有效且升降未到位 → 启动升降电机等待升降到位网络5升降到位 → 复位M0.1置位“允许入库”M0.2网络6M0.2有效且入口检测消失车辆已入库 → 置位“搬运返回”M0.3实际编程时把每一行展开成完整的网络加上足够的注释。梯形图一定要写注释这是拿到源码的人能不能看懂你设计的决定性因素。4.4 关于“源码”与仿真验证既然标题里带“源码”交付时就不只是一份梯形图。建议准备三层交付物PLC工程文件包含完整梯形图程序、符号表、I/O注释、变量说明。S7-200 SMART用STEP 7-MicroWIN SMART打开S7-1200用TIA Portal打开。仿真工程S7-PLCSIM是验证程序的重要手段。注意一个常见坑很多人装了S7-PLCSIM Advanced之后遇到“PLC实例启动不了且没有报错”的情况多半是虚拟以太网适配器没配对或者软件版本和TIA版本不兼容先把PLCSIM的虚拟网卡设置检查一遍再确认安装顺序先TIA后PLCSIM。上位机Demo用C#写一个简单的监控面板轮询读PLC的M区状态、车位占用寄存器展示实时数据。通信用Modbus TCP时重点搞清楚寄存器地址映射线圈对应Q区、保持寄存器对应V区不要搞混。仿真时还有几个地方特别容易翻车定时器累计问题PLC扫描周期内定时器是累计的但如果你在仿真里单步调试定时器的时间基准不会和真实时间完全一致别拿仿真里的延时时间直接作为真实设备参数。限位信号怎么模拟仿真时没有真实传感器要在梯形图里临时加“仿真到位”中间变量或者在上位机里写测试按钮来强行置位限位信号。很多同学仿真跑不起来就是因为没有传感器信号输入程序卡在“等待到位”状态。第一次扫描的特殊存储器S7-200 SMART里SM0.1只在第一个扫描周期为1用它的常开触点做复位初始化。如果程序写成了SM0.0常ON初始化语句会一直执行把所有状态反复清零程序就永远跑不动。5. 上位机监控与通信实现5.1 Modbus TCP通信的地址映射上位机监控是这套设计的第二个亮点。S7-200 SMART作为Modbus TCP服务器时需要先在PLC程序里调用MBUS_SERVER指令库指令设定端口号、最大连接数等参数。上位机作为客户端用Modbus TCP协议去读写PLC的数据。地址映射要特别说明一下因为这是最容易搞错的地方PLC数据区Modbus地址范围功能码说明Q区线圈00001~0001001/05对应Q0.0~Q1.1控制指示灯和报警I区输入10001~1001302只读对应I0.0~I1.3V区保持寄存器40001起03/06对应VW0、VW2等存放车位状态、运行模式用C#的HslCommunication库时典型的读操作写法是using HslCommunication; using HslCommunication.ModBus; var client new ModbusTcpClient(192.168.0.10, 502); var connectResult client.ConnectServer(); if (!connectResult.IsSuccess) { Console.WriteLine(连接失败: connectResult.Message); return; } // 读取1号车位占用状态对应Q0.4Modbus地址00005 var readResult client.ReadCoil(00005); if (readResult.IsSuccess) { Console.WriteLine(1号车位状态: readResult.Content); } // 读取保持寄存器VW0车位占用标志位打包值 var regResult client.ReadInt16(40001); if (regResult.IsSuccess) { Console.WriteLine(车位标志寄存器: regResult.Content); } client.ConnectClose();PLC端要做的是把车位的占用状态、操作模式、报警标志这些变量集中放到连续的V区地址里比如VW0存放8个车位的占用位图、VW2存放当前模式、VB10存放报警代码。这样上位机轮询几个寄存器就能拿到全部状态不用每个I/O点都单独读一次。用Python写的话pymodbus库更轻量几行代码就能实现同样的功能。逻辑一样关键在于寄存器地址要和PLC端的Modbus地址表严格对齐。建议在文档里做一张“上位机地址映射表”这个表也是答辩时的加分项。5.2 监控界面应该包含什么监控界面不需要花哨但该有的信息必须齐全。至少要有四块区域车库总览图用简化图形画出每个车位绿色代表空、红色代表有车、黄色代表正在动作颜色状态由PLC返回的位图数据刷新。设备运行状态区当前运行模式手动/自动、横移/升降电机运行指示、当前执行的动作名称。报警信息区超时报警、急停状态、通信中断等带时间戳。这里还能补充一个“历史报警记录”功能把最近20条报警存到本地文件。操作按钮区手动模式下的点动按钮、自动模式下的存车/取车指令按钮、复位按钮。实际操作中这些按钮要和PLC端的物理按钮一一对应方便从远程控制回落到真实设备调试。界面刷新的典型问题是通信超时导致界面卡死。处理办法是开启独立线程做轮询界面UI线程只负责显示不直接执行网络读写。轮询间隔建议500毫秒到1秒太快会增加PLC通信负载太慢会让人觉得界面不灵敏。5.3 仿真实训没有真机怎么调学校实验室没有真实立体车库这是常态。替代方案有三种纯仿真PLC程序用PLCSIM跑上位机用Modbus TCP连仿真器。注意S7-PLCSIM和S7-PLCSIM Advanced的使用场景不一样——前者适合纯PLC逻辑验证后者支持网络通信仿真但要连上位机测试Modbus TCP需要确认虚拟网卡配置正确且TIA和PLCSIM版本要匹配。实物模型淘宝上也能买到几百块的立体车库教学模型用步进电机或直流电机驱动配上限位开关和光电传感器尺寸不大但结构和控制逻辑和真实的完全一致。适合毕业设计实物演示。实物仿真平台用Proteus或FactoryIO之类的软件做设备级仿真把PLC逻辑和虚拟3D模型联动。这个方案视觉效果最好但配置复杂适合时间充裕的学生。最推荐的是第一种方案先把PLC程序逻辑跑通再配合上位机调通信。没有实体模型时把传感器信号用上位机的“测试按钮”来模拟一样能把完整流程演示一遍。6. 常见问题与调试排错实录6.1 仿真类问题的典型排查问题现象1S7-PLCSIM或PLCSIM Advanced启动失败、不报错这种“悄无声息失败”的问题最容易让人抓狂。排查顺序如下确认软件安装顺序是否正确先装STEP 7/TIA Portal再装PLCSIM。反过来装经常出问题。确认版本兼容性TIA V15配PLCSIM V15TIA V16配PLCSIM V16跨版本用大概率启动失败。确认虚拟以太网适配器PLCSIM Advanced需要Microsoft Loopback Adapter或者虚拟网卡正常工作。打开设备管理器看“网络适配器”里有没有对应虚拟网卡没有就手动添加。单机版PLCSIM不涉及网络先把PLC程序下载进去再启动仿真。如果程序里有以太网通信指令比如MBUS_SERVER仿真器可能会因为这个指令而异常退出——先将通信指令暂时屏蔽再试。问题现象2仿真时程序卡在某一步不动最常见的原因是“等待到位信号”一直等不到。仿真环境里不可能有真实的限位开关动作所以要在程序里做“仿真辅助继电器”。建议专门分配一组M继电器用来模拟限位信号仿真时手动置位这些M点让程序流程继续往下走。6.2 通信类问题的典型排查问题现象3上位机连不上PLC的Modbus TCP端口按这个顺序查先做物理连通性测试上位机ping PLC的IP地址能通再谈协议。确认PLC侧MBUS_SERVER指令是否已经启用。不少初学者忘了在程序里调用这个库指令或者调用后没有正确填写端口号和从站地址。确认防火墙是否放行502端口。Windows防火墙默认会拦截加入站规则放行502/TCP。确认地址映射。用Modbus调试工具比如Modbus Poll直接读几个地址能读通则说明通信链路正常问题出在自研上位机代码上读不通则回头查PLC侧配置。问题现象4上位机能连上但读到的数据不对典型的坑是“线圈地址偏移”。Modbus协议里线圈地址从00001开始但PLC的Q0.0对应的实际协议地址可能是00000取决于库指令的映射方式。调试时先用Modbus Poll这种成熟工具确认实际地址再在自研程序里对齐。6.3 控制逻辑类问题的典型排查问题现象5电机动作到位后不停甚至撞限位检查顺序限位开关信号有没有进PLC→限位对应的输入点地址对不对→梯形图里对应的停止分支有没有写→是不是把常开/常闭搞反了。我见过的最多的情况是传感器用的常闭输出梯形图里按常开写了程序逻辑就完全反了。问题现象6存车流程中车位分配总是选错先看“空车位判断”的位逻辑。如果用“光电开光检测到有车1”的约定但梯形图里写成了“0表示有车”整个判断就翻转过来了。建议在HMI或监控界面上把每个车位的原始传感器状态显示出来对照实际物理状态检查排查速度会快很多。问题现象7急停后复位系统却回不到正常状态急停回路用了常闭触点按下急停后PLC输入点得到的是“断开”信号。复位后“接通”。如果梯形图里用了“上升沿”触发复位逻辑那么从断开到接通这个沿会产生一次触发但如果急停保持时间非常短PLC可能没捕获到这个沿。解决办法是用“电平触发延时确认”的方式处理复位或者用带自锁的复位按钮。6.4 调试顺序的经验总结踩过这么多次坑之后我摸索出一套适合毕业设计的调试顺序分享给各位空程序验证通信先把PLC空程序下载进去用Modbus Poll测试端口通不通排除通信层面的干扰。单点测试I/O逐个强制输入点观察对应输出是否动作验证I/O接线和地址表完全一致后再开始写逻辑。手动模式调动作先用手动模式点动电机确认正反转方向、限位信号极性都正确。自动流程空跑不实际放车用仿真信号模拟车位状态把整个存车/取车流程的顺序控制逻辑跑通。联锁与故障测试故意触发互锁条件、超时条件和急停验证安全功能都可靠。最后才接入真实传感器和电机前面五步全过了再接真设备完整跑一遍。这套顺序的好处是每一层出问题都能在最小范围内定位。直接连真设备调试一旦出问题电气接线、PLC程序、传感器极性、通信链路全都可能出错排查起来代价太高。7. 文档写作与答辩加分项7.1 设计文档的骨架怎么搭标题里带了“LW文档”说明文档和源码是同等重要的交付物。很多学生的通病是“做了很多写不出来”或者“写得像说明书没有设计过程”。建议按这样的结构组织绪论研究背景和意义、国内外现状。这部分控制在4到6页不用长篇大论。总体方案设计机械结构方案对比、控制方案选型、通信方案选型。这里要写清楚“为什么选升降横移式”“为什么选西门子PLC”“为什么选Modbus TCP”。硬件设计PLC选型及I/O分配表、主电路图、控制电路图、接线图。图纸用CAD或者EPLAN画清晰干净比花哨重要。软件设计控制流程图、状态转移图、梯形图分模块说明。梯形图截图要清晰并配文字解释别让导师自己在截图里找逻辑。上位机监控系统设计通信协议设计、界面功能设计、核心代码说明。系统调试与测试调试步骤、问题记录、测试结果表。总结与展望。7.2 答辩时导师最常问的几个问题把导师爱问的问题提前准备好答辩表现会稳很多“为什么不用单片机做”——回答要点PLC可靠性高、抗干扰能力强、编程维护方便、适合工业环境单片机成本低但开发周期长、稳定性要求高。本题是工业控制场景选PLC合理。“你的车位调度策略是什么”——回答要点固定优先还是就近分配各自的优劣为什么设计里做这个选择。“两个电机同时动作会怎样”——回答要点机械碰撞风险、控制逻辑里已经加了互锁。“如果光电开关坏了怎么发现”——回答要点超时保护报警提示运行超时未收到信号就停机并报故障代码。“数据和上位机怎么通信的”——回答要点Modbus TCP协议寄存器地址映射、轮询机制。7.3 提升完成度的几个小改动有些改动工作量不大但能让整套设计的完成度明显提升加一个“运行记录”功能PLC自动记录最近N次存取操作的时间和车位号上位机显示为表格。实现难度不高但很像是工程实际中的功能需求。做一个简易的故障诊断界面把I/O状态逐一显示在监控界面上哪一路传感器没信号一目了然。给每台电机加一个运行时间统计上位机累计电机运行时长达到设定值提醒保养。这在工业界叫“预防性维护”体现了工程思维。画一张真正的系统总接线图很多人只画框图没有详细接线图。一张完整的接线图在评阅老师那里的分量远大于十页原理性文字。8. 最后说点实在的做这个题目最怕的不是技术难点而是“把自己绕进细节里出不来”。立体车库自动存取系统虽然听起来复杂但拆到控制层面核心就是顺序控制加安全联锁配一个上位机做监控。真正的难点在于把每一步的逻辑理清楚、把每一类异常想周到。我个人在设计过程中的体会有几条送给正在做或者准备做这个题目的同学第一先把流程图画到纸面上再动软件。把存车流程、取车流程、异常分支全部画清楚后面写梯形图就是机械翻译不会一改逻辑就推倒重来。第二文档和代码同步更新。不要等代码写完再补文档——到那时候你已经忘了当初为什么这么设计。每完成一个模块就用三四句话记录设计理由最后整理成文会非常流畅。第三敢于展示自己的思考过程。答辩时如果被问到某个缺陷不要慌“我当时考虑了A方案和B方案选了A理由是……但B在……场景下确实有优势后续可以改进”这种回答比硬撑“我的方案没有缺点”要让人信服得多。第四控制规模。毕业设计的评分标准是“完整、正确、有思考”不是“功能越多越好”。小车库、小系统做扎实了比堆砌功能然后到处是Bug的“大系统”得分高得多。做完这套设计你对PLC的顺序控制、通信协议、上位机开发、工程文档写作都会有全面的实操经验这套组合能力在自动化领域是很实用的底子。后面无论是考研复试、找工作面试还是进入工控行业实习都能拿出来讲一段完整的项目经历。就这个题目而言做好它远不止是为了拿到一个毕业设计分数。