一种压力变送器温度补偿方法、系统、装置及存储介质与流程

文档序号:29628506发布日期:2022-04-13 15:12阅读:218来源:国知局
一种压力变送器温度补偿方法、系统、装置及存储介质与流程

1.本发明涉及分布式存储领域,特别涉及一种压力变送器温度补偿方法、系统、装置及计算机可读存储介质。


背景技术:

2.压力变送器是将压力信号转换成电信号进行控制与传输。主要功能将测压元件感受到的气体、液体等物理压力参数转变成标准的电信号,以供给指示报警仪、记录仪、调节器等二次仪表、dcs控制系统进行测量、指示和过程调节。
3.压力变送器分为传感器部分和主控部分,传感器部分用于采集压力信号为电信号,主控部分用于处理和传感器转换的电信号,对压力信号进行传输和变送。而传感器采集的零点、量程是受环境温度影响的,且具有较大的非线性误差。如果采集的结果有一定误差,那么变送精度会受影响。因此,需要对传感器采集的电信号进行补偿修正。
4.一般来讲,传感器准确度在量程范围内受到环境温度与压力共同影响。在温度一定条件下,输出信号与给定压力基本成线性关系或者分段成线性关系,在给定压力一定的条件下,输出信号与温度成二次曲线关系,因此仅通过零点漂移、灵敏度漂移补偿方法很难满足准确度需求。
5.现有线性插值法进行温度补偿,理想情况下,当温度为固定值t时,压力通道ad采集的信号d与压强p是严格的线性关系。即:
6.p=ad+b;
7.其中,参数a及b,可以通过实验的方法标定,即可获得当前温度的特征直线。通过在多个不同温度点标定,可得出如图1所示一组特征直线。
8.在对传感器进行温度补偿时,可以测量得到当前温度值t及ad压力通道值d,根据t可以确定相邻两个已标定温度t1、t2的特性直线,可以求得在相邻温度点的压力值为p1、p2,然后在p1、p2之间线性插值,即可得到补偿结果p。
[0009][0010]
但线性插值法直接将插值点相邻的节点处理成直线,不够平滑,特别如果非线性误差比较大的时候,误差比较大,不适用于精度高要求比较高的场景。
[0011]
为此,需要一种能够消除非线性误差的压力变送器温度补偿方法。


技术实现要素:

[0012]
有鉴于此,本发明的目的在于提供一种压力变送器温度补偿方法、系统、装置及计算机可读存储介质,能够消除非线性误差。其具体方案如下:
[0013]
一种压力变送器温度补偿方法,包括:
[0014]
获取当前测量环境下的当前温度采样值与当前压力采样值;
[0015]
在预设的温度补偿数据表中,查找与当前温度采样值最接近的n个温度采样值;其
中,n为正整数且n≥3;
[0016]
利用n个温度采样值和与n个温度采样值各自对应的温度以及插值算法,得到与当前温度采样值对应的当前温度;
[0017]
利用n个温度采样值和与n个温度采样值各自对应的温度在不同压力的压力采样值以及所述插值算法,得到当前温度下的每个压力对应的第一压力采样值;
[0018]
查找与当前压力采样值最接近的n个第一压力采样值;
[0019]
利用n个第一压力采样值和与n个第一压力采样值各自对应的压力,以及所述插值算法,得到与当前压力采样值对应的当前压力。
[0020]
可选的,所述插值算法为牛顿插值算法。
[0021]
可选的,所述插值算法为拉格朗日插值算法。
[0022]
可选的,所述n=3。
[0023]
本发明还公开了一种压力变送器温度补偿系统,包括:
[0024]
采样值获取模块,用于获取当前测量环境下的当前温度采样值与当前压力采样值;
[0025]
温度查找模块,用于在预设的温度补偿数据表中,查找与当前温度采样值最接近的n个温度采样值;其中,n为正整数且n≥3;
[0026]
温度插值模块,用于利用n个温度采样值和与n个温度采样值各自对应的温度以及插值算法,得到与当前温度采样值对应的当前温度;
[0027]
压力计算模块,用于利用n个温度采样值和与n个温度采样值各自对应的温度在不同压力的压力采样值以及所述插值算法,得到当前温度下的每个压力对应的第一压力采样值;
[0028]
压力查找模块,用于查找与当前压力采样值最接近的n个第一压力采样值;
[0029]
压力插值模块,用于利用n个第一压力采样值和与n个第一压力采样值各自对应的压力,以及所述插值算法,得到与当前压力采样值对应的当前压力。
[0030]
本发明还公开了一种压力变送器温度补偿装置,包括:
[0031]
存储器,用于存储计算机程序;
[0032]
处理器,用于执行所述计算机程序以实现如前述的压力变送器温度补偿方法。
[0033]
本发明还公开了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的压力变送器温度补偿方法。
[0034]
本发明中,压力变送器温度补偿方法,包括:获取当前测量环境下的当前温度采样值与当前压力采样值;在预设的温度补偿数据表中,查找与当前温度采样值最接近的n个温度采样值;其中,n为正整数且n≥3;利用n个温度采样值和与n个温度采样值各自对应的温度以及插值算法,得到与当前温度采样值对应的当前温度;利用n个温度采样值和与n个温度采样值各自对应的温度在不同压力的压力采样值以及插值算法,得到当前温度下的每个压力对应的第一压力采样值;查找与当前压力采样值最接近的n个第一压力采样值;利用n个第一压力采样值和与n个第一压力采样值各自对应的压力,以及插值算法,得到与当前压力采样值对应的当前压力。
[0035]
本发明实施例基于温度、压力信号的多点标定,进行分段插值方法补偿温度漂移,
不仅能消除非线性误差、同时能对零点温度漂移、量程温度漂移精确补偿,利用牛顿插值算法引入差商表,可以在工作环境温度、压力量程范围两个维度两次插值,有效改善工作环境温度、量程内给定压力的变化引起的灵敏度的漂移、非线性误差,并且通过动态线性表解耦误差综合影响,计算较简单,软件实现简单,响应速度性相对比较快,且便于增加节点,提高插值多项式次数,降低插值误差,可以根据需求选择调整插值多项式的次数,最大程度平衡精度及响应速度。
附图说明
[0036]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0037]
图1为现有技术的线性插值示意图;
[0038]
图2为本发明实施例公开的一种压力变送器温度补偿方法流程示意图;
[0039]
图3为本发明实施例公开的一种压力变送器温度补偿系统结构示意图。
具体实施方式
[0040]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]
本发明实施例公开了一种压力变送器温度补偿方法,参见图1所示,该方法包括:
[0042]
s11:获取当前测量环境下的当前温度采样值与当前压力采样值。
[0043]
具体的,利用压力变送器测量当前测量环境下的温度与压力,得到当前测量环境下的当前温度采样值与当前压力采样值,例如,当前温度采样值为1.156,当前压力采样值为42.2。
[0044]
具体的,采样值可以具体为电压采样值。
[0045]
s12:在预设的温度补偿数据表中,查找与当前温度采样值最接近的n个温度采样值;其中,n为正整数且n≥3。
[0046]
具体的,温度补偿数据表为预先生成的,首先在待测设备的工作温度范围内选定m(m≥3)个标定点,在压力量程范围内从0%-100%内选定n(n≥3)个标定结点(在压力变送器量程范围以fs/(n-1)为步长取点),并对m*n个标定点进行相应条件下的变送器压力标定,并采集、保存压力通道信号值,形成温度补偿数据表。
[0047]
例如,当m=8、n=14时,温度补偿数据表如表1所示。表1中第一行为温度,第二行为当前温度下的温度通道采样值,第一列为压力,其余数据均为标定所得当前温度当前压力的压力通道采样值。
[0048]
表1
[0049][0050]
具体的,例如,当前温度采样值为1.156,n取3,则与当前温度采样值1.156最接近的三个温度采样值分别为0.9375、1.25和1.5625,分别对应的温度是30℃、40℃和50℃。
[0051]
s13:利用n个温度采样值和与n个温度采样值各自对应的温度以及插值算法,得到与当前温度采样值对应的当前温度。
[0052]
具体的,插值算法可以为牛顿插值算法或拉格朗日插值算法,以牛顿插值算法为例,首先构筑温度差商表,例如,温度差商表如下所示:
[0053]
dd[0]=p0;
[0054][0055][0056][0057]
式中,t0、t1、t2为与当前温度采样值相邻的三个温度采样值,p0、p1、p2为与t0、t1、t2对应的温度,t3、t4为相邻的第四个与第五个温度采样值,p3为与t3对应的第四个温度。
[0058]
可以理解的是,差商表的构建与n的取值相关,n取越大时,构建越多越完整的差商表,n取值越大,计算精度越高,但计算量也越大,因此,可以根据实际应用需要取值,在此,可以n=3,差商表只需构建到dd[2]即可
[0059]
具体的,在构建温度差商表后,可以代入温度计算公式:t[x]=dd[2]
×
(t
x-t1)
×
(t
x-t0)+dd[1]
×
(t
x-t0)+dd[0];便可以得到当前温度采样值t[x],例如,接前例以及表1,当前温度采样值为1.156时,当前温度为37℃。
[0060]
具体的,计算原理为根据温度采样值确定在当前温度下0~100%的n个动态线性数据点,组成线性曲线。根据温度采样值判断相邻的3条温度曲线,使用相邻3条温度线的3*n个线性数据,利用牛顿插值公式,推导出压力量程范围0~100%在当前温度下的n个动态
线性数据点。
[0061]
s14:利用n个温度采样值和与n个温度采样值各自对应的温度在不同压力的压力采样值以及插值算法,得到当前温度下的每个压力对应的第一压力采样值。
[0062]
具体的,计算出当前温度后,可以得到如表2所示的温度补偿数据表,其中,缺少刚计算出的当前温度对应的各压力下的压力采样值,为此需要继续利用插值算法计算出当前温度下各个压力对应的第一压力采样值。
[0063]
表2
[0064][0065][0066]
具体的,为此,需要利用与n个温度采样值各自对应的温度在不同压力的压力采样值,例如,n个温度采样值各自对应的温度为30℃、40℃和50℃,则继续利用30℃、40℃和50℃下每个压力下的压力采样值,计算出该压力下的第一压力采样值。
[0067]
此时牛顿插值算法中,t0、t1、t2为与当前温度采样值相邻的三个温度采样值,p0、p1、p2为与t0、t1、t
2 3个温度采样值各自对应的温度在不同压力的压力采样值。通过以上参数即可以得到各个压力下的第一压力采样值差商表。例如参见表2所示,t0、t1、t2分别为0.9375、1.25和1.5625,在-90kpa压力下,p0、p1、p2分别为-5.628、-5.477、-5.429,即可以得到-90kpa压力下的第一压力采样值差商表。
[0068]
具体的,基于第一压力采样值差商表,可以代入第一压力采样值计算公式:
[0069]
p[x]=dd[2]
×
(t
x-t1)
×
(t
x-t0)+dd[1]
×
(t
x-t0)+dd[0]
[0070]
式中,t
x
为当前温度采样值,根据以上公式便可以得到当前第一压力采样值px,例如,接前例以及表2,当前温度采样值为1.156时,在-90kpa压力下,第一压力采样值为-5.509,在0kpa压力下,第一压力采样值为-2.960,在150kpa压力下,第一压力采样值为1.438。
[0071]
具体的,继续通过不断计算各压力下对应的第一压力采样值,最终得到当前温度下的每个压力对应的第一压力采样值,如表3所示。
[0072]
其中,当前温度下各压力对应的压力采样值均称为第一压力采样值。
[0073]
表3
[0074][0075][0076]
s15:查找与当前压力采样值最接近的n个第一压力采样值;
[0077]
s16:利用n个第一压力采样值和与n个第一压力采样值各自对应的压力,以及插值算法,得到与当前压力采样值对应的当前压力。
[0078]
具体的,与温度插值原理相同,首先查找在与当前压力采样值最接近的n个第一压力采样值,例如,当前压力采样值为42.2,则相邻的三个第一压力采样值为36.216、40.563和44.908,根据当前压力采样值p
x
和计算出的动态线性表,找出与p
x
相邻的3个线性点p0、p1、p2,例如,三个第一压力采样值36.216、40.563和44.908,以及与之对应的压力m0、m1、m2,例如,与前例中三个第一压力采样值对应的1650kpa、1500kpa和1350kpa,带入压力牛顿插值公式,计算出当前压力值p
x
对应的实际压力值m
x

[0079]
具体的,首先计算压力差商值:
[0080]
dd[1]=m0;
[0081][0082][0083]
实际压力值计算公式为:
[0084]
p
x
=dd[2]
×
(p
x-p1)
×
(p
x-p0)+dd[1]
×
(p
x-p0)+dd[0]。
[0085]
具体的,最终得到在当前温度下当前压力采样值对应的实际压力,例如,当前温度37℃,当前压力采样值为42.2,在表3的基础上,与当前压力采样值对应的实际压力为1556.513kpa,如表4所示。
[0086]
表4
[0087][0088][0089]
可见,本发明实施例基于温度、压力信号的多点标定,进行分段插值方法补偿温度漂移,不仅能消除非线性误差、同时能对零点温度漂移、量程温度漂移精确补偿,利用牛顿插值算法引入差商表,可以在工作环境温度、压力量程范围两个维度两次插值,有效改善工作环境温度、量程内给定压力的变化引起的灵敏度的漂移、非线性误差,并且通过动态线性表解耦误差综合影响,计算较简单,软件实现简单,响应速度性相对比较快,且便于增加节点,提高插值多项式次数,降低插值误差,可以根据需求选择调整插值多项式的次数,最大程度平衡精度及响应速度。
[0090]
相应的,本发明实施例还公开了一种压力变送器温度补偿系统,参见图3所示,该系统包括:
[0091]
采样值获取模块,用于获取当前测量环境下的当前温度采样值与当前压力采样值;
[0092]
温度查找模块,用于在预设的温度补偿数据表中,查找与当前温度采样值最接近的n个温度采样值;其中,n为正整数且n≥3;
[0093]
温度插值模块,用于利用n个温度采样值和与n个温度采样值各自对应的温度以及插值算法,得到与当前温度采样值对应的当前温度;
[0094]
压力计算模块,用于利用n个温度采样值和与n个温度采样值各自对应的温度在不同压力的压力采样值以及插值算法,得到当前温度下的每个压力对应的第一压力采样值;
[0095]
压力查找模块,用于查找与当前压力采样值最接近的n个第一压力采样值;
[0096]
压力插值模块,用于利用n个第一压力采样值和与n个第一压力采样值各自对应的压力,以及插值算法,得到与当前压力采样值对应的当前压力。
[0097]
可见,本发明实施例基于温度、压力信号的多点标定,进行分段插值方法补偿温度漂移,不仅能消除非线性误差、同时能对零点温度漂移、量程温度漂移精确补偿,利用牛顿插值算法引入差商表,可以在工作环境温度、压力量程范围两个维度两次插值,有效改善工作环境温度、量程内给定压力的变化引起的灵敏度的漂移、非线性误差,并且通过动态线性表解耦误差综合影响,计算较简单,软件实现简单,响应速度性相对比较快,且便于增加节
点,提高插值多项式次数,降低插值误差,可以根据需求选择调整插值多项式的次数,最大程度平衡精度及响应速度。
[0098]
具体的,插值算法为牛顿插值算法或拉格朗日插值算法。
[0099]
具体的,上述n可以取值为3。
[0100]
此外,本发明实施例还公开了一种压力变送器温度补偿装置,包括:
[0101]
存储器,用于存储计算机程序;
[0102]
处理器,用于执行计算机程序以实现如前述的压力变送器温度补偿方法。
[0103]
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的压力变送器温度补偿方法。
[0104]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0105]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0106]
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1