-
-2 15
- 賈毅朝,孫培祿(青島卓東機(jī)械科技有限公司,山東青島266400)摘要:提出了一種基于AuioCAD的模塊化設(shè)計方法,并對自動編程系統(tǒng)開發(fā)的關(guān)鍵技術(shù)進(jìn)行了研究,包括圖形數(shù)據(jù)的采集,加工模具的選擇,加工路徑的優(yōu)化處理以及NC代碼的生成等自動編程的一系列過程。研究了仿真模塊的總體結(jié){弩方案,實(shí)現(xiàn)了基于AutoCAD Wj=維動態(tài)仿真。實(shí)踐生產(chǎn)證明,基于AutoCAD的數(shù)控沖床自動編程系統(tǒng)能夠滿足實(shí)際生產(chǎn)的需要,能夠有效提高數(shù)控沖壓加工的生產(chǎn)效率和安全性。關(guān)量詞:VisuaIUSP;數(shù)控沖床;自動編程;加工仿真O概述隨著科學(xué)技術(shù)的發(fā)展,數(shù)控沖床越來越廣泛地應(yīng)用在機(jī)械制造行業(yè)中。在數(shù)控加工系統(tǒng)中,傳統(tǒng)的NtC代碼手工編程不僅效率低,而且容易出錯;而采用APT語言的自動編程雖然幾何定義語句簡潔,功能較強(qiáng),但要求編程人員要熟記系統(tǒng)的語言與規(guī)則,一旦出錯又不易發(fā)現(xiàn)。國外的數(shù)控沖床圖形編程系統(tǒng)已應(yīng)用于工業(yè)生產(chǎn)實(shí)際,而我國在這方面還處于研究階段。本文作者對數(shù)控沖床的自動編程系統(tǒng)進(jìn)行了深入的研究,并在AuIoCAD的VisuaIUSP環(huán)境下進(jìn)行了相應(yīng)的系統(tǒng)開發(fā)工作,并成功通過了AutoCAD2000—AutoCAD2006多個版本的兼容性測試。1 自動編程系統(tǒng)的總體結(jié)構(gòu)自動編程系統(tǒng)采用模塊化結(jié)構(gòu),由六大功能模塊組成,分別為自動編程主模塊、圖形信息處理模塊、加工路徑確定與優(yōu)化模塊、模具庫與模具選擇模塊、后置處理模塊、圖形仿真模塊,模塊化數(shù)控沖床自動編程系統(tǒng)的總體結(jié)構(gòu)圖如圖1所示。自動編程主模塊的主要工作是調(diào)用如工路徑模塊和模具庫模塊,將圖形信息轉(zhuǎn)化為加工路徑信息及模具信息,并生成刀位文件。此模塊還可以直接調(diào)用后置處理模塊與圖形仿真模塊,生成加工所需的NC代碼,并對其進(jìn)行圖形仿真。本模塊所具有的功能還包括保存、編輯刀位文件和NC代碼文件等文件編輯功能。2 系統(tǒng)開發(fā)的關(guān)鍵技術(shù)研究2.1 圖形信息的處理要想生成數(shù)控轉(zhuǎn)塔沖床NC代碼,首先就要讓計算機(jī)識別所需要加工的圖形。圖形信息處理模塊的作用是將CAD圖形中的有用圖形信息提取出來,比如圖形中圓孔的直徑和圓心、方孔的邊長和中心、腰圓孔的孔徑和中心線圓弧的半徑與圓心、矩形孔的邊長和幾何中心等,然后將這些信息輸送到主程序模塊中。獲取圖形信息的方法有多種,比如通過DXF文件導(dǎo)入,或者通過人機(jī)交互獲取。由于VisualLISP可以直接操作選擇集,所以選擇后一種方法更為合適,并且有利于設(shè)定編程原點(diǎn)(工件坐標(biāo)系原點(diǎn))等人機(jī)交互更為方便的操作。2.1.1 圓形類基本參數(shù)的獲取在AutoLISP中,通過交互操作獲取圓基本參數(shù)是非常容易的,如下簡單程序段即可獲得圓形的主要參數(shù):(SETQ cir_data(ENTGET(CAR(ENTSEL”、n請選擇一個圓形:”)));通過交互操作獲得圖形信息( SETQ cir_pt( CDR( ASSOC 10 cir_data)));從圖形信息中獲取圓心坐標(biāo)(SETQ cir_r(CDR(ASSOC 40 cir_data)));從圖形信息中獲取圓的半徑2.1.2矩形類基本參數(shù)的獲取矩形類的主要參數(shù)是2個邊長和4個頂點(diǎn).4個頂點(diǎn)可以用AutoLISP函數(shù)獲得,邊長可以通過計算相鄰的兩點(diǎn)間的距離確定。獲得點(diǎn)的位置一般要用到ASSOC函數(shù),其作用是從關(guān)聯(lián)表中搜索1個元素,如果找到則返回該關(guān)聯(lián)表條目,如果點(diǎn)的數(shù)目較多則一般采用循環(huán)讀取的方法,只需做1個循環(huán)即可獲得4個頂點(diǎn)。(SETQ re8_data( ENTGET( CAR( ENTSEL”、n請選擇一個矩形:”))));通過交互操作獲得圖形信息( WHILE( SETQ pt( ASSOC IO reg_data》;設(shè)置循環(huán)條件(SETQ reg_data(CDR(MEMBER pt reg_dtt-ta)));將以獲得的點(diǎn)從關(guān)聯(lián)表中刪除(SETQ ptb (CONS( CDR pt) ptb ))將獲得的依次點(diǎn)位存儲到變量ptb中計算邊長的時候?qū)Ⅻc(diǎn)位從點(diǎn)表變量ptb中提取,通過Distance函數(shù)直接求取,無需做距離計算。2.1.3腰圓孔、腰直孔類基本參數(shù)的獲取腰圓孔、腰直孔基本參數(shù)的獲取涉及到多段線數(shù)據(jù)的提取。為了實(shí)現(xiàn)圖形的自動編程,必須將這兩類孔均轉(zhuǎn)換為多段線PolyLine或者Lwpolyline。采用AutoLISP表處理函數(shù)可以獲得各節(jié)點(diǎn)坐標(biāo)及圓弧凸度,其方法如下:(SETQ pcl_data( ENTGET( CAR( ENTSEL”\n請選擇一個矩形:”))))( SETQ ptl( CDR( ASSO(: 10 pel_data)))i從pel_data中取出第一個節(jié)點(diǎn)坐標(biāo)給變量ptl(SETQ par(CDR(ASSOC 42 pel_data)));從pel_data中取出第一條線段凸度給變量par圓弧半徑可由凸度值和相鄰兩節(jié)點(diǎn)坐標(biāo)計算出來,圓弧半徑尺的值由式(1) 2 3確定:式中:R為圓弧半徑;dist為兩節(jié)點(diǎn)距離;par為凸度絕對值。腰圓孔類基本參數(shù)主要有4個半徑和4個圓心。其實(shí).只需要計算出其中4個圓心就可以實(shí)現(xiàn)編程功能了。有了4個圓心又可以確定圓弧步?jīng)_的起點(diǎn)和終點(diǎn)。通過分析計算出的圓弧半徑就可以獲得模具的半徑和圓弧步?jīng)_所需的圓弧半徑。腰直孔獲得其多段線的4個頂點(diǎn)圓弧半徑就可得出步?jīng)_的起點(diǎn)、終點(diǎn)和步?jīng)_的長度。計算出的圓弧半徑即模具的半徑。2.2加工模具的自動選擇2.2.1模具庫的建立對于一個具體的刀具,具體有以下幾個參數(shù):模具號,形狀,X方向長,y方向長以及直徑。對于圓形模具,沒有X、y方向長參數(shù),對于矩形模具,沒有直徑參數(shù)。用戶可以由對話框建立刀具和修改刀具。定義變量m _dia為模具直徑,m一xlen為模具X方向長,m-ylen為模具y方向長,m_shape為模具形狀,m_sym為模具號,如下程序段定義刀具信息格式。(list m_8ym m_shape m_xlen m_ylen m_dia);刀具信息組成表格式模具類的建立即是建立了刀具存儲的格式,即刀具信息在刀具庫中是以表的格式存儲的,模具庫管理通過表操作來完成對模具庫的管理功能。2.2.2加工模具的自動選擇一般的數(shù)控沖壓機(jī)可以多副模具,其中既有圓形模具,也有矩形模具,其要加工的孔可分為圓孔、矩形孔、腰圓孔,腰直孔四類。為了方便選擇圖形和不同類圖形的處理,系統(tǒng)可以通過交互式操作將不同類型圖形賦值于四個不同的選擇集ss1、ss2、883、as4。通過對SSGET函數(shù)的參數(shù)設(shè)置,可以避免賦值過程的誤操作。系統(tǒng)自動模具選擇的總體流程如圖2所示。圖2系統(tǒng)自動模具選擇的總體流程其中模具匹配需要編寫專用的匹配函數(shù),根據(jù)孔型的不同自動從建立好的模具庫中選擇合適的模具進(jìn)行加工。2.3加工路徑確定加工路徑的確定就是數(shù)控沖床沖壓路徑的確定,主要的設(shè)計任務(wù)就是實(shí)現(xiàn)以何種方式來確定加工順序,加工路徑如何實(shí)現(xiàn)最短優(yōu)化,如何使加工時間縮到最少,如何使程序適應(yīng)多種加工方案。2 3.1 加工路徑確定的基本原則數(shù)控沖床加工路徑的確定主要涉及兩個基本原則:(1)同一把刀工序盡量集中。在數(shù)控沖壓加工時,為了減少轉(zhuǎn)刀所占用的輔助時間,可按集中工序的方法加工零件,盡可能用同一把沖模加工完零件表面上的相同沖切部分。(2)走刀路徑最短。對于數(shù)控設(shè)備來說,每一秒鐘的時間都是寶貴的,沖壓過程所需的時間較短,而橫具的空行程決定了加工效率,合理安排空行程路徑顯得尤為重要。2.3.2加工路徑的優(yōu)化加工路徑的優(yōu)化的問題即是對加工孔尋找最短遍歷路徑的問題,對尺寸相同的加工孔而言,路徑的優(yōu)化可以歸屬與完全NP問題,完全NP問題的典型是貨郎擔(dān)問題,貨郎擔(dān)問題和本文研究的最短遍歷路徑問題的差別在于貨郎擔(dān)問題的最終節(jié)點(diǎn)是起始點(diǎn),而最短遍歷路徑不要求最后回到起始點(diǎn),但如果能夠以一個高效的算法來解決貨郎擔(dān)問題,最短遍歷路徑也可參照得出近似算法。完全NP問題完全的算法是不存在的,因?yàn)閷τ诒闅v點(diǎn)大于20時要想得出結(jié)果需要幾年甚至幾十年的時間。一般采用近似算法來代替最優(yōu)算法,常見的算法有正交路徑法、最近點(diǎn)路徑法一等。2. 4后置處理后置處理模塊的主要作用是用來將刀位文件轉(zhuǎn)化為NC代碼。把它作為獨(dú)立模塊的作用是可以通過不同的后置處理生成適應(yīng)不同數(shù)控系統(tǒng)的NC代碼,增強(qiáng)系統(tǒng)的通用性。2.4.1 后置處理模塊的設(shè)計后置處理模塊分為兩大類:一類為專用后置處理模塊,另一類是通用后置處理模塊。根據(jù)沖壓數(shù)控系統(tǒng)的特點(diǎn),通用后置處理模塊更適合本系統(tǒng),通過制定標(biāo)準(zhǔn)格式的機(jī)床文件,通過對話框?qū)崿F(xiàn)機(jī)床數(shù)據(jù)的標(biāo)準(zhǔn)化文件。在NC代碼生成和圖形仿真時調(diào)用機(jī)床標(biāo)準(zhǔn)文件,即可獲得相應(yīng)的數(shù)控代碼信息。數(shù)控系統(tǒng)C代碼的設(shè)置界面如圖3所示。2.4.2 NC代碼生成(1)點(diǎn)位沖孔的NC代碼生成點(diǎn)位沖孔的G代碼是GOO,但為了適應(yīng)更多的數(shù)控系統(tǒng),作者建立一個變量gcode_00,用來表示快速點(diǎn)定位沖孔指令,系統(tǒng)默認(rèn)代碼為GOO,不同的數(shù)控系統(tǒng)可以在自動編程系統(tǒng)的后置處理設(shè)置中設(shè)定。刀具的中心位置坐標(biāo)由加工路徑模塊確定,刀具信息由模具選擇模塊確定。(2)步?jīng)_加工的NC代碼生成以直線步?jīng)_為例,系統(tǒng)默認(rèn)的直線步?jīng)_的G代碼是G69,不同的數(shù)控系統(tǒng)仍然可以在自動編程系統(tǒng)的G代碼設(shè)置中設(shè)定。步?jīng)_的起始位置和終點(diǎn)位置坐標(biāo)由加工路徑模塊確定,刀具信息由模具選擇模塊確定。步?jīng)_的長度即是起點(diǎn)位置和終點(diǎn)位置的距離,用函數(shù)DisIance可以輕松實(shí)現(xiàn),步矩的確定分為圓形。模具步?jīng)_和矩形模具步?jīng)_兩種情況。2.4.3步?jīng)_步矩的確定用圓形的模具進(jìn)行步?jīng)_時必然會產(chǎn)生均勻的步?jīng)_齒花,步距越大,齒花越明顯。圓形模具的步?jīng)_步距取決于步?jīng)_齒花的高度,即取決于步?jīng)_精度的大小,齒花大小決定了孔的加工精度,所以設(shè)計程序時把精度要求作為一個輸入?yún)?shù),在自動編程系統(tǒng)的步?jīng)_精度設(shè)置中設(shè)定,步距的大小由式(2):計算確定。式中:p為步距;d為模具直徑;s為齒花高度。矩形模具的步?jīng)_步距只取決于步?jīng)_的長度與模具的尺寸。用步?jīng)_起點(diǎn)和終點(diǎn)的距離除以步?jīng)_方向的模具尺寸得出的數(shù)值取整加一,得出最小步?jīng)_步數(shù);然后,再用步?jīng)_起點(diǎn)和終點(diǎn)的距離除以步?jīng)_步數(shù)得出的數(shù)值即可作為步?jīng)_步距。當(dāng)然,在大多數(shù)數(shù)控系統(tǒng)中,矩形模具的步?jīng)_步距可以是小于步?jīng)_方向的模具尺寸的任何值,為了保證加工的效率和加工效果,可以人工估算一個合理步矩值,然后通過自動編程系統(tǒng)的步?jīng)_精度設(shè)置中設(shè)定。如果步?jīng)_起點(diǎn)和終點(diǎn)的距離除以此步距得出的步?jīng)_步數(shù)不為整數(shù)時,數(shù)控系統(tǒng)會自動調(diào)整步矩以適合加工。3加工過程的仿真在數(shù)控加工過程中,零件加工后的質(zhì)量是否符合要求,在加工過程中是否會發(fā)生零件與刀具、刀具與夾具、刀具與機(jī)床工作臺之闖的干涉與碰撞,刀具是否對零件進(jìn)行了過切或少切,刀具的走刀路線、走刀方式是否合理等一系列實(shí)際加工中可能會發(fā)生的問題都決定于自動編程系統(tǒng)所輸出的數(shù)控加工指令集是否正確。根據(jù)NC代碼文件提供的信息,將加工軌跡模擬出來.顯示在顯示屏上,以方便程序校驗(yàn)和沖壓過程檢驗(yàn)。3.1仿真系統(tǒng)總體結(jié)構(gòu)仿真系統(tǒng)應(yīng)該能夠完成數(shù)控程序的錯誤檢查,動態(tài)地模擬數(shù)控機(jī)床驅(qū)動刀具的運(yùn)動及加工過程。因此加工過程的仿真一般由文件處理、錯誤檢查和模擬仿真三部分組成。其總體結(jié)構(gòu)如圖4所示。3.2 NC代碼的翻譯與仿真的實(shí)現(xiàn)獲得了程序段的數(shù)據(jù),就可以利用其提供的數(shù)值進(jìn)行仿真。實(shí)現(xiàn)了在屏幕上作圖不等于實(shí)現(xiàn)了加工過程的仿真,如果不僅想看到全部的圖形顯示在屏幕上,而且想動態(tài)的觀測加工的先后順序,就需要加一些程序。實(shí)現(xiàn)動態(tài)的仿真可以由兩種方法實(shí)現(xiàn):一是調(diào)用AuroCAD的內(nèi)部命令“delay”。這種方法的優(yōu)點(diǎn)是簡單快捷,可以隨意設(shè)定兩個圖形間的生成時間,即可以隨意調(diào)節(jié)仿真的速度。第二種方法是編寫動態(tài)函數(shù)z_timer;動態(tài)函數(shù)ztimer的作用是通過輸入的沖床T軸移動速度,再根據(jù)圖形中計算出的兩個相鄰加工點(diǎn)的距離,即可得出其移動所需要的時間,然后再由Delay函數(shù)實(shí)現(xiàn)延時。這種方法的優(yōu)點(diǎn)是:全部時間與實(shí)際時間相符,可以加入換刀的時間,實(shí)現(xiàn)真正實(shí)時的仿真,并且可以通過對話框指定時間縮放比例,即也可以接比例控制仿真的速度。4程序運(yùn)行實(shí)例4.1 NC代碼的自動生成選用實(shí)際加工的電控板圖紙如圖5所示。首先,將圖5按1:1的比例在AutoCAD中繪制出來,然后檢查要加工的矩形孔是否是整體,如果矩形孔是用多條直線段繪制的,就需要轉(zhuǎn)化為一條多段線。點(diǎn)擊菜單“數(shù)控加工”一“加工刀具預(yù)撿驗(yàn)”,以檢查所需加工的孔在刀庫中是否存在合適的加工刀具,檢查完畢后,系會提示矩形孔60×20沒有直接可以使用的模具。因此,可以指定步?jīng)_模具為1316號刀具,即13 x13方模其,但是為了讓動態(tài)仿真更為清晰,選用T321號步?jīng)_模具,即10 xl0方模具。圖5電氣控制板點(diǎn)菜單“數(shù)控加工”-“NC代碼生成”,在彈出的對話框中根據(jù)提示選擇要加工的圖形,并設(shè)定好相關(guān)參數(shù),點(diǎn)擊確定即可生成相應(yīng)的NC代碼,如圖6所示。4.2 NC代碼的動態(tài)仿真的實(shí)例首先對NC代碼文件進(jìn)行錯誤檢查,確認(rèn)沒有詞法和語法錯誤后,點(diǎn)擊“數(shù)控加工”一“數(shù)控仿真”,激活數(shù)控仿真對話框,通過對話框選定要進(jìn)行仿真的NC文件,設(shè)定好沖壓仿真速度,點(diǎn)擊確定按鈕,對話框自動關(guān)閉,并且在當(dāng)前屏幕上開始對所指定的NC代碼文件進(jìn)行動態(tài)仿真。仿真效果如圖7所經(jīng)過多年的研究,數(shù)字控制技術(shù)已經(jīng)非常成熟。根據(jù)有源功率因數(shù)校正開關(guān)變流器的工作特性,將數(shù)字微處理器應(yīng)用于功率開關(guān)變換器控制技術(shù)中,提出了采用改進(jìn)的數(shù)字控制算法控制的功率因數(shù)校正變換器方案,詳細(xì)闡述了基于數(shù)字化技術(shù)的功率因數(shù)校正交流器工作原理和控制方法,給出了電路分析、實(shí)驗(yàn)設(shè)計分析結(jié)果。
- 評論(0)
發(fā)表評論 TrackBack
◎歡迎參與討論,請在這里發(fā)表您的看法、交流您的觀點(diǎn)。