pt100 c 语言,PT100计算公式 C程序.doc

PT100计算公式

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

#define A 3.9083e-3

#define B -5.775e-7

#define C -4.183e-12

温度计算电阻

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);

}

电阻计算温度,采用牛顿迭代法,一般迭代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);

}

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值