當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]環(huán)境條件中的溫濕度指標(biāo)是很多工作場(chǎng)合中的重要參數(shù),不論是倉(cāng)庫(kù)治理、圖書(shū)保存還是產(chǎn)業(yè)丈量與計(jì)量檢定,都需要符合操縱規(guī)定的溫濕度環(huán)境條件。而溫濕度也是最不輕易保障的指標(biāo),針對(duì)這一情況,研制可靠且實(shí)用的溫濕度監(jiān)控系統(tǒng)顯得非常重要。監(jiān)控系統(tǒng)以RS-485總線協(xié)議為基礎(chǔ)組成分布式網(wǎng)絡(luò)結(jié)構(gòu),采用PC機(jī)與單片機(jī)組成的多機(jī)系統(tǒng)完成丈量與控制任務(wù)。

1 概述

環(huán)境條件中的溫濕度指標(biāo)是很多工作場(chǎng)合中的重要參數(shù),不論是倉(cāng)庫(kù)治理、圖書(shū)保存還是產(chǎn)業(yè)丈量與計(jì)量檢定,都需要符合操縱規(guī)定的溫濕度環(huán)境條件。而溫濕度也是最不輕易保障的指標(biāo),針對(duì)這一情況,研制可靠且實(shí)用的溫濕度監(jiān)控系統(tǒng)顯得非常重要。監(jiān)控系統(tǒng)以RS-485總線協(xié)議為基礎(chǔ)組成分布式網(wǎng)絡(luò)結(jié)構(gòu),采用PC機(jī)與單片機(jī)組成的多機(jī)系統(tǒng)完成丈量與控制任務(wù)。

2 系統(tǒng)硬件結(jié)構(gòu)及工作原理

2.1網(wǎng)絡(luò)監(jiān)控系統(tǒng)結(jié)構(gòu)

 

圖1 系統(tǒng)結(jié)構(gòu)原理圖

系統(tǒng)結(jié)構(gòu)原理圖如圖1。系統(tǒng)采用兩級(jí)主從式總線型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。由1臺(tái)PC機(jī)(作為上位機(jī))、若干臺(tái)AT89S52單片機(jī)(作為下位機(jī))和RS-485總線通訊網(wǎng)絡(luò)組成。整個(gè)系統(tǒng)在監(jiān)控系統(tǒng)治理軟件的控制下,同一協(xié)調(diào)工作,完成設(shè)計(jì)功能。

2.2 主從式通訊網(wǎng)絡(luò)

監(jiān)控系統(tǒng)中網(wǎng)絡(luò)通訊采用RS-485串行總線連接,串行通訊具有傳輸間隔長(zhǎng)、連接簡(jiǎn)單、使用靈活方便、數(shù)據(jù)傳輸可靠性高的特點(diǎn),在產(chǎn)業(yè)監(jiān)控、數(shù)據(jù)采集和實(shí)時(shí)控制系統(tǒng)中得到了廣泛應(yīng)用。其中采用差分通訊方式進(jìn)行信號(hào)發(fā)送與接收的RS-485(EIA-485Standard)總線協(xié)議較RS-232C協(xié)議進(jìn)步了抗共模干擾能力和傳輸速率,擴(kuò)大了傳輸間隔,更適合作為現(xiàn)場(chǎng)總線應(yīng)用于復(fù)雜的環(huán)境中的產(chǎn)業(yè)控制和實(shí)時(shí)監(jiān)控系統(tǒng)中[1]。

下位現(xiàn)場(chǎng)數(shù)據(jù)采集與控制單元掛接于同一條數(shù)據(jù)通訊總線,總線為各現(xiàn)場(chǎng)單元共享,為避免總線通訊的競(jìng)爭(zhēng)與沖突,系統(tǒng)網(wǎng)絡(luò)通訊采用主從式和廣播式通訊控制方法。由主控微機(jī)決定一次通訊過(guò)程的啟動(dòng)和終止,通過(guò)給需要通訊的現(xiàn)場(chǎng)單元分配總線通訊使用權(quán)的方法來(lái)實(shí)現(xiàn)與下位單片機(jī)與主控微機(jī)之間的網(wǎng)絡(luò)通訊。網(wǎng)絡(luò)中的下位單片機(jī)請(qǐng)求通訊時(shí)必須等待主控微機(jī)將總線使用權(quán)分配給它后才能收發(fā)數(shù)據(jù)[2]。采用主從通訊控制方法固然速度稍慢,但由于現(xiàn)場(chǎng)單片機(jī)與主控微機(jī)間的信息交換不是特別頻繁,因此對(duì)于本監(jiān)控系統(tǒng)是適用的。

PC主控微機(jī)與各現(xiàn)場(chǎng)單元單片機(jī)之間所采用的通訊規(guī)約是自定義的、非標(biāo)準(zhǔn)的、比較簡(jiǎn)單的格式。主控PC微機(jī)通過(guò)RS-232C串口向總線通訊協(xié)議轉(zhuǎn)換控制器發(fā)送命令幀信息,總線控制器接口電路負(fù)責(zé)RS-232C電平和RS-485電平之間的相互轉(zhuǎn)換,轉(zhuǎn)發(fā)此通訊幀向RS-485總線網(wǎng)絡(luò)廣播。在通訊幀中包含主控微機(jī)所要求的下位現(xiàn)場(chǎng)單元編號(hào),所有下位現(xiàn)場(chǎng)單元單片機(jī)都收聽(tīng)廣播,在收到廣播幀后,進(jìn)行編號(hào)對(duì)比操縱,各下位單片機(jī)把收到的編號(hào)與自己的編號(hào)進(jìn)行比較,編號(hào)相同的下位單片機(jī)控制器為被選中的下位機(jī),對(duì)接收到的幀信息進(jìn)行處理,其余下位單片機(jī)控制器皆為未選中的下位機(jī),需要丟棄收到的幀信息并繼續(xù)進(jìn)行網(wǎng)絡(luò)偵聽(tīng)工作[3]。同樣,下位現(xiàn)場(chǎng)單元單片機(jī)向主控微機(jī)發(fā)送信息幀時(shí),由總線通訊協(xié)議轉(zhuǎn)換控制器轉(zhuǎn)換為RS-232C通訊協(xié)議電平向主控微機(jī)轉(zhuǎn)發(fā)。在設(shè)計(jì)實(shí)驗(yàn)中,監(jiān)控系統(tǒng)在串行通訊波特率為9600bit/s,無(wú)奇偶校驗(yàn)位,8位數(shù)據(jù)位,1位停止位的設(shè)置下通訊正常,沒(méi)有發(fā)生丟幀或錯(cuò)幀的現(xiàn)象。

2.3 下位機(jī)數(shù)據(jù)采集與控制單元

下位機(jī)是一個(gè)以AT89S52單片機(jī)為核心的數(shù)據(jù)采集與控制單元。AT89S52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),功能強(qiáng)大的AT89S52可為很多嵌進(jìn)式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89S52具有如下資源:40個(gè)引腳,8k Bytes Flash片內(nèi)程序存儲(chǔ)(In system programmable可反復(fù)擦寫(xiě)1000次),256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸進(jìn)/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通訊口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器??赏ㄟ^(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,直至外中斷激活或硬件復(fù)位[4]。下位機(jī)分別接有8路溫度濕度傳感器,進(jìn)行溫度濕度檢測(cè),并根據(jù)各路的均勻溫度和均勻濕度,控制除濕機(jī)、空調(diào)機(jī)或其他設(shè)施,以使環(huán)境溫度與濕度控制在特定的范圍內(nèi),并輪流顯示均勻溫度、濕度值。下位機(jī)還設(shè)有煙霧、火光和熱釋電紅外傳感器及其相關(guān)電路 ,組成防火、防盜報(bào)警系統(tǒng)。下位單片機(jī)通過(guò)TTL/RS-485通訊接口電路與總線網(wǎng)絡(luò)相連接構(gòu)成半雙工主從式串行通訊網(wǎng)絡(luò),實(shí)現(xiàn)下位機(jī)通過(guò)串行口與上位機(jī)交換數(shù)據(jù)。下位機(jī)是一個(gè)相對(duì)獨(dú)立的智能型區(qū)域數(shù)據(jù)丈量與控制子系統(tǒng),當(dāng)監(jiān)控主機(jī)與下位單片機(jī)之間的通訊發(fā)生故障時(shí),各下位機(jī)仍可獨(dú)立完成相關(guān)區(qū)域的數(shù)據(jù)采集、告警和控制功能。

各溫度和濕度傳感器分別將檢測(cè)到的溫度和濕度物理量轉(zhuǎn)換成電信號(hào),經(jīng)各自的低噪聲放大器放大、模數(shù)轉(zhuǎn)換器(A/ D)后,送到AT89S52單片機(jī)進(jìn)行數(shù)據(jù)分析處理。下位機(jī)可接受上位機(jī)的訪問(wèn),根據(jù)需要將溫度、濕度數(shù)據(jù)實(shí)時(shí)傳遞給上位機(jī),由上位機(jī)對(duì)各倉(cāng)庫(kù)的溫濕度數(shù)據(jù)進(jìn)行記錄并做相應(yīng)處理。由于不同武器裝備對(duì)環(huán)境溫、濕度要求不同,用戶可通過(guò)外加鍵盤(pán),在所需要的范圍內(nèi)隨意設(shè)置系統(tǒng)監(jiān)控的溫、濕度指標(biāo),以便系統(tǒng)適應(yīng)不同的需要。

3 軟件設(shè)計(jì)

3.1網(wǎng)絡(luò)監(jiān)控系統(tǒng)軟件的設(shè)計(jì)與開(kāi)發(fā)

網(wǎng)絡(luò)監(jiān)控系統(tǒng)軟件的設(shè)計(jì)與開(kāi)發(fā)采用基于面向?qū)ο蟪绦蛟O(shè)計(jì)思想和關(guān)系數(shù)據(jù)庫(kù)技術(shù),在Windows9x/2000/XP系統(tǒng)平臺(tái)上采用Borland C++ Builder編程語(yǔ)言開(kāi)發(fā)而成。監(jiān)控系統(tǒng)軟件完成的主要任務(wù)和功能有:系統(tǒng)組態(tài)、串行通訊治理、圖形顯示治理、數(shù)據(jù)存儲(chǔ)、報(bào)表打印、統(tǒng)計(jì)分析、異常處理等。倉(cāng)儲(chǔ)網(wǎng)絡(luò)監(jiān)控系統(tǒng)的軟件設(shè)計(jì)功能較多而復(fù)雜,而且層次比較多。因此在設(shè)計(jì)上首先基于Windows的多任務(wù)處理機(jī)制,前臺(tái)完成命令響應(yīng)、各模塊調(diào)用以及系統(tǒng)工作狀態(tài)的動(dòng)態(tài)實(shí)時(shí)圖形化顯示等,后臺(tái)負(fù)責(zé)實(shí)時(shí)監(jiān)視接收各下位現(xiàn)場(chǎng)單元發(fā)送的數(shù)據(jù)、定時(shí)巡檢或隨機(jī)抽檢工作現(xiàn)場(chǎng)的單片機(jī)控制器、進(jìn)行異常處理和報(bào)警處理等;在編程技術(shù)上采用VCL組件開(kāi)發(fā)技術(shù),應(yīng)用多線程技術(shù)進(jìn)行多任務(wù)處理;其次,采用模塊化程序設(shè)計(jì),把一個(gè)大的程序劃分為若干個(gè)小的功能模塊,每個(gè)模塊之間既相互獨(dú)立又相互聯(lián)系,這樣可以進(jìn)步軟件的可維護(hù)性、可讀性、可靠性和高效性[2]。

3.2 下位機(jī)程序設(shè)計(jì)[5]

下位機(jī)主程序流程圖如圖2所示。包括對(duì)系統(tǒng)進(jìn)行初始化處理;判定中斷方式(含優(yōu)先級(jí))設(shè)置;串行口工作方式設(shè)置;系統(tǒng)各種指標(biāo)的裝進(jìn);鍵盤(pán)初始化;控制信號(hào)初始化以及建立數(shù)據(jù)指針、通道初值并啟動(dòng) A/ D轉(zhuǎn)換。

 

圖2 下位機(jī)主程序流程圖

以下僅給出下位機(jī)處理呼喚應(yīng)答時(shí)的部分程序:

# define ADD0 x01

sbit tr=p1.3;

void service serial(void) interrupt4using1

{

uchar  rs;

RI=0;

ES=0;  //關(guān)串行中斷

tr=0;

rs=SBUF;

if(rs!=ADD)  //不是呼喚本機(jī)

{

ES=1;

if(P3.3=0 ) //A/D轉(zhuǎn)換請(qǐng)求中斷

Return;

SM2 =0;

tr=1;

SBUF=ADD;  //應(yīng)答

While(TI=0);

TI=0;

tr=0;   //執(zhí)行通訊命令

4 結(jié)語(yǔ)

實(shí)踐證實(shí),基于RS-485總線協(xié)議的網(wǎng)絡(luò)監(jiān)控系統(tǒng)依托集中治理、分散控制的現(xiàn)代控制技術(shù),組成監(jiān)控系統(tǒng)的硬件和軟件采用標(biāo)準(zhǔn)化、模塊化和系統(tǒng)化的設(shè)計(jì),系統(tǒng)的配置具有通用性強(qiáng)、系統(tǒng)組態(tài)靈活、控制功能完善以及系統(tǒng)安裝、調(diào)試和維修簡(jiǎn)便等特點(diǎn),并且還可以通過(guò)智能通訊接口或標(biāo)準(zhǔn)的通訊網(wǎng)絡(luò)協(xié)議和其它監(jiān)控系統(tǒng),如門(mén)禁治理子系統(tǒng)相交聯(lián)通訊,組成功能更完善的自動(dòng)化網(wǎng)絡(luò)治理系統(tǒng)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(liá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)越多用戶希望企業(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ā)表演講稱,數(shù)字世界的話語(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)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

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