999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PC的全軟件雕銑機數控系統設計及實現

2022-09-16 13:04:44方遠東劉建群梁學勝高偉強
機床與液壓 2022年6期
關鍵詞:界面程序系統

方遠東,劉建群,梁學勝,高偉強

(廣東工業大學,廣東省微納加工技術與裝備重點實驗室,廣東廣州 510006)

0 前言

目前雕銑機數控系統多采用PC加運動控制卡或者嵌入式控制器等方案,其系統軟硬件專用、結構較復雜、可拓展性低、硬件成本高、難以適應機床功能多變的需求。隨著數控系統技術的日益成熟,基于PC的全軟件數控系統成為發展主流,它憑借結構簡單、平臺資源強大、靈活性強等特點,成為目前性價比很高的數控系統之一。

國內外針對全軟件數控系統的研究,主要有基于Windows系統的開發和基于Linux系統的開發。石永華和華磊采用PC+FPGA的方式,在Windows平臺上開發出一種全軟件多軸運動控制器。畢俊喜等基于ServoWorks SDK在Windows平臺上開發出一種全軟件四軸聯動數控系統。楊嘯等人基于IntervalZero的RTX工具在Windows平臺上開發一種全軟件運動控制器,具有通用運動控制平臺的高性能特點。WANG等采用RTLinux系統作為開發平臺,設計了一種實時全軟件數控系統,實現了數控系統線性、圓弧插補等功能。

以上研究中,基于Windows開發的數控系統,由于借助了其他廠商的產品進行二次開發,具有一定的封閉性。而基于RTLinux開發的數控系統,具有用戶態響應不足的缺點,難以滿足數控系統的定制化需求。

本文作者提出一種基于PC的全軟件雕銑機數控系統的實現方案。在硬件上,以PC為控制器,采用EtherCAT工業以太網總線的控制方式,直接控制硬件,無須控制卡協助,從而簡化硬件結構。在軟件上,以Linux+Xenomai雙內核方式構建實時系統,運用模塊化設計方法,在Linux域中使用Qt、OpenGL開發雕銑機數控系統軟件,在Xenomai域中使用IgH EtherCAT協議棧開發硬件驅動程序。

1 雕銑機數控平臺硬件結構

雕銑機硬件結構如圖1所示。圖中PC機、伺服驅動器和I/O從站通過千兆網線串連。伺服驅動器采用臺達ASD-A2-0221E驅動器、I/O從站采用倍福的EK1100模塊,均支持EtherCAT協議。主軸電機采用翰琪GDZ系列高速主軸電機,搭配愛德利ATL-AS2-115R變頻器,主軸轉速可達20 000 r/min,適用于無冷卻液加工。

圖1 雕銑機硬件結構

為滿足系統運算速度和內存需要,PC機搭載英特爾I5 2400@3.0 GHz處理器和4 GB的DDR3內存。同時,為充分發揮EtherCAT通信的性能以及IgH協議棧對Intel網卡驅動的優化支持,PC機的網口選用英特爾82574L千兆網卡,該網卡傳輸速率可達1 200 Mb/s。

2 數控系統軟件結構

數控系統基于Linux系統開發,采用Xenomai實時拓展對Linux進行實時化改造。Xenomai是一種以Adeos為基礎的強實時擴展,它和Linux內核共同建立在Adeos環境上,并由Adeos管理硬件中斷。Adeos根據內核域的優先級執行相應域的中斷服務程序,從而使Xenomai內核獲得實時性。這種方式與RTLinux通過截獲所有硬件中斷控制來獲得實時性的方式相比,Adeos的中斷管理機制可使Xenomai支持更完全的、性能更優異的用戶態實時性,同時可讓Xenomai兼容多種常見的商業實時操作系統。

經改造后的Linux系統,需要在Linux域和Xenomai域兩個系統域中分別進行軟件開發。數控系統軟件結構如圖2所示。Linux域中使用Qt Creator進行軟件開發,軟件結構劃分為UI界面模塊、邏輯處理模塊、運動控制模塊和功能接口模塊。Xenomai域中使用由Xenomai內核提供的實時函數庫進行軟件開發,軟件結構劃分為進程通信模塊和定時驅動模塊。

圖2 數控系統軟件結構

2.1 Linux域程序設計

Linux域程序架構如圖3所示。本文作者運用面向對象的思想設計各個模塊,減少各模塊間的耦合,增強程序的可重用性和拓展性。

圖3 Linux域程序架構

UI界面模塊負責人機交互的功能,運用Qt Designer制作各個界面。為增強靈活性,邏輯功能不在UI界面中實現,而是直接從UI界面發出信號,讓邏輯處理模塊根據接收到的信號調度各項工作。模塊中的各子界面由CUIWidget基類派生,CUIWidget基類負責與邏輯處理模塊中的任務調度器CDispatcher建立信號和槽的連接。利用Qt信號和槽的特殊機制,各子界面通過基類發出的信號都會得到相應的處理。通過這種“分散觸發,集中處理”的方式,可將UI空界面和其界面功能獨立開來,分別進行開發。因此,系統可隨意更換和升級UI界面而不影響系統的基本功能,這大大增加了系統的靈活性和重用性。

邏輯處理模塊連接UI界面模塊和運動控制模塊,起到消息中轉處理作用。由于運動控制模塊運行在子線程中,并且采用死循環的運行方式,無法響應信號和槽,因此邏輯處理模塊和運動控制模塊之間采用雙通道隊列緩存機制進行數據交換。邏輯處理模塊在接收到UI界面模塊觸發的動作信號后,將信號轉譯成運動控制模塊的操作指令。這些指令保存在雙通道隊列緩存中,由讀寫隊列接口類CCtrlInterface來管理和編寫。運動控制模塊查取隊列中的指令,將執行結果寫入讀隊列緩存,并發出完成信號。邏輯處理模塊接收到信號后,讀取反饋結果,并將它精準發回給特定UI界面,從而實現消息中轉循環。

運動控制模塊管理數控系統的各種數控任務,包括急停任務、讀寫I/O任務、點動任務、G代碼解釋任務、對刀任務、回零任務等,這些任務大部分都是長耗時任務,需要不斷監聽硬件狀態,因此運動控制模塊必須時刻保持運行,并且運行在子線程中。為使各項任務有序進行,并且實現對任務的模塊化封裝,將運動控制模塊設計成如圖4所示的運行模式。將每種任務封裝成一個類,由CHanderBase基類派生,派生類需根據任務內容重實現基類中的初始化函數、就緒函數、啟動函數、停止函數、重啟函數以及結束函數,這些函數分別對應模塊的初始化、就緒、啟動、停止、重啟、結束等6種狀態。運動控制模塊會根據任務的狀態執行對應的函數,并且有序地切換狀態。對于執行哪一類任務,由基類指針在運行時動態綁定派生類的方式來決定。通過這種機制,系統可以方便快捷地拓展新的數控任務以及修改任務內容,增強了系統的拓展性和靈活性。運動控制模塊的運行模式如圖4所示。

圖4 運動控制模塊的運行模式

功能接口模塊提供了數控系統的基本功能接口,封裝了Xenomai域程序的服務。它負責進行跨域通信,將指令和數據打包發送至Xenomai域程序,同時反饋Xenomai域程序的處理結果。功能接口模塊實現了數控系統底層功能的封裝。

2.2 Xenomai域程序設計

Xenomai域程序是數控系統設計的核心內容,負責實現系統的底層功能。它運用IgH EtherCAT協議棧實現了EtherCAT報文的收發,通過編程實現了系統自動識別和控制多種EtherCAT從站。

Xenomai域程序架構如圖5所示。Xenomai域程序需要和Linux域程序進行跨域通信,為避免頻繁的系統調用帶來的花銷影響實時性,本文作者將Xenomai程序設計成進程通信模塊和定時驅動模塊兩個模塊,每個模塊單獨建立一個線程,并將定時驅動模塊設置為最高優先級,允許它優先搶占系統資源,確保主站的實時性。

圖5 Xenomai域程序架構

進程通信模塊通過Xenomai的XDDP協議與Linux域程序通信,其通信內容可保存在“/dev/rtp0”或“/dev/rtp1” 緩存設備中。為提高通信效率,該系統中將前者設置為只讀、后者設置為只寫,構成雙通道緩存機制,讀寫互不影響。

為方便管理和拓展,本文作者將通信內容劃分為寫、讀、控制三類指令。其中,寫指令主要完成I/O置位、EtherCAT主從站配置、系統配置、系統狀態轉換、寫插補緩存等操作;讀指令主要完成掃描從站信息、讀取各軸狀態、讀取伺服編碼器位置、伺服速度信息和報警信息以及讀取程序運行狀態等操作;控制指令主要用于指示任務的啟動、急停、暫停和重啟工作。指令執行后會立即將反饋結果發送給Linux域程序,做到迅速響應。

定時驅動模塊負責插補運算、EtherCAT報文收發和EtherCAT分布時鐘同步等操作。此模塊設置了1 ms的實時運行周期,定期不停地運行。為使各種數控任務有序執行,本文作者將此模塊設置為有限狀態機的工作模式。該有限狀態機包括8種狀態:空閑(IDLE)、初始化(INIT)、就緒(PREPARE)、運行(RUNNING)、暫停(PAUSE)、重啟(RESTART)、急停(STOP)和結束(OVER)。模塊依據不同的條件進行狀態的有序切換,在不同狀態下完成不同的任務,圖6所示為模塊在實際運行中歷經的各種狀態和切換條件。在長耗時任務的運行過程中,模塊的狀態切換由運行參數決定,在進程通信模塊上可通過修改運行參數來控制定時驅動模塊的狀態,從而實現急停、暫停、重啟等功能。

圖6 定時驅動模塊的有限狀態機模型

3 數控加工流程

圖7展示了數控加工過程中,從G代碼文件到具體的EtherCAT報文輸出的流程,整個流程需要兩個程序相互配合完成。加工開始后,Linux域程序首先會解釋G代碼文件,提取G代碼數據并保存至緩存中;然后,對緩存中的運動數據進行S形曲線速度前瞻運算;最后,將完成前瞻的運動數據打包下發至Xenomai程序。為確保前瞻有數據可運算,程序需先解釋一些G代碼,確保緩存中有50條以上的數據才能開啟速度前瞻運算。

圖7 數控加工流程

Xenomai 域程序通過進程通信模塊接收運動數據,并保存到插補緩存中。定時驅動模塊取得運動數據,需先進行預處理運算:根據前瞻結果和S形速度曲線公式計算出線段的總運行時間,然后按插補周期取整,計算平攤量。完成插補的預處理計算后,再采用基于時間分割法的插補算法對直線或圓弧進行插補運算,算出各軸的位移量,然后將這個位移量轉化為各軸編碼器的絕對位置,最終通過EtherCAT報文發送到各個伺服從站中執行。

4 系統性能測試

4.1 內核實時性能測試

操作系統的實時性能主要取決于系統上下文切換所花費的延遲時間。Xenomai提供了cyclictest、latency等工具來測試用戶態、內核態、內核定時器中斷模式下的上下文切換延時。本文作者選用latency工具測試系統內核的實時性??紤]PC機系統實際運行負載可能會很高,為獲得準確的性能評估,在Linux終端先執行stress-v-c 8-i 10-d 8命令使CPU進入滿負載狀態,然后在滿負載狀態下分別執行3次命令latency-tX-s-T600-h,3次命令中X值分別為0、1、2,代表用戶態、內核態、內核定時器中斷模式。測試時間為600 s、采樣周期為100 μs,實驗結果如表1所示。可看出:3種狀態下平均延遲均低于3 μs、最大延遲低于15 μs,此延遲相對于1 ms的定時周期可忽略不計,由此說明內核實時性能上的延遲幾乎不影響數控系統實時性能。

表1 3種模式下latency工具的600 s測試結果

4.2 主站抖動測試

主站抖動是指主站周期性連續發出數據時,相鄰兩個周期之間的時間間隔大小的變化。時間間隔越大,抖動越大,影響任務的實時性。測試主站抖動的方法主要有網絡分析儀方法以及編程測試法。本文作者采用編程測試法測試主站抖動。編寫測試程序,記錄相鄰兩周期發送EtherCAT報文的時間間隔與1 ms周期的差值。經過多次加工實驗,分析實驗數據,得出主站的平均抖動為0.265 μs,最大抖動為24 μs,與文獻[15]中測試得到的平均抖動0.25 μs接近,其性能滿足工業運動控制應用的要求。

5 實驗

在本文作者提出的全軟件數控系統架構下,開發雕銑機數控系統,系統交互界面如圖8所示。利用Qt支持OpenGL的特性,成功運用PC機的GPU資源,在雕銑機系統中開發刀路仿真的功能,可實現刀路的三維動畫展示。

圖8 系統交互界面

本文作者通過加工一個三維小海豚模型的G代碼文件來檢驗數控系統運動控制算法的正確性及其實際加工性能。加工材料采用代木材料,設置機床加工速度為50 mm/s、加速度為500 mm/s、加加速度為5 000 mm/s、主軸轉速為12 000 r/min。實驗結果如圖9所示,經過分析,加工出的模型輪廓分明、表面光滑,表明該數控系統具有良好的實時性和穩定性,其性能可以滿足雕銑機加工的實際要求。

圖9 小海豚模型加工實驗

6 結論

EtherCAT工業以太網總線技術憑借其獨特的運行原理,使通用PC機成為了真正的運動控制器,而無需控制卡協助,極大地簡化了硬件結構,降低了硬件成本。基于EtherCAT技術在通用PC機上開發數控系統,憑借PC機強大的平臺資源,大大增強了數控系統的拓展性和通用性,使開發出多功能、定制化、通用化的數控系統成為可能。本文作者基于Linux+Xenomai雙內核實時系統,運用EtherCAT總線技術,在PC平臺上開發了全軟件雕銑機數控系統。實驗結果表明:該數控系統實時性好,能滿足實際加工要求,具有一定的應用價值和借鑒價值,同時有利于EtherCAT技術和全軟件數控系統的推廣。

猜你喜歡
界面程序系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
人機交互界面發展趨勢研究
主站蜘蛛池模板: 97色婷婷成人综合在线观看| 麻豆精品在线播放| 日韩欧美国产另类| 一级一级一片免费| 国产黄在线观看| 成人免费一级片| 欧美一区福利| 亚洲美女一级毛片| 欧美成人二区| 欧美日韩在线成人| 亚洲国产精品日韩av专区| 国产在线观看99| 成人夜夜嗨| 毛片国产精品完整版| 9cao视频精品| 精品国产美女福到在线不卡f| 亚洲欧美综合另类图片小说区| 亚洲三级电影在线播放 | 一本视频精品中文字幕| 91精品久久久久久无码人妻| 青青草原国产免费av观看| 996免费视频国产在线播放| 日本久久免费| 欧美日韩午夜| 尤物特级无码毛片免费| 成人字幕网视频在线观看| 亚洲一区二区三区中文字幕5566| 天堂在线视频精品| 激情午夜婷婷| 熟女成人国产精品视频| 五月综合色婷婷| 日韩在线视频网| 午夜国产理论| 亚卅精品无码久久毛片乌克兰 | 欧美精品亚洲二区| 91在线国内在线播放老师| 伊人成人在线视频| 五月婷婷中文字幕| 国产女人18毛片水真多1| 国产一级在线播放| 亚洲天堂自拍| 97精品国产高清久久久久蜜芽| 国产乱人伦AV在线A| 久久精品人人做人人爽电影蜜月 | 国模视频一区二区| 亚洲av色吊丝无码| 日本免费高清一区| 日本亚洲欧美在线| 二级特黄绝大片免费视频大片| 久久国产精品嫖妓| 91小视频在线观看免费版高清| 国产91小视频在线观看| 日韩欧美国产另类| 国产成人精品第一区二区| 国产精品福利导航| 欧美一级高清免费a| 99中文字幕亚洲一区二区| 在线va视频| AV在线天堂进入| 日韩在线视频网站| 一级毛片不卡片免费观看| 国产精品亚欧美一区二区| 日韩免费中文字幕| 91久久偷偷做嫩草影院电| 全部无卡免费的毛片在线看| 99在线观看国产| 无码国产伊人| 亚洲一区二区三区国产精华液| 国产伦精品一区二区三区视频优播 | 97视频在线观看免费视频| 国产精品美乳| 精品久久久久成人码免费动漫| 综合色区亚洲熟妇在线| 欧美一区二区精品久久久| 毛片三级在线观看| 国产91视频免费| 久久久91人妻无码精品蜜桃HD| 97se亚洲综合在线韩国专区福利| 男女男免费视频网站国产| 精品91在线| 成人欧美在线观看| 情侣午夜国产在线一区无码|