rs-485總線現(xiàn)場監(jiān)測系統(tǒng)的設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】_第1頁
已閱讀1頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p><b>  (二零 屆)</b></p><p>  RS-485總線現(xiàn)場監(jiān)測系統(tǒng)的設(shè)計(jì)</p><p>  所在學(xué)院 </p><p>  專業(yè)班級 電子信息工程 <

2、/p><p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘 要</b></p><p&g

3、t;  現(xiàn)場總線是一種互聯(lián)現(xiàn)場自動(dòng)化設(shè)備及其控制系統(tǒng)的雙向數(shù)字通信協(xié)議。一個(gè)現(xiàn)場總線系統(tǒng)可以看作是一個(gè)由數(shù)字通信設(shè)備和監(jiān)測監(jiān)控設(shè)備組成的分布式系統(tǒng)。實(shí)際上,現(xiàn)場總線也可以認(rèn)為是一種計(jì)算機(jī)網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)上的每一個(gè)節(jié)點(diǎn)就是一個(gè)智能化的設(shè)備?,F(xiàn)場總線是由網(wǎng)絡(luò)通信、對象字典、功能模塊和設(shè)備描述、系統(tǒng)管理、網(wǎng)絡(luò)管理、系統(tǒng)管理等部分組成。</p><p>  RS-485總線具有結(jié)構(gòu)簡單、成本低廉、軟件支持豐富、安裝方便等特

4、點(diǎn)。并且大多數(shù)現(xiàn)場儀表都有RS-485總線接口,采用該總線可開發(fā)一些對實(shí)時(shí)性要求不太高的中、小型測控系統(tǒng)。 </p><p>  本文是以一個(gè)PC機(jī)作為主控機(jī),多個(gè)單片機(jī)作為從機(jī)構(gòu)成的RS485總線現(xiàn)場監(jiān)測系統(tǒng)的設(shè)計(jì)。首先,對單片機(jī)的發(fā)展情況作了簡單的介紹。其次,重點(diǎn)介紹了對此系統(tǒng)硬件和軟件的分析設(shè)計(jì),包括對重要原件和各部分的電路介紹,繪制了電路原理圖,給出了主要程序的流程圖。</p><p&

5、gt;  關(guān)鍵詞:單片機(jī),RS485總線,現(xiàn)場監(jiān)測</p><p>  Design of field Monitor System on RS-485 bus</p><p><b>  Abstract</b></p><p>  Fieldbus is an digital communication protocol of Intern

6、et-site automation and control systems two-way. A field bus system can be regarded as a distributed system consist of a digital communication equipment and monitoring and control equipment. In fact, the field bus can be

7、thought of as a computer network, each node of the network is an intelligent device. Fieldbus is a network communication consist of object dictionary, functional modules and device description, system management, network

8、 mana</p><p>  RS-485 bus has the characteristic such as simple structure, low cost, software support rich, and convenient installation. And most field instruments have RS-485 bus interface,The bus can be de

9、veloped using some of the real-time requirements which is not too high or small control system.</p><p>  This article is the design what is RS-485 bus field Monitor systembased cosist of a PC computer as the

10、 host computer and a number of Multiple MCU as slaves.First, introducing the development of SCM briefly.Secondly, this article focuses on analysis and design of hardware and software,Including descriptions of important c

11、omponents and each part of the circuit,draws the circuit diagrams, shows the flow chart of main program.</p><p>  Key words: SCM RS-485 Fieldbus</p><p><b>  目錄</b></p><

12、p><b>  摘 要III</b></p><p>  AbstractII</p><p><b>  1 緒論1</b></p><p>  1.1 RS-485總線的介紹1</p><p>  1.2 單片機(jī)的介紹2</p><p>  1.3通信方

13、式的選擇3</p><p>  1.4現(xiàn)場總線在國內(nèi)外發(fā)展現(xiàn)狀3</p><p>  2方案與總體設(shè)計(jì)6 </p><p>  2.1 RS-485現(xiàn)場總線監(jiān)測系統(tǒng)的總體設(shè)計(jì)6</p><p><b>  2.2系統(tǒng)結(jié)構(gòu)7</b></p><p>  2.3 RS-485芯片的選取7&

14、lt;/p><p>  2.4 由MAX481構(gòu)成的485總線總線網(wǎng)絡(luò)7</p><p><b>  3 硬件設(shè)計(jì)9</b></p><p>  3.1 232/485轉(zhuǎn)接卡9</p><p>  3.2 帶有485接口的單片機(jī)系統(tǒng)10</p><p><b>  4 軟件設(shè)計(jì)11

15、</b></p><p>  4.1通信過程11</p><p>  4.2通信協(xié)議的設(shè)計(jì)12</p><p>  4.3主控機(jī)接口通信軟件流程圖12</p><p>  4.4從控機(jī)接口通信軟件流程圖14</p><p><b>  結(jié)論16</b></p>

16、<p><b>  參考文獻(xiàn)17</b></p><p><b>  致謝18</b></p><p><b>  附錄19</b></p><p>  附錄 參數(shù)設(shè)置與主程序代碼19</p><p><b>  1 緒論</b><

17、/p><p>  1.1 RS-485總線的介紹</p><p>  隨著數(shù)字控制技術(shù)的發(fā)展,由單片機(jī)構(gòu)成的控制系統(tǒng)也日益復(fù)雜。在一些要求響應(yīng)速度快、實(shí)時(shí)性強(qiáng)、空置量多的應(yīng)用場合,單個(gè)單片機(jī)構(gòu)成的系統(tǒng)往往難以勝任。這時(shí),由多個(gè)單片機(jī)結(jié)合PC機(jī)組成分布式系統(tǒng)成為一個(gè)比較好的解決方案。在這樣的分布式系統(tǒng)中,可以使用RS-232接口連接PC機(jī)和單片機(jī),但由于RS-232接口標(biāo)準(zhǔn)存在傳輸速率慢、傳送距

18、離短的缺點(diǎn),很多時(shí)候無法滿足偶那個(gè)也應(yīng)用中多機(jī)系統(tǒng)的通信要求,因此實(shí)際應(yīng)用中經(jīng)常使用的是RS-485接口標(biāo)準(zhǔn)[1]。</p><p>  對于工業(yè)領(lǐng)域,現(xiàn)場總線(Fieldbus)是近年來迅速發(fā)展起來的一種工業(yè)數(shù)據(jù)總線,它主要解決工業(yè)現(xiàn)場的智能化儀器儀表、控制器、執(zhí)行機(jī)構(gòu)等現(xiàn)場設(shè)備間的數(shù)字通信以及這些現(xiàn)場控制設(shè)備和高級控制系統(tǒng)之間的信息傳遞問題。由于現(xiàn)場總線簡單、可靠、經(jīng)濟(jì)實(shí)用等一系列突出的優(yōu)點(diǎn),因而受到了許多標(biāo)

19、準(zhǔn)團(tuán)體和計(jì)算機(jī)廠商的高度重視。</p><p>  RS-485總線在工業(yè)應(yīng)用中具有十分重要的地位。RS-485協(xié)議是RS-232協(xié)議的替代標(biāo)準(zhǔn),與傳統(tǒng)的RS-232協(xié)議相比,其在通信速率、傳輸距離、多機(jī)連接等方面均有了非常大的提高,這也是工業(yè)系統(tǒng)中使用RS-485總線的主要原因。由于RS-485總線是RS-232總線的改良和提高,這也是工業(yè)系統(tǒng)中使用RS-485接口芯片來提供接收器、發(fā)送器選通的功能的原因,為R

20、S-232總線系統(tǒng)設(shè)計(jì)的軟件部分完全可以不加修改直接應(yīng)用到RS-485網(wǎng)絡(luò)中[2]。RS-485總線工業(yè)應(yīng)用成熟,而且大量的已有工業(yè)設(shè)備均提供RS-485接口。</p><p>  RS-485是一種多發(fā)送器的電路標(biāo)準(zhǔn),它擴(kuò)展了RS-422A的性能。在同一個(gè)RS-485網(wǎng)絡(luò)中,可以有多達(dá)32個(gè)模塊,這些模塊可以是被動(dòng)發(fā)送器、接收器、或收發(fā)器。RS-485電路允許公用電話線通信。電路結(jié)構(gòu)是在平衡電纜兩端有終端電阻,

21、在平衡電纜上掛發(fā)送器、接收器或收發(fā)器。</p><p><b>  1.2單片機(jī)的介紹</b></p><p>  單片機(jī)是全程單片機(jī)微型計(jì)算機(jī),顧名思義,它是一種單硅片上集成微型計(jì)算機(jī)主要功能部件的集成芯片。單片機(jī)的出現(xiàn)要?dú)w功于大規(guī)模集成電路技術(shù)的發(fā)展,就組成和功能而言,它正如一個(gè)微型計(jì)算機(jī)系統(tǒng),內(nèi)部集成了中央處理器(CPU)、隨機(jī)數(shù)據(jù)儲(chǔ)存器(RAM)、只讀程序存儲(chǔ)

22、器(ROM)、定時(shí)器/計(jì)數(shù)器、輸入/輸出(I/O)接口電路和串行通信接口等主要功能部件。</p><p>  1970年,微型計(jì)算機(jī)研究成功以后,單片機(jī)就隨之出現(xiàn)了。Intel公司于1971年推出了4位單片機(jī)4004,并于1972年推出了雛形8位單片機(jī)8008.1976年,Intel公司首先推出了能稱為單片機(jī)的MCS-48系列單片機(jī)微型計(jì)算機(jī),它以體積小、功能全、價(jià)格低等特點(diǎn),獲得了廣泛的應(yīng)用,為單片機(jī)的發(fā)展奠定

23、了基礎(chǔ),成為單片機(jī)發(fā)展進(jìn)程中的一個(gè)重要階段。</p><p>  單片機(jī)發(fā)展歷史可分為四個(gè)階段[3]:</p><p>  第一階段(1974年——976年):單片機(jī)初級階段。單片機(jī)因工藝限制只能采用雙片的形式,而且功能比較簡單。例如,仙童公司生產(chǎn)的F8單片機(jī),實(shí)際上只包括了8位CPU、2個(gè)并行口和64B RAM,還需要加1塊3851(由2個(gè)并行I/O和1KB ROM、定時(shí)器/計(jì)數(shù)器構(gòu)成)

24、才能組成1臺(tái)全功能計(jì)算機(jī)。</p><p>  第二階段(1976年——1978年),低性能單片機(jī)階段。以Intel公司制造的MCS-48單片機(jī)為代表,這種單片機(jī)內(nèi)集成有8位CPU、8位定時(shí)器/計(jì)數(shù)器、并行I/O口、ROM和RAM等,但是中斷處理比較簡單,無串行口,片內(nèi)RAM和ROM尋址范圍不大于4KB且容量比較小。</p><p>  第三階段(1978年——現(xiàn)在):高性能單片機(jī)階段。此

25、階段開發(fā)的單片機(jī)普遍帶有16位定時(shí)器/計(jì)數(shù)器,串行I/O口,片內(nèi)ROM、RAM容量加大,多級中斷系統(tǒng),尋址范圍可達(dá)64KB,有的片內(nèi)還帶有A/D轉(zhuǎn)換器。這類單片機(jī)的典型代表是:Zilog公司的Z8、I ntel公司的MCS-51系列和Motorola公司的801等。這類單片機(jī)仍被廣泛應(yīng)用,以其性能價(jià)格比高的特點(diǎn)是目前應(yīng)用數(shù)量較多的單片機(jī)。</p><p>  第四階段(1982——現(xiàn)在);32位單片機(jī)、8位單片機(jī)

26、鞏固發(fā)展及6位單片機(jī)推出階段。此階段的主要特征是一方面不斷完善高檔8位單片機(jī),改善其結(jié)構(gòu),以滿足不同的用戶需要;另一方面發(fā)展16位單片機(jī)、32位單片機(jī)及專用型單片機(jī)。16位單片機(jī)的典型產(chǎn)品如Intel公司生產(chǎn)的MCS-96系列單片機(jī),其主振位12M HZ,片內(nèi)RAM為232B,ROM為8KB,集成度已達(dá)120 000管子/片,處理為8級,而且中斷處理為8級,高速輸入/輸出部件(HIS/HSO)和片內(nèi)帶有多通道10位 A/D轉(zhuǎn)換器,實(shí)時(shí)處

27、理的能力很強(qiáng)。而32位單片機(jī)除了具有更高的集成度外,其主振已達(dá)20MHZ,這使32位單片機(jī)的數(shù)據(jù)處理速度比16位單片機(jī)提高許多,性能比8位、16位單片機(jī)更加優(yōu)越。</p><p>  1.3通信方式的選擇</p><p>  單片機(jī)因其優(yōu)越的性價(jià)比和靈活的功能配置而被廣泛應(yīng)用于控制領(lǐng)域。而PC則因其豐富的軟硬件資源被廣泛應(yīng)用于網(wǎng)絡(luò)監(jiān)控系統(tǒng)。我們通常以一臺(tái)PC機(jī)與多臺(tái)單片機(jī)組成網(wǎng)絡(luò)監(jiān)控系統(tǒng)。

28、</p><p>  單片機(jī)與微機(jī)機(jī)之間以RS-232通信最為普遍,微機(jī)對外的兩個(gè)串口COM1,COM2都是專門為RS-232通信而設(shè)置的。RS-232的通信方式比較方便,但它也有一些缺點(diǎn)。例如RS-232只能實(shí)現(xiàn)短距離通信,通常只有十余米,要實(shí)現(xiàn)長距離通信還得依賴于調(diào)制解調(diào)器[4]。而RS-232對地面而言是共模傳輸方式,而各種電器干擾大多也是對地共模方式,盡管RS-232將信號(hào)傳輸電平提高到-12 V~+12

29、 V,但抗干擾能力仍不理想。</p><p>  RS-485通信方式比RS-232相比有很多優(yōu)點(diǎn),首先它的通信距離比RS-232要遠(yuǎn)的多,通??梢宰龅綌?shù)百米甚至千米以上,而且還可以實(shí)現(xiàn)多點(diǎn)通信方式,從而可以建立一個(gè)小范圍內(nèi)的局域網(wǎng),因而更有實(shí)用價(jià)值[4]。RS-485采用差模信號(hào)傳輸方式,與地電平關(guān)系不大,因而它抗干擾能力比RS-232強(qiáng)的很多。即便在信號(hào)電壓比較小的情況下也能獲得穩(wěn)定的傳輸。</p>

30、;<p>  在數(shù)據(jù)采集和工業(yè)控制中多以單片機(jī)為基礎(chǔ),在我國多用MCS-51系列單片機(jī)。由于計(jì)算機(jī)上的RS-232協(xié)議所傳輸?shù)木嚯x不能超過30m,所以如果要在遠(yuǎn)距離數(shù)據(jù)傳輸和控制的話,就要將RS-232轉(zhuǎn)換為RS-485協(xié)議進(jìn)行遠(yuǎn)距離傳輸,這個(gè)轉(zhuǎn)換多是通過使用RS-232/485轉(zhuǎn)換器來實(shí)現(xiàn)的。在單片機(jī)端通過相應(yīng)的RS-485轉(zhuǎn)換芯片將485信號(hào)轉(zhuǎn)換成單片機(jī)需要的串口信號(hào),本次設(shè)計(jì)我采用 MAX41芯片。RS-485協(xié)議對

31、數(shù)據(jù)傳送來說是透明的,所以計(jì)算機(jī)和單片機(jī)的通信程序方面和不用RS-485協(xié)議時(shí)幾乎是一樣的。PC機(jī)與單片機(jī)一般采用應(yīng)答方式通信,當(dāng)PC機(jī)控制多個(gè)單片機(jī)終端時(shí),PC機(jī)發(fā)送一個(gè)地址幀選中一個(gè)終端,再對選中的終端進(jìn)行一對一的通信,實(shí)現(xiàn)這種通信方式需要對發(fā)送幀的格式和單片機(jī)端的相應(yīng)寄存器進(jìn)行相關(guān)設(shè)置</p><p>  1.4 現(xiàn)場總線技術(shù)在國內(nèi)外發(fā)展現(xiàn)狀</p><p>  目前,美國和歐洲等發(fā)

32、達(dá)國家和地區(qū)的現(xiàn)場總線發(fā)展十分迅速 ,并產(chǎn)生了較多的應(yīng)用范例。正處于現(xiàn)場總線技術(shù)開發(fā)的初級階段的中國,要面對國外各路總線進(jìn)軍中國的挑戰(zhàn),尤其是中國加入WTO以后 。因此,有許多需要深入分析思考的問題,諸如如何迎接挑戰(zhàn),以及最大限度地跟上國際技術(shù)發(fā)展的步伐 。在亞洲遠(yuǎn)東地區(qū)的許多大學(xué)和科研機(jī)構(gòu) ,正利用他們自身的科學(xué)條件幫助用戶們認(rèn)識(shí)與理解現(xiàn)場總線技術(shù)。首先 ,從市場發(fā)展角度分析 ,全球工業(yè)自動(dòng)化市場需求會(huì)快速增長 ,預(yù)計(jì)2001 年的市

33、場銷售額將增加到 559 億美元 ,到 2006 年將達(dá)到 700 億美元 ,年增長率將達(dá)到4. 6 % 。這說明工業(yè)自動(dòng)化市場發(fā)展空間廣闊。另據(jù) 1999 年3月12日VDC (Courtesy ofVenture Development) 公司對 2003 年工業(yè)分散和遠(yuǎn)程 I/ O 產(chǎn)品的世界市場和用戶需求發(fā)展的分析預(yù)測 ,未來將有越來越多的市場份額集中在越來越少的總線和網(wǎng)絡(luò)產(chǎn)品上。Profibus 和AS -Ⅰ占25 % , E

34、thernet占22 % ,AB Remote I/ O 和DeviceNet 、ControlN</p><p>  80年代后期,從網(wǎng)絡(luò)通信技術(shù)中誕生了現(xiàn)場總線技術(shù),經(jīng)過十幾年的開發(fā)和研究,國際上出現(xiàn)了以下幾個(gè)有時(shí)代代表性的現(xiàn)場總線標(biāo)準(zhǔn)和產(chǎn)品,較流行的有[11]: </p><p> ?。?)基金會(huì)現(xiàn)場總線(foundation fieldbus) </p><p

35、>  多種企業(yè)集團(tuán)或組織在現(xiàn)場總線標(biāo)準(zhǔn)的研究制訂過程中,通過不斷的競爭,到1994年,在國際上基本上分化為兩大陣營,一個(gè)是以Honeywell公司領(lǐng)導(dǎo),聯(lián)合歐洲150多家公司制訂的World FIP協(xié)議;另一個(gè)是以Fisher-Rosemount公司為首,聯(lián)合Foxboro、橫河、ABB、西門子等80家公司制訂的ISP協(xié)議;。并于1994年合并,成立了致力于開發(fā)國際上統(tǒng)一的現(xiàn)場總線協(xié)議的現(xiàn)場總線基金會(huì)(Fieldbus Found

36、ation,FF)。FF的體系結(jié)構(gòu)參照ISO/OSI模型的第1層、第2層以及第7層協(xié)議,即應(yīng)用層、物理層和數(shù)據(jù)鏈路層,另外增設(shè)了用戶層。FF提供H1和H2兩種物理標(biāo)準(zhǔn)。H1傳輸距離有200m、400m、1200m和1900m四種,傳輸速率為31.25kbps,為用于過程控制的低速總線。H2通信距離分別為750m和500m,傳輸速率可為1Mbps和2.5Mbps兩種。協(xié)議符合IEC1158-2標(biāo)準(zhǔn),物理傳輸介質(zhì)可支持光纖、同軸電纜和雙絞線

37、。</p><p> ?。?)Profibus現(xiàn)場總線</p><p>  它的現(xiàn)場總線標(biāo)準(zhǔn)是作為歐洲國家標(biāo)準(zhǔn)。該項(xiàng)技術(shù)是由西門子公司為主的十幾家德國公司、研究所共同推出的。它采用數(shù)據(jù)鏈路層、OSI模型的物理層。分散化的外圍設(shè)備(DP)型為增加了直接數(shù)據(jù)連接擬合作為用戶接口,隱去了第3層至第7層;而現(xiàn)場總線信息規(guī)范(FMS)型則采用了應(yīng)用層,只隱去第三至第六層。過程自動(dòng)化(PA)型的標(biāo)準(zhǔn)目

38、前還處于制定過程之中。其傳輸距離為100m和400m,最大傳輸速率為12Mbps,傳輸介質(zhì)可以是光纜,也可以是雙絞線,最多可掛接127個(gè)站點(diǎn)。 </p><p> ?。?)LonWork(Local Operating Network局部操作網(wǎng))</p><p>  美國Echelon公司于1990年正式推出的現(xiàn)場總線。它采用了面向?qū)ο蟮脑O(shè)計(jì)方法,采用ISO/OSI模型的全部7層協(xié)議,通過

39、網(wǎng)絡(luò)變量把網(wǎng)絡(luò)通信設(shè)計(jì)簡化為參數(shù)設(shè)置,其傳輸距離為2700m,最大傳輸速率為1.5Mbps,傳輸介質(zhì)可以是射頻、雙絞線、紅外線、電力線和光纜等。采用被封裝在Neuron芯片中的LonTalk協(xié)議,內(nèi)含三個(gè)8位微處理器,一個(gè)負(fù)責(zé)網(wǎng)絡(luò)處理,一個(gè)負(fù)責(zé)應(yīng)用處理,一個(gè)負(fù)責(zé)介質(zhì)訪問控制。</p><p> ?。?)控制局域網(wǎng)(Control Area Network,CAN)</p><p>  德國

40、BOSCH公司最早推出控制網(wǎng)絡(luò),用于汽車執(zhí)行部件與內(nèi)部測量之間的數(shù)據(jù)通信,CAN結(jié)構(gòu)模型取ISO/OSI模型的第1、2、7層協(xié)議,即應(yīng)用層、數(shù)據(jù)鏈路層和物理層。通信距離最遠(yuǎn)可達(dá)10000m,通信速率最高可達(dá)1Mbps。物理傳輸介質(zhì)可支持雙絞線,最多可掛接110個(gè)設(shè)備。SDS智能分布式系統(tǒng)是我國華控技術(shù)公司基于CAN協(xié)議開發(fā)的;和利時(shí)公司開發(fā)的HS2000系統(tǒng)的內(nèi)部網(wǎng)絡(luò)就是應(yīng)用CAN。</p><p>  可尋址遠(yuǎn)

41、程傳感器數(shù)據(jù)公路(Highway Addressable Remote Transducer,HART)協(xié)議,它是由美國Rosemount公司最早推出的一種調(diào)制數(shù)字信號(hào)的現(xiàn)場總線和兼容4~20 mA 模擬信號(hào)的協(xié)議。成為模擬系統(tǒng)向數(shù)字系統(tǒng)轉(zhuǎn)變過程中的過渡產(chǎn)品,其數(shù)字通信由于采用調(diào)制/解調(diào)方式,因而在當(dāng)前的過渡時(shí)期具有較強(qiáng)的競爭力,得到了較快的發(fā)展[14]。</p><p>  2設(shè)備方案設(shè)計(jì)與總體設(shè)計(jì)</p

42、><p>  2.1 RS-485現(xiàn)場總線監(jiān)測系統(tǒng)的總體設(shè)計(jì)</p><p>  圖2-1單片機(jī)485總線現(xiàn)場監(jiān)測系統(tǒng)功能示意圖</p><p>  本次設(shè)計(jì)是以一個(gè)PC機(jī)作為主控機(jī),多個(gè)單片機(jī)作為從機(jī)構(gòu)成的485總線現(xiàn)場監(jiān)測系統(tǒng)。單片機(jī)組成的各個(gè)節(jié)點(diǎn)負(fù)責(zé)采集終端設(shè)備的狀態(tài)信息,主控機(jī)以輪詢的方式向各個(gè)節(jié)點(diǎn)或者這些設(shè)備信息,并更具信息內(nèi)容進(jìn)行相關(guān)的操作。</p&g

43、t;<p>  系統(tǒng)的通信總線以使用RS-485標(biāo)準(zhǔn),可以獲得較遠(yuǎn)的通信距離和較好的抗干擾性。</p><p>  如圖2-1所示,整個(gè)系統(tǒng)分為3個(gè)部分。</p><p><b>  1.主控制部分</b></p><p>  該部分由PC機(jī)和232/485轉(zhuǎn)接設(shè)備構(gòu)成,它負(fù)責(zé)輪詢各個(gè)節(jié)點(diǎn)以獲取信息。由于PC機(jī)不具備485接口,所

44、以必須通過232/485轉(zhuǎn)接卡。</p><p><b>  2.數(shù)據(jù)采集部分</b></p><p>  該部分是一個(gè)具有485接口的單片機(jī)系統(tǒng),它響應(yīng)主控機(jī)發(fā)送來的查詢命令將被監(jiān)測的設(shè)備的狀態(tài)信息回送給主控機(jī),位于各個(gè)終端設(shè)備處。它的單片機(jī)的I/O口與被監(jiān)測的終端設(shè)備相連,以獲取所需狀態(tài)信息。</p><p><b>  3.終端

45、設(shè)備</b></p><p>  該部分是被檢測的設(shè)備,一般為帶有傳感器的各種具體機(jī)器設(shè)備。</p><p><b>  2.2系統(tǒng)結(jié)構(gòu)</b></p><p>  整個(gè)系統(tǒng)是一個(gè)基于RS-485現(xiàn)場總線監(jiān)測系統(tǒng)。本系統(tǒng)包括監(jiān)控層、通信層和現(xiàn)場設(shè)備層[5]。通信協(xié)議自定義,在總線上連接各個(gè)下位機(jī)和上位機(jī),由上位機(jī)統(tǒng)一管理的主從式總線

46、型的監(jiān)控系統(tǒng)。</p><p>  通信層通過自制定的通信協(xié)議與現(xiàn)場下位機(jī)設(shè)備進(jìn)行實(shí)時(shí)通信,完成數(shù)據(jù)通信包的打包、拆包、檢驗(yàn)等處理。</p><p>  監(jiān)控層由上位機(jī)—PC承擔(dān),負(fù)責(zé)接收底層現(xiàn)場設(shè)備上傳的數(shù)據(jù),進(jìn)行下位機(jī)參數(shù)的設(shè)定和修改與數(shù)據(jù)的分析和存儲(chǔ),以及實(shí)時(shí)和歷史數(shù)據(jù)的查詢,實(shí)現(xiàn)對現(xiàn)場設(shè)備的監(jiān)控管理。</p><p>  現(xiàn)場設(shè)備層可以由單片機(jī)、繼電器、鍵盤

47、顯示器和各種傳感器等組成的監(jiān)控系統(tǒng)。</p><p>  2.3 RS-485驅(qū)動(dòng)芯片的選取</p><p>  本設(shè)計(jì)最重要的器件就是RS-485的驅(qū)動(dòng)芯片了,它決定了整個(gè)485總線網(wǎng)絡(luò)的建立,至于單片機(jī)芯片的選取,它和數(shù)據(jù)采集功能的實(shí)現(xiàn)有關(guān),選用AT89C52芯片基本可以滿足要求[5]。</p><p>  Maxim公司的MAX481芯片是一款用于RS-485

48、通信的低功率半雙工收發(fā)器件,芯片內(nèi)部集成了一個(gè)驅(qū)動(dòng)器和一個(gè)接收器,符合RS-422A和RS-485通信標(biāo)準(zhǔn)。MAX481的性能和特點(diǎn)滿足需要,而且易于獲取,價(jià)格便宜,所以選用它來作為485驅(qū)動(dòng)的芯片。</p><p>  MAX481具有以下特點(diǎn)。</p><p>  ?共模輸出電壓范圍為-7~+12V。</p><p>  ?+5V單電源工作;</p>

49、<p><b>  ?半雙工;</b></p><p>  ?通信傳輸線上最多可以同時(shí)掛載32個(gè)收發(fā)器;</p><p>  ?功耗低,工作電流為120-500μA,靜態(tài)電流為300μA;</p><p>  ?具有接受/驅(qū)動(dòng)使能端;</p><p>  ?驅(qū)動(dòng)器具有過載保護(hù)功能;</p>&

50、lt;p>  ?具有低電流關(guān)機(jī)模式,(驅(qū)動(dòng)器和接收器處于禁止?fàn)顟B(tài))在此模式下,芯片僅僅消耗0.1μA;</p><p>  ?輸出速率可達(dá)2.2Mbps;</p><p>  2.4由MAX481構(gòu)成的485總線總線網(wǎng)絡(luò)</p><p>  以PC機(jī)作為上位主控機(jī),通過232/485轉(zhuǎn)接卡接入485總線,它使用查詢方式與各個(gè)從機(jī)之間通信,以帶有485接口系列的

51、單片機(jī)系統(tǒng)作為從機(jī),響應(yīng)煮雞蛋查詢命令,將采集到的數(shù)據(jù)回傳給主機(jī),從機(jī)之間的數(shù)據(jù)交換只能通過主機(jī)進(jìn)行轉(zhuǎn)發(fā)[]。利用MAX481芯片可以構(gòu)成這樣的一個(gè)半雙工通信網(wǎng)絡(luò),如圖2-2。</p><p>  圖2-2 MAX481實(shí)現(xiàn)的半雙工485總線通信網(wǎng)絡(luò)</p><p>  由于是半雙工通信,所以主機(jī)發(fā)送和接受需要分開獨(dú)立的進(jìn)行,從機(jī)也是如此。A腳既是接收器的非反向輸入端也是驅(qū)動(dòng)器的非反向輸出

52、端;B腳既是接收器的反向輸入端也是驅(qū)動(dòng)器的反向輸出端。DE和/RE的電平共同控制發(fā)送和接收的切換,這在后面的硬件、軟件設(shè)計(jì)中均有體現(xiàn)。485總線網(wǎng)絡(luò)間連接的傳輸線是雙絞線[9]。</p><p>  因?yàn)樵赗S-485總線網(wǎng)絡(luò)通信過程中,反射的信號(hào)會(huì)使接收器產(chǎn)生錯(cuò)誤信號(hào),從而影響數(shù)據(jù)傳輸,降低通信的可靠性。因此,一般情況下,在RS-485總線網(wǎng)絡(luò)中要進(jìn)行終端匹配,消除傳輸線阻抗不連續(xù)和不匹配的情況,減弱反射信號(hào)對

53、通信線路的影響[10]。具體的方法是:在雙絞線的末端跨接一個(gè)電纜的特征阻抗大小相同的電阻,一般阻值取120Ω,使電纜的阻抗連續(xù)。由于信號(hào)在雙絞線上的傳輸是雙向的,所以在通信電纜的另一端也要接一個(gè)同樣大小的匹配電阻。</p><p><b>  3.硬件的設(shè)計(jì)</b></p><p>  3.1 232/485轉(zhuǎn)接卡</p><p>  由于主控

54、機(jī)是PC機(jī),它只有標(biāo)準(zhǔn)的RS-232接口,因此需要一個(gè)232/485轉(zhuǎn)接設(shè)備才能介入485總線網(wǎng)絡(luò),從而和網(wǎng)絡(luò)上的從設(shè)備通信。</p><p>  圖3-1中給出了232/485轉(zhuǎn)接卡的設(shè)計(jì)原理圖。</p><p>  圖3-1 232/485轉(zhuǎn)接卡的設(shè)計(jì)原理圖</p><p>  U1是485驅(qū)動(dòng)收發(fā)芯片MAX481,它是實(shí)現(xiàn)232/485轉(zhuǎn)接的關(guān)鍵,它的DE和/

55、RE引腳直接連接,因?yàn)樗前腚p工芯片,不是驅(qū)動(dòng)有效就是接受有效,二者不能同時(shí)有效。</p><p>  U7是DC-DC功能模塊,它的作用是將電源隔離,降低直流電源的干擾。</p><p>  PC147是Sharp公司的光電隔離器件,針對要使用的串行口信號(hào)使用了3塊PC147。</p><p>  串行口的輸入和輸出均為TTL電平。這種以TTL電平串行傳輸數(shù)據(jù)的方

56、式,抗干擾性能差,傳輸距離短。圖中,MC1488和MC1489是摩托羅拉公司的芯片,他們的作用就是TTL電平和RS-232通信電平的轉(zhuǎn)化,MC1489是接收器,MC1488是驅(qū)動(dòng)器。</p><p>  3.2帶有485接口的單片機(jī)系統(tǒng)</p><p>  單片機(jī)本設(shè)計(jì)選用AT89C52,單片系統(tǒng)的功能主要包括兩部分;485總線的接口和與數(shù)據(jù)采集。</p><p>

57、  圖3-2單片機(jī)系統(tǒng)的485接口原理圖</p><p>  圖3-3單片機(jī)系統(tǒng)的485接口原理圖</p><p>  此單片機(jī)工作在11.0592MHZ始終下。</p><p>  圖3-3中,單片機(jī)的控制引腳P1.6和P1.7分別連接MAX481的DE和/RE引腳,以控制驅(qū)動(dòng)器和接收器使能。串口引腳RXD和TXD分別連接MAX481的RO和DI引腳,以進(jìn)行串行數(shù)

58、據(jù)交換。</p><p>  MAX481的A和B引腳為485總線網(wǎng)絡(luò)的差分信號(hào)輸入/輸出端,二者之間串接一個(gè)120Ω的電阻。</p><p>  S1為一個(gè)DIP-6開關(guān),和單片機(jī)AT89C52的P1.0~P1.5引腳相連,用于設(shè)置本機(jī)的設(shè)備號(hào)。</p><p><b>  4.軟件的設(shè)計(jì)</b></p><p>&l

59、t;b>  4.1通信過程</b></p><p>  一次完整的通信過程分為三個(gè)步驟:</p><p>  一,主機(jī)詢問階段:主機(jī)以幀的形式將從機(jī)地址碼、命令、數(shù)據(jù)和校驗(yàn)碼傳送到指定從機(jī)。</p><p>  二,從機(jī)應(yīng)答階段:從機(jī)解釋接受的命令碼,并組織相應(yīng)幀信息回送到主機(jī)。</p><p>  三,鏈路釋放階段:從機(jī)清

60、除接受緩沖區(qū)及相關(guān)變量,準(zhǔn)備與主機(jī)下次通信。</p><p>  任務(wù)一次完整的通信過程都是由主機(jī)方發(fā)起的,從機(jī)在被主機(jī)訓(xùn)之前只能處于偵聽的轉(zhuǎn)臺(tái),從機(jī)到接收到地址碼的第二個(gè)字節(jié)后,立即判斷是否是否之自己,如果是,繼續(xù)接受下面的數(shù)據(jù),若不是,則不予理睬。</p><p>  4.2通信協(xié)議的設(shè)計(jì)</p><p>  數(shù)據(jù)幀的內(nèi)容包括起始字節(jié)、地址字節(jié)、數(shù)據(jù)字節(jié)、類型字

61、節(jié)和校驗(yàn)和字節(jié)。起始字節(jié)定義為“$”,其數(shù)值為0x24;結(jié)束字節(jié)為“*”字符,其數(shù)值為0x2A。</p><p>  地址字節(jié)存放從機(jī)相對應(yīng)的設(shè)備號(hào),此設(shè)備號(hào)在一開始由撥動(dòng)開關(guān)組來設(shè)置。</p><p>  本系統(tǒng)的數(shù)據(jù)幀主要有4種,由類型字節(jié)決定,</p><p>  Ⅰ 指令“ACTIVE”:詢問主機(jī)從機(jī)是否在位。類型字節(jié)為:0x11</p>&l

62、t;p> ?、?指令“GETDATA”:主機(jī)發(fā)送讀設(shè)備請求。 類型字節(jié)為:0x22</p><p> ?、?指令“READY”:從機(jī)答應(yīng)在位。 類型字節(jié)為:0x33</p><p>  Ⅳ 指令“SENDDATA”:從機(jī)發(fā)送設(shè)備狀態(tài)信息。類型字節(jié)為:0x44</p><p>  本系統(tǒng)采用簡單的校驗(yàn)和的方法來進(jìn)行幀的校驗(yàn):先將所有的字節(jié)相加,然

63、后將結(jié)果短到所需的位長。發(fā)端將待發(fā)送的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,將校驗(yàn)和值放在數(shù)據(jù)后一起發(fā)送,在接受端對接收到的數(shù)據(jù)進(jìn)行校驗(yàn)和計(jì)算,然后和收到的校驗(yàn)和字節(jié)比較,來進(jìn)行誤碼判斷[13]。</p><p>  整個(gè)系統(tǒng)軟件分為PC機(jī)端和單片機(jī)端兩部分。主控機(jī)端軟件包括接口部分的軟件、數(shù)據(jù)處理、用戶界面、后臺(tái)數(shù)據(jù)庫等。單片機(jī)端軟件包括485通信程序和數(shù)據(jù)采集,這兩部分完全獨(dú)立,數(shù)據(jù)采集部分被設(shè)計(jì)成一個(gè)函數(shù),并在主程序中調(diào)用。

64、</p><p>  4.3主控機(jī)端通信接口部分軟件流程圖</p><p>  主控機(jī)端通信接口軟件的流程如圖4-1:</p><p>  圖4-1 主控機(jī)端通信接口軟件的流程</p><p>  4.4從控機(jī)端通信接口部分軟件流程圖</p><p>  對于從機(jī)而言,它的工作與主機(jī)密切相關(guān),它是完全被動(dòng)的,根據(jù)主機(jī)的

65、指令執(zhí)行相關(guān)的操作。[12]從機(jī)何時(shí)去收集狀態(tài)信息也取決于主機(jī),當(dāng)從機(jī)收到主機(jī)發(fā)送讀設(shè)備狀態(tài)信息指令“GETDATA”時(shí),才開始收集信息并發(fā)送“SENDDATA”上報(bào)。這里存在一個(gè)問題,如果節(jié)點(diǎn)處設(shè)備狀態(tài)發(fā)生變化,它并不會(huì)主動(dòng)通知從機(jī),主機(jī)也無法及時(shí)獲知并做出處理,考慮到這點(diǎn),要根據(jù)具體的應(yīng)用設(shè)置主機(jī)輪詢的定時(shí)時(shí)間[12]。</p><p>  單片機(jī)系統(tǒng)的通信軟件流程如下圖所示</p><p

66、>  圖4-2從控機(jī)端通信接口軟件的流程</p><p><b>  結(jié)論</b></p><p>  本文是以AT89C52單片機(jī)的485總線現(xiàn)場監(jiān)測系統(tǒng)在硬件和軟件的設(shè)計(jì),并分別就系統(tǒng)的結(jié)構(gòu)、網(wǎng)絡(luò)設(shè)計(jì)。通信協(xié)議等方面進(jìn)行了研究,在單片機(jī)應(yīng)用日益廣發(fā)的今天,開發(fā)相對簡單、性性價(jià)比較高的多單片機(jī)系統(tǒng)一定會(huì)在發(fā)展其迅速的微計(jì)算機(jī)應(yīng)用領(lǐng)域占有其一席之地。當(dāng)需要處理較

67、復(fù)雜數(shù)據(jù)或需要對多個(gè)采集數(shù)據(jù)進(jìn)行綜合處理時(shí),單片機(jī)的算術(shù)運(yùn)算和邏輯運(yùn)算能力顯得不組,這是就要借助計(jì)算機(jī)系統(tǒng)。將單片機(jī)采集的數(shù)據(jù)通過串行口傳給PC機(jī),由PC機(jī)高級語言或數(shù)據(jù)庫語言進(jìn)行處理,或者實(shí)現(xiàn)PC機(jī)對遠(yuǎn)程單片機(jī)進(jìn)行控制。因此實(shí)現(xiàn)多個(gè)單片機(jī)與PC機(jī)之間的遠(yuǎn)程通信具有實(shí)際意義。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] Zielinsk

68、i M.現(xiàn)場總線:一個(gè)技術(shù)姣姣者[J].世界儀表與自動(dòng)化,1998,7(2):34~38 </p><p>  [2] 劉向杰,彭一民等.現(xiàn)場總線控制系統(tǒng)的現(xiàn)狀與發(fā)展[M]. 1999 Vol.23 No.3 </p><p>  [3] 張毅剛. 單片機(jī)原理及應(yīng)用[M].北京:高等教育出版社.2003</p><p>  [4] 俞金壽,何衍慶.集散控制

69、系統(tǒng)原理與應(yīng)用[M].北京:化學(xué)工業(yè)出版社,1995 </p><p>  [5] 戴佳,戴衛(wèi)恒.51單片機(jī)C語言應(yīng)用程序設(shè)計(jì)實(shí)例精講[M]. 電子工業(yè)出版社 2006</p><p>  [6] 飛思科技產(chǎn)品研發(fā)中心. Java Web 服務(wù)應(yīng)用開發(fā)詳解[M] . 北京:電子工業(yè)出版社,200211892 190.</p><p>  [7] 李現(xiàn)勇. Visua

70、l C + + 串口通信技術(shù)與工程實(shí)踐[M] .人民郵電出版社.</p><p>  [8] 李朝青。PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)[M].北京航空航天大學(xué)出版社,2000</p><p>  [9] 李 華.MCS-51系列單片機(jī)實(shí)用接口技術(shù)[M].北京航空航天大學(xué)出版社,1993.</p><p>  [10] 李現(xiàn)勇.Visual C++項(xiàng)目開發(fā)實(shí)踐[M].中國鐵

71、道出版社,2003.</p><p>  [11] 陳斌.基于RS-485的單片機(jī)多機(jī)通信技術(shù)[J].嵌入式系統(tǒng),2005.7</p><p>  [12] 唐明.現(xiàn)場總線網(wǎng)的研究與設(shè)計(jì)[J] 工礦自動(dòng)化,2004.1. </p><p>  [13] 彭宏偉 邊志遠(yuǎn)等.基于RS-485總線的PC機(jī)與單片機(jī)串行通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J] 大地測量與地球動(dòng)力

72、學(xué).2009。8 </p><p>  [14] 魯剛.電氣工業(yè)控制領(lǐng)域中現(xiàn)場總線控制的現(xiàn)狀與展望[J].安防科技。2006 </p><p><b>  附錄</b></p><p><b>  參數(shù)設(shè)置和程序代碼</b></p><p><

73、b>  參數(shù)定義</b></p><p>  #define ACTIVE 0x11</p><p>  #define GETDATA 0x22</p><p>  #define READY 0x33</p><p>  #define SENDDATA0x44</p><p>

74、  #define RECFRMMAXLEN 16 // 接收幀的最大長度,超過此值認(rèn)為幀超長錯(cuò)誤</p><p>  #define STATUSMAXLEN 10// 設(shè)備狀態(tài)信息最大長度 </p><p>  uchar DevNo;// 設(shè)備號(hào)</p><p>  xdata uchar StatusBuf[STATUSMAXLEN]

75、;</p><p>  sbit DE = P1^6;//驅(qū)動(dòng)器使能,1有效</p><p>  sbit RE = P1^7;//接收器使能,0有效</p><p>  //為簡化起見,假設(shè)了10位固定的采集數(shù)據(jù)</p><p>  #define DATA0 0x10</p><p>  #defi

76、ne DATA1 0x20</p><p>  #define DATA2 0x30</p><p>  #define DATA3 0x40</p><p>  #define DATA4 0x50</p><p>  #define DATA5 0x60</p><p>  #define DA

77、TA6 0x70</p><p>  #define DATA7 0x80</p><p>  #define DATA8 0x90</p><p>  #define DATA9 0xA0</p><p>  void init();// 系統(tǒng)初始化</p><p>  void Get_S

78、tat();// 簡化的數(shù)據(jù)采集函數(shù)</p><p>  bit Recv_Data(uchar *type);// 接收數(shù)據(jù)幀函數(shù)</p><p>  void Send(uchar m);// 發(fā)送單字節(jié)數(shù)據(jù)</p><p>  void Send_Data(uchar type,uchar len,uchar *buf);// 發(fā)

79、送數(shù)據(jù)幀函數(shù)</p><p>  void Clr_StatusBuf();// 清除設(shè)備狀態(tài)信息緩沖區(qū)函數(shù) </p><p><b>  #endif</b></p><p><b>  主程序</b></p><p>  #include "485Mon.h"&

80、lt;/p><p>  void main(void)</p><p><b>  {</b></p><p>  uchar type;</p><p><b>  /* 初始化 */</b></p><p><b>  init();</b></p

81、><p>  while (1) </p><p><b>  {</b></p><p>  if (Recv_Data(&type)==0) // 接收幀錯(cuò)誤或者地址不符合,丟棄</p><p><b>  continue;</b></p><p> 

82、 switch (type)</p><p><b>  {</b></p><p>  case ACTIVE:// 主機(jī)詢問從機(jī)是否在位</p><p>  Send_Data(READY,0,StatusBuf);// 發(fā)送READY指令</p><p><b>  break;</b&g

83、t;</p><p>  case GETDATA:// 主機(jī)讀設(shè)備請求</p><p>  Clr_StatusBuf();</p><p>  Get_Stat();// 數(shù)據(jù)采集函數(shù)</p><p>  Send_Data(SENDDATA,strlen(StatusBuf),StatusBuf);</p>

84、<p><b>  break;</b></p><p><b>  default:</b></p><p>  break;// 指令類型錯(cuò)誤,丟棄當(dāng)前幀</p><p><b>  }</b></p><p><b>  }</b&g

85、t;</p><p><b>  }</b></p><p>  初始化包括讀取本機(jī)號(hào)、串行口設(shè)置和定時(shí)器1的設(shè)置。</p><p><b>  /* 初始化 */</b></p><p>  void init(void)</p><p><b>  {</

86、b></p><p>  P1 = 0xff;</p><p>  DevNo = (P1&0x00111111);// 讀取本機(jī)設(shè)備號(hào)</p><p>  TMOD = 0x20;</p><p>  SCON = 0x50;</p><p>  TH1 = 0xfd;</p>&l

87、t;p>  TL1 = 0xfd;</p><p><b>  TR1 = 1;</b></p><p>  PCON = 0x00;// SMOD=0</p><p><b>  EA = 0;</b></p><p><b>  }</b></p&g

88、t;<p>  /* 接收數(shù)據(jù)幀函數(shù),實(shí)際上接收的是主機(jī)的指令 */</p><p>  bit Recv_Data(uchar *type)</p><p><b>  {</b></p><p>  uchar tmp,rCount,i;</p><p>  uchar r_buf[RECFRMMAXL

89、EN];// 保存接收到的幀</p><p>  uchar Flag_RecvOver;// 一幀接收結(jié)束標(biāo)志</p><p>  uchar Flag_StartRec;// 一幀開始接收標(biāo)志</p><p>  uchar CheckSum;// 校驗(yàn)和</p><p>  uchar DataLen

90、;// 數(shù)據(jù)字節(jié)長度變量</p><p>  /* 禁止發(fā)送,允許接收 */</p><p><b>  DE = 0;</b></p><p><b>  RE = 0;</b></p><p>  /* 接收一幀數(shù)據(jù) */</p><p>  rCount =

91、 0;</p><p>  Flag_StartRec = 0;</p><p>  Flag_RecvOver = 0;</p><p>  while (!Flag_RecvOver)</p><p><b>  {</b></p><p><b>  RI = 0;</b&g

92、t;</p><p>  while (!RI);</p><p>  tmp = SBUF;</p><p><b>  RI=0;</b></p><p>  /* 判斷是否收到字符'$',其數(shù)值為0x24 */ </p><p>  if ((!Flag_S

93、tartRec) && (tmp == 0x24))</p><p><b>  {</b></p><p>  Flag_StartRec = 1;</p><p><b>  }</b></p><p>  if (Flag_StartRec) </p><

94、p><b>  {</b></p><p>  r_buf[rCount] = tmp;</p><p>  rCount ++;</p><p>  /* 判斷是否收到字符'*',其數(shù)值為0x2A,根據(jù)接收的指令設(shè)置相應(yīng)標(biāo)志位 */</p><p>  if (tmp == 0x2A)<

95、/p><p>  Flag_RecvOver = 1;</p><p><b>  }</b></p><p>  if (rCount == RECFRMMAXLEN)// 幀超長錯(cuò)誤,返回0</p><p><b>  return 0;</b></p><p><

96、b>  }</b></p><p>  /* 計(jì)算校驗(yàn)和字節(jié) */</p><p>  CheckSum = 0;</p><p>  DataLen = r_buf[3];</p><p>  for (i=0;i++;i<3+DataLen)</p><p><b>  {<

97、/b></p><p>  CheckSum = CheckSum + r_buf[i+1];</p><p><b>  }</b></p><p>  /* 判斷幀是否錯(cuò)誤 */</p><p>  if (rCount<6)// 幀過短錯(cuò)誤,返回0,最短的指令幀為6個(gè)字節(jié)<

98、/p><p><b>  return 0;</b></p><p>  if (r_buf[1]!=DevNo) // 地址不符合,錯(cuò)誤,返回0</p><p><b>  return 0;</b></p><p>  if (r_buf[rCount-2]!=CheckSum)//

99、校驗(yàn)錯(cuò)誤,返回0</p><p><b>  return 0;</b></p><p>  *type = r_buf[2];// 獲取指令類型</p><p>  return 1;// 成功,返回1</p><p><b>  }</b></p><

100、p>  /* 發(fā)送數(shù)據(jù)幀函數(shù) */</p><p>  void Send_Data(uchar type,uchar len,uchar *buf)</p><p><b>  {</b></p><p>  uchar i,tmp;</p><p>  uchar CheckSum = 0;</p>

101、<p>  /* 允許發(fā)送,禁止接收 */</p><p><b>  DE = 1;</b></p><p><b>  RE = 1;</b></p><p>  /* 發(fā)送幀起始字節(jié) */</p><p>  tmp = 0x24;</p><p>  S

102、end(tmp);</p><p>  Send(DevNo);// 發(fā)送地址字節(jié),也即設(shè)備號(hào)</p><p>  CheckSum = CheckSum + DevNo;</p><p>  Send(type);// 發(fā)送類型字節(jié)</p><p>  CheckSum = CheckSum + type;<

103、/p><p>  Send(len);// 發(fā)送數(shù)據(jù)長度字節(jié)</p><p>  CheckSum = CheckSum + len;</p><p>  /* 發(fā)送數(shù)據(jù) */</p><p>  for (i=0;i<len;i++)</p><p><b>  {</b>

104、</p><p>  Send(*buf);</p><p>  CheckSum = CheckSum + *buf;</p><p><b>  buf++;</b></p><p><b>  }</b></p><p>  Send(CheckSum);/

105、/ 發(fā)送校驗(yàn)和字節(jié)</p><p>  /* 發(fā)送幀結(jié)束字節(jié) */</p><p>  tmp = 0x2A;</p><p>  Send(tmp);</p><p><b>  }</b></p><p>  /* 采集數(shù)據(jù)函數(shù)經(jīng)過簡化處理,取固定的10個(gè)字節(jié)數(shù)據(jù) */</p>

106、<p>  void Get_Stat(void)</p><p><b>  {</b></p><p>  StatusBuf[0]=DATA0;</p><p>  StatusBuf[1]=DATA1;</p><p>  StatusBuf[2]=DATA2;</p><p>

107、  StatusBuf[3]=DATA3;</p><p>  StatusBuf[4]=DATA4;</p><p>  StatusBuf[5]=DATA5;</p><p>  StatusBuf[6]=DATA6;</p><p>  StatusBuf[7]=DATA7;</p><p>  StatusBu

108、f[8]=DATA8;</p><p>  StatusBuf[9]=DATA9;</p><p><b>  }</b></p><p>  /* 發(fā)送單字節(jié)數(shù)據(jù) */</p><p>  void Send(uchar m)</p><p><b>  {</b><

109、/p><p><b>  TI = 0;</b></p><p><b>  SBUF = m;</b></p><p>  while(!TI);</p><p><b>  TI = 0;</b></p><p><b>  }</b&

110、gt;</p><p>  /* 清除設(shè)備狀態(tài)信息緩沖區(qū)函數(shù)*/</p><p>  void Clr_StatusBuf(void)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for (i=0;i<

111、;STATUSMAXLEN;i++)</p><p>  StatusBuf[i] = 0;</p><p><b>  }</b></p><p><b>  文獻(xiàn)綜述</b></p><p>  基于IS-485總線現(xiàn)場監(jiān)測系統(tǒng)的設(shè)計(jì)</p><p><b&

112、gt;  1前言部分 </b></p><p>  隨著數(shù)字控制技術(shù)的發(fā)展,由單片機(jī)構(gòu)成的控制系統(tǒng)也日益復(fù)雜。在一些要求響應(yīng)速度快、實(shí)時(shí)性強(qiáng)、空置量多的應(yīng)用場合,單個(gè)單片機(jī)構(gòu)成的系統(tǒng)往往難以勝任。這時(shí),由多個(gè)單片機(jī)結(jié)合PC機(jī)組成分布式系統(tǒng)成為一個(gè)比較好的解決方案。在這樣的分布式系統(tǒng)中,可以使用RS-232接口連接PC機(jī)和單片機(jī),但由于RS-232接口標(biāo)準(zhǔn)存在傳輸速率慢、傳送距離短的缺點(diǎn),很多時(shí)候無法滿

113、足偶那個(gè)也應(yīng)用中多機(jī)系統(tǒng)的通信要求,因此實(shí)際應(yīng)用中經(jīng)常使用的是RS-485接口標(biāo)準(zhǔn)</p><p>  RS-485總線在工業(yè)應(yīng)用中具有十分重要的地位。RS-485協(xié)議是RS-232協(xié)議的替代標(biāo)準(zhǔn),與傳統(tǒng)的RS-232協(xié)議相比,其在通信速率、傳輸距離、多機(jī)連接等方面均有了非常大的提高,這也是工業(yè)系統(tǒng)中使用RS-485總線的主要原因。由于RS-485總線是RS-232總線的改良和提高,這也是工業(yè)系統(tǒng)中使用RS-48

114、5接口芯片提供的接收器、發(fā)送器選通的功能,為RS-232總線系統(tǒng)設(shè)計(jì)的軟件部分完全可以不加修改直接應(yīng)用到RS-485網(wǎng)絡(luò)中。RS-485總線工業(yè)應(yīng)用成熟,而且大量的已有工業(yè)設(shè)備均提供RS-485接口。</p><p>  早在八十年代中期起,隨著多主的 VME 總線以及實(shí)時(shí)多用戶的 UNIX 操作系統(tǒng)等計(jì)算機(jī)和CRT (彩色顯色器)技術(shù)的飛速發(fā)展,DCS 出現(xiàn)了控制站雙機(jī)冗余、一個(gè)操作站多個(gè) CRT 操作終端、有

115、專門的 I/O 子系統(tǒng)等特點(diǎn),將可靠性提高到能消除用戶心理障礙的程度,并大大提高了可操作性。使 DCS 得到廣泛應(yīng)用,尤其是在車間一級的就用。</p><p>  九十年代,由于超大規(guī)模集成電路、標(biāo)準(zhǔn)化的數(shù)據(jù)通訊鏈路和通訊網(wǎng)絡(luò)技術(shù)等的發(fā)展,傳感器技術(shù)、通信技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展 ,傳統(tǒng)的集散 式控制系統(tǒng)DCS (Distributed Control System) 日益顯露出它的不足 ,如無法監(jiān)控現(xiàn)場儀表

116、及設(shè)備、分散化不足、需要大量信號(hào)電纜等。因此出現(xiàn)了現(xiàn)行的“第三代”DCS,并在獲得了廣泛使用的同時(shí),不斷完善。最終應(yīng)具備的主要特點(diǎn)是:系統(tǒng)具有開放性能;人機(jī)接口功能更強(qiáng);引入體 現(xiàn) CEI(計(jì)算機(jī)-儀器儀表-電機(jī)電器)一體化思想的現(xiàn)場總線。</p><p>  今天隨著 DCS 技術(shù)的進(jìn)一步發(fā)展,開放性DCS 系統(tǒng)實(shí)現(xiàn)了多層計(jì)算機(jī)網(wǎng)絡(luò)構(gòu)成的管控一體化,同層次的各站之間以及各層次之間的信息和數(shù)據(jù)的交換都是通過數(shù)字

117、化通信來實(shí)現(xiàn)的。但是做為 DCS 最基層的眾多現(xiàn)場儀表和現(xiàn)場控制站之間的信息和數(shù)據(jù)仍是采用傳統(tǒng)的沿獨(dú)立導(dǎo)線傳輸?shù)?4~20mA DC 信號(hào)。這不僅大大削弱了 DCS 系統(tǒng)的信息量優(yōu)勢,而且現(xiàn)場儀表的功能也遠(yuǎn)遠(yuǎn)沒有發(fā)揮出現(xiàn)。于整個(gè)系統(tǒng)很不相配,已經(jīng)嚴(yán)重影響了 DCS 的發(fā)展。1985 年,國際電工委員會(huì)(IEC)和美國儀表協(xié)會(huì)(ISA)的 SP50 委員會(huì)一起,開始制定用于微處理器為基礎(chǔ)的現(xiàn)場儀表和數(shù)字控制系統(tǒng)之間進(jìn)行數(shù)字的國際性標(biāo)準(zhǔn),并

118、將其命名為“現(xiàn)場總線”(Field Bus)。</p><p>  現(xiàn)場總線的出現(xiàn) ,將變革傳統(tǒng)的模擬儀表和DCS 系統(tǒng)。它的顯著特征體現(xiàn)在以下三個(gè) </p><p><b>  方面: </b></p><p>  1) 數(shù)字通信。傳統(tǒng)的模擬儀表采用0~10mA 、4~20mA 直流電流信號(hào),1~5V 直流電 壓信號(hào)等。由于模擬信號(hào)的傳遞需要

溫馨提示

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

最新文檔

評論

0/150

提交評論