兄弟们,今天聊个让我记忆深刻的事儿。
上个月去给一家化工厂调试一套罐区液位控制系统,4-20mA信号,西门子S7-1200采集,挺常规的项目对吧?结果搞了我整整三天,最后问题出在一个屏蔽层的接法上。
事情是这样的:罐区一共6个液位变送器,全部是两线制4-20mA输出,信号线用KVVP屏蔽电缆,最长的一路大概80米。接好线、通上电,打开TIA Portal一看监控值——好家伙,6个信号里面4个在疯狂跳动。最严重的一个液位信号,实际液位明明是2.3米,PLC读出来在1.8到2.9米之间来回蹦,跳得跟心电图似的。
操作工跑过来问我:”这液位咋了?罐子里的液面在跳舞吗?”
我说:”液面没跳,是信号在跳。”
但这个问题不解决不行,这个罐区是给反应釜供料的,液位信号不准,进料阀门就不敢开自动,全靠操作工手动盯着,整整两天工人都没法正常干活。
排查第一步:软件滤波
我第一个想到的是在PLC里加软件滤波。这是最快最省事的办法,不用碰硬件,在程序里改几个参数就行。
S7-1200的模拟量输入模块有硬件滤波和软件滤波两个层面。我先在模块属性里把”平滑化”从”无”改成”强”,又在程序里加了一段移动平均滤波,取最近10个采样值做平均。
结果呢?信号确实稳了一点点,但代价是响应变慢了很多。原来变送器液位变化,PLC几乎实时就能反映出来。加了强力滤波后,液位变化要等两三秒才能看到变化。操作工又说了:”这液位是延迟直播啊!”
说实话,软件滤波就像给感冒吃止痛药——症状暂时压下去了,病根还在。信号本身是有干扰的,你硬把它滤平了,万一哪天干扰严重了,你都不知道真实值是多少了。这个方法只能应急,不能根本解决问题。
排查第二步:检查硬件
既然软件搞不定,那就老老实实查硬件。
我按常规套路来排查:
- 先测供电电压——24V电源输出稳定在24.1V,没问题
- 再测变送器输出——用万用表串进去测电流,4mA对应0液位,20mA对应满量程,数据本身是对的
- 用信号发生器替代变送器给PLC送标准信号——PLC读值正常,说明AI模块也没坏
- 拿示波器看信号线上的波形——好家伙,4-20mA的信号线上叠了一堆高频毛刺,幅度有0.5mA左右
这下基本定位了:信号在传输过程中被干扰了。毛刺的来源大概率是附近的变频器或大功率设备。
这个罐区旁边就是电机控制室,几台45kW的变频器就在信号电缆上方20公分处的桥架里走线。信号线和动力线在同一个桥架里,间距远远不够。之前做设计的时候为了省桥架,强电弱电没分开走。
排除了我最初的猜测
我一开始以为是变频器产生的共模干扰串到信号线上来了。于是我试了几个常规操作:
- 把信号线尽量远离变频器电缆——效果有限,桥架空间就那么大
- 给变频器输出加磁环——算是改善了变频器对外的辐射,但对信号的改善不明显
- 在AI模块输入端并联电容(100nF+10uF)——滤掉了一些高频成分,信号好了一些,但还是不稳
折腾了两天,效果都不理想。我开始怀疑是不是接地有问题。
问题出在屏蔽层接地上
这里我得承认一个知识盲区——我以前一直以为屏蔽层只要接地就行,一边接和两边接区别不大。但这次让我彻底搞明白了。
我先检查了现场的屏蔽层接法。现场电工把屏蔽层在PLC柜这一端接在了柜体的PE排上,在变送器那一端也接在了现场接线盒的接地端子上。两边都接地了。
看着好像没毛病对吧?双端接地更可靠?错!大错特错!
我现在把这个知识点掰开了讲清楚:
变频器这些大功率设备运行时,会在接地系统中产生地环流。如果屏蔽层在两端都接地,那就形成了一个”地环路”——地环流会流过屏蔽层,在屏蔽层上感应出电压,而这个电压会通过分布电容藕合到内部的信号芯线上,反而把干扰引入了信号回路。
换句话说:双端接地在某些情况下比不接地还糟糕。
正确的做法是什么?对于4-20mA模拟量信号:
- 屏蔽层单端接地——在PLC柜这一端接地,另一端悬空
- 接地端要接在信号地(AGND/COM)上,而不是随意接在柜体的PE排上
- 如果信号源侧和接收侧之间有电位差,还可以考虑加信号隔离器
按照这个原则,我把现场6路信号的屏蔽层全部改成单端接地——在PLC柜的AI模块侧接地,变送器侧的屏蔽层用绝缘胶带包好悬空。同时把屏蔽层的接地端从PE排改到了AI模块的MANA端(测量回路地)。
结果
改完之后,重新上电看监控。原来跳得最厉害的那路信号,从1.8-2.9米的波动范围直接变成2.28-2.32米。另外几路原本相对稳定的信号也彻底稳定了。
说实话,打开监控看到一溜平直的数据曲线时,我心里那个爽啊,比大夏天喝冰啤酒还痛快。
操作工过来看了一眼:”诶,这回液面不跳舞了。”
我说:”不是液面不跳舞了,是信号线不跳舞了。”
然后我把软件滤波参数也恢复到了最低档,响应速度回来了,数据也稳了。
这次教训总结
我把这次踩坑的经验总结成几条,兄弟们以后遇到类似问题可以直接对照着排查:
- 信号干扰第一步不是改程序,是查物理层。软件滤波是兜底手段,不是解决方案。
- 屏蔽层接地的原则:单端接地。对于模拟量信号,屏蔽层只能在信号接收端接地,源端悬空。
- 接地位置要选对。不是随便找个螺丝拧上就行,要接在信号地(模拟量公共端)上。
- 信号线和动力线要分开。这个最好在设计阶段就规划好,强电弱电分层走线,间距至少30cm。如果空间受限,用金属隔板隔开也行。
- 长距离模拟量传输用信号隔离器。特别是超过50米的信号线,加一个有源隔离器,能同时解决干扰和电位差的问题。
- 示波器是排查干扰的神器。眼睛看不出问题,万用表看不出毛刺,但示波器一看就知道信号干不干净。
后来我查资料才知道,很多现场信号干扰问题,80%以上都跟接地有关。屏蔽层接对了,干扰就解决了一大半。
不知道兄弟们遇到过最奇葩的模拟量干扰是什么情况?有没有被信号跳动折磨过的经历?评论区唠唠呗!
配图:PLC控制柜现场模拟量信号接线