1.指令格式
数控编程时,必须先了解程序的结构、句法和编程规则等有关规定,才能正确编写数控加工程序。
(1)程序的结构与格式 一个完整的程序由程序号、程序的内容和程序结束三部分组成。
1)程序号。为了区别存储器中的程序,每个程序都要有程序编号。一般以规定的英文字母(多用O、P)开头,后面跟若干位数字组成。有些系统的程序号由英文字母、数字或英文、数字混合组成。
2)程序内容。程序内容部分是整个程序的核心,它由许多程序段组成,每个程序段由一个或多个指令构成,它表示数控机床要完成的全部动作。
3)程序结束。程序结束是以程序结束指令M02或M30作为整个程序结束的符号,来结束整个程序。
(2)程序段格式 程序段格式是指程序段中的字、字符和数据的安排形式。目前,通常使用地址符的可变程序段格式,又称字地址格式。对这种格式,每个程序段有若干程序字组成,而程序字通常是由英文字母表示的地址符和地址符后面的数字及符号组成,字的功能类别由地址符决定。
程序段格式如下:
N— G— X— Y— Z— 其他坐标—
顺序号准备功能运动轨迹的坐标尺寸
F— S— T— M— LF
进给功能主轴功能刀具功能辅助功能结束符号
在程序段的顺序号之前,还可输入斜线符“/”。当机床控制面板上的程序跳步功能有效时,有该符号的程序段在程序的执行过程中会被跳过不执行。有些系统在程序段的后面还可加上注释,如:G00 X100 Y200 (POCKET) LF(括号中的内容为注释)。
字地址格式的特点:
1)程序段中字的前后排列顺序并不严格,但为了编辑、修改程序的方便,最好按上面的格式顺序书写。
2)没有必要的功能字可以省去。
3)有一些功能字属模态指令,所谓模态指令是指一经使用一直有效,直到被同组的其他代码取代为止。所以,由前面程序段指定的某些G功能或F、S、T、M功能,若本程序段仍然有效,则可以省略。
4)坐标尺寸字中可只写有效数字,省略前置零。
正是由于字地址格式具有上述特点,所以在一个程序中各个程序段的长度是可变的,故被称为可变程序段格式。
(3)程序字说明 程序字是组成程序的最基本单元,它是由地址字符和数字字符组成。地址字符的含义见表5-1。
表5-1 地址字符
1)顺序号字。又称程序段号,位于程序段之首,用地址符N和后面的若干位数字(常用2~4位)来表示。一般都将第一程序段冠以N10,后面以10为间隔设置,这主要是便于调试时插入新的程序段,如在N10和N20之间可插入N11~N19。顺序号的作用主要是便于程序的校对和检索修改,还可用于程序转移。
需要注意的是程序的执行顺序和程序输入的顺序有关,而与顺序号的大小无关。所以,整个程序中也可以全不设顺序号,或只在需要的部分设置。
2)准备功能字。地址符是G,故又称G功能或G指令,是使数控机床准备好某种运动方式的指令。G代码由地址G及其后的两位数字组成,从G00~G99共100种,有些系统的G代码已使用三位数。G指令在使用中有以下一些特点:
①G指令根据功能定义分成若干个组,同一程序段中同组G指令只能使用一个,若指定两个以上时,则只有最后一个有效。
②G指令分模态指令和非模态指令两种。模态指令是指一经使用一直有效,直到被同组的其他代码取代为止;非模态指令只在本程序段中有效。
③G代码中前置“0”允许省略,如G1就表示G01。
我国根据ISO 1056—1975(E)制定的JB/T 3208—1999标准中,规定了G代码的功能定义,但世界上的数控系统生产厂家,为了体现本身系统的特点,常不按照国际标准进行功能定义,造成G功能含义的差别。因此,今后在具体使用时,必须根据机床说明书的规定进行编程。表5-2为JB/T 3208—1999标准与几种国外数控系统的G功能含义对照表。
表5-2 G功能字含义对照表
(续)
(续)
3)坐标尺寸字。尺寸字给定机床在各种坐标轴上的移动方向和位移量,由尺寸地址符和带正、负号的数字组成。尺寸地址符较多,有X、Y、Z、U、V、W、P、Q、R表示直线坐标;A、B、C表示角度坐标;I、J、K表示圆心坐标;R还可指定圆弧半径(参见表4-1)。
坐标尺寸可以通过G指令选择米制或英制。采用米制时,坐标尺寸的最小单位一般为0.001mm或0.01mm;采用英制时,坐标尺寸的最小单位一般为0.0001in或0.001in。
4)进给功能字。由地址符F和若干位数字组成,故又称F功能或F指令。它的功能是指定切削的进给速度。具体的进给速度由F后的数字给出。进给速度的单位有每转进给(mm/r)和每分钟进给(mm/min)两种,一般通过G95、G94指令来选择。通常加工中心、数控铣床使用每分钟进给;数控车床使用每转进给,数控车床中F还可用来指定螺纹导程。
5)主轴转速功能字。由地址码S和若干位数字组成,故又称S功能或S指令,后面的数字直接指定主轴的转速,单位为r/min。例如:S600——表示主轴转速为600r/min。
对于数控车床来讲,S后面的数字还可指定切削线速度,单位为m/min。用G96、G97来选择是指定每分钟转速还是线速度。线速度和转速之间的关系为
vc =πDn/1000
式中 D——切削部位的直径(mm);
vc——切削线速度(m/min);
n——主轴转速(r/min)。
当选择线速度后,加工中切削线速度就会保持恒定,而主轴转速会随着切削直径的变化而不断变化。
6)刀具功能字。由地址符T和若干位数字组成,故又称T功能或T指令,主要用来指定加工所用的刀具,还可指定刀具数据补偿号。
数控车床的刀具功能常用2位或4位,前面1位或2位表示刀具号,后面1位或2位表示刀补号。例如:
为了记忆方便刀具补偿号应尽量与刀具号统一,同时不采用0号刀具和0号刀补,假如刀补号为0,则表示取消刀补。
加工中心中,少数系统的刀具功能和车床一样既表示刀具号又表示刀补号;多数系统的刀具功能只表示刀具号,而刀补号由地址符D或H指定。
7)辅助功能字。又称M功能,主要用于数控机床开关量的控制,是表示一些机床辅助动作的指令。用地址码M和后面的两位数字表示,M00~M99共100种,有些系统的M功能已使用三位数。与G指令一样,M指令在实际使用中的标准化程度也不高。现将我国根据ISO 1056—1975(E)制定的行业标准JB/T 3208—1999中M指令的含义与几种国外数控系统中实际使用的M指令含义进行对照,见表5-3。
表5-3 M功能字含义对照表
(续)
(续)
从表中可以看到,除M00~M05及M30的含义一致外,其他的M指令都有些区别。因此,今后在具体使用时,必须根据机床说明书的规定进行编程。
8)程序段结束。写在每一程序段之后,表示程序段结束。当用EIA标准代码时,结束符为“CR”,用ISO标准代码时为“NL”或“LF”。有的用符号“;”、“∗”、“#”表示。
2.编程规则
(1)绝对值编程和增量值编程 数控机床编程时,可采用绝对值编程、增量值编程或两者混合编程。如图5-16所示,采用上述三种方法编程如下:
1)绝对值编程。
……
N40 G01 X25 Y15 F60;
N50 G01 X40 Y35;
……
2)增量值编程。
……
N40 G01 U25 V15 F60;
N50 G01 U15 V20;
……
图5-16 混合编程实例
3)混合编程。
……
N40 G01 X25 Y15 F60;
N50 G01 X40 V20;
……
(2)小数点编程 数控编程时,可以使用小数点编程,也可使用脉冲数编程。
例如:X50.0或X50.——表示X坐标50mm
X0.01或X.01——表示X坐标0.01mm
假如不写小数点,就表示用脉冲数编程,例如当脉冲当量为0.001mm时:
X50——表示X坐标0.05mm
当系统设定为不使用脉冲数编程时:
X50或X50.——都表示X坐标50mm
X.001——表示X坐标0.001mm
(3)自保持功能 大多数G代码和M代码都具有自保持功能,除非是它们被取代或取消,否则一直保持有效。另外,当X、Y、Z、F、S、T字的内容不不变时,下一程序段会自动接收此内容,因此也可省略不写,见表5-4。
表5-4 自保持功能程序段
表5-4中有★的指令内容和上一程序段相同,因其具有自保持功能,所以,以上程序段可简写成表5-5。
表5-5 简写程序段
(4)指令的取消和替代 G代码和M代码可分成各种不同的组,同组中的指令,后输入的指令代码取消前面的指令。例如:
N10程序中的G00被N20程序中的G01替代了,M03被N30程序中的M05取消。
3.准备功能指令
(1)有关坐标系的指令
1)坐标系设定指令——G92(在EIA代码中为G50)。该指令的作用是按照程序规定的尺寸字设置或修改坐标位置,不产生机床运动(图5-17)。通过该指令设定起刀点,即程序开始运动的起点,从而建立加工坐标系。应该注意的是,该指令只是设定坐标系,机床(刀具或工作台)并未产生任何运动。
图5-17 设置加工坐标系
程序格式为:G92/G50X~Y~Z~
式中,X、Y、Z是指起刀点相对于加工原点的位置。
假如,在图5-17a中,若加工坐标系如图设置,加工坐标系原点在O,刀具起刀点在A点,则设定该加工坐标系的程序段为:G92/G50 X20 Y30。
应该注意的是,用这种方式设置的加工原点是随刀具起始点位置的变化而变化,这一点在重复加工中应予注意。
若仍以图5-17a为例,当刀具起刀点在B点,要建立图示的加工坐标系时,则设定该加工坐标系的程序段为:G92/G50 X10 Y10。
这时,若仍用程序段G92/G50 X20 Y30。来设置坐标系,则所设置的加工坐标系如图5-17b所示。
2)坐标偏置——G54、G55、G56、G57、G58、G59 这些指令可以分别用来选择相应的工件坐标系,这六个工件坐标系是通过CRT/MDI方式设定的。
程序格式:G54/G55/G56/G57/G58/G59
G92和G54~G59指令都用于设定工件坐标系,但它们在使用中是有区别的。G92指令是通过程序来设定工件坐标系的;坐标原点的位置随当前刀具位置的不同而改变;理论上没有机床坐标系也能建立工件坐标系;加工完成后刀具必须可以返回原起始位置为程序的再次执行作准备。G54是通过CRT/MDI方式设定工件坐标系的;必须先有机床坐标系才能偏置建立工件坐标系;坐标系的建立与当前刀具位置无关;加工完成后刀具可以返回到任意位置。(www.daowen.com)
3)选择机床坐标系——G53 该指令用于取消坐标偏置(G54~G59),指定机床坐标系。
程序格式:G53
例如加工程序中出现下述程序段:
G53 G90 G00 X-100 Y-100 Z-100;
执行程序后,刀具快速定位到机床坐标系的X-100 Y-100 Z-100位置。
4)绝对尺寸与增量尺寸指令——G90、G91。ISO代码中,绝对尺寸指令用G90指定,增量尺寸指令用G91指定,这是一对模态指令。
有些数控系统则不用G指令作规定,而直接用地址符来区分是绝对尺寸还是增量尺寸。例如,在FANUC系统中,绝对尺寸字地址用X、Y、Z表示,增量尺寸字地址用U、V、W表示。而且,在同一程序段中,绝对尺寸与增量尺寸可以混用,实现混合编程。
5)坐标平面选择指令——G17、G18、G19。坐标平面选择指令是用来选择圆弧插补平面和刀具补偿平面。
对于数控铣床、加工中心等三坐标机床,有三个加工平面,即XY平面、XZ平面和YZ平面。常用这些指令指定机床在哪个平面内进行圆弧插补加工和加工补偿。G17、G18、G19分别指定机床在XY平面、XZ平面和YZ平面内的加工,不指定时,默认加工平面为XY平面。由于数控铣床、加工中心(不管立式、卧式)通常在XY平面内进行加工,故G17可以省略。只有要在其他两个平面上加工时,才会使用坐标平面选择指令。
对于数控车床总是在XZ平面内加工,故一般数控车床不需要选择坐标平面。
移动指令与平面选择无关,例如G17Z~;这条指令可使机床在Z轴方向上产生移动。
(2)快速定位及插补指令
1)快速点定位指令——G00。G00指令要求刀具以点定位控制方式从刀具所在位置用最快的速度移动到目标点位置,实现点定位。
程序格式为:G00 X~ Y~ Z~
其中,X、Y、Z为目标点坐标。
不运动的坐标可以省略,在省略坐标的方向不作任何运动。
G00的速度不能用程序指定,指定F进给速度对G00程序段无效。具体的G00速度可通过机床参数设定或机床面板上的开关调节。
G00的运动轨迹不一定是直线,通常是折线。假定三个坐标方向都有位移量,则开始时三个坐标轴同时快速运动,哪一个坐标方向先到,就先停止,余下两个坐标轴继续移动,当又有一轴完成位移后,只剩下最后一个轴移动,直至到达终点。忽略这一点,就容易发生碰撞,而且在快速状态下的碰撞又相当危险。
2)直线插补指令——G01。G01指令用于产生按指定进给速度的直线运动。
程序格式为:G01 X~ Y~ Z~ F~
其中,X、Y、Z为坐标直线终点。
G01的运动轨迹肯定是直线。
G01的进给速度由程序段中的F指定,对数控车床来讲进给速度的常用单位为mm/r,而数控铣床的常用单位为mm/min。
3)圆弧插补指令——G02、G03。G02/G03指令用于加工平面圆弧,G02为顺时针方向圆弧插补,G03为逆时针方向圆弧插补,这对各类数控系统都是一样的。
圆弧顺、逆方向的判别方法是:从垂直于圆弧平面内的坐标轴的正方向向负方向看去,顺时针方向为G02,逆时针方向为G03,如图5-18所示。
图5-18 圆弧顺逆方向的判别
XY平面加工圆弧时程序格式为:G02/G03 X~ Y~ I~ J~ F~
G02/G03 X~ Y~ R~ F~
其中,X、Y为指定圆弧终点的坐标;I、J为指定圆弧的圆心位置;R为指定圆弧的半径。
多数数控系统的圆心坐标I、J、K在任何情况下都是圆心相对于圆弧起点的增量坐标。I、J、K分别对应于X、Y、Z,并有正负号。
也有些数控系统规定,在绝对状态下,圆心坐标I、J、K是圆心在编程坐标系中的绝对坐标值,在增量状态下,圆心坐标I、J、K才是圆心相对于圆弧起点的增量坐标值。
在数控车床上,X方向的圆心坐标I通常是指半径值,也有些数控系统是指直径值。
采用半径R编程时,从起始点到终点存在两条圆弧线段,它们的编程参数完全一样,如图5-19所示,图中两条顺时针方向圆弧,不但起始点、终点坐标一致,而且圆弧半径相等。为了区分这两种情况,用参数R编程时规定:当圆弧小于等于180°时,如图中n段圆弧,半径值R为正;当圆弧大于180°时,如图中m段圆弧,半径值R为负。一般数控车床上的圆弧不会超过180°。
还应注意用半径R编程时,不能描述整圆。因为这时有无穷个圆符合要求,只能用指定圆心坐标I、J、K的方式编程。
图5-19 用R编程时两条 圆弧线的处理
对数控铣床、加工中心等三坐标机床,通常在默认的XY平面内加工直线和圆弧,此时G17指令可省略,如果在其他平面内加工直线和圆弧,则应在G02、G03指令前加上相应的平面设定指令;数控车床只有一个XZ平面,所以不需要平面设定指令。
(3)刀具补偿指令
1)刀具半径补偿指令——G40、G41、G42。在轮廓加工过程中,由于刀具总有一定的半径,因此,刀具中心的运动轨迹不等于加工零件的实际轮廓。如图5-20a所示,在进行外轮廓加工时,在图样上已标注出各外形尺寸P1~P6,如果按图样尺寸编程,也就是铣刀中心轨迹,加工后的工件的各部分尺寸减少了一个铣刀半径,工件就报废了(图5-20a中虚线位置)。当然可以将各点尺寸均加上一个铣刀半径,再按P1′~P6′尺寸编程,也可加工出正确形状,但计算非常麻烦,并容易出错,而且,一旦铣刀半径改变或磨损,则原来P′1~P6′的计算数值和编写的程序就全部作废。为此,数控机床一般都具有刀具半径自动补偿功能。
图5-20 刀具半径补偿
有刀具半径补偿功能的机床,在编程时只需按零件的轮廓编程,并在机床的刀具参数页面中输入有关刀具半径值,在加工外轮廓时,用相应的刀具补偿指令,CNC系统会控制刀具中心向工件外轮廓偏移一个刀具半径值(图5-20b)。在加工内轮廓时,CNC系统会控制刀具中心向工件内轮廓偏移一个刀具半径值(图5-20c)。这样,就避免了计算,而且,一旦铣刀半径改变,只要改变机床刀具参数中的刀具半径值就可以了,程序不需作任何修改。
图5-21 左偏刀具半径补偿
从图5-20b、c能看出,一样走P1~P6的编程轨迹,补偿的方向有两个,所以补偿指令有:
G41——刀具半径左补偿。
G42——刀具半径右补偿。
G40——刀具半径补偿撤消。
左刀补、右刀补的判别方法是:沿着刀具的运动方向向前看(假设工件不动),刀具位于编程轨迹左侧的为左刀补;刀具位于编程轨迹右侧的为右刀补,如图5-21、图5-22所示。
所以,加工图5-20b所示的外轮廓时,如刀具路径为P1~P6时,为左刀补;
图5-22 右偏刀具半径补偿
反之,刀具路径为P6~P1时,为右刀补。加工图5-20c所示的内轮廓时,如刀具路径为P1~P6时,为右刀补;反之,刀具路径为P6~P1时,为左刀补。这也说明了,左刀补、右刀补和加工内、外轮廓无关。而且,整个加工过程中,补偿方向不会改变。
程序段格式:
建立刀补程序段格式:G01/G00 G41/G42 X~ Y~ D~ F~
撤消刀补程序段格式:G01/G00 G40 X~ Y~ F~
其中,X、Y为建立/撤消刀补直线段的终点坐标;D为指定刀具半径补偿值所在的存储地址。
刀具半径补偿的过程分为三步:
①刀补的建立。刀补的建立是使刀具从无刀具半径补偿运动到所希望的刀具半径补偿开始点。应在走G00/G01线段的时候建立刀补。如图5-23所示,OA段为建立刀补段,程序为:
G41 G01 X50 Y40 F100 D01;
或G41 G00 X50 Y40 D01;
编程轨迹为OA,实际运动轨迹为OB,则建立了刀补。
②刀补进行。在G41、G42程序段后,刀具中心始终与编程轨迹相距一个偏移量,直至刀补取消。
③刀补的撤消。最后一段刀补轨迹加工完成后,必须撤消刀具半径补偿,使刀具中心轨迹过渡到和编程轨迹重合。和建立刀补一样,应在走G00/G01线段的时候撤消刀补。如图5-23所示,撤消刀补的程序段为:
G40 G01 X0 Y0 F100;
或G40 G00 X0 Y0;
编程轨迹为AO,实际运动轨迹为CO,则撤消了刀补。
几点说明:
a.补偿是平面的,通常在XY平面。
b.补偿状态中不得改变补偿平面。
c.撤消刀具半径补偿的终点应放在刀具切出工件以后,避免发生碰撞。
d.建立/撤消刀补时,移动指令只能是G00/G01,不能用G02/G03;而且程序段中应指定偏置平面内不为0的任意一轴的移动。
e.程序中若指定了D00,则就取消了刀补。
f.注意刀具半径补偿引起的过切。如图5-24所示,因刀具半径大于工件内轮廓转角半径而引起过切,但如果转角处没有圆弧或圆弧半径大于刀具半径,则不会引起过切。图5-25所示为因台阶高度小于铣刀半径引起过切。加工内轮廓时不要在“角”上建立和撤消刀补,否则产生过切。图5-26a为过切,图5-26b为合理的方法。
图5-23 刀具半径补偿的过程
图5-24 加工内轮廓转角
图5-25 产生工件轮廓损伤
图5-26 对过切的处理示意图
g.若D代码中存放的偏移量为负值,那么G41和G42指令将相互取代。因此,可用同一程序加工出凹凸两模。
h.常用刀具半径补偿功能实现对零件轮廓的粗、精加工。如图5-27所示,当按零件轮廓编程以后,在粗加工零件时我们可以把偏移量设为R+Δ,其中R为铣刀半径,Δ为精加工余量,那么零件被加工完成以后将得到一个比零件轮廓ABCDEF各边都大Δ的零件A′B′C′D′E′F′。在精加工时,再把偏移量设为R即可。
2)刀具长度补偿指令——G43、G44、G49。刀具长度补偿指令一般用于刀具轴向(Z方向)的补偿,它使刀具在Z方向上的实际位移量比程序给定值增加或减少一个偏移量,这样当刀具在长度方向的尺寸发生变化时,可以在不改变程序的情况下,通过改变偏移量,加工出所要求的零件尺寸。
刀具长度补偿:G43/G44 Z~ H~
撤消刀具长度补偿:G49
图5-27 刀补功能的利用
其中,G43为刀具长度正补偿;G44为刀具长度负补偿;H为刀具长度补偿值的存储地址。
使用G43、G44时,不管用绝对编程还是增量编程,程序中指定的Z轴移动指令的终点坐标值,都要与偏移地址H中的偏移量进行运算。G43时相加,G44时相减。然后把运算结果作为终点坐标值进行加工。
(4)暂停指令——G04 在进行锪孔、车槽、钻中心孔等加工时,常要求刀具在短时间内实现无进给光整加工,此时可以用G04指令实现暂停,暂停结束,继续执行下一段程序。
其程序格式为:G04 X~/P~
其中,X、P指定暂停时间,范围为0.001~99999.999s。X可用小数点编程,单位为s,P不允许用小数点,单位为ms。
例如,暂停时间为3.5s的程序为:
G04 X3.5 或 G04 P3500
G04是非模态指令,只在本程序段有效。
4.辅助功能指令
1)M00——程序停止。该指令执行后,程序停止执行(但主轴、冷却等保持原来状态),如要继续执行,必须重新按起动按钮。主要用于自动加工过程中,暂停程序执行,进行零件的检验、测量。
2)M01——选择停止。同M00作用相似,区别在于只有按下机床控制面板上的“选择停止”按钮时,该指令才有效,否则继续执行后面的程序。该指令常用于加工中抽查测量。
3)M02——程序结束。该指令写在程序的最后,表示程序结束。一般执行完后,主轴、切削液全部停止,使数控系统处于复位状态,但指令光标不一定返回程序开头的位置,应视具体的系统而定。
4)M03、M04——主轴正转、反转。该指令后常跟主轴转速字S,指定主轴正、反转的转速。
5)M05——主轴停转。
6)M06——换刀。该指令后常跟刀具功能字T,指定刀具号。
7)M07——2号切削液开。
8)M08——1号切削液开。
9)M09——切削液关。
10)M30——程序结束,并返回到起始状态。作用同M02相同,而且该指令执行完后,指令光标返回程序开头的位置,为加工下一个零件作好准备。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。