版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- rs-485總線現(xiàn)場監(jiān)測系統(tǒng)的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- rs485總線集線器設(shè)計(jì)【畢業(yè)論文+文獻(xiàn)綜述+開題報(bào)告】
- 基于is-485總線現(xiàn)場監(jiān)測系統(tǒng)的設(shè)計(jì)【文獻(xiàn)綜述】
- 基于RS-485總線的抄表系統(tǒng)設(shè)計(jì).pdf
- 基于is-485總線現(xiàn)場監(jiān)測系統(tǒng)的設(shè)計(jì)【開題報(bào)告】
- rs485總線集線器設(shè)計(jì)【文獻(xiàn)綜述】
- 基于RS-485總線的智能變送器設(shè)計(jì).pdf
- 畢業(yè)論文-開題報(bào)告-文獻(xiàn)綜述基于rs485總線的多機(jī)通信系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文-開題報(bào)告-文獻(xiàn)綜述基于rs485總線的多機(jī)通信系統(tǒng)設(shè)計(jì)
- 基于RS-485總線的閘門監(jiān)控系統(tǒng)設(shè)計(jì)與開發(fā).pdf
- rs485總線集線器設(shè)計(jì)【開題報(bào)告】
- rs-485總線的理論與實(shí)踐
- 基于RS-485的金礦頂板動(dòng)態(tài)監(jiān)測系統(tǒng).pdf
- 基于RS-485總線的多CPU控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于RS-485的分布式多總線通信系統(tǒng)設(shè)計(jì).pdf
- 基于rs485通訊的智能儀表數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于rs-485總線的土工布滲透率測控系統(tǒng)
- 基于rs485總線的多機(jī)通信系統(tǒng)設(shè)計(jì)【開題報(bào)告】
- 基于RS-485總線的模擬生產(chǎn)線的監(jiān)控系統(tǒng).pdf
- 基于RS-485總線的數(shù)字視頻監(jiān)控系統(tǒng)的研究.pdf
評論
0/150
提交評論