1.2 数控车削编程基础
1.2.1 数控车床的坐标系
(1)机床坐标轴
数控机床坐标系是为了确定工件在机床中的位置、机床运动部件的特殊位置(如换刀点、参考点等)以及运动范围(如行程范围)等而建立的几何坐标系。目前我国执行的行业数控标准JB/T 3051—1999(与国际上标准ISO 841等效)《数控机床—坐标和运动方向的命名》。
标准的坐标系采用右手直角笛卡儿坐标系,如图1-10所示。图中拇指的指向为X轴的正方向,食指指向为Y轴的正方向,中指指向为Z轴的正方向。围绕X、Y、Z轴旋转的圆周进给坐标轴分别用A、B、C表示,根据右手螺旋定则,以拇指指向+X、+Y、+Z方向,则食指、中指等的指向是圆周进给运动的+A、+B、+C方向。数控机床的进给运动,有的由主轴带动刀具运动来实现,有的由工作台带着工件运动来实现。上述坐标轴正方向,是假定工件不动,刀具相对于工件做进给运动的方向。如果是工件移动则用带“′”的大写拉丁字母表示,按相对运动的关系,工件运动的正方向恰好与刀具运动的正方向相反,即有+X=-X′、+Y=-Y′、+Z=-Z′、+A=-A′、+B=-B′、+C=-C′,同样两者运动的负方向也彼此相反。
图1-10 数控机床坐标系
机床坐标轴的方向取决于机床的类型和各组成部分的布局。对数控车床而言:Z轴与主轴轴线重合,沿着Z轴正方向移动将增大零件和刀具间的距离;X轴垂直于Z轴,对应于转塔刀架的径向移动,沿着X轴正方向移动将增大零件和刀具间的距离,如图1-11所示。X轴和Z轴一起构成遵循右手定则的数控车床坐标系统。
图1-11 数控车床坐标轴及其方向
(2)机床坐标系、机床原点和机床参考点
①机床坐标系、机床原点。机床坐标系是机床固有的坐标系,机床坐标系的原点称为机床原点或机床零点。在机床经过设计、制造和调整后,这个原点便被确定下来,它是机床上固定的一个点。数控车床一般将机床原点定义在卡盘后端面与主轴旋转中心的交点上,如图1-12所示的O点。机床坐标系一般有两种建立方法。第一种坐标系建立的方法是:X轴的正方向朝上建立[见图1-12(a)],适用于斜床身和平床身斜滑板(斜导轨)的卧式数控车床。这种类型的数控车床刀架处于操作者的外侧,俗称上手刀。另一种坐标系统建立的方法是:X轴的正方向朝下建立[见图1-12(b)],适用于平床身(水平导轨)卧式数控车床。这种类型的数控车床刀架处于操作者的内侧,俗称下手刀(本书介绍的就是此种类型的数控车床)。机床坐标系X轴的正方向是朝上或朝下建立,主要根据刀架处于机床的位置而确定。这两种刀架方向的机床,其程序及相应设置相同。
图1-12 数控车床机床坐标系的建立
②机床参考点。数控装置通电时并不知道机床零点位置,为了正确地在机床工作时建立机床坐标系,通常在每个坐标轴的移动范围内(一般在X轴和Z轴方向的最大行程处)设置一个机床参考点(测量起点)。机床启动时,通常要进行自动或手动回参考点,以建立机床坐标系。
机床参考点可以与机床零点重合,也可以不重合,通过参数设定机床参考点到机床零点的距离。机床回到了参考点位置,也就知道了该坐标轴的零点位置。找到所有坐标轴的参考点,CNC就建立起了机床坐标系。图1-12中O’为数控车床参考点。
机床参考点的位置由设置在机床X向、Z向滑板上的机械挡块的位置来确定。当刀架返回机床参考点时,装在X向、Z向滑板上的两挡块分别压下对应的行程开关,向数控装置发出信号,停止刀架滑板运动,即完成了“回参考点”的操作。
机床参考点距机床原点在其进给轴方向上的距离在出厂时已确定,利用系统指定的自动返回参考点G28指令,可以使指令的轴自动返回机床参考点。在机床通电后,刀架返回参考点之前,不论刀架处于什么位置,此时CRT屏幕上显示的X、Z坐标值均为0。当完成了返回机床参考点的操作后,CRT屏幕上立即显示出刀架中心点(对刀参考点)在机床坐标系中的坐标值,即建立起了机床坐标系。
在以下三种情况下,数控系统会失去对机床参考点的记忆,必须进行返回机床参考点的操作。
a.机床超程报警信号解除后。
b.机床关机以后重新接通电源开关时。
c.机床解除急停状态后。
(3)工件坐标系、工件原点、对刀点和换刀点
①工件坐标系。编制数控程序前,首先要建立一个工件坐标系,程序中的坐标值均以此坐标系为依据。工件坐标系是编程人员在编程时使用的,编程人员选择工件上的某一已知点为原点,建立一个新的坐标系,称为工件坐标系(也称编程坐标系)。工件坐标系一旦建立便一直有效,直到被新的工件坐标系所取代。
②工件原点。工件坐标系的原点选择要尽量满足编程简单、尺寸换算少、引起的加工误差小等条件。为了编程方便,将工件坐标系设在工件上,并将坐标原点设在图样的设计基准和工艺基准处,其坐标原点称为工件原点(或加工原点)。
工件原点是人为设定的,为编程方便以及各尺寸较为直观,数控车床工件原点一般都设在主轴中心线与工件左端面或右端面的交点处,如图1-13所示。
图1-13 工件坐标系
设定工件坐标系就是以工件原点为坐标原点,确定刀具起始点的坐标值。工件坐标系设定之后,CRT屏幕上显示的是车刀刀尖相对工件原点的坐标值。编程时,工件的各尺寸坐标都是相对工件原点而言的。因此,数控车床的工件原点也称程序原点。
③对刀点。对刀点是数控加工中刀具相对于工件运动的起点,是零件程序加工的起始点,所以对刀点也称“程序起点”。对刀的目的是确定工件原点在机床坐标系中的位置,即工件坐标系与机床坐标系的关系。对刀点可设在工件外任何便于对刀之处,该点与工件原点之间必须有确定的坐标联系。一般情况下,对刀点既是加工程序执行的起点,也是加工程序执行的终点。图2-13把对刀点A设置在工件外面和起刀点重合,该点的位置可由G92、G54、G50等指令设定。通常把设定该点的过程称为对刀,或建立工件坐标系。华中系统用G92(FANUC系统用G50)指令来建立工件坐标系(用G54~G59指令来选择工件坐标系)。该指令一般作为第一条指令放在整个程序的最前面,其程序段格式为:
G92 X____ Z____;
X、Z分别为刀尖的起始点距工件原点的距离。执行G92指令后,系统内部即对(X,Z)进行记忆并显示在显示器上,这就相当于在系统内部建立了一个以工件原点为坐标原点的工件坐标系。
如图1-13所示,若选工件左端面为坐标原点,则工件坐标系建立指令为“G92 X90 Z110”;若选工件右端面为坐标原点,则工件坐标系建立指令为“G92 X90 Z45”。
由上可知,同一工件由于工件原点变了,程序段中的坐标尺寸也随之改变。工件原点是设定在工件左端面的中心还是设在右端面的中心,主要考虑零件图上的尺寸能方便地换算成坐标值,使编程方便。
因为一般车刀是从右端向左端车削,所以将工件原点设定在工件的右端面要比设定在工件的左端面换算尺寸方便,所以建议采用图1-13(b)的方案,将工件原点设定在工件右端面的中心。
④换刀点。车床刀架的换刀点是指刀架转位换刀时所在的位置。换刀点的位置可以是固定的,也可以是任意一点。换刀点的设定原则是以刀架转位时不碰撞工件和机床上其他部件为准则,通常和刀具起始点重合。
1.2.2 编程规则
一个零件程序是一组被传送到数控装置中的指令和数据。一个零件程序是由遵循一定结构、句法和格式规则的若干个程序段组成的,而每个程序段是由若干个指令字组成的,如图1-14所示。
图1-14 程序的结构
(1)指令字的格式
一个指令字是由地址符(指令字符)和带符号(如定义尺寸的字)或不带符号(如准备功能字G代码)的数字数据组成的。程序段中不同的指令字符及其后续数值确定了每个指令字的含义。在数控程序段中包含的主要指令字符如表1-1所示。
表1-1 指令字符一览表
(2)程序段的格式
一个程序段定义一个将由数控装置执行的指令行。程序段的格式定义了每个程序段中功能字的句法,如图1-15所示。
图1-15 程序段格式
(3)程序的一般结构
一个零件程序必须包括起始符和结束符。一个零件程序是按程序段的输入顺序执行的,而不是按程序段号的顺序执行的;但书写程序时,建议按升序书写程序段号。华中世纪星数控装置HNC-21T的程序结构如下。
程序起始符:%(或O)符,%(或O)后跟程序号。
程序结束:M02或M30。
注释符:括号“( )”内或分号“;”后的内容为注释文字。
(4)程序的文件名
CNC装置可以装入许多程序文件,以磁盘文件的方式读写。文件名格式为(有别于DOS的其他文件名):O××××(地址O后面必须有4位数字或字母),华中数控系统通过调用文件名来调用程序,进行加工或编辑。
1.2.3 华中数控系统的编程指令
(1)准备功能(G)
准备功能主要用来指令机床或数控系统的工作方式。华中世纪星(HNC-21/22T)系统的准备功能由地址符G和其后1位或2位数字组成,它用来规定刀具和工件的相对运动轨迹、机床坐标系、坐标平面、刀具补偿、坐标偏置等多种加工操作。具体G指令代码如表1-2所示。
表1-2 华中世纪星(HNC-21/22T)准备功能G指令代码
G指令根据功能的不同分成若干组,其中00组的G功能称为非模态G功能,指令只在所规定的程序段中有效,程序段结束时被注销。其余组的G功能称为模态G功能,这些功能一旦被执行,则一直有效,直到被同一组的G功能注销为止。模态G功能组中包含一个默认G功能(表1-2中带有*记号的G功能),上电时将初始化该功能。
没有共同地址符的不同组G指令代码可以放在同一程序段中,而且与顺序无关。例如,G90、G17可与G01放在同一程序段。
(2)辅助功能
辅助功能也称M功能,主要用于控制零件程序的走向,以及机床各种辅助功能的开关动作,如主轴的开/停、冷却液的开/关等。华中世纪星(HNC-21/22T)系统辅助功能由地址符M和其后的一位或两位数字组成。具体M指令代码如表1-3所示。
表1-3 辅助功能M代码
M功能与G功能一样,也有非模态M功能和模态M功能两种形式。非模态M功能(当段有效代码),只在书写了该代码的程序段中有效;模态M功能(续效代码),一组可相互注销的M功能,这些功能在被同一组的另一个功能注销前一直有效。模态M功能组中包含一个默认功能(表1-3中带有*记号的M功能),系统上电时将初始化该功能。
另外,M功能还可分为前作用M功能和后作用M功能两类。前作用M功能在程序段编制的轴运动之前执行,而后作用M功能则在程序段编制的轴运动之后执行。
其中:M00、M02、M30、M98、M99用于控制零件程序的走向,是CNC内定的辅助功能,不由机床制造商设计决定(也就是说,与PLC程序无关)。其余M代码用于机床各种辅助功能的开关动作,其功能不由CNC内定,而是由PLC程序指定,所以有可能因机床制造厂不同而有差异,请使用人员参考机床说明书。
①CNC内定的辅助功能。
a.程序暂停指令(M00)。当CNC执行到M00指令时,暂停执行当前程序,以方便操作人员进行刀具和工件的尺寸测量、工件调头、手动变速等操作。暂停时,机床的进给停止,而全部现存的模态信息保持不变;欲继续执行后续程序,重按操作面板上的“循环启动”按键。M00为非模态后作用M功能。
b.程序结束指令(M02)。M02一般放在主程序的最后一个程序段中。当CNC执行到M02指令时,机床的主轴、进给、冷却液全部停止,加工结束。使用M02的程序结束后,若要重新执行该程序,就得重新调用该程序,然后再按操作面板上的“循环启动”按键。M02为非模态后作用M功能。
c.程序结束并返回到零件程序头指令(M30)。M30和M02功能基本相同,只是M30指令还兼有控制返回到零件程序头(%)的作用。使用M30的程序结束后,若要重新执行该程序,只需再次按操作面板上的“循环启动”按键。
d.子程序调用指令(M98)及从子程序返回指令(M99)。M98用来调用子程序。M99表示子程序结束,执行M99使控制返回到主程序。子程序的格式为:
%* * * * ? M99
在子程序开头,必须规定子程序号,以作为调用入口地址。在子程序的结尾用M99,以控制执行完该子程序后返回主程序。调用子程序的格式为:
M98 P____L____;
P为被调用的子程序号,L为重复调用次数。
②PLC设定的辅助功能。
a.主轴控制指令(M03、M04、M05)。M03启动主轴以程序中编制的主轴速度顺时针方向(从Z轴正向朝Z轴负向看)旋转。M04启动主轴以程序中编制的主轴速度逆时针方向旋转,M05使主轴停止旋转。M03、M04为模态前作用M功能;M05为模态后作用M功能,为默认功能。M03、M04、M05可相互注销。
b.冷却液打开、停止指令(M07、M09)。M07指令将打开冷却液管道,M09指令将关闭冷却液管道。M07为模态前作用M功能;M09为模态后作用M功能,为默认功能。
(3)进给功能
进给功能主要用来指令切削的进给速度,表示工件被加工时刀具相对工件的合成进给速度。对于车床,进给方式可分为每分钟进给和每转进给两种,与FANUC、SIEMENS系统一样,华中世纪星(HNC-21/22T)系统也用G94、G95规定。
(4)主轴转速功能
主轴转速功能主要用来指定主轴的转速,单位为r/min。
①恒线速度控制指令(G96)。G96是接通恒线速度控制的指令。系统执行G96指令后,S后面的数值表示切削线速度。
②主轴转速控制指令(G97)。G97是取消恒线速度控制的指令。系统执行G97指令后,S后面的数值表示主轴每分钟的转数。例如,“G97 S600”表示主轴转速为600r/min,系统开机状态为G97状态。S是模态指令,S功能只有在主轴速度可调节时有效。S所编程的主轴转速可以借助机床控制面板上的主轴倍率开关进行修调。
(5)刀具功能
刀具功能主要用来指令数控系统进行选刀或换刀,华中世纪星(HNC-21/22T)系统与FANUC系统相同,用T代码与其后的4位数字(刀具号+刀补号)表示,例如T0202表示选用2号刀具和2号刀补(SIEMENS系统用T2、D2表示)。当一个程序段中同时包含T代码与刀具移动指令时,先执行T代码指令,而后执行刀具移动指令。