版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
MasterCAM9后處理的修改MasterCAM9后處理的修改//MasterCAM9后處理的修改MasterCAM9后處理的修改2007年10月25日星期四11:42
MasterCAM9后處理的修改
MasterCAM系統(tǒng)缺省的后處理文件為MPFAN.PST,適用于FANUC(發(fā)那科)數(shù)控代碼的控制器。其它類型的控制器需選擇對(duì)應(yīng)的后處理文件。
由于實(shí)際使用需要,用缺省的后處理文件時(shí),輸出的NC文件不能直接用于加工。原因是:
⑴進(jìn)行模具加工時(shí),需從G54~G59的工件坐標(biāo)系指令中指定一個(gè),最常用的是G54。部分控制器使用G92指令確定工件坐標(biāo)系。對(duì)刀時(shí)需定義工件坐標(biāo)原點(diǎn),原點(diǎn)的機(jī)械坐標(biāo)值保存在CNC控制器的G54~G59指令參數(shù)中。CNC控制器執(zhí)行G54~G59指令時(shí),調(diào)出相應(yīng)的參數(shù)用于工件加工。采用系統(tǒng)缺省的后處理文件時(shí),相關(guān)參數(shù)設(shè)置正確的情況下可輸出G55~G59指令,但無法實(shí)現(xiàn)G54指令的自動(dòng)輸出。
⑵FANUC.PST后處理文件針對(duì)的是4軸加工中心,而目前使用量最大的是3軸加工中心,多出了第4軸數(shù)據(jù)“A0.”。
⑶不帶刀庫的數(shù)控銑使用時(shí)要去掉刀具號(hào)、換刀指令、回參考點(diǎn)動(dòng)作。
⑷部分控制器不接受NC文件中的注釋行。
⑸刪除行號(hào)使NC文件進(jìn)一步縮小。
⑹調(diào)整下刀點(diǎn)坐標(biāo)值位置,以便于在斷刀時(shí)對(duì)NC文件進(jìn)行修改。
⑺普通及啄式鉆孔的循環(huán)指令在缺省后處理文件中不能輸出。使用循環(huán)指令時(shí)可大幅提高計(jì)算速度,縮小NC文件長(zhǎng)度。
如果要實(shí)現(xiàn)以上全部要求,需對(duì)NC文件進(jìn)行大量重復(fù)修改,易于出現(xiàn)差錯(cuò),效率低下,因此必須對(duì)PST(后處理)文件進(jìn)行修改。修改方法如下:
1、增加G54指令(方法一):
采用其他后處理文件(如MP_EZ.PST)可正常輸出G54指令。由于FANUC.PST后處理文件廣泛采用,這里仍以此文件為例進(jìn)行所有修改。其他后處理文件內(nèi)容有所不同,修改時(shí)根據(jù)實(shí)際情況調(diào)整。
用MC9自帶的編輯軟件(路徑:C:Mcam9CommonEditorsPfe
PFE32.EXE)打開FANUC.PST文件(路徑:C:Mcam9MillPostsMPFAN.PST)
選擇【File】>【Edit】>【PST】命令,系統(tǒng)彈出讀文件窗口,選擇Mpfan.PST文件,系統(tǒng)彈出如下圖所示編輯器。
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“G49”,如下圖所示:
單擊按鈕,查找結(jié)果所在行為:
pbld,n,*sgcode,*sgplane,"G40","G49","G80",*sgabsinc,e
插入G54指令到當(dāng)前行,將其修改為:
pbld,n,*sgcode,*sgplane,"G40","G49","G80",*sgabsinc,"G54",e
輸出的NC文件修改前對(duì)應(yīng)位置指令為:
N102G0G17G40G49G80G90
修改后變?yōu)椋?/p>
N102G0G17G40G49G80G90G54
查找當(dāng)前行的上一行:
pbld,n,*smetric,e
將其整行刪除,或加上“?!背蔀樽⑨屝校?/p>
#pbld,n,*smetric,e
修改后G21指令不再出現(xiàn),某些控制器可不用此指令。注意修改時(shí)保持格式一致。G21指令為選擇公制單位輸入,對(duì)應(yīng)的英制單位輸入指令為G20。
2、增加G54指令(方法二):
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“force_wcs”,單擊按鈕,查找結(jié)果所在行為:
force_wcs:no#ForceWCSoutputateverytoolchange?
將no改為yes,修改結(jié)果為:
force_wcs:yes#ForceWCSoutputateverytoolchange?
輸出的NC文件修改前對(duì)應(yīng)位置指令為:
N106G0G90X16.Y-14.5A0.S2200M3
修改后變?yōu)椋?/p>
N106G0G90G54X16.Y-14.5A0.S2200M3
前一方法為強(qiáng)制輸出固定指令代碼,如需使用G55~G59指令時(shí),有所不便。多刀路同時(shí)輸出時(shí),只在整個(gè)程序中出現(xiàn)一次G54指令。后一方法同其他后處理文件產(chǎn)生G54指令的原理相同,多刀路同時(shí)輸出時(shí),每次換刀都會(huì)出現(xiàn)G54指令,也可根據(jù)參數(shù)自動(dòng)轉(zhuǎn)換成G55~G59指令。
輸出三軸加工中心程序的FANUC后處理文件為MP_EZ.PST,輸出4軸加工中心程序的三菱控制器后處理文件為MP520AM.PST。
3、刪除第四軸數(shù)據(jù)“A0.”,以適應(yīng)三軸加工中心:
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“RotaryAxis”,單擊按鈕,查找結(jié)果所在行為:
164.EnableRotaryAxisbutton?y
將其修改為:
164.EnableRotaryAxisbutton?n
修改后第四軸數(shù)據(jù)不再出現(xiàn)。
4、刪除刀具號(hào)、換刀指令、回參考點(diǎn)指令,適應(yīng)無刀庫的數(shù)控銑機(jī)床:
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“M6”,單擊按鈕,查找結(jié)果所在行為:
ifstagetool>=zero,pbld,n,*t,"M6",e
將其修改為:
ifstagetool>=zero,e#pbld,n,*t,"M6",
另一個(gè)換刀的位置所在行為:
pbld,n,*t,"M6",e
將其刪除或改為注釋行:
#pbld,n,*t,"M6",e
修改后換刀指令行不再出現(xiàn),通常修改第一個(gè)出現(xiàn)“M6”指令的位置即可。
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“*sg28ref”,單擊按鈕,查找結(jié)果所在行為:
pbld,n,sgabsinc,sgcode,*sg28ref,"Z0.",scoolant,e
pbld,n,*sg28ref,"X0.","Y0.",protretinc,e
將其修改為:
pbld,n,scoolant,e
#pbld,n,*sg28ref,"X0.","Y0.",protretinc,e
輸出的NC文件修改前對(duì)應(yīng)位置指令為:
N116G91G28Z0.M9
修改后變?yōu)椋?/p>
N116M9
PST文件中另有兩個(gè)類似位置,如使用G92指令確定工件坐標(biāo),可對(duì)其適當(dāng)修改。加工結(jié)束后,機(jī)床各軸不回參考點(diǎn),便于手動(dòng)換刀時(shí)節(jié)省時(shí)間。
5、刪除NC文件的程序名、注釋行:
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“%”,單擊按鈕,查找結(jié)果所在行為:
"%",e
*progno,e
"(PROGRAMNAME-",progname,")",e
"(DATE=DD-MM-YY-",date,"TIME=HH:MM-",time,")",e
將其刪除或改為注釋行:
"%",e
#*progno,e
#"(PROGRAMNAME-",progname,")",e
#"(DATE=DD-MM-YY-",date,"TIME=HH:MM-",time,")",
輸出的NC文件修改前對(duì)應(yīng)位置指令為:
O0010
(PROGRAMNAME-A2)
(DATE=DD-MM-YY-25-12-04TIME=HH:MM-10:45)
修改后以上指令行不再出現(xiàn)。
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“pstrtool”,單擊按鈕,查找結(jié)果所在行為:
"(",pstrtool,*tnote,*toffnote,*tlngnote,*tldia,")",e
將其刪除或改為注釋行:
#"(",pstrtool,*tnote,*toffnote,*tlngnote,*tldia,")",e
輸出的NC文件修改前對(duì)應(yīng)位置指令為:
(D16R8.0TOOL-2DIA.OFF.-0LEN.-0DIA.-16.)
修改后以上指令行不再出現(xiàn)。此注釋行指明當(dāng)前刀路所使用的刀具參數(shù),可用于加工前核對(duì)加工單,建議保留。法蘭克及三菱控制器可以接受注釋內(nèi)容。
6、取消行號(hào):
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“omitseq”,單擊按鈕,查找結(jié)果所在行為:
omitseq:no#Omitsequenceno.
將其修改為:
omitseq:yes#Omitsequenceno.
修改后行號(hào)不再出現(xiàn)。
7、調(diào)整下刀點(diǎn)坐標(biāo)值位置:
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“g43”,單擊按鈕,查找結(jié)果所在行為:
pcan1,pbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,
pfcout,*speed,*spindle,pgear,strcantext,e
pbld,n,"G43",*tlngno,pfzout,scoolant,next_tool,e
將其修改為:
pcan1,pbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,pfcout,e
pbld,n,*sgcode,pfzout,e
pbld,n,*speed,*spindle,pgear,strcantext,e
pbld,n,"G43",*tlngno,scoolant,next_tool,e
輸出的NC文件修改前對(duì)應(yīng)位置指令為:
G0G90G54X16.Y-14.5S2200M3
G43H0Z20.M8
修改后變?yōu)椋?/p>
G0G90G54X16.Y-14.5
G0Z20.
S2200M3
G43H0M8
新的指令順序使下刀點(diǎn)(安全高度)x、y、z坐標(biāo)值同其他指令分開,易于在斷刀時(shí)修改。G43指令在PST文件中有兩個(gè)位置,如僅使用G54指令時(shí),修改第一個(gè)出現(xiàn)“G43”的位置即可。
8、輸出普通及啄式鉆孔循環(huán)指令:
單擊按鈕,系統(tǒng)彈出查找對(duì)話框,輸入“usecandrill”,單擊按鈕,查找結(jié)果相關(guān)行為:
usecandrill:no#Usecannedcyclefordrill
usecanpeck:no#UsecannedcycleforPeck
將其修改為:
usecandrill:yes#Usecannedcyclefordrill
usecanpeck:yes#UsecannedcycleforPeckMastercam系統(tǒng)配置的是適應(yīng)單一類型控制系統(tǒng)的通用后置處理,該后置處理提供了一種功能數(shù)據(jù)庫模型,用戶根據(jù)數(shù)控機(jī)床和數(shù)控系統(tǒng)的具體情況,可以對(duì)其數(shù)據(jù)庫進(jìn)行修改和編譯,定制出適應(yīng)某一數(shù)控機(jī)床的專用后置處理程序。
Mastercam系統(tǒng)后置處理文件的擴(kuò)展名為PST,稱為PST文件,它定義了切削加工參數(shù)、NC程序格式、輔助工藝指令,設(shè)置了接口功能參數(shù)等,其結(jié)構(gòu)由八個(gè)部分組成:
1.注解
程序每一列前有“#”符號(hào)表示該列為不影響程序執(zhí)行的文字注解。如:
#mi2-Absolute,orIncrementalpositioning
0=absolute
1=incremental
表示mi2定義編程時(shí)數(shù)值給定方式,若mi=0為絕對(duì)值編程,mi=1為增量值編程。
在這一部分里,定義了數(shù)控系統(tǒng)編程的所有準(zhǔn)備功能G代碼格式和輔助功能M代碼格式。
2.程序糾錯(cuò)
程序中可以插入文字提示來幫助糾錯(cuò),并顯示在屏幕上。如:
#Errormessages(錯(cuò)誤信息)
psuberror#Arcoutputnotallowed
"ERROR-WRONGAXISUSEDINAXISSUBSTITUTION",e
如果展開圖形卷成旋轉(zhuǎn)軸時(shí),軸替換出錯(cuò),則在程序中會(huì)出現(xiàn)上面引號(hào)中的錯(cuò)誤提示。
3.定義變量的數(shù)據(jù)類型、使用格式和常量賦值
如規(guī)定G代碼和M代碼是不帶小數(shù)點(diǎn)的兩位整數(shù),多軸加工中心的旋轉(zhuǎn)軸的地址代碼是A、B和C,圓弧長(zhǎng)度允許誤差為0.002,系統(tǒng)允許誤差為0.00005,進(jìn)給速度最大值為10m/min等。
4.定義問題
可以根據(jù)機(jī)床加工需要,插入一個(gè)問題給后置處理程序執(zhí)行。
如定義NC程序的目錄,定義啟動(dòng)和退出后置處理程序時(shí)的C-Hook程序名。
5.字符串列表
字符串起始字母為s,可以依照數(shù)值選取字符串,字符串可以由兩個(gè)或更多的字符來組成。
字符串sg17,表示指定XY加工平面,NC程序中出現(xiàn)的是G17,scc1表示刀具半徑左補(bǔ)償,NC程序中出現(xiàn)的是G41,字符串sccomp代表刀具半徑補(bǔ)償建立或取消。
6.自定義單節(jié)
可以讓使用者將一個(gè)或多個(gè)NC碼作有組織的排列。
自定義單可以是公式、變量、特殊字符串等:
pwcs#G54+coordinatesettingattoolchange
ifmil>1,pwcs_g54
表示用pwcs單節(jié)指代#G54+在換刀時(shí)坐標(biāo)設(shè)定值,mil定義為工件坐標(biāo)系(G54~G59)
7.預(yù)先定義的單節(jié)
使用者可按照數(shù)控程序規(guī)定的格式將一個(gè)或多個(gè)NC代碼作有組織的排列,編排成一條程序段。
8.系統(tǒng)問答
后置處理軟件提出了五組問題,供使用者回答,可按照注解文字、賦值變量、字符串等內(nèi)容,根據(jù)使用的機(jī)床、數(shù)控系統(tǒng)進(jìn)行回答。設(shè)計(jì)后置處理文件,一般是按照NC程序的結(jié)構(gòu)模塊來進(jìn)行。根據(jù)NC程序的功能,后置處理文件分成六個(gè)模塊如下:
1.文件頭
文件頭部分設(shè)定程序名稱和編號(hào),此外,SINUMERIK810D系統(tǒng)還必須指定NC程序存放路徑,并按照以下格式輸出:
“%_N_(程序名及編號(hào))_(路徑)”。
NC程序可存放在主程序、子程序和工作程序目錄下,擴(kuò)展名分別為:MPF、SPF、WPD,一般放在工作程序目錄下。因此經(jīng)修改的Pst文件格式為:
Pheader#Startoffile
"%_N_",progname,"_WPD"(程序名、存放目錄)
2.程序起始
在程序開始,要完成安全設(shè)定、刀具交換、工件坐標(biāo)系的設(shè)定、刀具長(zhǎng)度補(bǔ)償、主軸轉(zhuǎn)速控制、冷卻液控制等,并可顯示編程者、編程日期、時(shí)間等注解。
修改后的有刀具號(hào)Pst文件開頭格式如下:
#Startofnon-zerotoolnumber
pspindle(主軸轉(zhuǎn)速計(jì)算)
pcom_movbtl(移動(dòng)設(shè)備)
ptoolcomment(刀具參數(shù)注解)
pbld,n,*sgcode,*sgplane,"G40","G80",*sgabsinc
(快進(jìn)、XY加工平面、取消刀補(bǔ)、取消固定循環(huán)、絕對(duì)方式編程)
ifmil<=one,pg92_rtrnz,pg92_rtrn,pg92_g92(返回參考點(diǎn))
pbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,pfcout,*speed,*spindle,pgear,pcan1
(快進(jìn)至某位置、坐標(biāo)系編置、主軸轉(zhuǎn)速等)
pbld,n,pfzout,*tlngno,scoolant,[ifstagetool=one,*next_tool]
(安全高度、刀長(zhǎng)補(bǔ)償、開冷卻液)
pcom_movea(加工過程)
3.刀具交換
刀具交換執(zhí)行前,須完成返回參考點(diǎn)、主軸停止動(dòng)作,然后換刀,接著完成刀具長(zhǎng)度補(bǔ)償、安全設(shè)定、主軸轉(zhuǎn)速控制。
Pst文件中用自定義單節(jié)ptlchg指代換刀過程,編輯修改后的程序如下:
Ptlchg#Toolchange
ptoolcomment(新刀參數(shù)注解)
comment(插入注解)
ifstagetool<>two,pbld,n,*t,e(判斷、選刀)
n,"M6"(換刀)
pindex(輸出地址)
pbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,pfcout,*speed,*spindle,pgear,pcan1
(快進(jìn)至某位置、坐標(biāo)系偏置、主軸轉(zhuǎn)速等)
pbld,n,pfzout,*tlngno,"M7",[ifstagetool=one,*next_tool]
(安全高度、刀長(zhǎng)補(bǔ)償號(hào)、開冷卻液)
pcom_movea(加工過程)
4.加工過程
這一過程是快速移動(dòng)、直線插補(bǔ)、圓弧插補(bǔ)、刀具半徑補(bǔ)償?shù)然炯庸?dòng)作。
對(duì)于幾乎所有系統(tǒng),這些加工動(dòng)作的程序指令基本相同。只是注意SINUMERIK810D系統(tǒng)的刀具長(zhǎng)度補(bǔ)償值由字母D后加兩位數(shù)字調(diào)用,不需要G43/G44指令;而半徑補(bǔ)償值則由G41/G42調(diào)用,不需要再接地址代碼。用G40取消刀具長(zhǎng)度和刀具半徑補(bǔ)償。
5.切削循環(huán)
Mastercam軟件提供了6種內(nèi)定的孔加工固定循環(huán)方式:一般鉆削(Drill/Cbore)、深孔啄鉆(PeckDrill)、斷屑鉆(ChipBreak)、右攻絲(Tap)、精鏜孔(Bore#1)、粗鏜孔(Bore#2),通過雜項(xiàng)選項(xiàng)(Misc#1/Misc#2)可設(shè)定左攻絲、背鏜孔、盲孔鏜孔、盲孔鉸孔等循環(huán),并采用G73~G89代碼來表示。
如對(duì)于深孔鉆削固定循環(huán),Mastercam采用的格式為:G83X_Y_Z_R_Q_F;而SINUMERIK810D系統(tǒng)用CYCLE83指代深孔鉆削循環(huán),其NC程序要求給出循環(huán)加工所有參數(shù),輸出格式為:
CYCLE83(RTP,RFP,SDIS,DP,DPR,F(xiàn)DEP,F(xiàn)DPR,DAM,DTB,DTS,F(xiàn)RF,VARI)
在pst文件中需按SINUMERIK810D系統(tǒng)格式進(jìn)行定義、修改和編寫。
6.程序結(jié)尾
程序結(jié)尾一般情況下是取消刀補(bǔ)、關(guān)冷卻液、主軸停止、執(zhí)行回參考點(diǎn),程序停止等動(dòng)作。下面是修改后的pst程序結(jié)尾:
Ptoolend_t#Endoftoolpath,toolchange
pbld,n,sccomp,"M5",*scoolant,e(取消刀補(bǔ)、主軸停止、關(guān)冷卻液)
pbld,n,*sg74,"Z1=0.X1=0.Y1=0.",e(返回參考點(diǎn))
ifmi2=one,pbld,n,*sg74,"X1=0.","Y1=0.",protretinc,e
else,protretabs(程序結(jié)束)
#POST名稱
:wgkG54
#類型
:MILL
#機(jī)床名稱
:GENERICFANUC
#控制器名稱
:GENERICFANUC
#描述
:GENERICFANUC3AXISMILLPOST
#AssociatedPost
:NONE
#車/銑復(fù)合
:NO
#4-axis/Axissubs.
:NO
#五軸
:NO
#子程序支持
:NO
#自動(dòng)換刀
:NO
#工作坐標(biāo)系
:G54
#Executable
:MP8.00
#
#
#
#這個(gè)POST支持FANUC控制器普通三軸銑床的的G代碼輸出,
#不支持自動(dòng)換刀,有最大圓弧報(bào)警
#它來源于MP-EZ.PST
#是針對(duì)MastercamMillV8的特征而設(shè)計(jì)的
#
##
#修改日志:
#
#ProgrammersNote:
#CNC05/01/00
-
Initialpostsetup,jce
#
2002-10-11
-
去掉自動(dòng)換刀,xxx
#
2002-10-12
-
增加中文注釋,xxx
#
2002-10-21
-
增加最大圓弧警告,xxx
#
2002-11-05
-
修改坐標(biāo)系為G54,xxx
#
#特征:
#
#
#
#下列Misc.(雜項(xiàng))必須使用整數(shù):
#
#mi2-絕對(duì)或增量坐標(biāo)attoplevel
#
0=絕對(duì)
#
1=增量
#
#mi3-選擇G28或G30來執(zhí)行參考點(diǎn)回歸.
#
0=G28,1=G30
#
#Cannedtext:
#
在輪廓點(diǎn)里插入"cantext".以允許/禁止下列Mastercam里許可的功能,
#
EnteringcantextonacontourpointfromwithinMastercamallowsthe
#
followingfunctionstoenable/disable.
#
Cantext值:
#
1=Stop=輸出"M00"停止碼
#
2=Ostop=
輸出"M01"選擇停止碼
#
3=Bldon=在NC單節(jié)打開單節(jié)刪除碼(\)
#
4=bLdoff=在NC單節(jié)關(guān)閉單節(jié)刪除碼(\)
#
#
#鉆孔:
#在這個(gè)POST里支持所有的鉆孔方法.
#
#附加注意事項(xiàng):
#1)G54callsaregeneratedwheretheworkoffsetentryof0=G54,
#
1=G55,etc.
#2)由NCI變量"met_tool"決定是否使用米制
#
#3)以增量方式從換刀起始位置計(jì)算運(yùn)動(dòng)量.
#
起始位置通常定義為所有換刀時(shí)刀具所處的最后位置
#
Incrementalmodecalculatesmotionfromhomepositionattoolchanges.
#
Thehomepositionisusedtodefinethelastpositionofthetool
#
foralltoolchanges.
#4)變量'absinc'現(xiàn)已被預(yù)先定義,設(shè)定mi2(雜項(xiàng)整數(shù))以定義
#
絕對(duì)/增量程序輸出.
#
#
#DebuggingandFactorySetProgramSwitches
調(diào)試和加工設(shè)置程序切換
#
m_one
:-1
#定義常數(shù)
zero
:0
#定義常數(shù)
one
:1
#定義常數(shù)
two
:2
#定義常數(shù)
three
:3
#定義常數(shù)
four
:4
#定義常數(shù)
five
:5
#定義常數(shù)
c9k
:9999
#定義常數(shù)
fastmode
:1
#Posting速度最佳化
bug1
:2
#0=不顯示,1=普通列表框,2=編輯器
bug2
:-30
#Appendpostlinelabels,non-zeroiscolumnposition?
bug3
:0
#Appendwhatlineno.toeachNCline?
bug4
:1
#AppendNCIlineno.toeachNCline?
whatno
:yes
#不執(zhí)行whatlinebranches(分枝)?(leaveasyes)
get_1004
:1
#Findgcode1004withgetnextop?
rpd_typ_v7
:0
#UseVersion7stylecontourflags/processing?
strtool_v7
:2
#UseVersion7+toolname?
tlchng_aft
:2
#Delaycalltotoolchangeuntilmoveline
cant_tlchng:1
#忽視cantext入口onmovewithtlchng_aft
newglobal
:1
#全局變量錯(cuò)誤檢測(cè)
getnextop
:0
#建立下一個(gè)變量表
#
#
一般輸出設(shè)置
#
sub_level
:1
#允許自動(dòng)子程序支持
breakarcs
:no
#在各象限分割圓弧
arcoutput
:0
#0=IJK,1=R不帶符號(hào),2=R(超過180度時(shí)帶負(fù)號(hào))
arctype
:2
#圓弧中心1=abs,2=St-Ctr,3=Ctr-St,4=unsignedinc.
arccheck
:1
#檢測(cè)小圓弧,轉(zhuǎn)化為直線
atol
:.01
#arccheck=2時(shí)的角度公差
ltol
:.002
#arccheck=1時(shí)的長(zhǎng)度公差
vtol
:.0001
#系統(tǒng)公差
maxfeedpm
:500
#進(jìn)給速度極限(英寸/分鐘)
ltol_m
:.05
#arccheck=1時(shí)的長(zhǎng)度公差,米制
vtol_m
:.0025
#系統(tǒng)公差,米制
maxfeedpm_m:10000
#進(jìn)給速度極限毫米/分鐘
force_wcs
:yes
#每次換刀時(shí)強(qiáng)制輸出WCS
spaces
:1
#各指令之間插入的空格數(shù)
omitseq
:no
#省略序號(hào)
seqmax
:9999
#最大序號(hào)
stagetool
:0
#0=無預(yù)先備刀,1=預(yù)備刀具
use_gear
:0
#輸出齒輪交換代碼,0=no,1=yes
max_speed
:6000
#最大主軸轉(zhuǎn)速
min_speed
:1
#最小主軸轉(zhuǎn)速
nobrk
:no
#Omitbreakupofx,y&zrapidmoves
progname
:1
#使用大寫字母表示程序名
max_arc
:50000
#機(jī)床允許的最大圓弧半徑
#
#
旋轉(zhuǎn)軸設(shè)定
#
vmc
:1
#0=臥式,1=立式#
#
允許鉆孔固定循環(huán)功能
#
usecandrill:yes
#使用普通鉆孔固定循環(huán)
usecanpeck
:yes
#使用啄式鉆孔固定循環(huán)
usecanchip
:yes
#使用斷屑鉆孔固定循環(huán)
usecantap
:yes
#使用攻螺紋固定循環(huán)
usecanbore1:yes
#使用鏜孔固定循環(huán)1
usecanbore2:yes
#使用鏜孔固定循環(huán)2
usecanmisc1:yes
#使用雜項(xiàng)固定循環(huán)1
usecanmisc2:yes
#使用雜項(xiàng)固定循環(huán)2
#
#通用自定義變量初始化(不能改變!)
#
xia
:0
#FormatedabsolutevalueforXincrementalcalculations
yia
:0
#FormatedabsolutevalueforYincrementalcalculations
zia
:0
#FormatedabsolutevalueforZincrementalcalculations
bld
:0
#單節(jié)刪除激活
result
:0
#Returnvalueforfunctions
sav_spc
:0
#Savespaces
sav_gcode
:0
#Gcodesaved
sav_absinc
:0
#Absolute/IncrementalSavedValue
sav_coolant:0
#Coolantsaved
toolchng
:1
#Onatoolchangeflag
spdir2
:1
#Copyforsafespindledirectioncalculation
#Drillvariables
drlgsel
:-1
#DrillSelectInitialize
drillref
:0
#Selectdrillreference
peckacel
:0
#Fractionalpercenttoreducepeck2whenusecan..:no
drlgcode
:0
#SaveGcodeindrill
sav_dgcode
:0
#Drillgcodesaved
#
#格式列表-n=nonmodal,l=leading,t=trailing,i=inc,d=delta
#
#
#定義英制/米制坐標(biāo)格式列表
fs21
0.70.6
#小數(shù),absolute,7place,defaultforinitialize(
fs22
0.4l1.3
#小數(shù),absolute,4/3place(x,y,z)
fs23
0.4l1.3d
#小數(shù),delta,4/3place
(i,j,k)
#Commonformatstatements
fs24
1010
#整數(shù),無前綴
fs25
2020l
#整數(shù),強(qiáng)制兩位前綴
fs26
3030l
#整數(shù),強(qiáng)制三位前綴
fs27
4040l
#整數(shù),強(qiáng)制四位前綴
fs29
0.10.1
#小數(shù),absolute,1place
fs210
0.20.2
#小數(shù),absolute,2place
fs211
0.30.3
#小數(shù),absolute,3place
fs212
0.40.4
#小數(shù),absolute,4place
fs213
0.50.5
#小數(shù),absolute,5place
fs214
0.30.3d
#小數(shù),delta,3place
fs215
0.20.1
#小數(shù),absolute,2/1place
fs216
1010n
#整數(shù),強(qiáng)制輸出
#輸出加工類型字符串定義
#
#字符串-字符串標(biāo)簽必須由's'開頭,它們沒有預(yù)先指派
#
#Selectoperationnote
sop00
"NULL"
#Stringdefinition
sop01
"CONTOUR"
#
"
"
sop02
"CONTOUR"
#
"
"
sop03
"DRILLCYCLE"
#
"
"
sop04
"OCKET"
#
"
"
sop05
"RULED"
#
"
"
sop06
"2D-SWEPT.."
#
"
"
sop07
"3D-SWEPT.."
#
"
"
sop08
"REVOLVED.."
#
"
"
sop09
"LOFT"
#
"
"
sop10
"COONS"
#
"
"
sop11
"TRIM"
#
"
"
sop12
"FLOWLINE.."
#
"
"
sop13
"SURFACE_FINISH"
#
"
"
sop14
"SURFACE_ROUGH"
#
"
"
sop15
"OINT"
#
"
"
sop16
"DRILL-5AX."
sop17
"CURVE-5AX."
sop18
"SWARF-5AX."
sop19
"flatMILL"
sop20
"op20?"
sopnote
#Targetstring
fstrsel
sop00opcodesopnote
#
#
NC輸出的字符串和字符串選擇定義
##Addressstringdefinitions
位址串定義
strm
"M"
strn
"N"
stro
"O"
strp
""
srad
"R"
srminus
"R-"
sblank
#Cantext字符串定義(spacesmustbepaddedhere)
sm00
"M00"
sm01
"M01"
strtextno
strcantext
#
#
錯(cuò)誤信息
#
saxiswarn
"
WARNING-THERADOFARCISTOOLARGE"
#
#一般的G和M代碼串選擇表
GeneralGandMCodeStringselecttables
#
#運(yùn)動(dòng)G代碼選擇
sg00
G00
#快速定位
sg01
G01
#直線進(jìn)給
sg02
G02
#圓弧插補(bǔ)CW
sg03
G03
#圓弧插補(bǔ)CCW
sg04
G04
#暫停
sgcode
#Targetforstring
fstrselsg00gcodesgcode
#
#選擇工作平面G字串
sg17
G17
#XY平面代碼
sg19
G19
#YZ平面代碼
sg18
G18
#XZ平面代碼
sgplane
#Targetstring
fstrselsg17planesgplane
#
#選擇英制/米制字串
sg20
G20
#英制代碼
sg21
G21
#米制代碼
smetric
#Targetstring
fstrselsg20met_toolsmetric
#
#選擇參考點(diǎn)回歸字串
sg28
G28
#第一參考點(diǎn)回歸
sg30
G30
#第二參考點(diǎn)回歸
sg28ref
#Targetstring
fstrselsg28mi3sg28ref
#
#切削補(bǔ)償G字串選擇
scc0
G40
#切削補(bǔ)償取消
scc1
G41
#切削左補(bǔ)償
scc2
G42
#切削右補(bǔ)償
sccomp
#Targetforstring
fstrselscc0cc_possccomp
#
#鉆孔固定循環(huán)字符串選擇
sg81
G81
#鉆孔
-無暫停
sg81d
G82
#鉆孔
-有暫停
sg83
G83
#啄式鉆孔
-無暫停
sg83d
G83
#啄式鉆孔
-有暫停
sg73
G73
#斷屑
-無暫停
sg73d
G73
#斷屑
-有暫停
sg84
G84
#攻螺紋
-右手
sg84d
G74
#攻螺紋
-左手
sg85
G85
#鏜孔#1
-無暫停
sg85d
G89
#鏜孔#1
-有暫停
sg86
G86
#鏜孔#2
-無暫停
sg86d
G86
#鏜孔#2
-有暫停
sgm1
G76
#misc#1
-無暫停
sgm1d
G76
#misc#1
-有暫停
sgm2
G81
#misc#2
-無暫停
sgm2d
G82
#misc#2
-有暫停
sgdrill
#Targetforstring
fstrselsg81drlgselsgdrill
#
#選擇增量或絕對(duì)G字符串
sg90
G90
#絕對(duì)代碼
sg91
G91
#增量代碼
sgabsinc
#Targetstring
fstrselsg90absincsgabsinc
#
#鉆孔固定循環(huán)參考高度
sg98
G98
#Z軸回到起始高度
sg99
G99
#Z軸回到參考高度
sgdrlref
#Targetforstring
fstrselsg98drillrefsgdrlref
#DrillcycleGstringselect
#
#Generatestringforspindle
sm04
M04
#主軸反轉(zhuǎn)
sm05
M05
#主軸停止
sm03
M03
#主軸正轉(zhuǎn)
spindle
#Targetforstring
fstrselsm04spdir2spindle
#
#冷卻M字符串選擇
sm09
M09
#冷卻液Off
sm08
M08
#冷卻液噴射
sm08_1
M08
#冷卻液噴霧
sm08_2
M08
#CoolantTool
scoolant
#Targetforstring
fstrselsm09coolantscoolant
#
#定義齒輪選擇代碼
flktbl
1
3
#Lookuptabledefinition-tableno.-no.entries
40
0
#底速齒輪檔
41
400
#中速齒輪檔
42
2250
#高速齒輪檔
#
#
刀具交換/NC輸出變量格式
#
fmt
T
4
t
#刀具號(hào)
fmt
T
4
first_tool
#第一把使用的刀具
fmt
T
4
next_tool
#下一把使用的刀具
fmt
D
4
tloffno
#直徑偏移號(hào)
fmt
H
4
tlngno
#長(zhǎng)度偏移號(hào)
fmt
G
4
g_wcs
#WCSGaddress
fmt
P
4
p_wcs
#WCSPaddress
fmt
S
4
speed
#主軸轉(zhuǎn)速
fmt
M
4
gear
#Gearrange
#
fmt
N
4
n
#序號(hào)
fmt
X
2
xabs
#X坐標(biāo)輸出
fmt
Y
2
yabs
#Y坐標(biāo)輸出
fmt
Z
2
zabs
#Z坐標(biāo)輸出
fmt
X
3
xinc
#X坐標(biāo)輸出
fmt
Y
3
yinc
#Y坐標(biāo)輸出
fmt
Z
3
zinc
#Z坐標(biāo)輸出
fmt
I
3
i
#x軸方向上的圓弧中心描述
fmt
J
3
j
#y軸方向上的圓弧中心描述
fmt
K
3
k
#z軸方向上的圓弧中心描述
fmt
R
2
arcrad
#圓弧半徑
fmt
F
15
feed
#進(jìn)給率
fmt
P
11
dwell
#暫停
fmt
M
5
cantext
#Cannedtext
#
#Movecomment(pound)tooutputcolonwithprogramnumbers
fmt
O
7
progno
#Programnumber
#fmt":"7
progno
#Programnumber
#
fmt
Q
2
peck1
#Firstpeckincrement(positive)
fmt
Q
2
shftdrl
#Fineboretoolshift
fmt
R
2
refht_a
#Referenceheight
fmt
R
2
refht_i
#Referenceheight
#
fmt"TOOL:"
4
tnote
#注釋格式
fmt"DIA.OFF:"4
toffnote
#注釋格式
fmt"LEN.:"
4
tlngnote
#注釋格式
fmt"DIA.:"
1
tldia
#注釋格式
#
#ToolComment/ManualEntrySection
刀具注釋/手工輸入部分
#
ptoolcomment
#Commentfortool
tnote=t
toffnote=tloffno
tlngnote=tlngno
"(",*tnote,*tldia,
*sopnote,")",e
pstrtool
#Commentfortool
ifstrtool<>sblank,
[
strtool=ucase(strtool)
*strtool,""
]
pcomment
#Commentfrommanualentry(mustcallpcomment2ifbooleans)
pcomment2
pcomment2
#Commentfrommanualentry
scomm=ucase(scomm)
ifgcode=1007,"(",scomm,")"
else,"(",scomm,")",e
#
#文件起始和刀具交換設(shè)置
#
psof0
#Startoftoolzero
psof
psof
#Startofnon-zerotoolnumber
toolchng=one
ifntools=one,
[
#skipsingletooloutputs,stagetoolmustbeon
stagetool=m_one
!next_tool
]
"%",e
*progno,e
"(PROGRAMNAME-",progname,")",e
"(DATE=Day-Month-Year-",date,"TIME=Hr:Min-",time,")",e
ptoolcomment
pbld,n,*sgcode,*sgplane,"G40","G49","G80","G54",*sgabsinc,*smetric,e
sav_absinc=absinc
pcom_moveb
absinc=zero
pcan1,pbld,n,*sgcode,*sgabsinc,pwcs,pfxout,pfyout,*zr,
*speed,*spindle,pgear,strcantext,e
pe_inc_calc
ps_inc_calc
absinc=sav_absinc
pbld,n,sgabsinc,epretract
#刀具路徑末尾,換刀
sav_absinc=absinc
absinc=one
sav_coolant=coolant
coolant=zero
#cc_posisresetinthetoolchangehere
cc_pos=zero
gcode=zero
pbld,n,sccomp,*sm05,e
absinc=sav_absinc
coolant=sav_coolant
peof0
#Endoftoolzero
peof
peof
#Endofnon-zerotool
pretract
comment
#Removepoundcharactertooutputfirsttoolwithstagedtools
#
#ifstagetool=one,pbld,n,*first_tool,e
n,"M30",e
"%",e
pwcs
#G54+coordinatesettingattoolchange
ifworkofs<>prv_workofs|(force_wcs&toolchng),
[
ifworkofs<6,
[
g_wcs=workofs+54
*g_wcs
]
else,
[
p_wcs=workofs-five
"G54.1",*p_wcs
]
]
!workofs
pgear
#Findspindlegearfromlookuptable
ifuse_gear=one,
[
gear=frange(one,speed)
*gear
]
#換刀設(shè)置
pspindle
#主軸轉(zhuǎn)速計(jì)算forRPM
speed=abs(ss)
ifmaxss=zero|maxss>max_speed,maxss=max_speed
ifspeed>max_speed,speed=maxss
ifspeed<min_speed,speed=min_speed
spdir2=fsg3(spdir)
pq
#Setuppostbasedonswitchsettings
ifstagetool=one,bldnxtool=one
ifarctype=one|arctype=four,
[
result=newfs(two,i)
result=newfs(two,j)
result=newfs(two,k)
]
else,
[
result=newfs(three,i)
result=newfs(three,j)
result=newfs(three,k)
]
pheader
#文件開始前調(diào)用
ifmet_tool=one,#米制常量和變量調(diào)整
[
ltol=ltol_m
vtol=vtol_m
maxfeedpm=maxfeedpm_m
]
ptoolend
#刀具路徑末尾,讀取新刀具資料之前
!speed,!spdir2
ptlchg1002
#Callatactualtoolchange,endlastpathhere
pspindle
ifgcode=1000,
[
#Nulltoolchange
]
else,
[
#ToolchangeandStartoffile
ifgcode=1002,
[
#Actualtoolchange
pretract
]
ifstagetool=one,prv_next_tool=m_one
prv_xia=vequ(xh)
prv_feed=c9k
]
#
#MotionNCoutput
運(yùn)動(dòng)NC輸出
#
#絕對(duì)方式輸出的變量為xabs,yabs,zabs.
#增量方式輸出的變量為xinc,yinc,zinc.
#
prapidout
#輸出直線運(yùn)動(dòng)的NC指令-快速
pcan1,pbld,n,sgplane,`sgcode,sgabsinc,pccdia,
pxout,pyout,pzout,strcantext,scoolant,e
plinout
#輸出直線運(yùn)動(dòng)的NC指令-進(jìn)給
pcan1,pbld,n,sgplane,`sgcode,sgabsinc,pccdia,
pxout,pyout,pzout,feed,strcantext,scoolant,e
pcirout
#輸出圓弧插補(bǔ)的NC指令
ifarcrad>=max_arc,result=mprint(saxiswarn)
pcan1,pbld,n,sgplane,sgcode,sgabsinc,pccdia,
pxout,pyout,pzout,parc,feed,strcantext,scoolant,e
pcom_moveb
#Commonmotionpreparationroutines,before
pxyzcout
ps_inc_calc
pncoutput
#Movementoutput
pcom_moveb
comment
pcan
ifgcode=zero,prapidout
ifgcode=one,plinout
ifgcode>one&gcode<four,pcirout
pcom_movea
pcom_movea
#Commonmotionpreparationroutines,after
pcan2
pe_inc_calc
pdwl_spd
#CallfromNCIgcode4
pspindle
comment
ifprv_spdir2<>spdir2,pbld,n,*sm05,e
ifprv_speed<>speed|prv_spdir2<>spdir2,
pbld,n,*speed,*spindle,pgear,e
pcan
iffmtrnd(dwell),pcan1,pbld,n,*sgcode,*dwell,strcantext,e
else,pcan1,pbld,n,strcantext,e
pcan2
prapid
#輸出直線運(yùn)動(dòng)的NC指令-快速
pncoutput
pzrapid
#輸出直線運(yùn)動(dòng)的NC指令-快速Zonly
pncoutput
plin
#輸出直線運(yùn)動(dòng)的NC指令-進(jìn)給
pncoutput
pz
#輸出直線運(yùn)動(dòng)的NC指令-進(jìn)給Zonly
pncoutput
pmx
#輸出NCI向量的NC指令
pncoutput
pcir
#輸出圓弧插補(bǔ)的NC指令
pncoutput
#
#Motionoutputcomponents
運(yùn)動(dòng)輸出組成
#
pbld
#Cannedtext-單節(jié)刪除
ifbld,'/'
pfbld
#強(qiáng)制-單節(jié)刪除
"/"
pccdia
#切削補(bǔ)償
#ForceDxx#
ifprv_cc_pos<>cc_pos&cc_pos,prv_tloffno=c9k
sccomp
ifcc_pos,tloffno
pfxout
#ForceXaxisoutput
ifabsinc=zero,*xabs,!xinc
else,*xinc,!xabs
pxout
#Xoutput
ifabsinc=zero,xabs,!xinc
else,xinc,!xabs
pfyout
#ForceYaxisoutput
ifabsinc=zero,*yabs,!yinc
else,*yinc,!yabs
pyout
#Youtput
ifabsinc=zero,yabs,!yinc
else,yinc,!yabs
pfzout
#ForceZaxisoutput
ifabsinc=zero,*zabs,!zinc
else,*zinc,!zabs
pzout
#Zoutput
ifabsinc=zero,zabs,!zinc
else,zinc,!zabs
parc
#選擇圓弧輸出格式
ifarcoutput=zero,
[
#圓弧輸出為IJK
i,j,k
]
else,
[
#圓弧輸出為R
ifabs(sweep)<=180|arcoutput=one,result=nwadrs(srad,arcrad)
else,result=nwadrs(srminus,arcrad)
*arcrad
]
#
#Drilling
鉆孔
#
pdrlcommonb
#CannedDrillCyclecommoncall,before
ifgcode=81,
[
result=newfs(two,zinc)
ifdrillcyc=three,drlgsel=fsg1(-ss)+drillcyc*two
else,drlgsel=fsg2(dwell)+drillcyc*two
ifinitht<>refht,drillref=zero
else,drillref=one
prv_refht_a=c9k
prv_refht_i=c9k
]
z=depth
prv_zia=initht
feed=fr_pos
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年反假貨幣知識(shí)線上答題活動(dòng)考試題庫(含答案)
- 廣東省梅州市2015年中考政治真題試題(含解析)
- 資本教育培訓(xùn)政策解讀
- led車出租合同范例
- 鄰居單間出租合同范例
- 違造借款合同范例
- 公司電路維修合同范例
- 項(xiàng)目招商商鋪?zhàn)赓U合同范例
- 汽車租賃同城轉(zhuǎn)讓合同范例
- 足浴勞動(dòng)合同范例
- 2025眼科護(hù)理工作計(jì)劃
- 校園牛奶消費(fèi)推廣方案
- 非甾體抗炎藥圍術(shù)期鎮(zhèn)痛專家共識(shí)(2024 版)解讀
- 技術(shù)服務(wù)外包勞務(wù)合同范本5篇
- 綠色財(cái)政政策
- 期末試卷(試題)-2024-2025學(xué)年三年級(jí)上冊(cè)數(shù)學(xué)蘇教版
- 天津市南開區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期期末英語試題
- 期末考試-公共財(cái)政概論-章節(jié)習(xí)題
- 國(guó)家開放大學(xué)《納稅籌劃》章節(jié)測(cè)試參考答案
- 上海市醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理規(guī)范實(shí)施細(xì)則
- EVM500在電纜中應(yīng)用
評(píng)論
0/150
提交評(píng)論