PT100计算公式 C程序

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

PT100计算公式

基于ITS-90工业用铂电阻分度表IEC751的修订版。包含2个函数。

#define A 3.9083e-3

#define B -5.775e-7

#define C -4.183e-12

1、温度计算电阻

void CCalcuPT100Dlg::OnEnChangeEditT()

{

// TODO: 在此添加控件通知处理程序代码

UpdateData(TRUE);

double fT , fR;

fT = _wtof(l_strT);

if(fT >= -200 && fT < 0)

{

fR = 100 * (1 + A*fT + B*fT*fT + C*(fT-100)*fT*fT*fT) ;

l_strR.Format(_T("%.3f") , fR);

}

else if(fT >= 0 && fT <= 850)

{

fR = 100 * (1 + A*fT + B*fT*fT);

l_strR.Format(_T("%.3f") , fR);

}

else

l_strR = _T("温度超限!");

UpdateData(FALSE);

}

2、电阻计算温度,采用牛顿迭代法,一般迭代3次就可以达到0.1%的精度。void CCalcuPT100Dlg::OnEnChangeEditR()

{

// TODO: 在此添加控件通知处理程序代码

UpdateData(TRUE);

double fT , fR , fT0;

short i ;

fR = _wtof(l_strR);

fT0 = (fR / 100 - 1) / A ;

if(fR >= 18.52 && fR < 100) //-200℃- 0℃

{

for(i = 0 ; i < 50 ; i ++)

{

fT = fT0 + (fR - 100*(1 + A*fT0 + B*fT0*fT0 - 100*C*fT0*fT0*fT0 + C*fT0*fT0*fT0*fT0)) /

(100 * (A + 2*B*fT0 - 300*C*fT0*fT0 + 4*C*fT0*fT0*fT0)) ;

if(fabs(fT - fT0) < 0.001)

break ;

else

fT0 = fT ;

}

l_strT.Format(_T("%.3f") , fT);

}

else if(fR >= 100 && fR <= 390.481) //0℃- 850℃

{

for(i = 0 ; i < 50 ; i ++)

{

fT = fT0 + (fR - 100*(1 + A*fT0 + B*fT0*fT0)) / (100*(A + 2*B*fT0)) ;

if(fabs(fT - fT0) < 0.001)

break ;

else

fT0 = fT ;

}

l_strT.Format(_T("%.3f") , fT);

}

else

l_strT = _T("电阻超限!");

UpdateData(FALSE);

}

相关文档
最新文档