開源 Ig H Ether CAT 主站在 Linux CNC 開放式數控系統中的應用研究
2020-9-16 來源: 浙江師范大學工學院 作者:張克華 馬佳航 田林曉 朱苗苗
摘要: 為了實現成本低廉,設計便捷、靈活、易擴展的數控系統,搭建基于 Ether CAT 通信總線與 PC 機的純軟件數控系統,并對該系統的實時性能進行了試驗測試。以低成本工控機作為上位機,并集成好開源數控系統 Linux CNC 軟件的 Linux RTAI(Real-Time Application Interface)實時操作系統,下載搭建 Ether CAT 主從站通訊框架,實現了PC 上位機即 Ether CAT 主 站 與 伺 服 驅 動 器 即Ether CAT 從站之間的通信,完成多軸數控系統測試平臺的搭建。運用 Wire Shark 軟件進行數控系統的實時性測試。實驗結果表明,該數控系統的平均傳輸時間為 47. 7 μs,最大值為 779 μs,最小值為 0. 2 μs。很好地滿足了數控系統要求響應時間在 1 ms 及以下的實時性要求,因此該方案集成Ether CAT 的 Linux CNC 可以用于工業機器人與通用數控機床等自動運動控制系統。
關鍵詞: Ether CAT;工控機;Linux CNC;開放式數控系統
計算機數字控制技術( computer numerical control,CNC) 是一種能夠將具有控制編碼或其他符號指令規定的程序有邏輯地處理,并在對其譯碼后控制自動運行的控制技術。傳統的數控系統大多采用專用獨立控制器[1]。
隨著工業自動化的發展,以工業 PC 機為基礎的低成本開放式數控系統發展迅猛。相比有獨立控制器的傳統 CNC 系統,采用帶有實時操作系統的 PC機作為上位機的開放式 CNC 系統架構由于不需要專用硬件,可以有效地降低成本并且具備較好的靈活性[2]。開放式數控系統中可應用多種通信總線架構,其中 Ether CAT[3-5]( ethernet control automation technolo-gy) 以實時以太網標準,適用性廣,具備高性能、低成本、應用簡易等優點,可以有效的降低成本和應用難度,在現代控制領域中得到了廣泛的應用。
目前主要應用的 Ether CAT 框架有: 德國倍福的 Twin CAT 主站,德國 Ig H 公司的在 Linux 下的 Ether CAT 主站協議棧Ig H Ether CAT Master for Linux 以及德國 Acontis 公司的基于
ARM9 架構的 Linux 嵌入式主站 EC - Master等,其中 Ig H Ether CAT Master for Linux 是一個開源的框架,已經被集成在 Linux 內核上。
開源數控系統 Linux CNC,是一款構建于實時Linux 操作系統之上的開源的純軟件數控系統,用于數控系統和機器人系統控制,可以控制多達 9 軸系統,設計便捷、靈活、易擴展[3]。用戶可以根據特定的數控系統應用要求,通過定制相應的配置文件、HAL 模塊連接以及操作界面來完成控制系統的開發。其主要由兩大部分組成: 用戶空間和 RTAI( realtime applicationinterface) 內核空間[6]。用戶空間模塊是普通的 Linux程序且不具備實時性,含有為應用程序提供人機界面( human machine interface,HMI) 的模塊,RTAI 內核空間模塊是實時運行的,其內核架構不允許低優先級的進程搶占[7]。RTAI 內核空間中還包括含有軌跡生成和插值算法的運動控制實時模塊 MOTMOD[8]和用來連接 RTAI 的硬件抽象層( HAL) 模塊。
使用該軟件CNC 系統,可以與市售的伺服驅動器搭配使用且廣泛支持的標準化工業以太網,從而實現用工業標準的以太網現場總線進行通信來提高靈活性并降低成本[9]。即通過采用開源 Ig H Ether CAT master 集成在 PC 機中搭建 Ether CAT 主站,采用伺服驅動器搭建 Ether CAT從站的方式,來實現 PC 機與伺服驅動器的通訊[10-11]。數控系統的實時性是衡量控制系統優劣的一項關鍵的指標,主要體現在數控系統對數據進行快速而準確的處理并及時作出響應。
在實際工況中,根據控制任務的不同,將實時性劃分為對應響應時間為 100 ms及以上,5~10 ms,小于 1 ms,以及 100 節點下的伺服運動控制小于 1 ms 的 4 個級別。其中 CNC 的實時性要求在第三級和第四級,也就是響應時間在 1 ms 及以下[12-13]。CNC 需要解決實時性問題是如何同步地向伺服驅動器發送位置指令。理想情況下,所有伺服驅動器都應在同一時間接收并執行各自的位置指令。此外,連續位置命令之間的周期應該始終是常量。本文所構建的 CNC 系統采用 PC 機實時操作系統( real time operating system,RTOS) 安裝開源的 Ig H Eth-er CAT 主站,Ether CAT 伺服驅動器作為從站。
該數控系統為純軟件解決方案無需任何擴展卡或外部控制器,靈活性高,可以通過擴展 PC 實現的數控內核和HMI 來增加新功能,并且易于實施的特點。本文采用Linux RTAI 作為 CNC 控制器的實時操作系統,通過測試其抖動和延遲,測試滿足了數控機床對控制系統的1 ms 及以下的實時性要求。擬提供開源、低成本和擴展性好的滿足工業上實時要求的數控系統。
1、多軸數控實時性測試系統的構成
本文整合 Ether CAT 主站于 Linux CNC 中的多軸純軟件數控系統。系統是基于 Ether CAT 搭建的,以作為主站的工控機為第一節點,通過網線將作為從站的伺服驅動器依次相連,形成一個完整的 Ether CAT 主從站現場總線系統。該數控系統的基本構成,如圖 1 所示,整個系統的硬件主要包括作為主站的工控電腦( gk1037u /i5- 3317u) ,作為從站的交流伺服驅動器( 英威騰 SV-DA200) ,與伺服驅動器配套的電動機等。系統的軟件部分主要是 Linux CNC 軟件和 Ig HEther CAT Master for Linux 框架。
通過修改 Linux RTAI中的 HAL 模塊實現 Linux CNC 和 Ether CAT 的通信。作為從站的伺服驅動器,在接收到主站發來的Ether CAT 幀報文后,可以控制電動機和其他輔助設備運轉。
2 、Linux CNC 環境中 Ether CAT 主站搭建
Ether CAT 只定義了標準以太網結構的七層 OSI模型中的物理層、數據鏈路層 和應用層這三層協議[9]。Ether CAT 工作采用主從模式,一個主站可以控制多個從站。根據伺服驅動器技術指南手冊,將所提出的系統中應用的伺服驅動器的時間同步周期設置為4 ms[14]。開始通信時,主站將 Ether CAT 幀發送信號給第一個從站,當第一個從站收到主站發送的Ether CAT 幀后,第一個從站下載需要的數據并插入需要傳送的數據后傳送給下一個從站,一直循環至最后一個從站完成上述操作后將數據包返回主站,如圖 2所示。
Ether CAT 主站系統是模塊化構成的,主要分為三大模塊: 設備驅動模塊、主站模塊和應用層模塊。其中設備驅動模塊能夠進行以太網卡驅動的配置,并通過以太網口使得主站模塊可以收發到 Ether CAT 幀。本文中站模塊是指集成 在 Linux 內核中的 Ig HEther CAT Master 主站內核模塊,通常包含了一個或者是多個的 Ether CAT 主站對象。設備以及應用層接口一般也集成在主站模塊中。應用層模塊是開發者編寫的能夠控制主站模塊的關鍵模塊。程序在調用應用層接口后,才能去控制主站模塊。
Ether CAT 從站系統是安裝在從站軸伺服驅動器中的。本文使用英威騰 Ether CAT 伺服驅動器( 型號DA200) ,其內部的 Ether CAT 網絡模型如圖 3 所示。Ether CAT( Co E) 網絡參考模型包括兩部分: 數據鏈路層和應用層。數據鏈路層主要負責 Ether CAT 通信協議,應用層嵌入了 CANopen drive Profile( DS402) 通信規約。Co E 中的對象字典包括了參數、應用數據以及PDO 映射配置信息。過程數據對象( PDO) 由對象字典中能夠進行 PDO 映射的對象構成,PDO 映射定義了 PDO 數據中的內容。
由于 PDO 數據是周期性進行讀寫的,所以不需要查找對象字典; 而郵箱通信( SDO)的 通信是非周期性的,在讀寫時需要查找對象字典[4]。Ether CAT 是主從式的結構,由于采用工業 PC 機
作為控制主站,伺服驅動器作為控制從站,首先需要完成 Ether CAT 主從站的搭建。下載安裝開源 的 Ig HEther CAT Master for Linux 作為 CNC 系統的 Ether CAT框架; 在工控機中安裝 Ether CAT 主站代碼; 測試 Eth-er CAT 的運行情況。
如圖 4 所示,Ether CAT 成功安裝并運行良好。
通過 Ether CAT 現場總線系統,實現了 Linux CNC和伺服驅動器之間的通訊,具體通訊方式,如圖 5 所示。在用戶將G代碼輸入到 Linux CNC 中后,Linux CNC 中的 RS-274 / NGC 解釋器會將 G 代碼解釋成數控系統能夠識別的數據塊; 這些數據塊會通過Linux CNC 中的硬件抽象層( HAL) 傳遞到 Ether CAT 主站系統; 之后 Ether CAT 主站將數據塊以 Ether CAT 幀的形式發送至 Ether CAT 從站并最終驅動執行元件。
3、 Ether CAT 通信的試驗平臺搭建與測試
為測試集成 Ether CAT 現場總線的開源數控系統的實時性能,搭建了試驗平臺,如圖 6 所示。測試工具是采用網絡截包軟件 Wireshark 進行實時性抓包測試,作為 Ether CAT 現場總線系統主站的工控機與作為Ether CAT 從站系統的軸伺服驅動器以及安裝有 Wire-Shark 軟件的 PC 機通過工業交互機連接在一起。
利用 Wire Shark 截取 Ether CAT 主從站系統通訊過程中交換的實時 Ether CAT 幀報文的方式,統計通過Ether CAT 現場總線系統進行通訊的數據信息,然后據此計算該 Ether CAT 通訊過程的抖動和延時時間,最后與數控系統的實時性要求進行比較,判斷 Ether CAT 通訊系統的實時性是否符合要求。
Ether CAT 運行測試的 G 代碼所需總的運行時間為 200. 260 9 s,如圖 7 所示,主站發送報文的時間間隔( 主站地址 00: b4: 0d: 1e: 00: 66 發送的相鄰報文的統計時間之差,如主站地址發送的 No. 2 的報文統計時間為 0.003 261 s,No. 4 則為 0.007 260 s,兩者時間之差為 0.003 999 s,也就是這兩個報文的發送時間間隔為 3 999 μs。平均為 4 ms,最大時間為 4 041 μs,最小為 3 957 μs,波動在±1. 5%以內,如圖 8 所示。
在相對時間增量一欄中可以看出從站接收報文所需的時間,也就是報文的傳輸時間。每一個從站報文( 地址為 02: b4: 0d: 1e: 00: 66) 相對主站發出的時間增量即為報文的傳輸時間,為了消除誤差,取每 5 個報文的平均傳輸時間計算,最大 779 μs,最小 0. 2 μs。整體平均傳輸時間為 47. 7 μs。
根據所截得的 Ether CAT 幀在 Wire Shark 中顯示的IO 圖中也可以看出,如圖 9 所示,在 X 軸表示的截包時間刻度間隔為 0. 001 s,Y 軸表示截包個數時,報文主站運行平穩,具有較高的可靠性。通過計算發現報文從站接收報文的整體平均傳輸時間約為 47. 7 μs,其中 99. 7%的 Ether CAT 幀傳輸時間在 0 ~ 3 μs,0. 3%以下的傳輸時間在 700~800 μs。通過統計計算,所得的
通訊時間測試結果符合 Ether CAT 的微秒( μs) 級刷新時間。
表明 Ether CAT 通訊總線系統已經很好的整合進了 Linux CNC 中。與數控系統的實時性要求( 小于 1ms) 相比,測試結果為微秒級別符合數控系統要求,這表明本文提出的基于 Linux RTAI
和 Ig H Ether CAT 主站的開放式數控系統具備良好的實時性以及控制性能。
4、 結語
本文基于 PC 的集成 Ether CAT 于 Linux CNC 的開放式數控系統。該 CNC 系統擁有如下特點: ( 1) 開源的 Linux RTAI 系統和 Linux CNC 實現了純軟件 CNC系統,用戶可以自行修改、復制以及再分發該數控系統。( 2) 使用 PC 機為上位機,無需專用硬件,降低了硬件成本。同時,Ether CAT 現場總線具有微秒( μs) 級刷新時間,而且可以搭載不同廠家生產的 Ether CAT 伺服驅動器配合使用提高通用性和降低設備成本。( 3)系統功能靈活。純軟件性質使得該數控系統能夠充分地利用 PC 機具備的大量計算資源實現數控系統各功能,并且可以按需求編寫軟件模塊,輕松地添加系統新功能。
同時,用戶可通過修改配置文件參數實現驅動不同數目的軸伺服驅動器和電動機,使得該數控系統的靈活性極大地增強。通過該數控系統集成并進行了實時性測試,試驗結果表明: 應用 Ether CAT 現場總線,系統數據平均傳輸時間約為 47. 7 μs,說明 Ether CAT主從站系統較好的整合在了該數控系統中,該數控系統的實時響應時間在微秒級別,也就滿足數控系統實時性要求的響應時間在 1 ms 級及以下,所以集成 Ig HEther CAT 主站與 Linux CNC 純軟件數控系統可以很好地滿足工業機器人與通用數控機床等的要求。
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息