在plc编程中,只要涉及到数据采集和输出,都会遇到模拟量的线性变换。在西门子300plc编程中,系统自带的两个线性变换功能块FC105和FC106是最常用的两个数据转换模块。但是在博图中,模拟量的线性转换跟300PLC有一定的差异,本文详细介绍1200,1500中模拟量的线性转换问题。
1. 线性变换原理
线性变换原理公式
线性变换的原理很简单,比如说,在工程测量中,常会遇到4-20mA的传感器,如压力传感器或位移传感器等,要转换为0-50MPa的物理量。用高中学过的直线方程两点式就可以了。已知两点(4,20)和(20,50),求(x,y)。
2. 线性变换用到的指令模块
(1).标准化(NORM_X)指令:
可以使用“标准化”指令,通过将输入 VALUE 中变量的值映射到线性标尺对其进行标准化。可以使用参数 MIN 和 MAX 定义(应用于该标尺的)值范围的限值。输出 OUT 中的结果经过计算并存储为浮点数,这取决于要标准化的值在该值范围中的位置。如果要标准化的值等于输入 MIN 中的值,则输出 OUT 将返回值“0.0”。如果要标准化的值等于输入 MAX 的值,则输出 OUT 需返回值“1.0”。
OUT=(VALUE-MIN)/(MAX-MIN)
上面是PLC帮助文档的官方解释:很拗口,理解不了不用去管他。下面直接看应用就会好。
标准化(NORM_X)指令
标准化(NORM_X)指令映射关系
标准化(NORM_X)指令参数
注意这个数据类型就可以了。
(2)SCALE_X:缩放
“缩放”指令,通过将输入 VALUE 的值映射到指定的值范围来对其进行缩放。 当执行“缩放”指令时,输入 VALUE 的浮点值会缩放到由参数 MIN 和 MAX 定义的值范围。 缩放结果为整数,存储在 OUT 输出中。
同样的,不用去刻意理解这个意思。后面看举例应用就可以了。