PLC模拟量信号乱跳,是个老生常谈但又特别折磨人的问题。从刚入行的电气小白到干了十几年的老工程师,几乎都碰过这种鬼情况:程序逻辑明明没毛病,线路检查了好几遍也没破线,变送器校准证书也都在有效期内,可那个AIW(模拟量输入字)就是像得了帕金森一样抖个不停。轻则数据不准,重则直接触发联锁误动作,半夜电话把人从被窝里薅起来的事我都经历过好几回。
排查到最后,十个里面有六七个都指向同一个极其隐蔽的元凶——电位差。这东西看不见摸不着,却像个隐形的手,在不经意间搅得整个控制系统天翻地覆。今天就把这个坑彻底剖开聊一聊。
1. 现场现象:模拟量乱跳到底长什么样
1.1 典型的故障表现
先描述一下故障现象,看看你是不是也遇到过。最常见的几种情况如下:
第一种,信号在正常值附近小幅波动,比如一个4-20mA的压力变送器,DCS或PLC上显示数值始终稳定不下来,在11.2mA和11.8mA之间来回晃,波动频率没有明显规律。
第二种,信号呈周期性跳变,间隔几秒或几十秒跳一次,幅度比较大,比如从正常的12mA突然跳到15mA,再慢慢回落。这种跳变特别容易触发报警甚至联锁停车。
第三种最离谱,模拟量数值完全失控,一会儿满量程一会儿零,看着就像在用随机数发生器当输入信号。
这三种情况我都亲历过。最迷惑的是第一种和第二种,因为它跟接线松动的故障表现非常相似,但你把端子重新紧固一遍,该晃还是晃。这时候如果直接把锅甩给仪表、变送器或者PLC模块,十有八九会误判。
1.2 为什么第一反应常被误导
出问题后,大部分人的排查顺序是这样:先查程序逻辑,发现没问题;再换PLC模拟量模块通道,还是涛声依旧;然后把变送器拆下来校表,精度完全没问题。于是开始怀疑是不是有变频器干扰——这个怀疑很合理,因为变频器确实是工业现场的干扰大户。
但恰恰是“变频器干扰”这个思维定式,让很多人走进了死胡同。拿着示波器戳了半天,确实能抓到一些噪声波形,然后就开始加磁环、换屏蔽线、改布线路径,折腾一整天,最后发现一点用都没有。为什么?因为干扰是表象,电位差才是根因。
2. 隐形电位差:原理与产生机制
2.1 电位差从何而来
所谓电位差,说白了就是两个“地”之间的电压不为零。理想情况下,PLC模块的电源负端(或者信号参考地)和现场变送器的电源负端应该是同一个电位,都是0V。但现实中,这个“0V”往往只是名义上的。
举个最简单的例子:一个24V开关电源给PLC模块供电,另一个开关电源给现场变送器供电。两个电源的负极在电气上并没有真正连接在一起,或者虽然连了,但连接线的路径太长,线阻导致压降。这时候,两个负极之间就存在一个电压差,可能是几毫伏,也可能是几百毫伏甚至更高。
4-20mA电流信号按道理说是电流环,20mA的最大电流在环路里流动,如果回路线阻是一根很细很长的线,比如100米、1.5平方的铜线,回路电阻大约在1.2欧姆左右,20mA流过会产生约24mV的压降。这个电压不算大,测量端如果隔离做得不好,这24mV会叠加在采样电阻上造成误差。但真正的麻烦不在信号线本身的压降,而在电源地之间的偏移。
2.2 三个最常见的电位差来源
第一个来源是多个开关电源混用。控制柜里装了三个24V开关电源,一个给PLC模块供电,一个给变送器回路供电,一个给中间继电器和指示灯供电。这三个电源的负极如果只在各自负载端汇总接地,而负极端子之间没有用短接线连成统一的参考点,现场就会变成“三套地”。不同电源的输出电压存在细微差异,负载动态变化时电压波动也不同,地之间的电位差就会忽大忽小。
第二个来源是等电位连接不良。控制柜外壳、桥架、穿线管、设备本体,理论上都应该是等电位体,但实际施工中,桥架段与段之间是通过连接板加螺栓固定的,表面有油漆或锈蚀,接触电阻能大到几个欧姆。当有大功率设备启动时,大电流流过这些不良连接点,就会产生电压降,使接地排上不同点的电位出现漂移。PLC模块的地和变送器的地如果分别接在这套“名义等电位”系统的不同点上,点位差就出来了。
第三个来源是柜内布局不合理导致的共阻抗耦合。PLC电源负极、模拟量信号负端、屏蔽层接地线走了同一条路径,彼此之间有重叠。想象一下,如果有一个中间继电器的线圈和模拟量模块共用一段电源负极线,继电器吸合瞬间的电流浪涌就会在这段线上产生压降,导致模拟量模块的参考地电位瞬间抬升或跌落,采样值自然就会跟着跳。
注意:变频器输出侧感应到的高频噪声通常表现为信号在基线上的毛刺,频率高、幅度小,你看到的是叠加在信号上的“锯齿”;而电位差引起的是整体偏移,幅度大、变化慢,看起来是信号在“漂”。区分这两者在现场排查时非常关键。
3. 排查定位:三步锁定电位差问题
3.1 第一步:用万用表量关键点位
接到乱跳的投诉后,我一般先干一件事:用万用表交流毫伏档和直流毫伏档分别测量PLC模块电源负端(COM端)到现场变送器电源负端之间的电压。
这个操作非常关键。正常情况下,这两个点之间的电压应该是0V或者接近0V。如果在现场实测时发现直流电压有几十毫伏甚至几百毫伏,那就是电位差实锤了。注意要用比较靠谱的表,精度至少要0.5级,普通的几块钱万用表在小电压档可能本身误差就很大。我习惯用Fluke 17B+,精度够用,皮实耐造。
测量时同时记录数字的波动情况:如果数值在做无规律的漂移,说明两个地之间的电位差本身就不稳定,这恰好解释了模拟量信号为什么乱跳。因为地电位差在变,信号采样值自然跟着变。
3.2 第二步:做“隔离替换”实验
如果电机设备不允许停机或者变送器不能拆,可以使用一个更巧妙的方法:用一个独立的、电池供电的精密信号发生器,直接给PLC模块送一个标准的4-20mA或1-5V信号,观察显示值是否稳定。
如果信号发生器给的信号显示非常稳定,比如你给12mA,模块读出来就在11.99到12.01之间小幅波动,那么问题基本排除PLC模块本身。再把信号发生器挪到现场端,接在变送器的位置上(断开现场变送器),用很短的线发信号,如果这时显示仍然抖动,就说明干扰或电位差存在,而且问题出在信号传输链路上。
这招屡试不爽。它的核心逻辑是把故障范围一步步压缩,而不是一上来就怀疑昂贵的硬件。在工控现场,换模块是最后手段,因为模块本身的价值高,而且更换后需要重新组态和调校,费时费力。
3.3 第三步:区分干扰与电位差
测量地电位差只能说明存在电位差,但还不能完全排除高频干扰叠加的可能。这时候要用一个简单的“接线实验”来区分:
把变送器的信号线在PLC侧的端子上拆下来,用一根很短的备用线直接把PLC模块的正负输入端短接。如果这时模块读数稳定在0mA或者某个最小值附近,说明传输线路上有高频干扰叠加。如果短接后读数还是会偶尔跳动,说明干扰甚至已经窜入了模块内部或电源系统。
接着把拆下来的信号线重新接回去,但在PLC侧把信号负端与模块COM端之间跨接一个100uF/50V的电解电容,再并一个0.1uF的瓷片电容。如果读数明显变得稳定,说明干扰成分居多;如果加电容没什么效果,还是照跳不误,那就几乎可以断定是电位差问题。
注意:做短接测试时一定要先确认变送器信号回路的开路电压不会损坏PLC模块,尤其是那种二线制变送器,拆线时相当于断开回路电源,有时会导致回路开路。稳妥起见,先把PLC对应通道的电源关掉或者临时在端子上并联一个250欧的电阻再操作。
4. 解决电位差问题的实用方案
4.1 方案一:信号隔离器
治本的第一选择是加装信号隔离器。隔离器的核心作用就是把输入端和输出端在电气上完全割裂,输入侧接受现场的4-20mA信号,输出侧给PLC模块提供一个新的、干净的4-20mA信号。输入侧的地和输出侧的地各管各的,电位差再大也传不过去。
选隔离器时要注意几个参数:一是精度,常规隔离器精度在0.1%到0.2%之间,对于一般过程控制足够了;二是响应时间,如果用在快速联锁回路里,隔离器的响应时间最好控制在几十毫秒以内,否则会拖慢整条链路;三是隔离强度,选择隔离电压大于2000VAC的型号,安全余量足一些。
安装位置也有讲究。隔离器尽量靠近PLC模块安装,最好装在柜内的DIN导轨上,输入侧接线从现场过来先进隔离器,再从隔离器输出到模块。这样现场侧的干扰和电位差在隔离器输入端就被阻断,输出到模块的就是一个“干干净净”的信号。
我个人的习惯是,在用隔离器之前先用一个最简单的办法试一下:把现场的变送器供电改为由PLC侧的开关电源提供,也就是拉一根额外的两芯电缆到现场给变送器供电,电源负极在PLC侧单点接地。如果这样做之后信号变稳定了,那就完全印证了电位差的判断,再决定是否上隔离器。
4.2 方案二:统一参考地并优化接地方式
很多老项目的控制柜,电源地、模拟量地、屏蔽地全接在同一个接地排上,表面上看起来“都接地了”,实际上接地排本身可能就是一根宽度有限的铜排,各端子之间依然存在毫欧级的阻抗,大电流流过时照样产生电位差。
正确的做法是把控制柜内的地分成几个类别:电源地(交流和直流分开)、信号地(模拟量信号参考地)、屏蔽地(电缆屏蔽层接地),各自独立使用接地排或接地端子,然后通过一点连接到总的接地系统。模拟量模块的COM端子,应该单独用一根粗短线连接到信号地排,而不是跟开关电源的负极端子共用一根线。
这里特别提一下“单端接地”的概念。信号电缆的屏蔽层,正确的做法是只在PLC侧一端接地,靠近现场变送器那一端悬空。如果两端都接地,屏蔽层本身就会成为一个“地环路”的导体,流过屏蔽层的电流会产生磁场,反而会干扰信号芯线。很多现场都是施工人员图省事,两头都拧到接地端子上,结果就是越“屏蔽”越干扰。
4.3 方案三:改善供电方式与回流线设计
4-20mA模拟量信号本质上是一个电流回路。如果回路里存在两个接地点,电流就有了“抄近道”的可能,这就是地环路电流的来源。所以从根本上说,要让信号回路尽量“悬浮”,保持单一接地点。
在实际项目里,尤其是那些长距离传输的模拟量信号,我倾向于把变送器改成隔离型供电:现场变送器使用独立的24V电源(比如变送器自带隔离电源模块),信号负端只在PLC侧作为参考地,现场侧完全浮空。这样做可以彻底切断由于两个开关电源地电位不同而引发的电流串扰。
如果现场条件不允许改仪表供电方式,还可以增加一根粗截面的回流线:在变送器附近的接地端子和PLC侧的接地端子之间,专门铺一根2.5平方以上的黄绿接地线,把两端的“地”强制钳成等电位。虽然理论上地线通过电流会产生压降,但这根线的线径足够粗,压降会下降到毫伏级别,对于0.5%精度的控制系统来说影响几乎可以忽略。
4.4 方案四:软件滤波——不得已而为之
软件滤波在汇川、西门子、三菱等主流PLC里都有现成功能块,比如西门子的FC105配合模拟量滤波,三菱的模拟量模块自带数字滤波设置,汇川的输入滤波参数直接在模块组态里调。
但我必须泼一盆冷水:软件滤波只能掩盖症状,不能治愈疾病。你可以通过调整滤波时间常数把乱跳的曲线抹平,但这是以牺牲响应速度为代价的。在温度、液位这类变化缓慢的过程量上,滤波确实无伤大雅;但在流量、压力联锁保护这类需要快速响应的场合,一个几百毫秒的滤波延迟可能就会造成实质性的安全事故。
所以我的建议是:软件滤波只作为临时措施,用来让系统先跑起来,后续必须有计划地去解决电位差的物理根源。治标之后,一定要治本。
5. 实操注意事项与速查表
5.1 现场排查的几条铁律
做模拟量故障排查,我总结了几条经验,基本每次都能用上:
第一,动笔先于动手。查模拟量故障之前,先把整个信号链路画出来,标注出电源从哪里供、信号怎么走、地接在哪些位置。很多问题在画图阶段就能发现端倪——比如两个开关电源负极没有短接、屏蔽层两端都接地等等。
第二,测量点要选准。万用表的表笔一定要夹在信号线的接线端子上,而不是夹在柜内端子排上。因为端子排本身和信号线之间可能有氧化层或锈蚀导致的接触电阻,在端子排上量出来的电压跟信号线实际电位可能差很多。
第三,每一次改动只动一个变量。加了隔离器就不再去动接地,改了接地就不再去动屏蔽层,否则出了问题你根本不知道是哪个操作起了反作用。这是最容易被忽视的一点,现场一着急,几件事同时做,结果信号好了却说不清原因,问题复发了没法复现。
第四,给PLC模块的通道做一次强制校准。很多老项目中模拟量模块长期使用后增益会有漂移,通道零点也不准了。排查完电位差问题后,顺手在PLC里做一次通道校准,虽然不能解决电位差,但能把系统整体的精度恢复一截,免得后续又被人拿精度说事儿。
5.2 常见故障速查表
| 故障现象 | 可能原因 | 排查方向 | 解决思路 |
|---|---|---|---|
| 信号小幅无规则波动 | 电源地电位漂移 | 量PLC COM与变送器负端电位 | 统一供电源负极、加隔离器 |
| 信号周期性跳变 | 屏蔽层两端接地形成地环路 | 查屏蔽层接地方式 | 改为PLC侧单端接地 |
| 信号接近满量程 | PLC模块COM悬空或接触不良 | 查模块COM端子接线 | 紧固端子、确认COM接入地排 |
| 加滤波后好转但仍漂 | 干扰+电位差同时存在 | 示波器看波形 | 先做等电位处理,再考虑隔离 |
| 多个通道同时跳动 | 开关电源负极共用阻抗耦合 | 查电源负极走线路径 | 单独布置模拟量COM线 |
这张表的背后逻辑是:模拟量乱跳从来不是单一原因,但电位差是其中最容易忽略、也最容易造成连锁反应的那一个。
5.3 一个小技巧:用PLC程序辅助定位
有些PLC支持在线读取模块的原始AD值,很多工程师只看量程后的工程值。其实原始AD值非常有用,因为工程值经过线性变换后会把一些细节“抹平”掉,而原始AD值对微小波动非常敏感。我习惯在排查时把某个通道的原始值实时监控起来,再叠加一个通道滤波后的输出值,两个值对着看,能很快判断问题出在信号侧还是处理侧。
如果原始值已经非常不稳定,说明信号进模块之前就“脏”了,这种时候再怎么调PLC程序都是白搭。如果原始值稳定但滤波输出还是跳动,那问题就可能出在PLC内部的数据处理逻辑上,比如有别的程序在覆盖这个数据区,或者是模拟量模块与CPU通信受到干扰导致数据读取异常。
另外,如果用的是信捷、汇川这些国产PLC,排查时可以留意一下模拟量通道的输入滤波设置是否有“自动”模式,有些固件版本在自动模式下会根据信号频率动态调整滤波深度,表面上看信号稳定了,但动态响应变差。这种“隐性故障”比电位差更隐蔽,很容易让人误判系统性能。
6. 一个实战案例复盘
去年年底帮朋友处理过一个挺典型的案例,过程很能说明问题。现场是一台搅拌机的PLC控制系统,使用西门子S7-200 SMART,模拟量模块读取一个料位变送器的4-20mA信号,用于低位联锁停机。故障现象是料位信号在20%到40%之间来回跳,偶尔跳到75%触发高位报警,但实际上搅拌罐里的料位根本没怎么变。
接手之后我先做了三个测量:一是量PLC电源负端和变送器电源负端之间的电压,实测有0.35V左右的直流压差,随着搅拌电机启停波动达0.2V;二是量信号线两端之间的电压差,在变送器侧和PLC侧分别测量,发现两边参考地之间的电位差与信号波动完全同步;三是用示波器抓信号波形,看到的是一个叠加在直流信号上的低频方波扰动,频率和搅拌电机变频器的输出频率变化吻合。
问题已经很明确了:变送器的供电取自现场就地控制箱的一个开关电源,PLC模块供电取自中控柜里的另一台开关电源,两个电源的负极之间没有直接短接。搅拌电机一启动,大电流流过就地控制箱的接地系统,产生电压降,导致两个“地”之间的电位差增大,这个变化的电位差直接叠加到4-20mA信号里,被PLC模块采样后就成了乱跳的料位。
处理措施就两步:第一步,把变送器的电源负极和PLC模块的COM端之间用一根2.5平方的铜芯线直接短接;第二步,在PLC侧把信号屏蔽层单端接地。完成后再次测量,两个地之间的电位差降到0.01V以内,料位信号稳定在22.5%,纹丝不动。从头到尾没换任何硬件,没改一行程序,就解决了一个困扰现场三天的“疑难杂症”。
从这次经历之后,我养成了一个习惯:任何PLC模拟量项目,通电之前先做一次“等电位核查”。用万用表把所有参与模拟量回路的电源负极、模块COM端、信号屏蔽层接地端之间的电位差量一遍,只要超过50mV,就绝不送电调试,先解决电位差再往下走。
这个习惯帮我避了不少坑。说实话,很多现场问题之所以难查,不是因为技术多复杂,而是因为基础工作做得不扎实。电位差这种东西,等你被它折腾过几次之后,就会深刻理解一句话:电气系统里,地才是最容易被忽略的关键路径。