盧嫚,李彥斌
基于RS-485總線的多點溫度監控系統設計
盧嫚,李彥斌
針對溫室溫度多點監測需要,設計了下位機+上位機溫度多點監測系統,下位機以STC12C5A60S2為監測節點核心,節點采集的溫度數據通過RS-485總線傳輸到上位機(PC機),用戶可通過個人PC機實時查看溫室內各節點數據。重點介紹系統的軟硬件設計過程,上位機軟件采用C#設計,上位機終端實現了溫度數據的查詢、保存、輸出及報警功能。該系統已投入運用,實踐表明該系統運行可靠,具有一定的實用性。
溫度;RS-485總線;監測節點;上位機
溫度是在冶金、化工、機械、電力等工業中最主要的被控參數之一。在不同的環境和要求下,對溫度的控制方式不同[1]。本文采用個人PC機作為上位機對溫度進行實時監測,并能夠實現超溫報警功能,并針對多點遠程監測溫度的需求,采用現場總線進行傳輸。
目前現場總線的種類非常多,其中基金會現場總線FF、控制局域網絡CAN、局部操作網絡Lon work、過程現場總線Profibus、Hart協議等13種總線作為國際標準的現場總線[2]。
在分布式監測控制系統中,RS-485總線傳輸速度快,抗干擾能力強[3]、信號傳輸穩定、傳輸距離遠,最遠傳輸距離達 1200米[4],同時可支持多點通信等優點,最多能支持接入32個監測節點。各節點之間連接簡易,組網靈活,RS485總線成本低,因此該總線已成為數據傳輸的首選標準。
系統主要由上位機、RS232/RS485轉換器、現場監控層組成。系統總體框架圖如圖1所示:

圖1 系統框架圖
上位機主要作用是對下位機進行監測,它能夠對下位機數據進行采集,實時顯示,存儲,查詢,此外可以通過上位機對溫度設定閾值,超過閾值進行報警處理,實現用戶對下位機進行遠程控制;RS232/RS485轉換器實現了RS232信號和RS485信號的相互轉換,下位機通過一個RS232/RS485轉換器將下位機232信號轉換成485信號,方便運用485總線傳輸,信號傳輸到上位機之前,再采用一個RS232/RS485轉換器,將485信號轉換為232信號,方便上位機對數據進行處理;下位機現場監測層采用的是 STC12C5A60S2單片機為監測節點核心,傳感器監測數據傳輸到單片機中,單片機對數據進行處理,最終采用總線傳輸到上位機。
監控節點框架圖如圖2所示:

圖2 監控節點框架圖
監測節點由單片機模塊、監測模塊、控制模塊、串口模塊、按鍵模塊、時鐘模塊、232/485轉換模塊等模塊組成。監測模塊由數字式溫度傳感器DS18B20監測溫度,采集的溫度值傳輸到單片機;單片機將溫度值用12864液晶模塊顯示出來,液晶模塊負責實時顯示時間和溫度值,為用戶提供良好的人機交互界面;按鍵模塊提供手動控制功能,用戶能夠手動設置時間及溫度閾值;串口模塊為用戶下載程序提供方便,其輸出232信號,采用232/485轉換模塊將232轉換為485信號,實現了485總線遠距離傳輸功能。
2.1 溫度采集模塊電路設計
溫度采集采用的是 DS18B20數字式溫度傳感器,DS18B20數字式溫度計提供9-12位攝氏溫度測量而且有一個由高電平觸發的可編程的不因電源消失而改變的報警功能。DS18B20通過一個單線接口發送或接受信息,只需要一根線與單片機連接。它的測溫范圍為-55—+125℃,DS18B20與單片機連接電路如圖3所示[5]:

圖3 DS18B20連接電路
2.2 串口模塊電路設計
串口模塊用于程序的下載,本系統采用的串口芯片為MAX232,因為電腦支持的是RS-232接口。由于電腦高低電平為±12V,單片機高電平為+5V,低電平為0V,二者之間不能直接通信,因此采用 MAX232進行電平轉換,單片機TXD引腳輸出的TTL電平輸入到MAX232的T2IN引腳,MAX232輸出TTL電平輸入到單片機RXD引腳,即可實現單片機與電腦的通信,串口電路如圖4所示:

圖4 串口電路
2.3 232/485轉換電路
下位機輸出的是232信號,它的通信距離為30-60米,速度比較慢,RS-485允許多個收發器連接到一條總線上,可以接入32個節點,因此需要將232信號轉換為485信號才能實現遠距離傳輸。232/485轉換電路圖如圖5所示:

圖5 232轉485模塊電路
轉換電路主要包括供電電源、232-485電平轉換、485電路部分。232-485電平轉換采用的芯片為NH232芯片,485電路部分采用的是 MAX485作為通信接口電路[6-7],MAX485集成電路將TTL電平的串行接口通過芯片轉換為RS-485串行接口[8]。本系統采用的是無源供電方式,其原理為從RS232接口的DTR和RTS兩個引腳竊電。兩個232轉換器連接圖如圖6所示:

圖6 232轉換器連接示意圖
3.1 按鍵掃描程序設計
本設計每隔8ms掃描一次,根據單片機I/O輸入電壓不同,單片機根據AD轉換后的數值即可判斷是哪一個按鍵按下,并刷新一次顯示,按鍵主程序流程圖如圖7所示:

圖7 按鍵程序流程圖
3.2 定時控制和閾值控制之間的沖突處理
對于處理定時控制和閾值之間的沖突,采取的思想為:
(1)在閾值控制中不做判斷,只在定時控制中做判斷;
(2)定時控制時,在閾值控制中設置一個標記,記錄閾值控制端口狀態是打開或者關閉;因為閾值控制、定時控制對應的端口是固定。因此,在閾值控制的時候屏蔽定時控制,同時閾值控制關閉時,定時控制也起作用,就可以通過閾值控制端口的狀態來判斷是否屏蔽定時控制,如圖 8所示:

圖8 定時中斷0自動控制流程圖
(3)關于延長時間,通過判斷DS1302的秒位是否為0,可以確定時間過去 1m in,這樣可以累加,實現延長時間的判斷。
為方便用戶觀察,上位機必須有一個友好的人機交互圖形界面,各項參數均能顯示在上位機,方便用戶操作。上位機采用C#語言,其軟件系統主要有通信設備模式管理模塊、數據庫管理模塊、報警顯示模塊、控制參數模塊。基于 C#開發系統的485通信模塊流程圖如圖9所示:

圖9 485模塊通信流程圖
系統登錄界面是系統與用戶之間的接口,上位機界面顯示如圖10所示:

圖10 上位機界面顯示
上位機顯示出測試時間、工作節點,通過對工作節點串口設置,下位機監測的溫度值即可上傳到上位機界面,通過手動輸入工作節點最高溫度、最低溫度,即可進行超溫報警,上位機溫度顯示界面如圖11所示:

圖11 上位機溫度采集界面
點擊左側查詢按鈕即可對歷史數據進行查詢,通過歷史數據即可監測出下位機工作狀態,歷史數據查詢如圖12所示:

圖12 歷史數據查詢界面
針對溫度多點監測需求,本文設計出了一種基于RS-485總線的溫室多點監控系統,該系統實現了多點溫度監測,通過對外圍設備的控制能將溫度有效的控制在閾值范圍內。此外設計出便于用戶觀察的上位機顯示界面,下位機采集的數據能夠實時顯示、存儲、打印。實踐證明該系統投資少,結構簡單,可擴展性強[9],可被廣泛用于溫室、倉庫、醫院等場合[10]。
[1] 楊烈君. 基于 RS-485 總線的智能溫度控制系統設計[J]. 寧德師專學報: 自然科學版, 2008, 20(1): 61-63.
[2] 田敏, 高安邦. “LonWorks” 現場總線技術的新發展[J].哈爾濱理工大學學報, 2010, 15(1): 33-39.
[3] 韓慧. 基于 RS-485 總線的溫室環境監測系統[J]. 儀表技術與傳感器, 2012 (3): 60-61.
[4] 高軍麗, 王寶珠. 基于 RS-485 總線的智能分布式測控系統設計[J]. 計算機與現代化, 2012 (3): 151-154.
[5] 朱恒軍, 于泓博, 王發智. 基于 CAN 總線的大棚溫度測控系統設計[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 的遠程溫度數據采集系統設計[J]. 科技廣場, 2008 (8): 198-200.
[9] 盛琥. 基于 485 總線的溫度監控系統[J]. 電子產品世界, 2008 (2): 96-97.
[10] 李智祥, 陳瑞. 多點溫度監控系統的設計[J]. 現代電子技術, 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)
國家自然科學基金(No. 21301134);省教育廳自然科學專項(No. 2013JK0655)
盧 嫚(1988-),女,陜西商洛人,西安工程大學,助理工程師,碩士,研究方向:智能化檢測與技術,西安,710048
李彥斌(1975-),男,陜西西安人,西安工程大學,工程師,碩士,研究方向:控制科學與控制工程,西安,710048
1007-757X(2014)11-0016-04