流量累积计算共12页文档
- 格式:docx
- 大小:31.14 KB
- 文档页数:12
操作指导:“Totalizer”功能块程序中设置有一个间隔,该功能块使用指定的间隔将测量值累加为一个总值;例如,使用测量线性速度的计量单位或者测量体积的计量单位。
您可以用距离或体积作为物理量,用毫秒、秒、分钟、小时、或天作为测量时间的单位。
图01“Totalizer”功能块中包含下列输入和输出变量以及临时和静态变量。
参数变量数据类型说明输入在一个时间间隔内的测量值VALUE REAL测量的时间间隔输入INTERVAL TIME扫描时间输入CYCLE TIME输入COM_RST BOOL 复位“TOTAL”输出。
输出累计的总输出值TOTAL REAL静态ACCUM REAL 用于存储“TOTAL”输出的临时累积结果临时tINTERVAL REAL REAL 格式的临时时间间隔临时tCYCLE REAL REAL 格式的临时扫描时间表01测量值“VALUE”相关的物理单位可以为,例如,米/秒、立方米/分钟或者公里/小时。
必须在输入变量“INTERVAL”中输入物理单位的间隔时间。
例如:表02程序描述:如果变量“COM_RST”的信号状态是True,则变量“ACCUM”和“TOTAL”被复位为零,不进行任何计算。
如果信号状态为False,则首先将两个输入变量“INTERVAL”和“CYCLE”的数据类型转换为REAL,然后这两个变量的值被传送到临时变量“tINTERVAL”和“tCYCLE”中。
在一个周期中,将变量“VALUE”的输入值乘以临时变量“tCYCLE”的值,然后再除以临时变量“tINTERVAL”的值。
将结果保存在缓冲区“ACCUM”中。
这样,在一个特定的周期内,将缓冲区“ACCUM”中的中间结果累加上该数值,同时在同一周期内将累加结果传送到变量“TOTAL”中。
循环时间反映了处理功能块“Totalizer”的扫描时间。
在循环中断OB35 中调用该FB 时,同时以100 ms 的时间间隔处理程序,该间隔与循环程序的处理时间无关。
已解决收藏流量计累计计算PLC采样电磁流量计瞬时值,然后在OB35中做累加,计算累计值。
现在想计算出每天的进水量,有点没有头绪了,高手们能否给小弟个思路??</P><P> 谢谢…… <BR>悬赏分:5 | 解决时间:2010-04-25 17:34:16 | 提问者:lvking2008- 学长第2级问题ID:47127最佳答案在中断中做,中断周期越小累计越准确。
比如ob35的周期是100msL PV//按小时流量L 36000.0//周期流量/rl sum//累计值+rt sum为了防止出现大数加小数,最后不累计,采用进制方式来累计。
也就是如果sum 大于一定值保存下来sum清零即:l suml 100000.0>=rjcn m1l sum_savel sum+rt sum_savel 0.0t summ1:nop 0回答者:zhangli0 - 顶级工程师第12级 2010-01-15 09:41:08我要评论提问者对于答案的评价:的你觉得最佳答案好不好?很好不好50% (0)50% (0)最佳答案网友评论为了防止出现大数加小数,最后不累计,采用进制方式来累计。
也就是如果sum 大于一定值保存下来。
不知您这个大数加小数是什么意思啊?因为我现在就碰到累加值停止累加的情况,但还没到溢出的值。
烦请您给个指导。
****************.com评论者:king_wang - 资深学长第3级其他答案可以考虑定时中断啊,每天算一下累积差值就是每天的进水量回答者:cloud21 - 顶级工程师第12级 2010-01-15 08:53:41没做过。
不过是否可以考虑10分钟或者半小时对流量瞬时值进行求和,算平均值。
这样一天的进水量就等于平均值乘以你的频率了。
具体是10分钟还是30分钟,你可以做成变量形式,这样就可以接受外界输入,即可以设定采样频率了。
试试吧Good luck回答者:raining010 - 毕业实践员第4级 2010-01-15 09:21:52/service/answer/solution.asp?Q_id=6360&ci d=1029回答者:daliu - 初级工程师第9级 2010-01-15 13:44:34我提出个小方案1.做一个S_CU(计数为1),输入S(M0.2人工采样控制点),把输出M0.3反引回R2.做S_ODT做一个2H的时间计数,M0.2做输入(即每隔两小时Q有一个脉冲输出m0.0,同时反引回R端)3.S_CU做累加输入M0.0,加到12做输出M0.1。
皮带称流量累计原理及计算公式
皮带称流量累计原理及计算公式
当输送机输送物料时,测量皮带称上每单位长度的载荷值q (Kg/M)与皮带在同一时刻的运行速度V(M/S)相乘,所得结果即物料的瞬时流量 : q*v( K g/S).
因物料输送的不均匀性和皮带速度随时间的变化,所以在T时间间隔的累积流量可以用以下积分式表示:
W= q(t)V(t) dt
式中:W-T时间间隔内所输送物料的累计量(kg或T);
T一物料通过称的时间(S或h);
q(t)一皮带单位长度上的物料重量(kg/M 或 T/M );
V(t)一物料在皮带上的运行速度(M/S)。
从式中可以看出,只要保证q(t)*V(t)的乘积不变,就可以保证物料流量的恒定.即随皮带上物料重量的变化控制皮带运行速度做出相应的调整,就可以保证物料流量的恒定。
流量及水力计算公式一、流量计算公式:1.定常流量计算定常流量是指在一段时间内流体的流速不变的流动。
计算定常流量的公式主要有以下几种:(1)流量计算公式:Q=A×v式中,Q为流量,单位为体积/时间;A为流动截面的面积,单位为面积;v为流速,单位为长度/时间。
(2)流速计算公式(液体):v=Q/A式中,v为流速,单位为长度/时间;Q为流量,单位为体积/时间;A 为流动截面的面积,单位为面积。
(3)流速计算公式(气体):v=Q/A=n/S式中,v为流速,单位为长度/时间;Q为流量,单位为体积/时间;A 为流动截面的面积,单位为面积;n为气体的量,单位为物质的量(摩尔);S为气体的体积,单位为体积。
2.非定常流量计算非定常流量是指流体在一段时间内流速发生变化的流动。
计算非定常流量的公式主要有以下几种:(1)容量法:Q = ∫A(x,t) × v(x,t) dx式中,Q为流量,单位为体积/时间;A为流动截面的面积,单位为面积;v为流速,单位为长度/时间;∫表示对流动截面的积分;dx为流动截面的微小长度。
(2)能量法:Q = Area × (h2 - h1) / t式中,Q为流量,单位为体积/时间;Area为流动截面的面积,单位为面积;h为水位,单位为长度;t为时间。
二、水力计算公式:1.压力计算公式:P=ρ×g×h式中,P为压力,单位为力/面积;ρ为液体的密度,单位为质量/体积;g为重力加速度,单位为长度/时间的平方;h为液体的高度,单位为长度。
2.水头计算公式:H=h+P/(ρ×g)式中,H为水头,单位为长度;h为液体的高度,单位为长度;P为压力,单位为力/面积;ρ为液体的密度,单位为质量/体积;g为重力加速度,单位为长度/时间的平方。
3.流速计算公式:v=(2×g×h)^0.5式中,v为流速,单位为长度/时间;g为重力加速度,单位为长度/时间的平方;h为水头,单位为长度。
水管网流量简单算法如下:自来水供水压力为市政压力大概平均为0.28mpa。
如果计算流量大概可以按照以下公式进行推算,仅作为推算公式,管径面积×经济流速(DN300以下管选1.2m/s、DN300以上管选1.5m/s)=流量如果需要准确数据应按照下文进行计算。
水力学教学辅导第五章有压管道恒定流【教学基本要求】1、了解有压管流的基本特点,掌握管流分为长管流动和短管流动的条件。
2、掌握简单管道的水力计算和测压管水头线、总水头线的绘制,并能确定管道内的压强分布。
3、了解复杂管道的特点和计算方法。
【内容提要和学习指导】前面几章我们讨论了液体运动的基本理论,从这一章开始将进入工程水力学部分,就是运用水力学的基本方程(恒定总流的连续性方程、能量方程和动量方程)和水头损失的计算公式,来解决实际工程中的水力学问题。
本章理论部分内容不多,主要掌握方程的简化和解题的方法,重点掌握简单管道的水力计算。
有压管流水力计算的主要任务是:确定管路中通过的流量Q;设计管道通过的流量Q所需的作用水头H和管径d;通过绘制沿管线的测压管水头线,确定压强p沿管线的分布。
5.1 有压管道流动的基本概念(1)简单管道和复杂管道根据管道的组成情况我们把它分为简单管道和复杂管道。
直径单一没有分支而且糙率不变的管道称为简单管道;复杂管道是指由两根以上管道组成管道系统。
复杂管道又可以分为串联管道、并联管道、分叉管道、沿程泄流管和管网。
(2) 短管和长管在有压管道水力计算中,为了简化计算,常将压力管道分为短管和长管:短管是指管路中水流的流速水头和局部水头损失都不能忽略不计的管道;长管是指流速水头与局部水头损失之和远小于沿程水头损失,在计算中可以忽略的管道为,一般认为( )<(5~10)h f %可以按长管计算。
需要注意的是:长管和长管不是完全按管道的长短来区分的。
将有压管道按长管计算,可以简化计算过程。
但在不能判断流速水头与局部水头损失之和远小于沿程水头损失之前,按短管计算不会产生较大的误差。
流量计算公式范文流量计算是指根据一定的指标和参数来计算出特定时间段内的数据流量。
数据流量是指在网络通信时,通过网络传输的数据的总量,通常以字节为单位。
在计算流量时,常用的公式有以下几种:1.传输速率乘以时间:流量=传输速率×时间2.平均速率乘以时间:流量=平均速率×时间这个公式和上面的公式类似,只不过传输速率换成了平均速率。
平均速率指的是一段时间内的传输速率的平均值,可以通过多次测量得到。
这个公式适用于传输速率变化较大的情况,比如网络上传输视频等。
3.包大小乘以包数量:流量=包大小×包数量对于通过网络传输的数据包来说,流量可以通过包的大小乘以包的数量得到。
包大小指的是每个包的字节数或比特数,包数量指的是传输的包的个数。
这个公式适用于已知包大小和包数量的情况,比如网络传输文件、网页等。
4.信道容量:流量=信道容量×时间信道容量指的是在单位时间内信道能够传输的最大数据量,单位可以是字节、比特等。
这个公式适用于已知信道容量和时间的情况,比如网络带宽的计算。
需要注意的是,以上公式只是一般的计算方法,实际情况中可能会因为网络协议、压缩算法等因素而略有不同。
另外,在计算流量时,还需要考虑到网络开销、传输失败重传等因素对流量的影响。
在实际应用中,计算流量可以帮助网络管理员监控网络使用情况,优化网络带宽的分配,合理安排网络资源。
对于用户来说,可以帮助选择合适的网络服务套餐,控制网络使用量,避免超出套餐流量导致额外费用的发生。
总之,流量计算是网络通信中重要的一环,可以根据不同的指标和参数来计算出特定时间段内的数据流量,帮助优化网络资源的分配和使用。
流量计算1. 引言流量计算是指对数据在网络中传输的数量进行量化和统计的过程。
它广泛应用于网络流量管理、资源调度和系统性能优化等领域。
流量计算可以通过各种方法来实现,包括基于硬件的流量计算设备和基于软件的流量计算算法。
本文将介绍流量计算的基本概念、常用方法以及应用场景。
2. 流量计算的基本概念2.1 流量在计算机网络中,流量是指在一段时间内通过网络传输的数据量。
它通常以比特(bit)或字节(byte)为单位进行量化。
流量的计算可以从多个角度进行,如输入流量、输出流量、总流量等。
2.2 流量计算流量计算是对流量进行量化和统计的过程。
它可以基于网络设备、软件算法或两者的结合来实现。
流量计算常用于流量监控、流量分析、带宽控制等场景。
通过对流量进行计算和分析,可以了解网络的负载情况、优化资源分配以及发现网络异常。
3. 常用的流量计算方法3.1 基于网络设备的流量计算基于网络设备的流量计算通常使用硬件流量计算器来实现。
它可以通过在网络设备上添加专用的流量计算模块或芯片,对输入和输出数据进行统计和计算。
3.2 基于软件的流量计算基于软件的流量计算通常使用算法来实现。
常用的算法包括采样算法、双向流量计算算法和自适应流量计算算法等。
这些算法可以通过对网络数据包进行抽样、监测和分析来计算流量。
3.3 组合方法流量计算也可以使用基于硬件和软件的组合方法。
例如,可以在网络设备上安装硬件流量计算模块,并结合算法来实现更精确和准确的流量计算。
4. 流量计算的应用场景4.1 流量监控流量监控是流量计算的重要应用之一。
通过监控网络流量,可以实时了解网络的负载情况,及时发现并解决网络拥堵和异常情况。
4.2 资源调度流量计算可以帮助进行资源调度,优化网络资源的分配和利用。
例如,根据流量计算的结果,可以动态调整带宽分配,提高网络的负载均衡性能。
4.3 系统性能优化流量计算还可以用于系统性能的优化。
通过对流量进行计算和分析,可以找出网络瓶颈和性能瓶颈,进一步优化网络和系统的性能。
网站流量分析相关指标计算公式文档
1. 访问量(PV)计算公式
访问量是指网站或页面在特定时间内被访问的总次数。
通常使用以下公式计算访问量:
访问量 = 用户访问页面的次数总和
2. 独立访客(UV)计算公式
独立访客是指在特定时间内访问网站或页面的唯一用户数量。
常用的计算公式如下:
独立访客 = 不重复的用户访问网站或页面的数量
3. 页面停留时间计算公式
页面停留时间是指用户在网站或页面停留的平均时间,它可以衡量用户对网站内容的关注程度。
常用的计算公式如下:
页面停留时间 = 用户在网站或页面停留的总时间 / 访问量
4. 页面跳出率计算公式
页面跳出率是指用户在访问网站或页面后立即离开的比例。
通常使用以下公式计算页面跳出率:
页面跳出率 = 离开页面的访问量 / 进入页面的访问量
5. 转化率计算公式
转化率是指用户在网站上执行某个目标操作的比例,比如提交表单、购买商品等。
计算转化率的公式如下:
转化率 = 完成目标操作的用户数量 / 访问网站的用户数量
6. 平均访问深度计算公式
平均访问深度是指用户在一次访问中平均浏览的页面数量。
常用的计算公式如下:
平均访问深度 = 访问量 / 独立访客数量
以上是网站流量分析中常用的指标计算公式,通过计算这些指标可以了解网站的流量情况,优化网站的用户体验和提高转化率。
200的话应该只接受0-20毫安信号,用4-20毫安输入先要做一下量程转换,把0-20毫安信号转为4-20毫安,然后在做工程单位换算,算出当前单位的瞬时值,即可显示瞬时流量。
做流量累计的话,把瞬时值按当前时间单位进行累加即可,时间单位越小,累积误差越小。
例如:流量计量程0-100升/分,变送输出4-20MA,plc为单极性输入0-20MA(即0-32000,对应4-20MA为6400-32000),可按下面公式计算出瞬时流量:瞬时流量值= [(量程上限- 量程下限)* (PLC当前采集数- 6400) / (32000 - 6400)] + 量程下限当当前流量计顺时流量为50升/分,变送输出为12MA,PLC采集量即为19200:瞬时流量值=[(100 - 0)* (19200 - 6400) / (32000 - 6400)] + 0 = 50做流量累积的话,可把升/分单位换算成升/秒,然后每秒钟对瞬时流量做一次累加,最后得数再换算回升/分,即可得出当前累积流量。
一般情况下按秒做误差比较大。
至于怎么清零,日累积,月累积什么的计算看你实际要求了。
PLC里做计算时别忘了先把实数转换浮点数,运算完再转回来本文三个编程实例都是在网上回答网友的求助而编写的,现重新整理,供网友参考,有不当之处,请批评指正。
一、一网友求助:“在文本显示器上设定一个数据,也就是需要的吨数,启动PLC,到我设定的吨数后,停泵就可以啦,使用硬件有西门子s7-200cpu226,模拟量模块EM235,文本显示器,电磁流量计,泵各一个。
这个程序怎么编?请各位师傅帮帮忙?文本显示器也连好啦,文本显示器上怎么设置也解决啦。
”又一网友求助:“我需要流量信号转换成数字信号,对应的数字信号累加成实际流量吨数输出,然后再采用比较设定吨数到达后停泵,对应的流量量程是80立方。
输入的流量信号是4-20MA,请麻烦你给我编一下程序。
谢谢啦。
”回复:1、EM235模块当输入信号为20MA时对应的数字量AIW4 =32000,对应的流量为80 立方/ 秒= 8 立方/ 0.1秒。
假设现场气体流量计仪表位号为 FIT-2101 ,铭牌标注量程 35 - 1000 m3/h,信号输出类型为4-20mA,不管选用何种类型PLC和PLC编程软件,把该现场仪表流量累积通过PLC编程软件实现出来(有DA输入及周期循环累积就可以了)。
应擂者需说明采用何种类型PLC,需要粘贴实现流量累计的PLC程序,同时最好有相应的程序说明。
本周末结贴,三个最优回帖分别获得25MP、15MP、10MP!MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。
兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
总记录数29 总页数1当前页11引用 | 回复| 2010-08-19 08:55:09 1楼永不止步打酱油的路过。
引用 | 回复| 2010-08-19 09:08:53 2楼小楼气体流量计采用模拟量进行累加,进行气体累计的方式不是很可取。
当然这个可以作为一个算法。
引用 | 回复| 2010-08-19 09:15:43 3楼饶歌天然气的计算比较复杂,由于气温、湿度、压力、天然气的纯度都影响积算,今天的擂台题设定在理想标准状态下。
引用 | 回复| 2010-08-19 11:25:50 4楼工控十年采用丰炜VH-20AR PLC,主机自带4AD/2DA,通过读写特殊寄存器操作。
程序中写的是每秒读一次,60秒求一次平均流量(最简单的总和平均,没做细处理),最后做累加。
M0为流量清空按钮。
写的比较简单,只为抛砖引玉,也没调试,有错误是肯定的,欢迎指点。
引用 | 回复| 2010-08-19 11:56:18 5楼云锋采用施耐德Premium系列PLC,配置4AI模块。
程序采集每秒管网实时流量,进行小时累积,处理后得到每小时流量。
程序图1接上图引用 | 回复| 2010-08-19 12:39:00 6楼abysmal云峰用施耐德PLC解题,支持一下。
引用 | 回复| 2010-08-19 15:48:56 7楼jiaoanpeng这样的程序,只要功能能够实现,路径并不重要,不过对于气体流量计,比较繁琐,要看工艺要求是标准流量还是工况流量。
至于PLC类型大多数都能实现,只要有AI输入模块,再者需要编程计数模块程序和清零程序,及FIT-2101 的预处理程序包括AD转换及判断程序。
还要有工况与标准的转换程序。
具体的编程保密呵呵。
这应该属于知识产权,不对外泄露。
引用 | 回复| 2010-08-19 19:04:23 8楼老菜鸟我本来只是打下酱油,准备路过的。
但看到楼上几位比较积极,也看到有人喜欢保密这个程序,所以我对这个程序来具体说明并公开一下。
引用 | 回复| 2010-08-19 19:06:52 9楼老菜鸟我下面的程序属于笔者原创,所有文字及程序均由笔者自己书写,并非摘抄!该程序是以西门子S7-200系列PLC为例来编写的。
该程序经过在S7-224上面测试成功,基本上无误差!(误差在小数点后几位)。
引用 | 回复| 2010-08-19 19:08:17 10楼老菜鸟下面先对程序的方案、思维方式、编程方法、注意事项等方面进行说明,然后再贴上PLC程序。
引用 | 回复| 2010-08-19 19:09:10 11楼老菜鸟对于流量累计而言,看起来好像是个很简单的程序,但实质上还是有很多需要注意的地方。
写累加程序不难,但要做到误差最小,就不是那么容易的事情了。
简述如下。
引用 | 回复| 2010-08-19 19:15:19 12楼老菜鸟1. 首先是采样时间采用的计时方式的问题。
可能有些人会采用定时器(包括1ms/10ms/100ms/1s定时器及秒脉冲等)来作为采样周期--------这样会增大误差。
可以用计时器指令来来作为采样间隔时间,每次计时器到了设定值就采样一次。
计时器的精度不可能高于它的时基,因此每次计时器超时和再次开始计时的时候,都要产生一个时基的正或负的误差。
例如,10ms为一个时基的计时器预定计10次,其时间计算将是100ms正或负10ms。
假设你采用100ms定时器来作为采样周期,那么在程序运行过程中,实际上的有效采样周期不是100ms,在这个基础上还包括了PLC的扫描周期的一部分(扫描周期过程包含如下内容。
读取输入--------S7-200将实际输入的状态复制到过程映像输入寄存器;执行程序中的控制逻辑--------S7-200执行程序指令,并在不同的存储区存储数值;处理通讯请求--------S7-200执行通讯所需的所有任务;执行CPU自检诊断--------S7-200可确保固件、程序存储器和所有扩展模块正确工作;写入输出--------将存储在过程映像输出寄存器中的数值写入到实际输出。
)。
该方式的采样间隔时间是固定的,但实际采样时间不是定时器的时间,而是比定时器的时间大一些,因此累计值比实际值就会小一些。
越累计越多,误差就越大。
诸如贝加莱、Sigmatek这样的使用C语言进行编程的PLC,它们的PLC中并无定时器T这个寄存器区,而是通过读取系统时钟来完成定时的。
不过结果相同,一样的要产生误差。
当然,也可以采用一种技巧来减少因计时器精度带来的误差。
我们采用长的时间计时来作。
例如,10ms为一个时基的计时器预定计30000次,其时间计算将是300s正或负10ms。
在这其中,我们可以预定一个采样间隔时间为10个时基(100ms)以上。
每次程序扫描,处理器判断如果自从上次累积运算起,时间间隔超过预定时间(例如:100ms),就将这段时间乘以当前的瞬时流量值作为累加量。
该方法的计算精度虽然高一些,但采样间隔时间却不是固定的了,而累计值比实际值仍然会小一些。
越累计越多,误差就越大。
因此,该程序笔者采用了定时中断的计时方式来进行流量的累计。
引用 | 回复| 2010-08-19 19:17:42 13楼老菜鸟2. 其次,是采样间隔时间的数值问题。
采样间隔时间越短,计算误差就越小,越逼近于实际值--------但永远都达不到实际值,只能说是越接近而已。
可是,采样间隔时间越短就会增加PLC的运算次数。
当这个采样时间太小(例如1ms),就会出现问题。
对于采用定时器来累计的情况,从上面第1条的叙述中可以看出,由于扫描周期的影响,累计值那就不是一点点的误差了,而是错误了!对于采用定时中断来累计的情况,PLC占用了过多的资源去运行中断程序,可能导致主程序或其它子程序控制出现滞缓或者非预期问题的情况,还可能造成看门狗定时器溢出而造成问题。
这个问题比较复杂些,这里就不讨论了。
对于这个问题,没有更好的解决方案,只求达到一个合理值就可以了,不用去追求非常非常高的精度!在实际工程应用中,典型的采样周期为100ms。
该程序采用的采样周期就是100ms。
引用 | 回复| 2010-08-19 19:20:49 14楼老菜鸟3. 第三,是累计计算时的误差问题。
这里,先要说一下浮点数运算的问题。
S7-200系列PLC仅支持单精度浮点数而不支持双精度浮点数,因此仅支持10进制的7位有效数字(如果要问为什么,说起来就比较麻烦一些,我在这里就不赘述了。
如果需要,我可以单独发帖来说明这个问题)。
在累计流量比较大的情况下,小数点后面的尾数就少了--------两个要相加的数差别太大,就会造成误差!(这个问题解释起来也稍微有点麻烦。
如果需要,我可以单独发帖来说明这个问题)累计的精度就越来越低了,误差也就越来越大了。
为了避免出现这个问题,我们可以想办法使整个运算过程中小数和整数分开计算,且保证小数的有效数字最大可以达到7位。
该程序就采用了这种计算方法。
在2个数相加的时候,如果两者相差特别大,那么会出现误差。
例如10的8次方加1仍然等于10的8次方。
实际上,当有效数字达到7位以上时,多余的就会被丢弃--------例如3,632,523,000加4987,那么结果应当是3,632,527,987,但由于只能保留7位有效数字,因此结果就是3,632,527,000,数值978被丢失。
为了避免出现这个问题,在整数部分计算时,如果数值超过9999999就把该值减去9999999,然后把另外一个计算9999999的计数单位加1。
在本程序中,如果累计值超过1000000,就把累计值减去1000000,然后把百万计数器加1。
引用 | 回复| 2010-08-19 19:24:42 15楼老菜鸟下面我就贴程序了。
首先贴主程序。
引用 | 回复| 2010-08-19 19:25:53 16楼老菜鸟下面是主程序。
引用 | 回复| 2010-08-19 19:27:19 17楼老菜鸟下面继续贴中断程序INT_0。
注意:这里的9.234569是在采样时间(SMB35的毫秒值)内的瞬时流量,这里的单位就是立方米/百毫秒(相应的,累计流量的单位就是立方米)。
因为每种工程量的转换函数不一样,这里就没有按照帖子主题那样的要求来计算工程量了,还请见谅!!!引用 | 回复| 2010-08-19 19:29:32 18楼老菜鸟程序中VD500就是得到的累计结果!实测2个小时,在超过100万之后,数据仍然不存在误差!!!测试成功!引用 | 回复| 2010-08-19 19:31:37 19楼老菜鸟编写并调试了程序,也打了那么多的字,花了几个小时,目的是为了和大家分享一下。
程序中如有欠妥之处,欢迎指正!引用 | 回复| 2010-08-19 19:33:22 20楼老菜鸟下面是测试程序监控的画面:引用 | 回复| 2010-08-19 19:46:09 21楼老菜鸟因为我看到网上很多人都对这个流量累计有很多疑问。
包括定时器精度、浮点数精度、数据过大的问题,产生了误差。
所以,就写了这个程序。
引用 | 回复| 2010-08-19 20:12:51 22楼怪话二王呵呵老菜考虑问题很细,俺得赞一个PLC,俺从来也木有摸过,呵呵,,,俺那天去乡下喝汤,摸咧摸母猪脸蛋,公猪瞪着眼就跑过来拱俺咧,,英雄救美,让俺老流氓,深刻地感动咧一场~~100ms的取样周期,足够咧,一是由于流量,不是个瞬变参数,二是由于流量计的输出信号,刷新速度大约4次/秒气体流量累积,是要将实况体积流量,累积到标况体积流量俄看在这个上面,尤其在低流量测量时,温压补偿采用的测量手段和补偿算法失当,才是误差的主要来源有时候,遇到一些,学术地位还挺了得的人,听他宣贯听他海摆,由不得你暗暗想骂:瓜P~~~~~~~· 生灵万岁,,,每当想起那头,脸蛋光光浅红的母猪,俺就会油然升起,对英雄的敬仰之情..........................引用 | 回复| 2010-08-20 01:00:49 23楼winter1977感谢老菜鸟,我做过水的累积,用的的是积分命令,将瞬时的流量进行累积,得到每8小时的累积量。