干工控的兄弟都知道,PLC处理数字量信号很简单,开关闭合就是1,断开就是0,干净利落。但现场最让人头疼的往往不是数字量,而是模拟量——温度、压力、流量、液位,这些连续变化的物理量,PLC没法直接读,得通过模拟量模块转成数字量,再通过程序换算成实际工程值。这个过程中踩坑的人不在少数。
一、先搞清楚模拟量信号的标准工业现场最常用的模拟量信号就两种:电压信号和电流信号。电压信号一般是0到10V或者负10到正10V,适合短距离传输,比如位移传感器、电位器这种。电流信号最常见的是4到20mA,抗干扰能力强,传输距离远,压力、温度、流量、液位变送器基本都用这个。
为什么是4mA起而不是0mA?这是有讲究的。0mA意味着断线或者没信号,4mA作为活零点,可以用来判断信号回路是否正常。如果读到的电流低于4mA,说明线路有问题,可能是断线也可能是传感器故障。这个设计在实际使用中非常实用。
PLC的模拟量输入模块把接收到的电压或电流信号转换成整数值。不同品牌的PLC转换范围不一样,西门子S7-200 SMART是0到27648,台达DVP系列是负32384到正32384,信捷XD系列模拟量输入14位分辨率对应0到16383,输出12位对应0到4095。这个数值范围一定要查手册确认,不同型号不同模块都有差异。
二、硬件配置别图省事模拟量模块的硬件配置是第一步,也是最容易被忽视的一步。以信捷XD系列为例,在编程软件XDPPro里,进入工程项目树的PLC配置,选扩展模块,选跟实际硬件对应的型号,比如XD-E2AD是2路模拟量输入模块。然后设置信号类型,4到20mA还是0到10V,必须跟现场变送器输出一致。
配置完成后有一个关键操作:写入PLC并重新上电。很多人配完了忘了这步,结果模块不识别,程序里读到的全是0或者乱码。重新上电这一步不能省,模块的硬件配置参数必须断电重启才能生效。
接线方面也有讲究。模拟量信号线必须用屏蔽双绞线,屏蔽层在PLC侧单端接地。信号线跟动力线分开走线槽,别图省事放一起。变频器输出线尤其要远离模拟量信号线,不然变频器一跑起来,模拟量信号全是毛刺。
三、数值换算的核心公式PLC从模拟量模块读到的是原始整数值,不是实际工程量。比如读取变频器频率,模块读到的可能是8191,但实际频率是25Hz。这中间需要做线性换算。
换算的原理很简单,就是按比例映射。以4到20mA信号为例,4mA对应原始值0,20mA对应原始值16383(14位分辨率)。假设变频器频率范围是0到50Hz,那么4mA对应0Hz,20mA对应50Hz。换算公式就是:实际工程值等于原始值乘以工程量程除以数字量程。
实际编程中,建议把这个换算逻辑封装成子程序或者功能块,输入原始值和量程参数,输出工程值和报警状态。这样做的好处是复用性高,一个项目里多个模拟量通道都可以调用同一个换算逻辑。同时把高低限报警也集成进去,超出量程范围自动报警,省得后面再单独写报警程序。
四、信号滤波和抗干扰处理模拟量信号在现场最怕的就是干扰。变频器、伺服驱动器、接触器启停,都会产生电磁干扰,反映到模拟量信号上就是数值跳动。有时候读到的压力值在正负2%范围内来回跳,PID控制根本稳不住。
软件层面的滤波方法最常用的是滑动平均滤波。取最近N次采样值做平均,N一般取5到10。这种方法简单有效,但会引入一定延迟。如果对实时性要求高,可以用加权平均滤波,最近的采样值权重最大,越旧的权重越小。
硬件层面的抗干扰更关键。信号线用屏蔽双绞线是基本要求,屏蔽层正确接地。传感器供电尽量用独立的隔离电源,别跟PLC的CPU共一个电源。如果现场干扰实在严重,可以在信号回路里加装信号隔离器,把现场侧跟PLC侧完全隔离。
还有一个细节容易被忽略:不用的模拟量通道要把输入端子短接。很多模块的空闲通道如果悬空,会感应到干扰信号,影响相邻通道的精度。把VIN和COM短接,读到的就是0信号,不影响其他通道。
五、模拟量输出的注意事项模拟量输出跟输入是反过来的过程,PLC把工程值转换成数字量,模块再把数字量转换成电压或电流信号输出给执行机构。比如PLC输出一个频率给定值给变频器,需要先把频率值换算成模块对应的数字量,再写到输出通道。
信捷XD系列模拟量输出是12位分辨率,数字量范围0到4095。跟输入的14位不一样,别搞混了。输出换算公式跟输入类似,只是方向反过来:数字量等于工程值乘以数字量程除以工程量程。
输出信号的抗干扰同样重要。如果输出线跟动力线平行走,干扰信号会叠加到输出信号上,变频器收到的频率给定就不准。输出线也建议用屏蔽线,屏蔽层在变频器侧或者PLC侧单端接地。
模拟量处理说到底就是三件事:硬件配对、软件换算、抗干扰。硬件配对确保信号能正确进来,软件换算确保数值能正确解读,抗干扰确保信号在传输过程中不失真。这三步都做到位了,模拟量系统才能稳定可靠地跑起来。
联系我们
邮箱:rencai.guuo@plcwb.com
电话:18501512500
网址:https://www.ttplc.com/


