累计流量(西门子程序).doc

累计流量(西门子程序).doc

ID:57187599

大小:25.50 KB

页数:12页

时间:2020-08-05

累计流量(西门子程序).doc_第1页
累计流量(西门子程序).doc_第2页
累计流量(西门子程序).doc_第3页
累计流量(西门子程序).doc_第4页
累计流量(西门子程序).doc_第5页
资源描述:

《累计流量(西门子程序).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、累计流量(西门子程序)FUNCTION"FLUXbase":VOIDVAR_IN_PUT   PV:REAL;        //瞬时流量   CYC:REAL;       //采样时间(MS)   PLL:REAL;       //最小瞬时流量END_VARVAR_IN_OUT   OV_ER1:REAL;     //累计偏差   OV_ER2:REAL;     //累计偏差   PV_ALT:REAL;    //上周期瞬时流量   OV:REAL;        //流量累积输出END_VARVAR_TEMP   tmpReal1:

2、REAL;   tmpReal2:REAL;   OValt:REAL;END_VARBEGIN   OValt:=OV;      IFPV>=PLLTHEN       tmpReal1:=PV*(CYC/3.6E+6)+OV_ER1;              tmpReal2:=tmpReal1+OV_ER2;              OV   :=tmpReal2 +OValt;       OV_ER1:=OV_ER2-tmpReal2+tmpReal1;       OV_ER2:=OValt-OV+tmpReal2;   ELS

3、E       OV:=OValt;   END_IF;      IFOV>=1.e+009THEN       OV:=0.e+000;   END_IF;   END_FUNCTION这是我的累积计算,程序简单,精度也比较高 OValt =1.0e+006tmpReal2 =0.1OV = OValt  + tmpReal2 = 1.0e+006+0.1= 1.0e+006OV_ER2:=OValt-OV+tmpReal2=1.0e+006-1.0e+006 +0.1=0.1 qlhcco2008-5-1318:36:36我把我的家底都抖给

4、你了,这是浮点数在执行加减法时产生的误差,我把每次运算的误差再加的本次的积分里,不管再小的数,累加定量以后,他就可以加到OV里了,所以我的这个算法不会因为OV值大了而不能累积。你可以模拟一下,有偏差变量和没有偏差变量的区别。你会发现其中的奥妙了。 yzdatou2008-5-147:11:04模拟了一下确实是对的。谢谢ls指教。你的思路很独特,受教了。 qlhcco2008-5-149:56:14我这个思路也不是完全是我自己的,其实是我在研究SETP7FB41的PID功能是发现的,最后我就应用在累积计算的算法里了 yzdatou2008-5-14

5、19:20:34很佩服你的钻研精神,自愧弗如。另外,我思考再三,仍然要给你来个鸡蛋里面挑骨头,呵呵。假定累积量越来越大,最终达到8位数,而实际有效数字仅7位,那么这个累计量的个位数将不再变化了。 qlhcco2008-5-150:07:57确实是这样的,这是由于浮点数的问题,这个问题不是不可以解决,dint型数据可以显示;可以将OV结果转换为DINT类型数据,OV_ER2也转换成DINT类型数据,OV(dint)+OV_ER2(dint)=OUT(显示用)该输出不用于计算只是用于显示。你认为如何? yzdatou2008-5-1516:26:57

6、你说的没错。我就是用dint类型变量来存储累积量,再用一个real变量存储小于1的累积量到1就进位。FUNCTION_BLOCKFB618//TITLE='LEIJI'//know_how_protectVERSION:'6.0'AUTHOR:nyjNAME:nyjFAMILY:china{S7_m_c:='true'}//BlockParametersVAR_INPUT //InputParametersTongDaoDiZhi{S7_m_c:='true'}:WORD:=0;//AIadressXunHuanShiJian{S7_m_c:='

7、true'}:REAL:=100;//unit:msLiangcheng{S7_m_c:='true'}:REAL:=0.0;//m3/h(max),t/h(max)QingLing{S7_m_c:='true';S7_string_0:='false';S7_string_1:='true'}:BOOL:=0;//backtozeroEND_VARVAR_OUTPUT //OutputParametersShunShiZhi{S7_m_c:='true'}:REAL;//m3/h,t/hLeiJiZhi{S7_m_c:='true'}:DINT

8、;//m3,tEND_VARVAR_IN_OUTLeiJiHH:DINT:=0;//(1e--??ee)LeiJiH:DINT:=0;/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。