王雪萍,王洪濤,劉會(huì)華,單 波
(中國建筑科學(xué)研究院,北京 100013)
目前常用的門窗現(xiàn)場(chǎng)氣密性能和水密性能檢測(cè)設(shè)備大多數(shù)還是10多年前的工控機(jī)加PCI數(shù)據(jù)采集卡的模式,或者是筆記本加USB數(shù)據(jù)采集卡的模式,這些設(shè)備由于受當(dāng)時(shí)硬件資源以及軟件發(fā)展情況的限制,或多或少都會(huì)存在有待改進(jìn)的地方。吸收借鑒多個(gè)檢測(cè)中心檢測(cè)實(shí)驗(yàn)人員對(duì)門窗現(xiàn)場(chǎng)氣密性能與水密性能檢測(cè)設(shè)備的使用方便要求與建議,設(shè)計(jì)了以嵌入Modbus-RTU協(xié)議無線通訊功能的平板電腦作為上位機(jī),以單片機(jī)為下位機(jī)的核心控制器進(jìn)行數(shù)據(jù)采集與處理的新系統(tǒng)。上位機(jī)與下位機(jī)通過RS485接口,采用Modbus-RTU協(xié)議進(jìn)行通訊。本系統(tǒng)將模糊自適應(yīng)PID算法運(yùn)用到壓力控制中,克服了傳統(tǒng)的控制算法中存在的不穩(wěn)定性和抖動(dòng)現(xiàn)象。本測(cè)控系統(tǒng)軟件界面美觀友好,功能齊全,壓力控制快速穩(wěn)定。
在檢測(cè)現(xiàn)場(chǎng)用密封板、圍護(hù)結(jié)構(gòu)以及待測(cè)外窗形成密閉的靜壓箱體。通過調(diào)節(jié)供風(fēng)系統(tǒng)從靜壓箱吸風(fēng)或向靜壓箱吹風(fēng),從而在被檢測(cè)外窗的兩側(cè)形成正壓差或負(fù)壓差,模擬自然風(fēng)對(duì)外窗的影響,將差壓傳感器和風(fēng)速傳感器分別安裝在檢測(cè)裝置的適當(dāng)位置,用來測(cè)量差壓信號(hào)和風(fēng)速信號(hào),通過風(fēng)速信號(hào)依據(jù)檢測(cè)標(biāo)準(zhǔn)綜合評(píng)定氣密性能。在外窗外側(cè)安裝適量噴嘴,進(jìn)行水密試驗(yàn),模擬狂風(fēng)暴雨天氣對(duì)外窗的影響,檢測(cè)被測(cè)外窗的水密性能[1]。其中檢測(cè)裝置示意如圖1所示。
圖1 檢測(cè)裝置示意Fig.1 Schematic diagram of the test device
本系統(tǒng)主要任務(wù)是控制靜壓箱體的壓力,以及采集實(shí)時(shí)的溫度、大氣壓力、風(fēng)速和靜壓箱體壓力信號(hào)。由壓力設(shè)定值、壓力實(shí)測(cè)值、智能晶閘管調(diào)壓模塊、被控對(duì)象(靜壓箱體壓力)等形成閉環(huán)控制系統(tǒng),采用模糊自適應(yīng)PID控制算法對(duì)靜壓箱體的壓力進(jìn)行控制。
門窗兩性測(cè)控系統(tǒng)由上位機(jī)和下位機(jī)組成,上位機(jī)選用一臺(tái)裝有VC++軟件的平板電腦,將串口無線通信模塊嵌入到平板電腦中,通過該模塊與下位機(jī)通信。下位機(jī)由感知現(xiàn)場(chǎng)信號(hào)的傳感器、對(duì)現(xiàn)場(chǎng)信號(hào)進(jìn)行采集與處理的數(shù)據(jù)采集模塊、負(fù)責(zé)下位機(jī)與上位機(jī)進(jìn)行信號(hào)聯(lián)絡(luò)的串口無線收發(fā)模塊、控制箱體壓力的電位器旋鈕 (本地手動(dòng)調(diào)節(jié)風(fēng)機(jī)轉(zhuǎn)速)、智能晶閘管調(diào)壓模塊和風(fēng)機(jī)系統(tǒng)、對(duì)被測(cè)外窗進(jìn)行淋水的水控箱、水泵等組成。測(cè)控系統(tǒng)總體結(jié)構(gòu)如圖2所示。
上位機(jī)軟件在VC++環(huán)境下開發(fā),主要包括界面設(shè)計(jì)、通信設(shè)計(jì)、算法設(shè)計(jì)和功能設(shè)計(jì)等。主要界面有檢測(cè)條件設(shè)定、氣密檢測(cè)、水密檢測(cè)、綜合評(píng)定、用戶管理等界面。將模糊自適應(yīng)PID控制算法利用VC++軟件的MFC ActiveX Control Wizard生成pid.ocx控件,在軟件中壓力控制時(shí)方便調(diào)用。下位機(jī)以單片機(jī)為核心控制器,主要功能是讀取傳感器信號(hào),控制執(zhí)行結(jié)構(gòu)動(dòng)作等。下位機(jī)軟件是在Keil uVision4環(huán)境下開發(fā),采用C語言編程,主要包括初始化程序、主程序、數(shù)據(jù)采集與處理程序、Modbus協(xié)議通訊程序等。上位機(jī)與下位機(jī)之間通過RS485接口,采用Modbus-RTU協(xié)議進(jìn)行數(shù)據(jù)信息交流。
圖2 測(cè)控系統(tǒng)總體結(jié)構(gòu)Fig.2 Overall structure of the measurement and control system
常用的無線通信技術(shù)包括藍(lán)牙技術(shù)、WiFi、Zig-Bee技術(shù)以及基于433~510 MHz頻段的無線通信技術(shù)[2]。
藍(lán)牙技術(shù)是一種開放的用于語音和數(shù)據(jù)無線傳輸?shù)膮f(xié)議標(biāo)準(zhǔn),通過無線通信將各種近距離通信設(shè)備連接起來。藍(lán)牙選用工作頻段是全球通用2.4 GHz ISM,傳輸速率理論最高可達(dá)到3 Mb/s。藍(lán)牙通信距離因發(fā)散功率大小而定。WiFi是一種近距離的無線通信技術(shù),是IEEE定義的無線局域網(wǎng)標(biāo)準(zhǔn)。WiFi是一種以無線連接的方式將移動(dòng)設(shè)備連接起來的技術(shù)。WiFi技術(shù)覆蓋范圍較廣,通信距離能達(dá)到數(shù)百米,傳輸速率可達(dá)到11 Mb/s。ZigBee技術(shù)是基于IEEE802.15.4標(biāo)準(zhǔn)的近距離無線技術(shù)。該技術(shù)主要是應(yīng)用在傳輸速率要求比較低的近距離通信的電子設(shè)備上。ZigBee支持多種組網(wǎng)形,具有龐大的網(wǎng)絡(luò)容量。ZigBee可嵌入各種設(shè)備中,適用于遠(yuǎn)程控制和自動(dòng)控制領(lǐng)域。
433~470 MHz頻段屬于ISM頻段,具有穿透能力強(qiáng),抗衰減能力好等電磁特性,這一特性可以較好地應(yīng)對(duì)建筑物和樓群等復(fù)雜通訊條件下的電磁信號(hào)復(fù)雜化的挑戰(zhàn)。基于433~470 MHz頻段的無線通信技術(shù)具有低功耗、數(shù)據(jù)傳輸可靠以及通信距離適中等特點(diǎn),在各個(gè)工業(yè)領(lǐng)域都得到了較好的應(yīng)用。市面上許多無線通信模塊采用433~470 MHz頻段,這些無線模塊具有支持透明傳輸、網(wǎng)絡(luò)容量大以及用戶接口簡單等特點(diǎn)。
根據(jù)以上幾種通信技術(shù)的特點(diǎn),從系統(tǒng)工作環(huán)境、傳輸距離以及成本等方面考慮,本系統(tǒng)采用基于470 MHz頻段的無線通信模塊。
Modbus通信協(xié)議由Modicon公司開發(fā),目前已成為工業(yè)領(lǐng)域應(yīng)用最多的通信協(xié)議。此協(xié)議支持傳統(tǒng)的RS-232/RS-422/RS-485和以太網(wǎng)設(shè)備。Modbus協(xié)議規(guī)定了消息、數(shù)據(jù)的結(jié)構(gòu)、命令和應(yīng)答的方式。數(shù)據(jù)通信采用Maser/Slave方式,Master端發(fā)出數(shù)據(jù)請(qǐng)求消息,Slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到Master端以響應(yīng)請(qǐng)求。Master端也可以直接發(fā)消息修改Slave端的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫[3]。其中Modbus協(xié)議的查詢與響應(yīng)如圖3所示。
圖3 Modbus協(xié)議的查詢與響應(yīng)Fig.3 Block diagram of the query and response of Modbus protocol
Modbus通信規(guī)約包括RTU協(xié)議和ASCII協(xié)議[4]。RTU通訊方式采用8位二進(jìn)制數(shù)據(jù)傳輸命令或數(shù)據(jù),數(shù)據(jù)校驗(yàn)采用CRC循環(huán)冗余校驗(yàn),通訊速度較快;ASCII通訊方式采用7位二進(jìn)制表示的ASCII碼進(jìn)行通信,數(shù)據(jù)校驗(yàn)采用奇偶校驗(yàn)或LRC邏輯冗余校驗(yàn),通訊速度較慢。在一個(gè)通信系統(tǒng)中,只能選用一種通信方式。在RTU模式下,幀中的每個(gè)字節(jié)直接用于傳輸,這樣在同樣的波特率下,可比ASCII模式傳輸更多的數(shù)據(jù)[5]。
本系統(tǒng)選用Modbus-RTU通信模式,上位機(jī)平板電腦作為主站,下位機(jī)中的數(shù)據(jù)采集模塊作為從站。上位機(jī)系統(tǒng)是在VC++6.0環(huán)境下采用基于MFC的FormView的單文檔應(yīng)用程序開發(fā)的[3],通過Modbus-RTU通信協(xié)議實(shí)現(xiàn)下位機(jī)與上位機(jī)之間的數(shù)據(jù)傳輸。
本系統(tǒng)采用Microsoft公司提供的ActiveX控件MSComm實(shí)現(xiàn)上位機(jī)和下位機(jī)之間的接口通信,數(shù)據(jù)的收發(fā)。首先在該VC++工程中添加MSComm控件。然后在CFormView對(duì)話框中插入一個(gè)MSComm控件,為該控件關(guān)聯(lián)一個(gè)變量,在工程中會(huì)加入CMSComm控件類,在CMSComm中封裝了有關(guān)通信端口的配置函數(shù)和數(shù)據(jù)收發(fā)函數(shù)[6]。
在CFormView類的初始化函數(shù)OnInitialUpdate()中對(duì)通信端口進(jìn)行配置,配置內(nèi)容主要由以下幾點(diǎn):端口號(hào)、接收和發(fā)送緩沖區(qū)的大小、當(dāng)前接收區(qū)數(shù)據(jù)長度、數(shù)據(jù)的讀取方式(進(jìn)制)、接收數(shù)據(jù)函數(shù)的引發(fā)方式、數(shù)據(jù)格式(波特率、數(shù)據(jù)位、停止位、校驗(yàn)位等)。并且在初始化函數(shù)OnInitialUpdate()中打開串口。
本門窗現(xiàn)場(chǎng)檢測(cè)設(shè)備的通信協(xié)議的設(shè)計(jì),上位機(jī)作為主站,下位機(jī)系統(tǒng)中的數(shù)據(jù)采集模塊作為從站,設(shè)置從站地址為01,下面用模擬量的輸入與輸出為例來說明數(shù)據(jù)的查詢與響應(yīng)的原理。
數(shù)據(jù)采集模塊中總共4路模擬量輸入通道,分別采集環(huán)境溫度信號(hào),當(dāng)前大氣壓力信號(hào),風(fēng)速信號(hào),壓力信號(hào)。模擬量輸入通道1的地址為0000H,模擬量輸入通道2的地址為0001H,模擬量輸入通道3的地址為0002H,模擬量輸入通道4的地址為0003H。讀取模擬量信號(hào),通過功能碼04實(shí)現(xiàn),數(shù)據(jù)幀格式與協(xié)議通訊如表1所示。
表1 讀取模擬量輸入通道數(shù)據(jù)幀格式Tab.1 Data format of frame of reading analog input channel
主站發(fā)送信息:01 04 00 00 00 28 F0 14,從站返回信息:01 04 50 14 29 13……03 07 69 F3;從00 00地址開始讀取數(shù)據(jù),讀取40個(gè)數(shù)據(jù),其中14 29為第一路模擬量數(shù)據(jù),以此類推(13 23)、(00 56)、(15 27)分別為第二、三、四通道輸入數(shù)據(jù)。14 29(H)=5161(D),5161/10000×5 V=2.58 V;0~5 V 對(duì)于-50 ℃~100 ℃,100-(-50)/5×2.58-50=27.4(℃),即當(dāng)前溫度為27.4℃。其他各通道數(shù)據(jù)的轉(zhuǎn)換與此相同。
數(shù)據(jù)采集模塊中總共2路模擬量輸出通道,系統(tǒng)中用了一路模擬量輸出通道,用來控制風(fēng)機(jī)的轉(zhuǎn)速。模擬量輸出通道1的地址為0018H,模擬量輸出通道2的地址為0019H,通過功能碼10H,預(yù)置模擬量輸出通道信息。數(shù)據(jù)幀格式與協(xié)議通訊如表2所示。
表2 預(yù)置模擬量輸出通道數(shù)據(jù)幀格式Tab.2 Data format of frame of preset analog output channel
在門窗現(xiàn)場(chǎng)兩性檢測(cè)設(shè)備中,要實(shí)現(xiàn)數(shù)據(jù)信息的實(shí)時(shí)交互,即上位機(jī)要實(shí)時(shí)讀取下位機(jī)的數(shù)據(jù)信息,同時(shí)要實(shí)時(shí)給下位機(jī)下放工作命名。在VC++環(huán)境下本工程的CFormView類中的定時(shí)器函數(shù)中,定時(shí)發(fā)送:01 04 00 00 00 28 F0 14、01 10 00 18 00 02 04+strfjkz命令,實(shí)時(shí)讀取溫度、大氣壓力、風(fēng)速和差壓數(shù)據(jù),同時(shí)實(shí)時(shí)預(yù)置風(fēng)機(jī)控制數(shù)據(jù)。其中strfjkz為系統(tǒng)實(shí)時(shí)給出的風(fēng)機(jī)控制數(shù)據(jù)加數(shù)據(jù)校驗(yàn)信息。其中本系統(tǒng)的通訊程序流程如圖4所示。
圖4 通訊程序流程Fig.4 Flow chart of communication program
安裝好現(xiàn)場(chǎng)檢測(cè)裝置,打開平板電腦中測(cè)控軟件,控制箱體、風(fēng)機(jī)和水泵上電,按照檢測(cè)過程依次進(jìn)行檢測(cè)實(shí)驗(yàn)。其中圖5為系統(tǒng)運(yùn)行效果圖。在圖5中可以看到數(shù)據(jù)通訊正常穩(wěn)定,壓力控制快速穩(wěn)定,壓力曲線沒有毛刺和抖動(dòng)現(xiàn)象。軟件經(jīng)過長久測(cè)試,數(shù)據(jù)通信較為穩(wěn)定,沒有數(shù)據(jù)丟包現(xiàn)象。
圖5 系統(tǒng)運(yùn)行效果Fig.5 Effect picture of the system operation
本文在對(duì)門窗現(xiàn)場(chǎng)兩性系統(tǒng)工作原理和系統(tǒng)總體設(shè)計(jì)簡單介紹的基礎(chǔ)上,重點(diǎn)研究和分析了Modbus-RTU通訊協(xié)議在本測(cè)控系統(tǒng)中的實(shí)現(xiàn)。提出了將無線透?jìng)髂K鑲嵌的平板電腦中與控制盒中,這樣減少了在現(xiàn)場(chǎng)工作條件下接線復(fù)雜繁瑣的問題。采用RS485接口,數(shù)據(jù)傳輸穩(wěn)定可靠。模糊自適應(yīng)PID算法的使用,克服了傳統(tǒng)控制算法中存在的不穩(wěn)定性和抖動(dòng)現(xiàn)象。本系統(tǒng)已經(jīng)在一些廠家投入使用,使用結(jié)果表明,本系統(tǒng)數(shù)據(jù)傳輸快速穩(wěn)定、界面友好、操作方便。
[1]王洪濤,郝志華,江勇,等.建筑幕墻物理性能及檢測(cè)技術(shù)[M].北京:化學(xué)工業(yè)出版社,2010.
[2]張志君.便攜式索力測(cè)量系統(tǒng)研究與開發(fā)[D].長沙:長沙理工大學(xué),2013.
[3]侯俊杰.深入淺出MFC[M].武漢:華中科技大學(xué)出版社,2001.
[4]劉進(jìn),于海生,吳賀榮,等.基于Modbus-RTU協(xié)議的水箱液位監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī),2010,23(10):27-28.
[5]成占軍.基于Modbus-RTU協(xié)議的礦用語音通信主機(jī)設(shè)計(jì)[J].工礦自動(dòng)化,2015,41(6):97-100.
[6]金立江,李文,張繼和,等.基于ModBus協(xié)議的變頻器VC++控制系統(tǒng)[J].自動(dòng)化與儀表,2008,23(4):32-35.