回答:程序库例程fc105,fc106,用户可以使用它们将模拟量输入/输出的整数数值与工程量单位之间进行转换。用户需要将此例程安装到程序库中。
步骤1:解压缩“analog_convert.rar”(201111817528726.rar ( 307 kb ) )文件到一个文件夹。
步骤2:打开step7 basic中的“libraries tab”, 点击“open global library”图标
图1
步骤3:选择“analog_convert”库所解压的文件夹。
图2
步骤4:在添加程序库后,fc105(scale),fc106(unscale)即可以被添加到用户程序中。
图3
参数解释:
1. 用户可以使用本例子所提供的fc105将模拟量输入模板的整数数值转换为工程量数值。对于fc105的输入/输出参数解释如下:
表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℃时电流为0 ma,当温度为100℃时电流为20 ma。此时模拟量输入模块得到的对应数值0 ma对应为0,20 ma对应为27648。如果当前电流值为10 ma,则模拟量模块得到的输入值为13824,如果用户希望在cpu中得到一个最终的实际温度值,则可以调用fc105,将模拟量输入模块的数值赋给参数in,工程量上限值给定为100.0,下限值给定为0.0,即可在输出参数out得到实际温度值50℃。
图4:fc105 使用例子
2. 用户可以使用本例子所提供的fc106将工程量值转换为模拟量输出模板所需要的数值。
对于fc106的输入/输出参数解释如下:
表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 类型,其所连接的执行器为调节阀。当电流为0 ma时阀门开度为0%,当电流为20 ma时阀门开度为100%。如果用户希望阀门开度为50%,则可以调用fc106,将开度给定值赋给参数in,工程量上限值给定为100.0,下限值给定为0.0,将模拟量输出模块的地址赋给参数out,此时out数值为13824,即可使模拟量输出模块输出电流值为10 ma,即阀门开度为50%。
图5:fc106 使用例子