
干了十多年自动化现场摸爬滚打从继电器柜一路做到总线通讯见过三菱的绿油油板子也拆过西门子的老伙计。一直想把这些年关于PLC的见闻和思考整理出来正好借着这条热搜词列表聊聊我眼中这个行业。PLC这东西乍一看是个不起眼的铁盒子但背后的门道一点不比互联网那套少。这篇东西不写教科书式的原理全是我个人在项目现场的真实见闻、踩过的坑和总结出来的经验希望能给刚入行的朋友一些参照也能和老师傅们交流一下。1. 入行这些年PLC圈子里最颠覆认知的几个瞬间1.1 都什么年代了还有人问PLC怎么学先说个很有意思的现象。现在互联网行业动不动就月薪三万而PLC相关的最热搜索词里“plc编程入门基础知识”和“plc编程入门教程”常年霸榜。这侧面说明一个现实制造业缺人缺得厉害。很多年轻人觉得PLC是传统行业没前途但真进了这行才发现会写梯形图、能调通通讯的工程师去哪个厂都有人抢。我见过太多从电工转过来的同行。他们一开始连电脑都不太会用更别说编程软件。但你别说电工出身的人搞PLC有个天然优势——看得懂电气原理图。梯形图这玩意儿说穿了就是把继电器电路“翻译”成程序。一个接触器自锁电路老电工闭着眼都能画出来那么对应到PLC里就是线圈输出、常开触点反馈、自锁保持。所以我的建议一直是学PLC别一上来就抱着手册啃先把你手头的继电器控制柜吃透再去看梯形图一通百通。还有不少人问现在学PLC还学梯形图是不是过时了我的看法是梯形图不仅没过时在维护领域还会活很久。现场设备出了故障操作工、维修工、电工上上下下都指着梯形图看状态。你上去给他整一段结构化文本他看不懂也接受不了。所以别信“梯形图已死”的鬼话想入行梯形图是基本功中的基本功。1.2 软件下载与面板映像第一道劝退门槛再说一个热搜词里特别真实的存在“plc软件下载”和“plc由于缺少面板映像,下载失败。请安装缺少的面板映像。请参阅文档。”这俩词放在一起简直就是新手劝退组合拳。编程软件这个事儿几乎是每个PLC新手遇到的第一座大山。三菱的要装GX Works2或者GX Developer西门子的要装博途或者Step7信捷的要装XDPPro汇川的要装AutoShop。这些软件动不动几个G安装过程还有各种环境依赖。我记得第一次装博途足足折腾了一下午不是缺.Net Framework就是报错数据库实例搞得人想砸电脑。至于面板映像缺失这个问题我太熟了。用博途的朋友肯定经历过触摸屏组态的时候软件自带的WinCC版本和面板固件版本对不上下载的时候直接给你弹个红叉。解决思路其实不复杂要么在博途的“支持包管理”里给你对应的面板补装映像文件要么直接把触摸屏的固件升级到和软件匹配的版本。但很多新手的问题在于他压根不知道“面板映像”这个术语搜了半天也搜不明白。这也是我写这篇见闻的原因之一——很多时候你缺少的不是能力而是有没有人告诉你那个“术语”到底是什么意思。2. 三菱、西门子与国产PLC一场横跨三十年的品牌生态见闻2.1 三菱旧设备维修市场的常青树与软元件那些事先聊三菱。为什么先说它因为热搜词里“三菱plc下载线制作”、“三菱plc软元件一览表”、“三菱plc主从站通信程序”这几个词是常客。三菱在国内的存量太大了尤其是珠三角、长三角的工厂十几年前的设备大概率是三菱FX系列。关于三菱我最想聊的是“软元件”这个概念。很多新手刚接触三菱的时候会被X、Y、M、S、D、T、C这些字母搞晕。其实这就是三菱对存储区的一种叫法软元件含义类比X输入继电器接在PLC输入端子的外部按钮、传感器的状态Y输出继电器控制外部接触器、电磁阀、指示灯的输出点M内部继电器程序内部用的中间变量相当于中间继电器S状态继电器步进顺控里用的状态号D数据寄存器存放数值的变量单元相当于存储数据的罐子T定时器延时通断的计时器C计数器数脉冲个数的计数器我记得带过一个徒弟他总搞不清M和D的区别。我说你就这么理解M是灯的开关只有通和断两种状态D是一个水杯可以装不同量的水。他一听就明白了。软元件一览表这种东西不用背用多了自然就记住了。关键是你得知道每个型号的PLC软元件数量是有限额的超了会报错。至于三菱下载线的自制这事儿现在其实已经不是主流了。早年间FX系列的编程电缆相对贵很多老师傅自己照着图纸用MAX232芯片焊一条。现在USB-SC09-FX这种线也就几十块钱没必要折腾。但这类热搜词的存在说明二手市场、老设备维修市场依然活跃很多小作坊还在用老掉牙的FX1N干活这也是一种特殊的生态。2.2 西门子从S7-200到博途生态壁垒越来越厚再看西门子。热搜词里“西门子plc”、“西门子plc vd200对应intouch上位地址”、“西门子plc编程入门”都是热门。西门子在大型项目、流程工业、汽车产线上地位稳固博途TIA Portal把PLC、触摸屏、变频器、伺服全部整合在一个工程环境里集成度确实高。有些用三菱习惯的人一开始转西门子最大的不习惯就是地址表达方式。三菱是X、Y、M、D这种字母加数字西门子S7-200/300/1200用I、Q、M、DB而VD200这种地址看清楚是V区加数据类型加偏移量。有个经典问题VD200到底对应Intouch上位机的什么地址其实这不是一个固定的对应关系而是取决于你在组态软件里怎么配置驱动。以Intouch和S7-200通过OPC或Modbus通讯为例PLC地址数据类型Intouch访问名配置VD200浮点或双字如果是Modbus需要映射到保持寄存器区再按字高低字节转换VW200字对应Modbus保持寄存器地址 VW偏移量 40001基准VB200字节视驱动映射规则可能对应一个8位无符号整数这个映射关系是最容易出错的环节。实操中我见过很多次上位机读上来的数值和触摸屏完全不一致其实不是通讯断了是寄存器映射的时候没有做字节顺序转换。Modbus RTU和Modbus TCP有Big-Endian和Little-Endian之分西门子默认的数据存储是高字节在前有些上位机驱动默认低字节在前不设置好读单个字没问题读双字、浮点数就全是乱的。这一点想提醒所有做上位机集成的新手遇到数值异常先怀疑字节序。2.3 信捷、汇川、傲拓国产PLC的进步与差距热搜词里出现频率极高的还有信捷和汇川偶尔还有傲拓。这几位是国产PLC里面的活跃分子。信捷的小型PLC性价比高在包装机械、木工机械领域出货量很猛。汇川则是在伺服和运动控制上积累深这两年搞出来的AM系列配合EtherCAT总线直接对标西门子1500和倍福。我实际用下来国产品牌和西门子、三菱相比最大的差距其实不在硬件稳定性——现在的国产PLC硬件质量真不差。差距主要体现在工程软件的易用性、帮助文档的完善程度和生态资源的丰富度上。以信捷XDPPro为例功能上该有的都有指令也齐全但有些交互细节确实还能优化。比如搜索“信捷plc通信配置怎么设置”这种问题的频率特别高说明软件界面的引导性还不够直观。汇川AutoShop同理它上手已经比早期的国产软件好很多但你要是能在软件里直接弹出上下文帮助而不是让人到处翻手册口碑会更好。傲拓这个品牌可能很多人没听说过属于工业中端市场做冗余PLC的在水处理、电力行业有一些应用。它的编程软件相对小众搜“傲拓plc编程软件”的多是在特定行业项目中被甲方指定使用的人。这一块我的见闻是小众品牌不是不能选而是要考虑后续维护的便利性。真到了现场出故障工程师连编程软件都没装过那就很被动了。3. 让PLC开口说话与相机、变频器、上位机的通讯实战见闻3.1 海康相机与信捷PLC的Modbus TCP对接流程热搜词里有个特别具体的问题“配置信捷plc(作为modbus tcp服务器)与海康相机进行通讯”。这个问题背后是机器视觉检测项目的典型场景相机拍照判断OK/NGPLC根据结果决定气缸动作还是报警停机。我拆解一下这个对接流程。海康的工业相机尤其是机器人引导、视觉定位类的一般通过SDK跟PC通信比较多。但也有直接走Modbus TCP的场合——PLC做主站相机做从站服务器PLC直接读写相机寄存器区去判断状态。步骤大概是这样信捷PLC这边先把网口配置好固定IP比如192.168.0.10子网掩码255.255.255.0。在XDPPro里面选择Modbus TCP功能把PLC设置为客户端主站模式。海康相机配置为服务器端从站模型是你自己定的。比如0号寄存器存的是状态字1号寄存器存的是检测结果。PLC通过MBUS指令或者功能块去读写这些寄存器。读回来之后判断数值比如读到1就认为是NG然后驱动Y0输出停机或报警。这个过程最容易出问题的点是IP网段不一致和寄存器地址偏移。Modbus协议里的地址是1-based而你在相机配置工具里可能看到的是0-based差一个数读出来的数据全不对而且不报错。这种问题在现场排查起来特别费劲因为通讯状态明明是通的。3.2 康耐视Insight相机与西门子PLC的Profinet通讯再聊一个更有技术含量的话题“康耐视insight相机与西门子plc关于profinet通讯说明”。康耐视Insight系列相机很多都内置了Profinet从站功能可以直接挂到西门子的Profinet总线上成为PLC的一个I/O设备。这种集成方式的好处是什么是PLC可以直接把相机当做一个分布式IO来用。相机检测的结果会映射到PLC的I区或者Q区。你在博途里面做硬件组态把相机当成一个GSDML文件描述的从站分配给它输入输出字节然后程序里直接读I地址就能拿到检测结果写Q地址就能触发相机拍照。延迟极低稳定性远胜于走串口或者以太网TCP。实操中最常见的坑是GSDML文件版本匹配问题。相机厂家提供的GSDML文件版本和你博途软件的版本不兼容硬件组态里根本找不到这个从站。解决办法是去厂家官网下载对应版本的文件放到博途安装目录的GSDML文件夹下然后在组态里更新设备目录。另外一个坑是IO地址分配冲突。Profinet网络上设备多了名字PROFINET设备名和IP地址必须一一对应设备名没设置对相机和PLC怎么都连不上。3.3 ABB变频器与西门子PLC最经典的工业组合“abb变频器与西门子plc”这个词搜出来多半是车间里ABB的ACS系列变频器要接到西门子的S7-1200或者S7-1500上。变频器跟PLC通讯无论是走Modbus RTU、Modbus TCP、Profinet还是Profibus核心只有一个你得知道变频器的通讯地址表和参数设置方法。以ABB ACS510走Modbus RTU为例项目设置说明变频器站号参数5302比如设为1对应Modbus地址1波特率参数5303设为9600或19200校验方式参数5304OLED屏菜单里选8-N-1或8-E-1控制字保持寄存器40001写入16位控制字启动停止给定频率保持寄存器40002写入速度给定值注意高低字节顺序很多新手第一次搞这种通讯启动变频器就是写控制字嘛结果怎么都启动不了。检查下来发现原来ABB变频器把控制源默认设成了面板控制你PLC发的控制字来了但控制源没切换根本不理你。所以无论做什么通讯第一步永远是看手册里的“控制源选择”和“给定源选择”这两个参数确定它们设成了通讯控制后面的写入才有意义。3.4 用LabVIEW同时盯三台三菱PLC上位机监控见闻“labview实现pc与plc的实时监控”和“labview通讯三台三菱plc”这两个词很有意思。LabVIEW在测试测量领域用得广很多人拿它写小型上位机。三菱PLC走串口或者以太网都有对应的通讯协议而LabVIEW里可以用VISA或者TCP函数直接按帧格式发指令。三菱FX系列走串口的下位通讯是有一个协议格式的。读D0的值你要发类似“01 FF 03 00 00 00 01 CRC”这样的报文。CRC校验是Modbus CRC。新手在这里最常犯的错是把ASCII模式和RTU模式搞混了。三菱自带编程口默认是RS-232的专用协议不是标准Modbus你需要用“485BD”之类的扩展板把协议改到Modbus模式或者干脆在LabVIEW里自己组专用协议的帧。监控三台PLC的思路其实也简单上位机作为主站按时间片轮流去和每台PLC通信。比如100毫秒轮询1号PLC下一100毫秒轮询2号PLC再下一100毫秒轮询3号PLC。这样三台设备的实时数据都能拿到刷新率完全够用。唯一要小心的是通讯异常的时候别让程序死循环等待每条指令处理的时候要加超时。不然一台PLC断电整个上位机就卡死了这在现场也是常见事故。4. 交通灯、抢答器、搅拌机小应用项目里的大智慧4.1 交通灯与带左转的时序设计状态机思维是核心“plc交通灯”、“plc交通灯带左转”和“红绿灯plc”也是高频热词。很多人第一次接触PLC做的第一个项目就是交通灯。这个东西看起来简单就是几个灯按照时序亮灭但做得好不好直接反映一个人对状态机思维的理解程度。最基础的交通灯无非是东西绿、南北红然后黄灯过渡再南北绿、东西红。这个用定时器的串联就能写比如T0延时30秒T0延时到之后东西绿灯灭东西黄灯亮再T1延时5秒然后切换。但带左转的交通灯就复杂一些它有4个甚至8个相位南北直行绿灯比如20秒南北直行绿灯闪3秒南北黄灯3秒南北左转绿灯15秒南北黄灯3秒东西方向再来一遍这种复杂时序用纯粹的定时器串来写程序会变得特别长而且不好改。这时候就要用步进顺控思维。三菱有STL指令西门子有SCL的CASE语句。我的建议是无论你用什么品牌先画时序图把每个状态的持续时间列出来再在纸上把状态转换条件写清楚最后才是编码。传感器、按钮冲突处理这类问题也是从这个状态图里来的。4.2 抢答器一场关于“谁先按下”的博弈“plc抢答器”和“抢答器plc”的热度也不低。学校实训、技能大赛、公司年会都有人做这玩意儿。不过PLC抢答器的关键点不在于你怎么判断谁先按下而在于优先级的锁定。多个按钮同时按下PLC扫描周期是毫秒级的理论上第一个按下的会被先扫描到。但如果你程序里不加锁存就会出现一个问题主持人还没有喊“开始”选手手快按下按钮抢答器就误触发了。所以正规一点的抢答器必须有“允许抢答”信号。这个允许信号就是一个“门”的概念。门没开按按钮不响应门一开谁先按下谁被锁存同时把门锁死后面的再按就没用了。这个逻辑用M继电器加自锁就可以实现。看似简单但这里面蕴含的“互锁自锁时序配合”的思路恰恰是PLC编程里最值钱的东西。会做抢答器就相当于会做很多带安全联锁的设备程序了。4.3 搅拌机、机床、泳池消毒传统设备升级改造见闻“搅拌机plc”这个话题我太有感触了。早年间搅拌机都是继电器控制启停、正反转、定时零散的一堆中间继电器和时间继电器故障率极高排查困难。改造成PLC之后所有逻辑集中到一个铁盒子里省了一堆继电器排查故障也方便了。你打开电脑看梯形图哪一步没走通一目了然。再比如“plc单片机泳池消毒项目”这是PLC跨界应用的典型案例。泳池消毒系统要控制加药泵、循环泵、余氯传感器反馈然后根据余氯值自动投药。这种项目说难不难但涉及到模拟量处理、PID调节和远程监控。PLC做PID需要整定参数泳池水体大滞后明显PID参数调不好就会振荡。我当时做这类项目先用手动模式把余氯拉到一个基本区间然后再切自动PID参数从经验值出发P取小一点I取大一点的反复试效果才慢慢出来。机床电气控制这块“机床电气控制线路故障诊断与改造设计的plc图”是很多学校和企业的热门需求。老式机床用的是继电器-接触器控制系统线路复杂继电器堆满一柜子找个故障点能让人崩溃。用PLC改造之后逻辑全部都进程序里了外部线路大幅简化。你把原电气原理图里面的自锁、互锁、顺序启动逻辑全部翻译成梯形图这就算是最早的“低代码开发”了。4.4 单线原理图与输出电路画图和硬件设计的讲究“plc回路的单线原理图怎么画”这个热搜词说明现在搞PLC的很多人其实不太会画电气原理图。这里我讲一个基本认知单线图是表示主回路电流走向的图一根线代表三相中的一相。画PLC回路时主回路断路器、接触器主触点、热继电器、电机用单线画控制回路PLC输出点、中间继电器线圈、接触器线圈用展开图方式画。画图这件事跟纯写程序不一样它讲究规范。哪里标线号哪里画端子排怎么标PLC输入输出的地址都是有行业惯例的。很多程序写得漂亮的工程师图却画得一塌糊涂现场接线工人根本看不懂。反过来很多电工大佬图画得规范但程序逻辑写得一坨。真正值钱的人是既能写程序又能画图还能指导现场接线的综合型选手。这也是我经常给新人强调的一点学PLC买一块开发板写流水灯没什么用最好是从一个带电气图、带接线、带调试的完整小项目做起。5. 那些看似不起眼的PLC细节FB块、变量赋值、标定与输出电路5.1 FB块到底是个啥信捷PLC里怎么设置热搜词里“信捷plc怎么设置fb块”这个提法很有意思。FB块Function Block功能块是模块化编程的一种实现方式。简单地说把一段重复出现的逻辑比如电机启保停、阀门控制、气缸往复运动封装成一个带输入输出参数的“子程序”调用的时候填几个参数就能复用。在信捷的XDPPro里面创建FB块的流程大概是在工程树里找到“功能块”或者“FB”右键新建。编写功能块内部的逻辑通过输入变量接收外界传入的参数通过输出变量把结果传出。在主程序中调用这个FB填写实例名和实参。这样做的好处是显而易见的。你写一台有10个气缸的设备每个气缸的动作逻辑都类似只是用了不同的输出点、不同的传感器输入点。如果不封装你要重复写10段几乎一样的代码牵一发动全身。封装成FB之后改一个地方10个气缸全改好。很多新手不理解FB和子程序CALL有什么区别。我打个比方子程序就是你请一个固定厨师菜单是固定的你只能点他会的菜FB是你有一台餐厅厨房你能传不同的食材进去同一个厨房能加工出不同菜品。某种程度上FB比子程序灵活得多因为每个实例都有自己的“内存空间”互不干扰。这一点在现场写有多台同类型设备的项目时是救命级的优势。5.2 变量给输出端口赋值直接写还是间接传“plc中如何把变量给输出端口赋值”这个话题虽然基础但很能检验一个人对PLC存储机制的理解。三菱的Y输出可以直接“LD M0 OUT Y0”也可以“MOV D100 K2Y0”。前一种是把位状态传给输出点后一种是把数据寄存器里的数据直接送到一组输出点实现批量控制。西门子则是“直接I/O访问”和“过程映像”的区别。你直接给Q点赋一个值比如“Q0.0 : TRUE”它不会立刻作用于物理输出而是要等到OB1循环扫描结束后的输出刷新阶段才真正写到硬件。这在处理高速输出或者对时序要求极敏感的场合是一个容易被忽视的坑。这一点和单片机编程有本质区别。单片机的IO操作往往是对寄存器直接置位而PLC的输出除了物理点还有一个过程映像寄存器作为“缓冲”。明白了这层关系你就理解为什么在程序里多次对同一个Q点赋值最终看到的结果只和最后一次赋值有关。这种扫描周期机制决定了你的程序不能像纯C代码那样从上到下随心所欲必须在脑袋里模拟一遍PLC的执行过程。5.3 %MB2000到底是什么类型从寻址方式说起“plc中%mb2000是什么类型”这个问题是西门子S7系列常见的寻址风格。M表示位存储区MerkerB表示字节Byte%是绝对寻址的标志。%MB2000就是M存储区2000号字节。如果你看到%MW2000那就是2000号字%MD2000就是2000号双字。这里有个容易混淆的地方%MW2000和%MB2000和%MD2000它们指向的其实是同一个物理区域的起点。MW2000包含MB2000和MB2001MD2000包含MW2000和MW2002。你要是对同一个地址一会儿按字访问一会儿按字节访问程序逻辑可能会因为数据类型不同而出现奇怪的结果。这个知识点看着基础但现场调试时特别隐蔽因为你查程序逻辑看不出错问题出在“看待同一块内存的方式”上。5.4 标定PLC也能干高精度的活“plc的标定”这个词比较冷门但在有模拟量传感器、称重系统、流量计的场合非常关键。标定的本质是把传感器输出的电信号比如4-20mA电流换算成工程量比如0-100摄氏度。传统PLC程序里模拟量输入模块读上来的原始值是0到27648西门子或者0到4000三菱。你需要用两个点的标准值做线性化计算传感器给4mA对应0度读取原始值比如5530传感器给20mA对应100度读取原始值比如27648。然后通过一个线性公式实时换算。这里我要给一个提醒标定不只是在程序里面写个数学公式就完了。你要在现场用标准源、标准表去实际校准两点或多点还要考虑传感器本身的非线性误差。有些高要求的场合要用三个点以上做分段线性化甚至用多项式拟合。很多新手以为标定就是改个数值结果设备运行一段时间后测量值漂移很可能是没搞懂标定的物理本质——标定是人和设备一起完成的一个校准动作不是写几行代码的事。5.5 MOS管的PLC输出电路晶体管输出的实际讲究“mos管的plc输出电路”这个词一看就是在问晶体管输出型PLC内部电路。PLC的输出分为继电器输出、晶体管输出和晶闸管输出。继电器输出便宜、耐压高、能带交流也能带直流但速度慢、寿命有限晶体管输出速度极快适合高频脉冲输出比如步进、伺服脉冲方向控制但只支持直流负载。晶体管输出的内部电路核心就是MOS管或者达林顿管。PLC接着负载时MOS管导通负载得电MOS管截止负载失电。这里要特别注意反向并联一个续流二极管。因为很多负载是感性负载继电器线圈、接触器线圈、电磁阀线圈断电瞬间会产生一个很高的反向电动势如果PLC输出模块里没有续流保护实惠的做法是在外部负载两端并联一个二极管。不然很容易把MOS管击穿一个输出点就废了。这个小细节能体现一个工程师在现场是靠手册还是靠经验工作。6. 关于PLC技术路线的所见所思双模、AI与老伙计们的转型6.1 SCADA、HMI和PLC别再傻傻分不清热搜词里“scada 和 hmi 和plc有什么区别和关系?”这个问题常年有人问。SCADA是数据采集与监控系统HMI是人机界面PLC是控制器。三者的关系像什么像乐队。PLC是各种乐器的演奏者负责执行具体动作比如弹钢琴、打鼓HMI是那个摆在舞台前面的提词器它给你看当前的进度、让你按按钮SCADA是整个演出的总导演它把整个乐队的数据汇总到后台进行录播、报表、远程监控和报警管理。在现场PLC和HMI往往通过以太网或串口紧耦合而SCADA系统则是更大范围、更远程的那个“中控”。理解这三者的层级关系对做自动化项目的全局规划特别重要。很多小项目一个触摸屏就足够了没必要上SCADA但上百个PLC分布在几个车间的大型工厂就必须靠SCADA把所有数据汇总到中央控制室做历史趋势、报警记录、生产报表。什么时候该用什么这是系统架构能力的体现。6.2 PLC双模技术、AI生成代码未来的变与不变“plc双模技术未来发展方向”和“ai plc代码生成”这两个热搜词代表了这个行业对未来的焦虑与期待。双模我理解的是多种协议、多种控制模式的融合。现在很多高端PLC既能跑传统的周期扫描逻辑又能跑实时运动控制或者IEC 61131-3里的不同语言甚至还能在一些型号里直接跑C/C扩展功能。这种“双模”思路说明PLC在往一个更开放、更模块化的方向走。这一点和PC的形态演变异曲同工。AI生成PLC代码这块目前更多还停留在辅助阶段。我用过一些基于大语言模型的工具它能帮你生成一段结构文本、一段梯形图的逻辑框架甚至能把SCL代码翻译成结构文本但真正到现场接线、物理IO映射、安全联锁这些环节AI还差得远。PLC项目的特点是强约束、强反馈、强物理性一个小小的传感器信号抖动都能让理论上完美的代码崩溃。所以我的判断是AI取代不了PLC工程师但会取代不学习AI的PLC工程师。用AI做日报、做模板、查手册的确能省下不少时间。“汇川plc程序案例”和“plc课程设计”这类搜索词说明新一代工程师的学习路径也在变化——他们更依赖搜索引擎更依赖碎片化学习。这本身没有错但我还是那句话PLC这行离不开现场。程序写得再漂亮不去车间看设备实际运行状态等于纸上谈兵。我见过顶尖的程序员写出来的逻辑一到现场发现传感器装反了、线接错了照样白搭。PLC最有意思的地方就在于它是一个和物理世界强关联的编程领域你写的每一行代码都直接体现在设备的运转上。最后说个我自己的习惯吧。每次现场调试完我都会先清洗下编程口防止油污腐蚀触点再把程序用U盘备份一份连同图纸和操作手册装进设备电柜里的防水袋。这个习惯说实话是从一次半夜被叫到现场抢修的经历里悟出来的。当时那台搅拌机的PLC程序被人改过没有备份只能加班加点通过通读梯形图推断原逻辑那个滋味谁经历谁知道。