段建紅+林傳祿+劉強(qiáng)
摘要:針對(duì)實(shí)驗(yàn)室、倉(cāng)庫(kù)等場(chǎng)所控溫防潮防火的難題,在研究單片機(jī)接入IP網(wǎng)技術(shù)的基礎(chǔ)上,設(shè)計(jì)實(shí)現(xiàn)了基于IP網(wǎng)絡(luò)的低成本、多參數(shù)、集檢測(cè)與控制功能于一體的環(huán)境參數(shù)實(shí)時(shí)監(jiān)測(cè)系統(tǒng),經(jīng)測(cè)試可完成環(huán)境參數(shù)的遠(yuǎn)程智能化實(shí)時(shí)檢測(cè)、控制和報(bào)警,具有網(wǎng)絡(luò)化、智能化、實(shí)時(shí)化特點(diǎn)。
關(guān)鍵詞:IP網(wǎng)絡(luò);環(huán)境參數(shù);智能監(jiān)測(cè);嵌入式
中圖分類號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)06-0189-02
1 引言
在東南沿海地區(qū),雷雨、臺(tái)風(fēng)多發(fā),倉(cāng)庫(kù)、實(shí)驗(yàn)室等場(chǎng)所的防潮、防霉、防火、防爆是日常管理的重要內(nèi)容,直接影響倉(cāng)儲(chǔ)物資的使用壽命和可靠性。若靠人工檢測(cè)、記錄溫濕度等數(shù)據(jù),既費(fèi)時(shí)費(fèi)力、效率低,又無(wú)法實(shí)時(shí)、有效監(jiān)測(cè)。為此,本文設(shè)計(jì)實(shí)現(xiàn)了基于IP網(wǎng)絡(luò)的低成本、多參數(shù)、集檢測(cè)與控制功能于一體的環(huán)境參數(shù)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)。
2 系統(tǒng)組成及工作原理
如圖1所示,系統(tǒng)主要由監(jiān)測(cè)儀、Ethernet網(wǎng)絡(luò)和監(jiān)控中心三部分組成。
系統(tǒng)通過(guò)監(jiān)測(cè)儀實(shí)時(shí)采集各點(diǎn)溫、濕、煙、光等環(huán)境參數(shù),通過(guò)IP網(wǎng)絡(luò)將檢測(cè)數(shù)據(jù)傳輸?shù)奖O(jiān)控中心PC機(jī)進(jìn)行統(tǒng)一顯示和處理,若某項(xiàng)參數(shù)超出正常范圍,則啟動(dòng)報(bào)警器,通知值班人員及時(shí)處理。
監(jiān)測(cè)儀以單片機(jī)為核心,完成各監(jiān)控點(diǎn)的數(shù)據(jù)采集、處理、顯示、傳輸和現(xiàn)場(chǎng)報(bào)警。
監(jiān)控中心由計(jì)算機(jī)和顯控軟件構(gòu)成。監(jiān)控中心計(jì)算機(jī)接入IP網(wǎng)絡(luò),完成各監(jiān)測(cè)點(diǎn)信息的集中顯示、存儲(chǔ)和管理,同時(shí)作為數(shù)據(jù)服務(wù)器為網(wǎng)內(nèi)授權(quán)用戶提供各監(jiān)控點(diǎn)的環(huán)境信息查詢服務(wù)。
3 系統(tǒng)設(shè)計(jì)
系統(tǒng)軟件分為監(jiān)測(cè)儀控制軟件和監(jiān)控中心PC端顯控軟件兩部分。監(jiān)測(cè)儀軟件采用C51在Keil環(huán)境下完成軟件編程、編譯和調(diào)試。PC端顯控軟件在VC++6.0平臺(tái)開發(fā)實(shí)現(xiàn)。
3.1 監(jiān)測(cè)儀設(shè)計(jì)
監(jiān)測(cè)儀采用模塊化設(shè)計(jì),各模塊相互獨(dú)立,干擾小,排查故障方便,可有效縮短聯(lián)調(diào)周期。監(jiān)測(cè)儀結(jié)構(gòu)框圖如圖2所示,分為主控模塊、LCD顯示、網(wǎng)絡(luò)通信、報(bào)警處理、外圍接口、溫濕度等環(huán)境參數(shù)檢測(cè)等9個(gè)模塊。
在每個(gè)監(jiān)測(cè)儀內(nèi)部有溫、濕、光、煙霧4種傳感器,分別測(cè)量溫度、濕度、光度和煙霧。在STC12C5A60S2[1]單片機(jī)控制下,各傳感器采集的數(shù)據(jù)經(jīng)濾波處理后,在LCD上實(shí)時(shí)顯示,并根據(jù)設(shè)定的報(bào)警門限智能判決,若超出門限值,單片機(jī)則根據(jù)報(bào)警類別控制報(bào)警器發(fā)出不同頻率的聲光報(bào)警信號(hào),進(jìn)行現(xiàn)場(chǎng)報(bào)警,并向監(jiān)控中心發(fā)出遠(yuǎn)程報(bào)警信號(hào),同時(shí)觸發(fā)繼電器輸出控制信號(hào)啟動(dòng)除濕、控溫設(shè)備等進(jìn)行相應(yīng)處理,達(dá)到控溫、除濕和火情報(bào)警的目的;在完成數(shù)據(jù)采集處理后,單片機(jī)驅(qū)動(dòng)以太網(wǎng)模塊,將數(shù)據(jù)以UDP包的形式傳輸?shù)奖O(jiān)控中心PC機(jī)。同時(shí)單片機(jī)負(fù)責(zé)接收監(jiān)控中心PC機(jī)發(fā)來(lái)的控制指令,根據(jù)指令類別分別設(shè)置本地IP地址、網(wǎng)關(guān)、MAC地址、通信端口、采樣頻率和報(bào)警門限等。
以太網(wǎng)模塊主要由Enc28j60以太網(wǎng)控制芯片、HR911105A網(wǎng)絡(luò)變壓器及相關(guān)電路組成,在單片機(jī)控制下完成ARP地址解析、ARP表更新、UDP數(shù)據(jù)包收發(fā)、PING包接收應(yīng)答等功能。
在硬件電路設(shè)計(jì)中,采用Proteus完成了電路原理圖設(shè)計(jì),并進(jìn)行了在線仿真。
3.2 監(jiān)測(cè)儀控制軟件設(shè)計(jì)
監(jiān)測(cè)儀控制軟件采用事件驅(qū)動(dòng)方式,可以響應(yīng)多個(gè)事件和外部中斷,完成IP網(wǎng)絡(luò)初始化、環(huán)境參數(shù)(溫度、濕度、煙霧、光度)檢測(cè)、數(shù)據(jù)平滑濾波、顯示及報(bào)警處理、IP網(wǎng)絡(luò)通信等功能,軟件流程如圖3所示。系統(tǒng)運(yùn)行后,首先開辟緩沖區(qū)、設(shè)置報(bào)警門限,初始化LCD、網(wǎng)絡(luò)芯片和定時(shí)器。程序分配了2個(gè)發(fā)送緩沖區(qū)和1個(gè)接收緩沖區(qū),可以顯著提高數(shù)據(jù)吞吐率,減少延時(shí),提高系統(tǒng)實(shí)時(shí)性。Event_Word為事件狀態(tài)字,值從0~4依次代表系統(tǒng)異常、溫度檢測(cè)、濕度檢測(cè)、煙霧檢測(cè)、光度檢測(cè)事件,Event_Word的值通過(guò)定時(shí)器中斷進(jìn)行更新。進(jìn)入循環(huán)體后,系統(tǒng)根據(jù)Event_Word的值調(diào)用相應(yīng)的子程序,完成各項(xiàng)參數(shù)的檢測(cè),經(jīng)濾波處理后判斷是否報(bào)警,并調(diào)用LCD顯示子程序進(jìn)行顯示,然后通過(guò)IP通信子程序發(fā)送到監(jiān)控中心PC機(jī)。
3.3 單片機(jī)與上位機(jī)網(wǎng)絡(luò)通信程序
設(shè)計(jì)中根據(jù)系統(tǒng)要求對(duì)TCP/IP[2]協(xié)議棧進(jìn)行了精簡(jiǎn),實(shí)現(xiàn)了ARP、IP、ICMP和UDP協(xié)議。網(wǎng)絡(luò)通信過(guò)程如下:
(1)監(jiān)測(cè)儀上電運(yùn)行后,單片機(jī)檢查網(wǎng)絡(luò)連接正常后,進(jìn)入監(jiān)聽,并定時(shí)調(diào)用udp_send()函數(shù)發(fā)送監(jiān)測(cè)數(shù)據(jù)給PC機(jī);(2)當(dāng)單片機(jī)收到以太網(wǎng)幀時(shí),根據(jù)以太網(wǎng)幀首部的協(xié)議類型進(jìn)行判斷,若是ARP包,則將ARP包里的PC機(jī)MAC地址和IP地址保存到ARP表;若是IP包則進(jìn)一步判斷是ICMP包還是UDP,然后調(diào)用相應(yīng)的子程序進(jìn)行處理;(3)監(jiān)測(cè)儀產(chǎn)生報(bào)警后,主動(dòng)給ARP地址列表中的PC機(jī)發(fā)送報(bào)警消息;(4)單片機(jī)接收PC機(jī)發(fā)送的配置命令,更改本地IP地址、網(wǎng)關(guān)、MAC地址、通信端口、采樣頻率和報(bào)警門限等。
單片機(jī)網(wǎng)絡(luò)通信程序流程如圖4所示。
3.4 上位機(jī)顯控軟件設(shè)計(jì)
PC端顯控軟件通網(wǎng)絡(luò)實(shí)時(shí)接收各監(jiān)測(cè)儀發(fā)來(lái)的數(shù)據(jù),進(jìn)行處理保存,并在主界面上集中顯示各監(jiān)控點(diǎn)的名稱(或IP地址)和溫、濕、煙、光等參數(shù),以及狀態(tài)和報(bào)警信息;監(jiān)控中心PC作為數(shù)據(jù)服務(wù)器,響應(yīng)局域網(wǎng)內(nèi)其他授權(quán)用戶的訪問請(qǐng)求。此外,顯控軟件向各監(jiān)測(cè)儀發(fā)送控制命令,遠(yuǎn)程修改配置監(jiān)測(cè)儀的IP地址、網(wǎng)關(guān)、MAC地址、通信端口、采樣頻率和報(bào)警門限等參數(shù)。限于篇幅,其具體實(shí)現(xiàn)在此不作贅述。
4 結(jié)語(yǔ)
本文設(shè)計(jì)實(shí)現(xiàn)了基于IP網(wǎng)絡(luò)的環(huán)境監(jiān)測(cè)系統(tǒng),經(jīng)實(shí)測(cè)具有網(wǎng)絡(luò)化、智能化、實(shí)時(shí)化特點(diǎn),可有效實(shí)現(xiàn)實(shí)驗(yàn)室、倉(cāng)庫(kù)、艙室、辦公室等場(chǎng)所無(wú)人值守下的溫度、濕度、煙霧等環(huán)境信息的全天候?qū)崟r(shí)監(jiān)控,當(dāng)出現(xiàn)危險(xiǎn)情況時(shí),一方面控制現(xiàn)場(chǎng)設(shè)備排除險(xiǎn)情,另一方面通過(guò)現(xiàn)場(chǎng)和遠(yuǎn)程報(bào)警通知值班人員處理,可有效避免事故發(fā)生。系統(tǒng)采用模塊化設(shè)計(jì),功能容易擴(kuò)展,只需根據(jù)需求增加相應(yīng)模塊即可,除可用于重要場(chǎng)所的環(huán)境監(jiān)控外,還可用于設(shè)備遠(yuǎn)程監(jiān)控、安防等領(lǐng)域,通用性強(qiáng),具有較高的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]姚永平.STC0Fxx系列8051單片機(jī)中文指南[EB/OL].2009.
[2]王廷堯.以太網(wǎng)技術(shù)與應(yīng)用[M].北京:人民郵電出版社,2005.endprint