求教:PLC中怎样实现温压补偿的? 西门子Step7编程实例—过热蒸汽流量的温度压力补偿 是计算补燃锅炉出口过热蒸汽流量的FC,过热蒸汽流量需要温度压力补偿,FC是用语句表(STL)源程序编写的。 流量测量一次仪表为 标准孔板 , 差压变送器 输出信号为不带开方的4~20mA标准模拟信号。过热蒸汽带压力和温度自动补偿的流量计算数学模型为: Qm=48.029*(1000*DP*r1)0.5 式中:r1=1000*P/(514.6073*t-3.55463*P+1024634) Qm:补偿后过热蒸汽流量,单位kg/h; DP:过热蒸汽流量差压测量值,单位kPa; P:过热蒸汽压力测量值,绝压,单位kPa; t:过热蒸汽温度测量值,单位℃。 源程序代码: FUNCTION FC1 :void TITLE = 过热蒸汽流量计 算带温度压力补偿 KNOW_HOW_PROTECT AUTHOR : Smartsys FAMILY : F1 NAME : F1 VERSION : 1.0 VAR_INPUT DP: REAL; //差压输入 t: WORD; //温度输入 PT: REAL; //压力输入 PATM: REAL; //大气压 END_VAR VAR_OUTPUT Qm : WORD; // 流量输出kg/h QQm : REAL; // 流量输出kg/s END_VAR VAR_TEMP PA: REAL; //中间变量 Item1: REAL; //中间变量 Item2: REAL; //中间变量 Item3: REAL; //中间变量 r1: REAL; //中间变量 M: REAL; //中间变量 END_VAR BEGIN NETWORK TITLE = 计算 L #PT; L #PATM; +R; T #PA; NETWORK TITLE = 计算 L #t; ITD; DTR; L 10.0; /R; L 514.6073; *R; T #Item1; NETWORK TITLE = 计算 L #PA; L 3.55463; *R; T #Item2; NETWORK TITLE = 计算 L #Item1; L #Item2; -R; L 1.024634e+5; +R; T #Item3; NETWORK TITLE = 计算 L 1000.0; L #PA; *R; L #Item3; /R; T #r1; NETWORK TITLE = 计算 L 1000.0; L #DP; *R; L #r1; *R; SQRT; AN OV ; JC OK ; BEU ; OK: L 4.8029; *R; T #M; NETWORK TITLE = 计算 L #M; L 3600.0; /R; T #QQm; L #M; RND; T #Qm; END_FUNCTION查看更多7个回答 . 3人已关注