天然气流量积算仪的软件设计 摘要 天然气的计量都以标准状态体积流量和质量流量计算,各测量工况下的流量必须折算为标准状态的体积或质量流量,其 折算系数和诸多因素有关,因此必须根据测量条件下的温度、压力进行补偿,本文介绍了天然气流量测量修正系数三维数据表的建立,数据插入方法和查表程序的软件设计,该软件在天然气流量积算仪中得到有效的应用,取得了良好的效果。 关键词 天然气流量计 测量 数据 程序设计 1天然气流量测定和补偿 用于天然气计量的天然气流量计,只能测量工作状态下的体积流量,而工作状态下的体积流量不能切实的表示实际流量,工程上一般都以标准状态体积流量或质量流量表示,所谓标准状态体积或质量是0度(或20度)一个标准大气压下的气体体积或质量。所以要将全工况(温度,-40~115度,压力0.1~14.1mpa)下测得的天然气体积流量折算为标准状态下的质量流量.其折算系数和气体密度、气体介质的组成、含量和温度的变化等诸多因素有关,智能仪表在进行流量积算时,需要对一次仪表测得的流量进行温度、压力以及气体超压缩系数比补偿。 1.1流量的温度及压力补偿 对天然气流量进行温度、压力补偿方式是乘以项系数(温度补偿系数和压力补偿系数), 将测量状态的流量Qr转化为用户预先设定的标准状态流量Qn. 根据理想气体方程式(P·V)/T-C(常数)以及Q-dV/dt可以推导得到: (Pn·Qn)/Tn-(Pr·Qr)/Tr 标准状态下的气体体积流量Qn为Qn-Qr·(Pr/Pn)·(Tn/Tr) 式中r表示实际值,n表示标准值. (Pr/Pn)和(Tn/Tr)分别是压力补偿系数和温度补偿系数,它们是无量纲的,用于对测定的体积流量值进行补偿修正计算 1.2体积流量的超压缩系数比补偿(Fpvf/Fpvn) 气体介质在温度、压力变化较大的工况下,F值偏差会引入测量误差,最大有可能达到±5%左右,这样的误差在计量中是不允许,必须考虑F的补偿。F的补偿采用修正系数比(Fpvf/Fpvn)的形式,将(Fpvf/Fpvn)和P、T补偿综合. 2天然气超压缩系数表的建立 2.1建表前的准备工作 由于天然气超压缩系数与其温度、压力的关系相对复杂,至今还没有能建立有效的数学模型,一般只能在全工况条件下某些特殊温度、压力点通过实验的方法测定,制作成一张温度、压力及其超压缩系数的三维数据表,在进行运算补偿时通过查表确定。由于数据分布离散, 有可能在表上没有对应的有效数据,将通过查找出前后两个数据点进行线性插值运算 2.2汇编方式在存储区中开辟数据表 表格建立的基本思想是以天然气压力为基本索引,每个压力点0,40,80,120…2000PSIG都作为一个头指针,分别由GP1,GP2,GP3…GP51来表示,紧接着在内存中连续分配此压力点下的起始温度以及9个连续温度点下的超压缩系数比. 相邻2个超压缩系数比对应的温度相差20F 每个数据在内存中占据两个字节长度.用FDB伪指令在内存中开辟空间并分配2字节长度数值.在表格的开头建立了一个以AGA为起始标号的压力点索引,先连续存放51个2字节常数的压力点,再连续存放GP1,GP2,GP3…GP51这51个标号.于是这51个数据就与51个标号建立起一一对应的关系 3超压缩系数表查表程序的设计开发 3.1查表程序的基本设计思想 从一次仪表上得到天然气当时所处的温度和压力值后,先根据实际的气体压力在开头索引部分进行初次查找,确定气体压力处于哪个压力点上或处于哪段压力区域之内,即确定了下一步按照温度查表程序的入口地址!如果在数据表中没有对应的压力点,但是它处在表上80PSIG和120PSIG两个有效压力点之间,那么就要把入口地址对应的两个标号GP3和GP4一起取出待用.再按照天然气的温度进行二次查表.知道了入口地址,就可以到内存中的指定区域进行温度查找.基本方法和压力查找相同,当温度或者压力处在表上两个数据点之间,或两个都处在中间的位置,就要把前后的数据都取出来进行线性插入. 3.2压缩系数的线性插值运算公式 根据前面介绍的情况,这张数据表是一张三维表.X和Y轴方向分别是天然气的压力和温度, 而Z轴方向的高度则代表了超压缩系数的大小. (1)处在同一压力线上的两个温度点之间(实际温度Tx)假定对应于(P1,T1)和(P1,T2)点的超压缩系数分别是F1和F2,如果T2>T1,那么从表上可以看到F1>F2很容易得到Fx的计算公式: Fx-F2+(F1-F2) ·(T2-Tx)/( T2-T1) (2)处于同一温度线上两个压力点之间(实际压力Px)跟上述情况相似,假定对应于(P1,T1)和(P2,T1)点的超压缩系数分别是F1和F2,如果P2>P1,那么从表上可以看到F1<F2,推导出插值公式为: Fx-F1+(F2-F1) ·(Px-P1)/( P2-P1) (3)处于不同压力点和温度点之间(实际压力Px,实际温度Tx) 这种情况计算值是上述两种情况的组合,要先进行两次压力线上的插值运算,再进行一次温度线上的插值运算.假设周围四点的超压缩系数分别表示为F(P1,T1),F(P1,T2), F(P2,T1),和F(P2,T2),压力线上插值运算的结果分别是F(P1,Tx),和F(P2,Tx). 3.3查表程序设计 整个查表程序可以分成一个主调用程序和几个子程序,查表过程是通过主程序对子程序的调用以及子程序之间的相互调用来实现的. 3.4查表程序的调试 程序调试阶段选取了5组不同情况的数据进行调试,这5种情况基本上覆盖了现实工况中的各种数据.经过验证5组数据都是满足设计要求的,也说明程序设计是成功的. 参考文献 1中华人民共和国石油工业部标准天然气流量的标准孔板计量方法,北京:1996. 2程贺.流量测量及补偿技术.北京:机械工业出版社.1999. 3刚寒冰,齐秋群.M68HC11原理与应用.北京:北京理工大学出版社.2000. (责任编辑:admin) |