前,大型基地(比如倉庫)對其空間內部的溫度和濕度參數非常關注,因為這直接關系到其中儲存的設備是否能夠無腐蝕、完好的被保存。因此,能夠自動測量空間內的溫濕度并在需要的時候開啟風機以控制溫濕度是很有必要的。本文提出用分布式系統結合Modbus協議來高穩定高可靠地收集數據,同時在PC機上利用ACCESS的強大功能分析和處理數據并發出風機指令,從而實現溫濕度的自動測控。 1 系統構成 該溫濕度測量控制系統屬于傳感器空間立體分布式測控系統,采用PC主機和一臺上位機、以及若干臺下位機來實現主從式通信,同時使用RS485通信方式并采用Modbus協議組成工業級485網絡,然后再加上風機、打印機等。從而構成一套完整的系統來實現對基地的溫度濕度參數進行監測和控制。下位機采用一線總線(12wireinter2face)溫度傳感器來和shtll濕度傳感器精確地采集溫濕度信號,并應用PIC16單片機來把處理的信號通過RS-485總線發送給上位機。上位機是采用AT89S52的中央控制單元,可進行數據處理和數據儲存,并可與PC機實現數據交互,進而通過該網絡驅動風機控制開關的通斷。圖1所示為系統總體框圖。 2 Modbus協議 Modbus協議適用于半雙工的RS-485總線。該總線上一般可有一個主機和多個從機,每個從機分配唯一的地址。工作時采用命令——應答的通訊方式,每一種命令幀都對應著一種應答幀,主機可以向要訪問的從機發出命令幀,然后由地址匹配的從機進行響應,再向主機發出與命令幀對應的應答幀;地址不匹配的從機不響應命令幀。這種一問一答的通信方式可以大大提高數據傳輸的正確性。 標準的Modbus協議為命令幀定義了許多功能代碼,不同的功能代碼要求從機進行不同的響應。Modbus協議分為ASC碼模式和RTU模式,一般應用都希望在較短的時間內盡可能擴大數據的傳輸量,因此,大多采用RTU方式。 無論是命令幀還是應答幀,消息幀的起始和結束必須有至少可發送3.5個字符時間的停頓作為標志。命令幀中,從機地址表明該命令幀由總線上哪個從機接收。功能碼則指明主機要從機作出何種響應。寄存器起始地址主要告訴從機,主機所要讀取從機內部寄存器的起始地址。寄存器數是指主機要從該地址開始,連續讀取多少個寄存器的值。CRC校驗是對由從機地址開始的幀的所有字節進行CRC-16校驗的校驗碼。CRC校驗的糾錯能力極強,它的應用使得數據傳輸的準確率可達94%以上。在應答幀中,從機地址、功能碼、CRC校驗與命令幀中的含義相同。字節數為從機應主機要求所發送的內部寄存器數據的字節數,寄存器1、2、…n是發送的各寄存器的內容。 3 系統硬件實現 該系統硬件采用一臺上位機和若干臺下位機的方式來構成通信網絡,從而完成數據的收集和存儲。 上位機主要由AT89S52單片機、通訊模塊、存儲模塊、狀態指示模塊組成,圖2所示是其上位機的結構組成。 下位機主要由PIC16單片機、溫度傳感器、濕度傳感器、風機控制單元、狀態指示模塊和通訊模塊組成,其結構如圖3所示。 圖4所示是基于Modbus協議的485通訊網絡的組網方式示意圖。 4 系統軟件設計 本系統中的溫濕度監測系統軟件可采用VB語言來開發,并基于Access數據庫來進行管理。本軟件的特點類似于Windows的圖形界面和操作方法,因而十分簡單,易操作。其完成的主要功能是數據收集、系統設置、用戶管理、數據處理、數據顯示、系統設置,歷史數據分析、報警設置、設備管理、輸出報表和圖形顯示等。圖5所示是本系統的軟件結構框圖。 在圖5中,用戶管理主要是對操作軟件的用戶進行管理,包括用戶的添加刪除,密碼管理,用戶權限管理等等;系統設置則是對監控系統軟件溫濕度參數的設置,例如溫度、濕度傳感器的地址參數的設置;數據交互主要完成軟件讀取上位機中存儲的數據;數據處理主要負責數據存儲備份、溫濕度報警值的設定、對讀取的數據進行處理,并判斷是否需要開關風機;數據顯示主要 是對采集的溫濕度按照具體需要進行顯示;歷史數據的主要功能是對以往溫濕度記錄的查看、分析、統計,可以通過軟件針對每一年、每一月、每一天的平均溫度或者某一天某一時刻的溫度和濕度進行查詢,包括對歷史數據溫度和濕度曲線的觀測,以及各個時段的溫度/濕度報表的打印等。 5 結束語 本文主要討論通過基于Modbus協議的485網絡來實現溫濕度的采集與控制的具體方法。文章根據項目中的具體操作,給出了系統硬件、嵌入式軟件、PC機軟件等各個環節的具體實現方法,以便于設計者在開發應用中作為參考。 |