2 0 0 6 -0 8 -1 0模拟量输入输出程序设计模拟量输入输出程序设计屈小理2一.模拟量输出模块FC106HELP 理解:在STEP7 HELP 中,针对模拟量输出功能块FC106 作了较为详细的描述。在此,首先理解HELP 中的内容。分析:在HELP 中,FC106 被称为“Unscaling Value”译成中文的意思是“非标定值功能模块”,或“非测量值功能模块”。为什以起这么个名字呢?暂且不论!功能:图如下所示:INUNSCALEENENOREALHI_LIMLO_LIMBIPOLARBOOLRET_VALWORDOUTINTFC106REALREAL输入上限输入下限输出极性输入输出返回值FC106 参数说明:参数声明数据类型说明EN输入BOOL信号为1 时启动 FC106 功能块ENO输出BOOL功能块FC106 无错执行时,输出状态为1IN输入REAL输入值非标定为一个整数值.HI_LIM输入REAL输入上限值.LO_LIM输入REAL输入下限值.BIPOLAR 输入BOOL信号为1 时,输出为双极性(BIPOLAR)。为0 时输出为单极性(unipolar).OUT输出INT非标定转换的结果。RET_VAL 输出WORD若功能块FC106 无错转换返回值为W#16#0000描述:非标定功能接受一个标定在上下限之间(LO_LIM 和 HI_LIM)的以工程单位表示的浮点输入值(IN),并将其转换为整数值,结果送至输出(OUT)。其计算公式如下:OUT = [ ((IN-LO_LIM)/(HI_LIM-LO_LIM)) * (K2-K1) ] + K1…………⑴式中:常数 K1 和 K2 的设置取决于 BIPOLAR 端是 1 还是 0。为1 时为双极性 BIPOLAR,为0 时为单极性 UNIPOLAR。BIPOLAR(双极性):输出整数设定为-27648 和+27648,即 K1=-27648,K2=+27648。UNIPOLAR(单极性):输出整数设定为0 和+27648,即 K1=0,K2=+27648超限:如果 IN 输入值超限,会被限制在所设定的上下限值上,并在RET_VAL 输出出错值W#16#0008.。公式⑴的证明:按照数学公式的惯例,将公式⑴中的OUT 改换为Y,IN 改换为X,LO_LIM改换为L,HI_LIM 改换为H.则公式变形为:Y = [ ((X-L)/(H-L)) * (K2-K1) ] + K1…………⑴模拟量输入输出程序设计屈小理3现在来证明这个公式:下图为上下限非对称的FC106 输入,输出曲线。包括了上下限对称和下限为0 的典型用法用该图推出的公式可以适用于各种非标定输入,输出的情况。YXK2K1LHBb证明:直线方程很显然是:Y=X {(K2-K1)/(H-L)}+b⑵要把b 求出来。先求B,B=(H+L)/2再求b,b=-[((K2-K1)/(H-L))×((H+L)/2)],将该结果代入直线方程⑵经化简后得到:Y=(X-L){(K2-K1)/(H-L...