陳傳偉,付 鑠,韓振宇,富宏亞
(哈爾濱工業(yè)大學(xué) 機(jī)電工程學(xué)院,哈爾濱 150001)
與傳統(tǒng)數(shù)控系統(tǒng)相比,嵌入式數(shù)控系統(tǒng)具有低成本,穩(wěn)定性、可靠性高等優(yōu)勢(shì)[1]。近年來(lái),隨著嵌入式多核處理器的出現(xiàn)和發(fā)展,嵌入式處理器性能大幅提升,為嵌入式數(shù)控系統(tǒng)的發(fā)展提供了有力的支持,使其能夠朝著高速高精、復(fù)合加工、多通道多軸聯(lián)動(dòng)、智能化等方向[2]發(fā)展,圍繞多核調(diào)度算法、并行數(shù)控系統(tǒng)等方向的研究相繼展開。文獻(xiàn)[3]對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II進(jìn)行擴(kuò)展,實(shí)現(xiàn)了其對(duì)嵌入式對(duì)稱多核處理器多任務(wù)調(diào)度的支持。文獻(xiàn)[4]針對(duì)數(shù)控系統(tǒng)各任務(wù)間數(shù)據(jù)流不平衡問題題建立了數(shù)據(jù)流反饋調(diào)度模型。文獻(xiàn)[5]提出了基于多處理器的最早截止期優(yōu)先調(diào)度算法的測(cè)試方法。
本文對(duì)并行數(shù)控系統(tǒng)實(shí)時(shí)任務(wù)調(diào)度需求進(jìn)行分析,針對(duì)數(shù)據(jù)依賴任務(wù)間數(shù)據(jù)流不平衡問題,提出了一種混合實(shí)時(shí)任務(wù)算法,基于嵌入式實(shí)時(shí)操作系統(tǒng)eCos設(shè)計(jì)并實(shí)現(xiàn)了該調(diào)度器,其能自動(dòng)維持?jǐn)?shù)據(jù)流平衡,具有良好的負(fù)載平衡性和加速比。對(duì)GRBL串行數(shù)控系統(tǒng)進(jìn)行多任務(wù)劃分,并基于嵌入式對(duì)稱多核處理器S698PM[6]和混合實(shí)時(shí)任務(wù)調(diào)度器搭建了并行數(shù)控系統(tǒng)實(shí)驗(yàn)平臺(tái)。
數(shù)控系統(tǒng)任務(wù)分為實(shí)時(shí)任務(wù)與非實(shí)時(shí)任務(wù),本文主要研究實(shí)時(shí)任務(wù)調(diào)度。
本文提出的并行數(shù)控系統(tǒng)實(shí)時(shí)內(nèi)核架構(gòu)見圖1。其中,虛線框內(nèi)任務(wù)鏈上的任務(wù)具有嚴(yán)格的時(shí)序,G代碼必須依次經(jīng)過譯碼任務(wù)、擬合任務(wù)、前瞻規(guī)劃任務(wù)、前加減速規(guī)劃任務(wù)、插補(bǔ)任務(wù)的處理,才能得到正確的運(yùn)動(dòng)控制指令,任務(wù)間還存在數(shù)據(jù)依賴關(guān)系,即下游任務(wù)的執(zhí)行必須依賴上游任務(wù)產(chǎn)生的數(shù)據(jù),本文稱這類任務(wù)為數(shù)據(jù)依賴任務(wù),通過在任務(wù)間構(gòu)建循環(huán)隊(duì)列形成多級(jí)流水線結(jié)構(gòu),實(shí)現(xiàn)各任務(wù)間解耦,各數(shù)據(jù)依賴任務(wù)在滿足調(diào)度條件的前提下,可在多核處理器各處理核心上并發(fā)執(zhí)行。此外,并行數(shù)控系統(tǒng)實(shí)時(shí)內(nèi)核中還存在傳統(tǒng)的周期性實(shí)時(shí)任務(wù),該類任務(wù)由定時(shí)器驅(qū)動(dòng),按一定的任務(wù)周期執(zhí)行,如位置發(fā)送任務(wù),按插補(bǔ)周期將位置指令發(fā)送至伺服電機(jī)驅(qū)動(dòng)器,控制電機(jī)運(yùn)動(dòng),又如機(jī)床狀態(tài)檢測(cè)任務(wù),對(duì)機(jī)床狀態(tài)、標(biāo)志量等進(jìn)行周期性檢測(cè),并進(jìn)行相應(yīng)的機(jī)床狀態(tài)切換和I/O操作。由此,將并行數(shù)控系統(tǒng)實(shí)時(shí)內(nèi)核任務(wù)分為周期性實(shí)時(shí)任務(wù)和數(shù)據(jù)依賴任務(wù),本文將周期性實(shí)時(shí)任務(wù)用二元組(P,T)描述,其中P為任務(wù)優(yōu)先級(jí),T為任務(wù)周期(ms),將數(shù)據(jù)依賴任務(wù)用三元組(O,UL,DL)描述,O為在任務(wù)鏈上的位置索引,UL為上游緩存數(shù)據(jù)量,DL為下游緩存數(shù)據(jù)量,這兩類實(shí)時(shí)任務(wù)對(duì)應(yīng)的任務(wù)集的合集構(gòu)成混合實(shí)時(shí)任務(wù)集。
并行數(shù)控系統(tǒng)在處理G代碼的過程中,由于每條G代碼對(duì)應(yīng)的插補(bǔ)曲線類型、長(zhǎng)度不定,造成各任務(wù)消耗與產(chǎn)生數(shù)據(jù)量之比為1:N(N>=1)。如擬合任務(wù)對(duì)圓弧指令的處理,該任務(wù)需按照弦高誤差將圓弧劃分為連續(xù)的直線微段,以滿足圓弧精度的要求,不同的弧長(zhǎng)及弦高誤差會(huì)導(dǎo)致直線微段數(shù)量N的變化,故擬合任務(wù)一次作業(yè)時(shí)間隨插補(bǔ)曲線類型、長(zhǎng)度變化而變化,造成了任務(wù)鏈上數(shù)據(jù)流波動(dòng)。數(shù)據(jù)流波動(dòng)會(huì)直接影響加工連續(xù)性,進(jìn)而影響數(shù)控機(jī)床加工質(zhì)量,需要對(duì)數(shù)據(jù)流波動(dòng)進(jìn)行有效調(diào)節(jié)。
為充分利用對(duì)稱多核處理器的運(yùn)算能力,保證各處理核心負(fù)載平衡,同時(shí)實(shí)現(xiàn)周期性實(shí)時(shí)任務(wù)與數(shù)據(jù)依賴任務(wù)統(tǒng)一調(diào)度,保證任務(wù)鏈上數(shù)據(jù)流平衡,需要設(shè)計(jì)相應(yīng)的任務(wù)調(diào)度器,以滿足并行數(shù)控系統(tǒng)實(shí)時(shí)內(nèi)核混合任務(wù)集的調(diào)度需求,如圖1所示。
圖1 并行數(shù)控系統(tǒng)實(shí)時(shí)內(nèi)核架構(gòu)
首先,根據(jù)調(diào)度需求分析了混合實(shí)時(shí)任務(wù)調(diào)度器的調(diào)度依據(jù),設(shè)計(jì)了調(diào)度流程,并在分析嵌入式實(shí)時(shí)操作系統(tǒng)eCos多級(jí)隊(duì)列調(diào)度器的基礎(chǔ)上,對(duì)其進(jìn)行改造,實(shí)現(xiàn)了混合實(shí)時(shí)任務(wù)調(diào)度器,并根據(jù)該調(diào)度器提出了數(shù)據(jù)依賴任務(wù)通用框架。
任務(wù)調(diào)度器的作用是計(jì)算調(diào)度時(shí)刻優(yōu)先級(jí)最高的就緒任務(wù)并執(zhí)行上下文切換,實(shí)現(xiàn)任務(wù)調(diào)度,故首先應(yīng)當(dāng)確定調(diào)度依據(jù)。
混合實(shí)時(shí)任務(wù)集中的周期性任務(wù)可由eCos多級(jí)隊(duì)列調(diào)度器進(jìn)行調(diào)度,而任務(wù)鏈上的數(shù)據(jù)依賴任務(wù)需根據(jù)調(diào)度需求設(shè)計(jì)調(diào)度算法完成調(diào)度。圖2為某一時(shí)刻任務(wù)鏈上數(shù)據(jù)流狀態(tài),縱坐標(biāo)表示數(shù)據(jù)量,橫坐標(biāo)從左至右表示任務(wù)鏈上游至下游,各任務(wù)消耗數(shù)據(jù)量與生產(chǎn)數(shù)據(jù)量之比為1:N(N>=1),任務(wù)每執(zhí)行一次,任務(wù)上下游數(shù)據(jù)量差值減N+1。為維持?jǐn)?shù)據(jù)流平衡,需要使任務(wù)上下游數(shù)據(jù)量差值向0逼近,故任務(wù)鏈上擁有最大上下游數(shù)據(jù)量差值的任務(wù)應(yīng)當(dāng)優(yōu)先執(zhí)行,即圖2中Task1。結(jié)合任務(wù)上下游緩存數(shù)據(jù)量大小、多核處理器特性可總結(jié)出四條調(diào)度依據(jù):①根據(jù)任務(wù)是否正在某CPU上運(yùn)行決定是否調(diào)度;②根據(jù)任務(wù)上游緩存是否有數(shù)據(jù),下游緩存是否有剩余空間決定該任務(wù)是否調(diào)度;③計(jì)算任務(wù)上下游數(shù)據(jù)量差值,優(yōu)先執(zhí)行差值最大的任務(wù);④若存在幾個(gè)任務(wù)有相同的最大差值,優(yōu)先執(zhí)行上游任務(wù)。
圖2 某時(shí)刻任務(wù)鏈上數(shù)據(jù)流狀態(tài)
根據(jù)以上數(shù)據(jù)依賴任務(wù)的調(diào)度依據(jù),設(shè)計(jì)出數(shù)據(jù)依賴任務(wù)調(diào)度算法流程,如圖3所示,即從任務(wù)鏈上游至下游依次遍歷各數(shù)據(jù)依賴任務(wù),根據(jù)數(shù)據(jù)依賴任務(wù)調(diào)度依據(jù),計(jì)算得到優(yōu)先級(jí)最高的任務(wù)并進(jìn)行調(diào)度。
圖3 數(shù)據(jù)依賴任務(wù)調(diào)度算法流程圖
本文基于嵌入式實(shí)時(shí)操作系統(tǒng)eCos實(shí)現(xiàn)混合實(shí)時(shí)任務(wù)調(diào)度器。首先對(duì)其原有調(diào)度器進(jìn)行分析。eCos通過多級(jí)隊(duì)列調(diào)度算法[7]實(shí)現(xiàn)對(duì)SMP多核多任務(wù)調(diào)度的支持。多級(jí)隊(duì)列表示eCos支持多個(gè)不同優(yōu)先級(jí),默認(rèn)優(yōu)先級(jí)為0~31,每個(gè)優(yōu)先級(jí)對(duì)應(yīng)了一個(gè)雙向循環(huán)任務(wù)鏈表。其調(diào)度算法流程如圖4所示,其中pending[i]表示優(yōu)先級(jí)為i的任務(wù)鏈表中被掛起的任務(wù)數(shù)目,pending_map的第i位狀態(tài)表示優(yōu)先級(jí)為i的任務(wù)鏈表中是否有被掛起的任務(wù),eCos通過這兩個(gè)變量的共同作用實(shí)現(xiàn)SMP多核多任務(wù)調(diào)度。
為基于eCos多級(jí)隊(duì)列調(diào)度器實(shí)現(xiàn)混合實(shí)時(shí)任務(wù)調(diào)度器,將在[0,CRI_N)區(qū)間內(nèi)的優(yōu)先級(jí)定義為周期性任務(wù)優(yōu)先級(jí),將[CRI_N,31)區(qū)間內(nèi)優(yōu)先級(jí)定義為數(shù)據(jù)依賴任務(wù)在任務(wù)鏈上的位置索引。優(yōu)先級(jí)為31的任務(wù)為系統(tǒng)空閑任務(wù)?;旌先蝿?wù)調(diào)度算法流程如圖5所示,若任務(wù)鏈表中存在就緒的周期性實(shí)時(shí)任務(wù),根據(jù)多級(jí)隊(duì)列調(diào)度算法,調(diào)度優(yōu)先級(jí)最高的周期性任務(wù),調(diào)度結(jié)束;若沒有就緒的周期性實(shí)時(shí)任務(wù),根據(jù)數(shù)據(jù)依賴任務(wù)調(diào)度算法遍歷任務(wù)鏈上的數(shù)據(jù)依賴任務(wù)任務(wù),找到優(yōu)先級(jí)最高的數(shù)據(jù)依賴任務(wù),調(diào)度該任務(wù),若沒有滿足調(diào)度條件的數(shù)據(jù)依賴任務(wù),則調(diào)度系統(tǒng)空閑任務(wù)。由此,基于eCos多級(jí)隊(duì)列調(diào)度器構(gòu)建了混合實(shí)時(shí)任務(wù)調(diào)度器。
圖4 eCos多級(jí)隊(duì)列調(diào)度算法流程圖
圖5 混合實(shí)時(shí)任務(wù)調(diào)度算法
根據(jù)混合實(shí)時(shí)任務(wù)調(diào)度器的調(diào)度原理,提出數(shù)據(jù)依賴任務(wù)通用框架,其示意圖如圖6所示。按該架構(gòu)定義各數(shù)據(jù)依賴任務(wù),從而與混合實(shí)時(shí)任務(wù)調(diào)度器相適應(yīng)。
圖6 數(shù)據(jù)依賴任務(wù)通用架構(gòu)
本文基于GRBL串行數(shù)控系統(tǒng)構(gòu)建并行數(shù)控系統(tǒng),在深入分析GRBL內(nèi)核的基礎(chǔ)上,對(duì)其進(jìn)行多任務(wù)劃分,并在任務(wù)間引入循環(huán)隊(duì)列實(shí)現(xiàn)各任務(wù)解耦。由于嵌入式處理器內(nèi)存空間有限,在上位機(jī)與數(shù)控系統(tǒng)之間建立了G代碼動(dòng)態(tài)批處理機(jī)制。
并行數(shù)控系總體統(tǒng)架構(gòu)如圖7所示,上位機(jī)向數(shù)控系統(tǒng)發(fā)送G代碼,開關(guān)量控制指令等。選用嵌入式對(duì)稱多核處理器S698PM運(yùn)行并行數(shù)控系統(tǒng),該處理器基于SPARC架構(gòu)設(shè)計(jì),含有4個(gè)處理器核心,最高主頻可達(dá)500MHz。數(shù)控系統(tǒng)采用數(shù)據(jù)采樣插補(bǔ),將插補(bǔ)得到的各軸進(jìn)給量通過網(wǎng)絡(luò)端口發(fā)送給POWERLINK[8]通信卡,通信卡將位置信息轉(zhuǎn)換為POWERLINK協(xié)議幀,發(fā)送給支持POWERLINK協(xié)議的伺服電機(jī)驅(qū)動(dòng),從而控制電機(jī)運(yùn)動(dòng)。電氣控制柜如圖8所示,三軸銑床如圖9所示。
圖7 并行數(shù)控系總體統(tǒng)架構(gòu)示意圖
圖8 控制柜 圖9 三軸銑床
首先對(duì)GRBL串行數(shù)控系統(tǒng)內(nèi)核架構(gòu)進(jìn)行分析。其工作流程可概括如下:PC通過串口向GRBL發(fā)送G代碼,GRBL接收到一個(gè)完整的G代碼段后,進(jìn)行譯碼。譯碼結(jié)束后,對(duì)于接收到的插補(bǔ)指令,首先按精度要求將曲線擬合成連續(xù)直線段,并對(duì)直線段序列進(jìn)行前瞻規(guī)劃,得到各直線段滿足電機(jī)加減速性能的最大入口速度,接著對(duì)直線段進(jìn)行前加減速規(guī)劃,得到具體的速度曲線,再進(jìn)行粗插補(bǔ),計(jì)算插補(bǔ)時(shí)間及距離增量,放入微段緩存segment_buffer[N]中,如圖10所示。微段緩存由定時(shí)器中斷服務(wù)函數(shù)進(jìn)行處理,其過程如圖11所示,根據(jù)各微段的粗插補(bǔ)時(shí)間及距離增量計(jì)算脈沖序列的頻率,采用基準(zhǔn)脈沖插補(bǔ)法,利用Bresenham[9]法生成脈沖序列,實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的速度及位置控制。
圖10 GRBL內(nèi)核架構(gòu)示意圖
圖11 定時(shí)器中斷處理過程
將GRBL串行數(shù)控系統(tǒng)劃分為圖12所示的各個(gè)數(shù)據(jù)依賴任務(wù),通過在任務(wù)間構(gòu)建循環(huán)隊(duì)列實(shí)現(xiàn)任務(wù)解耦和數(shù)據(jù)傳遞,從而在嵌入式對(duì)稱多核處理器上實(shí)現(xiàn)多級(jí)流水線數(shù)據(jù)并行產(chǎn)銷,最后由周期性任務(wù)位置發(fā)送任務(wù)按插補(bǔ)周期向伺服電機(jī)驅(qū)動(dòng)器發(fā)送位置指令。由于各循環(huán)隊(duì)列的上下游任務(wù)可能同時(shí)對(duì)其進(jìn)行訪問,需通過互斥量[10]對(duì)循環(huán)隊(duì)列進(jìn)行保護(hù),保證運(yùn)算過程的正確性。
圖12 并行數(shù)控系統(tǒng)架構(gòu)
由于數(shù)控系統(tǒng)的G代碼存儲(chǔ)空間有限,而G代碼大小與工件復(fù)雜程度相關(guān),為防止數(shù)控系統(tǒng)G代碼的存儲(chǔ)空間溢出,須在上位機(jī)數(shù)控系統(tǒng)之間建立G代碼動(dòng)態(tài)批處理機(jī)制。首先根據(jù)數(shù)控系統(tǒng)G代碼存儲(chǔ)空間大小設(shè)置上溢值和下溢值,啟動(dòng)上位機(jī)發(fā)送G代碼后,數(shù)控系統(tǒng)在接收G代碼的同時(shí),檢測(cè)G代碼存儲(chǔ)空間的數(shù)據(jù)量,當(dāng)數(shù)據(jù)量超過上溢值時(shí),向上位機(jī)發(fā)送停止發(fā)送指令,此時(shí)數(shù)控系統(tǒng)繼續(xù)消耗G代碼,當(dāng)檢測(cè)到數(shù)據(jù)量小于下溢值時(shí),向上位機(jī)發(fā)送啟動(dòng)發(fā)送指令,從而實(shí)現(xiàn)G代碼動(dòng)態(tài)批處理。
首先對(duì)調(diào)度器進(jìn)行測(cè)試,驗(yàn)證其正確性及數(shù)據(jù)流平衡效果,測(cè)試了負(fù)載平衡性和加速比。通過加工實(shí)驗(yàn)驗(yàn)證了并行數(shù)控系統(tǒng)的正確性。
圖13 各緩存數(shù)據(jù)量變化情況
為驗(yàn)證混合實(shí)時(shí)任務(wù)調(diào)度器的正確性,建立了2個(gè)周期性任務(wù),其參數(shù)為(0,500),(1,500),同時(shí)建立了6個(gè)數(shù)據(jù)依賴任務(wù),其在任務(wù)鏈上的位置索引依次為16、17、18、19、20、21。各任務(wù)每執(zhí)行一次將對(duì)應(yīng)指示燈取反。測(cè)試程序運(yùn)行后,周期性任務(wù)按500ms周期執(zhí)行。當(dāng)在最上游緩存放置數(shù)據(jù)時(shí),數(shù)據(jù)依賴任務(wù)按位置關(guān)系順序執(zhí)行,驗(yàn)證了混合實(shí)時(shí)任務(wù)調(diào)度器的正確性。
為驗(yàn)證調(diào)度過程中任務(wù)鏈上數(shù)據(jù)流平衡效果,基于QT[11]編寫了數(shù)據(jù)流狀態(tài)演示軟件,在最上游緩存放入150個(gè)待處理數(shù)據(jù),調(diào)度過程中各緩存數(shù)據(jù)量趨于平衡,如圖13所示,驗(yàn)證了調(diào)度器的數(shù)據(jù)流平衡效果。
用硬延時(shí)語(yǔ)句for循環(huán)1千萬(wàn)次模擬任務(wù)的數(shù)據(jù)處理過程,在最上游緩存內(nèi)放置150個(gè)待處理的數(shù)據(jù),統(tǒng)計(jì)程序執(zhí)行過程中各CPU執(zhí)行各任務(wù)的次數(shù),由于各任務(wù)數(shù)據(jù)處理過程相同,執(zhí)行次數(shù)可類比于CPU運(yùn)行時(shí)間,統(tǒng)計(jì)結(jié)果如表1所示。實(shí)驗(yàn)表明,該條件下,各CPU執(zhí)行次數(shù)占總執(zhí)行次數(shù)基本相同,驗(yàn)證了各CPU負(fù)載平衡。
通過定時(shí)器測(cè)試各任務(wù)執(zhí)行時(shí)間及并行時(shí)間,單位為ms,測(cè)試結(jié)果如表2所示,測(cè)得并行時(shí)間為17649ms,加速比為3.895,具有較好的加速效果。
表1 各CPU任務(wù)執(zhí)行情況統(tǒng)計(jì)
表2 加速比測(cè)試
為驗(yàn)證并行數(shù)控系統(tǒng)的正確性,進(jìn)行了加工實(shí)驗(yàn),設(shè)定插補(bǔ)周期為2ms,進(jìn)給速度100mm/min,加速度72000mm/min2,選用4mm直徑銑刀,加工軌跡如圖14所示,將并行數(shù)控系統(tǒng)安裝至三軸銑床,進(jìn)行蠟?zāi)<庸ぃ鋵?shí)際加工效果如圖15所示。由此,驗(yàn)證了并行數(shù)控系統(tǒng)系統(tǒng)的正確性。
圖14 加工軌跡 圖15 加工效果
本文在分析并行數(shù)控系統(tǒng)任務(wù)調(diào)度需求的基礎(chǔ)上提出了混合實(shí)時(shí)任務(wù)調(diào)度器,通過改造嵌入式實(shí)時(shí)操作系統(tǒng)eCos實(shí)現(xiàn)了該任務(wù)調(diào)度器,并基于嵌入式對(duì)稱多核處理器S698PM搭建了并行數(shù)控系統(tǒng)實(shí)驗(yàn)平臺(tái)。實(shí)驗(yàn)結(jié)果明,混合實(shí)時(shí)任務(wù)調(diào)度器實(shí)現(xiàn)了周期性任務(wù)與數(shù)據(jù)依賴任務(wù)統(tǒng)一調(diào)度,能自動(dòng)維持?jǐn)?shù)據(jù)流平衡,保證良好的負(fù)載平衡性和加速比,在調(diào)度數(shù)控系統(tǒng)實(shí)時(shí)任務(wù)方面具有眾多優(yōu)點(diǎn),基于該調(diào)度器的并行數(shù)控系統(tǒng)能正確運(yùn)行,證明了該調(diào)度器具備實(shí)用性。未來(lái)將繼續(xù)完善該并行數(shù)控系統(tǒng),以體現(xiàn)出多核并行數(shù)控系統(tǒng)在運(yùn)算性能方面的優(yōu)勢(shì)。
[參考文獻(xiàn)]
[1] 劉建康. 基于ARM+FPGA的嵌入式數(shù)控系統(tǒng)硬件設(shè)計(jì)[D]. 哈爾濱: 哈爾濱工業(yè)大學(xué), 2013.
[2] 劉大煒, 湯立民. 國(guó)產(chǎn)高檔數(shù)控機(jī)床的發(fā)展現(xiàn)狀及展望[J]. 航空制造技術(shù), 2014(3): 40-43.
[3] 章承科. 基于多核處理器的實(shí)時(shí)操作系統(tǒng)的擴(kuò)展[D]. 成都: 電子科技大學(xué), 2006.
[4] 秦承剛. 開放式數(shù)控系統(tǒng)的實(shí)時(shí)操作系統(tǒng)優(yōu)化技術(shù)研究與應(yīng)用[D]. 北京: 中國(guó)科學(xué)院大學(xué), 2012.
[5] Theodore P Baker. An Analysis of EDF Schedulability on a Multiprocessor[J]. IEEE Transactions on Parallel and Distributed Systems, 2005, 16(8): 760- 768.
[6] 顏軍. SPARC嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)[M]. 北京: 中國(guó)標(biāo)準(zhǔn)出版社, 2013.
[7] 蔣句平. 嵌入式可配置實(shí)時(shí)操作系統(tǒng)eCos開發(fā)與運(yùn)用[M]. 北京: 機(jī)械工業(yè)出版社, 2008.
[8] 肖維榮, 王瑾秋, 宋華振. 開源實(shí)時(shí)以太網(wǎng)Powerlink詳解[M]. 北京: 機(jī)械工業(yè)出版社, 2015.
[9] Liu X W, Cheng K. Three-dimensional extension of Bresenham's algorithm and its application in straight-line interpolation[J]. Proceedings of Institution of Mechanical Engineers Part B Journal of Engineering Engineering Manufacture, 2002, 216(3): 459-463.
[10] Anthony J Massa. 嵌入式配置實(shí)時(shí)操作系統(tǒng)eCos軟件開發(fā)[M]. 顏若麟,譯. 北京: 北京航空航天大學(xué)出版社, 2006.
[11] 吳純赟, 欒勇, 杜少華,等. 基于Qt的數(shù)控系統(tǒng)測(cè)試軟件的設(shè)計(jì)與實(shí)現(xiàn)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2016(11): 76-79.
組合機(jī)床與自動(dòng)化加工技術(shù)2018年4期