在GB/T 19660—2005《工业自动化系统与集成 机床数值控制坐标系和运动命名》中规定了数控机床坐标系及其运动方向,这样就给数控系统和数控机床的设计、使用、维修和程序编制带来了极大的便利。
1.数控机床坐标系的规定原则
1)右手直角坐标系 标准的坐标系为右手直角坐标系,它规定了X、Y、Z三个坐标轴的关系,如图2-2所示。右手的拇指、食指和中指分别代表X、Y、Z三个坐标轴,三个手指互相垂直,所指方向分别为X、Y、Z轴的正方向。围绕X、Y、Z各轴的回转运动分别用A、B、C表示,其正向用右手螺旋定则确定。与+X、+Y、+Z等相反的方向用带“′”的+X′、+Y′、+Z′等表示。
图2-2 右手直角坐标系
2)刀具运动坐标与工件运动坐标 数控机床的坐标系是机床运动部件进给运动的坐标系。由于进给运动可以是刀具相对于工件的运动(车床),也可以是工件相对于刀具的运动(铣床),所以统一规定有字母不带“′”的坐标表示刀具相对于“静止”工件而运动的刀具运动坐标;带“′”的坐标表示工件相对于“静止”刀具而运动的工件运动坐标。
3)运动的正方向 运动的正方向是使刀具与工件之间距离增大的方向。
2.坐标轴确定的方法及步骤
1)Z轴 一般取产生切削的刀的主轴轴线为Z轴,取刀具远离工件的方向为正向(+Z),如图2-3和图2-4所示。
当机床有多个主轴时,选垂直于工件装卡面的主轴为Z轴;当机床没有主轴时(如数控龙门刨床),用与装卡工件的工作台面垂直的直线为Z轴;若用Z轴方向进给运动部件作为工作台,则用Z′表示,其正向与Z轴相反。
图2-3 数控车床坐标系
图2-4 数控铣床坐标系
2)X轴 X轴一般位于平行于工件装卡面的水平面内。对于工件做回转切削运动的机床(如车床、磨床),在水平面内取垂直于工件回转轴线(Z轴)的方向为X轴,刀具远离工件的方向为正向,如图2-3所示。
对于刀具做回转切削运动的机床(如铣床、镗床),当Z轴竖直(立式)时,人面对主轴,向右为正X方向,图2-4(a)所示;当Z轴水平(卧式)时,则向左为正X方向,如图2-4(b)所示。
对于无主轴的机床(如刨床),则以切削方向为X正向。若X方向进给运动部件是工作台,则用X′表示,其正向与X正向相反。
3)Y轴 根据已确定的X、Z轴,按右手直角坐标系来确定。同样,Y与Y′的正向相反。
4)A、B、C轴 此3轴为回转进给运动坐标。根据已确定的X、Y、Z轴,用右手螺旋法则来确定,如图2-4所示。
5)附加坐标轴 若机床除X、Y、Z(第1组)的直线运动外,还有平行于它们的坐标运动,则分别命名为U、V、W(第2组);若还有第3组运动,则分别命名为P、Q、R。若除A、B、C(第1组)回转运动外,还有其他回转运动,则命名为D、E等。
3.数控机床的两种坐标系
数控机床坐标系包括机床坐标系和工件坐标系两种。
1)机床坐标系 机床坐标系又称为机械坐标系,是机床运动部件的进给运动坐标系,其坐标轴及方向按国家标准规定执行。坐标系原点的位置由各机床生产厂来设定,称为机床原点(或零点)。
数控车床的机床坐标系(OXZ)的原点O一般位于卡盘端面,如图2-5(a)所示;或者离爪端面一定距离处,如图2-5(b)所示;或者位于机床零点,如图2-5(c)所示。
图2-5 数控车床的两种坐标系
XOZ—机床坐标系;X P O P Z P —工件坐标系
数控铣床的机床坐标系(OXYZ)的原点O一般位于机床零点及机床移动部件沿其坐标轴正向的极限位置,如图2-6所示。
图2-6 数控铣床的两种坐标系
1—工件;2—工作台
2)工件坐标系 工件坐标系又称编程坐标系,供编程用。为使编程人员在不知道是“刀具移近工件”还是“工件移近刀具”的情况下就可以根据图样确定机床加工过程,规定工件坐标系是“刀具相对于工件而运动”的刀具运动坐标系,参见图2-5中的X P O P Z P 及图2-6中的X P Y P O P Z P 。
工件坐标系的原点O P 也称为工件零点或编程零点,其位置由编程者来设定,一般设在工件的设计工艺基准处,便于尺寸计算。
4.绝对坐标与相对坐标
运动轨迹的终点坐标相对于起点计量的坐标系称为相对坐标系或增量坐标系。所有坐标点的坐标值均从某一固定坐标原点计量的坐标系称为绝对坐标系。
如图2-7所示,若用绝对坐标表示A、B两点,则有
图2-7 绝对坐标与相对坐标
若以相对坐标表示,则B点的坐标是在以A点为原点建立起来的坐标系内计量的,此时终点B的相对坐标为X B =-20,Y B =-20,其中负号表示B点在X、Y轴的负方向。
在编程时,可以依据具体机床的坐标系,并根据编程方便(如根据图样尺寸的标注方式)及加工精度要求选用坐标类型。
1.穿孔带及其代码
记录数控加工程序的控制介质早期都用穿孔纸带。因为穿孔纸带代码清晰地反映了数字、文字和符号,最终都变成了二进制的数字码指令。穿孔纸带是一种机械式的代码孔,不易受环境影响,便于长期保存,且存储的程序量很大,因此在某些情况下仍有应用价值。
常用的标准纸带有五单位(每排五列孔)和八单位(每排八列孔)两种。根据孔道上有孔、无孔的不同组合,可以表示出各种各样的代码。五单位穿孔纸带多用于数控线切割机床;八单位穿孔纸带常用于数控机床,其尺寸规格如图2-8所示。
图2-8 八单位标准穿孔纸带尺寸规格
国际上通用的八单位数控穿孔纸带有ISO(国际标准化协会)和EIA(美国电子工业协会)代码,我国的JB3050—82与其等效。ISO编码表及EIA编码表分别见表2-1和表2-2。
表2-1 数控机床用ISO编码表
表2-2 数控机床用EIA编码表
续表
代码中有数字码(0~9)、文字码(A~Z)和符号码。这些代码根据每排孔的个数及其位置的不同予以区别。第3 列和第4 列之间的连续小孔中的导孔(又称同步孔)作为每行大孔的定位基准,并产生读带的同步控制信号。
EIA代码和ISO代码的主要区别在于,EIA代码每行为奇数孔,其第5列为补奇列;ISO代码各行为偶数孔,其第8列为补偶列。补奇列或补偶列的作用都是鉴别纸带的穿孔是否有错。因为一般其中的一个孔未穿孔或未完全穿孔的可能性较大,而至少穿两个孔的可能性极小。
孔码有一定的规律性。所有数字码在第5列和第6列有孔;字母码在第7列有孔。这些规律对数控系统判别代码符号的逻辑设计带来很大方便。
早期的数控机床上大都采用EIA码,目前国际上大都采用ISO码。我国规定新设计的数控产品一律采用ISO代码,但也可以二者兼用。
2.数控编程中的指令代码
在数控编程中,我国和国际上都广泛使用G指令代码、M指令代码及F、S、T指令来描述加工工艺过程和数控机床的运动特征。国际上采用的是ISO 1056:1975《数控机床 穿孔带程序段格式中的准备功能G和辅助功能M的代码》,我国制定了JB/T 3208—1999《数控机床 穿孔带程序段格式中的准备功能G和辅助功能M的代码》。
1)准备功能G指令 准备功能G指令用来规定刀具和工件的相对运动轨迹(即规定插补功能)、机床坐标系、坐标平面、刀具补偿、坐标偏置等多种加工操作。JB/T 3208—1999标准中规定:G指令由字母G及其后面的两位数字组成,从G00到G99共100种代码,见表2-3。
表2-3 准备功能G代码(JB 3208—1999)
续表
注:①#号:如果选作特殊用途,必须在程序格式说明中说明。
② 如果在直线切削控制中没有刀具补偿,则 G43~G52 可指定为其他用途。
③ 括号中的字母d表示可以被同栏中没有括号的字母d所注销或代替,也可被有括号的字母d所注销或代替。
④ G45~G52 的功能可用于机床上任意两个预定的坐标。
⑤ 控制机上没有 G53~G59、G63 功能时,可以指定为其他用途。
近年来,数控技术发展很快,许多制造厂采用的数控系统不同,对标准中的代码进行了功能上的延伸,或者做了进一步的定义。因此,编程时绝对不能死套标准,必须仔细阅读具体机床的编程指南。
2)辅助功能的指令 辅助功能指令也有100 种(M00~M99),见表2-4。
表2-4 辅助功能M代码(JB 3208—1999)
续表
注:①#号:如果选作特殊用途,必须在程序说明中说明。
② M90~M99 可指定为特殊用途。
各生产厂家在使用M代码时,与标准定义出入不大。有些生产厂家定义了附加的辅助功能,如在车削中心上控制主轴分度、定位等。G代码和M代码的含义及格式将在后续章节中结合具体机床详细介绍。
1.程序的组成
一个完整的零件加工程序由若干个程序段组成;一个程序段又由若干个代码字组成;每个代码字则由文字(地址符)和数字(有些数字还带有符号)组成。这些字母、数字、符号统称为字符。示例如下:
这是一个完整的零件加工程序,它由10个程序段组成,每个程序段以序号“N××”开头,以“LF”作为结束符,也有些数控系统的程序段没有结束符。
整个程序开始于程序号%1000。每个完整的程序必须指定一个编号,供在数控装置存储器的程序目录中查找、调用,以便区别于其他程序。程序号由地址符和编号数字组成。不同数控系统的程序号地址符不同,如FANUC 0M系统用“0”,SMK 8M系统则用“%”等,整个程序用“EM”结束,也有一些系统不用“EM”结束程序。
每个程序段中由若干个代码字组成,如第2个程序段有8个代码字,一个程序段表示一个完整的加工工步或动作。
一个程序的最大长度取决于数控系统中零件程序存储区的最大容量,如日本的FANUC 7M系统零件主程序存储区的最大容量为4KB。也可以根据用户需要扩大存储区的容量。对于一个程序段的字符数,某些数控系统规定了一定的限度,如规定字符数不大于90个,若超过了规定的数量便要分成两个程序段来书写。
2.程序段格式
所谓程序段格式,是指一个程序段中字的书写方式和排列顺序,以及每个程序段的长度限制和规定。不同的数控系统往往有不同的程序段格式,若格式不符合规定,数控系统便不能接受该程序。
程序段由代码字组成,代码字由地址符(用英文字母表示),以及正、负号和数字组成,约定正号省略不写。每个程序段前冠以程序段号,程序段号的地址符都用“N”表示。
例如:
程序段格式有3种,即固定程序段格式、使用分隔符的程序段格式和使用地址符的可变程序段格式。前两种已很少使用,目前广泛采用使用地址符的可变程序段格式。在这种格式中,代码字的排列顺序没有严格的要求,代码字的数目及代码字的长度都是可以变化的,不需要的代码字及与上段相同的模态代码字可以不写,其特点是程序简单,可读性强,易于检查。
3.主程序和子程序
在一个加工程序中,如果有多个一连串的程序段完全相同(即零件有多处的几何形状和尺寸完全相同,或者顺序加工相同的工件),就可以将这些重复的程序段单独抽出来按一定的格式做成子程序,并存入子程序存储器中。子程序以外的程序段为主程序。在执行主程序的过程中,如果需要,可以调用子程序,并可以多次重复调用。某些数控系统在子程序执行过程中还可以调用其他的子程序,即所谓“多层嵌套”,从而大大简化了编程工作,缩短了程序长度,节约了程序存储器的容量。主程序与子程序的关系如下:
子程序的格式除有子程序名外,还要有代码字M17作为子程序结束并返回主程序的指令,子程序的其余部分的编写方式与主程序的完全相同。
4.常用地址符及其含义
常用地址符及其含义见表2-5。注意,不同的系统所用的地址符及其定义不尽相同。
表2-5 常用地址符及其含义
当数控机床的数控系统发出一个脉冲指令时,经伺服系统的转换、放大、反馈后,推动机床的工件(或刀具)实际移动的最小位移量称为数控机床的最小设定单位,又称为最小指令增量或脉冲当量,一般为0.01~0.0001mm,视具体数控机床而定。