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