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