[導(dǎo)讀]以建筑節(jié)能為目的,介紹了一種建筑外窗保溫性能檢測裝置測控系統(tǒng)的設(shè)計與實(shí)現(xiàn)。依照現(xiàn)場總線的技術(shù)要求,系統(tǒng)硬件采用通用微型計算機(jī)為主機(jī),各種測控儀表為從機(jī),雙絞線為傳輸介質(zhì),按照RS-232/RS-485串行總線標(biāo)準(zhǔn)及接口技術(shù)實(shí)現(xiàn)主從機(jī)之間的信息交換。討論了在Visual C++開發(fā)平臺下,利用串口類CSerialPort實(shí)現(xiàn)多串口通信,以及多線程、數(shù)據(jù)庫、打印等功能的實(shí)現(xiàn)。實(shí)現(xiàn)了根據(jù)國家標(biāo)準(zhǔn)GB/T8484-2002的要求完成的測控功能。
1概述
建筑耗能數(shù)量大,比例高,發(fā)達(dá)國家建筑用能比例一般為全國總能耗的30%~40%,所占能耗比重很大。在我國,建筑能耗占全社會總能耗的27.6%,而民用建筑能耗中住宅能耗占60%。與之對應(yīng),建筑節(jié)能潛力巨大。
建筑節(jié)能,冬季建筑外窗散熱是一個大問題。國家標(biāo)準(zhǔn)《建筑外窗保溫性能分級及檢測方法》(GB/T8484―2002),要求檢測建筑外窗的傳熱系數(shù),判定建筑外窗的保溫性能等級。檢測標(biāo)準(zhǔn)中采用的檢測設(shè)備如圖1所示。
該裝置是基于穩(wěn)定傳熱原理,采用標(biāo)定熱箱法檢測窗戶保溫性能。試件一側(cè)為熱箱,模擬采暖建筑冬季室內(nèi)氣候條件,另一側(cè)為冷箱,模擬冬季室外氣候條件。在對試件縫隙進(jìn)行密封處理,試件兩側(cè)各自保持穩(wěn)定的空氣溫度、氣流速度和熱輻射條件下,測量熱箱中電暖氣的發(fā)熱量,減去通過熱箱外壁和試件框的熱損失,除以試件面積與兩側(cè)空氣溫差的乘積,即可計算出試件的傳熱系數(shù)K值(K值為在穩(wěn)定傳熱條件下,外窗兩側(cè)空氣溫差為1℃,單位時間內(nèi)通過單位面積的傳熱量以W/(m2·K)計。試件傳熱系數(shù)K值按下式計算:
式中:Q為電暖氣的發(fā)熱功率;M1△θ1為熱箱外壁的熱損失;M2△θ2為試件框的熱損失;S·Λ·△θ3為填充板的熱損失;A為試件的面積;△t試件兩側(cè)的溫差。
2系統(tǒng)硬件結(jié)構(gòu)
國標(biāo)中要求熱箱空氣溫度的設(shè)定范圍為18℃~20℃,冷箱空氣溫度的設(shè)定范圍為-19℃~-21℃,所以裝置中需要兩臺溫度控制儀表,分別用來控制熱室和冷室內(nèi)的溫度。另外,檢測過程中需要用到多個溫度測點(diǎn)的溫度值和電暖氣的加熱功率,故裝置中還需要一臺32路溫度巡檢儀表和一臺功率計。以上智能儀表作為整個測控系統(tǒng)的從機(jī)部分,主機(jī)部分為通用微型計算機(jī),兩者通過半雙工RS-232/RS-485標(biāo)準(zhǔn)總線接口通信,采用雙絞線進(jìn)行信號傳輸。在這種系統(tǒng)結(jié)構(gòu)下,作為下位機(jī)的智能儀表完成測量控制功能,便于快速構(gòu)造系統(tǒng)并保證測控精度。
由于從機(jī)部分的儀表較多,并且通信協(xié)議和通信接口不一致,故系統(tǒng)采用多串口通信。功率計為RS-232接口,故單獨(dú)為其分配一個串口;32路溫度巡檢儀和兩個溫度控制儀為RS-485接口,而PC一般只有RS-232接口,需要RS-232/RS-485接口轉(zhuǎn)換器。系統(tǒng)的總體硬件框圖如圖2所示。巡檢儀按國家標(biāo)準(zhǔn)外接的溫度傳感器采用銅一康銅熱電偶,要求的溫度測點(diǎn)很多,所以同類溫度測點(diǎn)的熱電偶可以并聯(lián)。具體裝置尺寸及材質(zhì)、熱箱外壁和試件框熱流系數(shù)標(biāo)定、試件框的面積劃分、溫度測點(diǎn)的分布、熱電偶的篩選和校驗等詳細(xì)要求請參見有關(guān)國家標(biāo)準(zhǔn)。
3系統(tǒng)軟件結(jié)構(gòu)
系統(tǒng)軟件總體框圖如圖3所示。它充分利用了Windows系統(tǒng)允許多進(jìn)程、多線程的編程特點(diǎn),開辟了兩個線程;還利用了VC++的面向?qū)ο蟮脑O(shè)計思想,把有關(guān)的數(shù)據(jù)結(jié)構(gòu)及其操作完全封裝類中。系統(tǒng)主要實(shí)現(xiàn)的功能有下位機(jī)數(shù)據(jù)采集、主界面顯示、實(shí)時曲線顯示、數(shù)據(jù)存儲、歷史曲線顯示、檢測結(jié)果測定、檢測報告和歷史報告記錄的瀏覽及打印、數(shù)據(jù)庫清理及維護(hù)等。
3.1多線程
系統(tǒng)軟件的進(jìn)程分成兩個線程:主線程(用戶界面線程)和通信線程(輔助線程)。主線程定時啟動通信線程,通信線程執(zhí)行完一次通信任務(wù)后掛起。主線程能夠提供界面和用戶交互,通常用于處理用戶輸入并響應(yīng)各種事件和消息,而通信線程主要用來進(jìn)行上位機(jī)與下位機(jī)之間的通信。主線程由AppWizard生成,下面主要介紹通信線程的設(shè)計。
要創(chuàng)建一個線程,需要調(diào)用函數(shù)AfxBeginThread。該函數(shù)因參數(shù)重載不同而具有兩種版本,分別對應(yīng)輔助線程和用戶界面線程。無論是輔助線程還是用戶界面線程,都需要指定額外的參數(shù)以修改優(yōu)先級、堆棧大小、創(chuàng)建標(biāo)志和安全特性等。函數(shù)AfxBeginThread返回指向CWinThread類對象的指針。同樣,在CMain-View的構(gòu)造函數(shù)中調(diào)用AfxBeginThread函數(shù):
在啟動通信線程之前,必須為線程的主程序編寫一個全局函數(shù)。這個函數(shù)應(yīng)該返回一個UINT,它應(yīng)該以一個32位值(聲明為IPVOID)作為參數(shù)。在啟動線程的時候,可以使用這個參數(shù)來傳遞任何東西,在AfxBeginThread函數(shù)中傳遞的是this->GetDocument()(文檔類的指針),這樣就可以在輔助線程中使用文檔類的數(shù)據(jù)。在輔助線程中,要采集下位機(jī)數(shù)據(jù),然后掛起線程,等待定時器OnTimer函數(shù)恢復(fù)線程。
3.2串口通信
輔助線程的主要工作是PC通過串口采集下位機(jī)數(shù)據(jù),PC機(jī)的Windows操作系統(tǒng)不提倡應(yīng)用程序直接控制硬件,而是通過Windows操作系統(tǒng)提供的設(shè)備驅(qū)動程序來進(jìn)行數(shù)據(jù)傳遞?;谏鲜鎏攸c(diǎn),結(jié)合本系統(tǒng)多串口通信的特點(diǎn),使用Visual C++6.0集成開發(fā)環(huán)境下封裝好的串口類CSerialPort來設(shè)計串口通信。本系統(tǒng)使用兩個串口,串口3用于與功率計之間的通信,串口4用于與巡檢儀及溫控儀之間的通信。
從機(jī)通信協(xié)議以巡檢儀為例簡述如下:波特率設(shè)置為2 400 bit/s,幀格式為1個起始位,8個數(shù)據(jù)位,1個停止位。巡檢儀采用ASCII碼傳輸,其下傳命令幀格式如表1所示,儀表返回數(shù)據(jù)幀如圖4所示。每個通道的測量值為16位二進(jìn)制,最高位為測量值的符號標(biāo)志位,1為負(fù),0為正。接收到返回數(shù)據(jù)后,在程序中按照協(xié)議對其進(jìn)行相應(yīng)的處理。
使用CSerialPort類實(shí)現(xiàn)雙串口通信,先要在對象所有者窗口類頭文件(.H)中聲明兩個CSerialPort的對象,然后調(diào)用該類的InitPort函數(shù)(主要完成串口號選擇、波特率設(shè)置等串口的初始化設(shè)置),并啟動監(jiān)視串口的工作線程。之后串口接到數(shù)據(jù)后,會以消息的形式發(fā)送到串口的所有者窗口中,只要在該窗口中加入對這些消息的響應(yīng)即可。
數(shù)據(jù)發(fā)送可以使用CSerialPort::WriteToPort(char*string)函數(shù),鑒于本系統(tǒng)中的通信協(xié)議都采用BYTE數(shù)據(jù)類型進(jìn)行傳送,故把該函數(shù)修改為Serial-Port::WriteToPort(BYTE bWriteBuffer[],int nWfite-BufferSize),bWriteBuffer[]為要發(fā)送的數(shù)據(jù),nWfite-BufferSize為要發(fā)送的字節(jié)個數(shù)。
數(shù)據(jù)接收需要添加消息響應(yīng)函數(shù),首先要在對象所有者窗口類頭文件(.H)中加入串口接收的響應(yīng)函數(shù)聲明。由于沒有自動的消息映射機(jī)制,必須在消息映射機(jī)制的標(biāo)志處手工添加:
然后在該窗口類的CPP文件中添加消息映射:
ON_MESSAGE(WM_COMM_RXCHAR,OnCommunication)
最后加入消息處理函數(shù)OnCommunication,在其中進(jìn)行相應(yīng)的接收數(shù)據(jù)處理即可。
3.3其他部分
系統(tǒng)除了基本測試功能的設(shè)計外,還增加了數(shù)據(jù)存儲、歷史數(shù)據(jù)的查詢、檢測報告的打印等功能。
3.3.1數(shù)據(jù)庫
ODBC(開放式數(shù)據(jù)庫連接)為不同的數(shù)據(jù)庫資源提供一個標(biāo)準(zhǔn)接口,是目前Windows應(yīng)用程序中應(yīng)用最廣泛的數(shù)據(jù)接口,已經(jīng)成為工業(yè)標(biāo)準(zhǔn)。為了方便ODBC使用,MFC針對ODBC原始的簡單的函數(shù)型API,建立了一些抽象類:CDatabase、CRecordset和CRecordView,分別用來支持?jǐn)?shù)據(jù)庫、記錄集和記錄視圖。MFC的ODBC類與數(shù)據(jù)庫的關(guān)系如圖5所示。
本系統(tǒng)數(shù)據(jù)庫中建立了實(shí)時數(shù)據(jù)、歷史數(shù)據(jù)和檢測結(jié)果3張表,故相應(yīng)用到3個CRecordset的派生類,通過這些派生類的對象調(diào)用類中的成員函數(shù),即可進(jìn)行數(shù)據(jù)的添加、編輯、刪除、查詢等操作。
3.3.2打印
如果單純使用Windows的API函數(shù)來實(shí)現(xiàn)打印任務(wù),程序的編寫將會變得非常繁瑣,而利用MFC提供的打印和打印預(yù)覽的應(yīng)用程序框架將會使打印任務(wù)難度大大降低。要有效使用打印的話,必須理解函數(shù)調(diào)用的順序以及知道哪個函數(shù)需要被重載。
1)打印機(jī)的設(shè)備環(huán)境和OnDraw()函數(shù)
當(dāng)程序在打印機(jī)上打印的時候,它使用了一個CDC類的設(shè)備環(huán)境對象。這個對象由應(yīng)用程序框架構(gòu)造,并把它作為參數(shù)傳遞給視圖的OnDraw函數(shù)。如果應(yīng)用程序要將顯示結(jié)果在打印機(jī)上打印出來,OnDraw()函數(shù)便擔(dān)負(fù)著雙重任務(wù)。如果正在顯示,OnPaint函數(shù)便調(diào)用OnDraw,并且設(shè)備環(huán)境是顯示器環(huán)境。如果正在打印,OnDraw由另一個CView虛函數(shù)OnPrint調(diào)用,用一個打印機(jī)設(shè)備環(huán)境作為參數(shù)。
2)CView::OnPrint函數(shù)
從上面可以看到,基類的OnPrint函數(shù)調(diào)用OnDraw函數(shù),并且OnDraw函數(shù)既可以使用顯示器設(shè)備環(huán)境,也可以使用打印機(jī)設(shè)備環(huán)境。在調(diào)用OnPrint函數(shù)之前,將會設(shè)置映射模式??梢灾剌dOnPrint函數(shù)來打印那些未顯示的項目,諸如標(biāo)題、頁碼等。在重載的OnPrint函數(shù)中,可以選擇不調(diào)用OnDraw函數(shù),來支持打印邏輯,這樣就使打印邏輯與顯示邏輯分開。
4系統(tǒng)功能及其實(shí)現(xiàn)
系統(tǒng)功能較多,下面主要介紹主界面、測量界面功能的實(shí)現(xiàn)。
4.1主界面
國標(biāo)規(guī)定熱箱中溫度波動幅度不大于0.1℃,冷箱中溫度波動幅度不大于0.3℃,并且上述溫度的波動不再是單向的,才表示傳熱過程穩(wěn)定,然后方可進(jìn)行后續(xù)的測量,所以設(shè)定系統(tǒng)運(yùn)行后的主界面如圖6所示。圖中,左側(cè)實(shí)時顯示熱箱、冷箱、試件框等溫度測點(diǎn)的溫度值,右側(cè)繪制熱箱內(nèi)溫度、冷箱內(nèi)溫度和供電電壓的曲線,具體某一點(diǎn)的數(shù)據(jù)還可以通過時間游標(biāo)來查看,并且在后臺程序中對國標(biāo)所要求的溫度條件進(jìn)行判斷,如果滿足,則彈出消息框給出提示,便可進(jìn)入其他界面進(jìn)行下一步的檢測。
4.2測量界面
傳熱過程穩(wěn)定之后,每隔30 min測量一次參數(shù):電暖氣加熱功率、熱箱空氣平均溫度、冷箱空氣平均溫度、熱箱外壁內(nèi)外表面面積加權(quán)平均溫度之差、試件框熱側(cè)冷側(cè)表面面積加權(quán)平均溫度之差和填充板兩表面的平均溫差,共測6次。測量界面設(shè)計如圖7所示。進(jìn)入該界面后將每隔30 min自動測量一次上述參數(shù),測量完畢后將彈出消息框給出提示。設(shè)計中為了實(shí)際檢測方便,增加了“手動測量”按鈕,點(diǎn)擊一次該按鈕將測量一次。測量完畢后點(diǎn)擊“計算結(jié)果”按鈕,將進(jìn)行參數(shù)求平均并計算檢測結(jié)果。另外,根據(jù)用戶需要增加了打印當(dāng)前數(shù)據(jù)的功能,點(diǎn)擊后進(jìn)行各參數(shù)及檢測結(jié)果的打印。測量完畢后,點(diǎn)擊“報告編輯”即進(jìn)入檢測報告編輯界面,進(jìn)行報告編輯及榆測記錄保存等操作。
5結(jié)束語
本文介紹了建筑外窗保溫性能檢測系統(tǒng)的組成,并在Visual c++6.0平臺下實(shí)現(xiàn)了多串口通信、實(shí)時曲線繪制、數(shù)據(jù)庫操作等功能。實(shí)際應(yīng)用中表明,該檢測系統(tǒng)操作方便,界面簡潔直觀,檢測過程穩(wěn)定,檢測結(jié)果準(zhǔn)確可靠,具有很強(qiáng)的實(shí)用價值??紤]到成本及產(chǎn)品化的要求,溫度測量與控制功能也可通過設(shè)計專用的儀表實(shí)現(xiàn),有關(guān)工作目前正在進(jìn)行。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
(全球TMT2022年10月17日訊)Brother內(nèi)置墨倉彩色噴墨一體機(jī)DCP-C421W新上市。此次Brother創(chuàng)新引入"按需打印,按頁付費(fèi)"的家庭文印新模式:通過微信小程序購買打印頁數(shù),墨水則由廠家提供。通過綁...
關(guān)鍵字:
DC
微信小程序
打印機(jī)
高精度
上海2022年10月17日 /美通社/ -- Brother內(nèi)置墨倉彩色噴墨一體機(jī)DCP-C421W新上市。此次Brother創(chuàng)新引入"按需打印,按頁付費(fèi)"...
關(guān)鍵字:
DC
打印機(jī)
BSP
DESIGN
憑借其全新的功能豐富的移動交易應(yīng)用程序,屢獲殊榮的經(jīng)紀(jì)商HFM讓客戶實(shí)現(xiàn)觸手可及的全方位交易體驗。 毛里求斯路易港2022年10月14日 /美通社/ -- 全球多資產(chǎn)經(jīng)紀(jì)商...
關(guān)鍵字:
應(yīng)用程序
FM
移動應(yīng)用
ADI
倫敦2022年10月13日 /美通社/ -- Ubuntu Pro是擴(kuò)展式安全維護(hù)和合規(guī)訂閱服務(wù),目前針對數(shù)據(jù)中心和工作站已推出公開測試Beta版本。Canonical將按照...
關(guān)鍵字:
UBUNTU
CANONICAL
BSP
應(yīng)用程序
加拿大政府9月26日表示,從2022年10月1日起,加拿大將取消所有疫情下的旅行限制,包括對乘坐航班和火車乘客的疫苗接種和口罩要求。所有旅行者(無論國籍)從10月1日開始將不必通過ArriveCAN應(yīng)用程序提交健康信息或...
關(guān)鍵字:
ECAN
應(yīng)用程序
飛機(jī)
ARRI
SIXT管理委員會批準(zhǔn)整體可持續(xù)發(fā)展計劃,以進(jìn)一步加快二氧化碳減排和智能新能源出行需求 到2030年, SIXT在歐洲車隊中的新能源車將達(dá)到70%至90% 投資5000萬歐元:公司將大...
關(guān)鍵字:
可持續(xù)發(fā)展
新能源汽車
應(yīng)用程序
移動平臺
(全球TMT2022年9月22日訊)建筑項目管理軟件領(lǐng)域企業(yè)InEight Inc.宣布了最新的軟件創(chuàng)新,包括范圍、設(shè)計和資源管理方面的新流程標(biāo)準(zhǔn)化,以及新的進(jìn)展跟蹤功能和創(chuàng)建基準(zhǔn)驗證型進(jìn)程預(yù)估和時間表的能力。該更新還...
關(guān)鍵字:
軟件
進(jìn)程
應(yīng)用程序
模板
InEight專注于軟件創(chuàng)新的標(biāo)準(zhǔn)化和基準(zhǔn)更新,從而提高了效率,增加了項目信心 InEight建筑項目管理平臺的最新發(fā)展引入了新的設(shè)計管理和基準(zhǔn)實(shí)踐,提高了各個項目之間的一...
關(guān)鍵字:
軟件
應(yīng)用程序
進(jìn)程
移動應(yīng)用
Sumo Logic可靠性管理為企業(yè)領(lǐng)導(dǎo)者提供關(guān)鍵數(shù)據(jù),以平衡創(chuàng)新速度和服務(wù)可靠性
關(guān)鍵字:
LOGIC
應(yīng)用程序
PEN
COM
中國晉城2022年9月7日 /美通社/ -- 希爾頓集團(tuán) (NYSE: HLT)今日宣布,晉城古書院希爾頓花園酒店正式開門迎客。作為集團(tuán)旗下標(biāo)志性高端精選服務(wù)酒店,首次進(jìn)駐山西省的晉城古書院希爾頓花園酒店,將秉承品牌在全...
關(guān)鍵字:
MIDDOT
BSP
應(yīng)用程序
感應(yīng)器
(全球TMT2022年9月6日訊)近年來美網(wǎng)在提升數(shù)字體驗方面下了功夫,這背后,作為賽事主辦方美國網(wǎng)球協(xié)會 (USTA)長期合作伙伴的IBM及其眾多數(shù)字化解決方案功不可沒。很長時間以來,IBM Consulting與美...
關(guān)鍵字:
IBM
數(shù)字化
應(yīng)用程序
CODE
洛杉磯2022年8月31日 /美通社/ -- 由INKA Entworks提供的領(lǐng)先云端到端移動應(yīng)用保護(hù)解決方案AppSealing宣布,公司榮獲2022年Gartner Hype Cycle應(yīng)用安全"榜樣供應(yīng)...
關(guān)鍵字:
PSE
APPS
GARTNER
應(yīng)用程序
上海2022年8月26日 /美通社/ -- 做家務(wù)過去常常被視為家長們的"必修課"。但如今學(xué)校和家長都逐漸意識到,孩子的成長不能僅停留在書本中,勞動實(shí)踐也...
關(guān)鍵字:
P30
DC
手機(jī)
打印機(jī)
要點(diǎn):重新設(shè)計USOpen.org網(wǎng)站及美網(wǎng)應(yīng)用程序,包括以混合云與可解釋的AI賦能的新球迷體驗應(yīng)用 北京2022年8月24日 /美通社/ -- IBM(紐約證券交易所股票代碼: IBM)和美國網(wǎng)球協(xié)會(USTA)日前...
關(guān)鍵字:
IBM
PEN
應(yīng)用程序
BSP
(全球TMT2022年8月24日訊)2022年8月19日,“照見·視界”公益攝影體驗空間在上海晶耀前灘商場B1層盛大開幕。8月20日下午舉行的開幕分享會上,晶耀前灘商業(yè)管理中心市場高級經(jīng)理陳威欣、人與環(huán)境影像傳播平臺創(chuàng)...
關(guān)鍵字:
富士
影像
創(chuàng)始人
打印機(jī)
(全球TMT2022年8月19日訊)勤創(chuàng)永續(xù)GreenCo開發(fā)并推出全新"ESG平臺",以實(shí)現(xiàn)ESG數(shù)據(jù)數(shù)字化管理。勤創(chuàng)永續(xù)GreenCo的ESG數(shù)據(jù)平臺是香港首批可根據(jù)個別企業(yè)的需求客制化的數(shù)字化平臺之一。勤創(chuàng)永續(xù)G...
關(guān)鍵字:
GREEN
應(yīng)用程序
數(shù)據(jù)收集
數(shù)字化
GCash首席執(zhí)行官表示,指數(shù)式增長和金融包容性的關(guān)鍵在于合作,而非競爭 菲律賓馬尼拉2022年8月15日 /美通社/ -- 隨著數(shù)字支付迅速充斥著許多菲律賓人的生活,菲律...
關(guān)鍵字:
應(yīng)用程序
MOBILE
新加坡
MONEY
(全球TMT2022年8月10日訊)日前,亞馬遜云科技宣布基于Apple芯片Mac mini計算機(jī)構(gòu)建的Amazon Elastic Compute Cloud (Amazon EC2) M1 Mac實(shí)例正式可用。該實(shí)...
關(guān)鍵字:
亞馬遜
MACOS
APPLE
應(yīng)用程序
上海2022年8月8日 /美通社/ -- 2022年8月5日, "創(chuàng)新發(fā)展,蓄勢待發(fā)"富士數(shù)碼影像工坊發(fā)表會在廣州順利舉行,富士膠片(中國)投資有限公司總裁田中健一及各地的富士影像伙伴共同出席啟動儀式...
關(guān)鍵字:
富士
數(shù)碼
影像
打印機(jī)