基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計_第1頁
基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計_第2頁
基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計_第3頁
基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計_第4頁
基于MODBUS數(shù)據(jù)采集系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、吉林化工學(xué)院信控學(xué)院專業(yè)綜合設(shè)計說明書基基于于 M Mo od db bu us s 協(xié)協(xié)議議的的數(shù)數(shù)據(jù)據(jù)采采集集系系統(tǒng)統(tǒng)學(xué)生學(xué)號: # 學(xué)生姓名: # 專業(yè)班級: # 指導(dǎo)教師: # 職 稱: 教授 起止日期:2014.3.32014.3.23 吉林化工學(xué)院Jilin Institute of Chemical Technology吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- I -專業(yè)綜合設(shè)計任務(wù)書一設(shè)計題目:基于一設(shè)計題目:基于 MODBUSMODBUS 協(xié)議的數(shù)據(jù)采集系統(tǒng)協(xié)議的數(shù)據(jù)采集系統(tǒng)二二設(shè)設(shè)計計目目的的1培養(yǎng)學(xué)生實踐動手能力及獨立分析和解決工程實際問題的能力;2培養(yǎng)學(xué)生的團

2、隊協(xié)作精神、創(chuàng)新意識、嚴(yán)肅認(rèn)真的治學(xué)態(tài)度和嚴(yán)謹(jǐn)求實的工作作風(fēng);3學(xué)習(xí)SST89E516RD 單片機體系結(jié)構(gòu)及程序開發(fā);4學(xué)習(xí)電路的焊裝和硬件調(diào)試;5. 編寫完整的實驗程序,進行整機調(diào)試;6. 學(xué)習(xí)撰寫設(shè)計說明書 。三三設(shè)設(shè)計計任任務(wù)務(wù)及及要要求求設(shè)計并實現(xiàn)基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng) 。系統(tǒng)具有以下基本功能:1利用PCF8591 轉(zhuǎn)換模塊實現(xiàn)對外部數(shù)據(jù)的采集;2使用Modbus 通訊協(xié)議實現(xiàn)單片機與上位機的通訊;3. 通過組態(tài)王軟件實現(xiàn)數(shù)據(jù)的實時顯示。四四設(shè)設(shè)計計時時間間及及進進度度安安排排設(shè)計時間共三周(2014.3.32014.3.23),具體安排如下表:周安排設(shè) 計 內(nèi) 容設(shè)計時

3、間第一周1. 掌握SST89E516RD 單片機體系結(jié)構(gòu);2. 設(shè)計采樣電路和調(diào)試,并應(yīng)用 Protel 畫出其電路原理圖。2014.3.32014.3.9第二周1. 學(xué)習(xí)Modbus 通信協(xié)議和組態(tài)王;2. 編寫實驗程序。2014.3102014.3.16第三周1. 整機調(diào)試;2. 撰寫綜合設(shè)計報告;3. 答辯。2014.3.172014.3.23五五指指導(dǎo)導(dǎo)教教師師評評語語及及學(xué)學(xué)生生成成績績指導(dǎo)教師評語:年 月 日成績指導(dǎo)教師(簽字):基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- II -目 錄專業(yè)綜合設(shè)計任務(wù)書 I摘要III第 1 章 概述1第 2 章 方案選取22.1 通信方式選擇22.2

4、 PCF8591 的選擇2第 3 章 硬件電路設(shè)計33.1 設(shè)計流程圖33.2 RS485 通信電路圖33.3 單片機最小系統(tǒng)4第 4 章 主要元器件的介紹54.1 SST89E516RD 單片機54.1.1 儲存器54.1.2 定時器64.1.3 端口輸入/輸出6第 5 章 系統(tǒng)電源 7第 6 章 軟件設(shè)計96.1 編程軟件96.2 編程語言的介紹106.3 組態(tài)王軟件11結(jié)論15參考文獻16附錄 1 電路原理圖17附錄 2 程序19吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- III -摘要此次專業(yè)綜合設(shè)計采用89E516RD 單片機、ADM2582 隔離型RS-485 收發(fā)器,利用

5、SIPEX SP3223EEY 芯片 RS232 轉(zhuǎn)換器構(gòu)成的系統(tǒng), 89E516RD 單片機作為下位機,應(yīng)用組態(tài)王6.55 軟件編制的上位機監(jiān)控程序 ,應(yīng)用單片機內(nèi)部集成A/D 轉(zhuǎn)換器完成對實時電位器電阻模擬量的采集和處理,而組態(tài)王用于對下位機參數(shù)讀寫、顯示、報警等,從而實現(xiàn)了一套完整可靠的 電阻采集監(jiān)控系統(tǒng)。上位機和下位機通過Modbus 通訊協(xié)議來進行數(shù)據(jù)的采集。該系統(tǒng)具有使用方便、測量精確、穩(wěn)定性高、可性強等優(yōu)點,可以在很多領(lǐng)域應(yīng)用,如溫度、液位、壓力等物理量的采集和監(jiān)控。關(guān)關(guān)鍵鍵字字:89E516RD,MAX232,PCF8591,組態(tài)王6.52,Modbus 協(xié)議吉林化工學(xué)院信息與

6、控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 1 -第 1 章 概述計算機網(wǎng)絡(luò)、通信與控制技術(shù)的發(fā)展,導(dǎo)致自動化系統(tǒng)的深刻變革。隨著微處理器與計算機功能的不斷增強,價格急劇降低,計算機與計算機網(wǎng)絡(luò)系統(tǒng)得到迅速發(fā)展。而處于企業(yè)生產(chǎn)過程底層的測控自動化系統(tǒng),由于設(shè)備之間采用傳統(tǒng)的一對一連線,用電壓、電流的模擬信號進行測量控制,或采用自成體系的封閉式的集散系統(tǒng),難以實現(xiàn)設(shè)備之間以及系統(tǒng)與外界之間信息變換,使自動化系統(tǒng)成為 “信息孤島”。 隨著現(xiàn)代工業(yè)的發(fā)展,對工業(yè)設(shè)備的控制逐步從單一獨立系統(tǒng)向集散控制監(jiān)控系統(tǒng)發(fā)展,因此,我們設(shè)計了基于Modbus 協(xié)議實現(xiàn)下位機對電壓信號的采集和組態(tài)王通信 的智能工業(yè)控制器監(jiān)控

7、系統(tǒng),它的數(shù)據(jù)通信系統(tǒng)由數(shù)據(jù)的發(fā)送設(shè)備、接收設(shè)備、作為傳輸介質(zhì)的總線、通信協(xié)議組成。本設(shè)計雖然是簡單的用單片機內(nèi)部集成A/D 轉(zhuǎn)換器進行電壓采樣,但是利用此原理,并將設(shè)計稍加改動,就會演變成很多工業(yè)自動化監(jiān)控系統(tǒng),例如對溫度、壓力、液位等工業(yè)現(xiàn)場參數(shù)的精確控制,并且可以利用上位組態(tài)軟件實現(xiàn)現(xiàn)場參數(shù)的讀寫、顯示、越限報警等 實現(xiàn)了一個完整的工業(yè)監(jiān)控系統(tǒng)。 現(xiàn)場總線是當(dāng)今自動化領(lǐng)域技術(shù)發(fā)展的熱點之一,被譽為自動化領(lǐng)域的計算機局域網(wǎng)。它的出現(xiàn),將對該領(lǐng)域的技術(shù)發(fā)展產(chǎn)生重要影響,而本設(shè)計所運用的 Modbus 協(xié)議更是現(xiàn)場總線中應(yīng)用較為廣泛的一種總線技術(shù)?;贛odbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 2 -

8、第 2 章 方案選取 2.1 通信方式選擇用通信方式來看,有兩種總線方式即: RS232 總線和RS485 總線。方案一:采用采用RS232 串行總線方式,它是外部串行總線,通常我們用 9 針線接口進行通信,實際上只用到TXD、RXD、GND 三根線,單端傳輸方式,最大傳輸距離是15 米,最大傳輸速度20Kbit/s,具有串行傳輸只需要一根傳輸線即可,在成本上可以有一定的節(jié)約。但是典型的RS-232 信號在正負(fù)電平之間擺動,在發(fā)送數(shù)據(jù)時,發(fā)送端的驅(qū)動器輸出正電平在+5+15V,負(fù)電平在-5-15V 之間。當(dāng)沒有數(shù)據(jù)傳輸時,線上未TTL,從開始傳輸數(shù)據(jù)到結(jié)束,線上電平從TTL 電平到RS-232

9、 電平再返回TTL 電平。接收器典型的正工作電平再 +3+12V,負(fù)電平在-3-12V。由于發(fā)送電平和接收電平的差僅為2V 到3V,所以共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為15M,最高速率為20Kbit/s。由于RS-232 用于一對收發(fā)設(shè)備通訊,所以它只適合本地設(shè)備之間的通訊。方案二:采用RS485 串行總線方式,它也是外部串行總線, RS-485 可以采用二線與四線方式,二線制可以真正實現(xiàn)多點雙向通訊。而在采用四線連接時,只能實現(xiàn)點對多的通信,也就是只有一個主設(shè)備,其他全為從設(shè)備。它的特點是輸入為差分輸入方式,最大傳輸距離為 1200 米,最大傳輸速率為10Mbit/

10、s,其優(yōu)點是在RS232 基礎(chǔ)上其抗干擾能力極強,同一根電纜線的數(shù)據(jù)傳輸可以不受其他線路的干擾,還具有總線收發(fā)器靈敏度很高,能檢測很低的電壓( 200mV),在遠距離傳輸時也能使信號得以恢復(fù)。 RS-485 的接口信號電平較RS-232 低,不易是接口電路的芯片受到損壞。由于RS-485 的種種優(yōu)點,使它成為眾多工程師的首選串行接口。所以基于RS-485 的優(yōu)點,本設(shè)計也采用方案二作為通信方式 。2.2 PCF8591 的選擇PCF8591 是一個單片集成、單獨供電、低功耗、 8-bit CMOS 數(shù)據(jù)獲取器件。PCF8591 具有4個模擬輸入、1 個模擬輸出和1 個串行IC 總線接口。PCF

11、8591 的3 個地址引腳A0, A1 和A2 可用于硬件地址編程,允許在同個IC 總線上接入8 個PCF8591 器件,而無需額外的硬件。在PCF8591 器件上輸入輸出的地址、控制和數(shù)據(jù)信號都是通過雙線雙向 IC 總線以串行的方式進行傳輸。PCF8591 的功能包括多路模擬輸入、內(nèi)置跟蹤保持、 8-bit 模數(shù)轉(zhuǎn)換和8-bit 數(shù)模轉(zhuǎn)換。PCF8591 的最大轉(zhuǎn)化速率由IC 總線的最大速率決定。吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 3 -第 3 章 硬件電路設(shè)計3.1 設(shè)計流程圖在設(shè)計方案選定好之后,需要對整個系統(tǒng)的實現(xiàn)過程有個具體的思考分析,并拿出一個具體的系統(tǒng)實現(xiàn)方案框圖

12、,將整個實現(xiàn)過程模塊化,便于硬件電路的設(shè)計和分工焊 接,便于硬件的檢錯和硬件的調(diào)試。圖3-1,便是選定的方案一的系統(tǒng)實現(xiàn)框圖。圖3-1 工作流程圖3.2 RS485 通信電路圖RS-485 數(shù)據(jù)信號采用差分傳輸方式,也稱作平衡傳輸,它使用一對雙絞線,將其中一線定義為A,另一線定義為B。RS-485 可以采用二線與四線方式,二線制可實現(xiàn)真正的多點雙向通信。RS-485 總線,在要求通信距離為幾 十米到上千米時,廣泛采用RS-485 串行總線標(biāo)準(zhǔn)。RS-485 采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。加上總線收發(fā)器具有高靈敏度,能檢測低至200mV 的電壓,故傳輸信號能在千米以外得到恢

13、復(fù)。 RS-485 采用半雙工工作方式,任何時候只能有一點處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。 RS-485 用于多點互連時非常方便,可以省掉許多信號線。應(yīng)用RS-485 可以聯(lián)網(wǎng)構(gòu)成分布式系統(tǒng),其允許最多并聯(lián)32 臺驅(qū)動器和32 臺接收器。 RS-485 驅(qū)動器可以用在RS-422 網(wǎng)絡(luò)中應(yīng)用。RS-485 的最大傳輸距離約為1219 米,最大傳輸速率為10Mbps。平衡雙絞線的長度與傳輸速率成反比,在100Kbps 速率以下,才可能使用規(guī)定最長的電纜長度。只有在很短的距離下才能獲得最高速率傳輸。一般 100 米長雙絞線最大傳輸速率僅為1Mbps。在短距離的信息傳輸過程中,可以

14、忽略大部分的干擾,即可以不使用雙絞線。在沒有強干擾的影響時,信號傳輸?shù)慕K端也可以不加抗共模干擾的電阻。有的情況, 485 總線芯片的供電電基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 4 -源也會引起干擾,在這種情況下,需要對供電電源進行隔離,圖 3-3 所示的電路就是消除電源干擾的一種電路設(shè)計方案。圖3-2 RS485 通信原理圖3.3 單片機最小系統(tǒng)單片機最小系統(tǒng)包括電源電路,復(fù)位電路和定時電路。如圖示為 3-3 單片機最小系統(tǒng)。圖3.3 單片機最小系統(tǒng)吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 5 -第 4 章 主要元器件的介紹4.1 SST89E516RD 單片機 STT89E516

15、RD 是8 位集成儲存器的51 系列兼容單片機,和51 系列單片機軟件兼容、管腳也兼容。SST89E516RD 片內(nèi)有兩塊SuperFlashEEPROM,分為64k 主塊(BLOCK0)和8k 次塊(BLOCK1).BLOCK0 的地址范圍是0000hffffIBLOCK1 的地址范圍是10000h11fffh。做仿真器時BLOCK1 儲存區(qū)燒寫SOFtIC 仿真監(jiān)控程序。SST89E516RD 具有在應(yīng)用可編程( IAP)和在系統(tǒng)可編程(ISP)的功能,其中IAP 是通過串口實現(xiàn)的。仿真器就是利用了SST89E516RD 的IAP 功能。由于SST89E516RD 具有兩塊獨立的Super

16、Flash 程序儲存區(qū),當(dāng)監(jiān)控程序在Block1 儲存區(qū)運行時可以改寫B(tài)lock0 程序儲存區(qū)中的程序,這就是仿真器的基本特性。圖4-1 單片機原理圖4.1.1 儲存器1.程序FLASH存儲器:單片機內(nèi)部有兩塊FLASH存儲器,第一塊(BLOCK0)是64Kbyte,第二塊(BLOCK1)是8Kbyte。因為全部程序地址空間限制為64Kbyte,SFCF1:0用來控制程序區(qū)的選擇。請參考圖3-1和圖3-2的程序空間的配置。64K/32K x8的第一塊由512/256個扇區(qū)組成,每個扇區(qū)有128Byte。8K x8的第二塊由64個扇區(qū)組成,每個扇區(qū)有128Byte。2.程序存儲器塊的切換:基于M

17、odbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 6 -單片機的程序存儲器塊切換功能使BLOCK1或BLOCK0的低8Kbyte占用程序地址空間的最低8Kbyte地址。SFCF1:0控制程序存儲器的塊切換。3.程序存儲器塊切換的復(fù)位初始值:程序存儲器塊切換的復(fù)位初始值是由起動配置位SC0及SC1的狀態(tài)確定。SC0和SC1位可通過外部主機模式命令或IAP模式的命令來編程。請看表4-2和表4-7。RESET完成后,SFCF0可以由程序動態(tài)地修改,改變SFCF0值不會改變SC0位。在改變SFCF0的值時需要小心,因為會使不同的物理空間印射到邏輯程序地址空間,使用者必須防止在地址范圍0000H到1FFFH執(zhí)行塊切換指

18、令。4.數(shù)據(jù)RAM儲存器:數(shù)據(jù)RAM有1024字節(jié)的內(nèi)部存儲器,RAM能尋址到64Kbyte的外部數(shù)據(jù)存儲器。5.擴展數(shù)據(jù)RAM的尋址:SST89E/V554RC和SST89E/V564RD都有1K的RAM,對內(nèi)部數(shù)據(jù)存儲器有四個部分: (1)RAM的低128Byte(00H到7FH)可以直接或間接尋址。 (2)RAM的高128Byte(80H到FFH)可以間接尋址。 (3)特殊功能寄存器(80H到FFH)只能直接尋址。 (4)768Byte的擴展RAM(00H到2FFH)由轉(zhuǎn)移外部指令MOVX間接尋址和清除EXTRAM位。由于高位128Byte字節(jié)和SFR占用相同的地址,RAM必須間接訪問,

19、RAM和SFR空間盡管有相同的地址,但是它們在物理上是分開的。當(dāng)指令訪問高位128Byte(高于7FH),單片機訪問SFR還是RAM由指令的類型,如果是間接,將訪問RAM;如果是直接,將訪問SFR。 4.1.2 定時器器件有3 個16 位寄存器做定時器或事件計數(shù)器。 3 個定時器或計數(shù)器分別是T0、T1 和T2。每個都有一對8 位特殊功能寄存器指定。各自的寄存器是TL0,TH0,TL1,TH1,TL2,TH2。下面的表提供設(shè)置T0、T1、T2的TMOD值。除了在波特率發(fā)生器模式, T2CON不包括TR2位的設(shè)置,TR2位需要單獨設(shè)置來啟動定時器。4.1.3 端口輸入/輸出SST89E516 有

20、4 個8 位I/O 口(32 個I/O 引腳)和1 個4 位口,共36 個I/O 口。SST89E516端口的工作情況與標(biāo)準(zhǔn)8051 相似,但有一些改進。1.P0 是八位雙向I/O 端口,當(dāng)作輸出口時每個引腳可以接收LS TTL 電平輸入,可以寫為1使其狀態(tài)為懸浮用做高阻輸入。 P0 也可以在訪問外部程序存儲器時作地址的低字節(jié),在訪問外部數(shù)據(jù)存儲器時作數(shù)據(jù)總線,此時通過內(nèi)部強上拉輸出 1。P0 在外部主機模式編程時接收代碼,外部主機模式校驗是輸出代碼。在編程校驗或是當(dāng)作通用 I/O 口時需要外接上拉。2.P1 口是8 位帶內(nèi)部上拉的雙向I/O 口,P1 輸出可以驅(qū)動LS TTL 輸入。向P1

21、口寫入1 時P1 口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時被外部拉低的 P1 口會因為內(nèi)部上拉而輸出電流(見DC 電氣特性) 。P15,6,7可以驅(qū)動16mA 的大電流。P1 口在外部主機模式編程和校驗時接收低位地址數(shù)據(jù)。3.P2 口是8 位帶內(nèi)部上拉的雙向I/O 口。向P2 口寫入1 時P2 口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時,被外部拉低的P2 口會因為內(nèi)部上拉而輸出電流 (見DC 電氣特性)。吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 7 -在訪問外部程序存儲器和外部數(shù)據(jù)時分別作為地址高位字節(jié)和 16 位地址(MOVX DPTR),此時通過內(nèi)部強上拉傳送1

22、。P2 口在外部主機模式編程和校驗時接收一些控制信號和部分的高位地址數(shù) 據(jù)。 4.P3 口是8 位帶內(nèi)部上拉的雙向I/O 口。P3 口輸出緩沖器可以驅(qū)動LS TTL 輸入。向P3 口寫入1 時P3 口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時,被外部拉低的 P3 口會因為內(nèi)部上拉而輸出電流 (見DC 電氣特性)。P3 口在外部主機模式編程和校驗時接收一些控制信號和部分的高位地址數(shù)據(jù) .4.2 數(shù)/模轉(zhuǎn)換元件PCF8591PCF8591 是一款單電源、低功耗8 位COMS 型A/D、D/A 轉(zhuǎn)換芯片,它具有4 路模擬量輸入通道、一路模擬量輸出通道和1 個IC 總線接口。該器件I2C 從地址

23、的低三位由芯片的A0、A1 和A2 三個地址引腳決定,所以在不增加任何硬件的情況下同一條 IC 總線最多可以連接8 個同類型的器件。 圖4-2 PCF8591 與單片機轉(zhuǎn)換原理圖基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 8 -第 5 章 系統(tǒng)電源本次綜合設(shè)計中介紹的直流穩(wěn)壓電源一般是線性穩(wěn)壓電源 , 它是將起電壓調(diào)整的作用器件始終工作在線性放大區(qū),由50Hz 工頻變壓器、整流器、濾波器和串聯(lián)調(diào)整穩(wěn)壓器組成。它的基本工作原理為:工頻交流電源經(jīng)過變壓器降壓、 整流、濾波、再次濾波后成為一穩(wěn)定的直流電源。圖中其余部分是起電壓調(diào)節(jié),實現(xiàn)穩(wěn)壓作用的控制部分。電源接上負(fù)載后,通過采樣電路獲得輸出電壓,將此輸

24、出電壓與基準(zhǔn)電壓進行比較 。如果輸出電壓小于基準(zhǔn)電壓,則將誤差值經(jīng)過放大電路放大后送入調(diào)節(jié)器的輸入端,通過調(diào)節(jié)器調(diào)節(jié)使輸出電壓增加,直到與基準(zhǔn)值相等;如果輸出電壓大于基準(zhǔn)電壓,則通過調(diào)節(jié)器使輸出減小 ,最后直至與基準(zhǔn)電壓相等 。這種穩(wěn)壓電源具有優(yōu)良的紋波及動態(tài)響應(yīng)特性 。此次設(shè)計所用到的電源是5V 直流電源,采用變壓器實現(xiàn)220V 到5V 的轉(zhuǎn)換,變壓器如下圖;圖5-1 AY-MPU89C51A 核心板電源連接方式吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 9 -第 6 章 軟件設(shè)計6.1 編程軟件Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機

25、C 語言軟件開發(fā)系統(tǒng)。Keil C51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows 界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹 Keil C51 開發(fā)系統(tǒng)各部分功能和使用。我們用開發(fā)軟件Keil uVision3 來編寫、修改所需程序和下載程序到單片機運行。其下介紹Keil uVision3 的使用步驟:1.雙擊Keil uVision3,得到主畫面,如圖6-1 所示:2新建界面 Project-new proj

26、ect,如圖6-2 所示: 圖6-1 Keil uVision3 基本畫面圖6-2 KeiluVision3 的新建界面基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 10 -3.單片機的選擇,如圖6-3 所示:圖6-3 單片機選擇4.C 文件的創(chuàng)建和添加,如 圖6-4 所示:圖6-4 C 文件創(chuàng)建6.2 編程語言的介紹C 語言1是一種面向過程的計算機 程序設(shè)計語言,它是目前眾多計算機語言中舉世公認(rèn)的優(yōu)秀的結(jié)構(gòu)程序設(shè)計語言之一。它由美國 貝爾研究所D.M.Ritchie 于1972 年推出。1978 后,C 語言已先后被移植到大、中、小及微型機上。 C 語言發(fā)展如此迅速,而且成為最受歡迎的語言之一,主

27、要因為它具有強大的功能。許多著名的 系統(tǒng)軟件,如DBASE 都是由C 語言編寫的。用C 語吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 11 -言加上一些匯編語言子程序,就更能顯示C 語言的優(yōu)勢了,像PC- DOS 、WORDSTAR 等就是用這種方法編寫的。 C 語言主要有以下特點:1.C 是中級語言。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來。 C 語言可以像匯編語言一樣對位、字節(jié)和地址進行操作, 而這三者是計算機最基本的工作單元。 2.C 是結(jié)構(gòu)式語言。結(jié)構(gòu)式語言的顯著特點是 代碼及數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻?/p>

28、晰,便于使用、維護以及調(diào)試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。 3.C 語言功能齊全。具有各種各樣的 數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。另外C 語言也具有強大的圖形功能,支持多種顯示器和驅(qū)動器。而且計算功能、 邏輯判斷功能也比較強大,可以實現(xiàn)決策目的的游戲。4.C 語言適用范圍大。適合于多種 操作系統(tǒng),如Windows、DOS、UNIX 等等;也適用于多種機型。C 語言對編寫需要硬件進行操作的場合,明顯優(yōu)于其它解釋型高級語言,有一些大型 應(yīng)用軟件也是用C 語言編寫的。C 語言具有繪圖能力強,可移植性,

29、并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件, 三維,二維圖形和動畫。它是數(shù)值計算的高級語言?;贑 語言的這些特點,我們選用C 語言來作為編程語言。6.3 組態(tài)王軟件組態(tài)王開發(fā)監(jiān)控系統(tǒng)軟件,是新型的工業(yè)自動控系統(tǒng),它以標(biāo)準(zhǔn)的工業(yè)計算機軟、硬件平臺構(gòu)成的集成系統(tǒng)取代傳統(tǒng)的封閉式系統(tǒng)。它具有適應(yīng)性強、開放性好、易于擴展、經(jīng)濟、開發(fā)周期短等優(yōu)點。通常可以把這樣的系統(tǒng)劃分為控制層、監(jiān)控層、管理層三個層次結(jié)構(gòu)。其中監(jiān)控層對下連接控制層,對上連接管理層,它不但實現(xiàn)對現(xiàn)場的實時監(jiān)測與控制,且在自動控制系統(tǒng)中完成上傳下達、組態(tài)開發(fā)的重要作用。尤其考慮三方面問題:畫面、數(shù)據(jù)、動畫。通過對監(jiān)控系統(tǒng)要求及實現(xiàn)功

30、能的分析,采用組態(tài)王對監(jiān)控系統(tǒng)進行設(shè)計。 組態(tài)也為試驗者提供了可視化監(jiān)控畫面,有利于試驗者實時現(xiàn)場監(jiān)控。而且,它能充分利用Windows 的圖形編輯功能,方便地構(gòu)成監(jiān)控畫面,并以動畫方式顯示控制設(shè)備的狀態(tài),具有報警窗口、實時趨勢曲線等,可便利的生成各種報表。它還具有豐富的 設(shè)備驅(qū)動程序和靈活的組態(tài)方式、數(shù)據(jù)鏈接功能。下面介紹組態(tài)監(jiān)控界面的建立,其步驟如下:1.雙擊組態(tài)王6.55,得到主畫面,啟動“組態(tài)王”工程管理器(ProjManager) ,選擇菜單“文件新建工程”或單擊“新建”按鈕,彈出如圖6-5所示基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 12 -2.點擊下一步,按照步驟進行建立工程和存檔

31、,直到出現(xiàn)如下界面則創(chuàng)建成功。如圖 6-6 所示圖 6-6 建立工程完成3.點擊設(shè)備串口設(shè)置,選擇數(shù)據(jù)傳輸波特率等相關(guān)參數(shù)。如圖 6-7 所示圖6-5新建工程界面吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 13 -圖 6-7 設(shè)置串口4.雙擊COM2,新建I/O 設(shè)備,按照提醒設(shè)置需要的參數(shù)。如圖6-8 所示圖6-8 設(shè)備配置向?qū)?.監(jiān)控畫面的建立,單擊畫面,出現(xiàn)新建畫面,根據(jù)操作手冊進行畫面建立。如圖 6-9 所示基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 14 -圖 6-9 新畫面吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 15 -結(jié) 論本設(shè)計運用組態(tài)王和SST89E516RD

32、 單片機,串口通信及PCF8951 設(shè)計的一個簡單、實用、測量精度高的電壓采集和組態(tài)監(jiān)控畫面系統(tǒng) 。這是一次將書本知識與實際運用有效結(jié)合的一次實習(xí)。在這次硬件課程設(shè)計過程中,我得到了 童老師和楊老師悉心的指導(dǎo),是我在短期內(nèi)學(xué)會了MODBUS 通信協(xié)議和CRC 校驗的計算方法,以及組態(tài)王上位機與下位機通信的 波特率等參數(shù)設(shè)定。我學(xué)會了如何去調(diào)試硬件電路以及怎樣利用萬用表等器件去檢測電路的通斷與線路連接是否有錯。這次設(shè)計不僅讓我在知識上有所增長,動手設(shè)計能力有所提高,還讓 我學(xué)會了團隊合作的重要性,團隊的高效率才是整個設(shè)計 學(xué)習(xí)過程的高效率。知識的應(yīng)用和經(jīng)驗的積累還是來源于自己動手操作,讓我鞏固了

33、課本知識,學(xué)會應(yīng)用到實際。一次簡單的課程設(shè)計過程包含著多種技巧,老師的經(jīng)驗傳授讓我更加容易的去面對設(shè)計中的各種困難,感謝童老師和楊老師的悉心講授。我深刻地認(rèn)識到學(xué)好專業(yè)知識的重要性,也理解了理論聯(lián)系實際的含義,并且檢驗了 這一年的學(xué)習(xí)成果。雖然在這次設(shè)計中對于知識的運用和銜接還不夠熟練。但是我將在以后的工作和學(xué)習(xí)中繼續(xù)努力、不斷完善。這三 星期的設(shè)計是對過去所學(xué)知識的系統(tǒng)提高和擴充的過程,為今后的發(fā)展打下了良好的基礎(chǔ)?;贛odbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 16 -參考文獻 1 翟玉文,梁偉, 艾學(xué)忠.電子設(shè)計與實踐. 中國電力出版社,2005.52 童詩白,華成英. 模擬電子技術(shù)基礎(chǔ). 高等

34、教育出版社出版社, 2009.33 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第五版) M. 高等教育出版社,2006.54 時景榮,李立春. C 語言程序設(shè)計. 中國鐵道出版社,2008.125 張齊,朱寧西. 單片機系統(tǒng)設(shè)計與開發(fā) . 北京:機械工業(yè)出版社, 2008.86 張毅剛. 單片機原理及應(yīng)用. 北京:高等教育出版社, 20087 申琢玉.吉林化工學(xué)院畢業(yè)設(shè)計說明書 .2009.6.12 8 黃松嶺,吳靜. 虛擬儀器設(shè)計基礎(chǔ)教程 . 北京:清華大學(xué)出版社2008.10吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 17 -附錄1 電路原理圖 串口轉(zhuǎn)換電路 A/D 轉(zhuǎn)換電路單片機最小系統(tǒng)基于Mo

35、dbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 18 -采集器原理圖吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 19 -附錄 2 程序#include #include sbit LED=P00;sbit SDA=P37;sbit SCL=P36;bit ack;#define AddWr 0 x90 /寫數(shù)據(jù)地址 #define AddRd 0 x91 /讀數(shù)據(jù)地址unsigned char rd_dat20,td_dat20,rd_cont,ad10;/*CRC 發(fā)送校驗,函數(shù)返回校驗結(jié)果,整形*/unsigned int td_crc(unsigned char td_cont)unsigned

36、 int idata b=65535,c=40961,l;unsigned char idata i,j,k; for(i=0;i8; l=l8; k=b; k=ktd_dati; b=l+k; for(j=0;j8;j+) k=b; k=k7; b=b1; if(k=1) b=bc;基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 20 - return(b);Delay(unsigned long xxxx)while(xxxx-);/*當(dāng)數(shù)據(jù)流中斷達到2MS 時,T1 中斷.這個過程有串口中斷控制 .它首先判斷數(shù)據(jù)流的長度 ,標(biāo)準(zhǔn)應(yīng)該為8 字節(jié)*/*(MODBUS 的03,06 功能號)長度.然后

37、判斷命令類型,做相應(yīng)處理.*/*T0 超時中斷*/serial_t0() interrupt 1unsigned char idata i,k;unsigned int idata j;TR0=0;ET0=0;if(rd_cont=8)&(rd_dat1=3)&(rd_dat0=1) k=rd_dat5; td_dat0=rd_dat0; td_dat1=rd_dat1; td_dat2=2*rd_dat5; for(i=0;i8; td_dati*2+4=adrd_dat3+i; j=td_crc(3+2*rd_dat5); td_dat3+2*rd_dat5=j; td_d

38、at4+2*rd_dat5=j8; for(i=0;i=9)rd_cont=0; /*最多接受8 個字符*/ TR0=0; /*每接受一個字符,重新置超時計數(shù)器*/ TH0=0 xc3;/*數(shù)據(jù)流中斷1.5 字節(jié),外加0.25 毫秒,認(rèn)為一組數(shù)據(jù)結(jié)束*/ TL0=0 x0f;基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 22 - TR0=1; ET0=1; /啟動總線void Start_I2c() SDA=1; /發(fā)送起始條件的數(shù)據(jù)信號 _nop_(); SCL=1; _nop_(); /起始條件建立時間大于4.7us,延時 _nop_(); _nop_(); _nop_(); _nop_();

39、SDA=0; /發(fā)送起始信號 _nop_(); /起始條件鎖定時間大于4 _nop_(); _nop_(); _nop_(); _nop_(); SCL=0; /鉗住I2C 總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù) _nop_(); _nop_();/結(jié)束總線void Stop_I2c() SDA=0; /發(fā)送結(jié)束條件的數(shù)據(jù)信號 _nop_(); /發(fā)送結(jié)束條件的時鐘信號 SCL=1; /結(jié)束條件建立時間大于4 _nop_(); _nop_(); _nop_(); _nop_();吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計說明書- 23 - _nop_(); SDA=1; /發(fā)送I2C 總線結(jié)束信號 _nop

40、_(); _nop_(); _nop_(); _nop_();/*- 字節(jié)數(shù)據(jù)傳送函數(shù) 函數(shù)原型: void SendByte(unsigned char c);功能: 將數(shù)據(jù)c 發(fā)送出去,可以是地址,也可以是數(shù)據(jù),發(fā)完后等待應(yīng)答,并對 此狀態(tài)位進行操作.(不應(yīng)答或非應(yīng)答都使ack=0 假) 發(fā)送數(shù)據(jù)正常,ack=1; ack=0 表示被控器無應(yīng)答或損壞。-*/void SendByte(unsigned char c) unsigned char BitCnt; for(BitCnt=0;BitCnt8;BitCnt+) /要傳送的數(shù)據(jù)長度為8 位 if(cBitCnt)&0 x80)SDA=1; /判斷發(fā)送位 else SDA=0; _nop_(); SCL=1; /置時鐘線為高,通知被控器開始接收數(shù)據(jù)位 _nop_(); _nop_(); /保證時鐘高電平周期大于4 _nop_(); _nop_(); _nop_(); SCL=0; _nop_(); _nop_(); SDA=1; /8 位發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位基于Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng)- 24 - _nop_();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論