模拟量在工业现场使用的非常普遍,常见的模拟量信号有±10V、±5V、0~20mA、4~20mA等等。当模拟量传感器连接到模拟量输入模块后,CPU必须将采集到的信号进行转换才能正确的处理,这也就是常说的模数转换。
不过,模数转换后的数值并不具有明显的工程意义。比如,经过模数转换后,得到模拟量的信号值为15680。这个值并不具有工程意义,必须将其转换成工程量值(比如温度、压力等)才有实际意义。今篇这篇文章,我们就来谈谈怎样将模拟量的信号值转换成工程量值。
很多PLC都集成了模拟量信号值与工程量值的转换指令/函数,比如S7-1200 系列PLC,可以使用指令SCALE_X和NORMAL_X来完成转换。
具体可以看看这篇文章:
如何对模拟量模块SM1232进行组态和编程?
其实,模拟量信号值和对应的工程量值之间成正比关系,有一个通用的转换公式。
接下来我们介绍下这个转换公式。有了这个公式,也可以自己编程来实现转换函数。
在介绍公式之前,先做如下定义:
Ish:模拟量信号转换后的最大值(上限,Input scale value high);
Isl:模拟量信号转换后的最小值(下限,Input scale value low);
Osh:工程值的最大值(上限,Output scale value hight);
Osl:工程值的最小值(下限,Output scale value low);
Iv:输入的模拟量信号值(Input value);
Ov:输出的工程值(Output Value);
以模拟量转换后的信号值为横坐标,以与之对应的工程量值为纵坐标,在二维坐标系中画出一条直线。上述各值在坐标系中的分布如下图:
根据正比关系,有如下方程:
(Osh-Osl)/(Ish-Isl)=(Ov-Osl)/(Iv-Isl)
解方程得出:
Ov=[(Osh-Osl)*(Iv-Isl)/(Ish-Isl)]+Osl
这个就是模拟量信号值转换成工程量值的公式,感兴趣的小伙伴可以根据这个公式编写出自己的转换函数。
好了,关于模拟量信号值与工程量值的转换就介绍到这里。欢迎扫描下面的二维码关注我们的微信公众号。