模拟量输入模块提供了一个数值用于标准化模拟量信号(电流,电压,电阻或温度)。这个数值代表 被测量的参数(例如,以公升计量料位)。这个过程被称作标准化或缩放模拟量值。
图. 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
表 01
注意
以上功能块不改变寄存器 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