news 2026/10/21 8:23:33

五轴喷涂设备脉冲当量换算与西门子200 SMART+V90伺服调试实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
五轴喷涂设备脉冲当量换算与西门子200 SMART+V90伺服调试实战

五轴喷涂设备在车间里来回折腾了一个多月,最后让我觉得最值钱的,不是那些花哨的示教界面,而是最底层的脉冲当量换算。西门子200 SMART这套ST30加ST20、配上V90伺服的组合,在中小型非标喷涂线上确实能打。今天就从脉冲当量这个最实在的点拆起,把硬件接法、参数设置、程序思路和调试坑全过一遍。这篇东西适合两类人看:一是正在规划五轴喷涂线的设备工程师,手里握着方案不知道该选什么控制器的;二是想把老机台改造成五轴联动、每天跟步进电机丢步较劲的老电气人。先给结论:这套方案投入不高、调试直接、维护门槛低,但前提是第一步的脉冲当量必须算得明明白白。

1. 先捋清系统架构:ST30和ST20各自管什么

1.1 五轴喷涂设备的轴系分配

先说喷涂设备的机械结构。常规五轴喷涂线一般由三个直线轴加两个旋转/摆动轴组成。直线轴是X轴、Y轴、Z轴,负责把喷枪或者工件送到空间里的某个位置;剩下的两个轴,一个是工件旋转轴(习惯叫A轴),负责让工件在喷涂过程中自转,另一个是喷枪摆动轴(习惯叫C轴),负责改变喷枪与工件表面的入射角度。也有把工件固定、喷枪做五自由度运动的布局,控制逻辑其实大同小异。

在这套方案里,ST30做主站,管X轴和Z轴两个直线运动,用Q0.0、Q0.1两路高速脉冲输出接两台V90。ST20做从站,管A轴旋转和C轴摆动,同样用Q0.0、Q0.1接两台V90。剩下的Y轴怎么处理?两个CPU一共四路脉冲口,已经用完了。实际现场我见过两种做法:一种是把Y轴做成变频器驱动的普通电机,反正在喷涂工艺里Y轴只是慢速进给,精度要求没那么苛刻;另一种是通过RS485用Modbus RTU去控制V90,不占高速脉冲口。如果你的工艺要求Y轴也必须是高精度伺服,那就要考虑换ST60或者把其中一个轴改走通信控制,这个后面会展开。

1.2 双PLC组合的取舍逻辑

有朋友会问,干嘛不用一台ST60?一台肯定比两台管理简单。这里有个性能边界要说清楚:S7-200 SMART系列的晶体管CPU,每台高速脉冲输出口就两路,ST30和ST20都是这样。你就算用ST60,如果程序里需要同时控制多个伺服轴,高速脉冲口数量不够就得另想招。另外,喷涂设备现场干扰厉害,一台CPU接线从驱动器区飞到操作台再飞到机械区,长距离走线反而更容易出问题。分成两台,一台放电气柜靠近驱动器,一台放操作工位附近,走线短,抗干扰也好处理。

成本上,两台小PLC加起来,跟一台中型PLC比还是占优势,更不用说中型PLC配伺服驱动还要加总线耦合器之类的东西。调试的时候也舒服:我在ST30上调轨迹,ST20那边跑自己的旋转轴和原点回归,两边互不干扰;如果某台报警,另一台还能维持安全状态,不至于整条线一起趴窝。这套双CPU思路,在老外的设备上早就不稀奇,就是很多人第一次用200 SMART不太习惯而已。

1.3 V90伺服在方案里扮演的角色

V90是西门子的小型伺服驱动器,配套1FL6伺服电机。在脉冲控制模式下,驱动器接收外部脉冲指令,内部再去做位置闭环。1FL6增量编码器2500线,四倍频后正好是每转10000个脉冲,这个数字跟S7-200 SMART高速脉冲口的配合非常自然——算脉冲当量的时候,默认分母就是10000,很好记。

选V90而不是步进电机,理由也简单:喷涂轨迹要求速度和位置都稳定,步进在低速区域会有共振,高速区域容易丢步,而伺服有编码器闭环,位置误差可以实时修正,还能把跟随误差报警反馈给PLC。设备上伺服驱动的成本确实比步进高,但你不想三天两头因为丢步导致重新喷涂。V90功率从零点几千瓦到几千瓦都有,五轴喷涂线上直线轴配0.4到1千瓦就够,旋转轴如果工件重,按转动惯量选到1.5到2千瓦都有余量。记住一条:别贪大,伺服功率越大,增益调起来越被动,现场改起来也很麻烦。

2. 最实在的脉冲当量换算,先把坐标系立稳

2.1 一个脉冲到底该走多远

脉冲当量,说人话就是PLC每发一个脉冲,机械末端实际走多少毫米或者多少度。单位是mm/脉冲或者°/脉冲。它的重要性在于:程序里所有坐标、速度、加减速全都要用脉冲数来表达,如果换算错了,你示教出来的轨迹就是错的,而且这种错误不直观,设备慢速开的时候手都能扶得住,速度一快就偏得离谱。

计算公式并不复杂,关键在于把传动链从头到尾理清楚。从电机输出轴到最终执行末端,中间可能有联轴器、减速机、丝杠、同步带。只要记住一个基准:电机转一圈,执行末端走多少距离,这是一个纯机械量;再看电机转一圈需要多少个脉冲,这是一个纯电气量;两者一除就是脉冲当量。

公式写下来是:直线轴脉冲当量等于丝杠导程除以(减速比乘以电机每转所需脉冲数);旋转轴则是360度除以(减速比乘以电机每转所需脉冲数)。减速比这里用的是电机转速除以负载转速,比如减速比60比1,那就是电机转60圈负载转1圈。很多人出错就是漏掉这个减速比,以为导程除以脉冲数就完事了,结果实际位置是理论值的几十倍。

2.2 两个实例让公式落地

例1,X轴丝杠导程10mm,电机和丝杠直连(减速比1比1),电机每转10000个脉冲。那么脉冲当量等于10除以10000,结果是0.001mm每脉冲。也就是说PLC发1000个脉冲,X轴走1mm,发100000个脉冲走100mm。这个精度对喷涂应用来说已经很细了,涂层厚度差个0.01mm都容易查出来,0.001mm的位置分辨率足够。

再往细一点算:如果你要求0.0005mm的脉冲当量,那电机每转脉冲数要提高到20000;如果想粗一点,0.002mm,那每转5000就行。这些数字不是拍脑袋,它们会直接决定V90电子齿轮比怎么设,下一节说。

例2,A轴旋转工作台带减速机,减速比60比1,电机每转10000脉冲。那脉冲当量等于360除以60再除以10000,结果是0.0006度每脉冲。看着非常小,但反过来计算就吓人:喷枪转1度需要1666.667个脉冲。程序里如果按0.1度下发一次动作,那0.1度需要166.667个脉冲,简单取整发166个的话,单次误差只有0.0004度,但喷涂线一天重复两千次摆枪动作,累计就有0.8度的角偏差。喷枪在1米远的工件表面上,0.8度的偏转对应约14mm的位置偏移,涂层搭接早就乱了。所以旋转轴的脉冲当量必须是能被程序单位整除的数,或者在PLC里写补偿程序把余数累加上去。

2.3 把脉冲当量翻译成V90电子齿轮比

V90在外部脉冲位置控制模式下,默认电机转一圈需要10000个脉冲。但如果你的机械和工艺要求不是这个数,就可以通过电子齿轮比来改变。V90里对应两个参数:P29011是指令脉冲倍乘分子,P29012是指令脉冲分频分母,电子齿轮比等于P29011除以P29012。换算关系是:电机每转实际所需脉冲数N等于10000乘以P29012再除以P29011。

举个刚才的例子:如果X轴要0.002mm脉冲当量,那N等于5000,那么10000乘以P29012再除以P29011等于5000,取P29011等于2、P29012等于1即可。如果旋转轴要求20000脉冲一圈,则P29011等于1、P29012等于2。给一个常用对照表,方便直接抄:

目标每转脉冲数 NP29011(分子)P29012(分母)
250041
500021
1000011
2000012
4000014

设置路径并不复杂:V90调试软件或者驱动器面板进去,找到P29011和P29012,把数值写进去保存就行。不同固件版本的菜单路径可能有细微差异,一定要以你手上手册为准。设完参数后,建议先手动点动电机转10圈,量一下实际机械位移,确认和理论值一致再动程序。这一步能省下后面至少半天的排查时间。

这里有个经验:电子齿轮比别设置成既不是整数、分子分母又很大的组合。比如某位同行设了个12345比6789,控制器内部运算容易积累误差,而且出了问题根本看不出是哪里归零了。尽量化简成小整数比,2比1、1比2这种,越简单越好。

2.4 用频率上限倒推速度上限

算完脉冲当量,紧接着要验算一个东西:脉冲频率够不够。S7-200 SMART高速脉冲输出最高100kHz,这是硬上限。频率等于速度除以脉冲当量。反过来,最高速度等于100000乘以脉冲当量。

用前面X轴0.001mm每脉冲来算:最高速度等于100000乘以0.001,结果是100mm每秒,也就是6m每分钟。这个速度对喷涂来说够吗?喷涂往复速度一般取60到300mm每秒,你自己看工艺——如果要求跑到300mm每秒,那0.001的脉冲当量下频率要300kHz,200 SMART给不了。这时候两个选择:要么把脉冲当量放大到0.003mm每脉冲,频率需求降到100kHz,刚好卡在极限;要么轨迹上规划加减速,让峰速降下来。实际设备上,喷涂均匀性要求高时压根不会让你跑300mm每秒,所以我很少为这个纠结。

V90侧脉冲接口响应频率一般在200kHz以上,100kHz的PLC上限不会卡在驱动器这边。倒是要小心接线质量,频率一高,线没接好或者用了继电器中转,波形就畸变,那才是最普遍的丢脉冲来源。

3. 硬件接线和V90参数设置,少走两个月的弯路

3.1 200 SMART高速脉冲口与V90怎么接

ST30和ST20的高速脉冲输出口都是Q0.0和Q0.1,晶体管输出型才可以,继电器输出不行,这个大门槛先记住。接线时,Q0.0接V90的脉冲输入端子PULSE,Q0.1接V90的方向端子SIGN。V90侧脉冲输入端有光耦隔离,公共端COM的接法要按驱动器的说明书来,常见的是24V或0V接COM,取决于你用的是源型还是漏型匹配。

实际操作里最容易掉坑的是两个:一是把继电器串在脉冲线上,以为和普通输出一样隔离一下,结果继电器动作时间根本跟不上100kHz的脉冲,直接丢脉冲丢到怀疑人生;二是脉冲线和电机动力线捆在一个线槽里,动力线一启动,脉冲波形被干扰得一塌糊涂。正确做法是脉冲线用双绞屏蔽线,屏蔽层单端接地,线槽和动力线隔开至少10公分。

原点开关和限位开关,统一接到PLC的输入点上,不要接到V90的DI上去。虽然V90也有数字量输入可以回原点,但逻辑放在PLC里好写,还能顺便做联锁。原点开关建议用接近开关,别用机械行程开关,喷涂现场粉尘多,机械开关触点氧化后接触不稳定,原点位置随机漂。

3.2 V90关键参数清单

V90第一次调试,参数设置顺序建议是:先设置控制模式为外部脉冲位置控制,再设置电子齿轮比,然后设置脉冲输入模式和方向,最后设置自动停止和制动逻辑。控制模式在驱动器面板菜单里找到相应参数(不同版本名称有差异),按手册操作。

脉冲输入模式一般选脉冲加方向,也就是PULSE线上来一个脉冲走一步,SIGN线上的电平决定正转还是反转。A/B相正交模式也可以,但PLC这边要多占一路输出,意义不大,纯属浪费。

方向参数别默认不管:V90默认旋转方向如果不和机械匹配,上电点动一跑可能就是撞限位。正确做法是第一次点动时手指放在急停上,设定小速度,验证电机转向和实际需要一致后再联机。

最后是制动和报警:喷涂线中途急停,伺服要立即停止并抱闸;V90的报警输出接到PLC输入点,PLC里做故障联锁。这些参数单独在驱动器面板上都好设,关键是别漏。

V90参数含义建议值备注
控制模式外部脉冲位置控制按手册选择不同固件菜单名有差异
P29011电子齿轮比分子按N计算默认1
P29012电子齿轮比分母按N计算默认1
脉冲输入模式脉冲+方向常用也可选A/B相
旋转方向CW/CCW以机械为准先点动验证
报警输出故障继电器接PLC输入做联锁停机

参数设置完成后,用面板或者调试软件做一次点动测试:给一个固定小脉冲量,量实际位移,和理论值比对无误,再往下走。

3.3 ST30和ST20之间的通信

两台PLC之间数据交换,首选以太网GET/PUT。在STEP 7-MicroWIN SMART的向导里有GET/PUT配置项,指定对方IP、访问区域、字节数,就可以直接把对方V内存区的内容映射成自己这边的地址。对于喷涂设备,需要交换的数据不多:一台PLC把节拍运行中、当前报警、轴到位这些状态发给另一台,另一台把旋转轴圈数、摆枪角度回过来,十几个字节足够。

用GET/PUT要注意:两台PLC的IP不能冲突,要和触摸屏、电脑规划在同一个网段。数据区不要设得太大,通信周期越短越好。如果现场没有网线条件或者以太网口被占用,也可以用RS485自由口做Modbus RTU主从通信,速度慢一些,但一样稳定。我个人还是会优先以太网,调试的时候不用来回插线,方便得多。

还有一点:不要指望用GET/PUT做高速同步。两台PLC之间的通信周期是毫秒级的,如果你要求A轴旋转和X轴横移做严格插补联动,靠网络传坐标绝对不现实。正确的思路是主从联动:主轴自己跑出自己的位置,把对应的增量脉冲通过程序触发给从轴,从轴按比例执行。这种电子齿轮的简化实现,可以满足喷涂螺旋线的精度要求。

实际项目里,如果你发现某个直线轴必须跟旋转轴做严格插补,而且精度要求到0.01mm,那200 SMART组合确实有点吃力,这时候就得考虑换成带多轴插补的伺服总线方案或者中型控制器了。喷涂线上大多数轨迹是分段点位运动,200 SMART还是扛得住的。

4. 程序架构与五轴喷涂轨迹的实现思路

4.1 喷涂工艺对运动控制的基本要求

喷涂工艺听着玄,落到运动控制上就三条:匀速、平滑换向、角度稳定。喷枪移动快了喷料飞溅、厚薄不均;慢了流挂。往复换向那一下,如果加减速处理不好,涂层接缝处就会出现肉眼可见的条纹。A轴旋转和X轴横移组成的螺旋线轨迹,要求的是比例关系:工件每转一圈,喷枪横移一个固定的距离,这个距离就是涂层节距,根据搭接率来定。比如搭接率要求30%,喷幅100mm,那么节距就是70mm。这个70mm怎么跟A轴转一圈对应?在程序里就是一个固定比例,不是靠人肉算,要靠主从同步逻辑去做。

C轴摆枪角度同样重要:喷枪跟工件表面保持一个理想角度,绕喷枪的摆动轴转多少度,程序里要给它设定一个目标角度并实时修正。角度一变,风力、雾化、沉积效率全变,所以这个轴的运动控制其实最考功夫。

4.2 用运动控制向导搭出加减速

S7-200 SMART的编程软件自带运动控制向导,在向导里可以把Q0.0配置成轴0,Q0.1配置成轴1:选择脉冲输出口、方向输出口,设置软限位、硬限位、原点输入,以及加减速时间。向导会生成一组现成的轴控制指令,我们只要在程序里调用就行。ST30和ST20各自都做一遍这个配置,因为两个CPU都有独立的轴0和轴1。

加减速时间建议从300ms开始试:100mm每秒的目标速度,300ms加到满速,加速度约0.33米每平方秒,对多数喷涂机构来说已经偏轻柔了。有些人为了赶节拍把加减速时间压到50ms,机构抖动、丝杠弹跳、喷枪末端的涂料都跟着晃,得不偿失。调加减速的时候,盯一下喷枪出口有没有因为起停出现涂料拖尾,拖尾就说明加速度太快,慢慢加到不拖为止。

换向处理的思路是:不要直接从一个正速度突然变成负速度,最好在目标位置前留一个减速段,让轴先降到一个爬行速度,完成换向后再加速。200 SMART的运动控制向导支持绝对定位和相对定位,但换向点的手感还是要靠在程序里分段调用,这个没有捷径。

4.3 示教、配方与自动运行的三个环节

五轴喷涂设备的程序,并不比普通点位运动复杂太多,麻烦的是要把示教、配方和自动运行三个环节串起来。示教环节,我习惯的做法是手动模式下用点动按钮把各个轴移动到目标位置,触摸屏上显示当前坐标,操作工按下记录键,PLC就把这一刻的五轴坐标存进V区或者配方数据块。注意记录时一定要等轴完全停稳,别在运动过程中按,不然存进去的坐标就是漂的。

配方环节,每个工件对应一套参数:行程范围、喷涂速度、旋转圈数、节距、喷枪摆角序列。类似的数据块可以按工件号索引,自动运行前由操作工在触摸屏上选工件号,PLC就把配方搬到当前工作区。这个做法在非标设备里非常普遍,维护也方便。

自动运行环节,核心是判断到位后再执行下一条。不能只看位置到达标志位,最好再加一个到位停留条件,比如轴到位后延时100ms再发下一条指令。高速段如果到位马上切下一段,机构惯性会让实际轨迹出现尖角,涂层在那个位置就会偏厚。加一个短延时,换向就柔和得多。

5. 调试实录:那些反复出现的坑

5.1 脉冲计数和实际位移对不上

这个坑几乎每个项目都会踩。现象是:程序里发了10000个脉冲,用千分表一量,实际走了12mm,而不是理论上的10mm。排查顺序不要乱。第一步,确认电子齿轮比:拿计算器把N算出来,再看P29011和P29012设没设对;第二步,确认方向:如果方向反了,你会看到回原点越走越远,那是另一个明显的信号;第三步,查丢脉冲:用示波器看Q0.0波形,或者把PLC输出脉冲计数显示到触摸屏上,跟V90接收到的脉冲数比对,差多少一清二楚。第四步还是不行,就查机械:联轴器顶丝松了、丝杠螺母间隙大、减速机齿轮磨损,都会让实际位移跟理论差一截。

我调试时最快的一次是发现V90电子齿轮比参数里把分子分母填反了,本来2比1填成了1比2,位移变成理论的四倍。从那以后我养成一个习惯:任何参数改完,先点动1000个脉冲,量一次;改完了再看6000个,再量一次。多花五分钟,省下来的是整个下午的猜谜时间。

顺带提醒一句:别在喷涂设备带电的时候用普通万用表去量脉冲线,静电打一下PLC端口,运气不好直接烧。要用示波器或者隔离探头,没有示波器就把PLC脉冲计数调出来监测,用软件判断。

5.2 原点回归每次都差一截

原点回归是很多设备调试最后一关的大魔王。现象是:每次开机回原点,停的位置都不一样,差几毫米到零点几毫米都有。原因一般有三个:第一,回零速度太高,机械惯性导致越过原点开关后才减速,每一次惯量还不一样;第二,原点开关感应面太宽,上升沿对应的位置不稳定;第三,丝杠端部的滑座在原点位置正好处于反向间隙区域,你回完原点后往正方向跑一段,间隙被吃掉,坐标就偏了。

解决的办法:把回零分成两段,先快速接近,碰到原点开关马上减速,再以低速爬行寻找关闭沿,用关闭沿作为零点锁存位置。这个动作200 SMART的运动向导里有现成功能,别自己用自由脉冲凑合。回零速度我一般取正常工作速度的30%,爬行速度取5mm每秒左右。原点开关装好后拿游标卡尺量一下基准面到挡块的距离,记录在调试笔记里,以后每次保养完都可以复校。

5.3 长时间运行后坐标漂移

喷涂线跑一个班次,通常八个小时,如果没有异常报警,最怕的是坐标悄悄漂移。喷枪位置偏了零点几毫米,肉眼根本看不出来,直到一台工件喷出来的膜厚抽检不合格才发现。这种漂移绝大多数不是程序问题,而是机械层面的累计误差:丝杠反向间隙、联轴器弹性体老化、同步带张紧力变化,都会让每个往复周期损失一点点行程,跑上一个班次日积月累。

对策有两个层面。机械层面,每周点检联轴器和丝杠压块,发现联轴器弹性体开裂直接换,别凑合;同步带张力按厂家说明调整,太紧伤轴承,太松丢位移。程序层面,对往复轴做反向间隙补偿:检测到方向切换时,额外的脉冲量补偿反向间隙;另外每天开工第一件事回原点,把累计误差清零,而不是开工就跑自动。只要做到这两点,坐标漂移基本可以控制在公差范围内。

6. 一点补充的体会

最后扯几句题外话。这套ST30加ST20配V90伺服,我个人的结论是:适合中小型非标涂装线和自动化改造项目,性价比高、上手快、维护不挑人。但它的上限也很明确:真正的高速高精多轴插补做不了,遇到那种要求五轴联动轨迹精度0.01mm、速度还要300mm每秒以上的工件,老老实实上中型控制器加伺服总线,别看200 SMART便宜就硬上,有些钱省不得。

如果要说我最想提醒后来者的一句话:脉冲当量这个事,别看它不起眼,它决定的是整套设备的坐标系。坐标系错了,后面全是白忙。算的时候把丝杠导程、减速比、编码器分辨率、电子齿轮比四样东西写在一张纸上,每一步都有据可查,再乱的调试现场心里都不慌。

最后再送一个小技巧:V90第一次上电,先把机械联轴器松开,空载点动伺服电机转几圈,确认电机、编码器、驱动器三者方向一致,再锁回联轴器。别直接带着负载试方向,转错一下,轻则撞限位,重则毁丝杠。这个顺序救了我好多次。

这套方案后续要扩展六轴七轴的话,可以给V90换带通讯功能的版本,然后用支持多轴插补的控制系统取代双PLC组合,能平滑迁移。今天就先写到这儿,希望这些从车间里踩出来的细节能帮大家少走几步弯路。

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

中文NER实战:从BERT微调到实体边界对齐与部署

简介:面向Python开发与自然语言处理学习者,这份资源演示如何基于Hugging Face Transformers加载预训练BERT模型完成中文命名实体识别(NER),覆盖人名、地名、组织名等实体类型的识别与标注。压缩包共9个文件、约3.72MB&…

作者头像 李华
网站建设 2026/10/21 8:22:27

open-code-review:规则引擎+检查清单双层代码评审方案

1. 项目缘起与核心定位第一次看到“open-code-review”这个标题,我脑子里蹦出来的第一个念头是:这不就是把代码评审这件事从“人治”往“工具化”方向推吗?做过几年开发的人都知道,代码评审是保证代码质量最有效的手段之一&#x…

作者头像 李华
网站建设 2026/10/21 8:21:52

turf.lineChunk与bearing:GIS轨迹回放的空间语义校准

1. 项目概述:为什么散点与轨迹回放不是“画几个点、连几条线”那么简单你有没有遇到过这样的情况:在地图上标出几十个用户打卡位置,看起来是密密麻麻的一片点,但没人能说清这些点之间是否存在空间规律;或者导出了一段车…

作者头像 李华
网站建设 2026/10/21 8:21:47

DP转VGA单芯片方案IT6517BFN详解:从架构设计到固件调试

做硬件这些年,DP转VGA这个需求几乎每个工程师都躲不过。会议室里的老投影机只有一个VGA口,实验室的工控机却只给了DisplayPort输出,现场调试时客户的旧显示器又不带数字接口……以前大家习惯买一根“DP转VGA转接线”,插上去才发现…

作者头像 李华
网站建设 2026/10/21 8:21:24

macOS安装JMeter完整指南:Java环境配置与永久汉化

搞接口测试和性能测试的同行,多数都绕不开JMeter这个名字。Apache开源社区维护的这款压测工具,从问世到现在,几乎成了接口测试和性能测试领域的标配。不过很多Mac用户装JMeter的时候都挺憋屈的——网上的教程大多按Windows环境写,…

作者头像 李华
网站建设 2026/10/21 8:20:20

从零搭建代码评审自动化流程:open-code-review 分层拦截与工具链实践

1. 从零搭建一套代码评审自动化流程的完整思路代码评审这件事,做过团队协作的人都有体会。项目一忙,评审就容易流于形式,要么是“LGTM”一带而过,要么是攒了一堆提交没人看。我所在的团队前前后后换过好几套方案,从最早…

作者头像 李华