12年前我拖着行李箱进厂报到,第一周连继电器触点的常开常闭都要翻书确认。我记得很清楚,带我的老师傅让我照着端子图把一排排蓝色端子全部核对一遍,我当时心里还在嘀咕:我一个搞程序的,干这个干嘛?后来读了这行越久越明白,那一步不是白走的。现在自己也带了七八届应届新人,很多问题年年重演:有人死磕指令却看不懂图纸,有人程序写得漂亮但设备一响就抓瞎,有人技术不差却在第一份工作里白白浪费三年。
这篇东西是我给自己做的一次系统复盘,把12年里值得说的事拆成90条经验,按每天几更的方式逐步放出来。今天是第一批,聚焦45条:行业认知、电气基本功、PLC编程思路、现场调试、职业规划。每一条背后不是我编的鸡汤,而是现实中踩过的坑,或者是看着新人掉进去后总结出来的规避办法。你可以把它当成一份“如果当年有人早点告诉我”的入坑须知。
1. 入行先识行:自动化行业真实的岗位分工和项目流程
1.1 三类公司,三种完全不同的职业轨迹
经验1:先认清你入职的是设备商、集成商,还是终端工厂。很多应届生投简历时只看“自动化工程师”五个字,真进去之后才发现,这五个字在不同公司代表完全不同的工作半径。设备商的PLC工程师主要围绕单台设备,比如灌装机、贴标机、机器人工作站,做逻辑控制、人机交互和单机调试,项目周期短则一两周、长则一两个月,爆发力强但产品相对固定。集成商要整合整条生产线,把机械、电气、机器人、视觉、上位系统全部揉到一起,工作复杂度高,出差修线是常态,成长速度也是三类公司里最快的。终端工厂的设备工程师则主要负责产线日常稳定运行,不用总出差,但对故障响应速度、维修质量和跨部门沟通能力要求极高,技术深度容易被闲置,看个人怎么主动找活儿干。
经验2:不要用“学东西快”来选第一家公司,要用“能不能顶到现场”来选。我见过不少应届生,第一份工作去了很清闲的甲方,三年后写个小程序手都生;也见过另一批人,刚毕业就被集成商丢到现场,虽然被客户骂哭过,但两年后已经能独立负责一个小项目。第一份工作的环境,决定了你形成工程直觉的速度。
1.2 一个自动化项目,脑子里要有全流程地图
经验3:把项目的生命周期背下来:方案设计、电气设计、采购装配、厂内调试、现场安装、联动调试、试生产、验收、售后。刚入职的新人最容易犯的毛病是只盯着自己的工位,比如只顾写程序,不关心图纸改没改、传感器装没装、气缸电磁阀有没有接地。可自动化这个行当,失之毫厘谬以千里,任何一个环节掉链子,最后都会在现场爆发。所以哪怕你只负责一个模块,也要主动搞清楚整个流程中每个环节的输入和输出是什么。
经验4:设备不是“写出来的”,是“装出来、调出来、磨出来的”。很多新人对PLC有近乎浪漫的想象,觉得核心技术就是程序。但一台设备从图纸变成能稳定跑节拍的机器,中间牵扯到电柜布局、线槽走线、气路设计、传感器安装位置、机械精度配合。程序只是把这一切结构化地串联起来。越早接受这一点,你就越不会在现场显得格格不入。
经验5:学会用“成本、交期、质量”三个词重新审视一切技术方案。在学校里你追求的是“技术上正确”,在公司里追求的是“在限定成本、限定交期内让系统稳定跑起来”。一套方案再好,如果超预算两个月,也不会被采纳;一个程序写得再漂亮,如果因为维护困难导致售后成本飙升,同样不合格。这个思维转换越早,你越像真正的工程师。
经验6:前三个月,多问“为什么这么设计”,少说“我觉得可以改”。新人最容易犯的错是拿着书上的标准去套现场的设计,然后觉得这里也不合理、那里也落后。但很多看似别扭的设计背后,是历史遗留问题、备件通用性、操作工习惯甚至安全考虑的妥协。先理解再说优化,否则你把别人的设备改坏了都不知道是怎么死的。
1.3 应届生头半年,真正的必修课不在书本里
带上手的新人,我通常只安排三件事:抄图纸、背IO表、跟线打杂。这些事情看似简单,其实是在训练“设备语言”。你不可能一上来就听懂一台复杂设备在说什么,必须先认识它的每一个字母。抄图纸让你理解电气回路怎么走;背IO表让你知道哪个输入对应哪个传感器、哪个输出控制哪个执行机构;跟线打杂则让你亲眼看到信号从物理世界进入程序世界的全过程。这三件事做扎实了,后面学什么都快。
2. 电气基本功:图纸、接线和信号,才是PLC的“母语”
2.1 别急着敲梯形图,先能独立读懂一张原理图
经验7:PLC不是编程语言问题,而是电气逻辑问题。很多应届生拿过C语言或Python的底子来学PLC,上来就纠结指令怎么写,却不愿意花一周时间读电气原理图。我见过最有挫败感的场景:新人写了个自锁逻辑,自信满满,结果上电后发现根本没有输出,排查半天才发现负载回路的继电器线圈根本不受PLC输出点控制。为什么?因为图纸上输出点是接到了接触器线圈,而他用的是继电器线圈的原理去理解。读图是穷人版的“现场模拟”,看不懂图,你连自己写的东西接到哪去了都不知道。
经验8:至少看得懂三类图:电气原理图、端子接线图、IO分配表。这三样东西是PLC工程师的天天用到的地图。原理图告诉你设备的动力回路和控制回路;端子图标明信号从哪里来、到哪里去;IO表把物理信号和程序地址对应起来。日常排查的百分之八十问题,只要把这三张图摊开,基本上已经能锁定范围了。
经验9:公共端的接法是一票否决项。漏型输入、源型输入,NPN、PNP传感器,这些概念新人容易搞混。搞混的直接后果就是输入信号死活不通,或者更危险的是直接烧模块。我说句难听的,公共端接错这种错误,资深师傅只会给一次机会,第二次真的会质疑你是不是不适合干这行。
2.2 传感器和信号线:大多数“灵异现象”都出生在这里
经验10:所有稳定的程序,前提是有一个稳定的现场信号。新人最喜欢怀疑程序,老工程师先怀疑传感器。设备抖动、信号闪断、偶发报警,多半不是程序逻辑问题,而是光电传感器对射面脏了、接近开关距离没调好、编码器屏蔽层接地接触不良、接线端子松了。排查顺序应该是:先看物理信号,再看IO表映射,最后才打开程序查逻辑。
经验11:模拟量信号线是全厂最容易被干扰的“病人”。4-20mA信号看着简单,但一旦和动力线走同一个线槽,就可能出现“今天正常明天飘几毫安”的现象。处理模拟量问题的思路,通常是先检查屏蔽层单端接地、信号线远离变频器动力线、变送器供电是否稳定、PLC模拟量模块量程是否设置正确。大部分模拟量漂移问题,到最后都发现不在程序里,而是在布线里。
经验12:备用通道和备用点,永远不要嫌多。画图纸、排IO表的时候,一定要预留10%-20%的数字量输入输出点和模拟量通道。现场最尴尬的事情不是程序报错,而是设备调试到一半,甲方突然说“我们还要加一个传感器”,结果发现所有点位都用完了,只能飞线改柜子。预留这一手,能让你在后期省下大把时间和面子。
2.3 万用表、接地与安全底线
经验13:万用表才是最核心的“编程工具”。测电压、测通断、测电阻、测电流,每一个PLC工程师都应该闭着眼睛操作。新人一定要养成习惯:传感器没信号,先量是否有24V供电;输出没动作,先量输出点对公共端是否导通;通讯不上,先量网线和屏蔽层。多量一次表,少猜一次程序。
经验14:电气安全不是口号,是具体的动作清单。上电前查线、断电后挂牌、检修前验电、更换模块前关电拉开熔断器。这些动作看着繁琐,但在自动化现场,一次带电拔插就可能让你赔掉几个月工资,甚至在工业现场出事是连后悔机会都没有的。带你的师傅可能不会天天唠叨,但这些底线你得自己守住。
3. PLC编程进阶路线:从语法、扫描到工艺流程的思维切换
3.1 扫描周期,是理解PLC一切行为的钥匙
经验15:扫描周期不是考试概念,而是排障的解剖刀。PLC的执行机制是一条程序自上而下循环扫描,但新手往往用面向过程语言的习惯去理解它。比如有人把输出赋值写在程序最前面,然后后面还有同地址输出,结果发现输出状态和预想完全不一样。如果理解了扫描顺序,就明白“在上面的输出会被下面的逻辑再覆盖”不是玄学,而是机制。
经验16:自锁、互锁、延时,越是老掉牙的逻辑,越要滚瓜烂熟。电机启动自锁、正反转互锁、气缸到位延时,经典逻辑看起来简单,但现场大量的安全问题和程序bug反而不是复杂算法,而是这些基础逻辑的细节处理。比如互锁做得不彻底,正转和反转两个接触器同时吸合,轻则跳闸,重则机械碰撞损坏。写这类逻辑时,脑子里的状态优先级一定要理清楚:安全停机永远最高优先级。
3.2 程序架构:从能跑,到跑不乱
经验17:变量命名规范,是你写给未来的自己的信。我看到新人程序里出现temp1、v1、D0这种名字就头疼。程序规模小的时候怎么命名都无所谓,一旦设备有几百个点位、十几个工位,没有语义化的命名就是给自己埋雷。我的习惯是:DI_工位_信号含义,DO_工位_执行器含义,AI_工位_传感器含义。写清楚前缀,后面排查的时候能省一半时间。
经验18:程序架构一定要分层。不要把全设备的逻辑揉进一个OB块里。合理的结构是:总流程层负责调度状态机;工位层负责每个工位的动作逻辑;设备层负责电机、气缸、夹紧器等单一执行机构的封装;再往下是报警、参数管理、手动操作等公共模块。分层之后,查问题就是逐层缩圈,而不是在一个几百行的块里找一根失踪的“线”。
经验19:手动/自动切换是调试期的保命功能。设备在试产期一定会遇到信号错乱、抓手误动作等问题,如果操作员没有办法手动控制每一个执行机构,调试工作将寸步难行。所以写程序时一定要把手动模式放在绝对优先级,保证任何自动状态下切回手动,所有程序都让位给人手控制,这是工程师的基本素养。
3.3 模拟量、PID和报警:别把复杂系统当赋值题
经验20:模拟量处理要写成通用功能块。不要每次用到模拟量就重写一遍量程转换、滤波、超限报警的代码。把这套逻辑封装成一个带参数的功能块,输入原始值、量程上下限,输出工程量、超限信号,这样整个项目的可维护性会直线上升。我见过老工程师的程序之所以贵,不是因为他指令背得多,而是他把大多数逻辑都做成了可以反复调用的“积木”。
经验21:PID不是万能药,先看被控对象再决定要不要上场。很多新人一听到温度波动就上PID,结果参数调来调去,系统疯狂振荡。真实工程里,先要确认执行机构是否线性、采样时间是否匹配、死区设没设、正反作用选没选对。手动整定PID时,我给出的建议是:先把P放在一个很小的值,逐步增大看响应,有振荡了再减半;然后加I消除稳态误差;最后才动D克服超调。任何直接丢一组经验参数上去的做法,在现场都容易翻车。
经验22:报警分三级:提示、警告、停机。新人容易把报警做得非黑即白——只要传感器异常就停机,结果设备动不动就躺尸。合理的报警设计是分级处理的:不影响生产的异常可以只提示;可能影响质量的发警告并降速;真正危及设备或人员安全的才立即停机。瞒报不行,滥报更不行。
3.4 版本管理与注释,是给未来同事的三封情书
经验23:程序修改必须留档,甚至比改程序本身还重要。我见过不止一次,现场调了半天找到问题了,改完程序设备好了,结果三天后同样的故障又出现,大家翻了半天都不知道当时改了哪里。我现在要求团队所有项目必须用版本管理工具,每次修改写明日期、改动原因、影响范围。项目完成时,交付的不仅是一套能跑的程序,还包括能让人看懂为什么这么写的修改记录。
经验24:注释不是写给别人看的,是写给三个月后的自己看的。有些新人觉得注释多显得不专业,其实恰恰相反。一个逻辑复杂的设备,没有注释,三个月后连重构它的人都一脸茫然。注释要写“为什么”,不是写“是什么”。比如“这里延时2秒是为了等待气缸完全到位”,而不是“延时2秒”,两种注释在故障排查时的价值完全不同。
4. 现场调试与验收:工资差距基本在这里拉开
4.1 调试的本质,是异常排查
经验25:你在办公室里写的程序只是半成品,调试才是让它真正活过来的过程。有些应届生觉得“程序写完就大功告成”,这是学生思维。到了现场你会发现,传感器少了一个、气缸行程不到位、机械位置偏了、变频器参数被前一个调试员改过,一切都和你图纸上设想的“理想世界”不一样。成熟工程师和新人最大的差距,不在一分钟内写出多少指令,而在面对“为什么这里和想象中不一样”时的排查路径是否清晰。
4.2 安全上电五步:每个人都要严格执行
怎么确保一个现场从头到尾都不出事?我教给团队的流程是五步,任何人都必须严格执行,没有例外。第一步,断电接线和线路复核,确认每一个端子没压线皮、没短接、没有反接;第二步,不上电手动盘设备,确认没有机械卡滞和干涉;第三步,分回路送电,先动力后控制,同时观察是否有异响、异味;第四步,信号确认,逐点核对IO状态和现场传感器动作一致;第五步,才轮到手动单动、半自动、自动逐级投入。这套流程听起来像初中课本,但现场绝大多数安全事故和调试返工,都是跳步甩步导致的。
经验26:信号不对,先查源头,再查程序。调试时最怕的就是一头扎进程序里。信号没通,不要先怀疑IO映射写错了。正确的路径是:万用表量现场信号有没有到端子,再到扩展模块指示灯看有没有亮,再用软件监控看地址状态有没有变。每排查一级,就把范围缩小一级,而不是原地打转。
4.3 试产期问题怎么复盘:记录,记录,记录
经验27:试产期每分钟都金贵,但一定要留出时间记录。试生产时设备随机停机,是最折磨人的。大多数新人的做法是机器一停就跑过去处理,处理完继续跑,下一次停又跑,如此反复耗费三天。老工程师的做法是准备一本A4纸,每次停机记录:什么时间、什么工位、什么现象、当时产线跑到哪一步、操作工正在干什么。记录十几条之后,规律往往会自己浮出来——要么是同一个传感器在某个角度遮挡时误动作,要么是某个工位的时序在特定节拍下存在冲突。没有记录,你在现场就是永远的救火员。
经验28:和机械、工艺、操作工打交道,永远先听再判断。现场出问题,机械说是程序问题,工艺说是机械问题,操作工说“我不知道,我就是按了按钮它就不动了”。新人最容易上来就反驳。我的做法是先把各方描述记录下来,到场自己看一遍状态,再判断谁的话可信。尊重现场每一种说法,因为它很可能折射出真实的一个侧切面。
4.4 验收与交付:光荣的收尾比惨烈的冲锋更重要
经验29:验收不是陪甲方签个字,而是主动准备一场考试。到验收阶段,不要被动等客户提问题。自己先组织内部检查:点检表、程序注释、图纸版本、备件清单、操作手册,逐项核对。我见过很多项目,功能实现得挺好,最后因为交付文件缺东少西被客户拿捏,拖一个月验收款。文件管理能力和技术能力同样重要,你收拾得越干净,项目收尾越顺利。
经验30:每个项目结束,花半天写一份个人复盘。不是项目总结那种冠冕堂皇的PPT,而是写给自己的:这个项目我遇到了哪些问题、是怎么解决的、哪些地方设计之初就可以避免、下次同类项目要提前准备什么。这份文件比年终总结更值钱,它才是你经验的真实存量。
5. 职业选择、行业赛道与五年节奏感
5.1 不要做某品牌PLC的“忠实粉丝”
经验31:品牌只是一种语言,工程思维才是能力。很多新人第一份工作用惯了某个PLC平台,就以为只要把这家玩熟就高枕无忧。但甲方不关心你用哪家PLC,它只关心设备稳不稳定、维护方不方便。我做了这么多年,欧系、日系、国产品牌都在不同项目里用过。换平台并不可怕,真正可迁移的能力是:电气回路、传感器选型、工艺流程拆解、状态机设计、故障排查方法论。这些在任何品牌的PLC上都成立。
经验32:某个品牌你学得再溜,也抗不住行业没落。技术人最大的中年危机不是技术更新太快,而是你所在行业收缩了,你再熟悉某款PLC,也找不到几个新增岗位。所以职业规划的重点,应当是围绕“行业需求”而非“某个厂商的生态”来积累能力。
5.2 行业赛道怎么选
经验33:尽量去一种“技术迭代快、产能扩张猛”的行业,避开十年不变的老产线。行业增速带来项目数量、技术要求和人员流动,你在里面才有机会接触新工艺、新设备、新问题。不过也要提个醒:高景气行业往往伴随加班和出差强度大,要提前做好心理准备。这不是劝你只追风口,而是说应届生头五年尽量让自己暴露在足够复杂的工程问题中。
经验34:选公司时,看看这家公司有没有真正的“技术老炮”。面试时不要只关心工资,多问问:团队里干过十年以上的人有多少?项目里有没有师傅愿意带你?这决定了你头两年是朝一个方向飞速成长,还是在一个小团队里自生自灭。
5.3 给应届生的五年节奏感
经验35:头两年,把“学会干活”放在第一位。薪水差几千块,五年后回头看,根本不算什么。真正拉开差距的是:你有没有在头两年里独立做过完整的小项目,有没有把现场解决问题的次数积累到一百次以上。技术工种没有捷径,就是靠一个一个问题喂出来的。
经验36:第三年,从技术走向“技术加管理”。开始学着拆任务、带新人、给项目排计划。不一定有头衔,但要把自己放在“一个模块的负责人”位置上去思考。学会估算工时、识别风险、向上汇报,这些和指令、伺服一样重要。
经验37:第四到第五年,开始琢磨“项目成本”这门课。一个设备从方案到验收,人工费多少、材料费多少、售后质保预留多少、利润从哪里来。你不需要成天算账,但要懂这些数字如何决定你的技术选择。真正高级的工程师,不是在复杂和昂贵之间选一个,而是在“够用、稳定、好维护”里找到最佳平衡。
经验38:别为了涨薪频繁跳槽,除非现状已经学不到东西。前五年如果每一年半就换一次,你每次都要重新适应环境、建立信任、积累项目背景,长期来看非常吃亏。跳槽要带着“作品清单”和“可验证的问题解决能力”去跳,而不是带着简历模板去跳。
经验39:培养“文档习惯”,这是你从技术工变成技术专家的分水岭。写调试记录、写故障备忘录、写项目复盘,很多新人觉得这些都是形式主义。但在甲方眼里,一份清晰的文档,比一次高超的排故更能建立信任。而在你自己眼里,写下来的过程就是理清思路的过程。
经验40到45,说说那些“看不见的能力”:
经验40:学会向上沟通。现场无法解决或需要协调资源时,不要只说“设备坏了,搞不定”,要向领导说清楚:卡在哪个环节、需要什么资源、需要多久、有什么替代方案。带着选项去汇报,而不是带着问题去要答案。
经验41:学会在客户面前给上司留面子,回到公司内部再讨论决定。这是工程交付的潜规则,也是职业素养。现场有分歧时,可以先说“这个方案我们回去再确认一下”,而不是和客户当场争到面红耳赤。
经验42:每隔一段时间,主动去学一种“看上去用不上的技能”。可能是基础的数据分析、可能是更规范的结构文本编程、也可能是某一款新的总线诊断工具。这些技能可能在下一个项目里就会变成破局的利器。
经验43:建立“设备-运动-工艺”的联动认知。不要只钻电气和控制,至少理解机械结构如何影响节拍,运动控制(伺服、变频、步进)如何配合逻辑控制,工艺参数如何影响良率。这三个维度拼起来,才是一个自动化工程师的完整视野。
经验44:学会管理情绪,尤其在连续加班、问题久攻不下的深夜。自动化调试经常是白天打怪、晚上复盘、第二天继续打怪。你越着急,越容易漏看最简单的信号;你越稳定,团队越会把你当成定海神针。
经验45:始终保持对“为什么”的好奇心。这一条放在45,是因为它能救你于所有以上套路失效之时。设备为什么在这里抖?为什么间隔几分钟就报一次相同故障?为什么同样的程序在这条线稳定、在另一条线就抽风?每一个“为什么”背后,都可能藏着一个新的知识领域。工程师和操作工最本质的区别,不是谁更熟练,而是谁更愿意追问原因。
这45条就是我开头说的第一批内容。别急着把它们全部背下来,先挑几条对照你现在的处境去检验。自动化这一行,道不远人,所有的经验归根到底都指向两件事:把现场看清楚,把系统想明白。剩下的,我们下一批接着聊。