干了十二年PLC,带过的应届生少说也有五六十个。每年七八月新人进车间,我第一句话基本都是:把学校里“写完程序就算完事”的习惯扔了。自动化这行,程序只是整个系统里非常小的一块,图纸、接线、传感器、通讯、机械、工艺、售后,哪一项单拎出来都能让一个项目黄掉。今天开始,我会用连载的方式,把十二年来踩过的坑、补过的课、带人的时候反复讲的东西整理成90条入行经验,按每天更新几条的节奏发出来,尽量保证每条都能直接落地。
这套经验主要写给自动化专业的应届生,或者入行一到两年的助理工程师。不是要教你怎么背指令,也不是某个品牌的操作手册——那些东西网上到处都有。我更想帮你把“能干项目”和“只会写程序”这两件事分清楚。很多新人干了一两年,能力并不差,但方向错了,积累的都是重复劳动;反而是那些一开始就被正确习惯带的人,三年后差距会非常明显。接下来先说说这份清单的来历,再进入正题。
1. 为什么我坚持给自动化应届生写90条经验
先交代一下背景。我在非标设备厂做过电气设计,在系统集成商那里做过项目调试,也在生产制造企业干过设备维护和产线改造,前后加起来正好十二年。带过的新人里,有半年就能独立负责小项目的,也有干了两年还在原地打转的。差距不在智商,也不在毕业学校,而在一些特别具体的工作习惯上。
我见过一个新人,大学成绩很好,梯形图、ST都会写,但在现场连传感器常开常闭都判断不清楚。也见过另一个新人,代码写得一般,但他会在改程序之前花二十分钟把图纸和IO表看明白,上电后基本不用二次返工。后来他的成长速度明显快得多。这些经验按理说应该由师傅一点一点带,但很多公司没有完整的带教体系,新人只能自己摸索。所以我把它们写成清单,争取每天更新几条,让更多人少走弯路。
1.1 为什么是“90条”而不是“一篇入门教程”
一篇教程只能讲清楚一个指令的用法,而现场的各种“灵异事件”是碎片化的:通讯时好时坏、温度PID来回震荡、触摸屏偶尔弹出报警但程序里查不到……90条这个数字是我刻意定的,每条对应一个真实场景,不求系统,只求你在键盘前面卡住的时候能想起来——好像听谁提过这个坑。
1.2 谁适合长期追这个系列
适合三类人:一是刚毕业正在找自动化相关岗位的应届生,二是已经在设备厂、集成商干过一阵子但感觉每天都在改点位、改时间、改报警文本的助理工程师,三是打算从PLC往整个产线信息化方向走的人。如果你是资深老法师,很多条你可能会觉得太基础,没关系,真正值钱的往往是那些基础里最容易反常识的细节。
2. 第1-10条:入行前三年最容易被忽略的心态问题
技术可以补,认知错了会反复吃亏。这十条我原本不想写,因为听起来不像技术,但带人带久了你会发现,新人和老人的差距往往从心态开始。
2.1 关于职业预期(第1-5条)
第1条:别把PLC当成纯编程工作。你面对的不是一段可以在IDE里随便运行的代码,而是一套有电压、有电流、有机械动作、有操作工安全风险的真实系统。现场有30%以上的故障不是逻辑错误,而是传感器没对上、气缸没到位、接线端子松了,或者有人把门开关短接了。所以同样的程序,放到不同的设备上,表现可以完全不同。
第2条:前三年别急着跳槽。一套完整的非标项目,从和客户谈方案到验收,通常需要半年到一年。你至少要完整跟完两个项目,才能理解一台设备从图纸到交付的全貌。只干一年就跳,你可能永远只看到调试阶段,看不到前期选型、方案评审、后期售后带来的成长。
第3条:现场脏累是常态,但价值也在现场。别觉得现场就是吃苦。出问题的时候,大部分问题都不在程序里,而是在机械卡滞、传感器松动、接线氧化、地线干扰这些不起眼的地方。凡是能把现场问题处理干净的人,才真正叫会调试。
第4条:把“看书”换成“看手册加看设备”。西门子、三菱、台达、汇川这些厂商的手册都是免费下载的,里面的参数表、时序图、功能说明比二手教程靠谱得多。新手最容易犯的错误是买了一堆培训机构出的书,却连官方手册在哪儿都不知道。要养成的习惯是:遇到不熟悉的模块,先开手册,再上手试。
第5条:学会自己查资料再问人。问问题没问题,但不要开口就甩一张截图说“这个怎么弄”。我见过的新人里,凡是受欢迎的那几个,都是先自己查了手册、试了多个方案,然后带着“我查了手册,看到……但这里没看懂”来问。没有哪个师傅会拒绝这种问题,因为他知道你尊重了他的时间。
2.2 关于学习节奏(第6-10条)
第6条:每天半小时比周末突击八小时强。自动化知识碎片化得厉害,今天可能是触摸屏脚本,明天是Modbus报文,后天又变成了步进电机的细分设置。这种知识适合蚂蚁搬家,不适合集中恶补。你每天花半小时看一个指令、练一个小功能、整理一条笔记,三个月后的效果会比周末刷两天视频好得多。
第7条:先练梯形图,再碰ST和高级语言。现在很多培训机构都在宣传高级语言和ST编程,但回到项目现场,真正排查问题的时候,梯形图仍然是最直观、最容易沟通的语言。新人的成长路径应该先把梯形图练到能流畅表达控制逻辑,再去学ST做复杂算法。顺序反了,很容易变成“看起来都会,写起来全懵”。
第8条:用真实小项目练手。别光做练习题,直接拿现实中的东西做:红绿灯控制、抢答器、电机顺序启停、恒压供水、冷库温度监控,这些都是经典的练手题目。规模不用大,但必须逼自己去考虑启动条件、互锁、时序、故障状态,而不是只把输出点亮。能把这些小项目玩明白,大程序无非是更多功能块搭起来。
第9条:下载程序前先确认型号和通讯参数。新手用电脑连PLC,卡在“搜不到CPU”这个环节的比例高得吓人。拿西门子S7-200 SMART举例,最常见的三种原因:电脑网卡IP和PLC不在同一网段、Micro/WIN SMART没有勾选“查找CPU”、网线或者USB转接头有问题。台达和三菱老机型还要注意COM口号、波特率、驱动安装。我见过一个新人折腾了一下午,最后发现那根USB线只能供电不能传数据。
提示:搜不到CPU时,先看电脑IP和PLC IP,再看网线,最后看软件设置,别一上来就重装软件。
第10条:给自己准备一台旧PLC或者仿真软件。编程软件本身也是基本功。TIA博途、GX Works、WPLSoft、Micro/WIN SMART,这些软件的菜单在哪、怎么上传下载、怎么在线监控、怎么用交叉引用,都需要熟到不用想。工具不熟,水平再高也体现不出来。没有硬件就装个仿真,熟练操作对效率的提升立竿见影。
3. 第11-20条:把基本功练到能“闭眼操作”
很多应届生面试时能背出PLC扫描周期怎么算,到了现场却连一张电气原理图都翻不明白。基本功不花哨,但它是所有高薪方向的地基。你说你会自动化,前提是能让人放心把设备交给你。
3.1 读图与程序习惯(第11-15条)
第11条:先从电气原理图看起,而不是先写程序。到一台新设备面前,先看主回路:电源从哪来,总开关多大,变频器、伺服驱动器怎么接线。再看控制回路:中间继电器、接触器怎么控制。最后才看PLC端子图和IO表。很多新人一上来就翻PLC程序,根本看不懂,因为缺少全局视野。图纸看明白了,程序里的很多命名才会有落脚点。
第12条:程序命名和注释是给三个月后的自己看的。现场改程序有个定律:你当时觉得“这么简单不用注释”,三个月后大概率会忘记这个点是干嘛的。我见过最崩溃的情况是,前任工程师用M0.0、M0.1这种原始地址写了一屏逻辑,没有符号名也没有注释,后来的人只能逐行猜。至少做到:重要的启动条件加注释,关键输出写清控制对象,程序段用网络标题分段,这些不花时间,但能救命。
第13条:逻辑拆块,别把整个设备写成一个大网络。一段程序如果从上到下几十个网络都搅在一起,出了故障根本没法查。正确做法是把设备拆成功能块:一些网络专门处理手自动切换,一些处理报警,一些处理气缸/电机控制,一些处理模拟量和通讯。这样后面即使换一个工程师接手,也能在半个小时内看懂基本逻辑。
第14条:记住梯形图的扫描顺序。从左到右、从上到下,每一行都是先读输入条件、再执行输出。真正写程序时,很多奇怪现象都和扫描顺序有关:你把复位逻辑放在输出之后,输出可能根本不会关;你在一段程序里改变了某个变量的值,但下一段程序用的还是旧状态。想清楚了再写,比写了再调要快。
第15条:在线修改前保存,修改后再次保存。这条听起来像废话,但每年都有工程师因为不备份交学费。在线监视状态下修改程序,首先要保证电脑里存的是当前版本,改之前保存一次,改完测试没有问题再保存一次,并且打上版本号和日期。等设备出了异常,能帮你找回上一个可用版本的那个人,永远是领导最信任的。
3.2 元器件、传感器和配电常识(第16-20条)
第16条:认识柜子里每一个元器件。接触器、断路器、热继电器、中间继电器、开关电源、变频器、伺服驱动器……每个器件什么作用、触点怎么接、线圈电压是多少,都应该能说出个一二三。应届生最容易在这里露怯:程序写得出来,却不知道交流接触器线圈为什么一定要接在控制回路里,也不知道热继电器复位按钮被按下去之后会有连锁。
第17条:NPN/PNP搞不清楚时,用万用表量。传感器分NPN、PNP,分两线、三线、四线,还分常开、常闭,这是现场出错的重灾区。不要背理论背半天,直接把万用表拿出来,红黑表笔量一下输出信号和电源负之间的电压,一个高电平一个低电平,立刻就能判断。记住一句老话:传感器输出的是信号,不是往PLC输入点里灌电。
第18条:模拟量处理先看量程、分辨率和数值范围。不同PLC的模拟量模块,数值范围可能完全不同,有的是0-27648,有的是0-4000,有的是0-65535。处理模拟量前,先弄清楚传感器量程、模块量程和你程序里要用的工程量范围,不然一个压力信号到了PLC里,显示出来误差大得离谱。PID控制也是一样,先确定反馈量有没有回到物理区间,再去调参数。
第19条:接线端子上的螺丝,决定系统稳定性。很多“偶发性故障”查到最后就是一根线松了。调试的时候,接线端子要按力矩标准拧紧,尤其是振动大的设备,电机、接触器、变频器输出侧,每根线都要检查。另外线鼻子要压牢,屏蔽层要接对,走线槽里的线不能乱拉。这些事看着像电工的活,但自动化工程师不管,出了问题还是你的锅。
第20条:接地问题从设计阶段就要认真对待。PLC电源与动力电源要分开,信号线屏蔽层要单端接地,传感器和变频器共用电源时很可能产生干扰。老工程师说“电网脏了,程序再好也没用”,就是这么个道理。新人在排查通讯异常、模拟量漂移、偶尔误动作时,先想想接地和布线,别一上来就改程序。
4. 第21-30条:现场调试时保命又保设备的经验
调试是自动化工程师的主战场,也是事故高发区。这几条你早晚会用上,提前知道了,总比事后交学费强。
4.1 上电前的检查顺序(第21-25条)
第21条:上电前“一查二断三隔离”。查,是把图纸和实际接线对照一遍,特别是电源线、输出线有没有反接;断,是断开所有负载和输出回路,先让CPU和输入部分单独上电;隔离,是把可能伤人的机械部位隔离起来,挂上“有人工作,禁止操作”的牌子。不要嫌麻烦,大多数触电和烧模块事故,都是因为上电前少看了一眼。
第22条:先空载再带载,先手动再自动。这是过程控制里最不能跳过的顺序。程序写好了,先在没有负载的情况下把所有输出试一遍,确认每个输出的实际动作和程序里的命令一致;然后再接上负载测试。手动模式没有验证完毕之前,永远不要直接切自动。顺序错一次,轻则烧接触器,重则把气缸顶坏。
第23条:手动模式下逐个点动输出。调试新设备时,要在手动模式下把每一个输出点单独点动一次,确认方向、行程、反馈都正确。比如电机正转往哪个方向走,气缸伸出缩回有没有到位信号,阀门开到位和关到位信号是否正常。这个动作看起来笨,但它能快速暴露接线、传感器方向、极限位置的问题,比写一整套逻辑再一起试要安全得多。
第24条:急停回路和门联锁永远放在第一优先级。不管你程序里写得再怎么花哨,急停按钮和门联锁必须保证能在物理层面切断危险动作。这也是非标项目验收时检查的重点。应届生容易犯的一个错误是只在程序里做急停逻辑,但接线回路本身没有真正断开,一旦程序跑飞,急停可能就失效了。
第25条:用万用表确认输入信号“真实存在”。调试时程序里看不到输入信号,很多人的第一反应是去程序里找问题。实际上你应该先拿万用表量PLC输入点与公共端之间的电压,确认信号是真没来,还是被程序逻辑屏蔽了。我处理过太多所谓“PLC坏了”的求助,最后往往就是限位开关坏了、感应铁片偏了、公共线断了一根。
4.2 调试中的监控与排查(第26-30条)
第26条:先看I/O状态,再看程序。排查任何故障,顺序都是:先看硬件指示灯和I/O监控表,确认输入输出状态和实际设备动作是否一致;然后再进程序看逻辑。很多新人一上来就盯着梯形图找问题,找了半天,其实是一个传感器位置偏了。顺序反了,效率会低到离谱。
第27条:PID温度波动大时,先调P再调I。很多新手调PID,上来就动积分,其实方向错了。温度波动大、温差大,先看比例P:P太小,响应慢,温度拉不回来;P太大,容易过冲、震荡。然后才去动积分I,积分时间太小会导致持续超调,太大则消除不了稳态误差。另外每次只改一个参数,记录响应曲线,改完至少跑一个完整加热周期再判断。冷库、烘箱这些大滞后系统更是要有耐心。
第28条:强制功能用完必须恢复。在线监控里的强制是调试利器,也是事故之源。你强制了一个输出让设备暂时动作,问题解决后忘了取消强制,结果交接班时设备自己动起来了,这非常危险。所以养成习惯:强制前先记住原状态,强制后必须在当天恢复,并在程序注释里写明“此处曾有强制操作”。
第29条:出问题先拍照记录,再动手改。现场故障最怕的就是什么记录都没有就一通改,改完了也不知道是哪个改动让故障消失的。我的习惯是:先用手机拍下故障现象、面板报警、程序画面、设备当前状态,再开始排查。有了这些素材,就算自己一时看不出来,也能拿回去问同事;设备真正坏在哪个环节,往往要在事后的照片里才能发现。
第30条:每次改动都要记录版本和原因。哪怕只是改了一个时间参数,也要记录:改了什么、在哪个程序块、为什么改、测试结果如何。可以用一个简单的Excel,也可以用笔记本。三年之后你再回头看,这些记录就是你最值钱的经验库。很多公司没有强制要求,但主动去做的工程师,通常最后会成为那个“什么坑都知道”的人。
5. 第31-40条:通讯、触摸屏与上位机绕不开的坑
现在一台自动化设备如果说自己不做通讯,客户都不好意思签收。但通讯恰恰是很多应届生最怵的部分,也是项目里扯皮最多的地方。先从最常见的协议开始建立框架。
5.1 通讯协议需要建立知识框架(第31-35条)
第31条:Modbus RTU是自动化行业的普通话。不管你是西门子还是三菱、台达,Modbus RTU几乎都会支持。学的时候抓住三个东西:主从结构、寄存器类型、CRC校验。再搞懂功能码03、06、16大概在什么场景用,基本就能和第三方仪表、变频器、传感器对上话了。不要觉得RS485已经是老技术,工业现场还有大量设备在用。
第32条:OPC UA比你想的更重要。从PLC到上位机、MES、云端,OPC UA现在是主流方向。作为现场工程师,你不需要亲手写OPC UA服务器,但至少要会用UaExpert这类工具去连一次设备,看一下点表是怎么来的,能不能通过OPC UA把设备运行状态数据读出来。未来的自动化项目里,数据价值会越来越高,这一课绕不开。
第33条:通讯不上时,按三层排查。物理层、参数层、数据层,一层一层来。物理层查线缆、接头、屏蔽层、终端电阻、RS485的A/B有没有接反;参数层查从站地址、波特率、数据位、校验方式两边是否完全一致;数据层查寄存器地址映射、数据类型、字节顺序。用一个表格把三层列出来,逐项打勾,很多通讯问题十分钟就能定位。
| 层级 | 检查项 | 常见问题 |
|---|---|---|
| 物理层 | 线缆、接头、终端电阻、屏蔽、A/B极性 | 接触不良、接反、距离过长 |
| 参数层 | 站号、波特率、奇偶校验、停止位 | 主从两端参数不一致 |
| 数据层 | 寄存器地址、功能码、字节序、数据类型 | 映射错误、高低字节颠倒 |
第34条:和变频器通讯先查手册再猜。ABB、西门子、森兰等变频器和PLC通讯时,控制字、状态字、频率给定格式都不一样。比如有的用百分数,有的用十六进制,有的频率对应0-16384。新人最容易犯的错是拿上一家的程序直接套,结果电机要么不动、要么速度完全不对。先看变频器手册里的控制数据格式,再对着PLC程序改。
第35条:先打通一条链路,再谈平台。做数控机床、传感器、冷库这类数据采集,千万不要一上来就搭数据库和上位机界面。先把传感器/设备到PLC的通讯打通,再PLC到网关或OPC UA服务器打通,然后读一条真实数据出来,确认数值对了,最后才做数据库和界面。链路不通,上面做得再漂亮都是空中楼阁。
5.2 HMI开发的实用建议(第36-40条)
第36条:先画画面草图,再写驱动和变量。很多新人做触摸屏上来就建变量、拖控件,最后画面一团乱。正确做法是在纸上先画:主画面、手动画面、参数画面、报警画面、历史趋势分别放哪些内容、按钮按下去跳转到哪一页。用户和客户能看懂图,才能在你浪费大量时间之前及时纠偏。
第37条:报警文本、按钮防重连,都是决定设备好不好用的细节。报警信息不是随便写“设备故障”,要写清楚“2号料仓料位低”“伺服驱动器过载”,最好还能记录发生时间。按钮要做防重复触发,避免操作工手指一抖连续按两次,气缸来回动作。这些细节不写进程序也能运行,但写好了,客户会觉得你们设备特别“正经”。
第38条:建立PLC与HMI统一的变量点表。不要等到做画面时临时在触摸屏里建变量,而要把PLC侧的IO点、内部变量、HMI侧的画面变量统一整理成一张点表。PLC和HMI的地址、数据类型一定要对上。很多“触摸屏显示数据不对”的问题,就是因为两边变量地址差了一个位或一个字。
第39条:趋势、配方、用户权限,这些功能要提前和客户确认。做项目最怕的是客户验收时才说“我想要历史趋势”,这时候你再改HMI工程会很痛苦。方案阶段就问清楚:要不要配方功能,要不要分级权限,报警要不要推送到微信、数据库。这些功能最好在画面前就和需求绑定,而不是最后期临时加。
第40条:下载HMI程序前,先备份原工程并确认屏幕型号。触摸屏型号不一样,工程文件不一定兼容。下载之前,先备份当前的原工程,确认串口、网口的通讯参数,确认PLC型号和地址设置。很多“连不上”的问题,最后一看是触摸屏的IP和PLC不在同一个网段,或者COM口协议选错。改完程序还要记得“编译后下载”,不要只改没编译就下线。
6. 第41-50条:往深处走,往宽处看
前40条更多是基础和工作习惯,后面这10条更像方向建议。自动化行业的天花板很高,千万别把自己定位成“写PLC的”。你需要从写程序的人慢慢变成做系统的人。
6.1 从写程序到做系统(第41-45条)
第41条:会逻辑只是入门,系统设计才是进阶。一个项目真正值钱的环节是前期的IO点表设计、电气图纸审核、安全回路规划、工艺节拍计算,而不是后面写梯形图那几天。新人如果有机会参与方案评审,一定要去,哪怕是旁听。你会发现老工程师每次争论的都不是某一条指令,而是“如果这个气缸中途卡住,系统应该怎么退出”。
第42条:模块化编程比炫技更重要。把传动控制、阀组控制、报警处理、模拟量转换、手自动切换这些经常重复的逻辑,做成标准功能块,新项目里直接调用,这才是效率倍增器。不要每次拿到新设备都从零开始写。程序员的最高水平不是代码写得巧,而是写完之后别人也能很快修改。
第43条:主动往数控机床、机器人、视觉方向靠。PLC只是控制大脑,真正组成自动化产线的是机械、伺服、机器视觉和各类专机。懂一点数控系统的基本参数,能看懂机械臂的协同动作时序,知道相机怎么标定,你的身价会完全不一样。我见过很多工程师,PLC很熟,但只要牵涉到机器人和视觉就躲在后面,这很可惜。
第44条:懂一点自动化测试和运维工具会有优势。这几年产线越来越信息化,自动化测试框架(比如pytest)、自动化运维工具(比如ansible)、脚本语言Python,正在进入设备调试和产线数据领域。你不一定拿来当主业,但会一点,就能在搭建设备数据采集和产线自检工具时派上大用场。以后不会点脚本的自动化工程师,会越来越吃亏。
第45条:英语没那么可怕,能查资料就够了。PLC手册、变频器手册、很多国际标准都是英文。你不需要口语多流利,能做到照着单词表读懂一篇手册里的参数说明、故障码含义就够了。很多中文翻译质量不高,直接看原文反而理解得更准确,这对解决现场疑难问题帮助很大。
6.2 非标项目、数据与个人沉淀(第46-50条)
第46条:接受非标项目“改”是常态。非标项目的特点就是需求一直变。客户今天说加一个报警,明天说改一个流程,这很正常。你的程序架构要留出余地:多留空余IO点,多写可配置参数,少写死逻辑。被改了也不要情绪化,改一次记录一次,改得很频繁时,反而说明你在帮助客户把需求真正定义清楚。
第47条:小项目也要当成产品做。别以为红绿灯练习、抢答器、冷库监控这种小项目随便写写就行。越小的项目,越能锻炼完整交付意识:IO表、注释、图纸、测试记录、使用说明,一样不缺。小事做利索了,别人观察你的时候,看到的不是程序好不好,而是这个人靠不靠谱。
第48条:数据采集是产线工程师的基本功,不是IT部门的事。传感器把物理量变成信号,PLC把信号变成数据,然后要经过网关、OPC UA、数据库,最后才能到MES或者大屏。这条链路里的每一环,产线工程师都应该清楚。碰到客户要设备运行状态数据时,不要一句“这个找IT”,你才是最能讲清楚数据源头的那个人。
第49条:用设备运行状态数据反推设计缺陷。如果产线已经有了报警记录、停机统计,要主动去看:哪个设备报警最多?哪个故障时长最长?是不是程序设计时漏了某个互锁?比如OEE上不去,可能不是设备机械不行,而是某个传感器选型太靠近热源,频繁误报。数据会说话,你要学会听。
第50条:每天记录一条项目笔记,这是你和别人拉开差距的地方。老工程师和新工程师最大的区别,不是工作年限,而是经验库的大小。我自己的习惯是随身带个小本子或者手机备忘录,遇到任何现象就记一行:故障现象、原因、处理方式。不需要长,三五行就行。坚持一两年,你会发现同样的问题在你这里解决得越来越快,很多别人觉得奇怪的现象,你早就见过。
7. 后续40条会聊什么,以及一个坚持更新的习惯
7.1 后半段更新计划
前面这50条只是90条清单的上半场。剩下40条,我会按每天更新三条左右的节奏继续整理,涉及的主题大致包括:完整项目从合同到验收的全流程、PLC选型与IO点表设计、第三方设备调试的常见坑、上位机和MES对接、自动化工程师怎么谈薪和跳槽,以及我在现场踩过的那几个差点出事故的经典案例。更新顺序不完全是技术难度,更多是按一个新人从入职到挑大梁的时间线来排的。
7.2 让经验自动积累的小习惯
最后分享一个能支撑我把这件事做下去的习惯:我平时会直接在手机备忘录里记现场碎片,某台变频器的故障码、某个传感器型号的坑、某次调试里通讯连不上的原因,每条就三四行,攒到一定量再分类整理。很多条经验看着是“写出来的”,其实就是从这些碎片里攒出来的。你刚入行也可以试试这个办法,不用写长篇大论,先记在本子上,坚持两三年,再回头看,那些碎片早就自动连成了一张知识地图。