西门子840d工厂编程实例Word文档下载推荐.docx
- 文档编号:5847780
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:113
- 大小:846.72KB
西门子840d工厂编程实例Word文档下载推荐.docx
《西门子840d工厂编程实例Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《西门子840d工厂编程实例Word文档下载推荐.docx(113页珍藏版)》请在冰点文库上搜索。
G01、F指令均为模态指令,有继承性,即如果上一段程序为G01,则本程序可以省略不写。
X、Y、Z为终点坐标值也同样具有继承性,即如果本程序段的X(或Y或Z)的坐标值与上一程序段的X(或Y或Z)坐标值相同,则本程序段可以不写X(或Y或Z)坐标。
切削加工时,一般要求进给速度恒定,因此,在一个稳定的切削加工工程中,往往只在程序开头的某个插补(直线插补或圆弧插补)程序段写出F值。
N10G0X14Y14;
快速定位
N20G1Z-2;
z切深2mm
N30G1X30Y30;
直线插补
N40G0Z6;
Z快速退回
N50M30;
1.4圆弧插补G02/G03(模态指令)
G2/G3X…Y…Z…I…J…K…
G2/G3AP=…RP=…
G2/G3X…Y…Z…CR=…
G2/G3AR=…I…J…K…
G2/G3AR=…X…Y…Z…
G2顺时针方向沿圆弧轨迹运行
G3逆时针方向沿圆弧轨迹运行
XYZ直角坐标系的终点
IJK直角坐标系的圆弧圆心(在X,Y,Z方向)I值为圆心X值减去圆弧起点X值,JK分别对应
RP=极坐标的终点,这里极半径
CR=圆弧半径
AR=圆弧角(张角)0~360度
圆弧插补允许对整圆或圆弧进行加工。
CR=+…:
角度小于或者等于180°
CR=–…:
角度大于180°
整圆(运行角度360°
)不能用CR=来编程,而是通过圆弧终点和插补参数来编程。
圆弧加工
N10G0X60Y60
N20G1Z-2
N30G2X150Y120CR=-50
N40G0Z6
N50M30
或
N10G0X150Y120
N30G3X60Y60CR=-50
N40Z6
整圆加工
N10G0X=50-40Y50
N30G2X=50-40Y50I=50-10J=50-50
N40G1Z6
1.5暂停指令G04(模态指令)
G04F……
G04S……
F……以秒为单位的时间
S……用主轴旋转次数来确定暂停时间
用G4指令多半是为了在加工完零件的时候停留几秒,以保证加工的光滑度。
当主轴有高速、低速档切换时在M5指令后,用G4指令停顿几秒,使主轴真正停止再进行换挡,避免损伤主轴的伺服马达。
1.6准确停止G09(非模态指令)、G60(模态指令)
如果在一个切削进给的程序段中有G09指令给出,则刀具接近指令位置时会减速,NC检测到位置到达信号后才会继续执行下一程序段。
这样,在两个程序段之间的衔接处刀具将走出一个非常尖锐的角,所以需要加工非常尖锐的角时可以使用这条指令。
使用G60可以实现同样的功能,G60与G09的区别就是G09是一条非模态的指令,而G60是模态的指令,即G09只能在它所在的程序段中起作用,不影响模态的变化,而G60可以在它以后的程序段中一直起作用,直到程序中出现G64为止。
1.7G17、G18、G19加工平面选择(模态指令)
G17:
XY平面进给方向Z
G18:
XZ平面进给方向Y
G19:
YZ平面进给方向X
1.8G40、G41、G42刀具半径补偿(模态指令)
G0(G1)G41(G42)X…Y…Z…
G40注销刀具半径补偿
G41激活刀具半径补偿,沿着加工方向的轮廓左侧进行刀具半径补偿加工
G42激活刀具半径补偿,沿着加工方向的轮廓右侧进行刀具半径补偿加工
XYZ直角坐标系的终点
有了刀具半径补偿,我们在编程时可以不要考虑太多刀具的直径大小了,刀具补偿对所有的刀具都适用,而刀具半径补偿则一般只用于铣刀类刀具。
当铣刀加工工件的外或内轮廓时,就用得上刀具半径补偿,当用端面铣刀加工工件的端面时则只需刀具长度补偿。
精加工一般采用顺铣左补偿,刀具半径补偿只能跟在G0、G1后面,半径补偿的启动和取消只能在零件外进行。
沿着刀具切削方向看,刀具在加工工件的左侧则为左补偿G41(顺铣),如果刀具在加工工件的右侧则为右补偿G42(逆铣)
1.9G53、G153、SUPA(非模态指令)G500(模态指令)
G53以程序段方式取消当前可设定零点偏移和可编程零点偏移。
G153和G53一样,并且抑制整个基本框架
SUPA和G153一样,并且包括编程的偏移、手轮偏移(DRF)、外部零点偏移和PRESET偏移
G500取消可设定零点偏移/框架(G54到G599),直至下一次调用
G53指令一般用于程序抑制整个基本框架如
N10G0G90X10Y10F500T1返回
N20G54S1000M3;
调用第一个零点偏移,主轴右旋
N30L1;
调子程序
N40G55G0Z200;
调用第二个零点偏移Z,在障碍物后
N50L1;
调子程序
N60G56;
调用第三个零点偏移
N70L1;
N80G53X200Y300M30;
零点偏移抑制,程序结束
G153指令同G53
SUPA非模态指令用于暂时取消各种偏置,仅一段程序有效
N10G0G17G40G71G90G94;
N20GEOAX();
取消轴转换
N30TRANSZ200;
零点偏置
N40STOPRE;
预处理停止,等待上面指令全部执行完以后再执行下面指令,防止程序发生混乱
N50G0SUPAZ100;
暂时取消零点偏置,下段程序继续执行零点偏置
G500指令在没有赋值的时候为机床坐标系,可以把机床从工件坐标系转换到机床坐标系
1.10G54~G57、G505~G599工件坐标系(模态指令)
在加工复杂零件的时候,往往需要加工多个面,这样每个加工面都需要一个坐标系,我们现在就来讲讲坐标系是如何建立的。
首先编程人员会根据工件的图纸尺寸编出一个探测程序(在后面章节会讲探测程序),那么这里就有问题了,编程人员根据图纸编出的程序只是工件坐标系,大家应该知道工件坐标系和机床坐标系不一样,很多时候两者的原点是不重合的。
在实际加工中我们会在编程之前把工件的工装每个定位点的机床坐标系值测出来,工装是根据工件而设计的,测出了工装坐标我们就可以推出工件在机床坐标系中的位置,这样编程人员就可以顺利的编出探测程序了。
探测程序把工件的坐标探测出来,就需要赋值,举个例子在探测程序开始会清空坐标系的指令:
$P_UIFR[1]=CTRANS():
CFINE()
$P_UIFR[2]=CTRANS():
$P_UIFR[3]=CTRANS():
$P_UIFR[4]=CTRANS():
表示把G54~G57中的Coarse和Fine中的值全部清0,如图
在探测程序中会有个赋值,这个赋值就是把工件原点探测出来后,用机床坐标系表示,即零点偏移。
什么叫零点偏移,比如说工件坐标系原点在机床坐标系中探出的值为(200,200,200),那么我们只需要把Coarse中的值对应的改为200200200即可,这时候机床坐标系的原点和工件原点重合,在这里简单的体一下,下面的章节再具体讲解。
1.11G64/G641连续路径加工(模态指令)
即刀具在程序段的终点不减速而执行下个程序段(轮廓加工,无速度减小)改变运动方向时,该功能是程序段平稳过渡,从而在拐角处可实现平滑过渡。
当进给率为试运行进给率时,G64使得在程序段运行中和程序结束时都使用试运行进给率,而不是用编程进给率。
一般加工模具时,或是加工曲线轮廓时用.
1.12G70/G71/G700/G710英制/公制(模态指令)
G70英制尺寸说明(长度[inch])
G71公制尺寸说明(长度[mm])
G700英制尺寸说明(长度[inch];
进给[inch/min]
G710公制尺寸说明(长度[mm];
进给[mm/min])
1.13G90/G91绝对/增量尺寸(模态指令)
G90是绝对尺寸输入,所有数据对应于实际工件零点。
可用AC=()表示
G91是增量尺寸输入,每一尺寸对应于上一个轮廓点。
可用IC=()表示
G91增量尺寸编程
N10G0X10Y15
N20X=IC(35)Y=IC(10)
N30Y=IC(25)
N40M30
G90绝对尺寸编程
N20X=AC(45)Y=AC(25)
N30Y=AC(50)
1.14G94/G95进给单位(模态指令)
G94进给速度的单位为mm/min
G95进给速度的单位为mm/r
1.15G110、G111、G112极坐标(非模态指令)
G110、G111或G112X…Y…Z…
G110、G111或G112AP=…RP=…
利用极坐标进行运动编程
G0AP=…RP=…
G1AP=…RP=…
G2AP=…RP=…
G3AP=…RP=…
G110极坐标尺寸,参考上一点坐标的位置
G111极坐标尺寸,在工件坐标系中的绝对尺寸
G112极坐标尺寸,参考上一次设定的有效极点
AP=…极角,角度取值范围为0~360º
,角度参考垂直于工件平面的轴
RP=…极半径(单位可以为inch或mm)
N10G0G17G40G71G90G94
N20G111X43Y38;
极坐标
N30G0RP=30AP=18Z6
N40L1;
加工子程序
N50AP=IC(72)
N60L1
N70AP=IC(72)
N80L1
N90AP=IC(72)
N100L1
N110AP=IC(72)
N120L1
N130G0G53Z60M5
N140M30
1.16FRAME框架指令(非模态指令):
可编程零点偏置TRANSATRANS,可编程的旋转,ROT,AROT,可编程的比例因子,SCALE,ASCALE,可编程的镜像,MIRROR,AMIRROR
TRANS/ATRANS常常被用于对于在指定轴的方向上所有路径轴与位置轴的平移编程。
这个指令允许你用不同的零点操作,例如在工件的不同位置重复相同的加工过程。
如图要加工一个孔,而孔的圆心不在原点
这时候我们可以用TRANS指令
N20TRANSX15Y40;
零点偏移
N30G0X0Y0Z6M3;
(15,40)被偏移为原点(0,0)
N50G0Z6M5
N60TRANS;
取消零点偏移
N70M30
ATRANS为附加的零点偏移,即上面程序段中出现框
架指令(TRANS,ROT,SCALE,MIRROR)的一个,则用
ATRANS,表示在上个框架指令的基础上本指令继续
执行,同理AROT,ASCALE,AMIRROR用法也一样。
ROTRPL=…平面内选择
N10G0G17G40G71G90G94
N20TRANSX20Y10;
子程序调用
N40TRANSX55Y35;
N50AROTRPL=45;
坐标系旋转45°
角
N60L1;
N70TRANSX20Y40;
N80AROTRPL=60;
增量旋转60°
N90L1;
N100TRANS;
取消零点偏移和旋转指令
N110G0G53Z6M5M30
N120M30
空间旋转
N20TRANSX10Y10;
N40ATRANSX35;
附加零点偏移
N50AROTY30;
关于Y轴旋转
N60ATRANSX5;
N80TRANS;
N90M30
各轴旋转顺序如右图
区别:
ROTX-90Z45和ROTX-90AROTZ45的区别
ROTX-90Z45为坐标系绕X逆时针旋转90度,绕Z顺时针旋转45度。
注意此时绕的Z轴是机床的实际Z轴
ROTX-90AROTZ45为坐标系绕X逆时针旋转90度后绕Z顺时针旋转45度。
这里绕的Z轴为机床的实际Y轴,因为ROTX-90时
已经把Z轴转换为Y轴了
SCALE,ASCALE
N20TRANSX15Y15;
加工大型腔
N40TRANSX40Y20;
N50AROTRPL=35;
工件平面旋转35°
N60ASCALEX0.7Y0.7;
小型腔的比例因子
加工小型腔
N80G0Z6M5M30
N90ROT;
取消零点偏移、旋转比例缩放指令
N100M30
MIRROR,AMIRROR
加工第一个轮廓,右上角
N30MIRRORX0;
关于Y轴镜像,对于X轴方向相反
加工第二个轮廓,左上角
N50AMIRRORY0;
关于X轴镜像,对于Y轴方向相反
加工第三个轮廓,左下角
N70MIRRORY0;
N80L1;
加工第四个轮廓,右下角
N90MIRROR;
注销镜像
N100G0G53Z6M5
N110M30
1.17辅助功能和部分指令
辅助功能
M0程序停止
M1程序选择停止
M2程序结束
M3主轴正转
M4主轴反转
M5主轴停止
M72号切削液开
M81号切削液开
M9切削液关
M17子程序结束
M30程序结束
M41低速档
M42高速档
其他功能
GEOAX():
其格式如下:
GEOAX(N,CHANNEIAXIS,N,CHANNEIAXIS....)
N:
所需转换的轴号
CHANNEIAXIS:
通道轴
例:
GEOAX(1,XX,2,YY)
将通道XX转换为第一轴(X轴)
将通道YY转换为第二轴(Y轴)
SPOS=…主轴定位(度)
STOPRE预处理停止,等待上面指令全部执行完以后再执行下面指令,防止程序发生混乱
MCALL模态子程序调用
ABS绝对值
G1X…Y…CHF=…
轮廓角倒棱值=倒角的长度(由G70/G71确定测量单位)
G1X…Y…CHR=…
轮廓角倒棱。
在初始运动方向上的倒角编程。
值=运动方向中的倒角宽度(测量单位同上)
G1X…Y…RND=…
轮廓角倒圆,值=圆的半径(尺寸单位符合G70/G71)
G1X…Y…RNDM=…
模态倒圆:
以同样方法对几个连续轮廓角进行倒圆,值=圆的半径(尺寸单位符合G70/G71)
FRC=…倒角/倒圆的非模态进给率,值=进给率单位毫米/分钟(G94)或毫米/转(G95);
FRC>
0
FRCM=…倒角/倒圆的模态进给率,值=进给率单位毫米/分钟(G94)或毫米/转(G95)
1.18算术参数R与程序跳转GOTO
算术参数R
程序格式
Rn=……
参数说明
R:
算术参数
n:
算术参数号,n=0到最大。
最大数见机床数据或机床生产厂家的设置。
缺省设置:
最大为99。
注:
R参数号在机床数据中设置,或者见机床生产厂家的技术要求。
功能
使用算术参数,例如,如果NC程序不仅对于分配的值有效,或如果需要计算值,所需值在程序执行期间可由控制系统设置或计算,其它可能性包括通过操作设置算术参数值,如果值已分配给算术参数,那么它们也可分配给程序中别的NC地址。
这些地址值应该是可变的。
值的分配
你可在下列范围内把值分配给算术参数:
±
0.0000001~99999999
注意:
一个程序段内可以有若干个R参数或多个表达式的分配。
值的分配必须在1个独立的程序段中进行。
分配给别的地址
NC程序的灵活性在于利用算术参数把这些算术参数或表达式分配给别的NC地址。
值、表达式及算术参数可分配给所有(除了N、G、L之外)地址。
分配时,字符“=”写在地址字符后面,也可选用符号分配,分配给轴地址要求在独立的程序段。
例如:
N10G0X=R2;
分配给X轴
程序举例
1、R参数
N10R1=R1+1;
新的R1从旧的R1加1得出
N20R1=R2+R3R4=R5-R6R7=R8*R9R10=R11/R12
N30R13=SIN(25.3);
R13等于25.3度的正弦
N40R14=R1*R2+R3;
乘在加或减之前运算,R14=(R1*R2)+R3
N50R14=R3+R2*R1;
结果与程序段N40相同
N60R15=SQRT(R1*R1+R2*R2);
R15=R1*R1+R2*R2的平方根。
2、分配轴值
N10G1G91X=R1Z=R2F300
N20Z=R3
N30X=-R4
N40Z=-R5
……
无条件程序跳转
LABEL:
GOTOBLABEL
或GOTOFLABEL
GOTOB:
带向后跳转目的的“跳转指令”(向程序开头)
GOTOF:
带向前跳转目的的“跳转指令”(向程序结尾)
目的(程序内标号)
:
跳转目的;
冒号后面的跳转目的名
N10……
N20GOTOFMARKE_0;
向程序结尾MARKE_0
N30……
N40……
N50MARKE_1:
R1=R2+R3
N60……
N65GOTOFMARKE_2;
向程序结尾MARKE_2
N70……
N80……
N90MARKE_0:
N100……
N110GOTOBMARKE_1;
向程序开头MARKE_1
N115……
N120MARKE_2:
N130……
有条件程序跳转
LABEL:
IF算术表达式GOTOBLABEL
IF:
条件关键字
==:
等于
<
>
:
不等于
大于
小于
=:
大于或等于
小于或等于
字符串
跳转条件可以利用IF指令公式化,如果跳转条件满足,就可以执行跳转到编程跳转的目的点。
操作顺序
跳转条件可以利用任何对比或逻辑操作来编程(结果:
真或假)。
如果操作结果为真,那么程序跳转就可以执行。
若干有条件跳转就可以在执行同一个程序段内公式化。
跳转条件示例
IFR1>
R2GOTOFMARKE1;
如果R1大于R2,则跳转到MARKE1
IFR7<
=(R8+R9)*743GOTOBMARKE1;
作为条件的复合表达式
IFR10GOTOFMARKE1;
允许确定一个变量(INT,REAL,BOOL或CHAR)。
如果变量值为0(=假),条件就不能满足;
对于所有其它值,条件为真。
IFR1==0GOTOFMARKE1IFR1==1GOTOFMARKE2;
同意程序段中的几个条件。
N10R1=30R2=60R3=10R4=11R5=50R6=20;
初始值的分配
N20MA1:
G0X=R2*COS(R1)+R5Y=R2*SIN(R1)+R6;
计算并分配给轴地址
N30R1=R1+R3R4=R4-1;
变量确定
N40IFR4>
0GOTOBMA1;
向程序开头跳转
N50M30;
1.19子程序
什么是子程序
原理上,子程序的结构与零件程序相同。
基本上子程序与主程序没有什么区别,子程序包含将执行若干次的加工操作。
使用子程序
重复的加工操作在子程序中编程一次。
图示包括某些重复出现的轮廓形状及加工循环。
子程序可以调用并可在任何主程序中执行。
子程序结构
子程序的结构与主程序相同,唯一的区别是子程序用M17指令表示程序结束,这表示返回子程序调出的程序级。
允许在机床数据中表达程序结束M17(如可获得较好的运行时间。
)
利用RET表示程序结束
子程序也可以利用结束语句RET代替M17表示程序结束,RET必须在单独的程序段内编程。
当G64连续轨迹方式不能通过返
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 840 工厂 编程 实例