現(xiàn)場(chǎng)總線-工業(yè)通信與網(wǎng)絡(luò)技術(shù) 教案 第9講 UART.Modbus_第1頁(yè)
現(xiàn)場(chǎng)總線-工業(yè)通信與網(wǎng)絡(luò)技術(shù) 教案 第9講 UART.Modbus_第2頁(yè)
現(xiàn)場(chǎng)總線-工業(yè)通信與網(wǎng)絡(luò)技術(shù) 教案 第9講 UART.Modbus_第3頁(yè)
現(xiàn)場(chǎng)總線-工業(yè)通信與網(wǎng)絡(luò)技術(shù) 教案 第9講 UART.Modbus_第4頁(yè)
現(xiàn)場(chǎng)總線-工業(yè)通信與網(wǎng)絡(luò)技術(shù) 教案 第9講 UART.Modbus_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

工業(yè)通信與網(wǎng)絡(luò)技術(shù)教案第1頁(yè)課程題目第9講現(xiàn)場(chǎng)總線——UART·Modbus(1)基于UART的串行通信基本特征與節(jié)點(diǎn)的一般構(gòu)成、EIA/TIA/RS232接口標(biāo)準(zhǔn)、EIA/TIA/RS485接口標(biāo)準(zhǔn)課時(shí)2學(xué)時(shí)教學(xué)目的:掌握EIA/TIA/RS232和EIA/TIA/RS485的接口標(biāo)準(zhǔn);掌握基于UART的串行通信基本特征與節(jié)點(diǎn)的一般構(gòu)成。教學(xué)重點(diǎn)與難點(diǎn):重點(diǎn):EIA/TIA/RS232和EIA/TIA/RS485的接口標(biāo)準(zhǔn);難點(diǎn):兩標(biāo)準(zhǔn)的電平轉(zhuǎn)換芯片及接口電路。教學(xué)方法與手段:方法:講授法;手段:課堂教學(xué)。教學(xué)內(nèi)容與課時(shí)分配:基于UART的串行通信基本特征、EIA/TIA/RS232接口標(biāo)準(zhǔn);1學(xué)時(shí)EIA/TIA/RS485接口標(biāo)準(zhǔn)。1學(xué)時(shí)教具:作業(yè)與思考:教學(xué)后記:第9講現(xiàn)場(chǎng)總線——UART·Modbus(1)一、概述UART指通用異步收發(fā)器(UniversalAsynchronousReceiver/Transmitter),即是采用異步串行通信方式的接口/裝置。線路簡(jiǎn)單,實(shí)現(xiàn)容易。目前大多數(shù)微控制器都支持UART通信。1、基于UART的串行通信的基本特征圖4-1異步串行通信字符幀格式1)當(dāng)傳輸線(總線)上沒(méi)有數(shù)據(jù)傳輸時(shí),總線處于空閑狀態(tài)“1”。2)發(fā)送器發(fā)送一幀數(shù)據(jù)(字符幀)時(shí),首先發(fā)送一個(gè)起始位“0”標(biāo)志一幀的起始。3)發(fā)送器在發(fā)送起始位后,緊接著發(fā)送由5-8個(gè)二進(jìn)制位組成的數(shù)據(jù)位(字符)。每一幀數(shù)據(jù)首先發(fā)送數(shù)據(jù)最低位,最后發(fā)送數(shù)據(jù)最高位。4)數(shù)據(jù)位發(fā)送完后,可以選擇一個(gè)奇偶校驗(yàn)位,用于校驗(yàn)數(shù)據(jù)傳輸是否正確??梢赃x擇奇校驗(yàn),也可以選擇偶校驗(yàn),還可以選擇無(wú)校驗(yàn)。5)最后發(fā)送停止位(停止元素),用以表示一幀的結(jié)束。停止位為“1”,可以是1位、1.5位或2位。圖4-2基于UART的串行通信節(jié)點(diǎn)硬件的一般構(gòu)成二、EIA/TIA/RS-232接口標(biāo)準(zhǔn)標(biāo)準(zhǔn)名詞解釋:EIA(ElectronicIndustriesAssociation):美國(guó)電子工業(yè)協(xié)會(huì);TIA(TelecommunicationsIndustryAssociation):美國(guó)電信工業(yè)協(xié)會(huì);RS(RecommendedStandard):推薦標(biāo)準(zhǔn);EIA/TIA/RS-232是EIA(ElectronicIndustriesAssociation)制定的物理接口標(biāo)準(zhǔn);EIA/TIA/RS-232標(biāo)準(zhǔn)全稱:數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)線路端接設(shè)備(DCE)間使用串行二進(jìn)制數(shù)據(jù)交換的接口(InterfaceBetweenDataTerminalEquipmentandDataCircuitTerminatingEquipmentEmployingSerialBinaryDataInterchange);EIA-232可以應(yīng)用在計(jì)算機(jī)、調(diào)制解調(diào)器、掃描儀、打印機(jī)等設(shè)備上;1、機(jī)械特性與電氣特性圖4-325芯和9芯插座EIA-232的接口為非平衡型:每根信號(hào)用一根導(dǎo)線;所有信號(hào)回路共用一根地線;這樣的連接方式抗干擾能力較低。通信速率:20kbps以內(nèi);通信距離:15m以內(nèi);信號(hào)電平(負(fù)邏輯);邏輯1:-3V~-15V之間(數(shù)據(jù)線上:傳號(hào)Mark;控制線上:OFF狀態(tài));邏輯0:+3V~+15V之間(數(shù)據(jù)線上:空號(hào)Space;控制線上:ON狀態(tài))。標(biāo)準(zhǔn)規(guī)定驅(qū)動(dòng)端與接收端之間必須保證2V的噪聲容限:在驅(qū)動(dòng)端提供的一個(gè)邏輯電平在-5V~-15V之間,另一個(gè)邏輯電平在+5V~+15V之間。圖4-4電氣連接圖2、功能特性與過(guò)程特性DB25和DB9各引腳的功能分配分別如表4-1和表4-2所示。表中所說(shuō)的“發(fā)送”和“接收”都是從DTE(數(shù)據(jù)終端設(shè)備)的角度來(lái)說(shuō)的。表4-1DB25引腳定義續(xù)表4-1表4-2DB9引腳定義2)DB25中常用的也就是DB9中定義的9根線,下面詳細(xì)說(shuō)明DB9中各信號(hào)的含義:(a)數(shù)據(jù)載波檢測(cè)DCD:這是DCE向DTE發(fā)出的狀態(tài)信息,指明從通信線路上收到的載波信號(hào)是否已經(jīng)進(jìn)入指定的范圍。當(dāng)DCD=ON時(shí),表示接收信號(hào)已經(jīng)進(jìn)入指定范圍,此時(shí)RxD上的數(shù)據(jù)是有效的。當(dāng)DCD=OFF時(shí),表示接收信號(hào)尚未進(jìn)入規(guī)定的范圍,此時(shí)DTE不能接收RxD上的數(shù)據(jù)。(b)接收數(shù)據(jù)RxD:這是DTE接收DCE發(fā)來(lái)數(shù)據(jù)的引線。當(dāng)DCE不向DTE發(fā)送數(shù)據(jù)時(shí),該線上的電壓為-12V。DB9中的2號(hào)線對(duì)于DTE來(lái)說(shuō)是接收數(shù)據(jù)線,對(duì)于DCE來(lái)說(shuō)是發(fā)送數(shù)據(jù)線。(c)發(fā)送數(shù)據(jù)TxD:這是DTE向DCE發(fā)送數(shù)據(jù)的引線。當(dāng)DTE不向DCE發(fā)送數(shù)據(jù)時(shí),該線上的電壓為為-12V。DB9中的3號(hào)線對(duì)于DTE來(lái)說(shuō)是發(fā)送數(shù)據(jù)線,對(duì)于DCE來(lái)說(shuō)是接收數(shù)據(jù)線。(d)數(shù)據(jù)終端就緒DTR:這是DTE向DCE發(fā)送的握手信號(hào)。當(dāng)DTR=ON時(shí),表示DTE處于就緒狀態(tài),希望本地DCE和遠(yuǎn)程DCE之間建立通信信道。當(dāng)DTR=OFF時(shí),DCE將停止通信。(e)信號(hào)地SG:EIA-232接口中所有電信號(hào)的公共回路,通過(guò)該引線將DTE和DCE的信號(hào)關(guān)聯(lián)起來(lái)。(f)數(shù)據(jù)設(shè)備就緒DSR:這是DCE向DTE發(fā)送的握手信號(hào)。當(dāng)DSR=ON時(shí),表示本地DCE已和通信信道連通;當(dāng)DSR=OFF時(shí),表示本地DCE還沒(méi)準(zhǔn)備好。(g)請(qǐng)求發(fā)送RTS:這是DTE向DCE發(fā)出的握手信號(hào)。當(dāng)RTS=ON時(shí),表示DTE請(qǐng)求向DCE發(fā)送數(shù)據(jù);當(dāng)RTS=OFF時(shí),表示DTE不想發(fā)送數(shù)據(jù)。在DTE有數(shù)據(jù)要發(fā)送或正在發(fā)送數(shù)據(jù)時(shí),RTS都要保持ON狀態(tài)。(h)允許發(fā)送CTS:這是DCE向DTE發(fā)出的握手信號(hào)。DCE收到DTE的RTS信號(hào)后延遲一段給定時(shí)間后給出該信號(hào)。當(dāng)CTS=ON時(shí),表示DCE已經(jīng)準(zhǔn)備好發(fā)送數(shù)據(jù);當(dāng)CTS=OFF時(shí),表示DCE還沒(méi)準(zhǔn)備好,不能發(fā)送數(shù)據(jù)。(i)振鈴指示RI:這是DCE向DTE發(fā)出的狀態(tài)信息。表示本地DCE是否正在接收遠(yuǎn)程DCE的振鈴信號(hào)。當(dāng)RI=ON時(shí),表示正在接收振鈴信號(hào);當(dāng)RI=OFF時(shí),表示不在接收振鈴信號(hào)。3)EIA-232規(guī)定了DTE/DCE之間的控制信號(hào)與數(shù)據(jù)信號(hào)的發(fā)送時(shí)序、應(yīng)答關(guān)系及操作過(guò)程等內(nèi)容。示例:DTE發(fā)送數(shù)據(jù)過(guò)程。(a)當(dāng)DTE要發(fā)送數(shù)據(jù)時(shí),置EIA-232的DTR(數(shù)據(jù)終端就緒)為高電平(ON狀態(tài)),通知本地DCE(如Modem)已準(zhǔn)備好。如果本地DCE也已做好準(zhǔn)備,即連接成功,DCE向DTE發(fā)送DSR(數(shù)據(jù)設(shè)備就緒)信號(hào)。(b)DTE置RTS(請(qǐng)求發(fā)送)為高電平(ON狀態(tài)),通知本地DCE請(qǐng)求發(fā)送數(shù)據(jù)。本地DCE檢測(cè)到RTS信號(hào)后,一方面向遠(yuǎn)端發(fā)送載波,另一方面通過(guò)延時(shí)電路控制CTS(允許發(fā)送)的接通(變?yōu)镺N狀態(tài))。CTS需要延時(shí)接通是因?yàn)檫h(yuǎn)程DCE從載波到達(dá)至給出DCD(數(shù)據(jù)載波檢測(cè))信號(hào)需要一段時(shí)間t。為了保證數(shù)據(jù)能被遠(yuǎn)程DCE正確接收,本地CTS的延時(shí)T應(yīng)該大于t。遠(yuǎn)程DCE檢測(cè)到載波后,置DCD為ON狀態(tài),通知遠(yuǎn)程的DTE準(zhǔn)備接收數(shù)據(jù)。(c)DTE檢測(cè)到CTS變?yōu)镺N狀態(tài)后,通過(guò)TxD發(fā)送數(shù)據(jù),同時(shí)遠(yuǎn)程DTE通過(guò)RxD接收數(shù)據(jù)。(d)DTE發(fā)送完數(shù)據(jù)后,置RTS為OFF狀態(tài),通知本地DCE發(fā)送結(jié)束。本地DCE檢測(cè)到RTS后,停止發(fā)送載波,并置CTS為OFF狀態(tài)。遠(yuǎn)程DCE檢測(cè)不到載波后,置DCD為OFF狀態(tài)。(e)本地DTE置DTR線為OFF狀態(tài),通知DCE釋放連接。DCE檢測(cè)到DTR的OFF狀態(tài)后,置DSR為OFF狀態(tài)作為回答,至此發(fā)送數(shù)據(jù)過(guò)程結(jié)束。3、常用連接方法EIA-232是連接DTE和DCE的標(biāo)準(zhǔn),實(shí)際應(yīng)用中既有DTE與DCE之間的連接,也有DTE與DTE之間的連接。使用調(diào)制解調(diào)器(Modem)遠(yuǎn)程連接;圖4-5使用調(diào)制解調(diào)器(Modem)遠(yuǎn)程連接2)空調(diào)制解調(diào)器(NullModem)連接(DTE與DTE的直接連接方式);(a)三線制連接(b)三線制加自握手連接式(c)互握手多線制連接方式圖4-6用于EIA-232的電平轉(zhuǎn)換芯片及接口4、用于EIA-232的電平轉(zhuǎn)換芯片及接口由于EIA-232邏輯電平與TTL電平不兼容,因此在與TTL電平電路一起使用時(shí)必須加上適當(dāng)?shù)碾娖睫D(zhuǎn)換電路。圖4-7MC1488圖4-8MC1489圖4-9MC1488和MC1489構(gòu)成的EIA-232接口電路使用MC1488、MC1489的接口電路需要外接±12V對(duì)稱電源,電路比較復(fù)雜。因此,一些公司推出了使用單電源的電平轉(zhuǎn)換芯片,簡(jiǎn)化了電路設(shè)計(jì),如常用的Maxim公司的芯片MAX232。圖4-10MAX232芯片圖4-11MAX232典型工作電路MAX232芯片使用+5V單電源供電。圖4-12MAX232構(gòu)成的EIA-232接口電路5、EIA-232接口標(biāo)準(zhǔn)的缺點(diǎn)1)傳輸距離短。標(biāo)準(zhǔn)規(guī)定的直接連接的最大傳輸距離僅為15m,遠(yuǎn)距離程傳輸時(shí)需要使用Modem,而在工業(yè)控制應(yīng)用中往往要求不使用Modem。2)單端信號(hào)對(duì)地傳輸,信號(hào)易受共模噪聲干擾。3)傳輸速率低。因易受噪聲干擾,故傳輸速率不高,標(biāo)準(zhǔn)規(guī)定最高傳輸速率不超過(guò)20kbps。4)不能用于多點(diǎn)互連系統(tǒng)。三、EIA/TIA/RS-485接口標(biāo)準(zhǔn)EIA/TIA/RS-485標(biāo)準(zhǔn)全稱:用于平衡數(shù)字多點(diǎn)系統(tǒng)的發(fā)送器和接收器的電氣特性標(biāo)準(zhǔn)(StandardforElectricalCharacteristicsofGeneratorsandReceiversforUseinBalancedDigitalMultipointSystems)。EIA-485是EIA-422的變型。EIA-485是其它一些現(xiàn)場(chǎng)總線的物理層的接口標(biāo)準(zhǔn)(或之一),如Modbus、Profibus、Interbus、LonWorks、P-NET、BACnet、BITBus等。表4-3EIA-485技術(shù)參數(shù)及與EIA-232、EIA-422之比較圖4-13EIA-485電氣連接圖EIA-485的兩根差分信號(hào)線分別記作A線、B線,以A和B之間的電位差來(lái)表示邏輯電平。驅(qū)動(dòng)端A和B之間的電位差輸出范圍為±2V~±6V,接收端A和B之間可以檢測(cè)的輸入電壓VAB的絕對(duì)值的最小值為200mV,即要求VAB≤-200mV,或VAB≥200mV。EIA-485規(guī)定,在接收端,當(dāng)A線電位VA比B線電位VB低200mV以上時(shí),即當(dāng)VAB=VA-VB<-0.2V時(shí),認(rèn)為是二進(jìn)制1(OFF狀態(tài));當(dāng)A線電位VA比B線電位VB高200mV以上,即當(dāng)VAB=VA-VB>0.2V時(shí),認(rèn)為是二進(jìn)制0(ON狀態(tài))。2、EIA-485的端口連接EIA-485常用于組成主從式多點(diǎn)網(wǎng)絡(luò)。在大多數(shù)情況下,EIA-485的端口連接都采用兩線制連接方式。圖4-14典型的EIA-485兩線制半雙工連接方式當(dāng)需要全雙工通信時(shí),發(fā)送信道和接收信道應(yīng)該相互獨(dú)立,此時(shí)EIA-485可采用四線制連接方式。主站的驅(qū)動(dòng)器和接收器及所有從站的接收器可以一直處于使能狀態(tài)。圖4-15典型的EIA-485四線制主從式全雙工連接任何時(shí)候應(yīng)該只能有一個(gè)驅(qū)動(dòng)器處于發(fā)送狀態(tài),其它驅(qū)動(dòng)器必須處于高阻態(tài),這是通過(guò)驅(qū)動(dòng)器上的發(fā)送使能端控制的。若有兩個(gè)或多個(gè)驅(qū)動(dòng)器同時(shí)工作,當(dāng)一個(gè)或多個(gè)試圖發(fā)送邏輯1,一個(gè)或多個(gè)試圖發(fā)送邏輯0時(shí),會(huì)在某些器件中產(chǎn)生大電流。因此符合EIA-485標(biāo)準(zhǔn)的接口芯片都具有限流和過(guò)熱關(guān)閉功能,以便保護(hù)器件。主站不能同時(shí)請(qǐng)求多個(gè)從站,否則會(huì)引起沖突。在一個(gè)沒(méi)有中繼器的系統(tǒng)中最多只能有兩個(gè)終端電阻,分別并聯(lián)于傳輸線的首尾兩端,通常取值120Ω。當(dāng)EIA-485網(wǎng)絡(luò)處于空閑狀態(tài)時(shí),所有的節(jié)點(diǎn)應(yīng)處于只聽(tīng)(接收)狀態(tài)。這時(shí)沒(méi)有驅(qū)動(dòng)器處于發(fā)送狀態(tài),所有驅(qū)動(dòng)器均處于高阻態(tài)。沒(méi)有任何驅(qū)動(dòng)器驅(qū)動(dòng)網(wǎng)絡(luò),則傳輸線狀態(tài)不確定。因此,應(yīng)當(dāng)為網(wǎng)絡(luò)添加偏置電阻使其處于確定狀態(tài)。圖4-16兩線制連接網(wǎng)絡(luò)中帶偏置電阻的收發(fā)器3、用于EIA-485的電平轉(zhuǎn)換芯片及接口電路常用的EIA-485接口芯片有Maxim公司的MAX481/483/485/487/488/489/490/491系列低功耗收發(fā)器。每種型號(hào)的芯片內(nèi)部均集成了一個(gè)驅(qū)動(dòng)器和一個(gè)接收器(構(gòu)成一個(gè)收發(fā)器),符合EIA-422/EIA-485接口標(biāo)準(zhǔn)。MAX48X/MAX49X系列芯片特點(diǎn):使用+5V單電源供電;0.1μA低電流關(guān)閉模式(MAX481/483/487);低功耗,靜態(tài)工作電流:MAX483/487/488/489為120μA,MAX481/485/490/491為300μA;限制轉(zhuǎn)換速率的無(wú)差錯(cuò)數(shù)據(jù)傳輸(MAX483/487/488/489);共模輸入電壓范圍-7V~+12V;總線上最大可連接128個(gè)收發(fā)器(MAX487);具有電流限制和熱關(guān)斷特性的驅(qū)動(dòng)器過(guò)載保護(hù)。表4-4MAX48X/MAX49X系列芯片性能比較MAX48X/MAX49X系列芯片引腳分布及典型工作電路:MAX481/483/485/487芯片為8引腳封裝,適用于半雙工通信,其引腳分布與典型工作電路如圖4-17所示。圖(a)中,上圖和下圖分別為DIP/SO、μMAX封裝的引腳分布圖;圖(b)中,傳輸線為雙絞線,Rt為終端匹配電阻。對(duì)于圖4-17(b),在實(shí)際應(yīng)用中,往往將DE與/RE連在一起,即在任意時(shí)刻,DE與/RE只能有一個(gè)有效或均無(wú)效(呈高阻態(tài))。(a)引腳分布圖(b)典型工作電路圖4-17MAX481/483/485/487引腳分布及典型工作電路MAX488/490芯片也為8引腳封裝,其驅(qū)動(dòng)器輸出與接收器輸入引腳是分開(kāi)的,便于組成全雙工通信,其引腳分布與典型工作電路如圖4-18所示。圖中,傳輸線為雙絞線,Rt為終端匹配電阻。(a)引腳分布圖(b)典型工作電路圖4-18MAX488/490引腳分布及典型工作電路MAX489/491芯片為14引腳封裝,也用于全雙工通信,相比MAX488/490增加了和DE引腳。其引腳分布與典型工作電路如圖4-19所示。圖中,傳輸線為雙絞線,Rt為終端匹配電阻。(a)引腳分布圖(b)典型工作電路圖4-19MAX489/491引腳分布與典型工作電路表4-5MAX48X/MAX49X系列芯片的各引腳分布和功能續(xù)表4-5表4-6發(fā)送功能表表4-7接收功能表4、采用MAX485芯片的EIA-485節(jié)點(diǎn)信號(hào)波形與電平如圖所示為一個(gè)采用MAX485芯片的簡(jiǎn)單EIA-485節(jié)點(diǎn)的結(jié)構(gòu)圖。通過(guò)對(duì)這樣的一個(gè)節(jié)點(diǎn)以及由這樣的兩個(gè)節(jié)點(diǎn)組成的系統(tǒng)中的信號(hào)波形與電平值進(jìn)行測(cè)量,能更直觀地了解EIA-485的電氣特性。圖4-20簡(jiǎn)單的EIA-481)R=∞時(shí)表4-8單節(jié)點(diǎn)R=∞時(shí)總線電平圖4-21MAX485芯片A、B引腳電壓波形2)R=120Ω時(shí);表4-8單節(jié)點(diǎn)R=60Ω時(shí)總線電平3)R=60Ω時(shí)表4-9單節(jié)點(diǎn)R=60Ω時(shí)總線電平由兩個(gè)節(jié)點(diǎn)構(gòu)成的EIA-485系統(tǒng)如圖9-20所示。分別在R=∞,120Ω,60Ω時(shí)對(duì)VA,VB,VAB進(jìn)行測(cè)量,得到的波形與圖9-19一致。表9-9給出了測(cè)量數(shù)據(jù)。圖4-21兩節(jié)點(diǎn)的EIA-485系統(tǒng)表4-10兩節(jié)點(diǎn)EIA-485系統(tǒng)總線電平(a)R=∞時(shí)(b)R=120Ω時(shí)(c)R=60Ω時(shí)總線負(fù)載對(duì)于EIA-485的A,B線間的電位差會(huì)產(chǎn)生影響:總線負(fù)載增大時(shí),A,B間的電位差會(huì)減小;當(dāng)A,B間的電位差絕對(duì)值減小到小于200mV時(shí)就可能會(huì)出現(xiàn)接收數(shù)據(jù)錯(cuò)誤。EIA-485標(biāo)準(zhǔn)規(guī)定最大節(jié)點(diǎn)數(shù)為32就是為了避免出現(xiàn)總線負(fù)載過(guò)大。工業(yè)通信與網(wǎng)絡(luò)技術(shù)教案第1頁(yè)課程題目第10講現(xiàn)場(chǎng)總線——UART·Modbus(2)Modbus協(xié)議、Modbus節(jié)點(diǎn)設(shè)計(jì)、Modbus系統(tǒng)應(yīng)用實(shí)例課時(shí)2學(xué)時(shí)教學(xué)目的:1.了解Modbus協(xié)議的相關(guān)概念、描述和功能等;2.掌握Modbus傳輸協(xié)議和傳輸中的異常響應(yīng)。教學(xué)重點(diǎn)與難點(diǎn):重點(diǎn):Modbus協(xié)議傳輸過(guò)程中的數(shù)據(jù)編碼與數(shù)據(jù)模型;難點(diǎn):Modbus協(xié)議傳輸過(guò)程中的異常響應(yīng)。教學(xué)方法與手段:方法:講授法;手段:課堂教學(xué)。教學(xué)內(nèi)容與課時(shí)分配:1.Modbus協(xié)議、Modbus節(jié)點(diǎn)設(shè)計(jì);1學(xué)時(shí)2.Modbus系統(tǒng)應(yīng)用實(shí)例。1學(xué)時(shí)教具:作業(yè)與思考:教學(xué)后記:備注教學(xué)內(nèi)容工業(yè)通信與網(wǎng)絡(luò)技術(shù)教案第2頁(yè)備注教學(xué)內(nèi)容第10講現(xiàn)場(chǎng)總線——UART·Modbus(2)Modbus協(xié)議Modbus是由Modicon(現(xiàn)為施耐德電氣公司的一個(gè)品牌)在1979年發(fā)明的。目前施耐德公司已將Modbus協(xié)議的所有權(quán)移交給IDA(InterfaceforDistributedAutomation,分布式自動(dòng)化接口)組織,并成立了Modbus-IDA。在我國(guó),Modbus已經(jīng)成為國(guó)家標(biāo)準(zhǔn)GB/T19582-2008。1、Modbus的優(yōu)點(diǎn):1)標(biāo)準(zhǔn)、開(kāi)放,用戶可以免費(fèi)、放心地使用Modbus協(xié)議,不需要交納許可證費(fèi),也不會(huì)侵犯知識(shí)產(chǎn)權(quán)。2)由于Modbus主要是面向報(bào)文的協(xié)議,因此它可以支持多種物理接口,如RS-232、RS-485、以太網(wǎng)物理接口等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無(wú)線介質(zhì)等。3)Modbus的幀格式簡(jiǎn)單、緊湊,通俗易懂。用戶使用容易,廠商開(kāi)發(fā)簡(jiǎn)單。圖4-22Modbus網(wǎng)絡(luò)體系結(jié)構(gòu)實(shí)例(Modbus各種(物理/實(shí)際)節(jié)點(diǎn)連接示意圖)ModbusPlus是串行鏈路上的Modbus的改進(jìn)版:也是采用RS-485的電氣接口;采用令牌循環(huán)、對(duì)等的網(wǎng)絡(luò)結(jié)構(gòu);數(shù)據(jù)鏈路層采用HDLC(高級(jí)數(shù)據(jù)鏈路控制)。互聯(lián)網(wǎng)用戶能夠使用TCP/IP棧上的保留端口502訪問(wèn)Modbus。2、Modbus協(xié)議描述圖4-23基于串行鏈路的Modbus協(xié)議與ISO/OSI網(wǎng)絡(luò)模型比較Modbus是OSI模型第7層上的應(yīng)用層報(bào)文傳輸協(xié)議,它在連接至不同類型的總線或網(wǎng)絡(luò)的設(shè)備之間提供客戶機(jī)/服務(wù)器通信。Modbus定義了一個(gè)與基礎(chǔ)通信層無(wú)關(guān)的簡(jiǎn)單協(xié)議數(shù)據(jù)單元(PDU)。在特定總線或網(wǎng)絡(luò)上,通過(guò)在其基礎(chǔ)上引入一些附加域,使其成為相應(yīng)的應(yīng)用數(shù)據(jù)單元(ADU)。圖4-24通用Modbus幀按照OSI參考模型,圖中:ADU實(shí)際上為(數(shù)據(jù)鏈路層的)幀;PDU實(shí)際上為(應(yīng)用層的)APDU。前面介紹的基于UART的串行通信時(shí)提到的幀的概念在Modbus中對(duì)應(yīng)于字符,或者可以稱之為子幀或字符幀,注意應(yīng)與上圖的Modbus幀區(qū)分開(kāi)來(lái)。Modbus的PDU最大長(zhǎng)度為253字節(jié),是因?yàn)槠渥畛跏窃诖墟溌飞蠈?shí)現(xiàn)的,受RS485的ADU最大256字節(jié)(1字節(jié)服務(wù)器地址+253字節(jié)PDU+2字節(jié)差錯(cuò)校驗(yàn)碼)限制。ModbusPDU的功能碼域用一個(gè)字節(jié)編碼。有效的值是1~255。服務(wù)器對(duì)客戶機(jī)響應(yīng)時(shí),若是正常響應(yīng),服務(wù)器僅復(fù)制原始功能碼。對(duì)于異常響應(yīng),服務(wù)器將原始功能碼的最高有效位設(shè)置邏輯1后返回??蛻魴C(jī)發(fā)往服務(wù)器的數(shù)據(jù)域包括離散量和寄存器地址、處理的項(xiàng)目數(shù)量以及域中的實(shí)際數(shù)據(jù)字節(jié)數(shù)等。服務(wù)器使用這些信息執(zhí)行功能碼定義的操作,并將請(qǐng)求的結(jié)果返回給客戶機(jī)。TCPModbusADU=253字節(jié)+MBAP(7字節(jié))=260字節(jié)。(MBAP報(bào)文頭為Modbus應(yīng)用協(xié)議報(bào)文頭,是TCP/IP上一種專門識(shí)別Modbus應(yīng)用數(shù)據(jù)單元的報(bào)文頭)Modbus定義了3種PDU:——Modbus請(qǐng)求PDU;——Modbus響應(yīng)PDU;——Modbus異常響應(yīng)PDU。3、數(shù)據(jù)編碼與數(shù)據(jù)模型1)數(shù)據(jù)編碼這里的數(shù)據(jù)編碼主要是指數(shù)據(jù)的存儲(chǔ)格式和發(fā)送順序。Modbus使用最高有效字節(jié)在低地址存儲(chǔ)的方式表示地址和數(shù)據(jù)項(xiàng),即所謂的“大端存儲(chǔ)”(big-Endian)模式:當(dāng)發(fā)送多個(gè)字節(jié)時(shí),首先發(fā)送最高有效字節(jié);例如:寄存器大小為16位,寄存器值為0x1234,發(fā)送的第一個(gè)字節(jié)為0x12,然后發(fā)送0x34。2)數(shù)據(jù)模型Modbus的數(shù)據(jù)模型是以一組具有不同特征的表為基礎(chǔ)建立的。輸入與輸出之間以及位尋址的和字尋址的數(shù)據(jù)項(xiàng)之間的區(qū)別并不意味著應(yīng)用特性的差別。所有4個(gè)表可以是相互獨(dú)立的,也可以是相互覆蓋的。表4-11數(shù)據(jù)編碼與數(shù)據(jù)模型對(duì)于每個(gè)基本表,協(xié)議允許單個(gè)地操作數(shù)據(jù)編號(hào)為0~65535的任意一個(gè)數(shù)據(jù)項(xiàng),而這些數(shù)據(jù)項(xiàng)的讀寫操作可以擴(kuò)展到多個(gè)連續(xù)數(shù)據(jù)項(xiàng)直到達(dá)到最大數(shù)量限制,具體數(shù)量限制與功能碼有關(guān)。操作連續(xù)數(shù)據(jù)項(xiàng)的數(shù)量限制的原因是ModbusPDU最大為253字節(jié)。Modbus的數(shù)據(jù)模型包括4個(gè)基本表(4個(gè)(數(shù)據(jù))塊):離散量輸入、線圈、輸入寄存器和保持寄存器;規(guī)定了每個(gè)基本表的對(duì)象類型和訪問(wèn)類型;對(duì)每個(gè)基本表的數(shù)據(jù)項(xiàng)進(jìn)行了數(shù)據(jù)編號(hào):0~65535。Modbus處理的所有數(shù)據(jù)(位、寄存器)都放置在設(shè)備應(yīng)用存儲(chǔ)器中。存儲(chǔ)器的物理地址與數(shù)據(jù)編號(hào)不能混淆,具體應(yīng)用中只需要將數(shù)據(jù)編號(hào)與物理地址關(guān)聯(lián)即可。Modbus功能碼中使用的邏輯編號(hào)是以0開(kāi)始的無(wú)符號(hào)整數(shù)索引。圖4-25帶有4個(gè)獨(dú)立塊的Modbus數(shù)據(jù)模型該圖表示了含有數(shù)字量和模擬量、輸入量和輸出量的設(shè)備中的數(shù)據(jù)組織。不同塊中的數(shù)據(jù)不相關(guān),每個(gè)塊是相互獨(dú)立的??赏ㄟ^(guò)不同的Modbus功能碼訪問(wèn)每個(gè)塊。用功能碼0x01訪問(wèn)線圈數(shù)據(jù)塊中的若干個(gè)連續(xù)線圈,用功能碼0x04訪問(wèn)輸入寄存器數(shù)據(jù)塊中的若干個(gè)連續(xù)輸入寄存器。圖4-26僅帶有1個(gè)塊的Modbus數(shù)據(jù)模型通過(guò)幾個(gè)Modbus功能碼能夠得到相同的數(shù)據(jù):同一個(gè)數(shù)據(jù)既可以通過(guò)16位訪問(wèn)也可以通過(guò)1位訪問(wèn)。比如,用功能碼0x04訪問(wèn)數(shù)據(jù)塊中一個(gè)16位存儲(chǔ)單元,也可以用功能碼0x01或0x02訪問(wèn)同一個(gè)數(shù)據(jù)塊中的這個(gè)16位存儲(chǔ)單元中的1個(gè)位。4、尋址模型Modbus應(yīng)用協(xié)議定義了由4個(gè)塊構(gòu)成的Modbus數(shù)據(jù)模型,每個(gè)塊由多個(gè)編號(hào)為1~n的元素構(gòu)成。Modbus數(shù)據(jù)模型中,用1~n來(lái)對(duì)數(shù)據(jù)塊中的每個(gè)元素進(jìn)行編號(hào)。圖4-27ModbusPDU該圖表示了用ModbusPDU的邏輯地址X-1來(lái)尋址編號(hào)為X的Modbus數(shù)據(jù)塊中的元素。采用功能碼0x02讀邏輯地址為0的離散量輸入(讀輸入0)來(lái)訪問(wèn)(尋址)離散量輸入元素1(離散量輸入1)表4-12功能碼分類與描述續(xù)表4-125、三類功能碼:1)公共功能碼,由Modbus-IDA確認(rèn)。已定義的公共功能碼有兩大類:數(shù)據(jù)訪問(wèn);診斷。2)用戶定義的功能碼,在十進(jìn)制65~72和100~110區(qū)域。3)保留功能碼,某些公司在傳統(tǒng)產(chǎn)品上現(xiàn)行使用的功能碼。6、異常響應(yīng)客戶機(jī)的請(qǐng)求(詢問(wèn))可能導(dǎo)致下列4種事件之一:1)服務(wù)器接收到無(wú)通信錯(cuò)誤的請(qǐng)求,且可正常處理,服務(wù)器會(huì)返回一個(gè)正常的響應(yīng)。2)因通信錯(cuò)誤(如報(bào)文幀丟失)而使服務(wù)器沒(méi)有接收到請(qǐng)求,服務(wù)器就不能返回響應(yīng);客戶機(jī)程序轉(zhuǎn)入超時(shí)處理。3)服務(wù)器雖接收到請(qǐng)求,但檢測(cè)到一個(gè)通信錯(cuò)誤(奇偶校驗(yàn)、CRC或LRC(縱向冗余檢驗(yàn))等),服務(wù)器就不能返回響應(yīng);客戶機(jī)程序?qū)⑥D(zhuǎn)入超時(shí)處理。4)服務(wù)器雖接收到無(wú)通信錯(cuò)誤的請(qǐng)求,但不能處理該請(qǐng)求(例如,請(qǐng)求讀一個(gè)不存在的寄存器),服務(wù)器會(huì)返回一個(gè)異常響應(yīng),通知客戶機(jī)錯(cuò)誤的實(shí)際情況。異常響應(yīng)報(bào)文通過(guò)功能碼域和數(shù)據(jù)域區(qū)別于正常響應(yīng):對(duì)于功能碼域:在正常響應(yīng)中,復(fù)制原始請(qǐng)求的功能碼,即所有功能碼的最高有效位(MSB)都為0;在異常響應(yīng)中,服務(wù)器設(shè)置功能碼的MSB為1,這使得異常響應(yīng)中的功能碼值比正常響應(yīng)中的功能碼值高0x80。對(duì)于數(shù)據(jù)域:在正常響應(yīng)中,服務(wù)器將返回請(qǐng)求中要求的信息;在異常響應(yīng)中,服務(wù)器返回異常碼??蛻魴C(jī)通過(guò)響應(yīng)報(bào)文中功能碼的MSB來(lái)識(shí)別是否為異常響應(yīng),并可檢測(cè)數(shù)據(jù)域中的異常碼。表4-13Modbus異常碼7、數(shù)據(jù)鏈路層Modbus串行鏈路協(xié)議是一個(gè)主/從協(xié)議,位于OSI模型的第2層——數(shù)據(jù)鏈路層;主站(設(shè)備)提供客戶機(jī)功能,而從站(設(shè)備)作為服務(wù)器。在同一時(shí)間內(nèi),只能將1個(gè)主站連接到總線,將最多至247個(gè)從站連接到相同總線;在無(wú)任何中繼器的EIA-485-Modbus系統(tǒng)中,允許總線/網(wǎng)絡(luò)上最多有32臺(tái)設(shè)備。通信總是由主站發(fā)起的;從站沒(méi)有收到來(lái)自主站的請(qǐng)求時(shí),是不能發(fā)送數(shù)據(jù)的。從站之間不能相互通信。主站用單播模式和廣播模式兩種方式向從站發(fā)出Modbus請(qǐng)求;從站地址必須唯一以保證被獨(dú)立地尋址;地址0被保留用來(lái)識(shí)別廣播通信。從站對(duì)于主站的廣播請(qǐng)求不做應(yīng)答返回。Modbus定義了兩種串行傳輸模式:RTU(遠(yuǎn)程終端單元)模式和ASCII(美國(guó)信息交換標(biāo)準(zhǔn)代碼)模式默認(rèn)設(shè)置必須為RTU模式1)RTU傳輸模式報(bào)文中每個(gè)8位字節(jié)含有兩個(gè)4位二進(jìn)制數(shù)。圖4-28基串行鏈路的Modbus協(xié)議與ISO/OSI網(wǎng)絡(luò)模型比較RTU模式中:1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)奇偶校驗(yàn)位,1個(gè)停止位。默認(rèn)奇偶校驗(yàn)?zāi)J綖榕夹r?yàn);當(dāng)采用無(wú)校驗(yàn)時(shí)要求2個(gè)停止位;在ASCII模式中,一個(gè)報(bào)文必須以一個(gè)“冒號(hào)”(:)字符(ASCII碼3A)起始,以“回車換行”(CRLF)(ASCII碼0D、0A)結(jié)束。字符間隔應(yīng)小于1秒??v向冗余檢驗(yàn)(LRC)是1個(gè)字節(jié),包含8位二進(jìn)制值,但其結(jié)果被編碼為兩個(gè)字符的ASCII碼。LRC結(jié)果的高位ASCII字符在前,低位ASCII字符在后。在Modbus串行鏈路上,所有設(shè)備的傳輸模式(及串行口參數(shù))必須相同。在Modbus串行鏈路設(shè)備實(shí)現(xiàn)等級(jí)的基本等級(jí)中只要求實(shí)現(xiàn)RTU模式,常規(guī)等級(jí)中要求實(shí)現(xiàn)RTU模式和ASCII模式。默認(rèn)設(shè)置必須為RTU模式。RTU模式的主要優(yōu)點(diǎn)是在相同的波特率下有較高的字符密度,因此具有比ASCII模式更高的吞吐率。目前主流的微控制器都帶有UART模塊,支持10位和11位模式,支持奇偶校驗(yàn)方式選擇,一般數(shù)據(jù)位發(fā)送順序也是先最低有效位、后最高有效位,可以方便地實(shí)現(xiàn)RTU模式和ASCII模式。8、物理層最常用的物理口是TIA/EIA-485(RS-485)兩線制接口作為附加選項(xiàng),物理接口也可以使用EIA-485四線制接口只需要短距離的點(diǎn)到點(diǎn)通信時(shí),也可以使用TIA/EIA-232-E(RS-232)1)傳輸速率要求實(shí)現(xiàn)的速率為9600bps和19200bps19200bps是要求的默認(rèn)值還可以有選擇地實(shí)現(xiàn)其它速率:1200bps、2400bps、4800bps、……、38400bps、56000bps等。2)電氣接口圖4-29Modbus串行鏈路用的RS485兩線制結(jié)構(gòu)Modbus設(shè)備允許可選擇地實(shí)現(xiàn)四線制電氣接口。在四線制網(wǎng)絡(luò)中,從站只能接收主對(duì)總線上的數(shù)據(jù),而主站只能接收從對(duì)總線上的數(shù)據(jù)。圖4-30Modbus串行鏈路用的RS485四線制結(jié)構(gòu)3)線路終端和極性偏置為了減小反射,要求在總線接近兩端處放置線路終端;終端電阻可以是150Ω(0.5W)電阻或120Ω(0.25W)電阻與1nF電容(最低耐壓10V)的串聯(lián)。在沒(méi)有數(shù)據(jù)信號(hào)出現(xiàn)時(shí),為確保其接收器處于一個(gè)穩(wěn)定狀態(tài),一些設(shè)備需

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論