




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——PowerMILL后处理修改教程
POWERMILL
本教程是偶在实际使用中的PowerMILL后处理文件修改知识的积累,其中有部分修改案例来源于帮助文件,在此仅以文字和图片的形式把他记录下来与初学者共同共享。
Bymymould(风影爱人)
一、完整的后处理文件介绍
一个完整的后处理文件寻常有:定义字符段、定义字符格式段、定义键值段、定义指令值段、变量定义、程序格式段等部分组成。
下面我们先来看一个比较完整的后处理文件,并把它分为数段,把需要修改的地方做个必要的解释:
machinefanucom——————后处理文件头
===========================第一部分是定义字符
段==============================
definewordTN
addressletter=TOOLTYPE:-
addresswidth=13
fieldwidth=25
enddefine
具体解释:
definewordTN——————————————定义字段;
addressletter=TOOLTYPE:-—————定义字段的返回值,譬如在后处理文件里有“MS=C;TNToolType;EM=C〞,而在写程式的时候选用的是端铣刀,那么在CNC程式里就会有(TOOLTYPE:-ENDMILL);addresswidth=13———————————定义字符宽度,如上TOOLTYPE:-,从T开始算起一共13位,包括空格;
fieldwidth=25———————————定义返回字的宽度,如上ENDMILL,假使fieldwidth=2,那TOOLTYPE:-就返回EN;假使fieldwidth=25,那TOOLTYPE:-就返回ENDMILL。
enddefine
==========================其次段是定义字符的格
式=============================
defineformat(/G6STM1M2LPDEHO)
addresswidth=1
fieldwidth=2
exponentwidth=0
scalefactor=1
scaledivisor=1
tapeposition=0
printposition=1
sign=none
POWERMILL
notpermanent
notmodal
metricformats
leadingzeros=false
trailingzeros=true
decimalpoint=false控制公制尺寸的前导零、后导零,小数点
decimalplaces=0
imperialformats
leadingzeros=false
trailingzeros=true
decimalpoint=false控制英制尺寸的前导零、后导零,小数点
decimalplaces=0
enddefine
wordorder=(OPNG1G2G3G4G5)
wordorder=(+G6G7XYZBC)
wordorder=(+IJKRDST)
wordorder=(+HM1M2MSmsgEMQ)注册字符
wordorder=(+Q1Z2R2IDF)
wordorder=(+TNTDTRDYMTYRPM)
==========================第三段是定义键
值===================================
definekeys
blocknumber=N——————定义程序段号preparatoryfunction=G1———————定义准备功能指令
auxfunction=M1——————定义辅助功能指令
xfeedratenotused—————定义X进给率指令
yfeedratenotused—————定义Y进给率指令
zfeedratenotused—————定义Z进给率指令
circleanglenotused—————圆周角度xcoordinate=X——————定义X坐标轴ycoordinate=Y——————定义Y坐标轴zcoordinate=Z——————定义Z坐标轴keyi=I——————定义X轴矢量I键
POWERMILL
keyj=J——————定义Y轴矢量J键
keyk=K——————定义Z轴矢量K键
feedrate=F——————定义进给率指令
feedrateperrevolution=F———————定义每转进给率指令
spindle=S——————定义主轴指令toolnumber=T——————定义刀具指令cycledwellnotused
dwell=X—————定义暂停时间键值
toollength=H——————定义刀具长度补偿指令
toolradius=D——————定义刀具半径补偿指令
drillpeckdepth=Q1——————钻孔的啄钻深度
drillholedepth=Z2——————定义钻孔深度clearplane=R2—————定义安全平面高度
messagestart=MS—————定义解释的开始符
messageend=EM————定义解释的终止符opskip=OP————定义跳段符号radius=R—————定义半径R键programid=ID—————定义程序号azimuthaxis=B—————在多轴加工中,定义方位轴
elevationaxis=C—————在多轴加工中,定义仰角轴
3rdrotationaxis=null—————在多轴加工中,定义第三旋转轴
leadernotused
xvectornotused
yvectornotused
zvectornotused
errornotused
enddefine
==========================定义指令
值========================================
definecodes
POWERMILL
rapid=G10==========快速点定位
linear=G11===========直线插补circlecw=G12===========顺圆插补circleccw=G13==========逆圆插补dwell=G64=========暂停、确凿中止
xyplane=G317=========XY平面zyplane=G319=========YZ平面xzplane=G318=========ZXcompensationoff=G240==========
半径补偿
compensationonleft=G241===========
左补偿
compensationonright=G242===========径右补偿
imperialdata=G420============入
metricdata=G421============入
absolutedata=G590============对坐标编程
incrementaldata=G591============量坐标编程
from=G354==========
坐标系
feedrateperminutenotused================钟进给
feedrateperrevolutionnotused=================进给
spindlerpmnotused
constantsurfacespeednotused
drill=G481===========
锪镗循环
breakchip=G482===========
或反镗循环
deepdrill=G483============循环
tap=G484==========
bore1=G485==========
bore2=G486==========
bore3=G487==========
bore4=G488==========
bore5=G489==========平面取消刀具刀具半径刀具半英寸输毫米输指定绝指定增制定工作每分每转钻孔循环钻孔循环深孔钻攻丝循环镗孔循环镗孔循环背镗循环镗孔循环镗孔循环
POWERMILL
endofdrill=G480=============固定循环取消
macrostartnotused============宏程序模态调用
macroendnotused===========宏程序模态调用取消
macrocallnotused============宏程序调用cycleretract=G699==========固定循环返回到R点
toollengthoffset=G343===========
长度补偿
splinenotused========spline方式
stop=M10====
optstop=M11=====
spindleoncw=M13=====
spindleonccw=M14=====
spindleoff=M15=====
spincoolantoncw=M113
spincoolantonccw=M114
spincoolantoff=M15======
changetool=M16======
coolantonmist=M17=====
coolanton=M18====
coolantonflood=M18=====
出)
coolantoff=M19=====
clamponnotused
clampoffnotused
endoftape=M12=====
endofprog=M130=====
gearrange1notused
gearrange2notused
gearrange3notused
constantcontourspeednotused
constantcontourspeed2notused
worddrillnotused
wordbreakchipnotused
worddeepnotused
wordtapnotused
wordbore1notused
wordbore2notused
wordbore3notused
wordbore4notused正向刀具插补程序中止选择中止主轴正转主轴逆转主轴中止冷却液关自动换刀雾状冷却液冷却液开冷却液开(喷冷却液关程序终止程序终止
POWERMILL
wordbore5notused
coolantontapnotused
rigidtapnotused======刚性攻丝helicaldrillnotused
helicalretractdrillnotused
enddefine
================================定义变
量======================================
printheader=DelcamPostprocessor==================定义打印标题
machinename=Fanuc6mversion1.2=========机器名
point=.================================小数点
zero=0===============================零
tapeheaders=1==============================纸带标题
(integer6、integer7):定义coolantoutput(冷却液输出)
integer6=2==============定义冷却液开(M07、M08)的输出方式,
此变量共有三个选项——0:在后处理时遇到相关指令时输出;1:在下一段中单独输出;2、在下一段中和坐标移动一起输出。
integer7=1==============定义冷却液关(M09)的输出方式,此变量共有三个选项——0:在后处理时遇到相关指令时输出;1:在下一段中单独输出;2、在下一段中和坐标移动一起输出。
(integer10、integer11、integer12、integer13):定义spindleoutput(主轴输出)
integer10=2==============定义主轴开(M03、M04)的输出方式,
此变量共有三个选项——0:在后处理时遇到主轴开指令时输出;1:在下一段中单独输出;2、在下一段中和坐标移动一起输出。
integer11=1=============定义主轴关(M05)的输出方式,此变量共有二个选项——0:在遇到主轴关指令时不输出S;1:在遇到主轴关指令时输出S0。
integer12=1=============定义M代码的输出方式,此变量共有二个选项——0:在遇到主轴相关指令时不输出M;1:在遇到主轴相关指令时输出M。
toolresetcoordinates=2===============定义刀具复位后(M06后)的坐标处理方式,有1、2、3、4四个选项,请注意这四个选项的刀
POWERMILL
具补偿的区别:
1、2、
3、4、
cycleoutput=1================定义循环指令
(G80~G89)的输出方式,此变量共有两个选项——0:不输出循环移动指令;1、输出循环指令(默认值为G81)。
(integer20、integer26、fullcircle):定义circleoutput(圆弧输出)integer20=1=============定义圆弧(M02、M03)的输出坐标,此变量共有两个选项——0:不输出圆弧的X、Y坐标;1:输出圆弧的X、Y坐标。
blockstart=1===============定义程序段的开始段号
blockincrement=1===============定义程序段号的增量
splitmove=0
integer26=1==============定义圆弧(M02、M03)的输出,此变量共有两个选项——0:不输出圆弧指令;1、输出圆弧指令,假使选择0,那么在后处理时遇到有圆弧的地方,系统将这个圆弧打断成若干条直线段输出。
programidstart=100===============定义程序起始号integer34=3
integer35=1
integer36=1
integer37=2
POWERMILL
rapidfeedcode=0===============共有两个选项
——0:在快速移动时不输出进给率;1:在快速移动时输出进给率(需要在快速移动中定义F)。
maximumblocknumber=0
maximumtapeblocks=0
minimumtapeblocks=0
segmenttype=0
counterstart=0
counterincrement=0
tapesplitretractdistance=-999
multiaxiscoordinatetransform=true======定义机床是否支持多轴联动,true:支持;false:不支持
messageoutput=false
blockorder=true
tlooutput=true========是否正常输出刀具长度(半径)补偿,true:输出;false:不输出。
tapesplitontoolchange=false
fullcircle=true=========true:整圆输出;false:不做整圆输出。
incrementalcentre=true
gohomeoutput=false
usepartid=true========是否使用自定义partid,true:使用;false:不使用
useprogid=true========是否使用自定义progid,true:使用;false:不使用
spindlexmotion=false========定义主轴运动方向,true:X方向;false:NOX方向。
spindleymotion=false========定义主轴运动方向,true:Y方向;false:NOY方向。
spindlezmotion=true========定义主轴运动方向,true:Z方向;false:NOZ方向。
spindlewmotion=false========定义主轴运动方向,true:W方向;false:NOW方向。
spindleazimuthrotation=false==========定义方位轴方式,true:为主轴头式;false:为工作台式。
spindleelevationrotation=false==========定义仰角轴方式,true:为主轴头式;false:为工作台式。
linearisemultiaxismoves=true==========定义机床是否支持线性多轴联动,true:支持;false:不支持。
useholetopincycles=false
retractatangularlimit=false
unwindattoolchange=false
suppressxyarc=false
suppressxzarc=false
POWERMILL
suppressyzarc=false
transformworkplaneorigin=false
previousmultaxrapidstyle=false
knotvectortype=none
units=input=======定义单位,input=ouput;metric;imperial
coordinates=absolute======定义坐标单位,
absolute;incremental
azimuthaxisunits=degrees=======定义方位轴单位
azimuthaxisdirection=positive=======定义方位轴用法,相对还是绝对
elevationaxisunits=degrees========定义仰角轴单位
elevationaxisdirection=positive========定义仰角轴用法,相对还是绝对
splinetype=none
workplaneangles=none
optionfileunits=none
maximumfeedrate=9999.0000
minimumfeedrate=1.0000
rapidfeedrate=9999.0000
maximumtapelength=0.0000
plungethresholdangle=0.0000
maximumsegment=0.0000
diameter=1.0000
withdrawalamount=50.0000
arcradiuslimit=10000.0000
retractionthreshholdangle=360.0000
arcminimumradius=0.0000
azimuthaxisparameters=(000000)=========定义方位轴参数,前三个零为分别定义每个轴的旋转中心;后三个零为定义方位轴的坐标,依次为X、Y、Z。
azimuthcentre=(000)==========================定义方位轴圆心参数
elevationaxisparameters=(000000)==========定义仰角轴参数,前三个零为分别定义每个轴的旋转中心;后三个零为定义仰角轴的坐标,依次为X、Y、Z。
elevationcentre=(000)===========================定义仰角轴圆心参数
pcsorigin=(000000)========定义旋转轴圆心
linearaxislimits=(-99999999999-99999999999-99999999999)==============定义线性轴范围
rotaryaxislimits=(-99999999999-99999999999999
POWERMILL
1)============定义旋转轴范围,前两个零为定义方位轴的旋转范围;中间两个零为定义仰角轴的旋转范围;第五个零定义公差;第六个零定义分辩率。movesafeangles=(0000)====================定义起始角度
defineblocktapestart
%
#IDProgID
N;G291;G628;Z0;Z=C
N;MS=C;PMJobName;EM=C
N;MS=C;MTMonth;DYDay;YRYear;EM=C
N;MS=C;TNToolType;EM=C
N;MS=C;TDToolRadius[ToolNum];EM=C
N;MS=C;TRToolRadius[ToolNum];EM=C
N;compensationoff;G649;xyplane;G480;G354
#N;G291;G628;X0;Y0;X=C;Y=C
enddefine
defineblocktapeend
N;G591;G628;ZZcoord;Z=C
N;H0;G649
#N;G628;X0;Y0;X=C;Y=CN;M130
enddefine
defineblockgohomepreamble
enddefine
defineblocktoolchangefirst
#N;OP;changetool;TToolNum
G354;G590;G3=C;G5=C;#TNextTool;enddefine
defineblocktoolchange
N;G591;G628
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论