模拟量输入模块提供了一个数值用于标准化模拟量信号(电流,电压,电阻或温度)。这个数值代表 被测量的参数(例如,以公升计量料位)。这个过程被称作标准化或缩放模拟量值。
图. 01 是标准化的例子。
图. 01
相反,使用用户程序计算过程值。这个过程值被转换成数字信号,模拟量输出模块再将其转换成模拟量信号用来驱动模拟执行器。此转换过程被 称作逆标准化。以下可供下载库中的功能块被用于标准化和逆标准化模拟量处理。
图. 02 是逆标准化的例子。
图. 02
因此,Y 数值总是转换结果。X 数值在不同情况下都是已知参数。
如下功能块可在下载的两个库文件中可找到。
功能块 | 语言 | 描述 |
SKAL_LINEAR+LIM_INT_REAL [FC165] | STL |
此处 X 值是整数,Y 值是浮点数。 |
SCL_Scale_Linear_int-to-real [FC1] | SCL | |
SKAL_LINEAR+LIM_REAL_INT [FC166] | STL |
此处X值是浮点数,Y 值是整数。 |
SCL_Scale_Linear_real-to-int [FC2] | SCL | |
SKAL_LINEAR+LIM_INT [FC167] | STL |
此处 X 值和 Y 值都是整数。 |
SCL_Scale_Linear_Int [FC3] | SCL | |
SKAL_LINEAR+LIM_REAL [FC168] | STL |
此处 X 值和 Y 值都是浮点数。 |
SCL_Scale_Linear_Real [FC4] | SCL |
注意
以上功能块不改变寄存器 AR1/AR2 的地址,并且在 FBD 和 LAD 程序中提供了 ENO 功能框,RLO=0 或 1 存放在该功能框的BR位中。
通过输入 yMIN 和 yMAX ,能限制计算值y (计算出的y值)到低限和高限之间的一个特定值。这限制了模拟量输入和输出量程卡的上限和下限范围。(这限制了模拟量输入和输出卡件的上溢和下溢)
Y值根据一般线性方程计算:y = a x + b.
由此引出以下关系:y = (y1-y0) / (x1-x0) * (x-x0) + y0
以下是用功能块 SKAL_LINEAR+LIM_INT_REAL [FC165] (INTEGER > REAL) 实现线性缩放的例 子
图. 03
例子
模拟量输入模块用来测量一个4mA 至 20mA 的电流信号。此信号在 CPU 内部被转换为 0 至27648。液位用此计算值来测量。由此可知 4mA 对应 0.0m 液位,而 20mA 对应 1.7m 液位。
输出如下参数:
P0(x0=0; y0=0.0)
P1(x1=+27648; y1=+1.7)
按照如下方式调用 FC165 功能块:
图. 04