1.程序结构
数控程序由程序编号、程序内容和程序结束段组成。例如:
程序编号: 001
程序内容: N001 G92 X40.0 Y30.0 ;
N002 G90 G00 X28.0 T01 S800 M03 ;
N003 G01 X-8.0 Y8.0 F200 ;
N004 X0 Y0 ;
N005 X28.0 Y30.0 ;
N006 G00 X40.0 ;
程序结束段: N007 M02 ;
(1)程序编号
采用程序编号地址码区分存储器中的程序,不同数控系统程序编号地址码不同,如日本FANUC6数控系统采用o作为程序编号地址码;美国的AB8400数控系统采用P作为程序编号地址码;德国的SMK8M数控系统采用%作为程序编号地址码等。
(2)程序内容
程序内容部分是整个程序的核心,由若干个程序段组成,每个程序段由一个或多个指令字构成,每个指令字由地址符和数字组成,它代表机床的一个位置或一个动作,每一程序段结束用“;”号。
(3)程序结束段
以程序结束指令M02或M30作为整个程序结束的符号。
2.程序段格式
每个程序段是由程序段编号,若干个指令(功能字)和程序段结束符号组成。
N、G、X、Z、F为地址码,“-”为符号(负号)64.0为数据字
N——程序段地址码,用来制定程序段序号;
G——准备功能地址码,G01为直线插补指令;
X、Z——坐标轴地址码,其后面数据字表示刀具在该坐标轴方向应移动的距离;
F——进给速度地址码,其后面数据字表示刀具进给速度值,F100表示进给速度为100mm/min。
;——程序段结束码,与“NL”、“LF”或“CR”、“*”等符号含义等效,不同的数控系统规定有不同的程序段结束符。
表1 常见程序段格式
说明:数控机床的指令格式在国际上有很多标准,并不完全一致。而随着数控机床的发展,不断改进和创新,其系统功能更加强大和使用方便,在不同数控系统之间,程序格式上存在一定的差异,因此,在具体进行某一数控机床编程时,要仔细了解其数控系统的编程格式,参考该数控机床编程手册。
3.常用编程指令(功能字)
功能字也叫程序字或指令,是机床数字控制的专用术语。他的定义一组有规定次序的代码符号,可以作为一个信息单元存贮、传递和操作。
(1)坐标字:用来设定机床各坐标的位移量由坐标地址符及数字组成,一般以X、Y、Z、U、V、W等字母开头,后面紧跟“+”或“-”及一串数字。该数字一般以脉冲当量为单位,不使用小数点,如果使用小数表示该数,则基本单位为mm。
(2)准备功能字(简称G功能):指定机床的运动方式,为数控系统的插补运算作准备,由准备功能地址符“G”和两位数字所组成,G功能的代号已标准化,一些多功能机床,已有数字大于100的指令。
常用G指令:坐标定位与插补;坐标平面选择;固定循环加工;刀具补偿;绝对坐标及增量坐标等。
(3)进给功能字:指定刀具相对工件的运动速度,进给功能字以地址符“F”为首,后跟一串字代码,单位mm/min,在进给速度与主轴转速有关时,如进行车螺纹、攻丝或套扣等加工时,使用的单位还可为mm/r。
三位数代码法:F后跟三位数字,第一位为进给速度的整数位数加“3”,后二位是进给速度的前二位有效数字。如1728mm/min指定为F717。
二位数代码法:F后跟二位数字,规定了与00—99相对应的速度表,除00与99外,数字代码由01向98递增时,速度按等比关系上升,公比为1.12。如F21速度11.2mm/min,F54速度500mm/min。
一位数代码法:对速度档较少的机床F后跟一位数字,即0—9来对应十种预定的速度。
直接指定法:在F后按照预定的单位直接写上要求的进给速度。
(4)主轴速度功能字:指定主轴旋转速度,以地址符S为首,后跟一串数字。 数字的意义、分档方法及对照表与进给功能字通用,只是单位为:r/min。
(5)刀具功能字:当系统具有换刀功能时,刀具功能字用以选择替换的刀具,以地址符T为首,其后一般跟二位数字,该数代表刀具的编号。
(6)辅助功能字:用于机床加工操作时的工艺性指令,以地址符M为首,其后跟二位数字(M00—M99),常用M指令:主轴的转向与启停;冷却液的开与停;指定机械的夹紧与松开;指定工作台等的固定直线与角位移;说明程序停止或纸带结束等。
(7)模态指令和非模态指令:G指令和M指令均有模态和非模态指令之分。
模态指令:也称续效指令,按功能分为若干组,表2第2列中标有相同字母的为同组。模态指令一经程序段中指定,便一直有效,直到出现同组另一指令或被其他指令取消时才失效,与上一段相同的模态指令可省略不写。
表2 JB3208-83标准G指令功能
表3 JB3208-83标准M指令功能
非模态指令:非续效指令,仅在出现的程序段中有效,下一段程序需要时必须重写(如G04)。
例如:
N001 G91 G01 X10 Y10 Z-2 F150 M03 S1500;
N002 X15;
N003 G02 X20 Y20 I20 J0;
N004 G90 G00 X0 Y0 Z100 M02;
说明:
1)第一段出现三个模态指令G91、G01、M03,因他们不同组而均续效,其中G91功能延续到第四段出现G90时失效;G01功能在第二段中继续有效,至第三段出现G02时被取消;M03功能直到第四段M02生效时才失效。
2)表2第(3)栏有“*”和表3第(5)栏有“*”者为非模态指令,其功能仅在出现的程序段中有效。
3)表3第(2)栏有“*”的M指令,其功能与同段其他指令的动作同时开始。表3第(3)栏有“*”的M指令,其功能与同段其他指令动作完成后才开始。