1 引言
在油库与客户进行计量交接时,有的按体积,有的按质量。由于体积式流量计具有价格低、精度高、稳定性好、寿命长等优势,大部分油库配置体积流量计。然而,温度的变化是体积式流量计产生测量误差的主要因素,它对测量精度的影响很大[1]。
为了保证测量数据的准确性,减少测量误差,最直接的一种方法就是将现场一次测量仪表体积流量计换成质量流量计[2],但目前质量流量计全是进口表,价格高,所有测量点若全部更换为质量流量计,所需资金巨大。另外一种方法就是对现有的油品计量表进行温度补偿,温度补偿的具体方法通常采用固定系数简算法和查表法[3]。
固定系数简算法中销售油品平均温度的确定由于是取经验值,不可能完全符合销售油品的实际温度,仍存在一定的误差。
目前,大多数油库都采用查表法来实现油品流量的温度补偿。如果已知油品温度和标准密度,下式说明了视在体积和标准体积之间的关系:
(1)
其中,V是标准体积,Vt为视在体积,VCF20是体积修正系数,VCF20可以《石油计量表》(GB/T1885-1998)产品油部分中根据产品油的标准密度和实时温度查表得到。但是《石油计量表》(GB/T1885-1998)的温度点分布较细,仅产品油部分的体积修正系数表就有几万条之多,而且表中数据关系均为非线性关系,如果使用计算机软件查表[4],则其数据的存储规模和查询速度都是必须考虑的因素。并且最重要的是在监控软件中无法通过查表的方法获取如此多的数据,也不可能在短时间内将整个计量表的数据都输入到数据库中以供程序查找。
为此,本文采用一种基于LM神经网络算法自动计算出油品体积修正系数,从而实现油品流量误差的智能补偿。
BP神经网络算法[5]因其简单易行、计算量小、并行性强等优点,是目前神经网络训练中采用最多也是最成熟的训练算法之一。LM算法是一种BP改进算法[6],采用LM算法的BP网络进行网络训练,一般可以避免陷人局部极小点,大大减少网络的训练次数,使网络很快收敛,优于通常算法。
2 LTC系列椭圆齿轮流量计
目前,油库常用的流量计主要为容积式流量计,椭圆齿轮流量计是最典型的容积式流量计,当油品流过流量计时,流量计便发出一定的脉冲,控制器通过对脉冲进行运算处理,得到流量值。
LTC系列椭圆齿轮流量计是用于管道中液体流量进行连续测量高精度容积流量计。其优点是:测量精确度较高,可达到的相对误差为±0.1~±0.5%,从理论上讲,不受流体种类、粘度、密度以及前后直管段长度的影响;范围度较大,精确度0.5级时可达1:10,容易获得准确的累积量,适合作为物料计量仪表。
LTC系列椭圆齿轮流量计结构如图1所示[7]。本体部—流量计的计量部分,由转子和壳体及盖板组成。磁性密封联轴器—流量计本体与调速器的密封联接部分,有磁性密封联轴器和机械密封联轴器两种,常用磁性密封联轴器。调速器—流量计转子转数输出的减速齿轮机构。计数器—记录流经流量计的流体累积体积流量的读数器。发信器—将被测介质的流量信号转换为电脉冲信号的机构,输出的脉冲信号为电压脉冲信号或电流脉冲信号。

图1 LTC系列椭圆齿轮流量计结构图
3 LM算法描述与分析
神经网络是求解最优化问题的常用方法,它的目标就是通过输入输出样本对{(x(1),d(1),(x(1),d(1),…,(x(p),d(p))}来调节连接网络的权值向量W,从而使误差函数ε(W)达到最小值。其中每个输入样本向量X={x(1), x(2),…,x(m)},m为输入层节点数;每个期望输出向量D ={d (1),d(2),…,d(n)},n为输出层节点数。设输出层实际输出向量Y={y(1),y(2),…,y(n)},误差函数可以表示为:
(2)
使用梯度下降法调整权值时,权值沿误差函数曲面的负梯度下降。调整规则为:
(3)
其中
因为权值调整是分层进行的,所以这里w1,w2,…,wn是当前层与下一层间的所有连接权值,而不是网络中全部权值。
LM算法是从牛顿法修正而来的,与梯度下降法相同,牛顿法也是通过最小二乘法求解的ε(W)二阶泰勒公式极值得:
(4)
其中∇2ε(W)为ε(W)的Hessian矩阵。
尽管牛顿法有收敛迅速的优点,但由于每次迭代计算中不能保证Hessian矩阵∇2 ε(W)都可逆,所以需要对∇2ε(W)进行近似计算。
可以证明:
(5)
(6)
其中J(n)为e(i)的Jacobian矩阵,S(n)为误差矩阵,

在靠近极值点时S(n)=0,所以牛顿法可以修正为高斯-牛顿法:
(8)
LM算法将高斯-牛顿法又经过改进,权值调整方式如下
(9)
其中,μ为正的常数,I为单位矩阵。算法的每次迭代都对μ进行自适应调整。当接近一个解时,μ逐渐减小,权值的调整类似于高斯-牛顿法,利用类似于二阶导数的信息,可以快速收敛到这个解;当远离解时,μ逐渐增大,权值调整又类似于梯度下降法,可以进行全局搜索。所以LM法同时具备了牛顿法和梯度法的优点[8]。
4 神经网络模型及其训练
在《石油计量表》中,温度的变化步长为0.25°c,标准密度的变化步长为2kg/m3,当标准密度相同时,温度每变化0.25°c时,查表得出表中的体积修正系数精准到0.0001,为了使训练出的网络具有与该表相近的精度,通过多次调整,得出均方差小于1e-009时,最大绝对误差不超过0.0001。因此,网络训练目标定为1e-010。
随机均匀的抽取1000个样本,其中450个作为训练样本,550个作为测试样本,用MATLAB进行仿真,设定循环次数为2000次,网络训练目标定为1e-010,经过选取不同的神经网络结构和算法反复对比后最终得到最佳方案:7个隐层神经元,网络结构为2-7-1,trainlm算法,归一化法进行数据的预处理,隐含层的传递函数是tansig函数,输出层用线性传递函数purelin函数。训练30次,取均方差最小最佳结果的训练曲线如图2。均方差(训练样本)4.38301e-010,均方差(测试样本)4.4516e-010,最大绝对误差(训练样本)0.00006004,最大绝对误差(测试样本)0.00005517,均符合石油计量表!中的精度要求。输入测试样本时的绝对误差曲线如图3。

图2 训练曲线

图3 输入测试样本时的绝对误差曲线
5 温度补偿的实现
利用训练过的人工神经网络处理温度补偿问题时采用的计算公式为:
对于隐层:
(10)
(11)
对于输出层:
(12)
(13)
其中,n为输入节点的个数,m为隐层神经元个数,l为输出层神经元个数。xi是第i个输入,vij是第i个输入到第j个隐层神经元的权值,b1j是第j个隐层神经元的偏置值,Hnetj是第j个隐层神经元的活化值,yj是第j个隐层神经元的输出值,隐层神经元的激活函数为tansig,算法为
1,wjk是第j个隐层神经元到第k个输出层神经元的权值,b2k是第k个输出层神经元的偏置值,Onetk是第k个输出层神经元的活化值,Ok是第k个输出层神经元的输出值,输出层神经元激活函数为线性函数,输出层的激活函数为purelin,算法为y=x。
在油库收发油控制系统的温度补偿问题中,根据已经设计出的神经网络可知,网络输入节点数为2,隐层神经元个数为7,输出层神经元个数为1,输入层节点到隐层节点的连接权值为

隐层神经元的偏置值为:

隐层节点到输出层节点的连接权值为:

输出神经元的偏置值:

可编程序控制器PLC通过相应的温度模块或A/D模块从管道中的测温铂电中获取温度变化值,即式(10)中的xi,而yi油品的标准密度可以通过一次测量获得,根据计算式(10)、(11)、(12)和(13),以及设计的BP网络可以编写出相应的温度补偿程序。其流程如图4示。通过此程序得出的修正体积系数Ok,即为式(1)中的VCF20。通常PLC通过脉冲计数模块把从LTC流量计中得到的脉冲数再转化为体积,当检测到VCF20系数变化时,转化过程中自动乘以新获得的修正系数VCF从而得到标准体积V。

图4 温度补偿程序流程图
6 结论
本文采用LM优化算法训练的BP网络,具有很快的收敛速度,而且该网络对《石油计量表》中的数据具有很好的适应性,运算结果误差小。通过选取《石油计量表》中部分数据对该网络进行训练,可以得出一个由输入参数油品温度和油品标准密度求出输出参数体积修正系数的BP网络。采用该算法的山西中煤能源安太堡油库收发油控制系统[9],经过两年的运行,结果表明此方法切实可行,油品计量数据准确、稳定,对于提高油库收发油计量准确性与生产效率具有重要意义。
参考文献:
[1] 冷林,张吉祥.温度对油品计量交接的影响[J].中国科技信息,2008,(18):48-56.
[2] 朱玉华.体积流量计测量误差分析及改进措施[J].仪器仪表与分析监测,2005,(2):23-27.
[3] 孟庆恺.温度补偿对成品油零售环节计量管理的作用[J].石 油商技,2007,(06):60-62.
[4] 李德湘,宋海勇,陈新萍.石油计量表计算机辅助应用的实现[J].石油化工自动化,2003,(3):59-62.
[5] 王根达,刘贺平,王允建.一种快速收敛的改进BP算法的研究[J].计算机仿真,2008,25(6):161-164.
[6] 周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005.
[7] 李宾,丁凡,李勇.新型耐高压双向椭圆齿轮流量计的研究[J].传感技术学报,2007,20(1):220-223.
[8] 侯亚丽,李铁基.LM优化算法的BP神经网络目标识别方法[J].探测与控制学报,2008,33(1):54-57.
[9] 刘昕明.成品油油库自动化监控系统的研究与开发[D].辽宁




