Delcam后置處理入門講座-王振江_第1頁
Delcam后置處理入門講座-王振江_第2頁
Delcam后置處理入門講座-王振江_第3頁
Delcam后置處理入門講座-王振江_第4頁
Delcam后置處理入門講座-王振江_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

PowerMILLDuctPOSTDelcamChinaShanghaiOffice王振江BeijingTSPM2011Delcam針對PowerMill提供兩種后處理器:1.Ductpost可以通過任何文字處理軟件進行后置的創(chuàng)立和更改2.PMPost〔4.x版本后新的版本名稱為PostProcessor〕圖形界面的后置處理軟件,需要授權(quán)才能啟動軟件進行后置更改優(yōu)先選用哪種后處理器?

在現(xiàn)階段Ductpost后置的資源相比照較豐富,幫助文件比較詳細,可以從DelcamPLC獲得的5軸后置文件根本上是Ductpost后置。對熟悉一些編程語言〔比方C語言等〕的人員來講,使用Ductpost可能更加方便。相對而言,PMPost目前的幫助不如Ductpost詳細,能夠從DelcamPLC獲得的5軸后置很少;但是PMPost的圖形界面更加友好,使用簡單,是以后的開展方向。可以根據(jù)需求和自己的喜好來選擇使用哪種后處理器,比方對于3軸的后置完全可以從PMPost入手。不管是白貓還是黑貓,抓住老鼠就是好貓!我們的目的是解決問題,而不是掌握某種工具!Ductpost預(yù)備知識

以下要介紹的知識與軟件無關(guān),但是對編寫后置非常重要,包括建立PowerMIll的仿真機床也要符合這些規(guī)那么:確定坐標方向的前提條件對所有的機床控制系統(tǒng)和編程軟件而言,都是假設(shè)工件〔或者說工作臺〕不動而是刀具〔或者說主軸頭〕在動。2.符合右手笛卡爾坐標系一個非常簡單確實定X,Y,Z關(guān)系的方法是,伸展你的右手,讓你的右手指向X軸正方向,然后讓除去大拇指的其他四個手指旋轉(zhuǎn)90度,那么這4個手指所指的方向就是Y軸的正方向,大拇指所指的方向就是Z軸正方向。Ductpost預(yù)備知識

右手笛卡爾坐標系:假定工件不動而刀具在動?。?!Ductpost預(yù)備知識

右手笛卡爾坐標系:假定工件不動而刀具在動?。?!機床旋轉(zhuǎn)坐標正方向確實定:1.繞X,Y,Z坐標軸旋轉(zhuǎn)的回轉(zhuǎn)軸對應(yīng)稱為A,B,C軸2.伸展右手,將大拇指指向線性軸的正方向,比方指向X軸的正方向,旋轉(zhuǎn)其余4個手指,那么這4個手指的的旋轉(zhuǎn)方向即為A軸的旋轉(zhuǎn)正方向。其他旋轉(zhuǎn)坐標的正方向也是這樣確定。Ductpost預(yù)備知識

要掌握常用的幾個簡單的DOS命令:在windows的“開始菜單”點擊“運行”,鍵入CMD并確定,可以翻開doc命令提示符;在windows的“開始菜單”下選擇“附件”,選擇“命令提示符”,也可以翻開doc命令提示符;Help-------列舉所有dos的命令之幫助cd--------顯示當前目錄的名稱或?qū)⑵涓谋P符:--------改變目錄到指定的磁盤下dir---------顯示當前目錄下的文件和文件夾copy------拷貝等等翻開DOS命令提示符的方法:常用DOS命令:Ductpost預(yù)備知識

常用DOS命令:Ductpost后置處理簡介

如何創(chuàng)立Ductpost后置處理文件1、沒有必要從頭到尾完全重寫一個后置文件,可以直接導出一個根本的3軸后置,然后根據(jù)需要進行更改。2、或者在〔需要etoken和相應(yīng)的授權(quán)〕上有很多已經(jīng)寫好的后置,下載一個結(jié)構(gòu)相似的后置文件后根據(jù)實際的機床情況進行更改即可。3、DelcamChina自己的Psteam上“產(chǎn)品信息與討論”里面的后置處理器庫里面有很多成熟的后置可以參考如何導出根本的ductpost三軸后置:1〕windows的開始菜單處執(zhí)行命令行程序,比方開始-運行-輸入cmd2〕進入ductpost可執(zhí)行文件的安裝目錄,比方cdC:\ProgramFiles\Delcam\DuctPost1490\sys\exec3〕然后敲入以下命令:ductpost

-w

內(nèi)置控制器名稱>

輸出后的文件名稱〔比方myfunuc.opt,可以加路徑〕

4〕對導出的myfunuc.opt文件按自己的需求進行更改,以后用此后置文件出程序即可注:可以通過ductpost

-l〔小寫的L〕查看有哪些內(nèi)置控制器。建議大家使用DuctPost1490版本,不要使用DuctPost1516版本。一方面是因為1516沒有看到更多的更新,更重要的是1516版本解壓出的后置可能因為中文環(huán)境的原因會出現(xiàn)亂碼!!標準后置那些需要更改?解壓得到的標準3軸后置大局部的NC代碼是可以用的;程序開始、結(jié)尾、換刀等常見事件可能需要更改;有孔加工循環(huán)要求的需要修改,標準后置孔加工往往不適宜;可能需要添加個別機床公司自定義的代碼,比方:G5.1Q1、G5.1Q0G05P10000、G05P0可能需要添加刀具信息、時間、余量、程序最大加工XYZ坐標值等信息;其它。。。學習和解決問題的方法使用Ductpost幫助文件是學習Ductpost后置最好的方法1.Ductpost幫助文件所在的位置:windows的開始-所有程序2.學習Ductpost幫助的一些建議:不要一開始就想從頭到尾看完所有的幫助文檔,您會覺得很辛苦可以考慮按下面的順序來進行閱讀:1〕Frequentlyaskedquestions可以查看一些經(jīng)常碰到的問題2〕What‘sNew可以查看以前的歷史版本都有那些改進然后就可以根據(jù)自己要解決的問題及興趣一步一步的逐漸閱讀幫助中的各個局部在Psteam上有很多技巧和問題解決的累積,是學習Ductpost后置好方法之一根底知識的了解數(shù)控程序中的保留字,比如G1X...Y...Z...F...,在ductpost中稱為字word可以在

defineformat(....)......enddefine中定義每一個字或者一組字的輸出格式,比如:

defineformat(/G6STM1M2LPDEHO)addresswidth=1fieldwidth=2……tapeposition=1printposition=1sign=nonenotpermanentnotmodal……enddefine什么是字word什么是關(guān)鍵字key關(guān)鍵字keys是用來在已經(jīng)定義好的格式format和字word之間建立鏈接關(guān)系比如"xcoordinate"通常和字"X"關(guān)聯(lián)起來

definekeysxcoordinate=Xblocknumber=Npreparatoryfunction=G1auxfunction=M1enddefine

這樣在“xcoordinate”出現(xiàn)的地方,就會按字“X”的格式format進行輸出。通常情況下很少更改關(guān)鍵字keys的默認設(shè)置。除非一些特殊的情況,比如想把輸出的坐標進行交換(X變成Y等等)根底知識的了解什么是代碼codes代碼codes是用來輸出機床的控制代碼的,比如準備功能指令G和輔助功能指令M等。每一個code必須和一個字word和值關(guān)聯(lián)起來(比如G10用于輸出快進rapid的代碼GO)

definecodesrapid=G10linear=G11componleft=G241componright=G242compoff=G240spindleoncw=M13coolanton=M28enddefine根底知識的了解要搞清楚在ductpost里面:G1組并不是指的是NC代碼里的G01,它包括G01、G00;同樣道理,M1組可能還包含M00、M03等其他自定義的M代碼。。。程序段中使用的常用變量Ductpost已經(jīng)內(nèi)置了一些系統(tǒng)變量,需要時可以直接調(diào)用。比方Home點的x、y、z的數(shù)據(jù);刀具半徑、刀具類型等刀具信息、當前仰角和方位角的位置值。。。根底知識的了解關(guān)于整數(shù)integer/數(shù)組(以圓弧Circle為例:)

integer26202728

Circleoutput=(nnnn)!!!!

!!!0=AbsoluteCentreposition

圓弧中心位置絕對坐標輸出

!!!1=IncrementalCentrefromstartpoint相對輸出從開始點到圓弧中心的距離

!!!

!!0=SingleQuadrant

指定圓弧為1/4象限輸出

!!1=FullCircularInterpolation

全圓輸出

!!

!0=X,Y,Zcoordinatesnotrequired不需要X/Y/Z坐標點位置

!1=X,Y,ZcoordinatesrequiredX/Y/Z坐標點位置需要

!

0=NOCircularOutput

不輸出圓弧,將輸出圓弧為線性

1=CircularOutput

輸出圓弧

根底知識的了解通過ductpost幫助可以得到更多的解釋,常用的記住,其他的沒有必要全部死記硬背!結(jié)構(gòu)講解3軸后置常見修改點怎樣去掉注釋語句?怎樣增添或取消行號N?程序頭和程序尾固定格式簡單修改?阻止圓弧的輸出,圓弧輸出為線性移動?換刀動作的添加?修改第一次下刀的移動,調(diào)整X、Y、Z的順序?增加刀具信息等輸出?增加孔加工循環(huán)的輸出?NC代碼中每個字符間隔一個空格間隙,讓程序看起來更清晰?怎樣增加和移除G、M代碼的前0?定義轉(zhuǎn)速在不同的位置輸出,而不是和rapid一行輸出?定義限制最大轉(zhuǎn)速的輸出,防止刀具轉(zhuǎn)速太高超過機床極限,造成平安隱患?其它需求。。。3軸后置修改范例講解怎樣去掉注釋語句?去掉自帶的信息:messageoutput=true

更改為messageoutput=false;去掉自定義的信息:用#屏蔽或直接刪除defineblocktapestart"%"

#IDProgIDN;G291;G628;X0;Y0;Z0N;compensationoff;G649;xyplane;G480N;G590;G10;ZFromZenddefine3軸后置修改范例講解怎樣增添或取消行號N?增加或去掉行號:如果不需要程序段編號,,那么可重新定義程序段編號關(guān)鍵字"N"。defineformat(N)

notpermanent

enddefine如果需要程序段編號,,那么可重新定義程序段編號關(guān)鍵字"N"。defineformat(N)

permanent

enddefine更改行號的格式:如果需要改變編號次序,那么需插入以下行到選項文件:blockstart=10從第10行開始

blockincrement=行號增量為1在程序中每行還需要定義:N;G291;G628;X0;Y0;Z03軸后置修改范例講解程序頭和程序尾固定格式簡單修改?通過“文本”的方式直接輸出文本:defineblocktapestart“%” "(此后置供FANUC0M系統(tǒng)使用)"N;G291;G628;X0;Y0;Z0N;compensationoff;G649;xyplane;G480N;G590;G10;ZFromZN;“G05P10000”enddefine增加其他:defineblocktapeendN;spindleoffN;coolantoff#此處增加了冷卻關(guān)閉的指令,或下行藍色局部也可以起到同樣作用。N;M15N;G628;G591;Z0N;G628;X0;Y0N;M130enddefineCQR5軸后置修改范例講解以工作臺旋轉(zhuǎn)機床為例:東芝MPF2618〔5C〕

CACQR5軸后置修改范例講解1、定義wordA、B、Cdefineformat(ABC)##內(nèi)建源文件中可能已經(jīng)定義

metricformats

leadingzeros=false

trailingzeros=true

decimalpoint=true

decimalplaces=3

imperialformats

leadingzeros=false

trailingzeros=true

decimalpoint=true

decimalplaces=4

enddefine2、定義keyA、B、Cdefinekeys

azimuthaxis=A##第四軸旋轉(zhuǎn)通常是方位角azimuth(工作臺傾斜軸)

elevationaxis=C##第五軸旋轉(zhuǎn)通常是仰角elevation(傾斜工作臺上的旋轉(zhuǎn)臺)

enddefine

CQR5軸后置修改范例講解spindleazimuthrotation=ture

azimuthaxisunits=degrees

azimuthaxisdirection=positive

spindleelevationrotation=false

elevationaxisunits=degrees

elevationaxisdirection=positive

方位角最小/最大值仰角最小/最大值Tol.Moves

rotaryaxislimits=(0.030.0

0.0360.00.11)azimuthaxisparameters=(0.0.0.1.0.0.)---

elevationaxisparameters=(0.0.0.0.0.1.)

3、定義額外參數(shù)說明:rotaryaxislimits=(0.030.00.0360.00.14)

工作臺旋轉(zhuǎn)缺省設(shè)置為false,主軸頭旋轉(zhuǎn)時設(shè)置為true常規(guī)單位(缺省可為none)需要的常規(guī)旋轉(zhuǎn)方向(缺省可為none)工作臺旋轉(zhuǎn)缺省設(shè)置false,主軸頭旋轉(zhuǎn)時設(shè)置為true常規(guī)單位(缺省可為none)需要的常規(guī)旋轉(zhuǎn)方向(缺省可為none)方位角對齊于X軸旋轉(zhuǎn)〔矢量1.0.0.〕仰角對齊于Z軸旋轉(zhuǎn)〔矢量0.0.1.〕方位角旋轉(zhuǎn)極限為-95度到10度,仰角旋轉(zhuǎn)極限為-3600度到3600度CQR5軸后置修改范例講解spindleazimuthrotation=false

spindleelevationrotation=false

補充說明:工作臺或主軸頭旋轉(zhuǎn)的設(shè)置是不同的工作臺旋轉(zhuǎn)設(shè)置為false,主軸頭旋轉(zhuǎn)

時設(shè)置為true工作臺旋轉(zhuǎn)設(shè)置false,主軸頭旋轉(zhuǎn)時設(shè)置為trueCQR5軸后置修改范例講解spindleazimuthrotation=ture

spindleelevationrotation=ture

補充說明:工作臺或主軸頭旋轉(zhuǎn)的設(shè)置是不同的主軸頭旋轉(zhuǎn)

時設(shè)置為true主軸頭旋轉(zhuǎn)時設(shè)置為trueCQR5軸后置修改范例講解spindleazimuthrotation=false

spindleelevationrotation=ture

補充說明:工作臺或主軸頭旋轉(zhuǎn)的設(shè)置是不同的工作臺旋轉(zhuǎn)設(shè)置為false主軸頭旋轉(zhuǎn)時設(shè)置為trueCQR5軸后置修改范例講解4、定義workplane〔ductpost1400版本開始增加此選項功能〕workplaneangles=apparent“workplaneangles=”有三種設(shè)置方式:nonemachinetoolapparent它們用來控制后處理器的原點移動和用戶坐標系方向輸出,其格式和控制器的類型有關(guān)。

“workplaneangles=”釋義:“none” 將不輸出任何原點移動或用戶坐標系方向,即使定義了它們?!癿achinetool” 用在特定控制器僅需兩個角度定義來定義用戶坐標系旋轉(zhuǎn)時。(后處理配置PostConfiguration定義為WorkplaneAz和WorkplaneEl而不是Azpos,Elpos)“apparent” 用在特定控制器使用立體角度定義來定義用戶坐標系旋轉(zhuǎn)時。此時要弄清楚機床控制器的歐拉角是多少,這樣我們才好在此后定義:workplaneangles=apparentworkplaneangleconvention=22(此處使用的是第22種歐拉角Eulerangles方式)(后處理配置PostConfiguration定義為WorkplaneA;WorkplaneB;WorkplaneC)CQR5軸后置修改范例講解Euler〔歐拉角〕的釋義:“workplaneangles=

apparent”時,需要配置workplaneangleconvention=22或其他(此時,后處理配置定義為WorkplaneA;WorkplaneB;WorkplaneC)CQR5軸后置修改范例講解5、在datumshift中定義3+2軸時的坐標轉(zhuǎn)換:#553defineblockdatumshiftif(swa)N;"(=========)"N;TPNToolPathName;")"N;"(Toolpath";WPNToolPathWorkPlaneName;")“N;"(=========)"unsetswaendifif(intb==0)N;G649;elevationaxis0;azimuthaxis0;wordbore5endifN;"G158A901H902";XWKWorkplaneX;YWKWorkplaneY;ZWKWorkplaneZN;"G444A902H903";elevationaxis=CN;"G73Y1500."N;"G53"N;"G57H903"N;"M11"N;elevationaxis=CN;"M10"N;"M313"N;azimuthaxis=CN;"M312"N;"G333";"R0";HHToolNum;"G14“N;SToolSpeed[ToolNumber];spindleoncwenddefineCQR5軸后置修改范例講解6、在快速移動中定義仰角和方位角的輸出:“azimuthaxis和elevationaxis〔A、B、C”都需插入到Rapid快進和Linear線性程序段中,其和對齊軸相關(guān)。

(此范例,A繞X軸傾斜,C繞Z軸旋轉(zhuǎn))

#快速移動

defineblockmoverapid

N;G1;G2;G3;G4;X;Y;Z;azimuthaxis=C;elevationaxis=C;M1;M2

enddefine

#線性移動

defineblockmovelinear

N;G1;G2;X;Y;Z;azimuthaxis;elevationaxis;feedrate;M1;M2

enddefine CQR5軸后置修改范例講解7、在程序末尾定義刀軸的復位等:#716defineblocktapeendif(Word{M2}==8orWord{M2}==51)N;M29endifN;spindleoffN;"G10"N;"G49"N;"G73Z1500."N;"G73X2200."N;"G985"N;"M313"N;"A0"N;"M312"N;M130"%"enddefine

CQR5軸后置修改范例講解7、還有可能需要定義換刀時的連接移動、3+2及連續(xù)5軸跳刀移動的動作等:defineblockuserFirstMovesif(swg)N;rapid;feedrateperminute;xcoordxcoord=C;ycoordycoord=C;spindleToolSpeed;spindleoncwunsetswgendifenddefine

#495defineblocktoolchangeN;spindleoffN;TToolNumberN;changetoolN;TD(ToolRadius[ToolNum]*2);";";TRTipRadius[ToolNum];")"editintb2;editintc2setswgif(ToolPath3plus2)N;"(此程序是3+2軸刀路注意檢查)"elseN;toollengthoffset;toollengthToolNumendifenddefineCQR5軸后置修改范例講解8、正是因為該機床支持datumshift,我們也定義了datumshift,所以在3+2軸加工時,中間局部代碼完全是純3軸代碼,可以輸出圓弧移動以及鉆孔循環(huán)defineblockcyclestartif(cycle==1andcycledwell==0)#Singlepeck;G81DRILLG481;xcoord=C;ycoord=C;drillholedepth=C;clearplane=C;NFCycfedelseif(cycle==1andcycledwell>0)#Singlepeck;G81DRILLANDDWELLN;G481;xcoord=C;ycoord=C;drillholedepth=C;clearplane=C;Pcycledwell;NFCycfedelseif(cycle==2)#G87BreakChipANDDWELL#N;"CYCLDEF200DRILLING~"N;G487;xcoord=C;ycoord=C;drillholedepth=C;drillpeckdepth;clearplane=C;Pcycledwell;NFCycfedelseif(cycle==3)#G83

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論