模拟量
模拟量
注意: 请不要使用 S5-S7 Converting Blocks 下的 FC105, FC106 ,该路径下的功能是用于 S5输入输出模板的,在 S7 输入输出模板上无法使用。
2.1.1 FC105 功能描述
SCALE (FC105 )功能将一个整形数 INTEGER (IN)转换成上限、下限之间的实际的工程值(LO_LIM and HI_LIM) ,结果写到 OUT 。公式如下:
OUT = [ ((FLOAT (IN) – K1)/(K2 –K1)) * (HI_LIM –LO_LIM)] + LO_LIM
常数 K1 和 K2 的值取决于输入值( IN)是双极性 BIPOLAR 还是单极性 UNIPOLAR 。
双极性 BIPOLAR :即输入的整形数为 – 27648到 27648 ,此时
K1 = – 27648.0,
K2 =+27648.0
单极性 UNIPOLAR :即输入的整形数为 0 到 27648 ,此时 K1 = 0.0 , K2 = +27648.0如果输入的整形数大于 K2 ,输出 (OUT) 限位到 HI_LIM, 并返回错误代码。 如果输入的整形数小于 K1,输出限位到 LO_LIM ,并返回错误代码。.com版权所有!反向定标的实现是通过定义 LO_LIM > HI_LIM 来实现的。反向定标后的输出值随着输入值的增大而减小。
2.1.2 FC106 功能描述
UNSCALE (FC106 )功能将一个实数 REAL (IN) 转换成上限、下限之间的实际的工程值
(LO_LIM and HI_LIM) ,数据类型为整形数。结果写到 OUT 。公式如下:
OUT = [ ((IN –LO_LIM)/(HI_LIM –LO_LIM)) * (K2 –K1) ] + K1
常数 K1 和 K2 的值取决于输入值( IN)是双极性 BIPOLAR 还是单极性 UNIPOLAR 。
如果输入值在下限 LO_LIM 和上限 HI_LIM 的范围以外,输出 (OUT) 限位到与其相近的上限或下限值(视其单极性 UNIPOLAR 或双极性 BIPOLAR 而定),并返回错误代码。
2.2下面给大家举个例子:
如输入 I0.0 为 1, SCALE 功能被执行。下面的例子中,整形数 22 将被转换成 0.0 到 100.0 的实数并写到 OUT。输入是双极性 BIPOLAR ,用 I2.0 来设置。
程序中调用的FC105
执行前:
IN----------------------MW10=22
HI_LIM---------------MD20=100.0
LO_LIM--------------MD30=0.0
OUT-------------------MD40=0.0
BIPOLAR------------I2.0=TRUE
执行后:
OUT------------------MD40=50.03978588
FC106与上同,不在举例了。
注意: 通常在一个项目都有不只一个模拟量需要转换, FC105 和 FC106 在程序中都可多次调
用,调用的方法同上述例子程序。
Contact: 吴经理
Phone: 13808548642
Tel:
Add: 福建省泉州市洛江区万虹路99号