在编制数控机床程序时,首先要根据机床的脉冲当量确定坐标值,然后根据其程序段格式编制数控程序。所谓程序段,就是指为了完成某一动作要求所需的功能“字”的组合。“字”是表示某一功能的一组代码符号,如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 )
式中