當(dāng)前位置:首頁(yè) > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]以建筑節(jié)能為目的,介紹了一種建筑外窗保溫性能檢測(cè)裝置測(cè)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。依照現(xiàn)場(chǎng)總線(xiàn)的技術(shù)要求,系統(tǒng)硬件采用通用微型計(jì)算機(jī)為主機(jī),各種測(cè)控儀表為從機(jī),雙絞線(xiàn)為傳輸介質(zhì),按照RS-232/RS-485串行總線(xiàn)標(biāo)準(zhǔn)及接口技術(shù)實(shí)現(xiàn)主從機(jī)之間的信息交換。討論了在Visual C++開(kāi)發(fā)平臺(tái)下,利用串口類(lèi)CSerialPort實(shí)現(xiàn)多串口通信,以及多線(xiàn)程、數(shù)據(jù)庫(kù)、打印等功能的實(shí)現(xiàn)。實(shí)現(xiàn)了根據(jù)國(guó)家標(biāo)準(zhǔn)GB/T8484-2002的要求完成的測(cè)控功能。

1概述

建筑耗能數(shù)量大,比例高,發(fā)達(dá)國(guó)家建筑用能比例一般為全國(guó)總能耗的30%~40%,所占能耗比重很大。在我國(guó),建筑能耗占全社會(huì)總能耗的27.6%,而民用建筑能耗中住宅能耗占60%。與之對(duì)應(yīng),建筑節(jié)能潛力巨大。

建筑節(jié)能,冬季建筑外窗散熱是一個(gè)大問(wèn)題。國(guó)家標(biāo)準(zhǔn)《建筑外窗保溫性能分級(jí)及檢測(cè)方法》(GB/T8484―2002),要求檢測(cè)建筑外窗的傳熱系數(shù),判定建筑外窗的保溫性能等級(jí)。檢測(cè)標(biāo)準(zhǔn)中采用的檢測(cè)設(shè)備如圖1所示。


該裝置是基于穩(wěn)定傳熱原理,采用標(biāo)定熱箱法檢測(cè)窗戶(hù)保溫性能。試件一側(cè)為熱箱,模擬采暖建筑冬季室內(nèi)氣候條件,另一側(cè)為冷箱,模擬冬季室外氣候條件。在對(duì)試件縫隙進(jìn)行密封處理,試件兩側(cè)各自保持穩(wěn)定的空氣溫度、氣流速度和熱輻射條件下,測(cè)量熱箱中電暖氣的發(fā)熱量,減去通過(guò)熱箱外壁和試件框的熱損失,除以試件面積與兩側(cè)空氣溫差的乘積,即可計(jì)算出試件的傳熱系數(shù)K值(K值為在穩(wěn)定傳熱條件下,外窗兩側(cè)空氣溫差為1℃,單位時(shí)間內(nèi)通過(guò)單位面積的傳熱量以W/(m2·K)計(jì)。試件傳熱系數(shù)K值按下式計(jì)算:



式中:Q為電暖氣的發(fā)熱功率;M1△θ1為熱箱外壁的熱損失;M2△θ2為試件框的熱損失;S·Λ·△θ3為填充板的熱損失;A為試件的面積;△t試件兩側(cè)的溫差。

2系統(tǒng)硬件結(jié)構(gòu)

國(guó)標(biāo)中要求熱箱空氣溫度的設(shè)定范圍為18℃~20℃,冷箱空氣溫度的設(shè)定范圍為-19℃~-21℃,所以裝置中需要兩臺(tái)溫度控制儀表,分別用來(lái)控制熱室和冷室內(nèi)的溫度。另外,檢測(cè)過(guò)程中需要用到多個(gè)溫度測(cè)點(diǎn)的溫度值和電暖氣的加熱功率,故裝置中還需要一臺(tái)32路溫度巡檢儀表和一臺(tái)功率計(jì)。以上智能儀表作為整個(gè)測(cè)控系統(tǒng)的從機(jī)部分,主機(jī)部分為通用微型計(jì)算機(jī),兩者通過(guò)半雙工RS-232/RS-485標(biāo)準(zhǔn)總線(xiàn)接口通信,采用雙絞線(xiàn)進(jìn)行信號(hào)傳輸。在這種系統(tǒng)結(jié)構(gòu)下,作為下位機(jī)的智能儀表完成測(cè)量控制功能,便于快速構(gòu)造系統(tǒng)并保證測(cè)控精度。

由于從機(jī)部分的儀表較多,并且通信協(xié)議和通信接口不一致,故系統(tǒng)采用多串口通信。功率計(jì)為RS-232接口,故單獨(dú)為其分配一個(gè)串口;32路溫度巡檢儀和兩個(gè)溫度控制儀為RS-485接口,而PC一般只有RS-232接口,需要RS-232/RS-485接口轉(zhuǎn)換器。系統(tǒng)的總體硬件框圖如圖2所示。巡檢儀按國(guó)家標(biāo)準(zhǔn)外接的溫度傳感器采用銅一康銅熱電偶,要求的溫度測(cè)點(diǎn)很多,所以同類(lèi)溫度測(cè)點(diǎn)的熱電偶可以并聯(lián)。具體裝置尺寸及材質(zhì)、熱箱外壁和試件框熱流系數(shù)標(biāo)定、試件框的面積劃分、溫度測(cè)點(diǎn)的分布、熱電偶的篩選和校驗(yàn)等詳細(xì)要求請(qǐng)參見(jiàn)有關(guān)國(guó)家標(biāo)準(zhǔn)。

3系統(tǒng)軟件結(jié)構(gòu)

系統(tǒng)軟件總體框圖如圖3所示。它充分利用了Windows系統(tǒng)允許多進(jìn)程、多線(xiàn)程的編程特點(diǎn),開(kāi)辟了兩個(gè)線(xiàn)程;還利用了VC++的面向?qū)ο蟮脑O(shè)計(jì)思想,把有關(guān)的數(shù)據(jù)結(jié)構(gòu)及其操作完全封裝類(lèi)中。系統(tǒng)主要實(shí)現(xiàn)的功能有下位機(jī)數(shù)據(jù)采集、主界面顯示、實(shí)時(shí)曲線(xiàn)顯示、數(shù)據(jù)存儲(chǔ)、歷史曲線(xiàn)顯示、檢測(cè)結(jié)果測(cè)定、檢測(cè)報(bào)告和歷史報(bào)告記錄的瀏覽及打印、數(shù)據(jù)庫(kù)清理及維護(hù)等。

3.1多線(xiàn)程

系統(tǒng)軟件的進(jìn)程分成兩個(gè)線(xiàn)程:主線(xiàn)程(用戶(hù)界面線(xiàn)程)和通信線(xiàn)程(輔助線(xiàn)程)。主線(xiàn)程定時(shí)啟動(dòng)通信線(xiàn)程,通信線(xiàn)程執(zhí)行完一次通信任務(wù)后掛起。主線(xiàn)程能夠提供界面和用戶(hù)交互,通常用于處理用戶(hù)輸入并響應(yīng)各種事件和消息,而通信線(xiàn)程主要用來(lái)進(jìn)行上位機(jī)與下位機(jī)之間的通信。主線(xiàn)程由AppWizard生成,下面主要介紹通信線(xiàn)程的設(shè)計(jì)。

要?jiǎng)?chuàng)建一個(gè)線(xiàn)程,需要調(diào)用函數(shù)AfxBeginThread。該函數(shù)因參數(shù)重載不同而具有兩種版本,分別對(duì)應(yīng)輔助線(xiàn)程和用戶(hù)界面線(xiàn)程。無(wú)論是輔助線(xiàn)程還是用戶(hù)界面線(xiàn)程,都需要指定額外的參數(shù)以修改優(yōu)先級(jí)、堆棧大小、創(chuàng)建標(biāo)志和安全特性等。函數(shù)AfxBeginThread返回指向CWinThread類(lèi)對(duì)象的指針。同樣,在CMain-View的構(gòu)造函數(shù)中調(diào)用AfxBeginThread函數(shù):



在啟動(dòng)通信線(xiàn)程之前,必須為線(xiàn)程的主程序編寫(xiě)一個(gè)全局函數(shù)。這個(gè)函數(shù)應(yīng)該返回一個(gè)UINT,它應(yīng)該以一個(gè)32位值(聲明為IPVOID)作為參數(shù)。在啟動(dòng)線(xiàn)程的時(shí)候,可以使用這個(gè)參數(shù)來(lái)傳遞任何東西,在A(yíng)fxBeginThread函數(shù)中傳遞的是this->GetDocument()(文檔類(lèi)的指針),這樣就可以在輔助線(xiàn)程中使用文檔類(lèi)的數(shù)據(jù)。在輔助線(xiàn)程中,要采集下位機(jī)數(shù)據(jù),然后掛起線(xiàn)程,等待定時(shí)器OnTimer函數(shù)恢復(fù)線(xiàn)程。

3.2串口通信

輔助線(xiàn)程的主要工作是PC通過(guò)串口采集下位機(jī)數(shù)據(jù),PC機(jī)的Windows操作系統(tǒng)不提倡應(yīng)用程序直接控制硬件,而是通過(guò)Windows操作系統(tǒng)提供的設(shè)備驅(qū)動(dòng)程序來(lái)進(jìn)行數(shù)據(jù)傳遞?;谏鲜鎏攸c(diǎn),結(jié)合本系統(tǒng)多串口通信的特點(diǎn),使用Visual C++6.0集成開(kāi)發(fā)環(huán)境下封裝好的串口類(lèi)CSerialPort來(lái)設(shè)計(jì)串口通信。本系統(tǒng)使用兩個(gè)串口,串口3用于與功率計(jì)之間的通信,串口4用于與巡檢儀及溫控儀之間的通信。

從機(jī)通信協(xié)議以巡檢儀為例簡(jiǎn)述如下:波特率設(shè)置為2 400 bit/s,幀格式為1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位。巡檢儀采用ASCII碼傳輸,其下傳命令幀格式如表1所示,儀表返回?cái)?shù)據(jù)幀如圖4所示。每個(gè)通道的測(cè)量值為16位二進(jìn)制,最高位為測(cè)量值的符號(hào)標(biāo)志位,1為負(fù),0為正。接收到返回?cái)?shù)據(jù)后,在程序中按照協(xié)議對(duì)其進(jìn)行相應(yīng)的處理。

使用CSerialPort類(lèi)實(shí)現(xiàn)雙串口通信,先要在對(duì)象所有者窗口類(lèi)頭文件(.H)中聲明兩個(gè)CSerialPort的對(duì)象,然后調(diào)用該類(lèi)的InitPort函數(shù)(主要完成串口號(hào)選擇、波特率設(shè)置等串口的初始化設(shè)置),并啟動(dòng)監(jiān)視串口的工作線(xiàn)程。之后串口接到數(shù)據(jù)后,會(huì)以消息的形式發(fā)送到串口的所有者窗口中,只要在該窗口中加入對(duì)這些消息的響應(yīng)即可。

  數(shù)據(jù)發(fā)送可以使用CSerialPort::WriteToPort(char*string)函數(shù),鑒于本系統(tǒng)中的通信協(xié)議都采用BYTE數(shù)據(jù)類(lèi)型進(jìn)行傳送,故把該函數(shù)修改為Serial-Port::WriteToPort(BYTE bWriteBuffer[],int nWfite-BufferSize),bWriteBuffer[]為要發(fā)送的數(shù)據(jù),nWfite-BufferSize為要發(fā)送的字節(jié)個(gè)數(shù)。

數(shù)據(jù)接收需要添加消息響應(yīng)函數(shù),首先要在對(duì)象所有者窗口類(lèi)頭文件(.H)中加入串口接收的響應(yīng)函數(shù)聲明。由于沒(méi)有自動(dòng)的消息映射機(jī)制,必須在消息映射機(jī)制的標(biāo)志處手工添加:



然后在該窗口類(lèi)的CPP文件中添加消息映射:

ON_MESSAGE(WM_COMM_RXCHAR,OnCommunication)

最后加入消息處理函數(shù)OnCommunication,在其中進(jìn)行相應(yīng)的接收數(shù)據(jù)處理即可。

3.3其他部分

系統(tǒng)除了基本測(cè)試功能的設(shè)計(jì)外,還增加了數(shù)據(jù)存儲(chǔ)、歷史數(shù)據(jù)的查詢(xún)、檢測(cè)報(bào)告的打印等功能。

3.3.1數(shù)據(jù)庫(kù)

ODBC(開(kāi)放式數(shù)據(jù)庫(kù)連接)為不同的數(shù)據(jù)庫(kù)資源提供一個(gè)標(biāo)準(zhǔn)接口,是目前Windows應(yīng)用程序中應(yīng)用最廣泛的數(shù)據(jù)接口,已經(jīng)成為工業(yè)標(biāo)準(zhǔn)。為了方便ODBC使用,MFC針對(duì)ODBC原始的簡(jiǎn)單的函數(shù)型API,建立了一些抽象類(lèi):CDatabase、CRecordset和CRecordView,分別用來(lái)支持?jǐn)?shù)據(jù)庫(kù)、記錄集和記錄視圖。MFC的ODBC類(lèi)與數(shù)據(jù)庫(kù)的關(guān)系如圖5所示。



本系統(tǒng)數(shù)據(jù)庫(kù)中建立了實(shí)時(shí)數(shù)據(jù)、歷史數(shù)據(jù)和檢測(cè)結(jié)果3張表,故相應(yīng)用到3個(gè)CRecordset的派生類(lèi),通過(guò)這些派生類(lèi)的對(duì)象調(diào)用類(lèi)中的成員函數(shù),即可進(jìn)行數(shù)據(jù)的添加、編輯、刪除、查詢(xún)等操作。

3.3.2打印

如果單純使用Windows的API函數(shù)來(lái)實(shí)現(xiàn)打印任務(wù),程序的編寫(xiě)將會(huì)變得非常繁瑣,而利用MFC提供的打印和打印預(yù)覽的應(yīng)用程序框架將會(huì)使打印任務(wù)難度大大降低。要有效使用打印的話(huà),必須理解函數(shù)調(diào)用的順序以及知道哪個(gè)函數(shù)需要被重載。

1)打印機(jī)的設(shè)備環(huán)境和OnDraw()函數(shù)

當(dāng)程序在打印機(jī)上打印的時(shí)候,它使用了一個(gè)CDC類(lèi)的設(shè)備環(huán)境對(duì)象。這個(gè)對(duì)象由應(yīng)用程序框架構(gòu)造,并把它作為參數(shù)傳遞給視圖的OnDraw函數(shù)。如果應(yīng)用程序要將顯示結(jié)果在打印機(jī)上打印出來(lái),OnDraw()函數(shù)便擔(dān)負(fù)著雙重任務(wù)。如果正在顯示,OnPaint函數(shù)便調(diào)用OnDraw,并且設(shè)備環(huán)境是顯示器環(huán)境。如果正在打印,OnDraw由另一個(gè)CView虛函數(shù)OnPrint調(diào)用,用一個(gè)打印機(jī)設(shè)備環(huán)境作為參數(shù)。

2)CView::OnPrint函數(shù)

從上面可以看到,基類(lèi)的OnPrint函數(shù)調(diào)用OnDraw函數(shù),并且OnDraw函數(shù)既可以使用顯示器設(shè)備環(huán)境,也可以使用打印機(jī)設(shè)備環(huán)境。在調(diào)用OnPrint函數(shù)之前,將會(huì)設(shè)置映射模式??梢灾剌dOnPrint函數(shù)來(lái)打印那些未顯示的項(xiàng)目,諸如標(biāo)題、頁(yè)碼等。在重載的OnPrint函數(shù)中,可以選擇不調(diào)用OnDraw函數(shù),來(lái)支持打印邏輯,這樣就使打印邏輯與顯示邏輯分開(kāi)。

4系統(tǒng)功能及其實(shí)現(xiàn)

系統(tǒng)功能較多,下面主要介紹主界面、測(cè)量界面功能的實(shí)現(xiàn)。

4.1主界面

國(guó)標(biāo)規(guī)定熱箱中溫度波動(dòng)幅度不大于0.1℃,冷箱中溫度波動(dòng)幅度不大于0.3℃,并且上述溫度的波動(dòng)不再是單向的,才表示傳熱過(guò)程穩(wěn)定,然后方可進(jìn)行后續(xù)的測(cè)量,所以設(shè)定系統(tǒng)運(yùn)行后的主界面如圖6所示。圖中,左側(cè)實(shí)時(shí)顯示熱箱、冷箱、試件框等溫度測(cè)點(diǎn)的溫度值,右側(cè)繪制熱箱內(nèi)溫度、冷箱內(nèi)溫度和供電電壓的曲線(xiàn),具體某一點(diǎn)的數(shù)據(jù)還可以通過(guò)時(shí)間游標(biāo)來(lái)查看,并且在后臺(tái)程序中對(duì)國(guó)標(biāo)所要求的溫度條件進(jìn)行判斷,如果滿(mǎn)足,則彈出消息框給出提示,便可進(jìn)入其他界面進(jìn)行下一步的檢測(cè)。

4.2測(cè)量界面

傳熱過(guò)程穩(wěn)定之后,每隔30 min測(cè)量一次參數(shù):電暖氣加熱功率、熱箱空氣平均溫度、冷箱空氣平均溫度、熱箱外壁內(nèi)外表面面積加權(quán)平均溫度之差、試件框熱側(cè)冷側(cè)表面面積加權(quán)平均溫度之差和填充板兩表面的平均溫差,共測(cè)6次。測(cè)量界面設(shè)計(jì)如圖7所示。進(jìn)入該界面后將每隔30 min自動(dòng)測(cè)量一次上述參數(shù),測(cè)量完畢后將彈出消息框給出提示。設(shè)計(jì)中為了實(shí)際檢測(cè)方便,增加了“手動(dòng)測(cè)量”按鈕,點(diǎn)擊一次該按鈕將測(cè)量一次。測(cè)量完畢后點(diǎn)擊“計(jì)算結(jié)果”按鈕,將進(jìn)行參數(shù)求平均并計(jì)算檢測(cè)結(jié)果。另外,根據(jù)用戶(hù)需要增加了打印當(dāng)前數(shù)據(jù)的功能,點(diǎn)擊后進(jìn)行各參數(shù)及檢測(cè)結(jié)果的打印。測(cè)量完畢后,點(diǎn)擊“報(bào)告編輯”即進(jìn)入檢測(cè)報(bào)告編輯界面,進(jìn)行報(bào)告編輯及榆測(cè)記錄保存等操作。


5結(jié)束語(yǔ)

本文介紹了建筑外窗保溫性能檢測(cè)系統(tǒng)的組成,并在Visual c++6.0平臺(tái)下實(shí)現(xiàn)了多串口通信、實(shí)時(shí)曲線(xiàn)繪制、數(shù)據(jù)庫(kù)操作等功能。實(shí)際應(yīng)用中表明,該檢測(cè)系統(tǒng)操作方便,界面簡(jiǎn)潔直觀(guān),檢測(cè)過(guò)程穩(wěn)定,檢測(cè)結(jié)果準(zhǔn)確可靠,具有很強(qiáng)的實(shí)用價(jià)值??紤]到成本及產(chǎn)品化的要求,溫度測(cè)量與控制功能也可通過(guò)設(shè)計(jì)專(zhuān)用的儀表實(shí)現(xiàn),有關(guān)工作目前正在進(jìn)行。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉