有一模拟量压力变送器,模拟量信号4~20mA,传感器压力0~40Mpa,进入PLC中怎么进行转换,以西门子200的PLC为例。
模拟量转数。
模拟量转数字量,实际上是模拟信号,如电流的电流值,转为数字。S7 200对应如下,0-20mA对应0-32000,对应关系为线性关系,如下图。
根据线性关系,4-20mA同样线性对应的是6400-32000,数字存储在AIWx这个寄存器地址内。通过AIWx这个数值,可以得到压力值。
在这个压力传感器中,0-40MPa,线性对应在6400-32000这个范围,如下图。
首先求出这个线性函数,再通过XAIW这个值,得到对应y0值,即可知道压力传感器输出值。
两点式线性方程计算为:
。
则:
计算公式为:
以此为公式S7 200计算程序为:
在网络10中,将AIW0的值-6400后,放入双整型VD24中,为的是实现VD24双整型转换为实数,放入VD28中。同理,32000-6400的值转为实数,放入VD66中。45Mpa的值转为实数放入VD86中。
在实际中,4-20mA中,可能不足4mA,AIW0的值小于6400,计算结果就是负数,这也是4-20mA量程的优势,当出现断线后,结果就是负数,可以判断出传感器线路不通。当然也可以做一个判断,如果结果为负,就是0,如果结果大于0,则为正常的数值。
网络13中,VD28乘以VD66,再除以VD96,这些都是实数运算。因S7 200出现比较早,接近于硬件底层,需要空间和数据转换,计算比较麻烦。