S型標(biāo)準(zhǔn)熱電偶分度表的MFC設(shè)計(jì)
發(fā)布時(shí)間:2022-08-29
瀏覽次數(shù):
摘要:MFC具有強(qiáng)大的算法功能、穩(wěn)定的固定界面、執(zhí)行效率高、運(yùn)行快等優(yōu)點(diǎn)。針對(duì)
S型標(biāo)準(zhǔn)熱電偶熱電勢(shì)求取問題,結(jié)合
標(biāo)準(zhǔn)熱電偶溯源證書及GB/T16839.1-2018《熱電偶第1部分:電動(dòng)勢(shì)規(guī)范和允差》規(guī)定的公式,通過(guò)解一-組三元一.次聯(lián)立方程確定差值函數(shù),使用MFC完成S型標(biāo)準(zhǔn)熱電偶分度表的設(shè)計(jì)。最后通過(guò)與JJG75-1995《
標(biāo)準(zhǔn)鉑銠10-鉑熱電偶檢定規(guī)程》及標(biāo)準(zhǔn)鉑銠10-鉑熱電偶溯源證書中對(duì)應(yīng)數(shù)據(jù)比對(duì),進(jìn)行結(jié)果驗(yàn)證。
在Excel中,有意或無(wú)意對(duì)數(shù)據(jù)或公式的改動(dòng)、插入表格或刪除一行(或列)均可能會(huì)發(fā)生嚴(yán)重錯(cuò)誤,而這種錯(cuò)誤不容易被發(fā)現(xiàn)。MFC(微軟基礎(chǔ)類庫(kù))具有可視的人機(jī)界面、強(qiáng)大的算法功能,穩(wěn)定的固定界面,此外還具有代碼執(zhí)行效率高、運(yùn)行快、資源占用少及移植性強(qiáng)等優(yōu)點(diǎn)。
針對(duì)S型標(biāo)準(zhǔn)熱電偶(標(biāo)準(zhǔn)鉑銠10-鉑熱電偶)熱電勢(shì)求取問題.結(jié)合標(biāo)準(zhǔn)熱電偶溯源證書及GB/T16839.1-2018《熱電偶第1部分:電動(dòng)勢(shì)規(guī)范和允差》規(guī)定的公式,通過(guò)解一-組三元一次聯(lián)立方程確定差值函數(shù),使用MFC完成S型標(biāo)準(zhǔn)熱電偶分度表的設(shè)計(jì)。
1理論分析
1.1參考函數(shù)
S型標(biāo)準(zhǔn)熱電偶在溫度范圍(-50~1768.1)℃內(nèi)的參考函數(shù)以多項(xiàng)式形式表示,如式(1)所示:
式中:Er(t90)一電動(dòng)勢(shì),μV;
T90一ITS-90溫度,℃;
αi一多項(xiàng)式第i項(xiàng)的系數(shù);
n一多項(xiàng)式階數(shù)。
αi與n的值在GB/T16839.1-2018《熱電偶第1部分:電動(dòng)勢(shì)規(guī)范和允差》表3中列出。
1.2差值函數(shù)
S型標(biāo)準(zhǔn)熱電偶在溫度范圍(300~1100)℃內(nèi)的差值函數(shù)△E(t)如式(2)所示:
△E(t)=E(t)-Er(t)=a+bt-ct
2(2)
式中:E(t)一-S型標(biāo)準(zhǔn)熱電偶熱電勢(shì),μV;溫度值,℃。
a、b和c三個(gè)系數(shù)由每支熱電偶在三個(gè)分度點(diǎn)上測(cè)得的熱電勢(shì)(可由溯源證書得知)代入式(2)解-組三元一次聯(lián)立方程求得,其推導(dǎo)公式分別如式(3)~式(5)所示:
式中:t1、t2和t3一S型標(biāo)準(zhǔn)熱電偶三個(gè)分度點(diǎn)的溫度值,℃;
△E1、△E/2和△E3一三個(gè)分度點(diǎn)的差值函數(shù).μV。
2.MFC編程實(shí)現(xiàn)
2.1流程圖及界面設(shè)計(jì)
流程圖及界面設(shè)計(jì)如圖1、圖2所示。
2.2程序編寫
安裝VC6.0,新建“MFCAppWizard[exe]”工程,選擇“基本對(duì)話框”應(yīng)用程序類型,再根據(jù)MFC應(yīng)用程序向?qū)瓿?步驟。選擇resources中Dialog設(shè)置界面,在界面.上新增9個(gè)編輯框(分別對(duì)應(yīng)溫度t、標(biāo)準(zhǔn)熱電偶鋅凝固點(diǎn)熱電勢(shì)、標(biāo)準(zhǔn)熱電偶鋁凝固點(diǎn)熱電勢(shì)、標(biāo)準(zhǔn)熱電偶銅凝固點(diǎn)熱電勢(shì)、系數(shù)α、系數(shù)b、系數(shù)c、E(t)及E,(t))和1個(gè)按鈕(由溫度t、標(biāo)準(zhǔn)熱電偶鋅凝固點(diǎn)熱電勢(shì)、標(biāo)準(zhǔn)熱電偶鋁凝固點(diǎn)熱電勢(shì)、標(biāo)準(zhǔn)熱電偶銅凝固點(diǎn)熱電勢(shì)求取并顯示系數(shù)α、系數(shù)b、系數(shù)c、E(t)及E,(t)的功能),對(duì)每個(gè)編輯框和按鈕右擊點(diǎn)擊“屬性”賦予不同的ID,雙擊按鈕自動(dòng)添加處理函數(shù)。在處理函數(shù)中添加式(1)~式(5)的程序,主要程序如下所示:
CStringtzifu;//溫度t字符
GetDlgItemText(IDC_t,tifu);/1從ID為IDC_t的編輯框讀取內(nèi)容并賦予溫度t字符
doubletshuzhi=atof(zifu);/1將溫度t字符轉(zhuǎn)換為浮點(diǎn)數(shù)類型并賦予溫度t數(shù)值
從ID地址為IDC_t的編輯框讀取溫度t的字符,并將其轉(zhuǎn)換為浮點(diǎn)數(shù)類型從而參與公式(1)~公式(5)的運(yùn)算,標(biāo)準(zhǔn)熱電偶在鋅、鋁和銅凝固點(diǎn)熱電勢(shì)的讀取類似。
doubled1[9]={0,5.40313308631*pow(10,0),1.2593428974*pow(10,-2),-2.32477968689*pow(10,-5),3.22028823036*pow(10,-8),-3.31465196389*pow(10,-11),2.55744251786*pow(10,-14),-1.25068871393*pow(10,-17),2.71443176145*pow(10,-21)};
doubled2[5]={1.32900444085*pow(10.3),3.34509311344*pow(10.0).6.54805192818*pow(10,-3),-1.64856259209*pow(10,-6),1.29989605174*pow(10,-11)};
doubled3[5]={1.46628232636*pow(10,5),-2.58430516752*pow(10,2),1.63693574641*pow(10,-1),-3.30439046987*pow(10,-5),-9.43223690612*pow(10,-12)};
doubleErtshuzhi=0;11參考函數(shù)E,(t)數(shù)值
if(-50<=tshuzhi&&tshuzhi<=1064.18)for(inti=0;i<9;i++)
{Ertshuzhi=Ertshuzhi+d16]*pow(tshuzhi,i);}
}
elseif(1064.18<tshuzhi&&tshuzhi<=1664.5)
{
for(inti=0;i<5;i++)
{Ertshuzhi=Ertshuzhi+d26]*pow(tshuzhi,i);}
}
elseif(1664.5<tshuzhi&&tshuzhi<=1768.1)
{
for(inti=0;i<5;i++)
{Ertshuzhi=Ertshuzhi+d3i]*pow(tshuzhi,i);}
}
doubleErZnshuzhi=0,ErAlshuzhi=0,ErCushuzhi=0;11參考函數(shù)在鋅鋁銅凝固點(diǎn)數(shù)值
for(intj=0;j<9;j++)
{
ErZnshuzhi=ErZnshuzhi+d1j]*pow(419.527,j);
ErAlshuzhi=ErAlshuzhi+d1Gj]*pow(660.323,j);
}
for(intk=0;k<5;k++)
{
ErCushuzhi=ErCushuzhi+d2[k]*pow(1084.62,k);
}
doubleashuzhi=0,bshuzhi=0,cshuzhi=0;1/系數(shù)a、b和c數(shù)值
doubletl=419.527,t2=660.323,t3=1084.62;
doubleE1=EZnshuzhi-ErZnshuzhi,E2=EAlshuzhi-ErAlshuzhi,
E3=ECushuzhi-ErCushuzhi;//差值函數(shù)在鋅鋁銅凝固點(diǎn)數(shù)值
doubleal=t2*t3/((t1-t2)*(tl-t3)),a2=-t1*t3/((t1-t2)*(t2-t3)),a3=t1*2/((t1-t3)*(t2-t3));
doubleb1=-(t2+t3)/((t1-t2)*(t1-t3)),b2=(t1+t3)/((t1-t2)*(t2-t3)).b3=-(t1+t2)/((t1-t3)*(t2-t3));
doublec1=1/((t1-2)*(t1-t3)),c2=-1/((t1-2)*(t2-t3)),
c3=1/((tl-t3)*(t2-t3));
ashuzhi=al*E1+a2*E2+a3*E3;
bshuzhi=b1*E1+b2*E2+b3*E3;
cshuzhi==c1*E1+c2*E2+c3*E3;
doubleEtshuzhi=0;1/熱電勢(shì)E(t)數(shù)值
Etshuzhi=ashuzhi+bshuzhi*tshuzhi+cshuzhi*tshuzhi*tshuzhi+Ertshuzhi;
多項(xiàng)式系數(shù)αi放在數(shù)組d1[9]、d2[5]及d3[5]中,最后將各數(shù)值在對(duì)應(yīng)的編輯框中顯示出來(lái),以E(t)為例(系數(shù)a、b和c與參考函數(shù)Er(t)類r似),程序如下所示:
CStringEtzifu;//熱電勢(shì)E(t)字符
Ezifu.Format("%.15f",Etshuzhi);//將熱電勢(shì)E(t)數(shù)值轉(zhuǎn)換為小數(shù)點(diǎn)后15位字符串SetDlgItemText(IDC_Et,Ezifu);11在ID為IDC_Et的編輯框中顯示出來(lái)
快捷鍵F5運(yùn)行調(diào)試無(wú)錯(cuò)后即可使用工程所在文件夾下Debug文件中的執(zhí)行文件,可以移植到其他電腦上。
3結(jié)果驗(yàn)證
已知JJG75-1995《標(biāo)準(zhǔn)鉑銠10-鉑熱電偶檢定規(guī)程》附錄2鉑銠10-鉑熱電偶(S型)參考函數(shù)[E,(D]表與標(biāo)準(zhǔn)鉑銠10-鉑熱電偶溯源證書中數(shù)據(jù),利用編好的軟件求取Er(t)、系數(shù)a、b和c及E(t),與JJG75-1995《標(biāo)準(zhǔn)鉑銠10-鉑熱電偶檢定規(guī)程》附錄2及溯源證書中對(duì)應(yīng)數(shù)據(jù)比對(duì)分析,如表1所示。
從表1可知,軟件給出的各溫度點(diǎn)參考函數(shù)均能通過(guò)數(shù)字修約規(guī)則“四舍六入,逢五取偶”得到JJG75-1995《標(biāo)準(zhǔn)鉑銠10-鉑熱電偶檢定規(guī)程》附錄2鉑銠10-鉑熱電偶(S型)參考函數(shù)(除鋅、鋁和銅凝固點(diǎn)對(duì)應(yīng)的參考函數(shù)外,因?yàn)橐?guī)程未給出數(shù)值)。
從表1也可知,軟件給出的各溫度點(diǎn)熱電勢(shì)均能通過(guò)數(shù)字修約規(guī)則“四舍六入,逢五取偶”得到標(biāo)準(zhǔn)鉑銠10-鉑熱電偶溯源證書中對(duì)應(yīng)的熱電勢(shì)。
通過(guò)以上比對(duì)分析,證明了該軟件數(shù)據(jù)的可靠性。只要知道S型標(biāo)準(zhǔn)熱電偶溯源證書中鋅、鋁和銅凝固點(diǎn)熱電勢(shì)以及溫度t,就可求出新系數(shù)a、b和c,即求出新差值函數(shù)。可以使用.上述方法將S型標(biāo)準(zhǔn)熱電偶分度表準(zhǔn)確的計(jì)算和打印出來(lái),便于工作中使用。