在编制数控机床程序时,首先要根据机床的脉冲当量确定坐标值,然后根据其程序段格式编制数控程序。所谓程序段,就是指为了完成某一动作要求所需的功能“字”的组合。“字”是表示某一功能的一组代码符号,如X2500为一个字,表示X向尺寸为2500;F20为一个字,表示进给速度为20。程序段格式是指一个程序段中各字的排列顺序及其表达形式。常用的程序段格式有三种,即固定顺序程序段格式、带有分隔符的固定顺序程序段格式和字地址程序段格式。由于程序段是由功能“字”组成的,因此,以下先介绍常用功能字,然后再介绍程序段格式。
1) 常用功能字
一个程序段中,除了由地址符N为首的三位数组成的序号字(N×××)外,常用的功能字有:准备功能字G;坐标功能字X,Y,Z;辅助功能字M;进给功能字F;主轴转速功能字S和刀具功能字T等。
(1)准备功能字。 准备功能字以地址符G为首,后跟二位数字(G00-G99)。 ISO1056 标准对准备功能G的规定见表1—3。我国的标准为JB3208—83,其规定ISO1056—1975(E)等效。 这些准备功能包括:坐标移动或定位方法的指定;插补方式的指定;平面的选择;螺纹、攻丝、固定循环等加工的指定;对主轴或进给速度的说明;刀具补偿或刀具偏置的指定等。当设计一个机床数控系统时,要在标准规定的G功能中选择一部分与本系统相适应的准备功能,作为硬件设计及程序编制的依据。标准中那些“不指定”的准备功能,必要时可用来规定为本系统特殊的准备功能。
表 1 — 3 ISO 标准对准备功能 G 的规定
代 码 | 功 能 | 说 明 | 代 码 | 功 能 | 说 明 |
G00 | 点定位 | G57 | XY 平面直线位移 | ||
G01 | 直线插补 | G58 | XZ 平面直线位移 | ||
G02 | 顺时针圆弧插补 | G59 | YZ 平面直线位移 | ||
G03 | 逆时针圆弧插补 | G60 | 准确定位(精) | 按规定公差定位 | |
G04 | 暂停 | 执行本段程序前暂停一段时间 | G61 | 准确定位(中) | 按规定公差定位 |
G05 | 不指定 | G62 | 准确定位(粗) | 按规定之较大公差定位 | |
G06 | 抛物线插补 | G63 | 攻丝 | ||
G07 | 不指定 | G64-G67 | 不指定 | ||
G08 | 自动加速 | G68 | 内角刀具偏置 | ||
G09 | 自动减速 | G69 | 外角刀具偏置 | ||
G10-G16 | 不指定 | G70-G79 | 不指定 | ||
G17 | 选择 XY 平面 | G80 | 取消固定循环 | 取消 G81- G89 的固定循环 | |
G18 | 选择 ZX 平面 | G81 | 钻孔循环 | ||
G19 | 选择 YZ 平面 | G82 | 钻或扩孔循环 | ||
G20-G32 | 不指定 | G83 | 钻深孔循环 | ||
G33 | 切削等螺距旋纹 | G84 | 攻丝循环 | ||
G34 | 切削增螺距旋纹 | G85 | 镗孔循环 1 | ||
G35 | 切削减螺距旋纹 | G86 | 镗孔循环 2 | ||
G36-G39 | 不指定 | G87 | 镗孔循环 3 | ||
G40 | 取消刀具补偿 | G88 | 镗孔循环 4 | ||
G41 | 刀具补偿 - 左侧 | 按运动方向看, 刀具在工件左侧 | G89 | 镗孔循环 5 | |
G42 | 刀具补偿 - 右侧 | 按运动方向看, 刀具在工件右侧 | G90 | 绝对值输入方式 | |
G43 | 正补偿 | 刀补值加给给定坐标值 | G91 | 增量值输入方式 | |
G44 | 负补偿 | 刀补值从给定坐标值减 | G92 | 预制寄存 | 修改尺寸字 不产生运动 |
G45 | 用于刀具补偿 | G93 | 按时间倒数给定进给速度 | ||
G46-G52 | 用于刀具补偿 | G94 | 进给速度 (mm/min) | ||
G53 | 直线位移功能取消 | G95 | 进给速度 (mm/r(主轴)) | ||
G54 | X 轴直线位移 | G96 | 主轴恒线速度 ( m/min ) | ||
G55 | Y 轴直线位移 | G97 | 主轴转速( r/min ) | 取消 G96 的指定 | |
G56 | Z 轴直线位移 | G98-G99 | 不指定 |
(2) 坐标功能字。坐标功能字(又称为尺寸字)用来设定机床各坐标之位移量。它一般使用 X,Y,Z ,U ,V ,W ,P ,Q ,R ,A ,B ,C ,D ,E 等地址符为首,在地址符后紧跟着“+”(正)或“—”(负)及一串数字,该数字一般以系统脉冲当量为单位,不使用小数点。一个程序段中有多个尺寸字时,一般按上述地址符顺序排列。
(3) 进给功能字。进给功能字用来指定刀具相对工件运动的速度。其单位一般为 mm/min。当进给速度与主轴转速有关时,如车螺纹、攻丝等,使用的单位为mm/r。进给功能字以地址符“ F”为首,其后跟一串数字代码。具体有以下几种指定方法 :
① 三位数代码法:F后跟三位数字,第一位为进给速度的整数位加上“3”,后二位是进给速度的前二位有效数字。如 1728mm/min的进给速度用F717指定;15.25mm/min的进给速度用F515指定;0.1537mm/min 的进给速度用 F315 指定等。
② 二位数代码法:对于F后跟的二位数字代码,规定了与00-99相对应的速度表,除00与99外,数字代码由01向98递增时,速度是按等比关系上升的。比例系数为10的20次方根( ≈1.12),即相邻的后一速度比前一速度增加约12%。如 F20为10mm/min,F21为11.2 mm/min,F54为50 mm/min,F55为560mm/min等。 F00-F99的进给速度对照关系见表1—4。
表 1 — 4 二位数码法进给速度对照表 mm/min
代 码 | 速 度 | 代 码 | 速 度 | 代 码 | 速 度 | 代 码 | 速 度 | 代 码 | 速 度 |
00 | 停 | 20 | 10.0 | 40 | 100 | 60 | 1000 | 80 | 10000 |
01 | 1.12 | 21 | 11.2 | 41 | 112 | 61 | 1120 | 81 | 11200 |
02 | 1.25 | 22 | 12.5 | 42 | 125 | 62 | 1250 | 82 | 12500 |
03 | 1.40 | 23 | 14.0 | 43 | 140 | 63 | 1400 | 83 | 14000 |
04 | 1.60 | 24 | 16.0 | 44 | 160 | 64 | 1600 | 84 | 16000 |
05 | 1.80 | 25 | 18.0 | 45 | 180 | 65 | 1800 | 85 | 18000 |
06 | 2.00 | 26 | 20.0 | 46 | 200 | 66 | 2000 | 86 | 20000 |
07 | 2.24 | 27 | 22.4 | 47 | 224 | 67 | 2240 | 87 | 22400 |
08 | 2.50 | 28 | 25.0 | 48 | 250 | 68 | 2500 | 88 | 25000 |
09 | 2.80 | 29 | 28.0 | 49 | 280 | 69 | 2800 | 89 | 28000 |
10 | 3.15 | 30 | 31.5 | 50 | 315 | 70 | 3150 | 90 | 31500 |
11 | 3.55 | 31 | 35.5 | 51 | 355 | 71 | 3550 | 91 | 35500 |
12 | 4.00 | 32 | 40.0 | 52 | 400 | 72 | 4000 | 92 | 40000 |
13 | 4.50 | 33 | 45.0 | 53 | 450 | 73 | 4500 | 93 | 45000 |
14 | 5.00 | 34 | 50.0 | 54 | 500 | 74 | 4500 | 94 | 50000 |
15 | 5.60 | 35 | 56.0 | 55 | 560 | 75 | 5600 | 95 | 56000 |
16 | 6.30 | 36 | 63.0 | 56 | 630 | 76 | 6300 | 96 | 63000 |
17 | 7.10 | 37 | 71.0 | 57 | 710 | 77 | 7100 | 97 | 71000 |
18 | 8.00 | 38 | 80.0 | 58 | 800 | 78 | 8000 | 98 | 80000 |
19 | 9.00 | 39 | 90.0 | 59 | 900 | 79 | 9000 | 99 | 高速 |
③ 一位数代码法:对于速度挡较少的数控机床可用F后跟一位数字,即0-9来对应10种预定的速度。
④ 直接指定法:像尺寸字中的坐标位移量一样,在 F 后面按照预定的单位直接写上要求的进给速度。
(4) 主轴速度功能字。主轴速度功能字用来指定主轴速度,单位为r/min,它以地址符S为首,后跟一串数字。它与F为首的进给功能字一样可采用三位、二位、一位数字代码法或直接指定法。数字的意义、分挡办法及对照表与进给功能字通用。只是单位改为r/min。
(5) 刀具功能字。当系统具有换刀功能时,刀具功能字用以选择替换的刀具。刀具功能字以地址符T为首,其后一般跟二位数字,代表刀具的编号。
(6) 辅助功能字。辅助功能字以地址符M为首,其后跟二位数字(M00-M99)。ISO1056标准对辅助功能M的规定见表1—5。此表等效于我国标准JB3208—83中关于M功能的规定。这些辅助功能包括:指定主轴的转向与启停;指定系统冷却液的开与停;指定机械的夹紧与松开;指定工作台等的固定直线与角位移;说明程序停止或纸带结束等。标准中一些不指定的辅助功能可选作特殊用途。当设计一个机床数控系统时,要在标准规定的M代码中选择一部分本系统所需要的辅助功能代码,作为有关部分线路设计及将来程序编制的依据。
表1—5 ISO 标准对辅助功能 M 的规定
代 码 | 功 能 | 说 明 | 代 码 | 功 能 | 说 明 |
M00 | 程序停止 | 主轴、冷却液停 | M32-M35 | 不指定 | |
M01 | 计划的停止 | 需按钮操作确认才换行 | M36 | 进给速度范围 1 | 不停车齿轮变速范围 |
M02 | 程序结束 | 主轴、冷却液停,机床复位 | M37 | 进给速度范围 2 | |
M03 | 主轴顺时针方向转 | 右旋螺纹进入工件方向 | M38 | 主轴速度范围 1 | 不停车齿轮变转速范围 |
M04 | 主轴逆时针方向转 | 右旋螺纹离开工件方向 | M39 | 主轴速度范围 2 | |
M05 | 主轴停止 | 冷却液关闭 | M40-M45 | 不指定 | 可用于齿轮换挡 |
M06 | 换刀 | 手动或自动换刀,不包括选刀 | M46-M47 | 不指定 | |
M07 | 2 号冷却液开 | M48 | 取消 M49 | ||
M08 | 1 号冷却液开 | M49 | 手动速度修正失效 | 回至程序规定的转速或进给率 | |
M09 | 冷却液停止 | M50 | 3 号冷却液开 | ||
M10 | 夹紧 | 工作台、工件、夹具、主轴等 | M51 | 4 号冷却液开 | |
M11 | 松开 | M52-M54 | 不指定 | ||
M12 | 不指定 | M55 | 刀具直线位移到预定位置 1 | ||
M13 | 主轴顺时针转,冷却液开 | M56 | 刀具直线位移到预定位置 2 | ||
M14 | 主轴逆时针转,冷却液开 | M57-M59 | 不指定 | ||
M15 | 正向快速移动 | M60 | 换工件 | ||
M16 | 反向快速移动 | M61 | 工件直线唯一到预定位置 1 | ||
M17-M18 | 不指定 | M62 | 刀具直线位移到预定位置 2 | ||
M19 | 主轴准停 | 主轴缓转至预定角度停止 | M63-70 | 不指定 | |
M20-M29 | 不指定 | M71 | 工件转动到预定角度 1 | ||
M30 | 纸带结束 | 完成主轴冷却液停止、机床复位、纸带回卷等动作 | M72 | 工件转动到预定角度 2 | |
M31 | 互锁机构暂时失效 | M73-M99 | 不指定 |
2) 程序段格式
不同的数控机床根据功能的多少、数控装置的复杂程度、编程是否简便直观等不同要求而规定了不同的程序段格式。如果输入程序的格式不符合规定,数控装置就会报警出错。常见的程序段格式有固定顺序式、带分隔符TAB的固定顺序式和字地址格式三种。
早期由于数控装置简单,规定了一种称之为固定顺序的程序段格式,例如:
以这种格式编制的程序,各字均无地址码,字的顺序即为地址的顺序,各字的顺序及字符行数是固定的(不管某一字的需要与否),即使与上一段相比某些字没有改变,也要重写而不能略去。一个字的有效位数较少时,要在前面用“0”补足规定的位数。所以各程序段所占穿孔带的长度为一定。这种格式的控制系统简单,但编程不直观,穿孔带较长,应用较少。
后来又产生了一种具有分隔符号TAB的固定顺序段格式。其基本形式与上述格式相同,只是各字间用分隔符号隔开,以表示地址的顺序。如上例可写成:
由于有分隔符号,不需要的字或与上程序段相同的字可以省略,但必须保留相应的分隔符号( 即各程序段的分隔符号数目相等) 。此种格式比前一种格式好,常用于功能不多的数控装置,如线切割机床和某些数控铣床等。我国数控线切割机床采用的“ 3B ”或“ 4B ”格式指令就是典型的带分隔符号的固定顺序格式。其 3B 格式的一般表示为:
B X B Y B J G Z
其具体意义如下:
X | B | B | Y | J | G | Z |
x 坐标值 | 分隔符号 | y 坐标值 | 分隔符号 | 计数长度 | 计数方向 | 加工指令 |
目前使用最多的则是字地址程序段格式(也称为使用地址符的可变程序段格式)。以这种格式表示的程序段,每一个字之前都标有地址码用以识别地址,即如前述的由字母和数据组成的各种功能字,因此对不需要的字或与上一程序段相同的字都可省略。一个程序段内的各字也可以不按顺序(但为了编程方便,常按一定的顺序)排列。采用这种格式虽然增加了地址读入电路,但编程直观灵活,便于检查,可缩短穿孔带,广泛用于车、铣等数控机床。
对于字地址格式的程序段常常可以用一般形式来表示。如:
N134 G01X — 32000Y + 47000F1020S1250 T16 M06 (1—1)
若将式(1—1)写成一般形式,则为:
N3G2X ± 23Y ± 23F4S4T2M2 (1—2 )
式中