




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Good is good, but better carries it.精益求精,善益求善。RS232-485串口通信詳解-串口通信詳解一、RS-232RS-232在1962年發(fā)布,命名為EIA-232-E,作為工業(yè)標(biāo)準(zhǔn),以保證不同廠家產(chǎn)品之間的兼容。RS-232-C是美國(guó)電子工業(yè)協(xié)會(huì)EIA(ElectronicIndustryAssociation)制定的一種串行物理接口標(biāo)準(zhǔn)。RS是英文“推薦標(biāo)準(zhǔn)”的縮寫,232為標(biāo)識(shí)號(hào),C表示修改次數(shù)。RS-232-C總線標(biāo)準(zhǔn)設(shè)有25條信號(hào)線,包括一個(gè)主通道和一個(gè)輔助通道。在多數(shù)情況下主要使用主通道,對(duì)于一般雙工通信,僅需幾條信號(hào)線就可實(shí)現(xiàn),如一條發(fā)送線、
2、一條接收線及一條地線。RS-232-C標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C標(biāo)準(zhǔn)規(guī)定,驅(qū)動(dòng)器允許有2500pF的電容負(fù)載,通信距離將受此電容限制,例如,采用150pF/m的通信電纜時(shí),最大通信距離為15m;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是RS-232屬單端信號(hào)傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于20m以內(nèi)的通信。9針串口(DB9)25針串口(DB25)針號(hào)功能說明縮寫針號(hào)功能說明縮寫1數(shù)據(jù)載波檢測(cè)DCD8數(shù)據(jù)載波檢測(cè)DCD2接收數(shù)據(jù)RXD
3、3接收數(shù)據(jù)RXD3發(fā)送數(shù)據(jù)TXD2發(fā)送數(shù)據(jù)TXD4數(shù)據(jù)終端準(zhǔn)備DTR20數(shù)據(jù)終端準(zhǔn)備DTR5信號(hào)地GND7信號(hào)地GND6數(shù)據(jù)設(shè)備準(zhǔn)備好DSR6數(shù)據(jù)準(zhǔn)備好DSR7請(qǐng)求發(fā)送RTS4請(qǐng)求發(fā)送RTS8清除發(fā)送CTS5清除發(fā)送CTS9振鈴指示DELL22振鈴指示DELL目前RS-232是PC機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。RS-232被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS-232采取不平衡傳輸方式,即所謂單端通訊。圖1收、發(fā)端的數(shù)據(jù)信號(hào)是相對(duì)于信號(hào)地,如從DTE設(shè)備發(fā)出的數(shù)據(jù)在使用DB25連接器時(shí)是2腳相對(duì)7腳(信號(hào)地)的電平,DB25各引腳定義參見圖1。典型的RS-232信
4、號(hào)在正負(fù)電平之間擺動(dòng),在發(fā)送數(shù)據(jù)時(shí),發(fā)送端驅(qū)動(dòng)器輸出正電平在+5+15V,負(fù)電平在-5-15V電平。當(dāng)無數(shù)據(jù)傳輸時(shí),線上為TTL,從開始傳送數(shù)據(jù)到結(jié)束,線上電平從TTL電平到RS-232電平再返回TTL電平。接收器典型的工作電平在+3+12V與-3-12V。由于發(fā)送電平與接收電平的差僅為2V至3V左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約15米,最高速率為20kb/s。RS-232是為點(diǎn)對(duì)點(diǎn)(即只用一對(duì)收、發(fā)設(shè)備)通訊而設(shè)計(jì)的,其驅(qū)動(dòng)器負(fù)載為37k。所以RS-232適合本地設(shè)備之間的通信。RS232C串口通信接線方法(三線制)首先,串口傳輸數(shù)據(jù)只要有接收數(shù)據(jù)針腳和
5、發(fā)送針腳就能實(shí)現(xiàn):同一個(gè)串口的接收腳和發(fā)送腳直接用線相連,兩個(gè)串口相連或一個(gè)串口和多個(gè)串口相連同一個(gè)串口的接收腳和發(fā)送腳直接用線相連對(duì)9針串口和25針串口,均是2與3直接相連;兩個(gè)不同串口(不論是同一臺(tái)計(jì)算機(jī)的兩個(gè)串口或分別是不同計(jì)算機(jī)的串口)9針9針25針25針9針25針233222322333557757上面表格是對(duì)微機(jī)標(biāo)準(zhǔn)串行口而言的,還有許多非標(biāo)準(zhǔn)設(shè)備,如接收GPS數(shù)據(jù)或電子羅盤數(shù)據(jù),只要記住一個(gè)原則:接收數(shù)據(jù)針腳(或線)與發(fā)送數(shù)據(jù)針腳(或線)相連,彼些交叉,信號(hào)地對(duì)應(yīng)相接。規(guī)定RS232RS422R485工作方式單端差分差分節(jié)點(diǎn)數(shù)1收、1發(fā)1發(fā)10收1發(fā)32收最大傳輸電纜長(zhǎng)度50英尺
6、400英尺400英尺最大傳輸速率20Kb/S10Mb/s10Mb/s最大驅(qū)動(dòng)輸出電壓+/-25V-0.25V+6V-7V+12V驅(qū)動(dòng)器輸出信號(hào)電平(負(fù)載最小值)負(fù)載+/-5V+/-15V+/-2.0V+/-1.5V驅(qū)動(dòng)器輸出信號(hào)電平(空載最大值)空載+/-25V+/-6V+/-6V驅(qū)動(dòng)器負(fù)載阻抗()3K7K10054擺率(最大值)30V/sN/AN/A接收器輸入電壓范圍+/-15V-10V+10V-7V+12V接收器輸入門限+/-3V+/-200mV+/-200mV接收器輸入電阻()3K7K4K(最小)12K驅(qū)動(dòng)器共模電壓-3V+3V-1V+3V接收器共模電壓-7V+7V-7V+12V表1二、
7、RS485和RS422RS-422由RS-232發(fā)展而來,它是為彌補(bǔ)RS-232之不足而提出的。為改進(jìn)RS-232通信距離短、速率低的缺點(diǎn),RS-422定義了一種平衡通信接口,將傳輸速率提高到10Mb/s,傳輸距離延長(zhǎng)到4000英尺(速率低于100kb/s時(shí)),并允許在一條平衡總線上連接最多10個(gè)接收器。RS-422是一種單機(jī)發(fā)送、多機(jī)接收的單向、平衡傳輸規(guī)范,被命名為TIA/EIA-422-A標(biāo)準(zhǔn)。為擴(kuò)展應(yīng)用范圍,EIA又于1983年在RS-422基礎(chǔ)上制定了RS-485標(biāo)準(zhǔn),增加了多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同一條總線上,同時(shí)增加了發(fā)送器的驅(qū)動(dòng)能力和沖突保護(hù)特性,擴(kuò)展了總線共
8、模范圍,后命名為TIA/EIA-485-A標(biāo)準(zhǔn)。由于EIA提出的建議標(biāo)準(zhǔn)都是以“RS”作為前綴,所以在通訊工業(yè)領(lǐng)域,仍然習(xí)慣將上述標(biāo)準(zhǔn)以RS作前綴稱謂。平衡傳輸RS-422、RS-485與RS-232不一樣,數(shù)據(jù)信號(hào)采用差分傳輸方式,也稱作平衡傳輸,它使用一對(duì)雙絞線,將其中一線定義為A,另一線定義為B,如圖2。圖2通常情況下,發(fā)送驅(qū)動(dòng)器A、B之間的正電平在+2+6V,是一個(gè)邏輯狀態(tài),負(fù)電平在-26V,是另一個(gè)邏輯狀態(tài)。另有一個(gè)信號(hào)地C,在RS-485中還有一“使能”端,而在RS-422中這是可用可不用的?!笆鼓堋倍耸怯糜诳刂瓢l(fā)送驅(qū)動(dòng)器與傳輸線的切斷與連接。當(dāng)“使能”端起作用時(shí),發(fā)送驅(qū)動(dòng)器處于高
9、阻狀態(tài),稱作“第三態(tài)”,即它是有別于邏輯“1”與“0”的第三態(tài)。接收器也作與發(fā)送端相對(duì)的規(guī)定,收、發(fā)端通過平衡雙絞線將AA與BB對(duì)應(yīng)相連,當(dāng)在收端AB之間有大于+200mV的電平時(shí),輸出正邏輯電平,小于-200mV時(shí),輸出負(fù)邏輯電平。接收器接收平衡線上的電平范圍通常在200mV至6V之間。參見圖3。圖3RS-422電氣規(guī)定RS-422標(biāo)準(zhǔn)全稱是“平衡電壓數(shù)字接口電路的電氣特性”,它定義了接口電路的特性。圖5是典型的RS-422四線接口。實(shí)際上還有一根信號(hào)地線,共5根線。圖4是其DB9連接器引腳定義。由于接收器采用高輸入阻抗和發(fā)送驅(qū)動(dòng)器比RS232更強(qiáng)的驅(qū)動(dòng)能力,故允許在相同傳輸線上連接多個(gè)接收
10、節(jié)點(diǎn),最多可接10個(gè)節(jié)點(diǎn)。即一個(gè)主設(shè)備(Master),其余為從設(shè)備(Salve),從設(shè)備之間不能通信,所以RS-422支持點(diǎn)對(duì)多的雙向通信。接收器輸入阻抗為4k,故發(fā)端最大負(fù)載能力是104k+100(終接電阻)。RS-422四線接口由于采用單獨(dú)的發(fā)送和接收通道,因此不必控制數(shù)據(jù)方向,各裝置之間任何必須的信號(hào)交換均可以按軟件方式(XON/XOFF握手)或硬件方式(一對(duì)單獨(dú)的雙絞線)實(shí)現(xiàn)。圖4圖5RS-422的最大傳輸距離為4000英尺(約1219米),最大傳輸速率為10Mb/s。其平衡雙絞線的長(zhǎng)度與傳輸速率成反比,在100kb/s速率以下,才可能達(dá)到最大傳輸距離。只有在很短的距離下才能獲得最高
11、速率傳輸。一般100米長(zhǎng)的雙絞線上所能獲得的最大傳輸速率僅為1Mb/s。RS-422需要一終接電阻,要求其阻值約等于傳輸電纜的特性阻抗。在矩距離傳輸時(shí)可不需終接電阻,即一般在300米以下不需終接電阻。終接電阻接在傳輸電纜的最遠(yuǎn)端。RS-422有關(guān)電氣參數(shù)見表1RS-485電氣規(guī)定由于RS-485是從RS-422基礎(chǔ)上發(fā)展而來的,所以RS-485許多電氣規(guī)定與RS-422相仿。如都采用平衡傳輸方式、都需要在傳輸線上接終接電阻等。RS-485可以采用二線與四線方式,二線制可實(shí)現(xiàn)真正的多點(diǎn)雙向通信,參見圖6。而采用四線連接時(shí),與RS-422一樣只能實(shí)現(xiàn)點(diǎn)對(duì)多的通信,即只能有一個(gè)主(Master)設(shè)備
12、,其余為從設(shè)備,但它比RS-422有改進(jìn),無論四線還是二線連接方式總線上可多接到32個(gè)設(shè)備。參見圖7。圖6圖7RS-485與RS-422的不同還在于其共模輸出電壓是不同的,RS-485是-7V至+12V之間,而RS-422在-7V至+7V之間,RS-485接收器最小輸入阻抗為12k劍鳵S-422是4k健;舊峽梢運(yùn)礡S-485滿足所有RS-422的規(guī)范,所以RS-485的驅(qū)動(dòng)器可以用在RS-422網(wǎng)絡(luò)中應(yīng)用。RS-485有關(guān)電氣規(guī)定參見表1。RS-485與RS-422一樣,其最大傳輸距離約為1219米,最大傳輸速率為10Mb/s。平衡雙絞線的長(zhǎng)度與傳輸速率成反比,在100kb/s速率以下,才可能
13、使用規(guī)定最長(zhǎng)的電纜長(zhǎng)度。只有在很短的距離下才能獲得最高速率傳輸。一般100米長(zhǎng)雙絞線最大傳輸速率僅為1Mb/s。RS-485需要2個(gè)終接電阻,其阻值要求等于傳輸電纜的特性阻抗。在矩距離傳輸時(shí)可不需終接電阻,即一般在300米以下不需終接電阻。終接電阻接在傳輸總線的兩端。RS-422與RS-485的網(wǎng)絡(luò)安裝注意要點(diǎn)RS-422可支持10個(gè)節(jié)點(diǎn),RS-485支持32個(gè)節(jié)點(diǎn),因此多節(jié)點(diǎn)構(gòu)成網(wǎng)絡(luò)。網(wǎng)絡(luò)拓?fù)湟话悴捎媒K端匹配的總線型結(jié)構(gòu),不支持環(huán)形或星形網(wǎng)絡(luò)。在構(gòu)建網(wǎng)絡(luò)時(shí),應(yīng)注意如下幾點(diǎn):1采用一條雙絞線電纜作總線,將各個(gè)節(jié)點(diǎn)串接起來,從總線到每個(gè)節(jié)點(diǎn)的引出線長(zhǎng)度應(yīng)盡量短,以便使引出線中的反射信號(hào)對(duì)總線信號(hào)
14、的影響最低。圖8所示為實(shí)際應(yīng)用中常見的一些錯(cuò)誤連接方式(a,c,e)和正確的連接方式(b,d,f)。a,c,e這三種網(wǎng)絡(luò)連接盡管不正確,在短距離、低速率仍可能正常工作,但隨著通信距離的延長(zhǎng)或通信速率的提高,其不良影響會(huì)越來越嚴(yán)重,主要原因是信號(hào)在各支路末端反射后與原信號(hào)疊加,會(huì)造成信號(hào)質(zhì)量下降。2應(yīng)注意總線特性阻抗的連續(xù)性,在阻抗不連續(xù)點(diǎn)就會(huì)發(fā)生信號(hào)的反射。下列幾種情況易產(chǎn)生這種不連續(xù)性:總線的不同區(qū)段采用了不同電纜,或某一段總線上有過多收發(fā)器緊靠在一起安裝,再者是過長(zhǎng)的分支線引出到總線??傊瑧?yīng)該提供一條單一、連續(xù)的信號(hào)通道作為總線。圖8RS-422與RS-485傳輸線上匹配的一些說明對(duì)RS
15、-422與RS-485總線網(wǎng)絡(luò)一般要使用終接電阻進(jìn)行匹配。但在短距離與低速率下可以不用考慮終端匹配。那么在什么情況下不用考慮匹配呢?理論上,在每個(gè)接收數(shù)據(jù)信號(hào)的中點(diǎn)進(jìn)行采樣時(shí),只要反射信號(hào)在開始采樣時(shí)衰減到足夠低就可以不考慮匹配。但這在實(shí)際上難以掌握,美國(guó)MAXIM公司有篇文章提到一條經(jīng)驗(yàn)性的原則可以用來判斷在什么樣的數(shù)據(jù)速率和電纜長(zhǎng)度時(shí)需要進(jìn)行匹配:當(dāng)信號(hào)的轉(zhuǎn)換時(shí)間(上升或下降時(shí)間)超過電信號(hào)沿總線單向傳輸所需時(shí)間的3倍以上時(shí)就可以不加匹配。例如具有限斜率特性的RS-485接口MAX483輸出信號(hào)的上升或下降時(shí)間最小為250ns,典型雙絞線上的信號(hào)傳輸速率約為0.2m/ns(24AWGPVC
16、電纜),那么只要數(shù)據(jù)速率在250kb/s以內(nèi)、電纜長(zhǎng)度不超過16米,采用MAX483作為RS-485接口時(shí)就可以不加終端匹配。一般終端匹配采用終接電阻方法,前文已有提及,RS-422在總線電纜的遠(yuǎn)端并接電阻,RS-485則應(yīng)在總線電纜的開始和末端都需并接終接電阻。終接電阻一般在RS-422網(wǎng)絡(luò)中取100,在RS-485網(wǎng)絡(luò)中取120。相當(dāng)于電纜特性阻抗的電阻,因?yàn)榇蠖鄶?shù)雙絞線電纜特性阻抗大約在100120。這種匹配方法簡(jiǎn)單有效,但有一個(gè)缺點(diǎn),匹配電阻要消耗較大功率,對(duì)于功耗限制比較嚴(yán)格的系統(tǒng)不太適合。另外一種比較省電的匹配方式是RC匹配,如圖9。利用一只電容C隔斷直流成分可以節(jié)省大部分功率。但
17、電容C的取值是個(gè)難點(diǎn),需要在功耗和匹配質(zhì)量間進(jìn)行折衷。還有一種采用二極管的匹配方法,如圖10。這種方案雖未實(shí)現(xiàn)真正的“匹配”,但它利用二極管的鉗位作用能迅速削弱反射信號(hào),達(dá)到改善信號(hào)質(zhì)量的目的。節(jié)能效果顯著。圖9圖10RS-422與RS-485的接地問題電子系統(tǒng)接地是很重要的,但常常被忽視。接地處理不當(dāng)往往會(huì)導(dǎo)致電子系統(tǒng)不能穩(wěn)定工作甚至危及系統(tǒng)安全。RS-422與RS-485傳輸網(wǎng)絡(luò)的接地同樣也是很重要的,因?yàn)榻拥叵到y(tǒng)不合理會(huì)影響整個(gè)網(wǎng)絡(luò)的穩(wěn)定性,尤其是在工作環(huán)境比較惡劣和傳輸距離較遠(yuǎn)的情況下,對(duì)于接地的要求更為嚴(yán)格。否則接口損壞率較高。很多情況下,連接RS-422、RS-485通信鏈路時(shí)只是
18、簡(jiǎn)單地用一對(duì)雙絞線將各個(gè)接口的“A”、“B”端連接起來。而忽略了信號(hào)地的連接,這種連接方法在許多場(chǎng)合是能正常工作的,但卻埋下了很大的隱患,這有下面二個(gè)原因:1共模干擾問題:正如前文已述,RS-422與RS-485接口均采用差分方式傳輸信號(hào)方式,并不需要相對(duì)于某個(gè)參照點(diǎn)來檢測(cè)信號(hào),系統(tǒng)只需檢測(cè)兩線之間的電位差就可以了。但人們往往忽視了收發(fā)器有一定的共模電壓范圍,如RS-422共模電壓范圍為-7+7V,而RS-485收發(fā)器共模電壓范圍為-7+12V,只有滿足上述條件,整個(gè)網(wǎng)絡(luò)才能正常工作。當(dāng)網(wǎng)絡(luò)線路中共模電壓超出此范圍時(shí)就會(huì)影響通信的穩(wěn)定可靠,甚至損壞接口。以圖11為例,當(dāng)發(fā)送驅(qū)動(dòng)器A向接收器B發(fā)
19、送數(shù)據(jù)時(shí),發(fā)送驅(qū)動(dòng)器A的輸出共模電壓為VOS,由于兩個(gè)系統(tǒng)具有各自獨(dú)立的接地系統(tǒng),存在著地電位差VGPD。那么,接收器輸入端的共模電壓VCM就會(huì)達(dá)到VCM=VOS+VGPD。RS-422與RS-485標(biāo)準(zhǔn)均規(guī)定VOS3V,但VGPD可能會(huì)有很大幅度(十幾伏甚至數(shù)十伏),并可能伴有強(qiáng)干擾信號(hào),致使接收器共模輸入VCM超出正常范圍,并在傳輸線路上產(chǎn)生干擾電流,輕則影響正常通信,重則損壞通信接口電路。圖112(EMI)問題:發(fā)送驅(qū)動(dòng)器輸出信號(hào)中的共模部分需要一個(gè)返回通路,如沒有一個(gè)低阻的返回通道(信號(hào)地),就會(huì)以輻射的形式返回源端,整個(gè)總線就會(huì)像一個(gè)巨大的天線向外輻射電磁波。由于上述原因,RS-42
20、2、RS-485盡管采用差分平衡傳輸方式,但對(duì)整個(gè)RS-422或RS-485網(wǎng)絡(luò),必須有一條低阻的信號(hào)地。一條低阻的信號(hào)地將兩個(gè)接口的工作地連接起來,使共模干擾電壓VGPD被短路。這條信號(hào)地可以是額外的一條線(非屏蔽雙絞線),或者是屏蔽雙絞線的屏蔽層。這是最通常的接地方法。值得注意的是,這種做法僅對(duì)高阻型共模干擾有效,由于干擾源內(nèi)阻大,短接后不會(huì)形成很大的接地環(huán)路電流,對(duì)于通信不會(huì)有很大影響。當(dāng)共模干擾源內(nèi)阻較低時(shí),會(huì)在接地線上形成較大的環(huán)路電流,影響正常通信。筆者認(rèn)為,可以采取以下三種措施:(1)如果干擾源內(nèi)阻不是非常小,可以在接地線上加限流電阻以限制干擾電流。接地電阻的增加可能會(huì)使共模電壓
21、升高,但只要控制在適當(dāng)?shù)姆秶鷥?nèi)就不會(huì)影響正常通信。(2)采用浮地技術(shù),隔斷接地環(huán)路。這是較常用也是十分有效的一種方法,當(dāng)共模干擾內(nèi)阻很小時(shí)上述方法已不能奏效,此時(shí)可以考慮將引入干擾的節(jié)點(diǎn)(例如處于惡劣的工作環(huán)境的現(xiàn)場(chǎng)設(shè)備)浮置起來(也就是系統(tǒng)的電路地與機(jī)殼或大地隔離),這樣就隔斷了接地環(huán)路,不會(huì)形成很大的環(huán)路電流。(3)采用隔離接口。有些情況下,出于安全或其它方面的考慮,電路地必須與機(jī)殼或大地相連,不能懸浮,這時(shí)可以采用隔離接口來隔斷接地回路,但是仍然應(yīng)該有一條地線將隔離側(cè)的公共端與其它接口的工作地相連。參見圖12。圖12RS-422與RS-485的網(wǎng)絡(luò)失效保護(hù)RS-422與RS-485標(biāo)準(zhǔn)都
22、規(guī)定了接收器門限為200mV。這樣規(guī)定能夠提供比較高的噪聲抑制能力,如前文所述,當(dāng)接收器A電平比B電平高+200mV以上時(shí),輸出為正邏輯,反之,則輸出為負(fù)邏輯。但由于第三態(tài)的存在,即在主機(jī)在發(fā)端發(fā)完一個(gè)信息數(shù)據(jù)后,將總線置于第三態(tài),即總線空閑時(shí)沒有任何信號(hào)驅(qū)動(dòng)總線,使AB之間的電壓在-200+200mV直至趨于0V,這帶來了一個(gè)問題:接收器輸出狀態(tài)不確定。如果接收機(jī)的輸出為0V,網(wǎng)絡(luò)中從機(jī)將把其解釋為一個(gè)新的啟動(dòng)位,并試圖讀取后續(xù)字節(jié),由于永遠(yuǎn)不會(huì)有停止位,產(chǎn)生一個(gè)幀錯(cuò)誤結(jié)果,不再有設(shè)備請(qǐng)求總線,網(wǎng)絡(luò)陷于癱瘓狀態(tài)。除上述所述的總線空閑會(huì)造成兩線電壓差低于200mV的情況外,開路或短路時(shí)也會(huì)出現(xiàn)
23、這種情況。故應(yīng)采取一定的措施避免接收器處于不確定狀態(tài)。圖13通常是在總線上加偏置,當(dāng)總線空閑或開路時(shí),利用偏置電阻將總線偏置在一個(gè)確定的狀態(tài)(差分電壓-200mV)。如圖13。將A上拉到地,B下拉到5V,電阻的典型值是1k,具體數(shù)值隨電纜的電容變化而變化。上述方法是比較經(jīng)典的方法,但它仍然不能解決總線短路時(shí)的問題,有些廠家將接收門限移到-200mV/-50mV,可解決這個(gè)問題。例如Maxim公司的MAX3080系列RS-485接口,不僅省去了外部偏置電阻,而且解決了總線短路情況下的失效保護(hù)問題。RS-422與RS-485的瞬態(tài)保護(hù)前文提到的信號(hào)接地措施,只對(duì)低頻率的共模干擾有保護(hù)作用,對(duì)于頻率
24、很高的瞬態(tài)干擾就無能為力了。由于傳輸線對(duì)高頻信號(hào)而言就是相當(dāng)于電感,因此對(duì)于高頻瞬態(tài)干擾,接地線實(shí)際等同于開路。這樣的瞬態(tài)干擾雖然持續(xù)時(shí)間短暫,但可能會(huì)有成百上千伏的電壓。實(shí)際應(yīng)用環(huán)境下還是存在高頻瞬態(tài)干擾的可能。一般在切換大功率感性負(fù)載如電機(jī)、變壓器、繼電器等或閃電過程中都會(huì)產(chǎn)生幅度很高的瞬態(tài)干擾,如果不加以適當(dāng)防護(hù)就會(huì)損壞RS-422或RS-485通信接口。對(duì)于這種瞬態(tài)干擾可以采用隔離或旁路的方法加以防護(hù)。1隔離保護(hù)方法。這種方案實(shí)際上將瞬態(tài)高壓轉(zhuǎn)移到隔離接口中的電隔離層上,由于隔離層的高絕緣電阻,不會(huì)產(chǎn)生損害性的浪涌電流,起到保護(hù)接口的作用。通常采用高頻變壓器、光耦等元件實(shí)現(xiàn)接口的電氣隔
25、離,已有器件廠商將所有這些元件集成在一片IC中,使用起來非常簡(jiǎn)便,如Maxim公司的MAX1480/MAX1490,隔離電壓可達(dá)2500V。這種方案的優(yōu)點(diǎn)是可以承受高電壓、持續(xù)時(shí)間較長(zhǎng)的瞬態(tài)干擾,實(shí)現(xiàn)起來也比較容易,缺點(diǎn)是成本較高。2旁路保護(hù)方法。這種方案利用瞬態(tài)抑制元件(如TVS、MOV、氣體放電管等)將危害性的瞬態(tài)能量旁路到大地,優(yōu)點(diǎn)是成本較低,缺點(diǎn)是保護(hù)能力有限,只能保護(hù)一定能量以內(nèi)的瞬態(tài)干擾,持續(xù)時(shí)間不能很長(zhǎng),而且需要有一條良好的連接大地的通道,實(shí)現(xiàn)起來比較困難。實(shí)際應(yīng)用中是將上述兩種方案結(jié)合起來靈活加以運(yùn)用,如圖14。在這種方法中,隔離接口對(duì)大幅度瞬態(tài)干擾進(jìn)行隔離,旁路元件則保護(hù)隔離
26、接口不被過高的瞬態(tài)電壓擊穿。常見的I/O設(shè)備及其與PC間的連接方法1、PC-Based設(shè)備常見的PC-Based設(shè)備及其通訊連接方式見表。常見的PC-Based設(shè)備及其通訊連接方式生產(chǎn)商產(chǎn)品型號(hào)設(shè)備端通訊適配器型號(hào)PC端通訊適配器型號(hào)通訊方式研華PC、PCI總線數(shù)據(jù)采集和控制卡、PC/104模塊、CompactPCI工業(yè)控制計(jì)算機(jī)。RS232/RS422/RS485、以太網(wǎng)RS232/RS422/RS485、以太網(wǎng)采集/控制站與操作站合一時(shí),不使用通訊協(xié)議;采集/控制站與操作站不合一時(shí),在采集/控制站上運(yùn)行嵌入式監(jiān)控組態(tài)軟件,通過TCP/IP、CAN等協(xié)議與操作站通訊ADAM4000系列遠(yuǎn)程數(shù)
27、據(jù)采集控制模塊RS422/RS485RS422/RS485ADAM4000通訊協(xié)議ADAM5000系列數(shù)據(jù)采集控制系統(tǒng)RS232/RS422/RS485/CANRS232/RS422/RS485/CANCAN、Modbus等艾訊PC、PCI總線數(shù)據(jù)采集和控制卡、PC/104模塊、CompactPCI、FamaPLC等工業(yè)控制計(jì)算機(jī)。RS232/RS422/RS485、以太網(wǎng)RS232/RS422/RS485、以太網(wǎng)采集/控制站與操作站合一時(shí),不使用通訊協(xié)議;采集/控制站與操作站不合一時(shí),在采集/控制站上運(yùn)行嵌入式監(jiān)控組態(tài)軟件,通過TCP/IP、CAN等協(xié)議與操作站通訊。IDAM7000系列遠(yuǎn)程
28、數(shù)據(jù)采集控制模塊RS422/RS485RS422/RS485IDAM7000通訊協(xié)議康泰克PC、PCI總線數(shù)據(jù)采集和控制卡。RS232/RS485、以太網(wǎng)。RS232/RS485、以太網(wǎng)。采集/控制站與操作站合一時(shí),不使用通訊協(xié)議;采集/控制站與操作站不合一時(shí),在采集/控制站上運(yùn)行嵌入式監(jiān)控組態(tài)軟件,通過TCP/IP協(xié)議與操作站通訊。WindowsCEBOX工業(yè)控制計(jì)算機(jī)。RS232/RS485、以太網(wǎng)RS232/RS485、以太網(wǎng)。通過TCP/IP協(xié)議與操作站通訊。研祥PC、PCI總線數(shù)據(jù)采集和控制卡、PC/104模塊、CompactPCI工業(yè)控制計(jì)算機(jī)。RS232/RS422/RS485、
29、以太網(wǎng)。RS232/RS422/RS485、以太網(wǎng)。采集/控制站與操作站合一時(shí),不使用通訊協(xié)議;采集/控制站與操作站不合一時(shí),在采集/控制站上運(yùn)行嵌入式監(jiān)控組態(tài)軟件,通過TCP/IP、CAN等協(xié)議與操作站通訊。ADAN4000系列遠(yuǎn)程數(shù)據(jù)采集控制模塊RS422/RS485RS422/RS485ADAN4000通訊協(xié)議ADAN5000系列數(shù)據(jù)采集控制系統(tǒng)RS232/RS422/RS485/CAN以太網(wǎng)。RS232/RS422/RS485/CAN/以太網(wǎng)。CAN、Modbus、TCP/IP等。威達(dá)PC、PCI總線數(shù)據(jù)采集和控制卡、PC/104模塊、CompactPCI工業(yè)控制計(jì)算機(jī)。RS232/R
30、S422/RS485、以太網(wǎng)。RS232/RS422/RS485、以太網(wǎng)。采集/控制站與操作站合一時(shí),不使用通訊協(xié)議;采集/控制站與操作站不合一時(shí),在采集/控制站上運(yùn)行嵌入式監(jiān)控組態(tài)軟件,通過TCP/IP、CAN等協(xié)議與操作站通訊。牛頓7000、8000系列數(shù)據(jù)采集控制系統(tǒng)。RS232/RS422/RS485/CAN以太網(wǎng)。RS232/RS422/RS485/CAN/以太網(wǎng)。牛頓7000通訊協(xié)議2、PLC設(shè)備常見的PLC設(shè)備及其通訊連接方式見表。常見的PLC設(shè)備及其通訊連接方式生產(chǎn)商產(chǎn)品型號(hào)通訊方式OMRONCPM1RS232/RS422CQM1RS232/RS422、COMPOBUS/S、C
31、OMPOBUS/DC1000H/C2000HC200HCVMCVCS1RS232/RS422、ControllerLink、SYSMACLINK、SYSNET、Ethernet、CompoBus/s、CompoBus/DC20H-C60HRS232/RS422MISTUBISHFX系列RS232/RS422A系列Q系列RS232/RS422/USB、PROFIBUS、Modbus、MELSECNET10、CC-Link、EthernetAllen-BradleyControlLogixPLC5SLC500RS232/RS422、DH+/DH485、ControlNet、Ethernet、Dev
32、iceNet松下FP0/FP1FP3FP10SHRS232/RS422、Ethernet、MEWNET、C-NETGEFanucLM90-30LM90-70RS-232/422、Ethernet、GENIUSBUS、PROFIBUS、WorldFip、InterBus-sSchneidernanoRS485Tsx-MICRORS232/RS422Tsx-PremiumTsx-QuantumTsx-MomentumEthernet、Modbus-Plus、RS232(MODBUS)、WorldFip、InterBus、PROFIBUSSiemensS5PROFIBUSS7-200PPIS7-30
33、0S7-400MPI、PROFIBUS、Ethernet3、智能指示、控制儀表及控制器目前國(guó)內(nèi)外的智能儀表廠商有數(shù)千家,產(chǎn)品種類繁多,難以歸納,其中數(shù)字指示儀、單(多)回路調(diào)節(jié)器、流量積算儀、智能終端、樓宇自控設(shè)備所占比重較大,這里不一一列舉。這些儀表與計(jì)算機(jī)間的通訊方式以RS485居多,但越來越多的產(chǎn)品會(huì)增加現(xiàn)場(chǎng)總線的通訊接口,智能控制器、樓宇自控設(shè)備使用現(xiàn)場(chǎng)總線的較多(如LonWorks、C-Bus等)。在這方面較有影響的廠商有霍尼韋爾、橫河、富士電機(jī)、山武、歐陸、慕爾、ABB、H&B、梅特勒-托利多、GEFRAN等。計(jì)算機(jī)與PLC的通訊可編程序控制器(PLC)都有一個(gè)編程口。以日本三菱公
34、司生產(chǎn)的PLC為例(包括FX系列和A系列),其編程口為RS-422格式,根據(jù)PLC型號(hào)不同又分為8針座編程口和25針座編程口。對(duì)于后者,可直接將SC08編程電纜將PLC的編程口和微型計(jì)算機(jī)的RS232口連接起來;對(duì)于后者,則還需要一根轉(zhuǎn)換電纜將PLC的8針座編程口和25針編程電纜相連。無論何種情況,一旦將PLC用戶程序由微型計(jì)算機(jī)編程環(huán)境傳到PLC用戶程序區(qū),其編程口大多就沒有被再利用。其實(shí),這是一種浪費(fèi)。也就是說,可利用此編程口實(shí)現(xiàn)微型計(jì)算機(jī)和PLC的數(shù)據(jù)通訊,將PLC的工作狀態(tài)納入微型計(jì)算機(jī)管理之下。編程口操作命令類型與通訊端口初始化串行通訊是計(jì)算機(jī)與其它機(jī)器之間進(jìn)行通訊的一種常用方法,在
35、WINDOWS操作系統(tǒng)中提供了實(shí)現(xiàn)各種串行通訊的API函數(shù)。通過SC08編程電纜或FX232AW模塊,可將微型計(jì)算機(jī)的串行通訊口RS232和PLC的編程口連接起來,這樣微型計(jì)算機(jī)就可對(duì)PLC的RAM區(qū)數(shù)據(jù)進(jìn)行讀、寫操作。由PLC本身所具有的特性,可對(duì)PLC進(jìn)行以下四種類型的操作:(1)位元件或字元件狀態(tài)讀操作(CMD0);(2)位元件或字元件狀態(tài)寫操作(CMD1);(3)位元件強(qiáng)制ON操作(CMD7);(4)位元件強(qiáng)制OFF操作(CMD8)。另外,在進(jìn)行上述四類操作以前,首先要對(duì)端口進(jìn)行初始化操作,即設(shè)定通訊協(xié)議(包括設(shè)置通訊波特率、數(shù)據(jù)位數(shù)、數(shù)據(jù)停止位及奇偶校驗(yàn))。在WINDOWS的SDK中
36、定義了一個(gè)結(jié)構(gòu)DCB,該結(jié)構(gòu)詳細(xì)地說明了如何對(duì)通訊端口進(jìn)行控制,所以通訊端口的初始化也是圍繞著對(duì)這個(gè)結(jié)構(gòu)的正確設(shè)置為中心進(jìn)行的。用VC語言實(shí)現(xiàn)端口初始化如下:BOOLCSerial:Open(intnPort)/nPort為微型計(jì)算機(jī)串行通訊口端口號(hào)。nport=1為端口1;nPort=2為端口2。charszPort15;DCBdob;m_hIDComDev=CreateFile(szPort,GENERIC_READGENERIC_WRITE,O,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMALFILE_FLAG_OVERLAPPED,NULL);dcb.D
37、CB1ength=sizeof(DCB);GetCommState(m_hIDComDev,&dcb);/取得通訊資源當(dāng)前設(shè)置dcb.BaudRate=9600;/設(shè)定波特率為9600dcb.ByteSize=7;/7數(shù)據(jù)位dcb.Parity=2;/偶校驗(yàn)dcb.StopBits=0;/設(shè)定1個(gè)停止位if(SetCommState(m_hIDComDev,&dcb)return(TRUE);elsereturn(FALSE);/設(shè)置端口,若設(shè)置成功則返回TRUE,否則返回FALSE需要說明的是CSerial是一個(gè)用于串行通訊的類,它包含了進(jìn)行串行通訊的所需的函數(shù)。除上述端口初始化成員函數(shù)Op
38、en外,還包括另兩個(gè)重要成員函數(shù):一個(gè)是endData,把數(shù)據(jù)從一個(gè)緩沖區(qū)發(fā)送到串行端口。另一個(gè)是ReadData,從端口的接收緩沖區(qū)中讀入數(shù)據(jù)。其次,在每進(jìn)行一次上述四類操作中的一種操作以前,還要進(jìn)行握手聯(lián)絡(luò)。對(duì)PLC發(fā)請(qǐng)求訊號(hào)ENQ(代碼為OX05),然后讀PLC的響應(yīng)訊號(hào)。如果讀到的響應(yīng)訊號(hào)為ACK(代碼為OX06),則表示PLC已準(zhǔn)備就緒,等待接收通訊數(shù)據(jù)。握手聯(lián)絡(luò)VC語言示PLC已準(zhǔn)備就緒,等待接收通訊數(shù)據(jù)。握手聯(lián)絡(luò)VC語言實(shí)現(xiàn)為:BOOLCNTJD1g:ReadFromPLC(char*Read_charchar*Read_address,intRead_bytes)CSerial
39、Serial;/用于串行通訊的類charread_BUFFER;if(Serial.Open(2)/初始化串行口通訊口COM2Serial.SendData(&ENQ_request,1);/發(fā)送聯(lián)絡(luò)訊號(hào)Sleep(1000);/等待1秒鐘Serial.ReadData(&read_BUFFER,1);/讀取PLC響應(yīng)訊號(hào)if(read_BUFFER=ACK)如果PLC響應(yīng)訊號(hào)等于ACK,則進(jìn)行上述四種操作:Serial.Close():/操作完畢后,關(guān)閉通訊口編程口命令操作(1)位元件或字元件狀態(tài)讀操作操作對(duì)象元件:PLC內(nèi)部的X、Y、M、S、T、C、D元件;命令格式:說明:為讀命令起始標(biāo)志
40、STX,代碼為OX02;為位元件或字元件狀態(tài)讀命令CMDO,命令代碼為OX30;為讀位元件或字元件的4位起始地址,高位先發(fā),低位后發(fā),且是以ASCII碼的形式發(fā)送;為一次讀取位元件或字元件的個(gè)數(shù),最多一次可讀取OXff個(gè)字節(jié)的元件,以ASCII碼的形式發(fā)送;為停止位標(biāo)志ETX,代碼為OX03;為2位和校驗(yàn),和累計(jì)為、項(xiàng)代碼,取其和最低兩位轉(zhuǎn)化成ASCII碼,高位先發(fā),低位后發(fā)。在發(fā)送完上述命令格式代碼后,就可直接讀取PLC響應(yīng)的信息。響應(yīng)信息格式如下:VC語言實(shí)現(xiàn):BOOLCNTJDlg:ReadFromPLC(char*Read_charchar*Read_address,intRead_b
41、ytes)charsenddatasum_CHECK2;charreaddatasum_CHECK2;chartotal_DATABYTES2;charreaddatasum_check2;intreaddata_sum;intdatasum_check=0;inti;Serial.SendData(&STX_start,1);/向PLC發(fā)送“開始”標(biāo)志代碼Serial.SendData(&CMDO_read,1);/發(fā)送“讀”命令代碼datasum_check+=CMDO_read;for(i=0;i4;i+)Serial.SendData(&Read_addressi,1);/發(fā)送起始元件
42、地址的ASCII代碼datasum_check+=Read_addressi;ChangetoASCII(totalDATABYTES,Read_bytes);/將字節(jié)數(shù)轉(zhuǎn)化成ASCII代碼for(i=0;i2;i+)Serial.SendData(&total_DATABYTESi,1);/發(fā)送元件字節(jié)數(shù)的ASCII代碼)datasum_check+total_DATABYTESi;Serial.SendData(&ETX_end,1);/發(fā)送“結(jié)束”標(biāo)志代碼senddatasum_CHECK+ETX_end;Change_to_ASCII(senddatasum_CHECK,senddat
43、asum_CHECK);/將“和”轉(zhuǎn)化成ASCII碼for(i=0;i2;i+)Serial.SendData(&senddatasum_CHECKi,1);Sleep(1000);/等待PLC響應(yīng)Serial.ReadData(&read_BUFFER,1);if(read_BUFFER=STX_start)readdata_sum=0;for(i=0;i2*Read_bytes;i+)Serial.ReadData(&Read_chari,1);/讀Read_bytes個(gè)字節(jié)readdata_sum+Read_chari;Serial.ReadData(&read_BUFFER,1);if
44、(read_BUFFER=ETX_end)Serial.ReadData(readdatasum_CHECK,2);/讀入的“和”的低2位ASCII碼Readdata_sum+=ETX_end;Change_to_ASCII(readdatasum_check,readdata_sum);/將計(jì)算得到的“和”轉(zhuǎn)化成ASCII碼if(*readdatasum_CHECK=*readdatasum_check)/“和”校驗(yàn)AfxMessageBox(“數(shù)據(jù)讀出成功!”)returnTRUE;elseAfxMessageBox(“校驗(yàn)錯(cuò)誤”)returnFALSE.(2)位元件或字元件狀態(tài)寫操作操作
45、對(duì)象元件:同3(1);命令格式:說明:為寫命令起始標(biāo)志STX,代碼為OX02;為位元件或字元件狀態(tài)寫命令CMD1,命令代碼為OX31;為寫位元件或字元件的4位起始地址,高位先發(fā),低位后發(fā),且是以ASCII碼的形式發(fā)送;為一次寫入位元件或字元件的個(gè)數(shù),以ASCII碼的形式發(fā)送;為待寫到PLCRAM區(qū)的數(shù)據(jù)DATA,以ASCII碼形式發(fā)送;為停止位標(biāo)志ETX,代碼為OX03;為2位和校驗(yàn),和累計(jì)為、項(xiàng)代碼,取其和最低兩位轉(zhuǎn)化成ASCII碼,高位先發(fā),低位后發(fā)。VC語言實(shí)現(xiàn):BOOLCNTJDlg:WritePLC(char*data_ADDRESS,char*Write_ASC,intbytesn
46、umber)chartotal_BYTES2;charsenddatasum_CHECK2;charread_BUFFER;charread_finishBUFFER;intdatasum_check=0;inti=0;Serial.SendData(&STX_start,1);/向PLC發(fā)送“開始”標(biāo)志代碼datasum_check=0;Serial.SendData(&CMD1_write,1);/發(fā)送“寫”命令代碼datasum_check+CMD1_write;for(i=0;i4;i+)Serial.SendData(&data_ADDRESSi,1);/發(fā)送起始元件地址的ASCII
47、碼datasum_check+=data_ADDRESSi;Change_to_ASCII(total_DATABYTES,bytesnumber);/將字節(jié)數(shù)轉(zhuǎn)化成ASCII碼for(i=0;i2;i+)Serial.SendData(&total_BYTES,1);/發(fā)送元件字節(jié)數(shù)的ASCII代碼datasum_check+=total_BYTESi;fori=0;ibytesnumber*2;i+)Serial.SendData(&Write_ASCi,1);/發(fā)送要寫入的數(shù)據(jù)的ASCII碼datasum_check+=Write_ASCi;Serial.SendData(&ETX_en
48、d,1);/發(fā)送“結(jié)束”標(biāo)志代碼datasum_check+=ETX_end;Change_to_ASCII(senddatasum_CHECK,datasum_check);/將“和”轉(zhuǎn)化成ASCII碼Serial.SendData(&senddatasum_CHECK,2);Sleep(1000);Serial.ReadData(&read_finishBUFFER,1);if(read_finishBUFFER=ACK_reply)AfxMessageBox(“數(shù)據(jù)寫入OK”)returnTRUE;elseAfxMessageBox(“數(shù)據(jù)寫入失敗”)returnFALSE。(3)位元件強(qiáng)制ON操作操作對(duì)象:X、Y、M、S、T、C元件;命令格式:說明:為強(qiáng)制ON命令起始標(biāo)志STX,代碼為OX02;為強(qiáng)制ON命令CMD7,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020CXO行業(yè)分析研究報(bào)告
- 2025年賽力皮革染料項(xiàng)目合作計(jì)劃書
- 加盟粉店合同范本
- 合同范本修編
- 合同范本 驗(yàn)收標(biāo)準(zhǔn)
- 銀行保險(xiǎn)合同范本
- 雙孢菇銷售合同范本
- 2000施工合同范本
- 合伙資產(chǎn)轉(zhuǎn)讓合同范例
- 參團(tuán)合同范本
- 民兵組織建設(shè)課件
- 腹腔鏡下闌尾切除術(shù)護(hù)理課件
- 《抖音生活服務(wù)服務(wù)商合作手冊(cè)》
- 語文教學(xué)設(shè)計(jì)(教案目標(biāo))
- 工程造價(jià)三級(jí)復(fù)核
- 皮膚性病學(xué)課件:濕疹皮炎
- 綠化養(yǎng)護(hù)重點(diǎn)難點(diǎn)分析及解決措施
- 一體化學(xué)工服務(wù)平臺(tái)、人事管理系統(tǒng)、科研管理系統(tǒng)建設(shè)方案
- 市場(chǎng)營(yíng)銷學(xué)課后習(xí)題與答案
- 常暗之廂(7規(guī)則-簡(jiǎn)體修正)
- 10kV變電所設(shè)備檢修內(nèi)容與周期表
評(píng)論
0/150
提交評(píng)論