基于rs-422的工業(yè)總線網(wǎng)絡(luò)裝置、系統(tǒng)及通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及工業(yè)網(wǎng)絡(luò)通信領(lǐng)域,更具體地說,涉及一種基于RS-422的工業(yè)總線網(wǎng)絡(luò)裝置、系統(tǒng)及通信方法。
【背景技術(shù)】
[0002]在工業(yè)控制領(lǐng)域,工控系統(tǒng)都是由控制器和外圍設(shè)備構(gòu)成,其中外圍設(shè)備主要包括驅(qū)動(dòng)器、HMI (人機(jī)交互)、擴(kuò)展模塊(例如10、AD轉(zhuǎn)換器、DA轉(zhuǎn)換器、編碼器等模塊)等??刂破魍ㄟ^各種總線和外圍設(shè)備通信,如:CAN Bus,Modbus,Prof ibus,Prof inet,Ethercat等。
[0003]RS-422/RS-485作為工業(yè)總線的一種,在自動(dòng)化控制領(lǐng)域有著廣泛的應(yīng)用,很多協(xié)議開發(fā)都是基于422/485PHY層的基礎(chǔ)上進(jìn)行,如modbus、Profibus、MII等。
[0004]傳統(tǒng)的RS-422網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示,在該網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,主節(jié)點(diǎn)11 (即主設(shè)備)通過節(jié)點(diǎn)尋址的方式逐個(gè)訪問各個(gè)從節(jié)點(diǎn)12(即從設(shè)備)。在一個(gè)通信周期中,每訪問一個(gè)從節(jié)點(diǎn)12都要發(fā)一次幀頭、幀尾、校驗(yàn)碼、地址信息等。因此,在上述傳統(tǒng)的RS-422網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,波特率的大小受限于所掛載從節(jié)點(diǎn)12的多少;并且隨著從節(jié)點(diǎn)12的增多,遍歷所有從節(jié)點(diǎn)12所消耗的時(shí)間會(huì)大幅度提高。這樣不僅拉長了系統(tǒng)的通信周期,也降低了系統(tǒng)的帶寬利用率。
[0005]此外,上述RS-422網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,對于某些實(shí)時(shí)協(xié)議,主節(jié)點(diǎn)11發(fā)送數(shù)據(jù)包后必須等待每個(gè)從設(shè)備完成對數(shù)據(jù)的解析和復(fù)制。然而,這種確定性狀態(tài)很難維持,因?yàn)橹鞴?jié)點(diǎn)11必須添加并管理一定量的處理時(shí)間及每個(gè)從節(jié)點(diǎn)的抖動(dòng)。并且上述RS-422通信方案中,物理層不能自動(dòng)的檢測鏈路通信的失效和建立,在鏈路失效的情況下,不能自動(dòng)的將通信幀環(huán)回到主設(shè)備,保證系統(tǒng)通信不被阻斷。
[0006]對于基于以太網(wǎng)或是基于專用芯片的工業(yè)總線網(wǎng)絡(luò),則成本相對較高。
【發(fā)明內(nèi)容】
[0007]本發(fā)明要解決的技術(shù)問題在于,針對上述工業(yè)總線網(wǎng)絡(luò)通信效率低、穩(wěn)定性不高或成本較高的問題,提供一種基于RS-422的工業(yè)總線網(wǎng)絡(luò)裝置、系統(tǒng)及通信方法。
[0008]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是,提供一種基于RS-422的工業(yè)總線網(wǎng)絡(luò)裝置,包括鏈路層控制單元和至少兩個(gè)物理層控制單元,所述鏈路層控制單元用于實(shí)現(xiàn)數(shù)據(jù)收發(fā)處理并包括環(huán)路控制子單元,每一所述物理層控制單元用于實(shí)現(xiàn)與一個(gè)RS-422收發(fā)器的接口功能并包括鏈路檢測子單元;其中:所述鏈路檢測子單元,用于在總線空閑時(shí)監(jiān)聽來自連接的RS-422收發(fā)器的診斷脈沖,并在預(yù)設(shè)時(shí)間內(nèi)連續(xù)接收到所述診斷脈沖時(shí)確認(rèn)連接建立、否則確認(rèn)連接斷開;所述環(huán)路控制子單元僅在鏈路檢測子單元確認(rèn)連接建立時(shí)將對應(yīng)的物理層控制單元所連接的下一級(jí)節(jié)點(diǎn)加入鏈路。
[0009]在本發(fā)明所述的基于RS-422的工業(yè)總線網(wǎng)絡(luò)裝置中,每一所述物理層控制單元還包括總線狀態(tài)偵聽子單元和特征脈沖發(fā)送單元,其中所述總線狀態(tài)偵聽子單元,用于在總線狀態(tài)空閑時(shí)向連接的RS-422收發(fā)器發(fā)送空閑碼;所述特征脈沖發(fā)送單元,用于在接收到空閑碼時(shí)向連接的RS-422收發(fā)器反饋診斷脈沖。
[0010]本發(fā)明還提供一種基于RS-422的工業(yè)總線網(wǎng)絡(luò)系統(tǒng),包括主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn),其特征在于:所述主節(jié)點(diǎn)和從節(jié)點(diǎn)分別包括上述的網(wǎng)絡(luò)裝置,且所述主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn)的網(wǎng)絡(luò)裝置經(jīng)由RS-422收發(fā)器連接成菊花鏈;所述主節(jié)點(diǎn)的網(wǎng)絡(luò)裝置通過讀取各個(gè)從節(jié)點(diǎn)的網(wǎng)絡(luò)裝置的環(huán)路控制子單元的鏈路狀態(tài)獲取鏈路的拓?fù)浣Y(jié)構(gòu)。
[0011]在本發(fā)明所述的基于RS-422的工業(yè)總線網(wǎng)絡(luò)系統(tǒng)中,所述主節(jié)點(diǎn)和從節(jié)點(diǎn)的網(wǎng)絡(luò)裝置的鏈路層控制單元包括數(shù)據(jù)收發(fā)子單元;所述主節(jié)點(diǎn)的數(shù)據(jù)收發(fā)子單元將發(fā)送給所有從節(jié)點(diǎn)的周期性交互數(shù)據(jù)封裝到同一數(shù)據(jù)幀并發(fā)送到鏈路中,且發(fā)送給每一從節(jié)點(diǎn)的周期性交互數(shù)據(jù)分別位于該數(shù)據(jù)幀中的預(yù)設(shè)位置;所述從節(jié)點(diǎn)的數(shù)據(jù)收發(fā)子單元接收到數(shù)據(jù)幀后,從預(yù)設(shè)位置讀取周期性交互數(shù)據(jù)或?qū)懭胫芷谛越换?shù)據(jù)到數(shù)據(jù)幀的預(yù)設(shè)位置,并將數(shù)據(jù)幀轉(zhuǎn)發(fā)到鏈路中的其他從節(jié)點(diǎn)。
[0012]在本發(fā)明所述的基于RS-422的工業(yè)總線網(wǎng)絡(luò)系統(tǒng)中,所述主節(jié)點(diǎn)和從節(jié)點(diǎn)的網(wǎng)絡(luò)裝置具有一個(gè)數(shù)據(jù)緩沖區(qū),且該主節(jié)點(diǎn)和從節(jié)點(diǎn)的數(shù)據(jù)收發(fā)子單元通過握手機(jī)制實(shí)現(xiàn)非周期性數(shù)據(jù)的交互。
[0013]在本發(fā)明所述的基于RS-422的工業(yè)總線網(wǎng)絡(luò)系統(tǒng)中,所述主節(jié)點(diǎn)和從節(jié)點(diǎn)的網(wǎng)絡(luò)裝置分別包括狀態(tài)管理單元,所述從節(jié)點(diǎn)的狀態(tài)管理單元用于完成本節(jié)點(diǎn)的鏈路狀態(tài)管理;所述主節(jié)點(diǎn)的狀態(tài)管理單元通過自增尋址方式設(shè)置各個(gè)從節(jié)點(diǎn)的節(jié)點(diǎn)地址并根據(jù)各個(gè)從節(jié)點(diǎn)的特征信息配置各個(gè)從節(jié)點(diǎn)的通信參數(shù)。
[0014]本發(fā)明還提供一種基于RS-422的工業(yè)總線通信方法,包括以下步驟:
[0015](a)主節(jié)點(diǎn)和多個(gè)從節(jié)點(diǎn)的物理層分別在總線空閑時(shí)監(jiān)聽來自連接的RS-422收發(fā)器的診斷脈沖,并在預(yù)設(shè)時(shí)間內(nèi)連續(xù)接收到所述診斷脈沖時(shí)確認(rèn)連接建立、否則確認(rèn)連接斷開,所述主節(jié)點(diǎn)和從節(jié)點(diǎn)經(jīng)由RS-422收發(fā)器連接成菊花鏈;
[0016](b)所述主節(jié)點(diǎn)和從節(jié)點(diǎn)的物理層在確認(rèn)連接建立時(shí)將所連接的下一級(jí)節(jié)點(diǎn)加入鏈路;
[0017](c)所述主節(jié)點(diǎn)通過讀取各個(gè)從節(jié)點(diǎn)的鏈路狀態(tài)獲取鏈路的拓?fù)浣Y(jié)構(gòu)。
[0018]在本發(fā)明所述的基于RS-422的工業(yè)總線通信方法中,所述步驟(C)之后包括:
[0019]所述主節(jié)點(diǎn)將發(fā)送給所有從節(jié)點(diǎn)的周期性交互數(shù)據(jù)封裝到同一數(shù)據(jù)幀并發(fā)送到鏈路中,且發(fā)送給每一從節(jié)點(diǎn)的周期性交互數(shù)據(jù)分別位于該數(shù)據(jù)幀中的預(yù)設(shè)位置;
[0020]所述從節(jié)點(diǎn)在接收到數(shù)據(jù)幀后從預(yù)設(shè)位置讀取周期性交互數(shù)據(jù)或?qū)懭胫芷谛越换?shù)據(jù)到數(shù)據(jù)幀的預(yù)設(shè)位置,并將數(shù)據(jù)幀轉(zhuǎn)發(fā)到鏈路中的其他從節(jié)點(diǎn)。
[0021]在本發(fā)明所述的基于RS-422的工業(yè)總線通信方法中,所述主節(jié)點(diǎn)和從節(jié)點(diǎn)分別具有一個(gè)數(shù)據(jù)緩沖區(qū),且該主節(jié)點(diǎn)和從節(jié)點(diǎn)通過握手機(jī)制實(shí)現(xiàn)非周期性數(shù)據(jù)的交互。
[0022]在本發(fā)明所述的基于RS-422的工業(yè)總線通信方法中,所述步驟(C)之后包括:
[0023]所述多個(gè)從節(jié)點(diǎn)分別完成本節(jié)點(diǎn)的鏈路狀態(tài)管理;
[0024]所述主節(jié)點(diǎn)通過自增尋址方式設(shè)置各個(gè)從節(jié)點(diǎn)的節(jié)點(diǎn)地址并根據(jù)各個(gè)從節(jié)點(diǎn)的特征信息配置各個(gè)從節(jié)點(diǎn)的通信參數(shù)。
[0025]本發(fā)明基于RS-422的工業(yè)總線網(wǎng)絡(luò)裝置、系統(tǒng)及通信方法,通過RS-422收發(fā)器向上、下游節(jié)點(diǎn)發(fā)送診斷脈沖來確認(rèn)連接,從而進(jìn)行鏈路管理,不僅成本較低,而且可保證通信的穩(wěn)定性。并且,本發(fā)明通過共用數(shù)據(jù)幀來進(jìn)行周期性數(shù)據(jù)交互,可相對縮短通信周期、提高通信效率。
【附圖說明】
[0026]圖1是現(xiàn)有基于RS-422的工業(yè)總線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
[0027]圖2是本發(fā)明基于RS-422的工業(yè)總線網(wǎng)絡(luò)裝置實(shí)施例的示意圖。
[0028]圖3是本發(fā)明基于RS-422的工業(yè)總線網(wǎng)絡(luò)系統(tǒng)實(shí)施例的拓?fù)浣Y(jié)構(gòu)。
[0029]圖4是本發(fā)明基于RS-422的工業(yè)總線網(wǎng)絡(luò)通信方法實(shí)施例的流程示意圖。
[0030]圖5是本發(fā)明應(yīng)用到機(jī)器人控制系統(tǒng)的示意圖。
[0031]圖6是圖5中系統(tǒng)的通信過程狀態(tài)機(jī)。
【具體實(shí)施方式】
[0032]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0033]如圖2所示,是本發(fā)明基于RS-422的工業(yè)總線網(wǎng)絡(luò)裝置實(shí)施例的示意圖,該網(wǎng)絡(luò)裝置具體可由FPG