news 2026/10/30 6:01:53

基于PLC的立体车库自动存取系统:从I/O规划到调试排障的毕设全流程指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于PLC的立体车库自动存取系统:从I/O规划到调试排障的毕设全流程指南

每年毕业设计季,PLC类的选题都会扎堆出现,"基于PLC的立体车库自动存取系统设计"就是其中一个几乎不会缺席的题目。它属于典型的自动控制系统设计,横跨硬件接线、PLC编程、组态界面和论文写作四个环节,对电气、自动化、机电一体化专业的学生来说非常合适。不过我可以负责任地说,这个题目每年都有人做,也每年都有人做砸——有人程序写了一半发现I/O点数不够,有人调试的时候电机一动不动,有人答辩前两天论文还没成型。这篇文章我按一个完整项目的思路,把这个题目从需求拆解、方案设计、硬件选型、程序实现、调试排障到"LW文档(论文)+源码"的整理全部梳理一遍,想做这个毕设的同学可以把它当一份参考地图来用。

1. 立体车库选题每年都有,考的可不只是梯形图

1.1 难度不高,但要完整走完一个系统设计流程

很多同学一看"立体车库自动存取系统"这几个字,第一反应是"这是个机械设计题"。实际上,在毕业设计里它更接近一个"以PLC为核心的控制系统集成题"。导师要看的不是你会不会写某条梯形图指令,而是你有没有能力把一个真实场景的需求,翻译成一套可以运行、可以演示、有安全保护机制的自动控制系统。

立体车库的复杂度梯度很明显:最基础的升降横移式,两三层楼高、五六个车位,控制逻辑很直接;往上走有垂直循环式,载车板像摩天轮一样循环转动;再往上还有巷道堆垛式,也就是自动化仓库式的停车系统,这种一般都到研究生课题了。本科生做毕业设计,90%以上选的是升降横移式,原因很简单——它的运动关系直观,存取车流程容易讲清楚,程序量和实物成本都在可控范围内。

但"直观"不等于"简单"。升降横移式车库里的每一个动作,都要依赖限位开关的位置信号来确认到位;每一次横移和升降,都要经过严密的互锁保护防止机械碰撞。这些细节一旦串联起来,程序就远远不止是"按下按钮,电机转"那么简单。所以我说这个题目的考核点,是"完整走完一个系统设计流程":从需求分析到方案论证,从I/O规划到程序编写,从仿真调试到现场验证,每一步都缺不了。

1.2 拿到题目后先拆五个需求,再谈买硬件

我见过太多学生,收到任务书第二天就开始逛购物网站选PLC,这其实是本末倒置。正确的打开方式,是先把自己关在图书馆或实验室,把下面五个问题想清楚:

  • 车库选哪种类型?升降横移、垂直循环还是简化版的模型演示装置?
  • 车位数和布局怎么定?几层几列、哪些车位可以横移、哪些可以升降?
  • 存取车的流程怎么定义?用户是刷卡、按键还是通过触摸屏输入车位号?
  • 系统需要哪几种控制模式?手动、自动、检修各是什么场景下用的?
  • 发生故障时系统怎么保护?急停、限位失效、电机过载分别如何处理?

这五个问题就是需求分析的骨架。以最常见的3层3列升降横移式为例:总共9个车位,实际可用8个,必须留1个空位用来让载车板流动;三层车位需要升降机构,底层车位只需要横移;控制模式至少要有手动和自动两档,手动供调试和检修用,自动是正常工况。把这些落成文字,输出一份一页纸的《系统需求说明》,后面所有硬件选型、程序结构、论文章节都是围绕它展开的。

有的同学习惯跳过我这一步,直接进硬件,结果做出来的程序东拼西凑,论文里"需求分析"一章只能瞎编。磨刀不误砍柴工,这五个问题值得你先花一两天慢慢啃。

2. 先看懂"车怎么动":升降横移式车库的运动逻辑与控制模式

2.1 车位编码和空位设计是整个方案的起点

做控制系统设计,第一件事是把控制对象抽象成清晰的数学模型。对立体车库来说,第一步就是给车位编码。我见过不少方案用"层-列"两级编码:比如1层1列记作101,2层3列记作203,读取方便,梯形图里用整数比较也能轻松判断。

编码只是表面功夫,深一层的核心是"空位"的设计。升降横移式车库之所以能工作,靠的是预留一个空车位,让载车板像华容道一样在水平和垂直方向上逐个腾挪。举个例子,一个3层3列的车库,假设当前空位在1层的2列。现在用户要取3层1列的车,系统能做的第一件事不是把3层1列的车直接降下来,而是先判断:3层1列的载车板要想降到地面,它正下方1层1列的位置必须空出来。所以真正流程是:先把1层2列的空位横移到1层1列,再把3层1列的载车板降下来,最后让用户开走车。

这个"腾挪"的过程就是整个控制程序的灵魂。你会意识到,程序里真正在管理的不是那8个车位,而是"空位此刻在哪里、下一步要去哪里"。我在给学生辅导时经常强调一句话:你编程的对象不是电机,而是空位。把这句话想透了,程序的层次立刻清楚。

2.2 一次取车操作的完整动作链

现在我们把一次取车操作从头到尾走一遍,你感受一下控制系统的实时性要求。用户通过触摸屏或按钮输入车位号203(2层3列),点击"取车",系统先检查是否空闲、是否故障,然后开始执行:

  • 检索当前空位位置。如果空位不在目标车位正下方或同一列的通行路径上,先启动横移电机,把空位移过去。
  • 横移电机的每一次动作,都靠限位开关判断有没有到位。到位后横移电机停止,系统更新空位坐标。
  • 空位让出通道后,启动目标车位的升降电机,载车板开始下降。
  • 升降过程中,上下两个极限限位开关随时待命,一旦触发下降到位信号,电机立刻抱闸停止。
  • 最后系统亮"可取车"指示灯,语音或蜂鸣器提示,流程结束。

整个过程看起来几秒钟,但程序里每一步都是"启动电机—等待限位—确认到位—切换下一步"的循环。如果限位信号迟迟不来,还得有超时保护,不能让它无限等下去。编程的时候,把这条动作链画成状态转移图,比直接闷头写梯形图靠谱得多。

2.3 手动、自动、检修三种模式的分工

一个完整的控制系统,不可能只有自动驾驶一种模式。立体车库至少要设计三种模式:

  • 自动模式:用户输入车位号一键存取,系统按预定逻辑自动执行。这是正常运营状态。
  • 手动模式:每个电机单独点动正转、反转,由操作人员直接控制。主要在调试、维护、应急排障时使用。
  • 检修模式:限制所有动作速度,每次只允许一个步骤动作,点一下走一步,方便观察机械结构的状态。

这三种模式在程序里要严格互斥。我在程序里通常用一个模式字(比如M0.0表示自动、M0.1表示手动、M0.2表示检修)来管理,模式信号优先于操作信号。特别注意:任何模式下,急停按钮都必须有最高优先级,直接切断主回路电源,这才是硬件层面的保命设计。

3. 硬件选型的先后顺序:先算I/O点数,再定PLC,后配执行元件

3.1 用一个3层3列方案把I/O点数算明白

很多同学不会选PLC,本质是没搞明白I/O点数怎么算。我们拿3层3列9车位(8用1空)的方案来算一笔账:

横移电机部分,为了简化,每层配1台横移电机,通过链条或丝杠带动本层载车板横移,这样每一台电机需要2个输出点(正转、反转),3层就是6个DO。升降电机部分,每个需要升降的载车板配1台电机,也给2个输出点,假设有6个可升降车位,又是12个DO。再加上指示灯、蜂鸣器、控制继电器,输出点数轻松超过20个。

输入点也不省心。每个横移方向的左右限位至少2个DI,每层的升降上下限位至少2个DI,还有急停、启动、停止、模式选择、存取车选择、各个电机的过载保护信号,七七八八加起来也有二十几个输入点。

所以我经常建议,3层3列以上的方案直接按40点左右的PLC来选,别买20点的入门机,否则后面扩展EM模块、改接线、改程序会非常痛苦。选型表可以先做出来,例如:输入DI约24点、输出DO约20点、备用余量15%左右。这样选出的PLC才是真正够用的。

3.2 PLC选型怎么找准"够用又不浪费"的型号

市面上的PLC型号很多,毕设场景下我优先推荐三类:

第一类是西门子S7-200 SMART系列,比如ST40、ST60。它的优势是资料全、教程多,博途软件和S7-PLCSIM仿真用起来顺手,答辩时讲起来也不冷门。第二类是三菱FX3U系列,比如FX3U-48MR或FX3U-64MR。梯形图风格经典,很多学校实验室一直用三菱设备,做毕设能直接用实验室的硬件。第三类是汇川Easy系列,如果你熟悉codesys生态或者打算上位机联动,这个国产系列性价比很高。

我个人的建议是:优先选你学校实验室现有的品牌,因为你可以在实验室免费调试,有事还能找老师。如果从零开始自建平台,S7-200 SMART是相对稳妥的选择,配套资料最多,遇到问题随便一搜就有答案。

选型还有个细节:输出类型。继电器输出和晶体管输出各有利弊,控制接触器这类交流负载时,继电器输出更皮实;想发脉冲控制步进电机或伺服,就得选晶体管输出。做立体车库一般用继电器输出就够,不需要脉冲功能。

3.3 电机、接触器、限位开关的搭配要点

立体车库的执行机构主要是横移电机和升降电机。小型模型用直流减速电机加电机驱动板就行,但如果是接近真实尺寸的装置,一般用三相异步电机配减速器。升降机构必须选带制动器(抱闸)的电机,断电或急停时载车板能停住,防止溜车。

电机的通断电控制用接触器实现。这里有一个毕设新手最容易忽略的问题:接触器必须做电气互锁。正转接触器和反转接触器在硬件回路中互相串接对方的常闭触点,这样即使程序抽风同时输出正反转信号,主回路也不会发生相间短路。这个知识点论文里一定要写进去,答辩时是加分项。

限位开关是立体车库的"眼睛"。选型上有行程开关、电感式接近开关、光电开关三种。行程开关便宜、直接、抗干扰强,适合用在运动终点;电感式接近开关适合检测金属挡块,安装时要注意检测距离,一般3-5mm;光电开关适合做防人和防坠落检测,成本稍高。毕设装置建议以行程开关为主,接近开关为辅,逻辑清晰,接线也简单。

3.4 触摸屏、组态软件、上位机:监控层怎么选

立体车库的"自动存取"如果只停留在PLC端子指示灯上,说服力不够。一个完整的系统要有监控层,常见三种做法:

第一种是触摸屏方案,比如威纶通、昆仑通态MCGS或者西门子Smart IE触摸屏。在触摸屏上做几个画面,显示车位占用状态、当前空位位置、故障报警,以及车位号和存取车按钮。这个方案直观、现场感强,组态也容易上手。

第二种是PC组态软件方案,用WinCC或组态王做上位机,通过网线或串口和PLC通讯。适合喜欢在电脑上展示的学生,答辩时可以投屏给老师看,效果很直观。

第三种是编程型上位机方案,用C#或Python写一个小程序,通过Modbus TCP或OPC UA协议读写PLC数据。这个方案的优点是可以做数据存储、记录存取车日志,顺带展示你的编程能力。如果你学有余力,这是个很好的加分项;如果编程基础薄弱,不建议硬上,先把前两种做稳。

4. 程序设计的骨架:地址分配、自动流程和互锁保护

4.1 地址分配表是一张比原理图更重要的图纸

写梯形图之前,必须先有一张完整的I/O地址分配表。我带的每一届学生,第一项任务就是交这张表。原因很现实:PLC程序一长,所有人都容易记混哪个点是哪个限位。有了地址分配表,写程序不迷糊,改程序有依据,论文里还能直接引用。

一个典型的地址分配表长这样:

信号名称PLC地址类型说明
急停按钮I0.0开关量输入常闭接入,急停切断主回路
启动按钮I0.1开关量输入上升沿有效
停止按钮I0.2开关量输入停止当前流程
模式选择I0.3开关量输入0=自动,1=手动
存取车选择I0.4开关量输入0=存车,1=取车
一层横移左限位I1.0开关量输入一层载车板最左位置
一层横移右限位I1.1开关量输入一层载车板最右位置
二层升降上限位I1.2开关量输入二层载车板顶部到位
二层升降下限位I1.3开关量输入二层载车板下降到位
一层横移电机正转Q0.0继电器输出驱动一层载车板向右
一层横移电机反转Q0.1继电器输出驱动一层载车板向左
升降电机正转Q0.2继电器输出载车板上升
升降电机反转Q0.3继电器输出载车板下降

实际项目里表格会比这个大得多,但规律是一样的。列这张表的过程,其实就是在做I/O预算和程序结构规划,千万别省。

4.2 自动存取流程用状态机来实现

自动存取车程序,说白了是一个状态机:系统始终处于某一个状态,满足转移条件后进入下一个状态。用梯形图实现状态机并不困难,常见做法是使用PLC的中间继电器(M区)作为状态标志,用一个"状态步"字(比如D10)记录当前处于第几步。

以取车流程为例,状态步骤可以拆成:

S0 初始待机:无故障、无急停,等待车位号输入 S1 车位解析:解析目标车位号,检查车位编码合法性 S2 空位寻址:确定当前空位坐标,规划搬运路径 S3 横移运行:启动对应层的横移电机,等待限位信号 S4 横移到位:确认横移限位触发,停电机,更新空位坐标 S5 升降运行:启动目标车位升降电机,载车板下放 S6 升降到位:确认下限位触发,停电机,开放取车 S7 流程结束:复位所有状态位,回到初始待机

每进入一个状态,先把上一个状态的输出全部复位,再置位新的状态,最后调用该状态对应的输出逻辑。这个习惯非常重要,可以防止状态混乱导致多个电机同时动作。转移条件除了限位信号,还要加上时间约束(比如某个动作超过10秒还没到位,直接跳报警状态),这是工程安全的基本要求。

4.3 互锁不是锦上添花,是保命设计

互锁是立体车库程序里最要紧的部分,没有之一。程序上至少要有四层互锁:

  • 同一电机正反转互锁:Q0.0输出正转时,绝不允许Q0.1同时有电。梯形图里用常闭触点互串。
  • 横移与升降互锁:横移电机运行时,升降电机必须全部断电;反之亦然。防止载车板边横移边升降。
  • 同层多横移电机互锁:如果一层有多台横移电机,任意时刻只允许一台工作,防止两台电机在一条轨道上互相较劲。
  • 空位逻辑互锁:只在空位路径上允许横移,非空位区域禁止任何升降动作,防止把别人的车抬起来。

很多学生的程序能正常存车取车,但答辩演示时故意问一句"如果两层电机同时动作会怎样",当场就露馅。所以互锁逻辑一定要有意识地写进去,并且在论文里专门开一小节讲清楚,这比任何花哨功能都更能体现系统的安全性。

4.4 超时、急停这些边界条件,程序里必须预留

边界条件往往是程序里最容易漏的部分。我在检查学生的毕设程序时,一定会翻这几个地方:

有没有超时保护?比如某个限位信号应该在3秒内到达,结果等了30秒还没反应,说明机械卡死或者传感器坏了,这时候程序应该报警停机,而不是一直输出。可以用定时器配合比较指令实现,每个动作的时间上限单独设定。

急停处理是否彻底?急停按下后,不仅要停掉当前动作,还要把整个流程状态复位到安全态,确保重新启动时是从初始状态开始,而不是原地继续执行。

断电恢复怎么处理?立体车库如果运行到一半断电,重新上电后电机必须全部保持断电状态,靠人工确认后才能继续。有些PLC的中间继电器默认断电不保持,重新上电时所有输出是0,这个特性恰好可以利用来做安全恢复。

5. 调试阶段遇过的高频翻车现场与排查链路

5.1 仿真器"启动不了"不等于程序有错

调试第一步通常是软件仿真。很多学生卡在这一步就慌了:博途的S7-PLCSIM Advanced启动实例时报error 11,或者点了启动没反应;还有用Step7 Micro/WIN Smart连接CPU时搜索不到设备,哪怕电脑加了IP地址也连不上。

先说S7-PLCSIM Advanced的问题。这个软件依赖虚拟网卡和授权组件,启动不了最常见的原因是:没装授权文件、Windows防火墙阻断了虚拟通道、或者杀毒软件把相关服务干掉了。排除顺序是:先查授权,再用管理员权限运行软件,然后关闭防火墙测试,最后重装虚拟网卡驱动。记住,这个报错几乎和你的PLC程序无关,程序本身就算千疮百孔,仿真器照样能启动,不要把时间浪费在改程序上。

再说Step7 Micro/WIN Smart搜索不到CPU。先确认PLC和电脑的IP是否在同一网段,比如PLC设为192.168.2.1,电脑就要配192.168.2.x;然后用ping命令测通不通;最后检查通讯线是不是原装或质量好的工业网线。用"添加IP地址方式"能连上,但搜索功能找不到CPU,通常就是网段或网关配置问题,多试几次固定IP就能解决。

5.2 电机只往一个方向转,先查哪里

程序逻辑看起来没问题,但电机只会正转不会反转,这种故障十有八九出在输出回路。排查顺序建议从外到内:

第一步,用万用表量PLC输出端子,在手动模式下直接强制反转输出,看端子上有没有电压。如果没电压,查程序里反转输出是否被某个常闭触点锁定,多半是互锁点接错或者某个未复位的地址卡住了。如果有电压,继续往外查。

第二步,查接触器线圈有没有吸合。如果PLC有输出但接触器不动作,可能是中间继电器损坏、线圈电压不匹配、或接线端子松了。第三步,查接触器主触点到电机这段,包括热继电器是否跳闸。很多学生卡在"程序明明输出反转,电机就是不动",最后发现是热继电器复位按钮没按下去。

这类问题一定要养成"先看执行机构,再翻程序"的习惯,而不是抱着梯形图一遍遍读。现场调试的效率,往往就差在这个思路上。

5.3 到位不停和过冲,问题往往卡在限位开关这一环

立体车库最常见的机械故障,是载车板已经到位但电机还在转,或者到位后停不准,冲过头。原因基本都出在限位开关这一环。

行程开关的挡块安装位置不对,打不到触头;接近开关检测距离太远或太近,金属挡块还没到就提前触发,或者到了都不触发;还有限位信号在触点抖动中一闪而过,PLC扫描周期一错就漏掉了,程序没捕捉到,电机继续转。

解决方法是给限位信号加"确认窗口":检测到限位信号后,延时100-200毫秒再确认到位,防止触点抖动造成误动作。同时在机械上把挡块调整到稳定触发的位置,接近开关要按说明书距离安装,别凭感觉贴。这样处理后,到位精度通常能稳定在毫米级,对毕设演示来说足够了。

5.4 横移和升降同时动作,说明互锁漏了

如果说前几个问题还能靠调参数解决,那横移和升降同时动作就是设计缺陷了。现象是载车板在横移过程中突然开始升降,轻则卡死,重则损坏机械结构。

排查链路是这样的:先把程序里的互锁触点全部找出来,看看横移输出和升降输出之间有没有用常闭触点互相封锁。很多学生的梯形图里单独看没问题,但两个模块并行执行时你中有我、我中有你,根本没有互锁。再检查接触器有没有电气互锁,光靠程序互锁在千钧一发时刻未必来得及。加完双重互锁后,可以在手动模式下强行同时给出正转和升降输出,看实际动作能否被硬件挡住。

我反复跟学生讲,互锁逻辑的正确性是"用故障注入证明的",不是"用正常运行证明的"。你存车取车正常只能说明路径对,并不能说明冲突保护有效。答辩时如果老师问"两个电机能不能同时动作",你要能拍胸脯说:不能,程序上不能,电气上也不能。

5.5 触摸屏连不上PLC,先看这四个参数

触摸屏和PLC通讯不上,是集成调试阶段最常见的坑。我用过MCGS连信捷PLC,也用过威纶通连西门子S7-200 SMART,排查经验基本一致,就是依次检查四个参数:

  • 设备IP:触摸屏和PLC必须在同一个网段,比如PLC是192.168.0.1,触摸屏就配192.168.0.2。
  • 通讯端口号:西门子S7协议默认102,Modbus TCP默认502,必须和设备实际配置一致。
  • 通讯协议:触摸屏组态时选的驱动必须对应PLC型号。MCGS连信捷要装对应驱动,连西门子要选S7协议,选错驱动就算参数全对也白搭。
  • 通讯周期:组态软件里有一个刷新周期,设得太快会占用PLC通讯资源,导致运行卡顿;设得太慢交互又不流畅。一般500毫秒左右比较合适。

我见过一个学生折腾了两天都没连上,最后发现是触摸屏和PLC的网线插错了交换机口,插到了一个非管理型交换机的环路上了。硬件排障这件事,真的别想复杂了,先检查物理链路,再查参数,效率最高。

6. 源码和LW文档怎么组织,才能让答辩更顺

6.1 论文的章节主线,其实就是一个系统设计流程

LW文档(毕业设计论文)不是项目完成后的回想录,而是跟着项目进度同步写出来的技术文档。主线建议按经典的系统设计顺序展开:

第一章绪论,写国内停车难背景、立体车库类型、研究意义;第二章总体方案设计,写车库结构、控制方案对比、系统组成框图;第三章硬件设计,写器件选型、电气原理图、I/O分配表;第四章软件设计,写程序结构、状态流程、互锁逻辑、梯形图关键代码;第五章系统调试与测试,写调试步骤、测试数据、故障分析和处理;最后是总结与展望。

论文里一定要放"总-分-总"式的图:先给一张系统整体框图,然后每一章用局部图去对应。重点内容是I/O分配表和状态转移图,这两个是老师盯得最紧的地方。梯形图不用全部贴,贴关键程序段即可,但要保证截图清晰、注释规范、编号正确。

6.2 源码交付物别只丢一个工程文件

很多学生交源码时只给一个PLC工程文件,文件夹打开就一个文件,老师下载之后发现打不开——版本不兼容。我在组织毕设源码时,通常会按这个结构整理:

01_项目源码/ 01_PLC程序/ *.s7p 或 *.gxw 工程文件 程序导出PDF/截图 02_触摸屏组态/ 组态工程文件 画面截图 03_上位机程序/ C#项目源码或Py文件 04_调试记录/ 调试日志 现场照片 演示视频片段 02_详细设计文档/ 需求说明.doc 硬件设计说明.doc 软件设计说明.doc

源码之外一定要附一份《项目运行说明》,写清楚软件版本、PLC型号、硬件接线方式、仿真方法。你答辩时的老师不一定是这个方向的专家,一份好的运行说明能让他快速复现你的系统,这本身就是印象分。

图纸也不要只在论文里放截图。电气原理图、接线图、功率回路图,最好用EPLAN或CAD画出来,导出PDF,和源码放在一起。这一套东西交出去,整个项目的完整性立刻上一个台阶。

6.3 答辩演示的节奏和加分点

答辩演示时,老师最想看到的是"系统能跑起来,而且你说得清楚为什么这么设计"。演示节奏建议分成三步:

第一步,用30秒展示整体系统——机械结构、PLC控制柜、触摸屏,让老师建立空间概念。第二步,用一个标准取车流程做完整演示:输入车位号、观察各机构动作顺序、触摸屏状态变化。第三步,做故障演示或边界演示——按下急停按钮,看系统怎么停止;或者强行触发限位信号,看超时报警。这一步如果做出来,基本就拿住"安全设计"这个高分点了。

讲PPT或论文时,不要照着读需求背景,重点讲三个"为什么":为什么选升降横移式,为什么这样分配I/O,为什么这样加互锁。逻辑链清晰,比堆砌命令和截图管用得多。

我在实际操作中的体会是:立体车库这个题目,最后拉开差距的往往不是程序复杂度,而是"你把系统当成一个整体想明白了没有"。从车位编码到空位寻址,从限位开关到互锁保护,每一环都要既能搭起来、也能讲清楚。你要是能把本文这套思路吃透,形成自己的设计文档,源码、论文和答辩都只是顺理成章的事。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/30 6:00:31

基于STM32的智能计价电子秤设计与实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/30 6:00:22

基于STM32的ATT7022E驱动开发:电能计量、校表与温漂补偿

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/30 5:59:01

鸭形机器人设计:结构约束替代算力的微小型双足控制范式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/30 5:58:36

扫地机器人双脑架构:Linux与STM32的分工安全边界

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/30 5:58:34

u-boot启动原理与ARM64实战:从QEMU到真实开发板

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华