国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PC的數(shù)控運(yùn)動(dòng)軌跡并行高速插補(bǔ)策略的研究

2013-09-27 03:26
制造技術(shù)與機(jī)床 2013年11期
關(guān)鍵詞:PC機(jī)空間數(shù)據(jù)緩沖區(qū)

李 斌

(福建船政交通職業(yè)學(xué)院,福建福州 350007)

隨著PC軟硬件技術(shù)和網(wǎng)絡(luò)信息化技術(shù)的發(fā)展,研發(fā)基于PC滿足高速高精的開放式軟件型數(shù)控系統(tǒng)已成為當(dāng)今世界數(shù)控技術(shù)發(fā)展的方向[1-2]?;赑C軟件型數(shù)控系統(tǒng)的優(yōu)點(diǎn)在于可借助PC豐富的軟硬件資源,制造成本低,易于實(shí)現(xiàn)開放式結(jié)構(gòu),主要缺點(diǎn)是受限于目前通用PC機(jī)的處理能力,當(dāng)用于大數(shù)據(jù)量處理、高速加工時(shí),高速實(shí)時(shí)插補(bǔ)能力不足,不能滿足高實(shí)時(shí)性要求的場合。現(xiàn)有研究策略[3-5]主要是將主流操作系統(tǒng)改造為實(shí)時(shí)操作系統(tǒng)(Real-Time Operating System,RTOS),以提升其實(shí)時(shí)性。RTOS的定時(shí)精度一般在幾個(gè)到幾十個(gè)微秒,雖然勉強(qiáng)可以滿足高速實(shí)時(shí)插補(bǔ)的周期定時(shí)要求,但是高速實(shí)時(shí)插補(bǔ)帶來頻繁的實(shí)時(shí)中斷,將CPU的大量時(shí)間浪費(fèi)在實(shí)時(shí)中斷調(diào)度上,實(shí)際能利用的有效計(jì)算時(shí)間十分有限,一方面對(duì)插補(bǔ)算法提出了苛刻的時(shí)間要求,另一方面也難以保證有足夠的時(shí)間進(jìn)行其他更多任務(wù)的調(diào)度,影響了系統(tǒng)的性能。此外,當(dāng)前RTOS缺乏統(tǒng)一的編程標(biāo)準(zhǔn),代碼可移植性差,所開發(fā)的軟件系統(tǒng)與操作系統(tǒng)一體化,軟件開發(fā)難度大,不利于系統(tǒng)的開放。例如美國國家標(biāo)準(zhǔn)和技術(shù)研究所(National Institute of Standards and Technology,NIST)主持的增強(qiáng)型運(yùn)動(dòng)控制器(Enhanced Machine Controller,EMC)項(xiàng)目[6]。因此,有必要研發(fā)一種能充分利用PC軟硬件資源的開放式軟件型數(shù)控系統(tǒng)的高速插補(bǔ)模式,滿足高速、大數(shù)據(jù)量數(shù)控加工要求。

1 粗精插補(bǔ)軟硬件功能劃分和時(shí)序關(guān)系

對(duì)于高速、大數(shù)據(jù)量數(shù)控加工,完全依托單一PC機(jī)執(zhí)行數(shù)控運(yùn)動(dòng)軌跡的粗精插補(bǔ)計(jì)算控制實(shí)時(shí)周期任務(wù),難以達(dá)到預(yù)期的控制要求。從粗精兩級(jí)插補(bǔ)的過程來看,精插補(bǔ)計(jì)算嚴(yán)格按照粗插補(bǔ)的采樣周期實(shí)時(shí)執(zhí)行,而粗插補(bǔ)計(jì)算只要能及時(shí)提供精插補(bǔ)計(jì)算所需的位移量數(shù)據(jù)即可,它們之間傳遞的位移量數(shù)據(jù)并不一定需要進(jìn)行實(shí)時(shí)計(jì)算,可以采用數(shù)據(jù)緩沖的方式。本文考慮在PC+I/O接口卡的軟件型PC數(shù)控系統(tǒng)結(jié)構(gòu)的基礎(chǔ)上,采用基于數(shù)據(jù)采樣法的軟硬結(jié)合粗精兩級(jí)插補(bǔ)算法,粗插補(bǔ)算法與精插補(bǔ)算法之間相對(duì)獨(dú)立,時(shí)序關(guān)系上保持協(xié)調(diào)一致。粗插補(bǔ)由PC機(jī)完成,其主要任務(wù)是根據(jù)進(jìn)給速度和加減速的要求計(jì)算出每根軸每個(gè)插補(bǔ)周期的位移量,并將位移量轉(zhuǎn)換為脈沖數(shù)Ni送給精插補(bǔ)模塊。粗插補(bǔ)基于時(shí)間分割法,可以采用各種高速高精度的插補(bǔ)算法,實(shí)現(xiàn)從簡單的平面直線到復(fù)雜空間曲線的插補(bǔ)。精插補(bǔ)計(jì)算由I/O接口卡完成,精插補(bǔ)完成的時(shí)間必須等于粗插補(bǔ)的采樣周期。精插補(bǔ)任務(wù)是將Ni均勻的分配到整個(gè)插補(bǔ)周期,其算法相對(duì)簡單,計(jì)算輸出頻率高,實(shí)時(shí)性強(qiáng)。

2 基于空間數(shù)據(jù)約束的粗精并行高速插補(bǔ)策略

為保證粗精插補(bǔ)間數(shù)據(jù)高速傳輸?shù)目煽啃院瓦B續(xù)性,筆者設(shè)計(jì)了一種基于空間數(shù)據(jù)約束的粗精并行高速插補(bǔ)模式,如圖1所示。在粗精兩級(jí)插補(bǔ)計(jì)算間設(shè)立緩沖區(qū),將粗、精插補(bǔ)間的時(shí)序約束關(guān)系轉(zhuǎn)變?yōu)榭臻g數(shù)據(jù)約束關(guān)系,實(shí)現(xiàn)粗、精插補(bǔ)并行計(jì)算,其中精插補(bǔ)嚴(yán)格按照粗插補(bǔ)的采樣周期精確定時(shí)運(yùn)行,而粗插補(bǔ)計(jì)算則擁有更多自由連續(xù)的計(jì)算時(shí)間,可進(jìn)行連續(xù)的插補(bǔ)運(yùn)算。采取雙緩沖方式,即在PC機(jī)和可編程I/O接口卡上各自建立一個(gè)FIFO數(shù)據(jù)緩存區(qū)(FIFO是First In First Out的縮寫,是一種先進(jìn)先出的數(shù)據(jù)緩存器。下文中的FIFO數(shù)據(jù)緩存區(qū)之類的表達(dá)均簡略為FIFO)。該方法中的粗、精插補(bǔ)間的空間數(shù)據(jù)約束關(guān)系指的是在加工結(jié)束前,必須保證卡上的FIFO中的數(shù)據(jù)不能為空。按“生產(chǎn)者/消費(fèi)者模式”來看,由于精插補(bǔ)是個(gè)定時(shí)周期任務(wù),其“消費(fèi)”數(shù)據(jù)的速率是恒定的,如果粗插補(bǔ)“生產(chǎn)”數(shù)據(jù)的平均速率小于精插補(bǔ)“消費(fèi)”的速率,就會(huì)出現(xiàn)“生產(chǎn)”數(shù)據(jù)不足導(dǎo)致數(shù)據(jù)中斷現(xiàn)象。因此,PC軟件粗插補(bǔ)計(jì)算出每個(gè)插補(bǔ)周期位移數(shù)據(jù)的平均計(jì)算時(shí)間必須小于設(shè)定采樣周期,才能滿足粗、精插補(bǔ)間的空間數(shù)據(jù)約束關(guān)系,保證系統(tǒng)整體運(yùn)動(dòng)控制的實(shí)時(shí)性。

該插補(bǔ)策略取消了實(shí)時(shí)的粗插補(bǔ)計(jì)算,避免將CPU大量的時(shí)間浪費(fèi)在實(shí)時(shí)中斷調(diào)度上,只要滿足粗、精兩級(jí)插補(bǔ)時(shí)的空間數(shù)據(jù)約束關(guān)系,就能使得PC機(jī)擁有更多自由連續(xù)的計(jì)算時(shí)間,既有利于提高數(shù)據(jù)采樣插補(bǔ)的頻率,實(shí)現(xiàn)高速插補(bǔ),又為軌跡插補(bǔ)算法的選擇提供更大的空間和靈活性,有利于實(shí)現(xiàn)系統(tǒng)功能可擴(kuò)展,而且系統(tǒng)軟件開發(fā)無需建立在RTOS上,可充分利用通用PC機(jī)上的豐富的軟件資源和各種標(biāo)準(zhǔn)的開發(fā)工具,能更好的實(shí)現(xiàn)系統(tǒng)的開放。

2.1 雙緩沖同步協(xié)調(diào)機(jī)制

在進(jìn)行粗精插補(bǔ)時(shí),如果I/O接口卡上的FIFO在加工結(jié)束前被精插補(bǔ)讀空或接收來自PC機(jī)的插補(bǔ)數(shù)據(jù)時(shí)出現(xiàn)數(shù)據(jù)溢出,都會(huì)造成機(jī)床加工出錯(cuò)。因此為保證粗、精插補(bǔ)的協(xié)調(diào)運(yùn)行,需要對(duì)雙緩存區(qū)間數(shù)據(jù)傳輸進(jìn)行同步協(xié)調(diào)控制。采用基于中斷機(jī)制來實(shí)現(xiàn)PC機(jī)和可編程I/O接口卡間交互,通過設(shè)定I/O接口卡上的FIFO的數(shù)據(jù)余量和傳輸定量數(shù)據(jù)的方法來實(shí)現(xiàn)雙緩存區(qū)間數(shù)據(jù)傳輸?shù)膮f(xié)調(diào)同步控制。

這種同步控制過程如圖2所示,假設(shè)可編程I/O接口卡上的FIFO的容量為M+N個(gè)數(shù)據(jù)單元,其中N為數(shù)據(jù)單元余量值,M為每次傳輸?shù)亩繑?shù)據(jù)單元值。由于每次傳輸?shù)臄?shù)據(jù)量都是一定的,而對(duì)同一臺(tái)PC機(jī)來說其每次中斷響應(yīng)時(shí)間也是相近的,所以PC機(jī)每次響應(yīng)中斷并傳輸定量數(shù)據(jù)的總時(shí)間可以認(rèn)為是一個(gè)定值。設(shè)精插補(bǔ)計(jì)算的定時(shí)運(yùn)行周期為T,每當(dāng)I/O接口卡上的FIFO被其讀取到設(shè)定的余量值N時(shí)產(chǎn)生中斷,PC機(jī)響應(yīng)中斷傳輸M個(gè)數(shù)據(jù)單元到I/O接口卡上的FIFO內(nèi),耗時(shí)設(shè)為t,可推算出I/O接口卡上的FIFO在新數(shù)據(jù)到達(dá)前,其數(shù)據(jù)量應(yīng)為N-t/T,若N-t/T>0,即N>t/T時(shí),則可保證緩沖區(qū)的數(shù)據(jù)不會(huì)被讀空;新數(shù)據(jù)到達(dá)后,緩沖區(qū)數(shù)據(jù)量為M+N-t/T,必小于其容量M+N,因此數(shù)據(jù)一定不會(huì)溢出。另外,PC機(jī)發(fā)送完數(shù)據(jù)后,其插補(bǔ)數(shù)據(jù)緩沖區(qū)有空閑,粗插補(bǔ)計(jì)算自動(dòng)喚醒運(yùn)行,直到計(jì)算出的數(shù)據(jù)寫滿緩沖區(qū)后,進(jìn)入休眠等待。

2.2 數(shù)據(jù)緩沖區(qū)M、N值大小的選取分析

根據(jù)上述同步工作機(jī)制,粗精插補(bǔ)協(xié)調(diào)運(yùn)行時(shí),相關(guān)的時(shí)序關(guān)系如圖3所示,并有如下關(guān)系式:

式中:tn為PC機(jī)響應(yīng)中斷并傳輸數(shù)據(jù)的總時(shí)間;tm為I/O接口卡上FIFO從滿到余量等于N的運(yùn)行時(shí)間;td為喚醒粗插補(bǔ)線程運(yùn)行的調(diào)度響應(yīng)時(shí)間;tc為粗插補(bǔ)線程運(yùn)行并將PC機(jī)FIFO寫滿的時(shí)間。

從時(shí)序關(guān)系圖3和式(1)可知,如果N值太小,I/O接口卡上的FIFO會(huì)在加工結(jié)束前出現(xiàn)被讀空的狀態(tài),造成加工出錯(cuò),所以應(yīng)設(shè)置足夠大的N值,但是過大的N值也會(huì)造成緩沖區(qū)空間的浪費(fèi)。M值的大小會(huì)直接影響系統(tǒng)的性能,如果M值設(shè)置的太小時(shí),會(huì)導(dǎo)致粗插補(bǔ)計(jì)算調(diào)度過于頻繁,降低系統(tǒng)的運(yùn)行效率;相反,M值設(shè)置的越大,tm也越大,意味著系統(tǒng)軟件具有更多的時(shí)間進(jìn)行數(shù)據(jù)處理,系統(tǒng)可以從容地進(jìn)行軌跡插補(bǔ)處理和其他任務(wù)的調(diào)度,可適應(yīng)高速、高精度和復(fù)雜曲面大數(shù)據(jù)量加工的運(yùn)動(dòng)控制要求。但是值的注意的是,M值設(shè)置的過大可能會(huì)使數(shù)控系統(tǒng)出現(xiàn)明顯的延遲。因此,應(yīng)根據(jù)系統(tǒng)的實(shí)際需求,合理地設(shè)置M和N的值。

為驗(yàn)證上述的協(xié)調(diào)同步控制方法的有效性,在PC(標(biāo)準(zhǔn)的Linux2.6系統(tǒng))+帶FPGA芯片的I/O接口卡的軟件型數(shù)控平臺(tái)上進(jìn)行測試,設(shè)定粗插補(bǔ)采樣周期為2 ms,即精插補(bǔ)的定時(shí)運(yùn)行周期為2 ms,I/O接口卡上FIFO容量設(shè)定2048×32 bit,其余量值N為48×32 bit,傳輸?shù)亩繑?shù)據(jù)M為2 000×32 bit(注:一個(gè)數(shù)據(jù)單元的大小為32 bit)。實(shí)際測試結(jié)果顯示,對(duì)于復(fù)雜曲面高速加工大數(shù)據(jù)量加工,該軟硬件系統(tǒng)運(yùn)行良好,取得較好的運(yùn)動(dòng)軌跡控制效果。

3 結(jié)語

針對(duì)基于PC的軟件型數(shù)控系統(tǒng)研究一種基于空間數(shù)據(jù)約束的粗精并行高速插補(bǔ)算法,無需實(shí)時(shí)粗插補(bǔ)計(jì)算,只要PC軟件粗插補(bǔ)計(jì)算出每個(gè)插補(bǔ)周期位移數(shù)據(jù)的平均計(jì)算時(shí)間小于設(shè)定采樣周期,合理的選取數(shù)據(jù)緩沖區(qū)的M、N值,就能滿足粗、精插補(bǔ)間的空間數(shù)據(jù)約束關(guān)系,實(shí)現(xiàn)系統(tǒng)整體的實(shí)時(shí)運(yùn)動(dòng)控制。該插補(bǔ)策略使得PC軟件數(shù)控可建立在主流的通用操作系統(tǒng)上,既能適應(yīng)高速高精的運(yùn)動(dòng)控制方面的要求,又減低軟件數(shù)控對(duì)PC機(jī)操作系統(tǒng)實(shí)時(shí)性的依賴,有利于軟件數(shù)控開放性的實(shí)現(xiàn)。目前該插補(bǔ)控制方法已在自行開發(fā)的基于Linux的軟件型開放式數(shù)控系統(tǒng)中得到應(yīng)用,驗(yàn)證了其有效性。

[1]徐寧,楊秀云.數(shù)控系統(tǒng)的現(xiàn)狀及發(fā)展趨勢[J].機(jī)械設(shè)計(jì)與制造,2006,4:132 -134.

[2]王成元,常國祥,郭雨梅.開放式數(shù)控系統(tǒng)的發(fā)展現(xiàn)狀及其趨勢[J].沈陽工業(yè)大學(xué)學(xué)報(bào),2007,29(1):61 -64.

[3]陳宗雨,郭偉,王立峰,等.基于WindowsNT與實(shí)時(shí)擴(kuò)展的開放式數(shù)控系統(tǒng)的研究[J].計(jì)算機(jī)集成制造系統(tǒng),2006,12(4):568-572,640.

[4]梁宏斌,王永章.基于Windows的開放式數(shù)控系統(tǒng)實(shí)時(shí)問題研究[J].計(jì)算機(jī)集成制造系統(tǒng),2003,4(9):403 -406.

[5]朱達(dá)宇,李彥.基于RTLinux的全軟件數(shù)控系統(tǒng)[J].計(jì)算機(jī)集成制造系統(tǒng),2004,12(10):1571 -1576.

[6]Shackleford W P,Proctor F M.Use of open source distribution for a machine tool controller[EB/OL].[2008 - 05 - 24].http://www.isd.mel.nist.gov/documents/s hackleford/4191_05.pdf.

猜你喜歡
PC機(jī)空間數(shù)據(jù)緩沖區(qū)
GIS空間數(shù)據(jù)與地圖制圖融合技術(shù)
串行連續(xù)生產(chǎn)線的可用度與緩沖庫存控制研究*
基于ARC的閃存數(shù)據(jù)庫緩沖區(qū)算法①
基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
基于單片機(jī)與PC機(jī)的電氣量采集系統(tǒng)設(shè)計(jì)
初涉緩沖區(qū)
VIVID3彩色超聲儀結(jié)構(gòu)原理及維修
網(wǎng)格化存儲(chǔ)的幾項(xiàng)關(guān)鍵技術(shù)分析
多目標(biāo)緩沖區(qū)生成算法
菏泽市| 蓬安县| 中阳县| 盱眙县| 满城县| 基隆市| 保山市| 扬中市| 蓬溪县| 石林| 扶沟县| 什邡市| 买车| 冀州市| 丹寨县| 长武县| 澄城县| 特克斯县| 英山县| 武汉市| 屏南县| 政和县| 石台县| 滨海县| 涞源县| 普兰县| 全南县| 达日县| 嘉鱼县| 洪洞县| 边坝县| 宝丰县| 永年县| 开封县| 吉木乃县| 自贡市| 霸州市| 凌海市| 迁西县| 米泉市| 赤峰市|