首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
PLC现场调试实战:18条高频故障排查经验
📅 2026/10/12 1:22:57
✍️ 爱科研究院
👁 阅读 3,247
入行一两年的时候我曾经为了一个“设备偶尔自己停机”的故障连续几个晚上睡不踏实。程序翻来覆去看了十几遍梯形图每一段逻辑都在线监视过就是找不到问题。后来是个老师傅到现场打开柜门拿螺丝刀把接线端子逐个拧了一遍问题当场消失——某个24V端子松了设备一震动就断信号。那一刻我才明白PLC这行真正值钱的不是你会写多少指令而是你见过多少现场。后来我又陆续带了几个年轻工程师发现入行1到3年这个阶段大家遇到的问题惊人地相似程序能写出来但一上设备就各种不稳定出了问题不知道从哪儿查起经常把简单故障复杂化。所以我决定把这几年攒下的实战经验整理成一个系列每天更新一部分今天先把最核心的几类经验放出来一共18条剩下的72条后续按主题慢慢聊。1. 这套经验写给谁我按什么规则攒成90条先说清楚这90条不是教科书式的知识点而是我在设备和产线上实际踩出来的坑。它不教你“什么是PLC”也不教你“指令怎么用”而是专门解决入行1到3年最容易卡住的问题程序能用但不稳定、现场偶发故障反复查不出、设备一联动就出各种怪毛病。我把90条按主题分成了六块对应日常工作中最常遇到的几类问题主题条数解决什么问题程序结构设计15条把程序从“能跑”变成“稳、好看、好维护”调试与排错方法20条设备不动、偶发停机、信号丢失时的排查思路柜内接线与抗干扰15条干扰、模拟量漂移、通信不稳定等玄学故障通信与联动逻辑20条Modbus、触摸屏、多设备联动的坑伺服与模拟量控制12条精度、抖动、信号标定等工艺类问题选型与项目管理8条选型余量、技术协议、文档习惯等“技术以外的事”这套内容最适合两种人一种是刚独立负责小项目、正在被现场问题反复折腾的工程师另一种是已经能写程序、但总觉得自己“写得不够工程化”的人。阅读方式我也不建议你从头到尾通读而是当成“故障速查手册”来用——设备出了问题翻到对应主题对照症状找思路比抱着手册看一整晚有用得多。今天这篇先讲程序结构、外围排查、抗干扰、通信、伺服与模拟量、选型管理六类里最典型的18条。每一条我都尽量说清楚“为什么这样做”而不只是告诉你“这样做”。2. 程序结构写得出和写得稳是两回事三个固定套路先摆出来2.1 经验01先画状态流程再对着点位表写程序我观察过不少刚入行两年的同事写程序习惯是拿到需求先列点位表然后直接打开编程软件开始写。写着写着发现逻辑越来越乱中间又回头改前面的程序段。说实话我也这么干过后来被现场调试教育了几次才改过来。正确顺序是先画状态转换图。把设备可能处于的状态列出来比如一台最简单的输送上料工作站至少要有“上电待机”“手动模式”“自动准备”“自动运行中”“暂停”“报警停止”“急停”这几个状态。然后画清楚什么条件下从“自动准备”跳到“自动运行中”通常是“门关到位无报警模式旋钮在自动启动按钮按下”。什么条件下从“自动运行中”跳回“报警停止”通常是“某个执行机构堵转报警输入触发”。这个图不用画得多规范自己在纸上画清楚就行。但画完之后你会发现程序结构天然就是分段的每个状态一个程序段段与段之间用“转移条件”连接。调试的时候可以单独验证每个状态设备卡在哪个环节打开状态图一看就知道问题出在哪一段。这比对着几百行梯形图找输出条件快了不知道多少倍。2.2 经验02急停和停止必须在硬件回路上留最后一道防线刚入行的时候我很自然地把急停按钮接到PLC输入点上然后想着在程序里做逻辑急停信号为0所有输出全部关掉。很多自带程序的设备厂商也是这么做的。但我后来接手过一台设备PLC本体出了故障程序根本没运行输出点却保持在上电瞬间的状态执行机构当场就顶了上去好在人不在旁边。从那次之后我对“软急停”这三个字有了阴影。正确的做法是急停回路必须走硬件用安全继电器或接触器直接切断主回路、伺服使能、气动阀电源。PLC程序里也要读一路急停状态做逻辑联锁和报警显示但绝不能把它当成唯一的保护手段。道理很简单PLC会死机、程序会被改写、输出卡件会短路但硬件回路只要接线可靠永远是一道独立于程序的防线。实际接线时注意急停按钮要用双断点就是把急停按钮的两组触点串联进两个独立回路复位的顺序也要告诉现场操作员先松开急停再按报警复位最后重新启动。很多人不知道这个顺序复位不了就跑来问“是不是PLC坏了”其实只是操作顺序不对。2.3 经验03报警机制统一做别再各写各的我见过太多程序报警逻辑分散在各个子程序里这一台在1号程序段里置位一个报警位那一台在2号程序段里却用另一个内部继电器触摸屏上显示“报警”两个大字操作工看了只知道有故障完全不知道是哪里出的问题只能打电话叫工程师。统一的报警机制其实不难做先建一张报警表包含报警编号、报警文本、触发条件、确认方式、恢复方式。然后把所有报警条件集中采集统一触发。这里要特别说下“锁存”和“自动复位”的区别安全门打开这种报警必须锁存门关上以后还要按确认键才能复位目的是让现场人员承认已经处理过油温偏高这种提醒类报警温度恢复正常后就可以自动消失不需要操作工额外动作。这两种如果不区分要么锁存一堆没用的报警要么安全门报警一闪而过安全隐患反而更大。报警信息里最好再加上第一次触发的时间戳。这样设备半夜出故障第二天查记录能精确知道是哪一秒、是哪个条件先触发的排查范围会小很多。3. 设备不动别急着改程序从电源到外围的完整排查链路3.1 经验04排查顺序固定为“电源、输入、输出、程序”顺序不能反设备不动最容易犯的错就是一上来开编程软件看程序。我之前也这样后来发现大部分问题根本不在程序里。程序是什么程序是一堆确定性的逻辑同样的输入永远给出同样的输出它不会自己抽风。而现场环境不一样电源会波动端子会松动传感器会老化这才是故障的高发区。我在现场的习惯是固定按“电源、输入、输出、程序”这条路走顺序一次不乱。第一步看柜内电源空开有没有跳开关电源的24V有没有输出带负载之后电压有没有明显跌落。拿万用表直流档一量就知道很多设备不动作就是开关电源坏了或者输出短路保护了。第二步看输入信号对着I/O表逐个检查PLC输入指示灯的状态和现场按钮、传感器是不是一致。比如启动按钮按下去了输入点没亮那就查按钮和接线而不是查程序。第三步看输出回路输出点指示灯亮不亮中间继电器吸不吸合接触器线圈两端有没有电压执行机构电源到不到。最后才进程序在线监视启动条件看是哪个条件一直不满足。这套顺序走下来绝大多数“设备不动”的问题半小时内能定位。每次都直接从程序开始查反而会把简单问题搞复杂尤其是遇到偶发故障程序里什么也看不出来纯粹浪费时间。3.2 经验05I/O对点不是按一下传感器那么简单对点这件事看着简单其实最容易埋坑。新人常常拿个螺丝刀顶一下接近开关看到PLC输入亮了就认为“这个点没问题”。但现场对点至少要看四件事感应距离对不对、响应频率够不够、常开常闭选得对不对、接线极性有没有接错。我印象最深的一次是某包装线上的计数设备一跑快产量就多计跑慢反而正常。程序逻辑翻来覆去看都没问题最后查出来是接近开关的响应频率不够——目标物体快速经过时开关的检测周期跟不上信号抖动、重触发PLC在一个扫描周期里收到了好几倍的脉冲。换了响应频率更高的传感器问题立刻消失。对点还有一条重要原则强制输出可以用但用完必须复位。有些工程师调试时强制了某个输出点忘了撤销第二天生产时设备自己突然动起来这就是严重的安全隐患。我自己的习惯是强制操作必须当场记录离开现场前逐点确认所有强制项已释放这个习惯能救命的。3.3 经验06三个容易误判的“假故障”现场第一种是触摸屏上显示“运行中”设备实际是停的。很多人第一反应是通信断了其实先查中间继电器更靠谱继电器触点老化、线圈电压不足输出执行了但继电器不动作设备当然不动。第二种是设备偶发停机复位以后又能开。优先查急停回路、门锁限位、安全双通道信号。很多安全回路是双通道的两个信号必须同时到达才算正常某一个触点接触不良导致两路信号不同步设备就会认为“安全条件不满足”而停机现场表现就是偶尔停一下。第三种是我个人最有体会的明明只改了一个参数整个设备都不正常了。这种多半不是参数本身有问题而是你在线修改的时候误触发了强制或者改的这个参数恰好是某个扫描周期依赖的核心变量。遇到这种情况先把在线监视窗口打开看看有没有异常强制项再检查程序里对这个参数的所有引用位置。4. 柜内接线与干扰让无数个周末报废的偶发故障从这查起4.1 经验07接地是所有抗干扰措施的前提但很多人根本没接对干扰类故障最讨厌的地方在于它不一定每次都发生可能一个小时一次也可能一上午一次你蹲在现场等半天它偏不犯。等走了它又犯了。这类玄学故障我后来基本锁定在两个方向接地和走线。先说接地。很多设备柜压根没有规范的系统接地PLC的24V负极随便搭在柜体框架上模拟量信号线的屏蔽层要么不接要么两头都接。这两种做法都是干扰的帮凶。正确做法是系统采用单点接地开关电源的0V端在电源处汇总然后通过单独一根线接到柜体的接地母排模拟量屏蔽层在PLC侧做单端接地另一端做绝缘悬空处理绝对不能两头接地——因为柜子不同位置的地电位不完全相等两头接地会形成地环路电流反而把干扰引进来。别小看这根接地线截面要选够不能跟头发丝似的。强电地、防雷地、信号地分开走最后到总接地排汇合。这套东西做对了至少能消灭掉一半的“偶发故障”。4.2 经验08强弱电分开和24V电源独立能消灭一大半偶发故障现场最常见的干扰场景有两种一种是模拟量信号周期性跳变趋势图上永远是波浪线另一种是通信偶尔失败重试几次又恢复。根子往往在线槽里——220V或380V的动力线和24V信号线扎在同一个线槽里变频器输出侧的PWM谐波通过空间耦合直接串进模拟量采集。走线规范其实很简单动力线和信号线分槽走必须同槽的时候加金属隔板隔开模拟量传输必须用屏蔽电缆不能用普通导线。另一个被忽视的点是24V电源分配同一个开关电源既给PLC供电又给一大堆传感器、中间继电器供电负载启动瞬间电流冲击会让24V电压跌落PLC上电自检失败或者模拟量读数随之漂移。实践中我习惯把PLC系统电源和I/O电源分开用两个开关电源或者至少在输出侧做二次隔离。这里还值得一提的是感性负载的处理。接触器、电磁阀、电机抱闸这类线圈断电瞬间会产生反向电动势如果不做吸收打一次两次没事日积月累就会损坏PLC输出点或继电器触点。标准做法是线圈两端并联续流二极管或RC吸收电路注意二极管的极性要反接一旦接错通电瞬间就短路烧毁。这个细节设备厂商的说明书里一般不会写得特别显眼但现场遇到过几次“输出点莫名烧毁”的故障之后你就再也不会忘了。4.3 经验09干扰症状对照表快速判断该查硬件还是查程序排查干扰故障时我习惯先按症状归类再决定从哪儿下手。下面这张表是我自己整理并用过的遇到类似情况可以直接照着查典型症状可能原因第一步排查模拟量数值周期性波动变频器谐波串入、屏蔽层接地不良检查屏蔽层是否单端接地强弱电是否分槽输入点偶发抖动或误触发24V电源跌落、线缆过长压降大万用表测带载时24V电压查端子是否松动通信偶尔失败重试后恢复终端电阻缺失、屏蔽层未接、共地问题检查通信线屏蔽和终端电阻设置触摸屏花屏或显示乱码通信线靠近动力线、网线屏蔽差检查触摸屏通信线走线路径输出点莫名烧毁感性负载无吸收回路、浪涌电压检查负载线圈两端是否加续流或RC吸收这些症状里程序几乎都不是第一嫌疑人。除非你发现某个输入信号在没有任何物理动作的情况下程序里却检测到了脉冲变化那才需要考虑CPU或模块本身的问题。按照表格顺序排查比对着程序发呆高效得多。5. Modbus、触摸屏、联动信号通信环节容易栽的三个跟头5.1 经验10通信参数两端一致只是起步地址规划更重要做设备通信最基础的一条是通信参数必须两端完全一致。有一次某现场改装设备触摸屏读不到PLC数据查了半天最后发现触摸屏默认是8N18数据位、无校验、1停止位PLC侧设置的是8E1偶校验就差一个校验位死活通信不上。这类问题属于“参数不一致”改完就好不算难。真正容易踩的是地址规划。我刚独立做项目时从站地址随手填1号、2号、3号倒着填后面加了一台新设备发现地址冲突又得全改一遍。吃过亏之后我的规矩是从站地址从1开始连续分配中间预留空号0地址尽量不用不少从站把0当成广播地址寄存器区按功能分区——状态区、控制区、参数区、诊断区——每个区预留扩展余量。这样后面加功能、加设备不用动已经调试好的逻辑。通信总线上的终端电阻和屏蔽层也属于“看起来不重要、出问题要命”的细节。一条Modbus总线上挂着五六台设备末端不接终端电阻短距离可能没问题距离一长或者现场变频器一启动通信立刻不稳定。这些基础的物理层配置调试前先做对能省掉后面数不清的排查时间。5.2 经验11通信不上先证明链路通再进程序通信故障排查我给自己定过一条铁律先证明链路是通的再从程序里找问题。怎么证明用串口调试工具或触摸屏自带的通信诊断功能主站发一条读寄存器指令看从站能不能正确返回数据。能返回说明物理链路和参数没问题问题在PLC程序或者地址映射不能返回就不用进程序直接查线序、引脚、波特率和参数设置。很多新人上来就怀疑自己写的通信程序有bug改来改去最后发现是DB头公共端没接对或者线序接反了白白折腾半天。另外超时和重试次数也要设置合理超时太短正常通信稍微卡一下就误报故障超时太长设备已经急停了触摸屏还要等两三秒才有反应。经验值是看总线上挂了多少设备、每一轮的轮询周期是多少让超时时间略大于一个轮询周期重试次数1到2次就够了不要无限重发否则故障状态下总线会一直被故障设备占住。5.3 经验12触摸屏联动和掉电恢复的几个隐形坑触摸屏和PLC之间的坑最常见的三个数据类型不匹配、位号映射大小端不对、瞬时信号和保持信号混用。数据类型不匹配比如PLC里变量是无符号整数触摸屏里却按有符号数显示正常范围值直接变成负的字节序不对更隐蔽同一个16位寄存器有的设备高字节在前有的低字节在前触摸屏显示出来的数字就是错位的。处理办法是上电前先拿一条已知数值做对照读出来如果对不上优先怀疑大小端。信号类型的问题举例触摸屏上的启动按钮如果PLC侧用“电平”触发而不是“上升沿”触发通信稍微卡顿一下按钮按一次甚至可能被当成两次执行。所以按钮、急停、模式切换这些信号PLC侧一律做成沿触发或脉冲触发触摸屏侧也设置成“按下时置ON释放时置OFF”而不是“切换型”。掉电恢复是另一个容易被忽略的地方。PLC断电重启之后通信状态、手自动标志、配方参数必须按设计恢复。我见过设备断电重启后直接进入自动模式而通信其实还没建立上位机一个指令都没收到设备自己跑起来的情况非常危险。所以程序里必须加“系统就绪”逻辑PLC上电后先完成参数装载、通信握手、外围设备状态确认全部正常后才允许进入自动模式任何一步没完成设备就停在待机状态触摸屏上显示具体原因。6. 伺服与模拟量精度问题不能硬调参数硬扛6.1 经验13伺服抖动先查机械增益留给最后伺服一抖很多工程师第一反应就是调增益P调小一点I调小一点试一次抖得更厉害再调再试最后把设备调得跟个神经病一样连基本动作都走不顺。这种事我看过不止一次。正确顺序是先确认机械状态再确认接线和参数最后才动增益。机械方面优先查联轴器有没有松动、导轨润滑有没有到位、皮带张力是否合适、负载惯量比是否超过驱动器允许范围。有一回某工位换完新电机后一直低速振动增益怎么调都压不下去结果发现是电机联轴器顶丝没锁紧转起来有点偏心锁紧之后稳如老狗增益还是默认值。在增益调节本身原则是从低往高试先把P值放到一个肯定稳定的低值让系统能跑起来然后逐渐加大比例增益观察响应速度和振动情况加一点、跑一下、看趋势直到出现轻微临界振动再回退一点。这个做法比一次调到位稳得多。刚性参数如果驱动器支持也是同样的思路数值从小到大试并随时用手摸电机和机构有没有异常温升。6.2 经验14模拟量信号类型、断线检测与滤波窗口模拟量这块最常见的问题不是控制算法不行而是信号类型从一开始就没统一。同一个系统里有些传感器输出4-20mA有些输出0-10V到了PLC模拟量模块上通道类型对不上读数直接不对。选型阶段就应该确认所有模拟量信号类型尽量统一。这两种信号怎么选我的建议是长线传输、现场干扰多、精度要求高的场景优先选4-20mA电流环抗干扰能力强而且天然带断线检测能力——正常信号最小是4mA信号线断了电流降到0程序里就能识别出来0-10V电压信号接线简单、不需要配电但容易受干扰和线路压降影响适合短距离、干扰少的柜内场景。程序处理断线也很重要对4-20mA信号凡是实测电流低于3.5mA一律判定为“信号丢失”要在触摸屏上报故障而不是让它当成0值参与运算。如果断线被当成真实0值PID可能会把调节输出推到最大或最小轻则产品报废重则设备出事故。滤波窗口的设置同样有讲究。滤波是为了压噪声但窗口太大会拖慢动态响应PID会变得迟钝甚至超调。我自己用过的方式是先看趋势图里噪声的周期和幅值再定滤波窗口工程上滤波窗口不要超过控制周期的五分之一。比如控制周期是100毫秒的回路滤波时间常数取20毫秒以内既压得住高频噪声又不至于影响闭环响应。6.3 经验15零点漂移用校准参数处理别在程序里硬减模拟量读数偏了一截有人直接在程序里减一个固定数比如“AIW0 - 30”。这种改法在单一工况下能用但温度一变、设备一换偏移量就变了到时候改哪里都不知道。正确做法是在触摸屏或PLC参数区里放“校准偏移”和“校准增益”两个参数标定时用一个已知的标准信号源比如给4mA对应0%、20mA对应100%读出的实际值和理论值一对比偏移量和增益偏差就出来了填入参数区即可。标定过程要留记录标定日期、标准器编号、标定前后的读数对比、操作人这些信息在设备复检和追溯时非常有用。一批设备如果批量出现同样偏差要往前查是不是传感器批次的问题而不是一台台去硬调。7. 选型、验收、文档1-3年最容易忽略的隐性能力7.1 经验16选型只抄上一台设备的配置单是会吃大亏的习惯我见过一个年轻人做选型直接把上一个项目的配置清单拿过来改个设备名就提交采购。看起来省事实际上风险很大因为负载类型不一样、工况不一样、客户的通信协议不一样照抄配置单轻则功能不满足重则电机拉不动过载报警。选型必须从需求逆推负载是恒转矩还是变转矩是连续运行还是频繁启停现场环境温度、防护等级、通信接口要求逐项核对。点数和通道数我习惯预留20%到30%的余量不要算得刚刚好。项目做一半客户说“再加三个测点”是非常正常的事没有余量就得动柜子动柜子就得停产那个成本比预留几个空点高得多。CPU的内存和扫描周期也提前估算一下特别是带了伺服、PID回路和大量模拟量的项目运算量超了现场再升级CPU整个程序平台都要迁最折腾。7.2 经验17技术交底里必须写死的三件事我吃了不少没写清楚的亏现在做技术协议这三件事必须写明白供电环境、通信协议、验收标准。供电环境指的是现场电压波动情况、有没有稳压措施。有些现场电压常年偏低或者是三相不平衡设备按标准电压设计到现场根本跑不起来这就是没写清楚的代价。通信协议版本、数据格式、能不能被第三方读取这些也要写进协议里不然后续设备数据要对接MES系统才发现协议版本不支持只能返工。验收标准更要提前定清楚空载还是满载验收、连续运行几个小时算合格、故障率控制在多少以内标准不写明白后面扯皮全是成本。7.3 经验18IO点表、程序版本、注释是1-3年最值得养成的习惯最后这条技术含量最低但长期价值最高。我在入行两三年的时候不重视程序注释觉得“我写的程序只有我能看懂”。半年后自己去看还得想半天当时为什么这么写。更不用说设备在客户那边运行一年后出故障换了一个工程师去维护面对一堆没有任何注释的程序那种崩溃感是实实在在的。IO点表是重中之重。每个输入输出点的通道号、信号名称、传感器类型、对应图纸页号全部维护清楚。这张表就是程序和现场物理世界之间的接口协议设备有问题对着IO点表先查物理对应关系能省掉一半排查时间。程序版本管理也一样每次修改要保存带版本号的备份文件附修改说明和日期。这个习惯坚持一两年你手头的项目会越来越可维护能接的项目规模也会越来越大。今天先编到18条后续会继续更新继电器控制、变频器应用、步进和定位控制、小型产线联调这些主题。如果你正在做PLC现场调试建议把接地那部分和通信那部分重点看两遍——这两块是入行1到3年最容易搭进去整个周末的地方。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/12 1:17:57
java项目实战扶贫助农系统[文档+开题+PPT
2026/10/12 1:17:57
PyTorch 离线安装实战:解决 pip 找不到 CUDA 版本的问题
2026/10/12 1:17:57
Windows 下 OpenClaw 提示无法使用 exec 命令或下载插件:从配置文件到 TaoToken 的排查路径
2026/10/12 2:23:05
深入理解 SAP ABAP CDS Table Entity Buffer,表实体缓冲的设计、运行机制与性能取舍
2026/10/12 2:23:05
SAP ABAP Tuning Objects 深入解析,从 CDS 数据模型到 HANA 运行时性能调优
2026/10/12 2:23:05
简单选择排序:交换很少,为什么还是O(n²)?
2026/10/12 2:23:05
grpc-go Balancer源码走读
2026/10/12 2:23:04
STM32F1深度实战:架构、时钟、外设与避坑指南
2026/10/12 2:18:04
Ant Design Blazor Select 带搜索框实战:EnableSearch、AutoClearSearchValue 与自定义搜索过滤
2026/10/12 0:02:51
你的 AI 编程 CLI 配置管理工具来了:用 TaoToken 统一管理 Claude Code 与 Codex 的 Base URL
2026/10/12 0:02:51
Susi AI API实战指南:susi_alexa_skill如何用Node.js调用chat.json获取智能回答
2026/10/12 0:02:51
换新电脑了?KeyStats 恢复码数据找回完全指南,端到端加密统计一键重建
2026/10/11 0:00:10
流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南
2026/10/11 0:00:10
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别
2026/10/11 0:00:10
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容
2026/10/11 19:13:46
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/11 21:41:11
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/11 23:43:10
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)