一种面向石油行业输油管道的压力表标定的控制方法技术领域
本发明涉及数字化油田中的压力表标定领域,具体地说是面向石油行业输
油管道的压力表标定的控制方法。
背景技术
压力是油田现场用得最多的待测物理量,压力表则广泛应用于石油行业中
需要测油管内压的场合,大致可分为油压压力表、套压压力表和回压压力表。
它能够自动采集石油行业管道内部油体的压力数据,压力数据通过油井远程采
集终端设备RTU上传至石油网关设备,在工业控制组态界面上实时显示当前采
集的压力数值。压力数据的产生则来源于压力传感器信号的采集和标定算法。
压力传感器信号的采集是通过单片机内部ADC对传感器输出的电压信号进
行采集。
压力标定算法大体分为两种,一种是采用理论计算公式,根据在不同温度
条件下,计算传感器输出压力值与传感器输出电压值之间的多阶方程式,求解
得出传感器输出压力值。这对于单片机软件计算来说,逻辑推算十分复杂,浪
费处理器资源,影响压力值输出的实时性,但最终得出的压力值比较精确。另
一种是直接将压力传感器的输出特性曲线理想化成一阶方程式,直接计算压力
传感器输出的电压值与传感器输出压力值的映射关系,这种方法计算得出的压
力值精度低,与真实的压力值相比存在较大的误差,这种方法需要研发人员做
大量的后期计算工作来弥补误差带来的不确定因素,增加了维护工作量,给油
田现场应用带来了不便。
目前压力表大多采用电池供电,仪表一旦停止工作,对出输油管线压力监
控照成影响,而且更换压力表的电池不方便,因此对压力表整机功耗有较高要
求。
发明内容
针对现有技术的不足,本发明提供一种面向石油行业输油管道的压力表标
定的控制方法,可达到压力表输出压力数据的精度要求,降低算法及逻辑控制
的复杂度。该方法不增加压力表正常工作任务和资源开销,不会带来额外的能
量消耗。
本发明为实现上述目的所采用的技术方案是:
一种面向石油行业输油管道的压力表标定的控制方法,包括以下步骤:
步骤1:压力表初始供电或复位后,通过串口发送进入标定模式命令,使压
力表处于标定模式,使用高低温箱产生不同的环境温度标定值,设定对压力传
感器的采集时间间隔;
步骤2:按照设定的采集时间间隔自动对压力传感器输出进行采集并得出采
集的实时数字量结果;
步骤3:根据实时数字量拟合出压力传感器输出的实时数字量与温箱内环境
温度之间的映射关系并设置拟合结果对应表;
步骤4:根据实时数字量与温箱内环境温度之间的映射关系再次插值计算,
拟合出全量程压力值与压力传感器输出的实时数字量的映射关系。
所述按照设定的采集时间间隔自动对压力传感器输出进行采集并得出采集
的实时数字量结果包括以下步骤:
步骤1:按照设定的采集周期并创建定时器,使用单片机连续多次对压力传
感器输出电压值进行采集,并以数组形式存储;
步骤2:对采集数据进行滤波处理,得出采集的实时数字量结果。
所述滤波处理过程为:使用冒泡法对数组中的数值进行排列,滤除最大值
和最小值后,对剩余的数值求平均值作为单片机转换的结果。
所述根据实时数字量拟合出压力传感器输出的实时数字量与温箱内环境温
度之间的映射关系并设置拟合结果对应表包括以下步骤:
步骤1:将压力表放置于温箱中,调整温箱环境温度达到温度标定值,且温
度值达到稳定状态;
步骤2:调整压力源输出的压力值,使其达到压力标定值,且压力值达到稳
定状态;
步骤3:通过串口查询当前采集压力传感器输出的数字量,并记录;
步骤4:改变温度标定值后,循环步骤1~3,得到不同温度标定值下的压力
传感器输出的实时数字量,并设置到拟合结果对应表内;
步骤5:根据压力传感器输出的实时数字量,拟合出压力传感器输出的实时
数字量与温箱内环境温度之间的映射关系,计算压力传感器在某一压力标定值
下,不同环境温度条件下产生的实时数字量。
所述根据实时数字量与温箱内环境温度之间的映射关系再次插值计算,拟
合出全量程压力值与压力传感器输出的实时数字量的映射关系包括以下步骤:
步骤1:调整压力源输出压力标定值,压力值达到稳定状态;
步骤2:通过串口查询拟合结果对应表,得出当前环境温度下单片机采集的
压力传感器输出的实时数字量,并记录下来;
步骤3:改变压力标定值后,循环步骤1~2,得到不同压力标定值下的压力
传感器输出的实时数字量;
步骤4:根据压力传感器输出的实时数字量,拟合出当前环境温度下压力源
输出不同的压力值与单片机采集压力传感器输出的实时数字量之间的映射关
系。
所述所述采集时间间隔与单片机的采集周期相同。
本发明具有以下有益效果及优点:
1.本发明采用两次直线拟合插值计算的方法,通过在压力表初始上电或复位
重启进入标定模式后,根据设定的压力传感器输出采集时间间隔和当前温箱温
度值,自动对当前压力传感器输出进行采集并得出传感器输出实时数字量,根据
采集的实时数字量拟合出压力传感器输出的实时数字量与温箱内环境温度之间
的映射关系并将采集结果设置到拟合结果对应表中,再根据这种关系再次插值
计算,拟合出全量程压力值与压力传感器输出的实时数字量的映射关系,从此
关系中推导得出当前传感器采集的压力值。
2.本发明减小了仪表周围环境温度变化对采集输出结果照成的误差。软件算
法的难度适当,得到的传感器输出压力值能够达到5‰及以上的精度要求,降低
了设备能量消耗。
附图说明
图1是本发明的工作阶段转换图。
图2是本发明的第一阶段插值算法曲线拟合流程图。
图3是本发明的第二阶段插值算法曲线拟合流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
本发明的目的是提供一种石油行业输油管道的压力表通过插值计算得到当
前环境温度下对传感器输出采集的实时数字量与全量程范围的压力值的映射关
系的标定方法,无需系统额外开销。在压力表初始上电或复位后,进入标定模
式,通过压力表单片机ADC在不同环境温度条件下对压力传感器输出的数字量
进行采集,推导出实时数字量。从压力源输出不同压力标定值得出的实时数字
量推出当前压力传感器的压力值。这种算法可降低环境温度对仪表采集压力值
的误差,细化了环境温度线性区间,达到提高压力传感器采集精度,降低仪表
功耗的目的。
本发明主要包括:当压力表系统初始上电或复位后,通过串口发送进入标
定模式命令,使压力表处于标定模式下。设定温箱环境温度标定值并保持稳定,
设定压力源输出某一压力标定值并保持稳定。创建采集定时器,单片机ADC按
照采集时间间隔自动采集压力传感器输出的数字量,分析采集数据,去除压力
传感器采集数据中的最大值、最小值,求得剩余数据的平均值,达到滤波的目
的,由此得出ADC采集传感器的实时数字量。在不同温箱环境温度标定值下,
采集得到的不同实时数字量,经过插值计算,得到不同温度下压力传感器输出
的实时数字量与环境温度之间的映射关系。通过改变压力源输出的压力标定值,
经过二次插值计算,拟合出压力传感器输出的实时数字量与全量程压力值之间
的映射关系。具体包括以下步骤:
输油管道压力表在初始上电或复位后,通过串口发送进入标定模式命令,
使压力表处于标定模式下;
设定温箱环境温度标定值并保持稳定;
设定压力源输出某一压力标定值并保持稳定;
创建采集定时器,单片机ADC按照采集时间间隔自动采集压力传感器输出
的数字量;
根据分析单片机ADC采集数据,去除采集数据中的最大值;
根据分析单片机ADC采集数据,去除采集数据中的最小值;
根据分析单片机ADC采集数据,可计算得到采集数据中的平均值;
改变温箱环境温度标定值后,再次进行采集;
根据分析不同温箱环境温度的压力传感器采集数字量,经第一次插值计算
拟合出两者的映射关系;
在当前环境温度下,记录第一次插值算法得出的实时数字量;
改变压力源输出的压力标定值,记录不同压力标定值下的实时数字量;
根据分析当前环境温度和压力源输出不同压力值条件下,采集的实时数字
量和全量程范围的压力值,经第二次插值计算拟合出两者的映射关系。
本发明中涉及到的概念如下:
1)压力源:压力信号发生器,单位为MPa,精度为0.001MPa。
2)温箱:可以产生不同环境温度的控温设备,温度控制范围为-50℃~95℃。
3)标定压力值:标定过程中,压力源输出的压力值。
4)环境温度标定值:标定过程中,温箱控制产生的温度值。
5)实时数字量:单片机ADC实时采集的数字量数值。
为了实现上述目的,本发明提供如下技术方案:
输油管道的压力表标定控制方法包括:温箱控制、压力源控制及压力传感
器采集系统操作;第一次插值计算曲线拟合;第二次插值计算曲线拟合。
如图1所示,本发明所述的温箱控制、压力源控制及压力传感器采集系统
操作,提供了石油行业输油管道在不同环境温度条件下,对传感器压力值实时
采集功能。压力表软件系统在初始上电或复位后,通过串口发送进入标定模式
命令,进入标定模式。高低温箱处于不同温度。系统每隔1秒钟启动一次压力
传感器输出数字量采集,在其余时间内,压力表进入低功耗休眠状态,等待下
一次采集到来,这样既保证了采集的实时性,又可以降低能耗。
如图2所示,本发明所述的第一次插值计算是将压力表设备放置于高低温
箱中,根据设计的温度点设定环境温度标定值T1为-40℃,为了温度达到稳定要
恒温控制1~2小时,保证压力表设备的单片机内部温度传感器采集的温度值和
高低温箱的温度保持一致。同时调整压力源输出压力标定值,设定为6.000MPa,
将其标记为P1。启动压力源输出开关,使压力源输出至目标压力标定值P1,保
持稳定状态1~2分钟。使单片机进入标定模式,单片机ADC自动按照采集时
间间隔对数字量进行采集,每次采集动作为连续采样32次,将采样的32个元
素存储在数值滤波数组内,用直接插入排序法对数组元素进行排序,去除元素
中最大值和最小值,对剩余的30个元素进行求平均值计算,得出实时数字量。
通过串口发送查询实时数字量命令,得到当前单片机的ADC采集的实时数字量,
将其标记为D11。
调整高低温箱环境温度标定值T2,将其温度设定为-10℃。按照上述标定控
制方法得到温度T2时的实时数字量,将其标记为D12。
将得到的D11和D12实时数字量数值,经过第一次插值算法,进行曲线拟合。
将第一阶段插值计算得到的实时数字量与高低温箱产生的环境温度建立起映射
关系。设当前环境温度下的实时数字量为S1,当前单片机温度传感器采集的环
境温度值为T,建立映射关系如下公式所示:
进而推导出当前环境温度下的实时数字量S1为:
再次调整高低温箱环境温度标定值,使温度分别设置为0℃、20℃、40℃、
60℃、85℃,按照上述标定控制步骤,得到这些温度下的对应的实时数字量D1n。
则在全部模拟环境温度段中的计算实时数字量的通用公式为:
本发明所述的第一次曲线拟合插值计算,通过在不同环境温度标定值下,
对压力传感器输出的数字量的进行实时采集,经过插值计算和曲线拟合,得到
不同温度下压力传感器输出的实时数字量与温箱内环境温度之间的映射关系。
通过这种算法可降低环境温度对实时数字量采集带来的误差,细化了环境温度
线性区间,提高了压力表采集精度,降低了压力表工作功耗。
如图3所示,本发明所述的第二次插值计算是利用第一阶段插值算法得到
的实时数字量S1,再次调整压力源输出的压力标定值,将其设定为4.500MPa,
标记为P2。启动压力源输出开关,使压力源输出至目标压力标定值P2,保持稳
定状态1~2分钟。按照第一阶段操作方法,计算的到当前环境温度下的实时数
字量,将其结果标记为S2。
将得到的S1和S2实时数字量数值,使用插值算法,进行曲线拟合。将第一
阶段插值计算得到的实时数字量与传感器压力数值建立起映射关系。设当前环
境温度下的压力源输出的压力值为P,当前环境温度下第一阶段采集的实时数字
量为S,建立映射关系如下公式所示:
进而推导出当前压力传感器采集的压力值P为:
再次调整压力源输出的压力标定值,使其分别调整到3.000MPa、1.500MPa、
0.000MPa,按照上述第二阶段压力标定控制方法,得到当前温度下其他压力标
定点的实时数字量。设在当前温度下,某两个压力标定点对应的实时数字量为
Si和Si+1,对应的压力标定值为Pi和Pi+1,在当前环境温度下采集得到的实时数
字量为S,所要求得的压力传感器的实时压力数值为P。则在全量程压力范围内
的压力值计算公式为:
在第二次插值计算曲线拟合之后,退出压力标定模式。在正常模式下,依
照此种压力传感器标定控制算法,按照设定的采集时间间隔,对压力传感器的
压力值进行采集。
这种标定算法的优点在于,大幅度的降低了环境温度对压力传感器采集的
数值带来的误差,细化了环境温度线性区间。同时降低了软件设计的复杂度,
每次对压力传感器的采集消耗的电能要比复杂算法消耗的低,从而达到压力传
感器提高采集精度,降低功耗的目的。