关键词:加工中心、编程、子程序、宏程序
前言:加工中心简称MC,是由机械设备与数控系统组成的适用于加工复杂零件的高效率自动化机床。加工程序编制质量,是决定加工质量和效率的重要因素。在本内容中,我们将重点研究影响加工中心应用效果的编程特点、工艺及工装、刀具功能等因素。
以下所述内容,均以配置西门子数控系统的TH125X125卧式加工中心为例展开讨论。
一.编程前主要考虑的问题:
1、工艺性分析
(1)选择加工内容
加工中心最适合加工形状复杂、工序较多、要求较高的零件,这类零件常需使用多种类型的通用机床、刀具和夹具,经多次装夹和调整才能完成加工。
(2)检查零件图样
零件图样应表达正确,标注齐全。同时要特别注意,图样上应尽量采用统一的设计基准,从而简化编程,保证零件的精度要求。
(3)分析零件的技术要求
根据零件在产品中的功能,分析各项几何精度和技术要求是否合理;考虑在加工中心上加工,能否保证其精度和技术要求;选择哪一种加工中心最为合理。
(4)审查零件的结构工艺性
分析零件的结构刚度是否足够,各加工部位的结构工艺性是否合理等。
2、工艺过程设计
工艺设计时,主要考虑精度和效率两个方面,一般遵循先面后孔、先基准后其它、先粗后精的原则。加工中心在一次装夹中,尽可能完成所有能够加工表面的加工。对位置精度要求较高的孔系加工,要特别注意安排孔的加工顺序,安排不当,就有可能将传动副的反向间隙带入,直接影响位置精度。
加工过程中,为了减少换刀次数,可采用刀具集中工序,即用同一把刀具把零件上相应的部位都加工完,再换第二把刀具继续加工。但是,对于精度要求很高的孔系,若零件是通过工作台回转确定相应的加工部位时,因存在重复定位误差,不能采取这种方法。
3、零件的装夹
(1)定位基准的选择
在加工中心加工时,零件的定位仍应遵循六点定位原则。同时, 还应特别注意以下几点:
1)进行多工位加工时,定位基准的选择应考虑能完成尽可能多的加 工内容,即便于各个表面都能被加工的定位方式。例如,对于箱 体零件,尽可能采用一面两销的组合定位方式。
2)当零件的定位基准与设计基准难以重合时,应认真分析装配图样, 明确该零件设计基准的设计功能,通过尺寸链的计算,严格规定定位基准与设计基准间的尺寸位置精度要求,确保加工精度。
3)编程原点与零件定位基准可以不重合,但两者之间必须要有确定的几何关系。编程原点的选择主要考虑便于编程和测量。
(2)夹具的选用
在加工中心上,夹具的任务不仅是装夹零件,而且要以定位基准为参考基准,确定零件的加工原点。因此,定位基准要准确可靠。
(3)零件的夹紧
在考虑夹紧方案时,应保证夹紧可靠,并尽量减少夹紧变形。
4、刀具的选择
加工中心对刀具的基本要求是:
1)良好的切削性能:能承受高速切削和强力切削并且性能稳定;
2)较高的精度:刀具的精度指刀具的形状精度和刀具与装卡装置的位置精度;
二.加工中心的优化程序-子程序功能、B类宏程序应用等内容。
加工中心所配置的数控系统各有不同,各种数控系统程序编制的内容和格式也不尽相同,但是程序编制方法和使用过程是基本相同的。对于外形相似,有一定加工规律的零件,通过优化加工程序,则能大大缩短编程时间,增加程序的灵活性和通用性,节省系统内存存储空间,操作者能够方便、安全、快捷的修改参数,大大提高生产效率。
(一).SIEMENS系统子程序应用
1.应用 % c8 j( G6 V! u5 u$ G3 d' a
原则上讲主程序和子程序之间并没有区别。 *
用子程序编写经常重复进行的加工,比如某一确定的轮廓形状。子程序位于主程序的一种型式就是加工循环,加工循环包含一般通用的加工工序,诸如螺纹切削等。通过给规定的计算参数赋值就可以实现各种具体的加工。 8 \# O" G2 Z9 w% R' r. L3 o#
2.结构 6 H9
子程序的结构与主程序的结构一样,在子程序中也式最后一个程序段中用M2结束子程序运行运行,子程序结束后返回主程序。
3.程序结束 & x
除了用M2指令外,还可以用RET指令结束子程序。 0 K0 U6 \6 m$ o; RET要求占用一个独立的程序段。
用RET指令结束子程序、返回主程序时不会中断G64连续路径运行方式,用M2指令则会中断G64运行方式,并进入停止状态。 W4 B# {-
4.子程序程序名 /
为了方便地选择某一子程序,必须给子程序取一个程序名。程序名可以自由选取,但必须符合以下规定:
- 开始两个符号必须时字母
- 其它符号为字母,数字或下划线 . p, t/ z0 n& @4 s8 }7 e: w
- 最多8个字符 ( ]* f# w, f1 E; G0 i! u
- 没有分隔符 : d, \, R; E2 F7 Q* g; D4 G* Q% J6 t
其方法与主程序中程序名的选取方法一样。 ' `7 I( W: [5 r& F F/ Z5.子程序调用 R: H) o" |' s' z' [
在一个程序中(主程序或子程序)可以直接用程序名调用子程序。子程序调用要求占用一个独立的程序段。
举例: 1 W1 x! N" k5 t0 j
N10 L785 P3 ;调用子程序L785% ^4 U) C. G/ H9 U4 Z- [1 W
N20 WELLE7 ;调用子程序WELLE7; P M8 P0 l. c0 H. n% T/ k
6.程序重复调用 & P* |0 w4 m( R3 W8 r, J' G! k
如果要求多次连续地执行某一子程序,则在编程时必须在所调用子程序的程序名后地址P下写入调用次数,最大次数可以为9999(P1...P9999) 8 R. Z( v, I( {* \6 L
举例:
N10 L785 P3 ;调用子程序L785 ,运行3次
7.嵌套深度
子程序不仅可以从主程序中调用,也可以从其它程序中调用,这个过程称为子程序的嵌套。子程序的嵌套深度可以为三层,也就是四级程序界面(包括主程序界面) 。 :
注释:在使用加工循环进行加工时,要注意加工循环程序也同样属于四级程序界面中的一级。 Z+ k: ~* s4 ]& m5 w" s% J
8.说明 8 C# w2 t2 T [' v; ~
在子程序中可以改变模态有效的G功能,比如G90到G91的变换.在返回调用程序时请注意检查一下所有模态有效的功能指令,并按照要求进行调整。 1 H3 z4 d: r0 \! U
对于R参数也需同样注意,不要无意识地用上级程序界面中所使用的计算参数来修改下级程序界面的计算参数。
(二).SIEMENS系统宏程序应用
计算参数R
1.功能
要使一个NC程序不仅仅适用于特定数值下的一次加工,或者必须要计算出数值, 两种情况均可以使用计算参数,你可以在程序运行时由控制器计算或设定所需要的数值。可以通过操作面板设定参数数值。如果参数已经赋值,则它们可以在程序中对由变量确定地址进行赋值
2.编程
SIEMENS系统宏程序应用的计算参数如下:
R0~R99----可自由使用;
R100~R249----加工循环传递参数(如程序中没有使用加工循环,这部分参数可自由使用);
R250~R299----加工循环内部计算参数(如程序中没有使用加工循环,这部分参数可自由使用)。
3.说明
一共250个计算参数可供使用。
R0...R99 - 可以自由使用
R100...R249 -加工循环传递参数
如果你没有用到加工循环,则这部分计算参数也同样可以自由使用。
4.赋值 ; R& _' q2 [+ l, i8 U
举例一:
R0=3.5678 R1=-37.3 R2=2 R3=-7 R4=-45678.1234
用指数表示法可以赋值更大的数值范围: $ l E+ ~* \. L( S- ]\
(10-300...10+300).
指数值写在EX符号之后;最大符号数:10(包括符号和小数点).
EX值范围:-300到+300
举例二: 1 ], w( x) l7 |3 `: w9 V- _! e
R0=-0.1EX-5 ;意义:R0=-0.000 0001
R1=1.874EX8 ;意义:R1=187 400 0009 S( c Z* G4 M% B; P, t2 }注释:一个程序段中可以有多个赋值语句;也可以用计算表达式赋值。
5.给其他的地址赋值
通过给其它的NC地址分配计算参数或参数表达式,可以增加NC程序的通用性。可以用数值、算术表达式或R参数对任意NC地址赋值。但对地址N、G和L例外。 " Z; X; W* D/ L6 K$ @$ C( d* V# `
赋值时在地址符之后写入符号“=” / ]0 H- [+ l b" W+ p: _) 赋值语句也可以赋值-负号。
给坐标轴地址(运行指令)赋值时,要求有一独立的程序段。
举例:
N10 G0 X=R2 ;给X轴赋值 + u Z+ H" }/ K
6.参数的计算 8 S& P8 K- B$ b& x
在计算参数时也遵循通常的数学运算规则。原括号内的运算优先进行。另外,乘法和除法运算优先于加法和减法运算。
1)标记符用于标记程序中所跳转的目标程序段,用跳转功能可以实现程序运行分支。
2)标记符可以自由选取,但必须由2一个字母或数字组成,其中开始两个符号必须是字
母或下划线。
3)跳转目标程序段中标记符后面必须为冒号。标记符位于程序段段首。如果程序段有段
号,则标记符紧跟着段号。 [5 w8 n7 t* I
4)在一个程序段中,标记符不能含有其它意义。 ( M5 c% Q8 V- @:
程序举例 - A0 Y' Z/ W% B y5 e; H+ B
N10 MARKE1:G1 X20 ;MARKE1为标记符,跳转目标程序段
...7 T9 S. j) P! ~: R4 J
TR789:G0 X10 Z20 ;TR789为标记符,跳转目标程序段没有段号 ( 绝对跳转"
1.功能
NC程序在运行时以写入时的顺序执行程序段。
程序在运行时可以通过插入程序跳转指令改变执行顺序。 ; l& O* 跳转目标只能是有标记符的程序段。此程序段必须位于该程序之内。绝对跳转指令必须占用一个独立的程序段。
2.编程
GOTOF Lable ;先前跳转
GOTOB Lable ;向后跳转
AWL 说明 *
GOTOF 向前跳转(向程序结束的方向跳转)
GOTOB 向后跳转(向程序开始的方向跳转)
Lable 所选的标记符
有条件跳转)
1.功能
用IF-条件语句表示有条件跳转.如果满足跳转条件,则进行跳转.
跳转目标只能是有标记符的程序段.该程序段必须在此程序之内.
有条件跳转指令要求一个独立的程序段.在一个程序段中可以有许多个条件跳转指令..使用了条件跳转后有时会使程序得到明显的简化.
2.编程
IF条件GOTOF Lable ;先前跳转
IF条件GOTOB Lable ;向后跳转
用上述比较运算表示跳转条件,计算表达式也可用于比较运算.
比较运算的结果有两种,一种为“满足”,另一种为“不满足”。 “不满足”时,该运算结果值为零。
4.比较运算编程举例
R1>1 ;R1大于1
1<R1 ;1小于R1
R1<R2+R3 ;R1小于R2加R3
R6>=SIN(R7*R7) ;R6大于或等于SIN(R7)23 R$ @& s" D5 T; _)
应用举例
用数控机床加工椭圆型零件时,用普通的编程方法肯定是行不通的,下段就通过运用参数给角度赋值,达到加工椭圆的典型宏程序事例。
1.椭圆宏程序代码如下:
R1=35
R2=15
R3=0
G0 X=R1+R10 Y=R11
G1 Z-5 F100
AAA:
R4=R1*COS(R3)+R10
R5=R2*SIN(R3)+R11
G1 X=R4 Y=R5 F100
R3=R3+1
IF R3<=360 GOTOB AAA
G0 Z5
M30
如图所示零件:
MPF100;主程序部分
G54G90G17G64
S1200M3D1
G0Z100
G58X50Y50
R10=20
R11=8
R20=3.1
R21=R11/2
L30
G58X100Y50
R10=8
R11=20
R20=R10/2
R21=3.1
L30
G58X150Y50
R10=25
R11=8
R20=3.1
R21=R11/2
L30
…
…
G58X0Y0
G0Z200
M30
子程序部分L30
G90G17G64
G0Z100
G0 X=R30 Y=R31
Z10
G1 Z0 F1000
L31 P=30
G1 X0 Y0
Z-8
L32
G1 X0 Y0
Y-16
L32
G1 X0 Y0
G1 Z10
G0 Z100
M17
L31;子程序部分
R12=R10/2
R13=R11/2
G91
R14=R12-R20
R15=R13-R21
R30=2*R14
R31=2*R15
G1 X=R30 Y=-R31 Z=-0.5 F300
G1 X=-R30 Y=R31
G90
M17
L32;子程序部分
G1 G41 X=R12 F300
Y=R13
X=-R12
Y=-R13
X=R12
Y0.4
G40 X0
M17
在手工编程中,充分运用R参数,不仅能使程序简单方便,提高加工效率,而且便于修改,占用空间极少。通过R20和R21赋不同的值,使子程序中“G1 X=R30 Y=-R31 Z=-0.5 F300;G1X=-R30 Y=R31”的轨迹实际是平行于槽长度方向的往复直线,采用斜线下刀。
结论:通过以上势力不难看出,参数编程有其巨大的优势,在生产中充分发挥参数编程的优势,对提高数控机床加工效率具有重要意义。
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com