当前位置:首页 > 机械智慧 > 正文

西门子S7-1200 CPU模拟量转换,FC105 FC106使用

问题:在S7-1200CPU中,如何实现模拟量数值与工程量数值之间的转换?回答:本文档提供了程序库例程FC105,FC106,用户可以使用它们将模拟量输入/输出的整数数值与工程量单位之间进行转换。用户需要将此例程安装到程序库中。步骤1:解压缩“analog_”(201111817528726.rar...

问题:在S7-1200CPU中,如何实现模拟量数值与工程量数值之间的转换?回答:本文档提供了程序库例程FC105,FC106,用户可以使用它们将模拟量输入/输出的整数数值与工程量单位之间进行转换。用户......

问题:在S7-1200CPU中,如何实现模拟量数值与工程量数值之间的转换?

回答:本文档提供了程序库例程FC105,FC106,用户可以使用它们将模拟量输入/输出的整数数值与工程量单位之间进行转换。用户需要将此例程安装到程序库中。

步骤1:解压缩“analog_”(201111817528726.rar(307KB))文件到一个文件夹。


图1

步骤3:选择“analog_convert”库所解压的文件夹。


图2

步骤4:在添加程序库后,FC105(SCALE),FC106(UNSCALE)即可以被添加到用户程序中。


图3

参数解释:

1.用户可以使用本例子所提供的FC105将模拟量输入模板的整数数值转换为工程量数值。对于FC105的输入/输出参数解释如下:

参数类型数据类型存储区描述EN输入BOOLI,Q,M,D,L信号状态“1”,激活该块。ENO输出BOOLI,Q,M,D,L块执行无错误时,输出信号状态“1”。IN输入INTI,Q,M,D,L,常数需转化的整数输入值。HI_LIM输入REALI,Q,M,D,L,常数物理单位的高限值。LO_LIM输入REALI,Q,M,D,L,常数物理单位的低限值。BIPOLAR输入BOOLI,Q,M,D,L,常数信号状态“1”表示双极性输入值。信号状态“0”表示单极性输入值。

OUT输出REALI,Q,M,D,L,转化后的工程量结果。RET_VAL输出WORDQ,M,D,L,当操作没有错误,输出值W0000。

表1:FC105参数

参数转化关系:

OUT=[((FLOAT(IN)–K1)/(K2–K1))*(HI_LIM–LO_LIM)]+LO_LIM

注意:如果用户使用的输入/输出类型为双极性(如±10V,±5V等),BIPOLAR参数应当给定为TRUE,此时K1=-27648,K2=27648,否则K1=0,K2=27648。

例如:假设模拟量模块所接传感器为0-20mA类型,其测量对象为温度,当温度为0℃时电流为0mA,当温度为100℃时电流为20mA。此时模拟量输入模块得到的对应数值0mA对应为0,20mA对应为27648。如果当前电流值为10mA,则模拟量模块得到的输入值为13824,如果用户希望在CPU中得到一个最终的实际温度值,则可以调用FC105,将模拟量输入模块的数值赋给参数IN,工程量上限值给定为100.0,下限值给定为0.0,即可在输出参数OUT得到实际温度值50℃。


图4:FC105使用例子

2.用户可以使用本例子所提供的FC106将工程量值转换为模拟量输出模板所需要的数值。

对于FC106的输入/输出参数解释如下:

参数类型数据类型存储区描述EN输入BOOLI,Q,M,D,L信号状态“1”,激活该块。ENO输出BOOLI,Q,M,D,L块执行无错误时,输出信号状态“1”。IN输入INTI,Q,M,D,L,常数工程量给定值。HI_LIM输入REALI,Q,M,D,L,常数物理单位的高限值。LO_LIM输入REALI,Q,M,D,L,常数物理单位的低限值。BIPOLAR输入BOOLI,Q,M,D,L,常数信号状态“1”表示双极性输入值。信号状态“0”表示单极性输入值。

OUT输出REALI,Q,M,D,L,转化后的整数结果。RET_VAL输出WORDQ,M,D,L,当操作没有错误,输出值W0000。

表2:FC106参数

参数转化关系:

OUT=[((IN–LO_LIM)/(HI_LIM–LO_LIM))*(K2–K1)]+K1

注意:如果用户使用的输入/输出类型为双极性(如±10V等),BIPOLAR参数应当给定为TRUE,此时K1=-27648,K2=27648,否则K1=0,K2=27648。

例如:假设模拟量输出模块输出设置为0-20mA类型,其所连接的执行器为调节阀。当电流为0mA时阀门开度为0%,当电流为20mA时阀门开度为100%。如果用户希望阀门开度为50%,则可以调用FC106,将开度给定值赋给参数IN,工程量上限值给定为100.0,下限值给定为0.0,将模拟量输出模块的地址赋给参数OUT,此时OUT数值为13824,即可使模拟量输出模块输出电流值为10mA,即阀门开度为50%。


图5:FC106使用例子

最新文章