《石油计量表》中原油计量应用软件的设计与制作
2022-08-18巩卫海
巩卫海
中海油能源发展股份有限公司销售服务分公司(天津 300450)
0 引言
原油作为国家的战略资源之一,其地位是不可比拟的。原油贸易计量准确性直接影响着买卖双方的经济效益,如果在计量过程中出现问题,将会给国家的经济发展造成重大损失,因此石油贸易计量工作是极为重要的[1-4]。GB/T 1885—1998《石油计量表》广泛应用于石油计量领域,按商品分原油、石油产品、润滑油三类,含相应标准密度和体积修正系数的人工查询表格。GB/T 1885—1998 等效采用了ISO 91-2:1991《石油计量表第2部分:以20 ℃为标准温度的表》的技术内容[5]。
GB/T 1885—1998 是石油计量过程中的重要依据,计量人员根据油品的视密度、试验温度、计量温度,通过查表的方式,计算出石油的标准密度ρ和体积修正系数(Volume correction factor,以下简称VCF)。石油计量过程中,查表是一项麻烦而且枯燥的工作,并且查表过程中容易发生错误,给工作带来不利影响,采用计算机或智能移动设备代替查表工作,简化查表工作,有效地减少人为错误,提高计量准确度和计量管理水平,更好地把石油计量相关国家标准落实到实处[6-8]。在查阅文献的基础上,分析GB/T 1885—1998 的计算步骤。以原油为例,梳理计算流程,以计算机办公软件Excel 2010 中迭代函数功能和数字修约功能为原理,用迭代法实现了ρ和VCF的计算,并且开发出在智能移动设备Android 6.0 系统环境下的APP 版《石油计量表》,代替了人工查表,节省了工作时间,便于计量人员携带和使用,数据准确可靠。
1 计算流程分析
《石油计量表》附录B 给出了原油在20 ℃标准密度的简明计算流程,如图1 所示,其中原油、润滑油及其他石油产品标准密度(20 ℃)的计算流程,虚线框内为原油、润滑油及其他石油产品体积修正系数的计算流程,右边大实线框内仅用于其他石油产品15 ℃密度的计算。
图1 石油计量表计算流程简图
根据查阅的相关标准及资料,通过公式的分析、梳理和验证,对图1 进行了更为全面细化地总结,得出原油在20 ℃下标准密度的计算流程。
2 计算公式梳理
通过实验数据中的视密度ρ'和视温度t,计算出实际密度ρt;通过基础数据K1、K0和A,可得到15 ℃石油体积膨胀系数α15的公式,再根据视温度t通过指数函数e 得到15 ℃石油体积修正系数VCF15[9-11];最后根据迭代计算的原理,利用15 ℃石油体积修正系数VCF15和实际密度ρt,求出15 ℃标准密度ρ15。
通过常数K1、K0、A和15 ℃标准密度ρ15,得到15 ℃石油体积膨胀系数∂15。
由式(1)和式(3)可计算出标准温度为15 ℃时,石油在不同计量温度下的体积修正系数VCF15。
利用实际密度ρt和体积修正系数VCF15,通过迭代计算实现标准密度ρ15。
利用标准密度ρ15和体积修正系数VCF15,计算出标准密度ρ20。
1)通过实验数据的研究得出,石油在15 ℃下的密度为611~1 075 kg/m3时,K0=613.972 3,K1和A均为常数0[12-15]。同时可按照各种类型石油和标准密度分段,国际标准ISO 91-1-1992《石油计量表第1部分:以15 ℃和60 ℃为标准温度的表》提供了体积膨胀系数∂15中各参数K0、K1、A的经验值,见表1。
表1 石油体积膨胀系数表
2)假设视密度ρ'的值赋给标准密度ρ15,得到的值再赋给(通过循环引用得到的标准密度ρ15新值),通过迭代使ρ15与ρ'15差值的绝对值小于给定的收敛精度,最后得到标准密度ρ15的真值[5]。
3)式(6)中Δt为20 ℃与15 ℃的差值。
4)20 ℃体积修正系数VCF20的求法与15 ℃体积修正系数VCF15求法的原理相同,区别在于视温度t和Δt的关系。
3 迭代计算原理及功能实现
3.1 迭代计算的原理
迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,是一种数值计算中重要的逐次逼近方法。首先将方程改写成某种等价形式,由等价形式构造迭代公式,选取方程的某个初始近似根X0,代入迭代公式反复校正根的近似值,直到满足精度要求为止。利用迭代算法解决标准密度的算法,需要做好以下3 个方面的工作:确定迭代变量为视密度,求标准密度;建立标准密度的迭代关系式;对标准密度迭代过程进行控制。
3.2 Excel环境下迭代计算功能的实现
以Excel2007 版为例开启迭代计算的功能,设置迭代次数为99次,最大误差为0.000 001,此时Excel 迭代计算功能成功开启。图2为在Excel 环境下制作的《石油计量表》。
图2 Excel下《石油计量表》原油部分
3.2.1 15 ℃标准密度迭代计算公式的建立
根据图2所示,Excel 中B4单元格为视温度、C4单元格为视密度,15 ℃标准密度为B6单元格,假设H5单元格为迭代计算单元格,其计算公式为:
H5=ROUND(C4×(1-2.3×10-5×(B4-15)-2×10-8×(B4-15)2)÷EXP(-613.972 3÷H52×(B4-15)×(1+0.8×(B4-15)×613.972 3÷H52)),1)
此时H5 单元格属于无限迭代计算状态,必须将B6 单元格设置成等于H5 单元格后,方可计算出15℃标准密度为B6单元格的真值。
3.2.2 20 ℃标准密度迭代计算公式的建立
根据图2所示,原理同15 ℃标准密度的计算方法一样,20 ℃标准密度为C6 单元格,假设H6 单元格为迭代计算单元格其计算公式为:
H6=ROUND(C4×(1-2.3×10-5×(B4-20)-2×10-8×(B4-20)2)÷EXP(-613.972 3÷H62×(B4-20)×(1+0.8×(B4-20)×613.972 3÷H62)),1)
此时H6 单元格属于无限迭代计算状态,必须将C6 单元格设置成等于H6 单元格后,方可计算出20 ℃标准密度为C6单元格的真值。
3.3 Android 系统环境下迭代计算功能的实现
以Android 系统为环境开发出的核心算法,实现15 ℃标准密度的迭代计算功能。同时20 ℃标准密度的迭代计算功能,核心算法原理同15 ℃标准密度核心算法一样。
4 数字修约原理及功能实现
4.1 数字修约原理
多数人对于数字修约所理解的概念往往是简单的四舍五入方法,但是在石油计量领域,数字修约规则要满足GB/T 8170—2008《数值修约规则与极限数值的表示和判定》的要求,采用四舍六入五成双的理念。对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是四舍六入五成双,这里“四”是指小于等于4 时舍去,“六”是指大于等于6 时进上,“五”指的是根据5 后面的数字来定。当5 后有数时,舍5 入1;当5 后无有效数字时,需要分两种情况来讲,第一种为5前为奇数,舍5入1;第二种为5前为偶数,舍5不进。
4.2 Excel下利用VBA实现数字修约功能
在Excel 中开启VBA 编程界面功能,编辑下列代码即可开启数字修约功能的脚本程序:
Function TRANVALUE(rng As Double,number As Integer)As Double
TRANVALUE=Round(rng,number)
End Function
脚本程序中“TRANVALUE函数”为四舍六入五成双的数字修约函数,此函数必须在VBA的配合下才能正常使用。建立并保存好VBA脚本后,直接将所求的值套在此函数里面即可。根据图2 中所示C6 单元格为20 ℃标准密度,将其进行数字修约后的公式为:
=TRANVALUE(C6,1)或者可以直接写成下列公式:
=TRANVALUE(C4×(1-2.3×10-5×(B4-20)-2×
10-8×(B4-20)2)÷EXP(-613.972 3÷H62×(B4-20)×
(1+0.8×(B4-20)×613.972 3÷H62)),1)
根据相关标准,利用Excel 强大的函数功能和VBA(Microsoft Visual Basic 的宏版本)功能,建立了自动计算表格,与人工手动翻阅《石油计量表》的结果无偏差,终结了几十年查表的工作方法,大大提高了工作效率,数据结果准确可靠。
4.3 Android 系统环境下实现数字修约功能
在Android 系统为环境下通过迭代计算的原理得到标准密度的数据是没有进行修约的,若要将结果精确到与人工查表无差异,则必须按照四舍六入五成双的数字修约理念来实现,图3为Android版部分功能图。
图3 Android版APP部分功能图
5 结束语
《石油计量表》的数字化编制过程主要分为3个阶段:一是要结合标准中原型公式的推演;二是利用计算机迭代公式的计算;三是数值修约规则的有效运行。以往的研究忽视了这三点,导致计算精度不高,结果不准确。通过在Excel 下实现《石油计量表》自动计算的理念,以迭代计算为技术支持、严格执行数字修约标准为创新点,经过1 年的反复调试和使用,在Android 系统为开发背景的前提下,制作出智能移动终端APP 版《石油计量表》软件。该软件经受了5年的数据考验,其结果与国内、外同类型的软件相比,精确度要远远高于其他软件。其他石油计量软件的误差率多数在0.1‰~4‰,而该软件误差率为0.1‰,以计算结果准确率高的巨大优势,由原先枯燥无味的人工查表以及不方便携带的电脑版石油计量软件转变成轻巧便捷的智能移动终端石油计量软件,在提高工作效率的同时降低了误差风险。在国家大力提倡“互联网+”的背景时代下,该软件具有可推广价值并且将会占领未来石油计量的消费市场。