modbus協(xié)議在溫濕度測控系統中的應用
引言
本文引用地址:http://dyxdggzs.com/article/155556.htm目前,大型基地(比如倉庫)對其空間內部的溫度和濕度參數非常關(guān)注,因為這直接關(guān)系到其中儲存的設備是否能夠無(wú)腐蝕、完好的被保存。因此,能夠自動(dòng)測量空間內的溫濕度并在需要的時(shí)候開(kāi)啟風(fēng)機以控制溫濕度是很有必要的。本文提出用分布式系統結合Modbus協(xié)議來(lái)高穩定高可靠地收集數據,同時(shí)在PC機上利用ACCESS的強大功能分析和處理數據并發(fā)出風(fēng)機指令,從而實(shí)現溫濕度的自動(dòng)測控。
1 系統構成
該溫濕度測量控制系統屬于傳感器空間立體分布式測控系統,采用PC主機和一臺上位機、以及若干臺下位機來(lái)實(shí)現主從式通信,同時(shí)使用RS485通信方式并采用Modbus協(xié)議組成工業(yè)級485網(wǎng)絡(luò ),然后再加上風(fēng)機、打印機等。從而構成一套完整的系統來(lái)實(shí)現對基地的溫度濕度參數進(jìn)行監測和控制。下位機采用一線(xiàn)總線(xiàn)(12wireinter2face)溫度傳感器來(lái)和shtll濕度傳感器精確地采集溫濕度信號,并應用PIC16單片機來(lái)把處理的信號通過(guò)RS-485總線(xiàn)發(fā)送給上位機。上位機是采用AT89S52的中央控制單元,可進(jìn)行數據處理和數據儲存,并可與PC機實(shí)現數據交互,進(jìn)而通過(guò)該網(wǎng)絡(luò )驅動(dòng)風(fēng)機控制開(kāi)關(guān)的通斷。圖1所示為系統總體框圖。
2 Modbus協(xié)議
Modbus協(xié)議適用于半雙工的RS-485總線(xiàn)。該總線(xiàn)上一般可有一個(gè)主機和多個(gè)從機,每個(gè)從機分配唯一的地址。工作時(shí)采用命令——應答的通訊方式,每一種命令幀都對應著(zhù)一種應答幀,主機可以向要訪(fǎng)問(wèn)的從機發(fā)出命令幀,然后由地址匹配的從機進(jìn)行響應,再向主機發(fā)出與命令幀對應的應答幀;地址不匹配的從機不響應命令幀。這種一問(wèn)一答的通信方式可以大大提高數據傳輸的正確性。
標準的Modbus協(xié)議為命令幀定義了許多功能代碼,不同的功能代碼要求從機進(jìn)行不同的響應。Modbus協(xié)議分為ASC碼模式和RTU模式,一般應用都希望在較短的時(shí)間內盡可能擴大數據的傳輸量,因此,大多采用RTU方式。
無(wú)論是命令幀還是應答幀,消息幀的起始和結束必須有至少可發(fā)送3.5個(gè)字符時(shí)間的停頓作為標志。命令幀中,從機地址表明該命令幀由總線(xiàn)上哪個(gè)從機接收。功能碼則指明主機要從機作出何種響應。寄存器起始地址主要告訴從機,主機所要讀取從機內部寄存器的起始地址。寄存器數是指主機要從該地址開(kāi)始,連續讀取多少個(gè)寄存器的值。CRC校驗是對由從機地址開(kāi)始的幀的所有字節進(jìn)行CRC-16校驗的校驗碼。CRC校驗的糾錯能力極強,它的應用使得數據傳輸的準確率可達94%以上。在應答幀中,從機地址、功能碼、CRC校驗與命令幀中的含義相同。字節數為從機應主機要求所發(fā)送的內部寄存器數據的字節數,寄存器1、2、…n是發(fā)送的各寄存器的內容。
3 系統硬件實(shí)現
該系統硬件采用一臺上位機和若干臺下位機的方式來(lái)構成通信網(wǎng)絡(luò ),從而完成數據的收集和存儲。
上位機主要由AT89S52單片機、通訊模塊、存儲模塊、狀態(tài)指示模塊組成,圖2所示是其上位機的結構組成。
下位機主要由PIC16單片機、溫度傳感器、濕度傳感器、風(fēng)機控制單元、狀態(tài)指示模塊和通訊模塊組成,其結構如圖3所示。
評論