盧嫚,李彥斌
基于RS-485總線的多點(diǎn)溫度監(jiān)控系統(tǒng)設(shè)計
盧嫚,李彥斌
針對溫室溫度多點(diǎn)監(jiān)測需要,設(shè)計了下位機(jī)+上位機(jī)溫度多點(diǎn)監(jiān)測系統(tǒng),下位機(jī)以STC12C5A60S2為監(jiān)測節(jié)點(diǎn)核心,節(jié)點(diǎn)采集的溫度數(shù)據(jù)通過RS-485總線傳輸?shù)缴衔粰C(jī)(PC機(jī)),用戶可通過個人PC機(jī)實(shí)時查看溫室內(nèi)各節(jié)點(diǎn)數(shù)據(jù)。重點(diǎn)介紹系統(tǒng)的軟硬件設(shè)計過程,上位機(jī)軟件采用C#設(shè)計,上位機(jī)終端實(shí)現(xiàn)了溫度數(shù)據(jù)的查詢、保存、輸出及報警功能。該系統(tǒng)已投入運(yùn)用,實(shí)踐表明該系統(tǒng)運(yùn)行可靠,具有一定的實(shí)用性。
溫度;RS-485總線;監(jiān)測節(jié)點(diǎn);上位機(jī)
溫度是在冶金、化工、機(jī)械、電力等工業(yè)中最主要的被控參數(shù)之一。在不同的環(huán)境和要求下,對溫度的控制方式不同[1]。本文采用個人PC機(jī)作為上位機(jī)對溫度進(jìn)行實(shí)時監(jiān)測,并能夠?qū)崿F(xiàn)超溫報警功能,并針對多點(diǎn)遠(yuǎn)程監(jiān)測溫度的需求,采用現(xiàn)場總線進(jìn)行傳輸。
目前現(xiàn)場總線的種類非常多,其中基金會現(xiàn)場總線FF、控制局域網(wǎng)絡(luò)CAN、局部操作網(wǎng)絡(luò)Lon work、過程現(xiàn)場總線Profibus、Hart協(xié)議等13種總線作為國際標(biāo)準(zhǔn)的現(xiàn)場總線[2]。
在分布式監(jiān)測控制系統(tǒng)中,RS-485總線傳輸速度快,抗干擾能力強(qiáng)[3]、信號傳輸穩(wěn)定、傳輸距離遠(yuǎn),最遠(yuǎn)傳輸距離達(dá) 1200米[4],同時可支持多點(diǎn)通信等優(yōu)點(diǎn),最多能支持接入32個監(jiān)測節(jié)點(diǎn)。各節(jié)點(diǎn)之間連接簡易,組網(wǎng)靈活,RS485總線成本低,因此該總線已成為數(shù)據(jù)傳輸?shù)氖走x標(biāo)準(zhǔn)。
系統(tǒng)主要由上位機(jī)、RS232/RS485轉(zhuǎn)換器、現(xiàn)場監(jiān)控層組成。系統(tǒng)總體框架圖如圖1所示:
圖1 系統(tǒng)框架圖
上位機(jī)主要作用是對下位機(jī)進(jìn)行監(jiān)測,它能夠?qū)ο挛粰C(jī)數(shù)據(jù)進(jìn)行采集,實(shí)時顯示,存儲,查詢,此外可以通過上位機(jī)對溫度設(shè)定閾值,超過閾值進(jìn)行報警處理,實(shí)現(xiàn)用戶對下位機(jī)進(jìn)行遠(yuǎn)程控制;RS232/RS485轉(zhuǎn)換器實(shí)現(xiàn)了RS232信號和RS485信號的相互轉(zhuǎn)換,下位機(jī)通過一個RS232/RS485轉(zhuǎn)換器將下位機(jī)232信號轉(zhuǎn)換成485信號,方便運(yùn)用485總線傳輸,信號傳輸?shù)缴衔粰C(jī)之前,再采用一個RS232/RS485轉(zhuǎn)換器,將485信號轉(zhuǎn)換為232信號,方便上位機(jī)對數(shù)據(jù)進(jìn)行處理;下位機(jī)現(xiàn)場監(jiān)測層采用的是 STC12C5A60S2單片機(jī)為監(jiān)測節(jié)點(diǎn)核心,傳感器監(jiān)測數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)中,單片機(jī)對數(shù)據(jù)進(jìn)行處理,最終采用總線傳輸?shù)缴衔粰C(jī)。
監(jiān)控節(jié)點(diǎn)框架圖如圖2所示:
圖2 監(jiān)控節(jié)點(diǎn)框架圖
監(jiān)測節(jié)點(diǎn)由單片機(jī)模塊、監(jiān)測模塊、控制模塊、串口模塊、按鍵模塊、時鐘模塊、232/485轉(zhuǎn)換模塊等模塊組成。監(jiān)測模塊由數(shù)字式溫度傳感器DS18B20監(jiān)測溫度,采集的溫度值傳輸?shù)絾纹瑱C(jī);單片機(jī)將溫度值用12864液晶模塊顯示出來,液晶模塊負(fù)責(zé)實(shí)時顯示時間和溫度值,為用戶提供良好的人機(jī)交互界面;按鍵模塊提供手動控制功能,用戶能夠手動設(shè)置時間及溫度閾值;串口模塊為用戶下載程序提供方便,其輸出232信號,采用232/485轉(zhuǎn)換模塊將232轉(zhuǎn)換為485信號,實(shí)現(xiàn)了485總線遠(yuǎn)距離傳輸功能。
2.1 溫度采集模塊電路設(shè)計
溫度采集采用的是 DS18B20數(shù)字式溫度傳感器,DS18B20數(shù)字式溫度計提供9-12位攝氏溫度測量而且有一個由高電平觸發(fā)的可編程的不因電源消失而改變的報警功能。DS18B20通過一個單線接口發(fā)送或接受信息,只需要一根線與單片機(jī)連接。它的測溫范圍為-55—+125℃,DS18B20與單片機(jī)連接電路如圖3所示[5]:
圖3 DS18B20連接電路
2.2 串口模塊電路設(shè)計
串口模塊用于程序的下載,本系統(tǒng)采用的串口芯片為MAX232,因為電腦支持的是RS-232接口。由于電腦高低電平為±12V,單片機(jī)高電平為+5V,低電平為0V,二者之間不能直接通信,因此采用 MAX232進(jìn)行電平轉(zhuǎn)換,單片機(jī)TXD引腳輸出的TTL電平輸入到MAX232的T2IN引腳,MAX232輸出TTL電平輸入到單片機(jī)RXD引腳,即可實(shí)現(xiàn)單片機(jī)與電腦的通信,串口電路如圖4所示:
圖4 串口電路
2.3 232/485轉(zhuǎn)換電路
下位機(jī)輸出的是232信號,它的通信距離為30-60米,速度比較慢,RS-485允許多個收發(fā)器連接到一條總線上,可以接入32個節(jié)點(diǎn),因此需要將232信號轉(zhuǎn)換為485信號才能實(shí)現(xiàn)遠(yuǎn)距離傳輸。232/485轉(zhuǎn)換電路圖如圖5所示:
圖5 232轉(zhuǎn)485模塊電路
轉(zhuǎn)換電路主要包括供電電源、232-485電平轉(zhuǎn)換、485電路部分。232-485電平轉(zhuǎn)換采用的芯片為NH232芯片,485電路部分采用的是 MAX485作為通信接口電路[6-7],MAX485集成電路將TTL電平的串行接口通過芯片轉(zhuǎn)換為RS-485串行接口[8]。本系統(tǒng)采用的是無源供電方式,其原理為從RS232接口的DTR和RTS兩個引腳竊電。兩個232轉(zhuǎn)換器連接圖如圖6所示:
圖6 232轉(zhuǎn)換器連接示意圖
3.1 按鍵掃描程序設(shè)計
本設(shè)計每隔8ms掃描一次,根據(jù)單片機(jī)I/O輸入電壓不同,單片機(jī)根據(jù)AD轉(zhuǎn)換后的數(shù)值即可判斷是哪一個按鍵按下,并刷新一次顯示,按鍵主程序流程圖如圖7所示:
圖7 按鍵程序流程圖
3.2 定時控制和閾值控制之間的沖突處理
對于處理定時控制和閾值之間的沖突,采取的思想為:
(1)在閾值控制中不做判斷,只在定時控制中做判斷;
(2)定時控制時,在閾值控制中設(shè)置一個標(biāo)記,記錄閾值控制端口狀態(tài)是打開或者關(guān)閉;因為閾值控制、定時控制對應(yīng)的端口是固定。因此,在閾值控制的時候屏蔽定時控制,同時閾值控制關(guān)閉時,定時控制也起作用,就可以通過閾值控制端口的狀態(tài)來判斷是否屏蔽定時控制,如圖 8所示:
圖8 定時中斷0自動控制流程圖
(3)關(guān)于延長時間,通過判斷DS1302的秒位是否為0,可以確定時間過去 1m in,這樣可以累加,實(shí)現(xiàn)延長時間的判斷。
為方便用戶觀察,上位機(jī)必須有一個友好的人機(jī)交互圖形界面,各項參數(shù)均能顯示在上位機(jī),方便用戶操作。上位機(jī)采用C#語言,其軟件系統(tǒng)主要有通信設(shè)備模式管理模塊、數(shù)據(jù)庫管理模塊、報警顯示模塊、控制參數(shù)模塊?;?C#開發(fā)系統(tǒng)的485通信模塊流程圖如圖9所示:
圖9 485模塊通信流程圖
系統(tǒng)登錄界面是系統(tǒng)與用戶之間的接口,上位機(jī)界面顯示如圖10所示:
圖10 上位機(jī)界面顯示
上位機(jī)顯示出測試時間、工作節(jié)點(diǎn),通過對工作節(jié)點(diǎn)串口設(shè)置,下位機(jī)監(jiān)測的溫度值即可上傳到上位機(jī)界面,通過手動輸入工作節(jié)點(diǎn)最高溫度、最低溫度,即可進(jìn)行超溫報警,上位機(jī)溫度顯示界面如圖11所示:
圖11 上位機(jī)溫度采集界面
點(diǎn)擊左側(cè)查詢按鈕即可對歷史數(shù)據(jù)進(jìn)行查詢,通過歷史數(shù)據(jù)即可監(jiān)測出下位機(jī)工作狀態(tài),歷史數(shù)據(jù)查詢?nèi)鐖D12所示:
圖12 歷史數(shù)據(jù)查詢界面
針對溫度多點(diǎn)監(jiān)測需求,本文設(shè)計出了一種基于RS-485總線的溫室多點(diǎn)監(jiān)控系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了多點(diǎn)溫度監(jiān)測,通過對外圍設(shè)備的控制能將溫度有效的控制在閾值范圍內(nèi)。此外設(shè)計出便于用戶觀察的上位機(jī)顯示界面,下位機(jī)采集的數(shù)據(jù)能夠?qū)崟r顯示、存儲、打印。實(shí)踐證明該系統(tǒng)投資少,結(jié)構(gòu)簡單,可擴(kuò)展性強(qiáng)[9],可被廣泛用于溫室、倉庫、醫(yī)院等場合[10]。
[1] 楊烈君. 基于 RS-485 總線的智能溫度控制系統(tǒng)設(shè)計[J]. 寧德師專學(xué)報: 自然科學(xué)版, 2008, 20(1): 61-63.
[2] 田敏, 高安邦. “LonWorks” 現(xiàn)場總線技術(shù)的新發(fā)展[J].哈爾濱理工大學(xué)學(xué)報, 2010, 15(1): 33-39.
[3] 韓慧. 基于 RS-485 總線的溫室環(huán)境監(jiān)測系統(tǒng)[J]. 儀表技術(shù)與傳感器, 2012 (3): 60-61.
[4] 高軍麗, 王寶珠. 基于 RS-485 總線的智能分布式測控系統(tǒng)設(shè)計[J]. 計算機(jī)與現(xiàn)代化, 2012 (3): 151-154.
[5] 朱恒軍, 于泓博, 王發(fā)智. 基于 CAN 總線的大棚溫度測控系統(tǒng)設(shè)計[J]. 微電子學(xué)與計算機(jī), 2012, 29(005): 183-187.
[6] Xing Z, Li D, Shan Y, et al. The design and implementation of a C8051F-based embedded image acquisition system[C]//Intelligent Systems and Applications (ISA), 2010 2nd International Workshop on. IEEE, 2010: 1-3.
[7] Zhigang L, Peng W. Network sensor of temperature & humidity based on RS485 interface[C]//Advanced Computer Theory and Engineering (ICACTE), 2010 3rd International Conference on. IEEE, 2010, 4: V4-40-V4-42.
[8] 陳志延, 葉曉燕, 趙潔. 基于 AT89C52 的遠(yuǎn)程溫度數(shù)據(jù)采集系統(tǒng)設(shè)計[J]. 科技廣場, 2008 (8): 198-200.
[9] 盛琥. 基于 485 總線的溫度監(jiān)控系統(tǒng)[J]. 電子產(chǎn)品世界, 2008 (2): 96-97.
[10] 李智祥, 陳瑞. 多點(diǎn)溫度監(jiān)控系統(tǒng)的設(shè)計[J]. 現(xiàn)代電子技術(shù), 2009, 32(3): 140-142.
M ulti-Point Temperature M onitoring System Based on RS-485 Bus
Lu Man, Li Yanbin
(Xi'an Polytechnic University, College of Electronics and information, Xi'an 710048, China)
For the specific needs of multi-point temperature monitoring system, this paper designs a multi-point temperature monitoring system. PC. STC12C5A60S2 is used as core monitoring node of the Lower machine. The temperature data collected is transmitted to the PC by RS-485 bus, that users can view the real-time data of each node through personal PC in the greenhouse. This paper mainly introduces the design process of hardware and software. PC software is C # designed. PC terminal enables to query, save and output the temperature data and alarm. This system has been put into use. The practice shows that this system is reliable and practical.
Temperature; RS-485 Bus; DS18b20; 1-Wiree
TP311
A
2014.08.26)
國家自然科學(xué)基金(No. 21301134);省教育廳自然科學(xué)專項(No. 2013JK0655)
盧 嫚(1988-),女,陜西商洛人,西安工程大學(xué),助理工程師,碩士,研究方向:智能化檢測與技術(shù),西安,710048
李彥斌(1975-),男,陜西西安人,西安工程大學(xué),工程師,碩士,研究方向:控制科學(xué)與控制工程,西安,710048
1007-757X(2014)11-0016-04