标定(标准样气校正)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单点校正,标准样品的待测组分含量可在上下量程之间的任意值;在线下一般取该流程中组分的常用值。

变量定义

Y:组分含量下量程(零点量程)Y0;上量程(满量程)Ym

(y:传感器输出信号下量程输出(零点量程)y0;上量程输出(满量程)ym)

(X: 放大器输出信号下量程输出(零点量程)X0(=0V);上量程输出(满量程)

Xm(=+5V))

x: A/D采样值下量程输出(零点量程)x0(=0);上量程输出(满量程)

xm(=0FFH,255—8位A/D)

xm(=03FFH,1023—10位A/D)

xm(=0FFFH,4095—12位A/D)

相关程序设计及计算方法

计算机程序中:1)数据滤波子程序(函数):-——对A/D采样值xi进行滤波处理

以获得准确的x`值;

2) x值校整处理子程序(函数):x=K2(x`)2+K1 x`+b (三点校准得到的

参数K2,K1,b)

或 x=K1 x`+b (两点校准得到的参数K1,b)

或 x= x`+b (单点校准得到的参数b)

3)组分含量转换子程序(函数):由Y=f(x) 计算得出;

若Y=f(x)=kx+c即为线性转换关系;

否则,为非线性关系,如Y=f(x)=a0+ a1x+ a2x2+ a3x3+ a4x4+ a5x5

(一般情况下该转换关系已保存在测控系统的软件程序中)

4)标准样品标定(校准)子程序(函数):

①单点校准设这个标准样品的组分含量为Y1,由键盘输入为已知变

量;令校准前b=0; 调用组分含量转换反函数 x1=f-1(Y1)=(Y1-c)/k(线性

转换),得出对应Y1的A/D采样校整值x1. 由A/D 采样得到的实际值为

x; 从而可得:b=x1-x

②两点校准设这两个标准样品的组分含量为Y1、Y2,由键盘输入为已

知变量;令校准前K1=1、b=0; 调用组分含量转换反函数

x=f-1(Y),得出对应Y1、Y2的A/D采样校整值x1、x2. 由A/D 采样得到的

实际值为x1’、x2’; 从而可得:K1和b。

x1=K1* x1’+b

x2=K1* x2’+b

③三点校准设这三个标准样品的组分含量为Y1、Y2、Y3,由键盘输入

为已知变量;令校准前K2=0、K1=1、b=0; 调用组分含量转换反函数

x=f-1(Y),得出对应Y1、Y2、Y3的A/D采样校整值x1、x2、x3. 由A/D 采

样得到的实际值为x1’、x2’、x3’; 从而可得:K1、K2和b。

x1=K2*( x1’)2+K1* x1’+b

x2= K2*( x2’)2+K1* x2’+b

x3= K3*( x3’)2+K1* x3’+b

例:某红外甲烷分析仪,其含量分析量程为0-100PPm,与16位A/D采样值的转换关系为线性关系;使用一年后,进行两点校准:采用的标准气甲烷含量分别为0.5 PPm 和

95PPm,此时仪器显示对应甲烷含量分别为0.46 PPm 和95.25PPm。试计算校准参数的值;并用C++语言编写一段函数实现两点校准。(计算中应尽量减少对测量误差的影响,保留5位小数)

解:仪器量程为:0-100PPm;

A/D转换器为:0-65535 则线性转换关系为:Y=100/65535*x=0.3922*x.

两者的线性反转换关系为:x =65535/100*Y=655.35*Y.

以下作无量纲计算。

由标准气甲烷含量得:Y1=0.50 Y2=95.00

计算标准气甲烷含量对应A/D采样值:x1=65535/100*0.50=327.67500=328

X2=65535/100*95.00=62258.25000=62258 计算仪器显示甲烷含量对应A/D采样值:x1’=65535/100*0.46=301.46100=301

x2’=65535/100*95.25=62422.08750=62422 由校准参数计算公式:

x1=K1* x1’+b

x2=K1* x2’+b

带入得:

328=301*K1+b

62258.=62422.*K1+b

K1=0.996925

B=27.936585

核对样气含量显示: 零点气—Y=100/65535*(301*0.996925+27.936585)=.050051=0.50PPm 量程气—Y=100/65535*(62422*0.996925+27.936585)=94.99960=95.00PPm

float K1=1.0;

float b=0.0;

void probK (float Y0,float x ,int i,int j)

// Y0为样品标准含量值,Y0[0]:零点气含量值 Y0[1]:量程气含量值;

// x为A/D转换校整值,x[0]:零点气转换值 x[1]:量程气转换值;

// i:指示为零点(i=0)或量程校准(i=1);

// j: 指示上一次校准为零点(j=0)还是量程校准(j=1);完成两点校准后j=-1. {

K1=1; //当仪器键盘上选择零点或量程校准时也有同样操作

b=0;

If(j==-1)

{

j==i; //作单点校准

x0[i]=Y0[i]*635535/100;

b=x0[i]-x[i];

}

Elseif(j==i)

{

j==i; //作单点校准

相关文档
最新文档