【正文】
ard Code for Information Interchange),即美國(guó)信息交換標(biāo)準(zhǔn)代碼。 MODBUS方案選擇在 Modbus 協(xié)議中,依數(shù)據(jù)在傳輸過(guò)程中的具體形式不同,分為兩種模式:ASCII 模式和 RTU模式, 采用哪種模式由用戶自己根據(jù)需要進(jìn)行選擇。系統(tǒng)中主要有MCU、液晶顯示、數(shù)碼管顯示、獨(dú)立按鍵、溫度采集、無(wú)線收發(fā)、RS232轉(zhuǎn)48上位機(jī)等單元。⑵B機(jī)可以按A機(jī)的命令顯示時(shí)鐘(與甲時(shí)鐘需同步)或者溫度信息,當(dāng)B機(jī)接受了A機(jī)的命令時(shí)指示燈閃爍一次。根據(jù)設(shè)計(jì)思路本次設(shè)計(jì)為A、B兩個(gè)系統(tǒng)模塊和PC機(jī)通訊模塊;A機(jī)和B機(jī)可以通過(guò)無(wú)線模塊雙向傳輸信號(hào);在Modbus通訊中B機(jī)作為從機(jī),PC機(jī)作為主機(jī),通過(guò)RS232485接口實(shí)現(xiàn)通訊。第2章 設(shè)計(jì)總思路和法案選擇2.設(shè)計(jì)總體思路基本原理和框圖本次設(shè)計(jì)了基于RS232485為接口,雙絞線為介質(zhì)的MODBUS通訊協(xié)議來(lái)實(shí)現(xiàn)遠(yuǎn)距離、高穩(wěn)定、高速率、抗干擾能力強(qiáng)的通訊系統(tǒng),得以在遠(yuǎn)離現(xiàn)場(chǎng)進(jìn)行監(jiān)測(cè)。本論文的主要內(nèi)容總由五章組成。、本論文的主要內(nèi)容考慮到工業(yè)上常常要對(duì)一些移動(dòng)性強(qiáng)的設(shè)備進(jìn)行一些監(jiān)控,本次設(shè)計(jì)了溫度信號(hào)實(shí)時(shí)采集顯示。在其它網(wǎng)絡(luò)上,包含了Modbus 協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。 當(dāng)在Modbus 網(wǎng)絡(luò)上通信時(shí),此協(xié)議決定了每個(gè)控制器須要知道它們的設(shè)備地址,識(shí)別按地址發(fā)來(lái)的消息,決定要產(chǎn)生何種行動(dòng)。它描述了控制器請(qǐng)求訪問(wèn)其它設(shè)備的過(guò)程,如何回應(yīng)來(lái)自其它設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并記錄。Modbus 就是工業(yè)控制器的網(wǎng)絡(luò)協(xié)議中的一種。它制定了消息域格局和內(nèi)容的公共格式。此協(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通信的。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。 Modbus 協(xié)議是應(yīng)用于電子控制器上的一種通用語(yǔ)言。在中國(guó),Modbus已經(jīng)成為國(guó)家標(biāo)準(zhǔn)GB/T195822008。【關(guān)鍵詞】 MODBUS NRF24L01 STC89C52 PC機(jī)[Abstract] This design to study how through the MODBUS munication protocol designed to use microcontroller, to bine NRF24L01 wireless transceiver chip temperature realtime acquisition with the host (PC) display. The STC89C52 SCM and DS18B20 temperature acquisition and display digital control, the 1602 LCD, after the pletion of a microcontroller system via RS485 physical layer munication protocol based on MODBUS serial munication through a wireless module to send to send realtime data to the host. After a series of treatments, the temperature can be shown in the two singlechip system in real time and accurately displayed on the host serial port debugging software. After testing, the works based on MODBUS protocol munication.[Key words] The MODBUS nRF24L01 STC89C52 host puter目 錄第1章 緒論 1 Modbus 協(xié)議簡(jiǎn)介 1 Modbus 協(xié)議的應(yīng)用 本論文的主要內(nèi)容 1第2章 設(shè)計(jì)總思路和法案選擇 22.設(shè)計(jì)總體思路基本原理和框圖 2 MODBUS方案選擇 2 3 4 本章小結(jié) 4第3章 通訊系統(tǒng)實(shí)現(xiàn)的理論原理 5 MODBUSRTU通訊協(xié)議內(nèi)容簡(jiǎn)介 5 RS485接口簡(jiǎn)介 7 NRF24L01無(wú)線模塊內(nèi)容簡(jiǎn)介 8 本章小結(jié) 9第4章 通訊系統(tǒng)實(shí)現(xiàn)的硬件設(shè)計(jì) 10 10 單片機(jī)最小系統(tǒng)模塊 獨(dú)立按鍵、液晶和數(shù)碼管顯示模塊 10 11 RS232轉(zhuǎn)RS485通訊接口模塊 11 本章小結(jié) 12第5章 通訊系統(tǒng)實(shí)現(xiàn)的軟件設(shè)計(jì) 13 基于MODBUS協(xié)議處理報(bào)文的軟件設(shè)計(jì): 13 A機(jī)流程圖和說(shuō)明 16 B機(jī)流程圖和說(shuō)明 17 本章小結(jié) 18第6章 通訊系統(tǒng)的實(shí)現(xiàn) 19 實(shí)物整體外觀 19(PC機(jī))顯示 20 結(jié)果評(píng)價(jià) 21 不足和展望 22參考文獻(xiàn) 23致謝 24附錄一: 系統(tǒng)總原理圖和PCB圖 25附錄二: 單片機(jī)A機(jī)程序 27附錄三: 單片機(jī)B機(jī)程序 40第1章 緒論 Modbus 協(xié)議簡(jiǎn)介Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個(gè)品牌)在1979年發(fā)明的,是全球第一個(gè)真正用于工業(yè)現(xiàn)場(chǎng)的總線協(xié)議。經(jīng)過(guò)一系列的處理后,溫度得以實(shí)時(shí)在兩個(gè)單片機(jī)系統(tǒng)中顯示并準(zhǔn)確顯示在主機(jī)串口調(diào)試軟件中。MODBUS協(xié)議的通訊系統(tǒng)【摘 要】 本設(shè)計(jì)研究如何通過(guò)MODBUS通訊協(xié)議,設(shè)計(jì)利用單片機(jī),結(jié)合NRF24L01無(wú)線收發(fā)芯片,實(shí)現(xiàn)了溫度實(shí)時(shí)采集與主機(jī)(PC機(jī))顯示。用STC89C52單片機(jī)與DS18B20對(duì)溫度采集顯示于數(shù)碼管,在通過(guò)無(wú)線模塊發(fā)送到另一塊單片機(jī)系統(tǒng)里通過(guò)1602液晶顯示,成后,基于MODBUS通訊協(xié)議通過(guò)RS485的物理層實(shí)現(xiàn)串口通信,發(fā)送實(shí)時(shí)數(shù)據(jù)給主機(jī)。經(jīng)檢測(cè),作品實(shí)現(xiàn)了基于MODBUS協(xié)議的通訊。為更好地普及和推動(dòng)Modbus在基于以太網(wǎng)上的分布式應(yīng)用,目前施耐德公司已將Modbus協(xié)議的所有權(quán)移交給IDA(Interface for Distributed Automation,分布式自動(dòng)化接口)組織,并成立了ModbusIDA組織,為Modbus今后的發(fā)展奠定了基礎(chǔ)。據(jù)不完全統(tǒng)計(jì):截止到2007年,Modbus的節(jié)點(diǎn)安裝數(shù)量已經(jīng)超過(guò)了1000萬(wàn)個(gè)。通過(guò)此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。它描述了一控制器請(qǐng)求訪問(wèn)其它設(shè)備的過(guò)程,如何回應(yīng)來(lái)自其它設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并記錄。 Modbus 協(xié)議的應(yīng)用 工業(yè)控制已從單機(jī)控制走向集中監(jiān)控、集散控制,如今已進(jìn)入網(wǎng)絡(luò)時(shí)代,工業(yè)控制器連網(wǎng)也為網(wǎng)絡(luò)管理提供了方便。 Modbus 協(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通信的。它制定了消息域格局和內(nèi)容的公共格式。如果需要回應(yīng),控制器將生成反饋信息并用Modbus 協(xié)議發(fā)出。這種轉(zhuǎn)換也擴(kuò)展了根據(jù)具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯(cuò)誤 測(cè)的方法。在短距離利用無(wú)線模塊與一些移動(dòng)性強(qiáng)的設(shè)備進(jìn)行數(shù)據(jù)交換克服有線通訊的弊端,再基于Modbus通訊協(xié)議將采集到的數(shù)據(jù)顯示于上位機(jī)上實(shí)現(xiàn)遠(yuǎn)程通訊。第一章介紹Modus通訊協(xié)議與它的應(yīng)用;第二章介紹設(shè)計(jì)的總思路和基本原理,對(duì)Mdodbus、通訊接口、無(wú)線模塊的方案進(jìn)行介紹和選擇;第三章介紹modbus協(xié)議、RS485通訊接口、NRF24L01通訊模塊的內(nèi)容;第四章具體介紹硬件設(shè)計(jì),最小系統(tǒng)、按鍵液晶數(shù)碼管顯示、電源電路、RS232—485模塊、NRF24L01模塊的硬件設(shè)計(jì)等;第五章介紹Modbus協(xié)議的軟件設(shè)計(jì)、A機(jī)軟件設(shè)計(jì)、B機(jī)軟件設(shè)計(jì)等;第六章介紹整個(gè)作品的實(shí)現(xiàn),對(duì)設(shè)計(jì)的整體外觀、串口顯示、對(duì)結(jié)果進(jìn)行評(píng)價(jià);說(shuō)明了不足之處和設(shè)計(jì)的展望等??紤]到現(xiàn)場(chǎng)有時(shí)候設(shè)備移動(dòng)性比較強(qiáng)時(shí),比如物料輸送時(shí)要監(jiān)測(cè)移動(dòng)的設(shè)備的溫度時(shí),有線方式通訊是受限的,所以設(shè)計(jì)中還結(jié)合了無(wú)線模塊來(lái)避免這種弊端。功能如圖21所示:MCU—A機(jī)獨(dú)立鍵盤無(wú)線收發(fā)模塊A液晶顯示器數(shù)碼管顯示無(wú)線收發(fā)模塊BMCU—B機(jī)溫度、時(shí)鐘RS232轉(zhuǎn)485物理層上位機(jī)顯示Modbus協(xié)議溫度、時(shí)鐘電磁波圖21 總體框圖⑴A機(jī)可以顯示時(shí)鐘和采集到的溫度信息,可以向B機(jī)發(fā)送命令,使B機(jī)當(dāng)前顯示的是溫度或時(shí)鐘。⑶B機(jī)的溫度、時(shí)鐘通過(guò)Modbus協(xié)議與主機(jī)通訊實(shí)現(xiàn)將溫度值、時(shí)鐘的時(shí)分信號(hào)讀取顯示于上位機(jī)串口調(diào)試軟件上。其中MCU為各單元的控制中心,無(wú)線收發(fā)模塊是實(shí)現(xiàn)A機(jī)和B機(jī)通信的終端;主機(jī)、數(shù)碼管和液晶顯示部分用來(lái)觀察系統(tǒng)工作狀態(tài)及無(wú)線通信的成功與否。在改變數(shù)據(jù)傳輸模式時(shí),同一 Modbus 網(wǎng)絡(luò)中的所有設(shè)備的數(shù)據(jù)傳輸模式必須一致。在這種模式中,每個(gè) 8 比特的字節(jié)被轉(zhuǎn)換為兩個(gè) ASCII 字符進(jìn)行傳送。代碼系統(tǒng):十六進(jìn)制,ASCII字符0…9,A…F,消息中的每個(gè)ASCII字符都是一個(gè)十六進(jìn)制字符組成每個(gè)字節(jié)的位: 表21 ASCII模式起始位地址代碼功能代碼數(shù)據(jù)位LRC校驗(yàn)碼結(jié)束位STARTADDRESSFUNCTIONDATALRC CHECKEND1字節(jié)2字節(jié)2字節(jié)n字節(jié)2字節(jié)2字節(jié)1 CHAR2 CHARS2 CHARSn CHARS2 CHARS2 CHARS 方案二、RTU(Remote Terminal Unit),即遠(yuǎn)程終端單元。代碼系統(tǒng):8位二進(jìn)制,十六進(jìn)制數(shù)0...9,A...F,消息中的每個(gè)8位域都是一個(gè)兩個(gè)十六進(jìn)制字符組成每個(gè)字節(jié)的位: 表22 RTU模式起始位地址代碼功能代碼數(shù)據(jù)位CRC校驗(yàn)碼結(jié)束位STARTADDRESSFUNCTIONDATACRC CHECKENDT1T2T3T48 BITS8 BITSn * 8 BITS16 BITST1T2T3T4通過(guò)比較可以看到,ASCII協(xié)議和RTU協(xié)議相比擁有開(kāi)始和結(jié)束標(biāo)記,因此在進(jìn)行程序處理時(shí)能更加方便,而且由于傳輸?shù)亩际强梢?jiàn)的ASCII字符,所以進(jìn)行調(diào)試時(shí)就更加的直觀,另外它的LRC校驗(yàn)也比較容易。綜合各因素本次設(shè)計(jì)采用方案二即RTU模式。由于RS232C接口標(biāo)準(zhǔn)出現(xiàn)較早,難免有不足之處,主要有以下四點(diǎn):⑴電平不兼容故需使用電平轉(zhuǎn)換電