累积流量
管道流体的流量计算

管道流体的流量计算流量是指单位时间内通过管道或通道的流体量。
在工程应用中,流量的准确计算对于管道系统的设计、运行和维护至关重要。
本文将介绍管道流体流量计算的基本原理和常用方法。
一、流量计算原理管道流体的流量计算可以采用多种方法,最常用的方法包括质量法和容积法。
在质量法中,流量的计算基于流体通过一个截面的质量。
而在容积法中,流量的计算基于流体通过一个截面的体积。
无论采用何种方法,流量计算的基本原理可以归纳为以下公式:流量 = 截面面积 ×流速其中,流量表示单位时间内通过截面的流体量,截面面积是垂直于流体流动方向的截面的面积,流速表示单位时间内流体通过截面的速度。
二、质量法的流量计算质量法的流量计算是基于流体通过截面的质量变化来进行的。
流量计算公式如下:流量 = 密度 ×截面面积 ×流速其中,密度表示流体的质量单位体积,可以通过实验或参考数据获得。
在实际应用中,常用的质量法流量计算方法包括瞬时流量计算、累积流量计算和平均流量计算等。
1. 瞬时流量计算:通过在管道中安装流量传感器,可以实时监测流速,并结合密度和截面面积,计算得到瞬时流量值。
2. 累积流量计算:通过连续监测瞬时流量值,并进行积分操作,可以得到在某一时间段内的累积流量值。
3. 平均流量计算:通过连续监测瞬时流量值,并进行平均操作,可以得到某一时间段内的平均流量值。
三、容积法的流量计算容积法的流量计算是基于流体通过截面的体积变化来进行的。
流量计算公式如下:流量 = 截面积 ×变化体积 / 变化时间其中,变化体积表示流体通过截面的体积变化,变化时间表示流体通过截面的时间。
容积法的流量计算可以通过不同的方法实现,常用的方法包括涡轮流量计、涡街流量计、电磁流量计等。
1. 涡轮流量计:该流量计利用流体流过装置时产生的转子转动,通过测量转子转速实现流量计算。
2. 涡街流量计:该流量计利用流体流过装置时产生的涡街效应,通过测量涡街频率实现流量计算。
西门子PLC中如何解决流量累积问题

西门子PLC中如何解决流量累积问题问题1:自行编写流量累计程序自行编写流量累计程序的原理,其实就是积分的最原始算法概念,把单位小间隔时间内的瞬时流量乘以单位间隔时间,得到单位小间隔时间内的流量,再把这些小流量累加起来,就的到了累计流量。
在流量累计编程中经常会遇到实数加法问题,实数加法运算的注意事项也应当引起编程人员的重视,请看下例程序(假设其在OB35中被调用,目的为每隔一定时间间隔就累计一次流量)L MD0 //累计流量存储值L MD4 //流量瞬时值+R T MD 0以上的程序是否存在问题?很多人会认为没有问题,但实际情况是此程序在运行一段时间后就将出现错误。
此程序在运行之初是正常的,因为累计流量初始值及流量瞬时值都为一个很小的浮点数,两数相加后,结果正确。
但是当一段时间后,累计流量的数值逐渐增大,当它与瞬时流量的数值相差很远的时候,两者执行加法操作后,瞬时流量的数值将被忽略掉(如9999990.0与0.2做加法操作)。
其实具备计算机常识的人都应当清楚这一点,这是由于浮点数的存储机制造成的,是所有计算机方面编程都需要考虑的问题。
这个问题可以通过使用二次累加或多次累加的方法来解决。
所以在编程时应避免数量级相差太多的浮点数之间进行运算。
很多人反映“加法指令不好用了”,很有可能就是数量级相差很多的实数进行了加法运算。
问题2:累计流量误差问题对于积分算法,取小的矩形对流量进行累计,肯定是矩形划分越细,误差越小,不存在误差是不可能的。
问题3:流量计与PLC构成的系统的误差流量计有多种多样,下面举些例子:1、流量计本身没有累计流量功能,但可以把瞬时流量以模拟量的方式(4-20mA)输出。
此时累计流量的最大误差可以估算为:流量计本身误差* 流量计D/A误差* 模拟量模块A/D误差* PLC流量累计算法误差假设上面所有误差都是1%,则最后的误差约为:4.06%1.01*1.01*1.01*1.01=1.0406对于某些流量计,本身的瞬时流量误差可能就是3%,所以这样的系统累计流量的误差可能还要大些。
关于累积量积算的浅见

流量计累积量积算流量累积的原理如何把瞬时流量(又称流率)经过累加运算为总流量,一般有如下一个公式:瞬时流量×时间=总流量我们知道,假设一个流量值为5m3/s在1min内不变化,则在这1min内的的总流量为:(5m3/s) * 60s = 300m3现在假设流量变化如下:4m3/s有30 s5m3/s有10 s6m3/s有20 s则在这1min内的的总流量为:(4m3/s)*30s+(5m3/s)*10 s+(6m3/s)*20s=290m3假设流量随时都可能变化,那么就不能用上面的公式来计算总流量了。
我们可以按一定的时间间隔采样流量值,然后计算这些值的总和。
流量的采样时间越短,计算的结果就越准确。
请看图2和图3。
在上面2个例子中,曲线下面的区域就是总流量。
采样间隔时间越短,计算误差就越小。
在实际应用中,由于PLC计时器的限制,最短的时间间隔只有0.01s。
然而采样间隔时间越短,计算次数就越多,这样就增加了PLC的程序扫描时间。
我们使用S7-300系列PLC中的OB35中断组织块可以轻松克服上述难题。
另外要考虑的是运算所用到的数据格式。
PLC s7-300数据表按不同的格式和范围来存储不同类型的数据。
有两种文件格式可以选择,一是N文件(整数型文件),值的范围为-32768到+32767,占1个16位字;因为在累积运算过程中,数的乘积和多次累加值一般都会超出+32767,所以我们尽量不用N文件。
另外是F文件(浮点数文件),值的范围为±1.175494e-38到 3.402823e+38,占1个32位字。
浮点数在寄存器中32位的空间表示为:S xxxxxxxx mmmmm上面: s=符号x=指数m=尾数可见用浮点数表示的值的十进制有效位数只有7位。
因此,必须考虑有效位数问题。
举例如下: 假设A代表计算的总流量,F代表计算上一次累加的流量,把F加到A上就会计算出一个新的总流量。
在控制器的存储器中,A和F使用浮点数文件格式,有效数字是7位。
流量累积计算共12页文档

假设现场气体流量计仪表位号为 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模块。
程序采集每秒管网实时流量,进行小时累积,处理后得到每小时流量。
流量计量名词术语及定义

流量计量名词术语及定义JJG 1004-86Metrological Terms and TheirDefinitions for Flow Rate本检定规程经国家计量局于1986年5月28日批准,并自1987年5月1日起施行。
归口单位:中国计量科学研究院。
起草单位:中国计量科学研究院。
本规程技术条文由起草单位负责解释。
本规程主要起草人:翟秀贞(中国计量科学研究院)龚家彪(南京工学院)参加起草人:郑荣根(上海机械学院)郁成(航天工业部三院计量站)一一般术语1 流量 Flow rate单位时间内流过管道横截面或明渠横断面(简称横截[断]面)的流体量。
流体量以质量表示时称“质量流量”,流体量以体积表示时称“体积流量”。
注:(1)在明渠中流体是指液体;(2)流量也就是瞬时流量;(3)流量对时间的积分称为“累积流量”,它表示在一段时间内流过横截[断]面的流体总量,也可称“总量”。
(4)括号[ ]中的名词术语一般是对明渠流所用的。
2 平均流量() Average flow rate在测量时间内流量的平均值,也可称时均流量。
=式中:q----质量流量;Q----体积流量;t-----时间;----密度。
3 额定流量 Rated flaw rate流量计在规定性能或最佳性能时的流量值,它可用最高或(和)最低限值表示。
4 管流 Pipe flow;Duct flow流体充满管道的流动。
5明渠流 Open channel flow液体在明渠中的流动。
6 定常流 Steady flow在被测横截[断]面上各流动要素(流速、压力等),不随时间显著变化的流动。
注:观察到的定常流实际上其速度、压力、密度和温度等量都会围绕着平均值有很小变化,但不影响到测量的不确定度。
定常流仅是“平均定常流”。
7 脉动流 Pulsating flow流过测量横截[断]面的流量以某一常数值为中心随时间有波动的流动。
注:常见的有周期脉动流;波动(随机)脉动流二种。
累计流量

累计流量累计流量累计流量累计流量(西门子程序西门子程序西门子程序西门子程序) FUNCTION "FLUXbase" : VOID V AR_IN_PUT PV : REAL ; //瞬时流量CYC : REAL ; //采样时间(MS) PLL : REAL ; //最小瞬时流量END_V AR V AR_IN_OUT OV_ER1 : REAL ; //累计偏差OV_ER2 : REAL ; //累计偏差PV_ALT : REAL ; //上周期瞬时流量OV : REAL ; //流量累积输出END_V AR V AR_TEMP tmpReal1 : REAL ; tmpReal2 :REAL ; OValt : REAL ; END_V AR BEGIN OV alt := OV ; IF PV >= PLL THEN 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 ; ELSE OV := OValt ; END_IF ; IF OV >= 1.000000e+009 THEN OV := 0.000000e+000; END_IF ; END_FUNCTION 这是我的累积计算,程序简单,精度也比较高OValt = 1.0e+006 tmpReal2 = 0.1 OV = OValt + tmpReal2 = 1.0e+006 + 0.1 = 1.0e+006 OV_ER2 := OValt - OV + tmp Real2 = 1.0e+006 - 1.0e+006 + 0.1 = 0.1 qlhcco 2008-5-13 18:36:36 我把我的家底都抖给你了,这是浮点数在执行加减法时产生的误差,我把每次运算的误差再加的本次的积分里,不管再小的数,累加定量以后,他就可以加到OV里了,所以我的这个算法不会因为OV值大了而不能累积。
PLC编写流量累积程序时候需要注意的要点

1. 自行编写流量累计程序时候累计到一定数量级后不累积自行编写流量累计程序的原理,其实就是积分的最原始算法概念,把单位小间隔时间内的瞬时流量乘以单位间隔时间,得到单位小间隔时间内的流量,再把这些小流量累加起来,就的到了累计流量。
在流量累计编程中经常会遇到实数加法问题,实数加法运算的注意事项也应当引起编程人员的重视,请看下例程序(假设其在OB35中被调用,目的为每隔一定时间间隔就累计一次流量)L MD0 //累计流量存储值L MD4 //流量瞬时值+RT MD 0以上的程序是否存在问题?很多用户会认为没有问题,但实际情况是此程序在运行一段时间后就将出现错误。
此程序在运行之初是正常的,因为累计流量初始值及流量瞬时值都为一个很小的浮点数,两数相加后,结果正确。
但是当一段时间后,累计流量的数值逐渐增大,当它与瞬时流量的数值相差很远的时候,两者执行加法操作后,瞬时流量的数值将被忽略掉(如9999990.0与0.2做加法操作)。
其实具备计算机常识的人都应当清楚这一点,这是由于浮点数的存储机制造成的,是所有计算机方面编程都需要考虑的问题。
这个问题可以通过使用二次累加或多次累加的方法来解决。
特别提示:避免数量级相差太多的浮点数之间进行运算。
很多用户反映“加法指令不好用了”,很有可能就是数量级相差很多的实数进行了加法运算2. 流量累积的误差2.1 流量计本身没有累计流量功能,但可以把瞬时流量以模拟量的方式(例如4-20mA)输出。
此时累计流量的最大误差可以估算为:流量计本身误差 * 流量计D/A误差 * 模拟量模块A/D误差 * PLC流量累计算法误差假设上面所有误差都是1%,则最后的误差约为:4.06%1.01*1.01*1.01*1.01=1.0406提示:对于廉价流量计,本身的瞬时流量误差可能就是3%,所以这样的系统累计流量的误差可能还要大些。
2.2 流量计本身没有累计流量功能,但可以把瞬时流量以数字量的方式输出。
流量测量

直 接 式
直接检测与 质量流量成 比例的量来 质量流量
固体粉料
液、气
科氏质量流 量计 体积流量经 密度补偿
间 接 式
同时测体积 流量和流体 密度来计算 质量流量
液、气 温度、压力 补偿
±0.5
8
4.2 差压式流量计
差压式流量测量方法,是根据伯努利方 程提供的基本原理,通过测量流体差压 信号来反映流体流量的测量方法。 差压式流量计
长度成正比:
Ex KBDv
qv
D2
4
v
qv
D
4 BK
Ex
式中:Ex为感应电势;K为比例系数;B为磁场强度;D为管道直径;v为
垂直于磁力线的流体流动速度。
在管道直径D已经确定,磁场强度B维持不变时,流体的体积流量与磁感 应电势成线性关系。
——电磁流量计的特点
测量导管内无可动或突出于管道内部的部件,因而压力损失极小; 只要是导电的,被测流体可以是含有颗粒、悬浮物等,也可以是酸、碱、 盐等腐蚀性物质; 流量计的输出电流与体积流量成线性关系,并且不受液体的温度、压力、 密度、粘度等参数的影响; 电磁流量计的量程比一般为10:1,精度较高的量程比可达100:1;测量口径 范围大,可以从lmm到2m以上,特别适用于lm以上口径的水流量测量;测 量精度一般优于0.5级; 电磁流量计反应迅速,可以测量脉动流量; 主要缺点: 被测流体必须是导电的,不能小于水的电导率 不能测量气体、蒸汽和石油制品等的流量 由于衬里材料的限制,一般使用温度为0~200℃; 因电极嵌装在测量导管上的,使工作压力限制(一般≤0.25MPa)
类
别
工作原理
仪表名称
可测流 体种类
适用管径 mm
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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秒。
而输入信号为4ma时,对应的数字量=6400,而对应的流量=0,转换公式为:Q=8*(AIW4-6400) / (32000-6400)
即:Q = 8 * (AIW4 - 6400) / 25600 (单位:立方/ 0.1秒) ----(A)
2、编程处理:
(1)、采用0.1秒时间中断
(2)、中断程序:先取模块的数字量AW4送入MW0中,按公式A计算瞬时流量Q,再将其加入累计流量VW100,返回。
(3)、主程序:I1.0为启动开关,按下I1.0,Q2.0=1,泵启动,流量累计开始。
I1.1 为停止开关,按下I1.1,Q2.0=0,泵停,流量累计停.
I1.2 为累计流量VW100清0开关,按下I1.2,将累计流量VW100清0.
VW102 为预置比较值。
由文本显示器设置。
动作说明:按下I1.0,泵启动,流量累计开始的同时,VW102将时时于VW00比较,当VW100大于或等于VW102,Q2.0置0,泵停。
再有:VW102的预置,及VW00的清0都可在上位机或触摸屏上进行。
详见下图:
二、网友求助:“本人在做项目过程中,用S7-200实现对水泵的控制。
其中有一个问题:当变频器出现故障,需重新启动水泵,而此时要求启动运行时间最短的那个,则需要对每台水泵的运行时间进行监控。
而PLC定时器即使和计数器结合起来实现时间定时,仍难以满足几周或几个月的定时时间。
我该如何将此功能在plc中实现??盼回复,不胜感激!!”
答复:S7-200 有时钟指令,如读指令“READ_RTC”用它将此时刻的日期、时间存入数据区(如VB10、VB11、VB12、VB13…..)中,其VB10为年的末二位数,VB11为月份数,VB12为日数,VB13为时数,VB14为分数….,再用比较指令将取得日期、时间值与你规定的日期时间值比较,当二者相同时,即延时时间到,去触发一个内部位开关使其置1(如M2.0=1)即可。
现举例说明:延时到的时间是:2010年12月23日8时,你可将10、12、23、08等数以16进制数的形式,分别置入VB20、VB21、VB22、VB23等数据区里,按下定时启动按钮“I 1.0”,使M2.1=1,PLC读取时钟开始,即每隔1秒读取一次,存入VB10---VB13中,在编程上再用4个比较指令,分别进行比较,比较值是:VB10对VB21比较,VB11对VB21比较,VB12对VB22比较,VB13对VB23
比较,当4个比较器比较值都相等时,即时间到,可使M2.0=1,见下图:
该程序的定时精度为1小时,如觉得不够,可再增加分比较,这样定时精度可为1分钟。
还有稍微复杂一点的编程,即只预置延时时间(几周、几个月、甚至几年),预置好后,按启动按钮,PLC立刻取出此时刻。