RS-485多從機(jī)競(jìng)爭(zhēng)的解決方案

     

                                  RS-485多從機(jī)競(jìng)爭(zhēng)的解決方案

                                   武漢波仕電子有限公司  向媛

        在RS-485多機(jī)通信中,往往會(huì)出現(xiàn)多個(gè)從機(jī)同時(shí)向主機(jī)發(fā)送數(shù)據(jù)。比如在RS-485溫度測(cè)量系統(tǒng)中,多個(gè)RS-485從機(jī)的溫度測(cè)量值只要**過(guò)報(bào)警點(diǎn)就立即向主機(jī)發(fā)送報(bào)警信息,但是這也可能會(huì)出現(xiàn)2個(gè)或者2個(gè)以上的RS-485從機(jī)同時(shí)向主機(jī)發(fā)送報(bào)警信息。如果不采取RS-485競(jìng)爭(zhēng)解決機(jī)制,那么就可能會(huì)導(dǎo)致2個(gè)從機(jī)同時(shí)發(fā)送的信息重疊,這樣主機(jī)就無(wú)法接收到正確的信號(hào),嚴(yán)重的還可能導(dǎo)致整個(gè)RS-485系統(tǒng)的崩潰。傳統(tǒng)的解決方案是由主機(jī)循環(huán)輪流對(duì)各個(gè)RS-485下位機(jī)點(diǎn)名通信,這雖然解決了RS-485多從機(jī)的競(jìng)爭(zhēng),但是同時(shí)延誤了實(shí)時(shí)報(bào)警信息。本文介紹的新方案之一能夠識(shí)別從機(jī)發(fā)送信號(hào)的時(shí)間順序,先發(fā)送的從機(jī)信號(hào)可以同時(shí)抑制其他從機(jī)的RS-485發(fā)送信號(hào),只有等先發(fā)送信號(hào)的從機(jī)發(fā)送完畢之后其它從機(jī)才能夠發(fā)送RS-485信號(hào)。本文介紹的新方案之二可以讓下位機(jī)能夠主動(dòng)發(fā)送自己的地址,這樣就*主機(jī)對(duì)各從機(jī)進(jìn)行輪流查詢(xún)。本文介紹的新方案之三是將從機(jī)轉(zhuǎn)換為不同的波特率,由于主機(jī)每次只能夠接收某一種波特率的信號(hào),這樣就完全避免了多從機(jī)的競(jìng)爭(zhēng)。本文中的“上位機(jī)”即“主機(jī)”,“下位機(jī)”即“從機(jī)”。

       1、在RS-485總線中接入RS-485智能共享器

            2RS-485對(duì)1RS-485智能共享器(型號(hào):HUB2485Z)本來(lái)是用于兩個(gè)RS-485上位機(jī)共同控制一個(gè)RS-485下位機(jī)的通信連接,在這里我們將HUB2485Z用于兩臺(tái)下位機(jī)的RS-485口共享一臺(tái)位機(jī)的RS-485口HUB2485Z使RS-485總線同時(shí)接2個(gè)從機(jī)(下位機(jī))。HUB2485Z已經(jīng)有2個(gè)下位機(jī)RS-485(1)和RS-485(2)的插座(DB-9針并且配接線端子)和1個(gè)上位機(jī)的接線端子,*修改軟件、5V供電。HUB2485Z適用于兩臺(tái)下位機(jī)的RS-485口同時(shí)驅(qū)動(dòng)一臺(tái)位機(jī)的RS-485口。HUB2485Z的外型為DB-9(針)/ DB-9(針)轉(zhuǎn)接盒大小,其中兩個(gè)DB-9針的RS-485口均配接線端子。兩個(gè)DB-9針的下位機(jī)RS-485口,如圖RS-4851)和RS-485(2)是完全一樣的,可以互換。上位機(jī)RS-485為接線端子,位于如圖產(chǎn)品的上側(cè)面,與電源接線端子在一起。HUB2485Z需要外接5V電源,配套提供。

    波仕HUB2485Z智能RS-485集線器能夠識(shí)別兩個(gè)位機(jī)RS-485(1)和RS-485(2)的發(fā)送順序,避免同時(shí)發(fā)送導(dǎo)致的系統(tǒng)癱瘓。也就是說(shuō),即使兩個(gè)位機(jī)正在同時(shí)發(fā)送,HUB2485Z會(huì)選取發(fā)送開(kāi)始時(shí)間良好的位機(jī)正確發(fā)送數(shù)據(jù),而只有等到這一個(gè)位機(jī)的數(shù)據(jù)發(fā)送完畢后,另外一個(gè)位機(jī)才可以開(kāi)始發(fā)送數(shù)據(jù)。HUB2485Z的具有雙向通信功能,當(dāng)位機(jī)發(fā)送時(shí),兩個(gè)位機(jī)同時(shí)接收到相同的數(shù)據(jù),并不區(qū)分地址。

     

    在圖2中,舉例說(shuō)明了同時(shí)接4個(gè)RS-485下位機(jī)的布線圖,實(shí)際上還可以一直繼續(xù)接下去。以接4個(gè)下位機(jī)為例,下位機(jī)4和下位機(jī)3分別接入3號(hào)HUB2485Z的RS-485(1)和RS-485(2)口,共享的RS-485口再級(jí)聯(lián)接入另外一個(gè)2號(hào)HUB2485Z的RS-485(2)口,2號(hào)HUB2485Z的RS-485(1)接下位機(jī)2。以此類(lèi)推,2號(hào)HUB2485Z的RS-485(2)口接下位機(jī)2,共享的RS-485接到1號(hào)HUB2485Z的RS-485(2),1號(hào)HUB2485Z的RS-485(1)接下位機(jī)1。在這樣的布線結(jié)構(gòu)中,每一個(gè)下位機(jī)都接入到了HUB2485Z共享器,由于HUB2485Z是可以級(jí)聯(lián)的,所以非常靈活地接入多個(gè)下位機(jī)。實(shí)際上,1號(hào)HUB2485Z的RS-485(1)也可以繼續(xù)級(jí)聯(lián)新的HUB2485Z。 

    2、在RS-485總線中接入RS-485地址轉(zhuǎn)換器

         傳統(tǒng)的RS-485多機(jī)通信方案是每次都由主機(jī)循環(huán)輪流對(duì)各個(gè)RS-485下位機(jī)點(diǎn)名通信,主機(jī)先發(fā)送被呼叫的從機(jī)的地址,總線中每一個(gè)從機(jī)都將這個(gè)地址信號(hào)與自己的地址進(jìn)行比較,地址一樣就繼續(xù)也主機(jī)通信,不一樣就不與主機(jī)通信。這樣可能存在的問(wèn)題就是從機(jī)發(fā)送的信號(hào)是可以不帶本從機(jī)地址的,因?yàn)橹鳈C(jī)已經(jīng)發(fā)送了從機(jī)地址信息,緊接著收到的從機(jī)信號(hào)一定就是這個(gè)被點(diǎn)名的從機(jī)的信號(hào),而且從機(jī)信號(hào)不帶地址可以較大簡(jiǎn)化主機(jī)的信號(hào)處理程序。從機(jī)發(fā)送的信號(hào)不帶從機(jī)地址就會(huì)限制RS-485多機(jī)通信的實(shí)時(shí)性,比如RS-485多機(jī)溫度測(cè)量系統(tǒng)就不能夠?qū)崟r(shí)報(bào)警,因?yàn)橹鳈C(jī)不知道發(fā)送報(bào)警信號(hào)的從機(jī)的地址。

     

    波仕電子的DIZ485地址串口轉(zhuǎn)換器用于實(shí)現(xiàn)串口(同時(shí)支持RS-232和RS-485)之間的帶地址的轉(zhuǎn)換。通過(guò)跳線設(shè)置地址編碼,DIZ485可以將串口接收到的數(shù)據(jù)附加上地址編碼發(fā)送出去,也可以將帶地址編碼的串口數(shù)據(jù)送到對(duì)應(yīng)地址的轉(zhuǎn)換器的串口。 DIZ485與其它同類(lèi)產(chǎn)品相比的特點(diǎn)是可以識(shí)別下位機(jī)的地址、下位機(jī)可以主動(dòng)發(fā)送帶地址的數(shù)據(jù)。 波仕DIZ485地址串口轉(zhuǎn)換器的外形為DB-9/DB-9轉(zhuǎn)接盒大小,如圖,產(chǎn)品左邊為主串口,包括DB-9的RS-232口,和標(biāo)明為A1、B1的RS-485口。右邊為從串口,包括DB-9的RS-232口,和標(biāo)明為A2、B2的RS-485口。左上側(cè)J2、J1、J0為波特率設(shè)置的跳線,右上側(cè)K2、K1、K0為地址編碼設(shè)置的跳線,下面中間為5V電源接線端子。

    DIZ485 使用非常方便。首先根據(jù)波特率進(jìn)行波特率跳線設(shè)置,然后跳線設(shè)置本產(chǎn)品的地址。通信規(guī)則:主串口數(shù)據(jù)=地址碼+從串口數(shù)據(jù)   如果主串口收到 ###1:1234567,那么地址為1的產(chǎn)品的從串口發(fā)送出 1234567(地址不是1的產(chǎn)品的從串口不發(fā)送任何數(shù)據(jù)),就是去幀頭。地址碼就是在K2、K1、K0跳線設(shè)置值的**加3個(gè)井號(hào)(###)和后面加一個(gè)冒號(hào)(:)的英文字符。如果地址為1的產(chǎn)品的從串口收到abcdefg ,則主串口發(fā)送出###1:abcdefg 就是加幀頭。

    加入RS-485地址轉(zhuǎn)換器可以使得RS-485從機(jī)可以隨時(shí)主動(dòng)向上位機(jī)發(fā)送消息,因?yàn)樾盘?hào)中自動(dòng)加上了從機(jī)地址信息,這樣主機(jī)就可以識(shí)別下位機(jī)。

    3、在RS-485總線中接入串口波特率轉(zhuǎn)換器

    RS-485多機(jī)通信,本來(lái)是要求通信的雙方波特率等通信格式一樣才可以通信成功??墒?/span>為了解決這種情況下出現(xiàn)RS-485多從機(jī)競(jìng)爭(zhēng)的問(wèn)題,波仕電子在世界上**提出了一種多波特率的多機(jī)通信方式。本來(lái)是相同波特率的RS-485從機(jī)設(shè)備,我們?nèi)藶榈貙臋C(jī)進(jìn)行串口波特率的轉(zhuǎn)換。當(dāng)多個(gè)從機(jī)都轉(zhuǎn)換為不同的波特率后,由于每個(gè)RS-485從機(jī)發(fā)送信號(hào)的波特率不同,而主機(jī)同一時(shí)間只能夠收到某一種波特率的信號(hào),這樣就自然避免了多從機(jī)同時(shí)發(fā)送的競(jìng)爭(zhēng)問(wèn)題。節(jié)介紹如何實(shí)現(xiàn)串口波特率的轉(zhuǎn)換。

    串口波特率轉(zhuǎn)換器用于實(shí)現(xiàn)不同波特率的RS-485/RS-232口的通信轉(zhuǎn)換,純硬件跳線設(shè)置,*任何軟件設(shè)置。串口波特率轉(zhuǎn)換器的外形為DB-9/DB-9轉(zhuǎn)接盒大小,如圖4。串口波特率轉(zhuǎn)換器的內(nèi)部有一個(gè)帶雙串口的單片機(jī)。單片機(jī)自動(dòng)完成兩個(gè)串口之間的數(shù)據(jù)交換。單片機(jī)程序用C語(yǔ)言編寫(xiě),**功能就是先將兩個(gè)串口UART1和UART2根據(jù)跳線設(shè)置的狀態(tài)進(jìn)行波特率等初始化設(shè)置,然后隨時(shí)將UART1接收的數(shù)據(jù)立即送到UART2的發(fā)送區(qū)、以及將UART2接收的數(shù)據(jù)立即送到UART1的發(fā)送區(qū)。

     

    上位機(jī)串口A的波特率通過(guò)產(chǎn)品的J2、J1、J0來(lái)設(shè)置,下位機(jī)串口B的波特率通過(guò)產(chǎn)品的K2、K1、K0來(lái)設(shè)置,見(jiàn)表格。波特率轉(zhuǎn)換器的兩邊的串口可以分別獨(dú)立設(shè)置波特率,見(jiàn)下表。

     DB-9孔R(shí)S-232口波特率設(shè)置

     

    DB-9針RS-232口波特率設(shè)置

    J2

    J1

    J0

     波特率

    K2

    K1

     K0

     波特率

     0

     0

     0

     1200

     0

     0

     0

     1200

     0

     0

     1

     2400

     0

     0

     1

     2400

     0

     1

     0

     4800

     0

     1

     0

     4800

     0

     1

     1

     9600

     0

     1

     1

     9600

     1

     0

     0

    19200

     1

     0

     0

    19200

     1

     0

     1

    38400

     1

     0

     1

    38400

     1

     1

     0

    57600

     1

     1

     0

    57600

     1

     1

     1

    115200

     1

     1

     1

    115200

                   

    由串口波特率轉(zhuǎn)換器實(shí)現(xiàn)的RS-485多機(jī)通信圖與圖3所示的“為RS-485下位機(jī)加上地址”的布線結(jié)構(gòu)完全相同。由于每次主機(jī)通信程序只能夠設(shè)置為某一種波特率,所以也就每次只能給與某一個(gè)從機(jī)進(jìn)行通信,其它從機(jī)即使同時(shí)發(fā)送信號(hào)但由于波特率不一樣所以也不會(huì)對(duì)主機(jī)產(chǎn)生影響。這種方案的優(yōu)點(diǎn)之一在于完全無(wú)競(jìng)爭(zhēng),缺點(diǎn)是較多8個(gè)下位機(jī),因?yàn)檫@種串口波特率轉(zhuǎn)換器只能夠提供8種不同的波特率。這種方案的優(yōu)點(diǎn)之二在于如果用戶(hù)自己可以修改從機(jī)的波特率,那么可以實(shí)現(xiàn)零成本的解決方案。

        本文介紹的3種解決RS-485多從機(jī)競(jìng)爭(zhēng)的方案可以形象地稱(chēng)為搶答、報(bào)名和調(diào)頻。這3種方案各有特色,也各有局限性,但是互不排斥。也就是說(shuō),這3種方案還可以組合使用。

    詳細(xì)參數(shù)請(qǐng)到www.查看。咨詢(xún)訂購(gòu)電話:027-59708940  15102729700  向小姐 QQ咨詢(xún)訂購(gòu):2360190989/1256985485

    MSN:bosicomcn@

     


    武漢波仕卡科技有限公司專(zhuān)注于串口轉(zhuǎn)換器模塊,集線器,光電隔離器等

聯(lián)系方式 聯(lián)系我時(shí),請(qǐng)告知來(lái)自八方資源網(wǎng)!

公司名: 武漢波仕卡科技有限公司

聯(lián)系人: 向小姐

電 話: 18995634129

手 機(jī): 15102729700

微 信: 15102729700

地 址: 湖北武漢洪山區(qū)洪山區(qū)關(guān)東科技園

郵 編: 430074

網(wǎng) 址: bosicomcn.cn.b2b168.com

八方資源網(wǎng)提醒您:
1、本信息由八方資源網(wǎng)用戶(hù)發(fā)布,八方資源網(wǎng)不介入任何交易過(guò)程,請(qǐng)自行甄別其真實(shí)性及合法性;
2、跟進(jìn)信息之前,請(qǐng)仔細(xì)核驗(yàn)對(duì)方資質(zhì),所有預(yù)付定金或付款至個(gè)人賬戶(hù)的行為,均存在詐騙風(fēng)險(xiǎn),請(qǐng)?zhí)岣呔瑁?
    聯(lián)系方式

公司名: 武漢波仕卡科技有限公司

聯(lián)系人: 向小姐

手 機(jī): 15102729700

電 話: 18995634129

地 址: 湖北武漢洪山區(qū)洪山區(qū)關(guān)東科技園

郵 編: 430074

網(wǎng) 址: bosicomcn.cn.b2b168.com

    相關(guān)企業(yè)
    商家產(chǎn)品系列
  • 產(chǎn)品推薦
  • 資訊推薦
關(guān)于八方 | 八方幣 | 招商合作 | 網(wǎng)站地圖 | 免費(fèi)注冊(cè) | 一元廣告 | 友情鏈接 | 聯(lián)系我們 | 八方業(yè)務(wù)| 匯款方式 | 商務(wù)洽談室 | 投訴舉報(bào)
粵ICP備10089450號(hào)-8 - 經(jīng)營(yíng)許可證編號(hào):粵B2-20130562 軟件企業(yè)認(rèn)定:深R-2013-2017 軟件產(chǎn)品登記:深DGY-2013-3594
著作權(quán)登記:2013SR134025
Copyright ? 2004 - 2025 b2b168.com All Rights Reserved