為機床工具企業提供深度市場分析                     

用戶名(míng):   密碼(mǎ):         免費注冊  |   申請VIP  |  

English  |   German  |   Japanese  |   添(tiān)加收藏  |  
廣州數控
數控(kòng)係(xì)統

車床 銑床 鑽床 數控係統 加工中心 鍛壓機床 刨插拉床(chuáng) 螺紋加工機床 齒輪(lún)加工機床(chuáng)
磨床 鏜(táng)床 刀具 功能部件 配件附件 檢驗測量 機(jī)床電器 特種加工 機器人

數控係統

電工電(diàn)力 工程機械 航空(kōng)航天(tiān) 汽車 模具
儀器儀表 通用(yòng)機械 軌道交通(tōng) 船舶

搜索
熱門關鍵字:

數(shù)控機床

 | 數控車床 | 數控係統 | 滾齒機 | 數控銑床 | 銑刀 | 主軸 | 立式加工中心 | 機器人
您現在的位置(zhì):數控係統網> 技(jì)術前沿>Ether CAT 主站與主(zhǔ)站通信協議的研究與實現
Ether CAT 主站與(yǔ)主站通信(xìn)協議的研究與實現
2019-8-14  來源: 桂林電(diàn)子科技大學 電(diàn)子工(gōng)程與自動化學院  作者:黨選舉,李帥(shuài)帥,伍(wǔ)錫如,薑 輝

 


  
      摘(zhāi)要: Ether CAT 是目前最高速的工(gōng)業現場總(zǒng)線網絡。由於其高帶寬利用率,低堆(duī)棧延遲、低交換機(jī)延遲等優點,近些年(nián)被廣泛(fàn)應用於數控機床係統。為滿足 Ether CAT 主站間的通信,進一步擴展 Ether CAT 組網功能,為構(gòu)建 Ether CAT 工業複雜網絡提供技術支(zhī)持,在不(bú)影響原有主站與從站通信(xìn)功能(néng)情況下,設計了支持主站與主(zhǔ)站之間通信的新協議(yì),擴充 IGH 開源驅動功能,在 AM3358 處理器硬件平台上實(shí)現了Ether CAT 主(zhǔ)站與主(zhǔ)站的通信。

     分別在實時 RT-Patch linux 係統和原生(shēng) linux 係統(tǒng)中對設計方案進行測試,結果表明該方案運行穩定且可(kě)以滿足主(zhǔ)從、主主之間相互通信,滿足了工業組網需求。為實現 Eth-er CAT 數控係統複雜網絡(luò)的建立和大數據的快速采集,解(jiě)決了主站與(yǔ)主站之(zhī)間通信的關鍵問題。

    關鍵詞: Ether CAT; 主站; 現(xiàn)場總線; 大數據采(cǎi)集

  
    0 引言
  
    實時以太網是常規以(yǐ)太網技術的(de)延伸,為滿足控製領(lǐng)域的實時通信要求,德國倍福自動(dòng)化公司提出了(le) Ether CAT 實時工業以太(tài)網技術(shù)。在數控係(xì)統領域(yù),沈陽機床 i5 智能數控機床使(shǐ)用 Ether CAT 總線係統顯著提高(gāo)了工業效益。

    現有的大(dà)量研究都集中在主從的構建或者主從間通信中,如在 ARM 構架上構建支持主從 通 信 的 Ether CAT 主 站,高 性(xìng) 能 從 站 的 設計,從站同步(bù)時鍾的優化及其 Ether CAT 時(shí)序特性分析等。其所研究的 Ether CAT 總線(xiàn)結構主要是單(dān)個主站獨立控製多個從站,主站各(gè)有屬於自身的從(cóng)站(zhàn)單元,主站與主站間無法交換共享數據。

   為構建工業數控係統(tǒng)複雜(zá)網絡,實現數控係統多軸(zhóu)信息的快速傳(chuán)輸(shū),進行工業大數據的采集,獨立的主站(zhàn)與從站通信並不(bú)能完全滿需求,難(nán)以真正的實現分布式架構,不利於對於數控係統中大數據的傳輸。因(yīn)此該文深入研究Ether CAT 總線通信(xìn)協議,采用 Ether CAT 協議中(zhōng)的保留數據類型,進行主站與主站之間的通信。

   如今(jīn)為(wéi)解決大數(shù)據難以傳輸處理問題一般係統采用(yòng)分布式(shì)架構。主站(zhàn)與從站通信,是分布式架構一個局部基本單元,隻有局部基本單元之間相互通(tōng)信,才可以為構建Ether CAT 工業數控係統複雜網絡提供基礎保障(zhàng)。主站與主站通信正是為搭建複雜(zá)網絡提供了可行方案。

    為了提高普(pǔ)適性,選用 linux 係統作為開發平台。德國 IGH 公司提供的 Ether CAT Master for Linux 主站驅動,其遵循 GPLv2 開源協議(yì),但此代碼僅支持主站與從站之間的通信,因此該文在 IGH 發布的主站開源代(dài)碼的基礎(chǔ)上,通過協議(yì)補充,擴充驅(qū)動功能,構建了支持主站(zhàn)與主站之間(jiān)通信的係統。

    1 、程(chéng)序運行(háng)環境的實現
  
    1. 1 實(shí)現 Ether CAT 主站的軟件結構
  
    IGH 公司提供的主站驅動支持原生非實(shí)時 linux 操作係統和實時擴展如 RTAI、XENOMAI、RT-Patch 等實(shí)時linux 係。如圖 1 所示主站(zhàn)基(jī)本通信結(jié)構圖,其主要由包含各種連接硬件接口的硬件層,負責 linux 調度、算法處理的內核層,供應戶調(diào)用(yòng)的應用層三部分組成(chéng)。

  
   
圖(tú) 1 主站基本通信結構(gòu)圖
  
    1. 2 實現主站的(de)硬件平(píng)台
  
    AM3358 是基於 ARM Cortex-A8 內核(hé)帶有 NEON協處理器高性能處理(lǐ)器。其最(zuì)高主頻可達 1GHz; 集成2 個可編程實時單元 pRU,PRU 可配置成為 Ether CAT從站功能模塊; 具有單錯檢測( 奇偶校(xiào)驗) 的 32KB /32KB L1 指令 / 數據高速緩存(cún); 集(jí)成 2 個工業用千兆以太網 MAC( 10 /100 /1000MHZ)。文(wén)中把其中一個網口作為從站(zhàn)連接(jiē)口,另外一個作為主站與主站之間通信連接口,主站連接示意圖如圖 2 所示。
  
  

圖 2 主站連接(jiē)示意圖

  
     2 、主站驅動擴展與實現方法
  
     2. 1 Ether CAT 數據幀分析
  
     Ether CAT 數據基於以太網(wǎng)數據幀進行傳(chuán)輸,數據幀類型為 0x88A4,其部分幀結構示意圖如圖 3 所示。

  
   
    圖 3 Ether CAT 部分幀結構示意圖

    圖 3 中,對於 Ether CAT 頭部分,其中的 Ether CAT數據長度為整個(gè) Ether CAT 報文部分的數據長度,對於類型,其值為 1 表示主站與(yǔ)從站通信(xìn)的數據幀,其(qí)餘值保留。但為了主站之間進行通信,文中(zhōng)規定在 Ether-CAT 頭(tóu)中的類型為 2 表示該(gāi)數據幀為主站與主站通信(xìn)數據幀,因此隻需補充並(bìng)完善驅動代碼,使之在(zài)接收數據時識別(bié)該以太網幀(zhēn)的類型(xíng)位就可以識別是發往從站的數據幀還(hái)是主站間(jiān)通信(xìn)的數據(jù)幀。

    2. 2 主站運行階段
  
    Ether CAT Master for Linux 主站驅動按照功能不(bú)同的劃分,可劃分(fèn)為孤(gū)兒階段、空閑階段和可操作階段三個階段,其(qí)示意圖如圖  4所示。

  
   
圖(tú) 4 主站驅(qū)動運行階段(duàn)

   圖 4 中,在孤兒階(jiē)段,主站等待以太網設備連接;在空閑狀態,主(zhǔ)站已經連接了以太網設備,但是應用空間並沒(méi)有對主站請求。此時主站會自動掃描從站總線並等待應用空(kōng)間的操作。同時,命令行工具可以訪問(wèn)總線,但是由於缺(quē)少總線(xiàn)配置,不能進行過程數據的交換。

   文中修改驅動代碼後,在此階段,主站除掃描總線上的(de)從站外,主站另一端口還需要掃描對應(yīng)總線上的其它主站設備; 在(zài)操作狀態,主站被應用層請求,此時可對總線上從站進(jìn)行配置也可進行過程(chéng)數據的交換。

    2. 3 主(zhǔ)站對數據幀的訪問
  
    在空閑階段,每個主(zhǔ)站將通過不同(tóng)的(de)端口自動(dòng)掃描識(shí)別總線(xiàn)上從站和其它主站,根據 Ether CAT 協議,當主站對從站的掃描時,由於(yú) Ether CAT 幀在從站之間(jiān)傳輸是順序的,因(yīn)此一個子報文可以完成對多個從站的訪問,在數據幀的長度允許範圍內,一個數據幀可完成多個從(cóng)站的掃描。但是在(zài)主站識別其它主站時,主站之間並行,所以每個數據幀隻能完成對一個主(zhǔ)站的訪問。

    3 、主站的實現技術
  
    3. 1 主站對總線的掃描流程
    
    在主站代碼中,主站對總線的掃描是在空閑線程中進行的,在沒有應(yīng)用請求的狀態下,主站驅動隻會運行在空閑線程,在該階段執行的具體函(hán)數由狀態(tài)機根據不同的(de)判斷條件執行不同的回調函數,進而有序的循環執行。其運行基本流程如圖(tú) 5 所示。
 
  
  
圖 5  空(kōng)閑線程運行流程圖
  
    3. 2 主站數據結構的擴充
  
    原生的(de)驅動代碼中,描述主(zhǔ)站的結構體中沒有針對其它主站的描(miáo)述,文中對於描述主站結構體 structec_master 進行擴充,需在該結(jié)構體內添加如下代碼:
  
      
  
    文中對 struct ec_master 額外增加了兩數據報(bào),其中數(shù)據(jù)報 to_master_datagram 為主站與(yǔ)主站間通信的數據報。exchange_master_datagra 為主站接收到通信數據報後處(chù)理信息(xī)的緩存數據報。

   3. 3 主站發送數據幀
  
    IGH 發布原生的代(dài)碼中,有冗餘支持,但(dàn)是(shì)冗餘通信端口也是主站與從站通信端口,為使代碼支持主站與主站(zhàn)間(jiān)通信,文中(zhōng)將冗(rǒng)餘端口的(de)功能修改為主站與主站通信端口(kǒu),因此在主站空(kōng)閑階段中,文中主站間通信(xìn)數(shù)據報 to_master_datagram 的發送(sòng)設備應指定為冗餘端口,具體發送函數可為(wéi):

  
    
     
  
    3. 4 主站接收數據幀(zhēn)發(fā)送數據幀
  
    接收數據幀的底層(céng)驅動(dòng)函數無需任(rèn)何的改變,處理函數進行修改,修改後的接收處理函數流程圖如圖6 所示。
  
 
 
圖 6 接收處理函數流程圖

  
    對於(yú)接收到的主站間通信數據,隻需要把接收到的數據幀的數據存儲(chǔ)在指定內存(cún)中,然後加入到鏈表,使用時遍曆該(gāi)鏈表即(jí)可。文中定義函數 ec_master_queue_master ( ) 用(yòng)來將其它主站信息放入鏈(liàn)表,主要(yào)代碼如(rú)下:
 
    
  
    4 、主站驅動安裝配置
  
    由於在主站之間通信與主從之間通信分(fèn)別使用不同的網卡端口,因此文中使用了冗餘端口的功能,因此在安裝驅動時要設定使能冗餘端口。安裝(zhuāng)配置時執行如下命令:

    
  
    其中,參數 - - enable - generic = yes 指明使用通用網卡,參數 - - with - devices = 2 指明(míng)本驅動安裝(zhuāng) 2 個以太網設備。參數為 - - enable - wildcards 表明目的地址為 0xffffffff 將會匹配所有的廠商 ID 或者產品碼。

    5 、主站驅(qū)動通信實(shí)驗驗證
  
    5. 1 測試硬件平(píng)台(tái)
  
    中分別選用(yòng)三個主站模塊,一個(gè)從站測試模塊進試驗。其(qí)中主站模塊 IAC-335X-Kit 評估板集成 2 個工(gōng)業用(yòng)千兆以太網 MAC。另外兩個為開源可擴展(zhǎn)硬件(jiàn)平台 Beagle Bone Black,因其僅有一個以太網 MAC,僅配置為主(zhǔ)站(zhàn)通信,不再連接其它的從站設備。實驗平台實物圖如(rú)圖 7 所示。
  
  

圖 7 實驗平(píng)台實物圖
  
     5. 2 Ether CAT 多主站間通信測試
  
    文中分別將主(zhǔ)站(zhàn)驅動配置到不(bú)同(tóng)的 linux 版本進行(háng)測試(shì)。文中測試過程(chéng)中,主(zhǔ)站模塊在 IAC-335X-Kit評(píng)估板安裝的嵌入式係統為 linux-3. 2. 21 並修補了(le)實時補丁 RT-Preempt,為(wéi)主站驅動提供一個硬實時運(yùn)行環境。Beagle Bone Black 平台安(ān)裝的(de)嵌入式係統為linux-3. 14,為非實時(shí)操作(zuò)係統。對於驅動(dòng)的測試,在 linux 應用(yòng)層(céng),編寫代碼以(yǐ) 1秒為周期向從發送數據。

    文中是使用修(xiū)改過(guò)的 IGHEther CAT 提供的命令行工具,執行後會顯示相應端口(kǒu)掃描到的總線上的其它主站或者從站的信息,以雙網口的主站(zhàn)為例,則主站統計信息如圖 8 
所示。
  
  

  圖 8 主站統計(jì)信息

     上麵信(xìn)息(xī)顯(xiǎn)示,Phase: Operation 表明主站(zhàn)運行在(zài)可操 作 階 段; Active: yes 表 明 驅 動 有 應 用 層 調 用;Slaves: 1 表明總線上有 1 個從站模塊; 後續信息表明,除本主(zhǔ)站外總(zǒng)線仍有(yǒu) 2 個主站模塊,對應主站的(de) MAC分別為(wéi) 54: 4a: 16: b9: b3: 63 和 54: 4a: 16: be: db: 4f; 圖中的統計信息,Main 指定的網卡接口連接(jiē)的是從站,Tx frames 的(de) Rx frames 差值為 1 表明無數(shù)據這丟失,在從站通信中(zhōng),發送的幀(zhēn)率平均為 100 幀/s,發送速率為5. 9Kbyte / s; 由於主站之間是平行的,每個主站都可以(yǐ)獨立的廣播發送報文,因此在上圖標注的 Backup 主(zhǔ)站通信端口,實(shí)際接收到的數據要比實際(jì)發送的幀數要多,以(yǐ)致統計工具(jù)中接收數據出現負值,實(shí)際(jì)則滿足主站通信要(yào)求。

  


    投稿箱:
        如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯係本網編輯部(bù), 郵箱:skjcsc@vip.sina.com
国产999精品2卡3卡4卡丨日韩欧美视频一区二区在线观看丨一区二区三区日韩免费播放丨九色91精品国产网站丨XX性欧美肥妇精品久久久久久丨久久久久国产精品嫩草影院丨成人免费a级毛片丨五月婷婷六月丁香综合