一、数控机床编程步骤
数控机床程序编制又称数控编程,是指编程者根据零件图样和工艺文件的要求。以下是数控机床编程步骤,可以进行参考:
1、分析零件图样和工艺要求
分析零件图样和工艺要求的目的,是为了确定加工方法、制定加工计划,以及确认与生产组织有关的问题,此步骤的内容包括:
1)确定该零件应安排在哪类或哪台机床上进行加工。
2)采用何种装夹具或何种装卡位方法。
3)确定采用何种刀具或采用多少把刀进行加工。
4)确定加工路线,即选择对刀点、程序起点(又称加工起点,加工起点常与对刀点重合)、走刀路线、程序终点(程序终点常与程序起点重合)。
5)确定切削深度和宽度、进给速度、主轴转速等切削参数。
6)确定加工过程中是否需要提供冷却液、是否需要换刀、何时换刀等。
2、数值计算
根据零件图样几何尺寸,计算零件轮廓数据,或根据零件图样和走刀路线,计算刀具中心(或刀尖)运行轨迹数据。数值计算的最终目的是为了获得编程所需要的所有相关位置坐标数据。
3、编写加工程序单
在完成上述两个步骤之后,即可根据已确定的加工方案(或计划)及数值计算获得的数据,按照数控系统要求的程序格式和代码格式编写加工程序等。编程者除应了解所用数控机床及系统的功能、熟悉程序指令外,还应具备与机械加工有关的工艺知识,才能编制出正确、实用的加工程序。
4、制作控制介质,输入程序信息
程序单完成后,编程者或机床操作者可以通过CNC机床的操作面板,在EDIT方式下直接将程序信息键入CNC系统程序存储器中;也可以根据CNC系统输入、输出装置的不同,先将程序单的程序制作成或转移至某种控制介质上。控制介质大多采用穿孔带,也可以是磁带、磁盘等信息载体,利用穿孔带阅读机或磁带机、磁盘驱动器等输入(输出)装置,可将控制介质上的程序信息输入到CNC系统程序存储器中。
5、程序检验
编制好的程序,在正式用于生产加工前,必须进行程序运行检查。在某些情况下,还需做零件试加工检查。根据检查结果,对程序进行修改和调整,检查修改再检查再修改……这往往要经过多次反复,直到获得完全满足加工要求的程序为止。
上述编程步骤中的各项工作,主要由人工完成,这样的编程方式称为“手式编程”。在各机械制造行业中,均有大量仅由直线、圆弧等几何元素构成的形状并不复杂的零件需要加工。这些零件的数值计算较为简单,程序段数不多,程序检验也容易实现,因而可采用手工编程方式完成编程工作。由于手工编程不需要特别配置专门的编程设备,不同文化程度的人均可掌握和运用,因此在国内外,手工编程仍然是一种运用十分普遍的编程方法。
6、自动编程
在航空、船舶、兵器、汽车、模具等制造业中,经常会有一些具有复杂形面的零件需要加工,有的零件形状虽不复杂,但加工程序很长。这些零件的数值计算、程序编写、程序校验相当复杂繁琐,工作量很大,采用手工编程是难以完成的。此时,应采用装有编程系统软件的计算机或专用编程机珲完成这些零件的编程工作。数控机床的程序编制由计算机完成的过程,称为自动编程。
在进行自动编程时,程序员所要做的工作是根据图样和工艺要求,使用规定的编程语言,编写零件加工源程序,并将其输入编程机,编程机自动对输入的信息进行处理,即可以自动计算刀具中心运动轨迹、自动编辑零件加工程序并自动制作穿孔带等。由于编程机多带有显示器,可自动绘出零件图形和刀具运动轨迹,程序员可检查程序是否正确,必要时可及时修改。采用自动编程方式可极大地减少编程者的工作量,大大提高编程效率,而且可以解决用手工编程无法解决的复杂零件的编程难题。
二、数控机床编程指令代码大全
1、数控程序中字母的含义
O:程序号,设定程序号
N:程序段号,设定程序顺序号
G:准备功能
X/Y/Z:尺寸字符,轴移动指令
A/B/C/U/V/W:附加轴移动指令
R:圆弧半径
I/J/K:圆弧中心坐标(矢量)
F:进给,设定进给量
S:主轴转速,设定主轴转速
T:刀具功能,设定刀具号
M:辅助功能,开/关控制功能
H/D:刀具偏置号,设定刀具偏置号
P/X:延时,设定延时时间
P:程序号指令,设定子程序号(如子程序调用:M98P1000)
L:重复,设定子程序或固定循环重复次数(如:M98 P1000 L2,省略L代表L1)
P/W/R/Q:参数,固定循环使用的参数(如:攻牙G98/(G99)G84 X_Y_R_Z_P_F_)
2、常用G代码解释
G00:定位或快速移动
G01:直线插补
G02:圆弧插补/螺旋线插补CW
G03:圆弧插补/螺旋线插补CCW
G04:停留时间或延时时间
G09:准确停止或精确停止检查(检查是否在目标范围内)
G10:可编程数据输入
G17:选择XPYP 平面 XP:X轴或其平行轴
G18:选择ZPXP 平面 YP:Y轴或其平行轴
G19:选择YPZP 平面 ZP:Z轴或其平行轴
G20:英寸输入
G21:毫米输入
G28:返回参考点检测
G29:从参考点返回
G30:返回第2,3,4参考点
G40:刀具半径补偿取消
G41:左侧刀具半径补偿(沿进给方向刀具在左边)
G42:右侧刀具半径补偿(沿进给方向刀具在右边)
G43:刀具长度补偿 方向
G44:刀具长度补偿-方向
G49:取消刀具长度补偿
G50:取消比例缩放
G51:比例缩放
G52:设定局部坐标系
G53:选择机床坐标系
G54-G59:选择工件坐标系1-6
G60:单方向定位,消除传动间隙(代替G00),过目标位置后然后回头至目标位置
G61:准停检查方式,切削进给接近目标位置时减速并检查位置公差范围
G62:自动拐角倍率
G63:攻牙方式
G64:正常切削方式,切削进给接近目标位置时不减速,以及切削段与段之间不减速
G65:宏程序调用
G66:宏程序模态调用
G67:宏程序模态调用取消
G68:坐标旋转,格式:
G17:G68X_Y_R_
G18:G68X_Z_R_
G19:G68Y_Z_R_
G69:坐标旋转取消
G73:多级钻削循环
G74:攻左旋螺纹循环
G76:精镗循环(定向偏心退刀)
G80:取消固定循环
G81:单级钻削循环
G82:单级钻削循环(实现孔底停留或延时)
G83:多级钻削循环
G84:攻右旋螺纹
G85:镗削循环
G86:镗削循环
G87:反镗循环
G88:镗削循环
G89:镗削循环
G90:绝对指令
G91:相对指令
G92:设定工件坐标系
G98:固定循环后退时退回起点
G99:固定循环后退时退回点(R点在固定循环中设定)
3、常用M代码解释
M00:程序无条件停止
M01:程序条件停止
M02:程序结束
M03:主轴正转
M04:主轴反转
M05:主轴停止
M08:开外冷
M09:关所有冷却
M26:开内冷
M30:程序结束并返回到程序开头
M84:检查托盘1
M95:检查托盘2
M98:调用子程序
M99:返回主程序
M135:刚性攻牙
M417:机床托盘1检查
M418:机床托盘2检查
M419:机床托盘检查结束
M433:刀具断刀检测
M462:托盘号传送
4、常用算术
加法:#i=#j #k
减法:#i=#j-#k
乘法:#i=#j*#k
除法:#i=#j/#k
正弦:#i=SIN[#j]
反正弦:#i=ASIN[#j]
余弦:#i=COS[#j]
反余弦:#i=ACOS[#j]
正切:#i=TAN[#j]
反正切:#i=ATAN[#j]
平方根:#i=SQRT[#j]
绝对值:#i=ABS[#j]
舍入:#i=ROUND[#j]
上取整:#i=FIX[#j]
下取整:#i=FUP[#j]
自然对数:#i=LN[#j]
指数函数:#i=EXP[#j]
或:#i=#jOR#k
异或:#i=#jXOR#k
与:#i=#AND#k
从BCD转为BIN:#i=BIN[#j]
从BIN转为BCD:#i=BCD[#j]
5、逻辑运算符
EQ:等于
NE:不等于
GT:大于
GE:大于等于
LE:小于等于
LT:小于
6、程序转移和循环
无条件转移:GOTO
条件转移:IF [条件表达式]
IF [条件表达式] GOTO n,如果条件满足,则跳转至程序段n
IF [条件表达式] THEN,如:IF [#I=#J] THEN #K=0
7、循环语句
WHILE[条件表达式]Dom(m=1,2,,3)
…
ENDm
如果条件满足则执行Dom至ENDm之间的程序(直到条件不满足),否则转而执行ENDm后面的程序