两线制液位计接PLC总出怪事

两线制液位计这个东西,看着线少,真到现场却一点不省心。尤其是接PLC模拟量模块的时候,最容易冒出那种让人抓头发的怪毛病:液位明明半罐,画面上却贴着底;液体一点没动,数值自己慢慢晃;现场量着正常,HMI上死活对不上。新手碰到这种情况,十有八九先怀疑探头坏了。我以前也这么想过,后来被现场教育了几次,才知道这玩意儿最爱坑人的地方,不是探头本身,而是回路和换算。

前阵子我给一个清洗液储罐做改造。罐高3米,装的是24VDC两线制投入式液位变送器,量程0到3m,输出4到20mA。PLC用的是S7-1200,模拟量模块收电流信号。工艺要求也不复杂:液位低于0.45m报警,低于0.25m停泵,高于2.70m禁止继续补液。看着很普通,结果现场照样把我们绊了半天。

第一次接完线,HMI上的液位一直在0.18m到0.25m之间打摆子。可我站在罐边往里看,液体差不多有一米五。维修工第一反应就是“探头坏了,换新的吧”。我没急着换,先把回路画了一遍。两线制跟四线制不是一回事,它自己要靠回路电流取电。你哪怕只接错一个公共端,整个值都能假装正常,偏偏又不真正常,这种最恶心。

标准接法其实很老实:24V正极先到变送器正端,变送器负端回PLC模拟量输入,模拟量公共端再回24V负极。如果模块不是电流型,而是电压型输入,那还得外接250Ω精密电阻,把4到20mA转成1到5V。我们这次问题就出在公共端。现场电工图省事,把模拟量公共端跟另一组开关电源0V顺手搭在一起,中间还绕了一圈屏蔽接地排。结果回路参考点飘了,PLC读数就跟着飘。

我先干了两件事。第一,万用表串进回路直接看电流,实测是11.9mA。这个数一出来,心里就有底了。按0到3m量程换算,液位大概应该是:

液位 = (I - 4mA) / 16mA × 3.0m
     = (11.9 - 4) / 16 × 3.0
     ≈ 1.48m

1.48m和现场肉眼看见的高度差不多,说明探头本身没胡说。第二,我去看PLC模块原始值,发现它并没有老老实实跟着11.9mA走,而是在一小段区间里慢慢漂。后来把模拟量公共端改成单点回24V负极,屏蔽层只在控制柜一端接地,数值立马稳了。你说复杂吗?一点都不复杂。可现场这种低级坑,真不少。

很多人做模拟量还有个毛病,喜欢把屏蔽层两头都接地,觉得这样更保险。数字量有时候问题不大,模拟量这么搞就容易出环流。尤其液位探头经常离柜子远,二三十米很常见,边上再挨着变频器动力线,回路要是不老实,画面就能跳得像心电图。我们这次电缆长度差不多38米,后面又把它跟动力线分开走桥架,波动立刻又小了一截。

接线理顺以后,下面就轮到程序换算。这个地方也特别容易把人坑了。S7-1200很多时候读进来的是原始整数,不是直接工程值。你要是不先把4mA这个活零点扣掉,空罐时显示就不会回零。我自己的习惯是先限幅,再换算,免得探头断线或者超量程时把垃圾值直接送去HMI。

// 4~20mA 对应 0~27648(示例按模块工程值)
IF Raw_AI < 5530 THEN Raw_AI := 5530; END_IF;
IF Raw_AI > 27648 THEN Raw_AI := 27648; END_IF;

Level_m := REAL(Raw_AI - 5530) * 3.0 / REAL(27648 - 5530);
LowAlarm := Level_m <= 0.45;
StopPump := Level_m <= 0.25;
HighBlock := Level_m >= 2.70;

5530这个值不是拍脑袋来的,就是4mA对应的近似原始值。你要是偷懒,直接拿0到27648整除,最后零点肯定漂。很多现场说“PLC算不准”,其实不是PLC的问题,是程序员把活零点当空气了。

后面我们又做了两点标定。第一次把液位加到1.00m附近,第二次加到2.50m附近,对照现场标尺和画面值。第一次偏差大概+0.04m,第二次偏差+0.03m,工艺上能接受。要是你发现低点偏小、高点偏大,或者反过来,那就别只盯程序了,还得怀疑探头量程参数有没有设对,甚至要怀疑罐体截面是不是规则的。罐子要是锥形或者有异形段,液位和体积本来就不是线性关系。

还有个经验,我吃过亏以后记得特别牢:别一看到数值抖动就急着加滤波。滤波当然能做,移动平均、一次惯性都行,画面也确实会好看一点。但滤波这玩意儿很多时候只是遮丑。接线没理顺、参考点乱飘、屏蔽乱接,你滤100次也只是把毛病磨圆一点,根子还在。现场真要修活,先修回路,再谈算法。

这次项目做完以后,我跟现场班长说了句大白话:两线制液位计最怕的不是探头坏,而是人人都觉得自己会接。因为它看着简单,实际对回路完整性要求更高。只要把三件事守住,问题能少一大半:第一,供电和采样回路必须串联闭合;第二,模拟量公共端老老实实单点回0V;第三,程序换算别忘了扣4mA零点。

项目上线后我们连续盯了三天,液位趋势基本平稳,补液泵启停点和现场标尺也能对上,后面就没再闹过“液位见鬼”的事。所以说,模拟量回路很多时候不是技术多高深,而是基本功不能糊。把接线图、实测电流、程序换算这三样对起来,现场八成问题都能落地解决。

上一篇 漏电开关老跳闸怎么查