最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

维宏NCStudio V5_4 编程手册

IT圈 admin 35浏览 0评论

2024年5月7日发(作者:魏忆彤)

®

维宏

数控系统NCSTUDIO V5.4

编程手册

二○○四年一月

I

感谢您选择了本公司的产品!

本手册帮助您熟悉本公司的产品,了解系统组成配置等方面的信息。

本资料详细介绍系统安装过程及系统的各项功能,在使用本软件系统及相关

的机床设备之前,请您详细阅读本手册。这将有助于您更好地使用它。

由于软件、硬件的不断更新,您所收到的软硬件在某些方面可能与本手册

的陈述有所出入。在此谨表歉意。

II

目 录

目 录................................................................................................................... III

1

2

3

概述............................................................................................................ 1

1.1

数控编程概述 ............................................................................................... 1

定义零件程序

................................................................................................. 1

准备零件程序

................................................................................................. 1

1.2

数控机床概述 ............................................................................................... 2

机床坐标轴

..................................................................................................... 2

机床坐标系机床零点和机床参考点

............................................................. 3

零件程序的结构 ....................................................................................... 5

2.1

地址和功能符号 ........................................................................................... 5

2.2

程序段的格式 ............................................................................................... 6

2.3

子程序的格式 ............................................................................................... 6

NCSTUDIO编程指令体系 ...................................................................... 7

3.1

主轴功能S

进给功能F

和刀具功能T .......................................................... 7

主轴功能

S....................................................................................................... 7

进给速度

F ...................................................................................................... 7

III

3.2

辅助功能M

代码 .......................................................................................... 7

3.3

准备功能G

代码 ........................................................................................... 8

有关坐标系和坐标的指令

............................................................................. 8

英制

/

公制指令

G20/G21

G70/G71 ............................................................ 13

比例功能

G50/G51 ........................................................................................ 13

镜像功能

....................................................................................................... 14

进给控制指令

............................................................................................... 14

暂停指令

G04 ................................................................................................ 17

刀具补偿指令

............................................................................................... 17

固定循环功能

............................................................................................... 20

3.4

高级功能 ..................................................................................................... 25

子程序调用指令

G65 .................................................................................... 25

强制进给倍率指令

G903 .............................................................................. 26

条件移动指令

G904 ...................................................................................... 26

强制进给速率指令

G905 .............................................................................. 27

同步指令

G906 .............................................................................................. 27

字串信息指令

M801 ..................................................................................... 27

整数信息指令

M802 ..................................................................................... 27

直接输出指令

M901 ..................................................................................... 28

回零结束指令

M902 ..................................................................................... 28

系统提供的内部参数

................................................................................... 28

3.5

程序指令中的表达式 ................................................................................. 29

3.6

程序中的注释 ............................................................................................. 31

3.7

加工文件编程示例 ..................................................................................... 31

3.8

G指令附录表 .............................................................................................. 37

4

PLT支持 .................................................................................................. 38

IV

Nc Studio数控系统编程手册

1

定义零件程序

概述

1.1 数控编程概述

零件程序是由数控装置专用编程语言书写的一系列指令组成的。

数控装置将零件程序转化为对机床的控制动作。

最常使用的程序存储介质是穿孔纸带和磁盘。

准备零件程序

如图11 所示可以用传统的方法手工编制一个零件程序,也可以用一套

CAD/CAM 系统(如目前流行的 MasterCAM 系统)来创建一个零件程序。

1

Nc Studio数控系统编程手册

图1.1 准备一个零件程序

1.2 数控机床概述

机床坐标轴

为简化编程和保证程序的通用性对数控机床的坐标轴和方向命名制订了统一

的标准,规定直线进给坐标轴用X Y Z 表示,常称基本坐标轴。X Y Z 坐标轴的

相互关系用右手定则决定,如图1.2 所示,图中大姆指的指向为X 轴的正方向,

食指指向为Y 轴的正方向,中指指向为Z 轴的正方向。

图1.2 机床坐标轴

2

Nc Studio数控系统编程手册

围绕X Y Z 轴旋转的圆周进给坐标轴分别用A B C 表示,根据右手螺旋定

则,如图所示以大拇指指向+X +Y +Z 方向,则食指中指等的指向是圆周进给运

动的+A +B +C 方向。数控机床的进给运动有的由主轴带动刀具运动来实现,有

的由工作台带着工件运动来实现。上述坐标轴正方向是假定工件不动,刀具相对

于工件做进给运动的方向。如果是工件移动,则用加“’”的字母表示,按相对

运动的关系工件运动的正方向恰好与刀具运动的正方向相反,即有:

+X =-X’ ,+Y =-Y’ ,+Z =-Z’

+A =-A’ ,+B =-B’ ,+C =-C’

同样两者运动的负方向也彼此相反。

机床坐标轴的方向取决于机床的类型和各组成部分的布局,对铣床而言:

——Z 轴与主轴轴线重合,刀具远离工件的方向为正方向(+Z);

——X 轴垂直于Z 轴,并平行于工件的装卡面,如果为单立柱铣床,面对刀

具主轴向立柱方向看,其右运动的方向为X轴的正方向(+X);

——Y 轴与X 轴和Z 轴一起构成遵循右手定则的坐标系统。

机床坐标系机床零点和机床参考点

机床坐标系是机床固有的坐标系,机床坐标系的原点也称为机床原点或机床

零点。在机床经过设计、制造和调整后,这个原点便被确定下来,它是固定的

点。数控装置上电时并不知道机床零点,每个坐标轴的机械行程是由最大和最小

限位开关来限定的。为了正确地在机床工作时建立机床坐标系,通常在每个坐标

轴的移动范围内设置一个机床参考点(测量起点),机床起动时,通常要进行机动

或手动回参考点,以建立机床坐标系。机床参考点可以与机床零点重合,也可以

不重合,通过参数指定机床参考点到机床零点的距离。机床回到了参考点位置,

也就知道了该坐标轴的零点位置,找到所有坐标轴的参考点,CNC 就建立起了

机床坐标系。机床坐标轴的行程范围是由制造商定义,机床坐标轴的有效行程范

围是由软件限位来限定的。机床零点(OM)、 机床参考点(Om) 、机床坐标轴的机

械行程及有效行程的关系如图1.3 所示。

3

Nc Studio数控系统编程手册

Y

X轴机械行程(限位)

X轴有效行程

Y

Om

OM

Y

X

图1.3 机床零点OM和机床参考点Om

4

Nc Studio数控系统编程手册

2

零件程序的结构

一个零件程序是一组被传送到数控装置中去的指令和数据。

一个零件程序是由遵循一定结构、句法和格式规则的若干个程序段组成的,

而每个程序段是由若干个指令字组成的。如图2.1 所示。

图2.1 程序的结构

2.1 地址和功能符号

地址符号及定义见表2.1

表2.1地址符号

地址

符号

D

F

G

H

I

J

K

L

M

N

含 义

刀具半径偏置数

进给率

准备功能

刀具长度偏置数

圆弧中心的X坐标

圆弧中心的Y坐标

圆弧中心的Z坐标

重复数

辅助功能

顺序号

5

B:基本功能

O:选择功能

B,O

B

B,O

B

B,O

B,O

B

B,O

B

B

Nc Studio数控系统编程手册

O

P

Q

R

S

T

X

Y

Z

程序号

在子程序中延时时间,程序号和顺序号的设定

切削深度,固定循环的转换

固定循环的R点/圆弧的半径设定

主轴速度功能

刀具功能

X坐标

Y坐标

Z坐标

B

O,B

O

O,B

B

B

B

B

B

2.2 程序段的格式

一个程序段定义一个将由数控装置执行的指令行。

程序段的格式定义了每个程序段中功能字的句法,如图2.2 所示。

图2.2 程序段格式

2.3 子程序的格式

子程序是一段可以重复调用的加工指令代码。它必须以地址字O加子程序

号作为第一行,以M17作为最后一行。子程序中间原则上不得出现M30,M17

等指令,但是可以嵌套调用其他子程序。

6

Nc Studio数控系统编程手册

3

主轴功能S

(r/min)。

NCSTUDIO编程指令体系

3.1 主轴功能S 进给功能F 和刀具功能T

主轴功能S 控制主轴转速,其后的数值表示主轴速度,单位为转/每分钟

S 是模态指令,S 功能只有在主轴速度可调节时有效。

当S代码被指定后,直到下一个S代码被指定之前,S代码保持有效。

注:即使在主轴停转状态下,S的值依然保留。

进给速度F

F 指令表示工件被加工时刀具相对于工件的合成进给速度。

借助操作面板上的进给倍率旋钮,F 可在0%~120%进行倍率修调。

F指令与不同的指令配合具有不同的含义:(1)G00,指定快移速度,对当

前加工程序是模态的。(2)G01~G03,指定进给速度,对当前加工程序是模态

的。

3.2 辅助功能M 代码

辅助功能由地址字M 和其后的一到三位数字组成,主要用于控制零件程序

的走向,以及机床各种辅助功能的开关动作。

M 功能有非模态M 功能和模态M 功能二种形式:

 非模态M 功能 (当段有效代码) :只在书写了该代码的程序段中有

效。

7

Nc Studio数控系统编程手册

 模态M 功能(续效代码):一组可相互注销的M 功能,这些功能在被

同一组的另一个功能注销前一直有效。

表3.2 辅助功能M代码

M代码

M00

M01

M02

M03

M04

M05

M06

M08

含义

程序停止

计划停止

程序结束

主轴顺时针旋转

主轴逆时针旋转

主轴停止

换刀

切削液开

M代码

M09

M10

M11

M17

M30

M901

M902

含义

切削液停

主轴夹紧

主轴松开

子程序返回

程序结束,并返回程序头

直接输出指令

回零结束指令

3.3 准备功能G 代码

准备功能G 指令由G 后一或二位数值组成,它用来规定刀具和工件的相对

运动轨迹、机床坐标系、坐标平面、刀具补偿、坐标偏置、子程序调用、暂停等

多种加工操作。

G 功能有非模态G 功能和模态G 功能之分

非模态G 功能:只在所规定的程序段中有效,程序段结束

模态G 功能:一组可相互注销的G 功能,这些功能一旦被

时被注销。

执行,则一直有效,直到被同一组的G 功能注销为止。

有关坐标系和坐标的指令

绝对值编程G90 与相对值编程G91

G90: 绝对值编程,每个编程坐标轴上的编程值是相对于当前工作坐标系原

点的。

G91: 相对值编程,每个编程坐标轴上的编程值是相对于前一位置而言的,

该值等于沿轴移动的距离。

G90 、G91 为模态功能,可相互注销,G90 为缺省值。

G90 、G91 不能用于同一程序段中。

8

Nc Studio数控系统编程手册

编程举例: 如图3.1 所示,使用G90、 G91 编程:要求刀具由原点按顺序

移动到1 、2 、3 点。

图3.1 G90/G91编程

选择合适的编程方式可使编程简化。当图纸尺寸由一个固定基准给定时,采

用绝对方式编程较为方便;而当图纸尺寸是以轮廓顶点之间的间距给出时,采用

相对方式编程较为方便。

工件坐标系设定G92

程序编制时,使用的是工件坐标系,其编程起点即为刀具开始运动的起刀

点。但是在开始运动之前,应将工件坐标系告诉给数控系统。通过把编程中起刀

点的位置在机床坐标系上设定,将两个坐标系联系起来。G92指令能完成参考点

的设定。X

Y

Z : 设定的工件坐标系原点到刀具起点的有向距离。G92 指令

通过设定刀具起点(对刀点)与坐标系原点的相对位置建立工件坐标系。工件坐标

系一但建立,绝对值编

程时的指令值就是在此

坐标系中的坐标值。

3.2 工件坐标系的建立

编程举例: 使用

G92 编程建立如图3.2

所示的工件坐标系。

执行此程序段只建立工件坐标系,刀具并不产生运动。

G92 指令为非模态指令,一般放在一个零件程序的第一段。

临时工件坐标系设定G992

该指令与G92指令的功能是相同的,其区别在于G92指令永久性的更改了

工件坐标系,在整个系统的标准是一致的。G992指令仅仅临时更改了工件坐标

9

Nc Studio数控系统编程手册

系,只影响对加工指令的坐标解析,并且在加工完成后会自动恢复。该指令可以

用于实现阵列功能。实现方法如下:

增加了G992指令,该指令用于实现阵列功能。实现方法为:

1、在加工文件中有关M30的程序段删除。

2、在加工文件开头添加:

O3456

O3455

G65 P3456 L=#3

G00 G90 X=-#1*#3 Y=#2

G906

G992 X0 Y0

M17

#1=30

#2=40

#3=30

#4=30

'X offset

'Y offset

'X item number

'Y item number

G65 P3455 L=#4

G00 G90 X=-#1*#3 Y=-#2*#4

G992 X0 Y0

M30

3、在加工文件末尾添加

G00 G90 X=#1

G906

G992 X0

10

Nc Studio数控系统编程手册

M17

即可实现相应的阵列加工。其中开始的4个参数可以进行调节,也可由

用户设定。

工件坐标系选择G54~G59

G54~G59 是系统预定的6 个工件坐标系(如图3.3所示),可根据需要任意选

用。

图3.3 工件坐标系选择(G54~G59)

这6 个预定工件坐标系的原点在机床坐标系中的值(工件零点偏置值)在参数

设置界面中进行设置,系统自动记忆。

工件坐标系一但选定,后续程序段中绝对值编程时的指令值均为

相对此工件坐标系原点的值。

11

Nc Studio数控系统编程手册

图3.4 G54~G59坐标系的设定

G54~G59 为模态功能,可相互注销,G54 为缺省值。对G54~G59的设定如

图3.4所示。

编程举例. 如图3.5所示,使用工件坐标系编程:要求刀具从当前点移动到

A 点,再从A 点移动到B 点。

图3.5 使用工件坐标系编程

使用该组指令前,先设置好各坐标系的坐标原点在机床坐标系中的坐标值。

使用机床坐标系G53

G53: 使用机床坐标系——程序段方式有效,可编程的零点偏置也一起取

消。

G53为非模态指令,仅在当前程序段有效。

坐标平面选择G17、G18、G19

12

Nc Studio数控系统编程手册

G17:选择XY 平面

G18:选择ZX 平面

G19:选择YZ

平面

该组指令选择进行圆弧插补和刀具半径补偿的平面。

G17、G18、G19 为模态功能(如图3.6所示)

可相互注销,默认为

G17。 图3.6 坐标平面选择

英制/公制指令G20/G21或G70/G71

G20、G70代表英制;G21、G71代表公制。

此G代码在程序块的前面定义。如果给定了一个G代码,后面所有的操作

的单位都会改变。若不指定,则缺省为公制。

比例功能G50/G51

用工件程序编辑的工件轮廓可以按比例进行放大或缩小。

G51:比例开

G50:比例关

默认情况下为G50。

G51 I_ J_ K_ P_

I,J,K指定比例中心。对于省略的坐标轴,继承原来的放大缩小比例不

变。

P指定放大或缩小的比例。

放大和缩小比例的范围:0.000001-99.999999

例如:P0.666666——缩小0.666666倍

P3——放大3倍

当P被省略时,P的放大或缩小比例默认为1,即不放大也不缩小。

编程举例:

Y

20

10

比例中心

N1 G92 X0 Y0

N2 G00 G90 X20 Y10

N3 G51 I20 J20 P5

X

图3.7 比例功能

13

Nc Studio数控系统编程手册

在使用比例功能指令时,应注意如下几点:

 不能把比例系数制定为0。如果指定,将产生报警。

 比例功能对于补偿值无效。

 在执行刀具半径补偿C时,不能给定比例(G51)指令。

 固定循环不能和Z轴指定的比例功能一起执行,如果执行固定

循环时在Z轴上指定比例功能,这产生报警。

 在比例功能执行过程中不能使用下列G代码:G

28,G29,G53,G92。如果使用,产生的结果可能不正确。

 若程序中设定了G51没有G50,则在程序结束后自动关闭比

例。

镜像功能

使用比例功能G51 和 G50,可以实现加工文件的镜像功能,方法就是把比

例指定为-1(也可以是-0.000001~-99.999999,在镜像的同时进行缩放)。

进给控制指令

快速定位G00

G00:快速定位刀具,不对工件进行加工。可以在几个轴上同时执行快速移

动,由此产生一线性轨迹。在该指令解析时,如发现有Z轴方向的运动,为了

确保移动的安全,运动分解为Z向运动和平面运动。如Z轴向上,则先走Z

向,后走平面;反之,则先走平面,后走Z向。

机床数据中规定每个坐标轴快速移动速度的最大值,一个坐标轴运行就以此

速度快速移动。如果快速移动同时在两个轴上执行,则移动速度为两个轴可能的

最大速度。

G00 指令中的快移速度由机床参数“快移进给速度”对各轴分别设定,也

可用F__ 规定,在一个加工程序中是模态的。

G00一直有效,直到被G功能组中其它的指令(G01,G02,G03,…)

取代为止。

14

Nc Studio数控系统编程手册

编程举例:N10 G90 G00 X30 Y30 Z40

线性插补G01

G01以给定的速度进行线性插补移动到给定点,刀具以直线从起始点

移动到目标位置。所有的坐标轴可以同时运行。G01一直有效,直到被G功

能组中其它的指令(G00,G02,G03,…)取代为止。

编程举例:

N05 G00 G90 X40 Y48 Z2 S500 M03

'刀具快速移动到 X40,Y48,Z2,主轴转速为500r/min,顺时针旋转

N10 G01 Z-12 F100 '进刀到Z-12,进给率为100mm/min

N15 X20 Y18 Z-10 '刀具以直线运行到P2

N20 G00 Z100 '快速移动

N25 X-20 Y80

N30 M02 '程序结束

圆弧插补G02、G03

指令格式:G02/G03 X_Y_Z_R_(I_J_K_)F_

G02

点。

G03

点。

在一个程序块中,圆弧路径可以经过两个以上的象限,也可以编程为一个完

整的圆。

G02和G03一直有效,直到被G功能组中其它的指令(G00,G01,…)取

代为止。

圆弧编程可以用半径编程和圆心编程。半径功能字为R*****。在相同

的起始点,终点,半径和相同的方向时可以有两种圆弧,其中,R的值为负

时表明圆弧段大于半圆,而为正时则表明圆弧段小于或等于半圆。R值小于

起点到终点距离的一半时,成为一个以圆弧起点和终点距离一半为半径的

180°圆弧。圆心编程用I、J、K功能字指定圆心,在I、J、K增量方式为真

时,圆心坐标是相对圆弧起点而言的,否则是相对于工件原点的坐标(如果

图纸上标注圆心坐标,可以不用计算,直接编程)。圆弧编程缺省为X-Y平

面,可以用G17、G18、G19指定圆弧插补平面。

除了圆弧插补指令之外,再规定一个和圆弧插补同步运动的另一轴的

直线指令,就可以进行螺旋线插补。螺旋线插补时,可以用K指定螺距,从

以给定进给速度进行逆时针圆弧插补移动到给定

以给定进给速度进行顺时针圆弧插补移动到给定

15

Nc Studio数控系统编程手册

而完成多圈螺旋线。

半径编程不能用于整圆编程,必须分成两部分。

注:当R>0时,圆弧和中心的尖角小于180

0

当R<0时,圆弧和中心的尖角大于180

0

编程举例:对顺圆和逆圆进行插补,如图3.8 所示。

对于图3.8(a)

解法1:G17 G90 G02 X20 Y10 I-2 J-14 F300

解法2:G17 G90 G02 X20 Y10 R12 F300

对于图3.8(b)

解法1:G17 G90 G03 X10 Y22 I-12 J-2 F300

解法2:G17 G90 G03 X10 Y22 R12 F300

Y

起点

22

Y

终点

22

R

1

10

2

终点

10

R

1

2

起点

(8,8)

0

10

(a)

20

(8,8)

X

0

10

(b)

20

X

图3.8 G02/G03编程

编程举例:对整圆进行插补,

如图3.9所示。

解法1:G00 X0 Y0

G02 X0 Y0 I20 J0 F300

解法2:G00 X0 Y0

G02 X20 Y-20 R-20 F300

G02 X0 Y0 R20 F300

编程举例: 使用G03 对图3.10

所示的的螺旋线编程。

Y

0

X

2040

图3.9 整圆编程

16

Nc Studio数控系统编程手册

图3.10 螺旋线编程

图3.10也可用K指定螺距。

G90 G17 G03 X0 Y30 R30 Z10 K10 F300

暂停指令G04

暂停指令用在下述情况:在棱角加工时,为了保证棱角尖锐,使用暂

停指令;对不通孔加工作深度控制时,在刀具进给到规定深度后,用暂停指

令停止进刀,待主轴转一转以上后退刀,以使孔底平整;镗孔完毕后要退刀

时,往往为避免留下螺纹划痕而影响光洁度,应使主轴停止转动,并暂停

1~3秒,待主轴完全停止后再退刀;横向车削时,应在主轴转过一转以后再

退刀,可用暂停指令;在车床上倒角或打中心孔时,为使用倒角表面和中心

孔锥面平整,可用暂停指令、主轴启动、换刀等。

在上一程序段运动结束后(即速度为0)开始执行暂停。G04程序段只

对自身程序段有效,并暂停所给定的时间。

通过在两个程序段之间插入一个G04程序段,可以使加工中断给定的

时间,比如自由切削。时间由P功能字指定。单位为:ms毫秒。

编程举例:G04 P1000 '暂停时间为1000ms

刀具补偿指令

刀具半径补偿G40、G41、G42

G40: 取消刀具半径补偿

G41: 左刀补(在刀具前进方向左侧补偿)

G42: 右刀补(在刀具前进方向右侧补偿)

17

Nc Studio数控系统编程手册

刀具半径补偿平面的切换必须在补偿取消方式下进行。

刀具半径补偿的建立与取消只能用G00 或G01 指令不得是G02 或G03。

此指令需精确地测定刀具的半径,并且用测得的值进行刀具路径偏置值(刀

具半径值)存贮在偏置值内存中,并且在程序中用D代码编程,使刀具偏置号

和刀具半径值相对应。

当G41(G42)被指定时,刀具以等于半径的距离移动到偏置位置。在执行

(G42)之后,刀具偏置立即定位到程序块起始的垂线位置,移动之取决于偏置

值。

图 3.11 刀具补偿方向 (a)左刀补(b)右刀补

指令格式:G17 G41 G00 X10 Y20 D01

D: G41/G42 的参数即刀补号码(D00~D07),它代表了刀补表中对应的半径

补偿值。

刀具,G40

G41

G42

中心

图3.12 刀具半径补偿

编程举例:如图3.12

G17 G01 G41(G42) X_ Y_ F_ D_

18

Nc Studio数控系统编程手册

'直线插补并对刀具进行半径补偿

G02 X_ Y_ I J_ '圆弧插补

注:在补偿过程中和取消补偿时,当前刀具移动的方向不能与之前刀具移动

的方向相反。

例如:G92 G0 X0 Y0

Y

G0 G41 X10 Y10 D01 F1000

10

G1 X20 Y10

当前刀具移

'若在此加上G1 X5 Y10,这条指令

动的方向

错误,与上面指令移动的方向相反,可改

为G1 X1 Y50或不跟其反向的指令。

G0 G40 X0 Y10 '这条指令也是错的,此时刀具移动的方向与之前的方

向正好相反,若改为G0 G40 X0 Y0就对了

刀具长度补偿G43、G44、G49

G49: 取消刀具长度补偿

G43: 正向偏置(补偿轴终点加上偏置值)

G44: 负向偏置(补偿轴终点减去偏置值)

刀具长度补偿功能用于补偿刀具长度的偏差,它是从Z轴坐标指令值中加

上或减去已存贮的刀具偏置值。

G43和G44具有模态的功能,当G43或G44被编程时,它将一直保持有

效,并由G49指令取消。

编程举例:G17 G43 G00 X20 Y30 Z10 H01

上面的指令中H为 G43/G44 的参数,即刀具长度补偿偏置号(H00~H07),

它代表了刀补表中对应的长度补偿值。

长度补偿后的刀尖位置

之前刀具移

动的方向

01020

X

Z

长度补偿前的刀尖位置

1

0

0

X 轴

3

图 3.13 刀具长度补偿

编程举例:如图 3.13

19

Nc Studio数控系统编程手册

G90 G00 X5 Z0 F300

G43 G0 Z10 H1 '对刀具进行长度补偿

G01 Z-10 F1000

固定循环功能

数控铣床配备的固定循环功能,主要用于孔加工,包括钻孔、镗孔、

攻螺纹等。使用一个程序段就可以完成一个孔加工的全部动作。继续加工孔

时,如果孔加工的动作无需变更,则程序中所有模态的数据可以不写,因此

可以大大简化程序。

固定循环的动作

孔加工固定循环通常由以下6个动作组成:

动作1——X轴和Y轴定位 使刀具快速定位到孔加工的位置。

动作2——快进到R点 刀具自初始点快速进给到R点。

动作3——孔加工 以切削进给的方式执行孔加工的动作。

动作4——在孔底的动作 包括暂停、主轴准停、刀具移位等等的动作。

动作5——返回到R点 继续孔的加工而又可以安全移动刀具时选择R点。

动作6——快速返回到初始点 孔加工完成后一般应选择初始点。

1. 初始平面

初始平面是为安全下刀而规定的一个平面。初始平面到零件表面的距离

可以任意设定在一个安全的高度上。

2. R点平面

R点平面又叫做R参考平面,这个平面是刀具下刀时自快进转为工进的高度

平面,距工件表面的距离主要考虑工件表面尺寸的变化,一般可取2~5mm。

3. 孔底平面

加工盲孔时孔底平面就是孔底的Z轴高度,加工通孔时一般刀具还要伸出

工件底平面一段距离,主要是保证全部孔深都加工到尺寸,钻削加工时还应考虑

钻头对孔深的影响。

孔加工循环与平面选择指令(G17、G18、G19)无关,即不管选择了哪个

平面,孔加工都是在XY平面上定位并在Z轴方向上钻孔。

固定循环的代码

1. 数据形式

固定循环指令中的地址R与地址Z的数据以增量方式(G91)指定,R是指

20

Nc Studio数控系统编程手册

自初始点到R点的距离,Z是指自R点到孔底平面上Z点的距离(参见图

3.14)

初始点

R点

Z

Z点

R

图3.14 固定循环

2. 孔加工方式 Gxx

孔加工方式的指令一般格式如下:

Gxx X_Y_Z_R_Q_P_F_L_;

X_Y_:以增量方式指定要加工孔的位置。

Z_:指定孔底平面的位置。

R_:指定R平面的位置。

Q_:在G73或G83方式中用来指定每次加工的深度(增量值且为正

值)。

P_:用来指定刀具在孔底的暂停时间,与在G04中指定P的时间单

位一样,即以ms为单位,不使用小数点。

F_:指定孔加工切削时进给速度。这个指令是模态的,即使取消了

固定循环,在其后的加工中仍然有效。

L_:指定孔加工重复的次数,忽略这个参数时就认为是L1。在G91

方式下用一个程序段就能实现分布在一条直线上的若干个等距孔的加

工。L这个指令仅在被指定的程序段中才有效。

孔加工方式的指令以及Z、R、Q、P等指令都是模态的,只是在取消孔加工

方式时才被清除,因此只要在开始时指定了这些指令,在后面连续的加工中不必

重新指定。如果仅仅是某个孔加工数据发生变化(如孔深有变化),仅修改需要

变化的数据即可。

取消孔加工方式用G80,而如果中间出现了任何01组的G代码,则孔加工

的方式也会自动取消。因此用01组的G代码取消固定循环其效果与用G80是完

21

Nc Studio数控系统编程手册

全一样的。

固定循环指令

以下对各种孔加工方式作一简要说明:

1.高速深孔往复排屑钻G73

指令格式为:G73 X_Y_Z_R_Q_ F_ L_;

孔加工动作如图3.15所示。通过Z轴方向的间断进给可以比较容易地实现

断屑和排屑。用Q写入每一次的加工深度,退刀量“”由参数(#51)设定。

(X,Y)

(X,Y)

Z

R

Z

R

Q

δ

Q

δ

Q

Q

δ

δ

Q

Q

δ

Z

Z

图3.15 G73加工过程 图3.16 G83加工过程

2.深孔往复排屑钻G83

指令格式为:G83 X_Y_Z_R_Q_ F_ L_;

孔加工的动作如图3.16所示。与G73略有不同的是每次刀具间歇进给后回

退至R点平面。此处的“”表示刀具间断进给每次下降时由快进转为工进的那

一点至前一次切削进给下降点之间的距离,该距离由参数“#51”来设定。当要

加工的孔较深时可采用此方式。

3.反向攻丝G74与攻丝G84

G74指令格式为:G74 X_Y_Z_R_P_ F_ L_;

G84指令格式为:G84 X_Y_Z_R_P_ F_ L_;

孔加工动作分别如图3.17和如图3.18所示。G74和G84指令格式完全相

同,根据主轴转速和螺纹螺距计算F值。执行G84指令前主轴应该处于正转,

加工到孔底后主轴反转,返回到R点平面后主轴恢复正转;执行G74指令前主

轴应该处于反转,加工到孔底后主轴正转,返回到R点平面后主轴恢复反转。

在攻螺纹期间忽略进给倍率且不能停车,即使使用了进给保持,加工也不能停

止,直至完成该固定循环。

22

Nc Studio数控系统编程手册

(X,Y)

Z

主轴反转

R

(X,Y)

Z

主轴正转

R

延时后

主轴正转

Z

延时后

主轴反转

Z

图3.17 G74指令的加工过程 图3.18 G84指令的加工过程

(X,Y)(X,Y)

Z

R

Z

R

延时(P)

ZZ

图3.19 G81指令的加工过程 图3.20 G82指令的加工过程

4.钻孔G81与锪孔G82

G81的指令格式为:G81 X_Y_Z_R_ F_ L_;

G82的指令格式为:G82 X_Y_Z_R_P_ F_ L_;

孔加工动作分别如图3.19和如图3.20所示。G82与G81比较唯一不同之处

是G82在孔底增加了暂停(延时),因而适用于锪孔或镗阶梯孔,而G81是用

于一般的钻孔。

(X,Y)(X,Y)

Z

R

Z

R

延时(P)

ZZ

图3.21 G85指令的加工过程 图3.22 G89指令的加工过程

5.精镗孔G85与精阶梯镗孔G89

G85指令格式为:G85 X_Y_Z_R_ F_ L_;

G89指令格式为:G89 X_Y_Z_R_P_ F_ L_;

23

Nc Studio数控系统编程手册

孔加工动作分别如图3.21和如图3.22所示。这两种孔加工方式,刀具是以

切削进给的方式加工到孔底,然后又以切削进给的方式返回到R点平面,因此

适用于精镗孔等情况,G89在孔底有延时。

6.精镗G76

指令格式为: G76 X_Y_Z_R_ U_ V_ P_ F_ L_;

孔加工动作如图3.23所示。加工到孔底有暂停,并且主轴准停,然后刀具

以参数“CYCP”的速度沿X、Y轴分别偏移U、V的距离。这种方式镗孔可以

保证提刀时不至于划伤内孔表面。

(X,Y)

主轴启动

R

偏移速度

(CYCP)

主轴

准停

延时

偏移

(U,V)

Z

主轴停止

Z

(X,Y)

ZZ

主轴启动

R

图3.23 G76指令的加工过程 图3.24 G86指令的加工过程

7.镗孔G86

指令格式为:G86X_Y_Z_R_ F_ L_;

孔加工动作如图3.24所示。加工到孔底后主轴停止,返回到R平面后,主

轴再重新启动。采用这种方式加工,如果连续加工的孔间距较小,可能出现刀具

已经定位到下一个孔加工的位置而主轴尚未到达规定的转速,显然不允许出现这

种情况,为此可以在各孔加工之间加入暂停G04,以使主轴获得规定的转速。在

使用固定循环G74与G84时也有类似的情况,同样应注意避免。

编程举例

采用重复固定循环方式加工图3.25所示的各孔。

程序清单如下:

N01 G90 X0. Y0. Z100.

N02 G00 X-50. Y51.963 M03 S800

N03 Z20. M08 F4000

N04 G91 G81 X20. Z-18. F4000 R-17. L4

24

Nc Studio数控系统编程手册

N05 X10. Y-17.321

N06 X-20. L4

N07 X-10. Y-17.321

N08 X20. L5

N09 X10. Y-17.321

N10 X-20. L6

N11 X10. Y-17.321

N12 X20. L5

N13 X-10. Y-17.321

N14 X-20 L4 图

复固定循环加工例子

N15 X10 Y-17.321

N16 X20. L3

N17 G80 M09

N18 G90 G00 Z100.

N19 X0. Y0. M05

N20 M30

37

Φ

10

通孔

δ=10

3.25 重

3.4 高级功能

子程序调用指令G65

格式:

G65 P_ L_ (自变量定义)

P:指定调用的子程序号

L:子程序所执行的次数

程序号通过P来定义的宏程序被调用且执行L次,L缺省值为1。

对于用户宏程序,如果需要自变量定义,那么在(自变量定义)里定义

它。

通过机床设计者或用户利用一组命令可以写一些特殊程序在

文件中,通过使用G65指令来调用这些程序并执行它们。

这些特殊的程序被定义为公共子程序,它采用与子程序相同的格式。

25

Nc Studio数控系统编程手册

09002;

G65 P9002 L2

(自定义变量)

变量

操作命令

控制命令

M17;

图3.26 子程序调用G65

图3.26 为调用子程序P9002并执行2次后,继续后面的指令。

强制进给倍率指令G903

G903------进给倍率强制为100%

该指令强制使用100%的进给倍率,不管用户把进给倍率调整为何值。

该指令经常用于回机械原点、对刀等功能,用于确保精度要求。

该指令为非模态指令,与运动指令(G00、G01、G02、G03配合使

用)

编程举例:G905 G903 G01 X10 Y20 Z0 F600;’强制F为600mm/min

条件移动指令G904

格式:

G904 Xxx Iii Ppp Yyy Jii Qqq Zzz Kkk Hhh

xx,yy,zz--------X, Y, Z轴的速度和方向

ii,jj,kk -------- X, Y, Z轴移动时需要等待的信号编号

pp,qq,hh ------- X, Y, Z轴移动时需要等待的信号状态 (1:出现, 0:消失)

不需要的轴可以省略,但任何一个轴一旦出现必须完整。

26

Nc Studio数控系统编程手册

强制进给速率指令G905

G903------暂时停止使用缺省速度,使用F指令指定的速度。

该指令在“使用缺省速度”参数有效时,可以暂时屏蔽缺省速度,强制

使用指令速度,经常用于回机械原点、对刀等功能。

该指令为非模态指令,与运动指令(G00、G01、G02、G03配合使

用)

编程举例:G905 G903 G01 X10 Y20 Z0 F600;’强制F为600mm/min

同步指令G906

G906------等待各种参数同步后继续进行后续工作。

当使用系统提供的内部参数时,以及使用G92,M902等有关涉及到改

变系统参数和状态的指令之前,需要首先使用同步指令进行同步。

字串信息指令M801

M801------用于各模块之间传递字符串信息。

格式:

M801”Information”

Information------要传递的字符串信息。

整数信息指令M802

M802------用于各模块之间传递整数信息。

格式:

M801 Pxxxx

xxxx------要传递的 整数信息。

目前有:

27

Nc Studio数控系统编程手册

M802 P196609

M802 P196608

M802 P131072

M802 P131073

'关闭缓冲区

'开启缓冲区

'屏蔽限位

'恢复限位

直接输出指令M901

格式:

M901 Haaaa Pb

aaaa-------输出端口地址索引

b----------端口值

编程举例:M901 H04 P1;’直接输出端口H04为1

回零结束指令M902

格式:

M902 Ha

a----------轴地址,0~3对应X,Y,Z,A

编程举例:

M902 H0;’表明X轴回参考点结束,机床坐标当前点置为“0”

系统提供的内部参数

目前包括:

#SSCURPOS0, #SSCURPOS1, #SSCURPOS2 – 当前位置机械坐标;

#SSCURWORKCOOR0, #SSCURWORKCOOR1, #SSCURWORKCOOR2

– 当前位置工件坐标;

#SSOUTPORT0~63, #SSINPORT0~63 – 当前输入输出状态;

#SSSPINDLEREV – 当前主轴转速。

28

Nc Studio数控系统编程手册

3.5 程序指令中的表达式

目前表达式的定义:

 所有的地址符后可以使用数字的地方均可以用赋值表达式来

取代。

 表达式中间不能有空格类字符(包括空格、制表符、回车

等),必须以有效分隔符结束。

赋值表达式定义如下:

赋值表达式以等号开头,后面跟算术表达式。算术表达式可以使用各种

运算符、函数、变量、括号等组成。

目前可以使用的运算符按照优先级可以分为七个优先级:

1、加+, 减-

2、乘*, 除/

3、乘方^

4、大于>, 小于<

5、非!

6、符号-,括号(),绝对值||

7、变量或函数

目前可以使用的数学函数有:

函 数

Sin

Cos

exp

sqrt

log

tg

ctg

asin

含 义

正弦

余弦

指数

平方根

自然对数

正切

余切

反正弦

备 注

sin(x)

cos(x)

exp(x)=e

x

x>=0

x>=0

tan(x)

1/tan(x)

arcsin(x)

29

Nc Studio数控系统编程手册

acos

atg

int

abs

反余弦

反正切

取整(向

下)

取绝对值

abs(x)

arccos(x)

arctan(x)

相当于floor函数

注意:sin,cos,tg,ctg,asin,acos,atg后面括号里的数表示弧度

例如:sin(5);其中的5代表弧度

表达式在程序指令中的应用:

例1: G=1+2;也就是G3

例2: G00 X3 Y5 Z=5+sin(5+abs(-8));将Z赋值为5+sin(5+abs(-8))

例3: #1=4+log6

G01 X2 Y=#;’将Y赋值为4+log6

例4: G00 X=#2 Y=#3 Z=#4;’#2,#3,#4可以在参数窗口中设置(如

图3.27所示),它将快移到X5,Y8,Z2

图3.27 R参数设置

30

Nc Studio数控系统编程手册

3.6 程序中的注释

程序中的注释采用单引号:

'———行尾式,单引号后面直到行尾的不起作用

如:G00 X3 Y5 '快移到X3,Y5

单引号后面的内容只起到注释作用,在程序运行时并不执行。

3.7 加工文件编程示例

例1 根据图3.28所示零件编程。

图3.28 加工零件图

N10 G92 X0 Y0 Z0 ’建立工件坐标系

N20 G91 G00 X50 Y50 M03 S600 M08

’使用相对坐标,快移到X50 Y50,主轴以600转/分钟速度正转,冷却

打开

N30 G43 Z-17 H01 ’Z轴向下快移17mm,并进行长度补偿

31

Nc Studio数控系统编程手册

N40 G01 Z-16 F400 ’以400mm/min的速度直线插补Z轴向下

16mm

N50 G04 P2000 ’暂停2s

N60 G00 Z16

N70 X50 Y10

N80 G01 Z-25

N100 G00 Z25

N110 X-20 Y-40

N120 G01 Z-40

’Z轴向上快移16mm

’X轴正方向快移50mm,Y轴正方向快移10mm

’Z轴向下直线插补25mm

’Z轴向上快移25mm

’X轴反方向快移20mm, Y轴反方向快移40mm,

’Z轴向下直线插补40mm

N900 G04 P2000 ’暂停2s

N130 G00 Z57 ’Z轴向上快移57mm

N140 G49 X-80 Y-20 M05 M09 M30

’取消长度补偿,X轴反方向移动80mm,Y轴反方向移动20mm,主轴

停,冷却泵关,程序结束并返回

程序头

例2 根据图3.29 所示零件编程。

图3.29 加工零件图

N10 G92 X0 Y0 Z0 ’建立工件坐标系

N20 G90 G41 G00 X45 Y15 D01 M03 S600 M08

’使用绝对坐标,对刀具进行半径补偿,快移到

X45,Y15位置,主轴以600转/分钟的速度正转,

冷却泵打开

N30 G17 G02 X45 Y65 I0 J25 F700

’顺圆弧插补到X45,Y65,半径25mm,进给速度

是700mm/min

’直线插补到X135,Y65 N40 G01 X135 Y65

N50 G17 G02 X135 Y15 I0 J-25 ’顺圆弧插补到X135,Y15,半径25mm

N60 G01 X45 Y15 ’直线插补到X45,Y15

32

Nc Studio数控系统编程手册

N70 G00 G40 X0 Y0 M05 M09 M30

’取消刀具半径补偿,快移到X0,Y0,主轴停,冷却

泵关,程序结束并返回程序头

例3 根据图3.30 所示零件编程。

图3.30 加工零件示意图

N10 G92 X0 Y0 Z0 ’建立工件坐标系

N20 G91 G41 G00 X40 Y30 D01 M03 S600 M08

’使用相对坐标,对刀具进行半径补偿,快移到

X40,Y30位置,主轴以600转/分钟的速度正转,

冷却泵打开

N30 G17 G01 X0 Y70 F800 ’直线插补到X135,Y65,进给速度是

800mm/min

N40 G02 X20 Y20 I20 J0 ’顺圆弧插补到X60,Y120,半径20mm

N50 G01 X40

N60 Y-50

N70 X40

N80 Y50

N90 X70

N100 Y-40

’向X轴正向直线插补40mm

’向Y轴反向直线插补50mm

’向X轴正向直线插补40mm

’向Y轴正向直线插补50mm

’向X轴正向直线插补70mm

’向Y轴反向直线插补40mm

N110 G03 X-50 Y-50 I0 J-50 ’逆圆弧插补到X160,Y30,半径50mm

N120 G01 X-120 ’向X轴反向直线插补120mm

N130 G00 G40 X-40 Y-30 M05 M09 M30

’取消刀具半径补偿,快移到X0,Y0,主轴停,冷却

泵关,程序结束并返回程序头

例4 根据图3.31所示零件编程。(对此零件进行反向攻丝。)

33

Nc Studio数控系统编程手册

Y

65

R 5

15

X

0

Z

0

3

15

5

6580

2

8

图3.31 加工零件示意图

N10 G92 X0 Y0 Z0 ’建立工件坐标系

N20 G91 G00 X-35 Y15 M04 S600 M08

’使用绝对坐标,快移到X-35 Y15,主轴以600转/

分钟的速度反转,冷却泵打开

N30 G43 G00 Z0 H01 ’对刀具进行长度补偿

N40 G74 X50 Y0 Z-28 R-5 P1000 F1000 L2

’以1000mm/min的速度进行反向攻丝,攻丝深度

N60 G00 X50

N70 G80

为28mm,在孔底暂停1ms,重复2次

’快移到X65,Y65,进行攻丝

’取消孔加工

’快移到X0,Y0

N50 G00 X-50 Y50 ’快移到X15,Y65,进行攻丝

N80 G00 X-65 Y-65

N90 G49 M05 M09 M30 ’取消长度补偿,,主轴停,冷却泵关,程序结

34

Nc Studio数控系统编程手册

并返回程序头

例5 根据图3.32 所示零件编程。(要求:向Z轴每次进刀量为2mm)

N10 G92 X0 Y0 Z0

转,冷却泵打开

N30 G65 P9001 L6

序结束并返回程序头

O9001 ’子程序9001

N100 G00 X10 Y0 Z-2 ’快移到X10,Y0,Z-2位置,

N110 G01 Y60 F1000 ’直线插补到X10,Y60,进给速度为

1000mm/min

N120 X50 ’直线插补到X60,Y60

N130 Y-50

N140 X-60

N160 M17

Y

60

Y

R 14

’建立工件坐标系

N20 G91 M03 S800 M08 ’使用相对坐标,主轴以800转/分钟的速度正

’调用子程序9001,重复执行6次

N40 G00 Z12 M05 M09 M30 ’快移到X0,Y0,Z0主轴停,冷却泵关,程

’直线插补到X60,Y10

’直线插补到X0,Y10

’子程序返回

N150 G00 Y-10 ’快速移动到X0,Y0

X

0

2

Z

10

60

X

X

0

Z

2

X

图3.32 加工零件示意图 图3.33 加工零件示意图

例6 根据图3.33 所示零件编程。

1

0

35

1

4

Nc Studio数控系统编程手册

N10 G92 X10 Y0 Z0 ’建立工件坐标系

N20 G91 G00 X-10 D01 M03 S1000 M08

’使用相对坐标,主轴以

转,冷却泵打开

N30 G00 Y14 Z-16 ’快移到X0 Y14 Z-16位置

1000转/分钟的速度正

N40 G02 X0 Y0 I14 J0 F600 ’进行顺圆插补,进给速度为

600mm/min

N50 G01 X1 Z1 F600 ’直线插补,向X和Z轴各进1mm

N60 G02 X0 Y0 I13 J0 F600

N70 G01 X1 Z1 F600

N80 G02 X0 Y0 I12 J0 F600

N90 G01 X1 Z1 F600

N100 G02 X0 Y0 I11 J0 F600

N110 G01 X1 Z1 F600

N120 G02 X0 Y0 I10 J0 F600

N130 G01 X1 Z1 F600

N140 G02 X0 Y0 I9 J0 F600

N150 G01 X1 Z1 F600

N160 G02 X0 Y0 I8 J0 F600

N170 G01 X1 Z1 F600

N180 G02 X0 Y0 I7 J0 F600

N190 G01 X1 Z1 F600

N200 G02 X0 Y0 I6 J0 F600

N210 G01 X1 Z1 F600

N220 G02 X0 Y0 I5 J0 F600

N230 G01 X1 Z1 F600

N240 G02 X0 Y0 I4 J0 F600

N250 G01 X1 Z1 F600

N260 G02 X0 Y0 I3 J0 F600

N270 G01 X1 Z1 F600

N280 G02 X0 Y0 I2 J0 F600

N290 G01 X1 Z1 F600

N300 G02 X0 Y0 I1 J0 F600

N310 G90 G00 X0 Y0 Z0 M05 M09 M30

’快移到X0,Y0,Z0主轴停 冷却泵关,程序结束并返 回程序头

36

Nc Studio数控系统编程手册

3.8 G指令附录表

G指令附录表

G指令

G00

G01

G02/G03

G04

G17,G18,G19

G20/G21或G70/G71

G28

G40

G41/G42

G43/G44

G49

G53

G65

G50/G51

G54~G59

G992

含义

快速定位

直线插补

顺/逆圆弧插补

暂停

平面坐标选择

英制/公制

自动返回参考点

取消刀具半径补偿

左/右刀补

正/负向偏置

取消刀具长度补偿

使用机床坐标系

子程序调用

比例功能

工件坐标系选择

G指令

G90

G91

G92

G73

G83

G74/G84

G81

G82

G85

G89

G76

G86

G903

G904

G905

含义

绝对值编程

相对值编程

工件坐标系设定

高速深孔往复排屑钻

深孔往复排屑钻

反向/正向攻丝

钻孔

锪孔

精镗孔

精阶梯镗孔

精镗

镗孔

强制进给倍率指令

条件移动指令

强制进给速率指令

同步指令 临时工件坐标系设定

G906

37

Nc Studio数控系统编程手册

4

PLT支持

目前本系统支持如下PLT指令:

//PU Pen Up

// PU [ X,Y [,...]] [;]

//PD Pen Down

// PD [ X, Y [,...]] [;]

//PA Plot Absolute

// PA [X, Y [,...]] [;]

//PR Relative Coordinate Pen Move

// PR [X, Y [,...]] [;]

//AA Absolute Arc Plot

// AA X, Y, qc [, qd] [;]

//AR Relative Arc Plot

// AR X, Y, qc [, qd] [;]

//CI Circle

// CI r[, qd] [;]

//EA Edge Absolute Rectangle

// EA X, Y [;]

//ER Edge Relative Rectangle

// ER X, Y [;]

//EW Edge Wedge

// EW r, q1, qc (, qd) [;]

38

Nc Studio数控系统编程手册

其中PA, PR, PU, PD还支持三维的指令。

由于PLT格式有着很强的扩展性,不同的产品有着不同的指令。所以

如果遇到其他不可识别的指令,请尽早与我们公司联系,我们会专门针对您

的系统开发出相应的解释器。

感谢使用我们的产品!

39

2024年5月7日发(作者:魏忆彤)

®

维宏

数控系统NCSTUDIO V5.4

编程手册

二○○四年一月

I

感谢您选择了本公司的产品!

本手册帮助您熟悉本公司的产品,了解系统组成配置等方面的信息。

本资料详细介绍系统安装过程及系统的各项功能,在使用本软件系统及相关

的机床设备之前,请您详细阅读本手册。这将有助于您更好地使用它。

由于软件、硬件的不断更新,您所收到的软硬件在某些方面可能与本手册

的陈述有所出入。在此谨表歉意。

II

目 录

目 录................................................................................................................... III

1

2

3

概述............................................................................................................ 1

1.1

数控编程概述 ............................................................................................... 1

定义零件程序

................................................................................................. 1

准备零件程序

................................................................................................. 1

1.2

数控机床概述 ............................................................................................... 2

机床坐标轴

..................................................................................................... 2

机床坐标系机床零点和机床参考点

............................................................. 3

零件程序的结构 ....................................................................................... 5

2.1

地址和功能符号 ........................................................................................... 5

2.2

程序段的格式 ............................................................................................... 6

2.3

子程序的格式 ............................................................................................... 6

NCSTUDIO编程指令体系 ...................................................................... 7

3.1

主轴功能S

进给功能F

和刀具功能T .......................................................... 7

主轴功能

S....................................................................................................... 7

进给速度

F ...................................................................................................... 7

III

3.2

辅助功能M

代码 .......................................................................................... 7

3.3

准备功能G

代码 ........................................................................................... 8

有关坐标系和坐标的指令

............................................................................. 8

英制

/

公制指令

G20/G21

G70/G71 ............................................................ 13

比例功能

G50/G51 ........................................................................................ 13

镜像功能

....................................................................................................... 14

进给控制指令

............................................................................................... 14

暂停指令

G04 ................................................................................................ 17

刀具补偿指令

............................................................................................... 17

固定循环功能

............................................................................................... 20

3.4

高级功能 ..................................................................................................... 25

子程序调用指令

G65 .................................................................................... 25

强制进给倍率指令

G903 .............................................................................. 26

条件移动指令

G904 ...................................................................................... 26

强制进给速率指令

G905 .............................................................................. 27

同步指令

G906 .............................................................................................. 27

字串信息指令

M801 ..................................................................................... 27

整数信息指令

M802 ..................................................................................... 27

直接输出指令

M901 ..................................................................................... 28

回零结束指令

M902 ..................................................................................... 28

系统提供的内部参数

................................................................................... 28

3.5

程序指令中的表达式 ................................................................................. 29

3.6

程序中的注释 ............................................................................................. 31

3.7

加工文件编程示例 ..................................................................................... 31

3.8

G指令附录表 .............................................................................................. 37

4

PLT支持 .................................................................................................. 38

IV

Nc Studio数控系统编程手册

1

定义零件程序

概述

1.1 数控编程概述

零件程序是由数控装置专用编程语言书写的一系列指令组成的。

数控装置将零件程序转化为对机床的控制动作。

最常使用的程序存储介质是穿孔纸带和磁盘。

准备零件程序

如图11 所示可以用传统的方法手工编制一个零件程序,也可以用一套

CAD/CAM 系统(如目前流行的 MasterCAM 系统)来创建一个零件程序。

1

Nc Studio数控系统编程手册

图1.1 准备一个零件程序

1.2 数控机床概述

机床坐标轴

为简化编程和保证程序的通用性对数控机床的坐标轴和方向命名制订了统一

的标准,规定直线进给坐标轴用X Y Z 表示,常称基本坐标轴。X Y Z 坐标轴的

相互关系用右手定则决定,如图1.2 所示,图中大姆指的指向为X 轴的正方向,

食指指向为Y 轴的正方向,中指指向为Z 轴的正方向。

图1.2 机床坐标轴

2

Nc Studio数控系统编程手册

围绕X Y Z 轴旋转的圆周进给坐标轴分别用A B C 表示,根据右手螺旋定

则,如图所示以大拇指指向+X +Y +Z 方向,则食指中指等的指向是圆周进给运

动的+A +B +C 方向。数控机床的进给运动有的由主轴带动刀具运动来实现,有

的由工作台带着工件运动来实现。上述坐标轴正方向是假定工件不动,刀具相对

于工件做进给运动的方向。如果是工件移动,则用加“’”的字母表示,按相对

运动的关系工件运动的正方向恰好与刀具运动的正方向相反,即有:

+X =-X’ ,+Y =-Y’ ,+Z =-Z’

+A =-A’ ,+B =-B’ ,+C =-C’

同样两者运动的负方向也彼此相反。

机床坐标轴的方向取决于机床的类型和各组成部分的布局,对铣床而言:

——Z 轴与主轴轴线重合,刀具远离工件的方向为正方向(+Z);

——X 轴垂直于Z 轴,并平行于工件的装卡面,如果为单立柱铣床,面对刀

具主轴向立柱方向看,其右运动的方向为X轴的正方向(+X);

——Y 轴与X 轴和Z 轴一起构成遵循右手定则的坐标系统。

机床坐标系机床零点和机床参考点

机床坐标系是机床固有的坐标系,机床坐标系的原点也称为机床原点或机床

零点。在机床经过设计、制造和调整后,这个原点便被确定下来,它是固定的

点。数控装置上电时并不知道机床零点,每个坐标轴的机械行程是由最大和最小

限位开关来限定的。为了正确地在机床工作时建立机床坐标系,通常在每个坐标

轴的移动范围内设置一个机床参考点(测量起点),机床起动时,通常要进行机动

或手动回参考点,以建立机床坐标系。机床参考点可以与机床零点重合,也可以

不重合,通过参数指定机床参考点到机床零点的距离。机床回到了参考点位置,

也就知道了该坐标轴的零点位置,找到所有坐标轴的参考点,CNC 就建立起了

机床坐标系。机床坐标轴的行程范围是由制造商定义,机床坐标轴的有效行程范

围是由软件限位来限定的。机床零点(OM)、 机床参考点(Om) 、机床坐标轴的机

械行程及有效行程的关系如图1.3 所示。

3

Nc Studio数控系统编程手册

Y

X轴机械行程(限位)

X轴有效行程

Y

Om

OM

Y

X

图1.3 机床零点OM和机床参考点Om

4

Nc Studio数控系统编程手册

2

零件程序的结构

一个零件程序是一组被传送到数控装置中去的指令和数据。

一个零件程序是由遵循一定结构、句法和格式规则的若干个程序段组成的,

而每个程序段是由若干个指令字组成的。如图2.1 所示。

图2.1 程序的结构

2.1 地址和功能符号

地址符号及定义见表2.1

表2.1地址符号

地址

符号

D

F

G

H

I

J

K

L

M

N

含 义

刀具半径偏置数

进给率

准备功能

刀具长度偏置数

圆弧中心的X坐标

圆弧中心的Y坐标

圆弧中心的Z坐标

重复数

辅助功能

顺序号

5

B:基本功能

O:选择功能

B,O

B

B,O

B

B,O

B,O

B

B,O

B

B

Nc Studio数控系统编程手册

O

P

Q

R

S

T

X

Y

Z

程序号

在子程序中延时时间,程序号和顺序号的设定

切削深度,固定循环的转换

固定循环的R点/圆弧的半径设定

主轴速度功能

刀具功能

X坐标

Y坐标

Z坐标

B

O,B

O

O,B

B

B

B

B

B

2.2 程序段的格式

一个程序段定义一个将由数控装置执行的指令行。

程序段的格式定义了每个程序段中功能字的句法,如图2.2 所示。

图2.2 程序段格式

2.3 子程序的格式

子程序是一段可以重复调用的加工指令代码。它必须以地址字O加子程序

号作为第一行,以M17作为最后一行。子程序中间原则上不得出现M30,M17

等指令,但是可以嵌套调用其他子程序。

6

Nc Studio数控系统编程手册

3

主轴功能S

(r/min)。

NCSTUDIO编程指令体系

3.1 主轴功能S 进给功能F 和刀具功能T

主轴功能S 控制主轴转速,其后的数值表示主轴速度,单位为转/每分钟

S 是模态指令,S 功能只有在主轴速度可调节时有效。

当S代码被指定后,直到下一个S代码被指定之前,S代码保持有效。

注:即使在主轴停转状态下,S的值依然保留。

进给速度F

F 指令表示工件被加工时刀具相对于工件的合成进给速度。

借助操作面板上的进给倍率旋钮,F 可在0%~120%进行倍率修调。

F指令与不同的指令配合具有不同的含义:(1)G00,指定快移速度,对当

前加工程序是模态的。(2)G01~G03,指定进给速度,对当前加工程序是模态

的。

3.2 辅助功能M 代码

辅助功能由地址字M 和其后的一到三位数字组成,主要用于控制零件程序

的走向,以及机床各种辅助功能的开关动作。

M 功能有非模态M 功能和模态M 功能二种形式:

 非模态M 功能 (当段有效代码) :只在书写了该代码的程序段中有

效。

7

Nc Studio数控系统编程手册

 模态M 功能(续效代码):一组可相互注销的M 功能,这些功能在被

同一组的另一个功能注销前一直有效。

表3.2 辅助功能M代码

M代码

M00

M01

M02

M03

M04

M05

M06

M08

含义

程序停止

计划停止

程序结束

主轴顺时针旋转

主轴逆时针旋转

主轴停止

换刀

切削液开

M代码

M09

M10

M11

M17

M30

M901

M902

含义

切削液停

主轴夹紧

主轴松开

子程序返回

程序结束,并返回程序头

直接输出指令

回零结束指令

3.3 准备功能G 代码

准备功能G 指令由G 后一或二位数值组成,它用来规定刀具和工件的相对

运动轨迹、机床坐标系、坐标平面、刀具补偿、坐标偏置、子程序调用、暂停等

多种加工操作。

G 功能有非模态G 功能和模态G 功能之分

非模态G 功能:只在所规定的程序段中有效,程序段结束

模态G 功能:一组可相互注销的G 功能,这些功能一旦被

时被注销。

执行,则一直有效,直到被同一组的G 功能注销为止。

有关坐标系和坐标的指令

绝对值编程G90 与相对值编程G91

G90: 绝对值编程,每个编程坐标轴上的编程值是相对于当前工作坐标系原

点的。

G91: 相对值编程,每个编程坐标轴上的编程值是相对于前一位置而言的,

该值等于沿轴移动的距离。

G90 、G91 为模态功能,可相互注销,G90 为缺省值。

G90 、G91 不能用于同一程序段中。

8

Nc Studio数控系统编程手册

编程举例: 如图3.1 所示,使用G90、 G91 编程:要求刀具由原点按顺序

移动到1 、2 、3 点。

图3.1 G90/G91编程

选择合适的编程方式可使编程简化。当图纸尺寸由一个固定基准给定时,采

用绝对方式编程较为方便;而当图纸尺寸是以轮廓顶点之间的间距给出时,采用

相对方式编程较为方便。

工件坐标系设定G92

程序编制时,使用的是工件坐标系,其编程起点即为刀具开始运动的起刀

点。但是在开始运动之前,应将工件坐标系告诉给数控系统。通过把编程中起刀

点的位置在机床坐标系上设定,将两个坐标系联系起来。G92指令能完成参考点

的设定。X

Y

Z : 设定的工件坐标系原点到刀具起点的有向距离。G92 指令

通过设定刀具起点(对刀点)与坐标系原点的相对位置建立工件坐标系。工件坐标

系一但建立,绝对值编

程时的指令值就是在此

坐标系中的坐标值。

3.2 工件坐标系的建立

编程举例: 使用

G92 编程建立如图3.2

所示的工件坐标系。

执行此程序段只建立工件坐标系,刀具并不产生运动。

G92 指令为非模态指令,一般放在一个零件程序的第一段。

临时工件坐标系设定G992

该指令与G92指令的功能是相同的,其区别在于G92指令永久性的更改了

工件坐标系,在整个系统的标准是一致的。G992指令仅仅临时更改了工件坐标

9

Nc Studio数控系统编程手册

系,只影响对加工指令的坐标解析,并且在加工完成后会自动恢复。该指令可以

用于实现阵列功能。实现方法如下:

增加了G992指令,该指令用于实现阵列功能。实现方法为:

1、在加工文件中有关M30的程序段删除。

2、在加工文件开头添加:

O3456

O3455

G65 P3456 L=#3

G00 G90 X=-#1*#3 Y=#2

G906

G992 X0 Y0

M17

#1=30

#2=40

#3=30

#4=30

'X offset

'Y offset

'X item number

'Y item number

G65 P3455 L=#4

G00 G90 X=-#1*#3 Y=-#2*#4

G992 X0 Y0

M30

3、在加工文件末尾添加

G00 G90 X=#1

G906

G992 X0

10

Nc Studio数控系统编程手册

M17

即可实现相应的阵列加工。其中开始的4个参数可以进行调节,也可由

用户设定。

工件坐标系选择G54~G59

G54~G59 是系统预定的6 个工件坐标系(如图3.3所示),可根据需要任意选

用。

图3.3 工件坐标系选择(G54~G59)

这6 个预定工件坐标系的原点在机床坐标系中的值(工件零点偏置值)在参数

设置界面中进行设置,系统自动记忆。

工件坐标系一但选定,后续程序段中绝对值编程时的指令值均为

相对此工件坐标系原点的值。

11

Nc Studio数控系统编程手册

图3.4 G54~G59坐标系的设定

G54~G59 为模态功能,可相互注销,G54 为缺省值。对G54~G59的设定如

图3.4所示。

编程举例. 如图3.5所示,使用工件坐标系编程:要求刀具从当前点移动到

A 点,再从A 点移动到B 点。

图3.5 使用工件坐标系编程

使用该组指令前,先设置好各坐标系的坐标原点在机床坐标系中的坐标值。

使用机床坐标系G53

G53: 使用机床坐标系——程序段方式有效,可编程的零点偏置也一起取

消。

G53为非模态指令,仅在当前程序段有效。

坐标平面选择G17、G18、G19

12

Nc Studio数控系统编程手册

G17:选择XY 平面

G18:选择ZX 平面

G19:选择YZ

平面

该组指令选择进行圆弧插补和刀具半径补偿的平面。

G17、G18、G19 为模态功能(如图3.6所示)

可相互注销,默认为

G17。 图3.6 坐标平面选择

英制/公制指令G20/G21或G70/G71

G20、G70代表英制;G21、G71代表公制。

此G代码在程序块的前面定义。如果给定了一个G代码,后面所有的操作

的单位都会改变。若不指定,则缺省为公制。

比例功能G50/G51

用工件程序编辑的工件轮廓可以按比例进行放大或缩小。

G51:比例开

G50:比例关

默认情况下为G50。

G51 I_ J_ K_ P_

I,J,K指定比例中心。对于省略的坐标轴,继承原来的放大缩小比例不

变。

P指定放大或缩小的比例。

放大和缩小比例的范围:0.000001-99.999999

例如:P0.666666——缩小0.666666倍

P3——放大3倍

当P被省略时,P的放大或缩小比例默认为1,即不放大也不缩小。

编程举例:

Y

20

10

比例中心

N1 G92 X0 Y0

N2 G00 G90 X20 Y10

N3 G51 I20 J20 P5

X

图3.7 比例功能

13

Nc Studio数控系统编程手册

在使用比例功能指令时,应注意如下几点:

 不能把比例系数制定为0。如果指定,将产生报警。

 比例功能对于补偿值无效。

 在执行刀具半径补偿C时,不能给定比例(G51)指令。

 固定循环不能和Z轴指定的比例功能一起执行,如果执行固定

循环时在Z轴上指定比例功能,这产生报警。

 在比例功能执行过程中不能使用下列G代码:G

28,G29,G53,G92。如果使用,产生的结果可能不正确。

 若程序中设定了G51没有G50,则在程序结束后自动关闭比

例。

镜像功能

使用比例功能G51 和 G50,可以实现加工文件的镜像功能,方法就是把比

例指定为-1(也可以是-0.000001~-99.999999,在镜像的同时进行缩放)。

进给控制指令

快速定位G00

G00:快速定位刀具,不对工件进行加工。可以在几个轴上同时执行快速移

动,由此产生一线性轨迹。在该指令解析时,如发现有Z轴方向的运动,为了

确保移动的安全,运动分解为Z向运动和平面运动。如Z轴向上,则先走Z

向,后走平面;反之,则先走平面,后走Z向。

机床数据中规定每个坐标轴快速移动速度的最大值,一个坐标轴运行就以此

速度快速移动。如果快速移动同时在两个轴上执行,则移动速度为两个轴可能的

最大速度。

G00 指令中的快移速度由机床参数“快移进给速度”对各轴分别设定,也

可用F__ 规定,在一个加工程序中是模态的。

G00一直有效,直到被G功能组中其它的指令(G01,G02,G03,…)

取代为止。

14

Nc Studio数控系统编程手册

编程举例:N10 G90 G00 X30 Y30 Z40

线性插补G01

G01以给定的速度进行线性插补移动到给定点,刀具以直线从起始点

移动到目标位置。所有的坐标轴可以同时运行。G01一直有效,直到被G功

能组中其它的指令(G00,G02,G03,…)取代为止。

编程举例:

N05 G00 G90 X40 Y48 Z2 S500 M03

'刀具快速移动到 X40,Y48,Z2,主轴转速为500r/min,顺时针旋转

N10 G01 Z-12 F100 '进刀到Z-12,进给率为100mm/min

N15 X20 Y18 Z-10 '刀具以直线运行到P2

N20 G00 Z100 '快速移动

N25 X-20 Y80

N30 M02 '程序结束

圆弧插补G02、G03

指令格式:G02/G03 X_Y_Z_R_(I_J_K_)F_

G02

点。

G03

点。

在一个程序块中,圆弧路径可以经过两个以上的象限,也可以编程为一个完

整的圆。

G02和G03一直有效,直到被G功能组中其它的指令(G00,G01,…)取

代为止。

圆弧编程可以用半径编程和圆心编程。半径功能字为R*****。在相同

的起始点,终点,半径和相同的方向时可以有两种圆弧,其中,R的值为负

时表明圆弧段大于半圆,而为正时则表明圆弧段小于或等于半圆。R值小于

起点到终点距离的一半时,成为一个以圆弧起点和终点距离一半为半径的

180°圆弧。圆心编程用I、J、K功能字指定圆心,在I、J、K增量方式为真

时,圆心坐标是相对圆弧起点而言的,否则是相对于工件原点的坐标(如果

图纸上标注圆心坐标,可以不用计算,直接编程)。圆弧编程缺省为X-Y平

面,可以用G17、G18、G19指定圆弧插补平面。

除了圆弧插补指令之外,再规定一个和圆弧插补同步运动的另一轴的

直线指令,就可以进行螺旋线插补。螺旋线插补时,可以用K指定螺距,从

以给定进给速度进行逆时针圆弧插补移动到给定

以给定进给速度进行顺时针圆弧插补移动到给定

15

Nc Studio数控系统编程手册

而完成多圈螺旋线。

半径编程不能用于整圆编程,必须分成两部分。

注:当R>0时,圆弧和中心的尖角小于180

0

当R<0时,圆弧和中心的尖角大于180

0

编程举例:对顺圆和逆圆进行插补,如图3.8 所示。

对于图3.8(a)

解法1:G17 G90 G02 X20 Y10 I-2 J-14 F300

解法2:G17 G90 G02 X20 Y10 R12 F300

对于图3.8(b)

解法1:G17 G90 G03 X10 Y22 I-12 J-2 F300

解法2:G17 G90 G03 X10 Y22 R12 F300

Y

起点

22

Y

终点

22

R

1

10

2

终点

10

R

1

2

起点

(8,8)

0

10

(a)

20

(8,8)

X

0

10

(b)

20

X

图3.8 G02/G03编程

编程举例:对整圆进行插补,

如图3.9所示。

解法1:G00 X0 Y0

G02 X0 Y0 I20 J0 F300

解法2:G00 X0 Y0

G02 X20 Y-20 R-20 F300

G02 X0 Y0 R20 F300

编程举例: 使用G03 对图3.10

所示的的螺旋线编程。

Y

0

X

2040

图3.9 整圆编程

16

Nc Studio数控系统编程手册

图3.10 螺旋线编程

图3.10也可用K指定螺距。

G90 G17 G03 X0 Y30 R30 Z10 K10 F300

暂停指令G04

暂停指令用在下述情况:在棱角加工时,为了保证棱角尖锐,使用暂

停指令;对不通孔加工作深度控制时,在刀具进给到规定深度后,用暂停指

令停止进刀,待主轴转一转以上后退刀,以使孔底平整;镗孔完毕后要退刀

时,往往为避免留下螺纹划痕而影响光洁度,应使主轴停止转动,并暂停

1~3秒,待主轴完全停止后再退刀;横向车削时,应在主轴转过一转以后再

退刀,可用暂停指令;在车床上倒角或打中心孔时,为使用倒角表面和中心

孔锥面平整,可用暂停指令、主轴启动、换刀等。

在上一程序段运动结束后(即速度为0)开始执行暂停。G04程序段只

对自身程序段有效,并暂停所给定的时间。

通过在两个程序段之间插入一个G04程序段,可以使加工中断给定的

时间,比如自由切削。时间由P功能字指定。单位为:ms毫秒。

编程举例:G04 P1000 '暂停时间为1000ms

刀具补偿指令

刀具半径补偿G40、G41、G42

G40: 取消刀具半径补偿

G41: 左刀补(在刀具前进方向左侧补偿)

G42: 右刀补(在刀具前进方向右侧补偿)

17

Nc Studio数控系统编程手册

刀具半径补偿平面的切换必须在补偿取消方式下进行。

刀具半径补偿的建立与取消只能用G00 或G01 指令不得是G02 或G03。

此指令需精确地测定刀具的半径,并且用测得的值进行刀具路径偏置值(刀

具半径值)存贮在偏置值内存中,并且在程序中用D代码编程,使刀具偏置号

和刀具半径值相对应。

当G41(G42)被指定时,刀具以等于半径的距离移动到偏置位置。在执行

(G42)之后,刀具偏置立即定位到程序块起始的垂线位置,移动之取决于偏置

值。

图 3.11 刀具补偿方向 (a)左刀补(b)右刀补

指令格式:G17 G41 G00 X10 Y20 D01

D: G41/G42 的参数即刀补号码(D00~D07),它代表了刀补表中对应的半径

补偿值。

刀具,G40

G41

G42

中心

图3.12 刀具半径补偿

编程举例:如图3.12

G17 G01 G41(G42) X_ Y_ F_ D_

18

Nc Studio数控系统编程手册

'直线插补并对刀具进行半径补偿

G02 X_ Y_ I J_ '圆弧插补

注:在补偿过程中和取消补偿时,当前刀具移动的方向不能与之前刀具移动

的方向相反。

例如:G92 G0 X0 Y0

Y

G0 G41 X10 Y10 D01 F1000

10

G1 X20 Y10

当前刀具移

'若在此加上G1 X5 Y10,这条指令

动的方向

错误,与上面指令移动的方向相反,可改

为G1 X1 Y50或不跟其反向的指令。

G0 G40 X0 Y10 '这条指令也是错的,此时刀具移动的方向与之前的方

向正好相反,若改为G0 G40 X0 Y0就对了

刀具长度补偿G43、G44、G49

G49: 取消刀具长度补偿

G43: 正向偏置(补偿轴终点加上偏置值)

G44: 负向偏置(补偿轴终点减去偏置值)

刀具长度补偿功能用于补偿刀具长度的偏差,它是从Z轴坐标指令值中加

上或减去已存贮的刀具偏置值。

G43和G44具有模态的功能,当G43或G44被编程时,它将一直保持有

效,并由G49指令取消。

编程举例:G17 G43 G00 X20 Y30 Z10 H01

上面的指令中H为 G43/G44 的参数,即刀具长度补偿偏置号(H00~H07),

它代表了刀补表中对应的长度补偿值。

长度补偿后的刀尖位置

之前刀具移

动的方向

01020

X

Z

长度补偿前的刀尖位置

1

0

0

X 轴

3

图 3.13 刀具长度补偿

编程举例:如图 3.13

19

Nc Studio数控系统编程手册

G90 G00 X5 Z0 F300

G43 G0 Z10 H1 '对刀具进行长度补偿

G01 Z-10 F1000

固定循环功能

数控铣床配备的固定循环功能,主要用于孔加工,包括钻孔、镗孔、

攻螺纹等。使用一个程序段就可以完成一个孔加工的全部动作。继续加工孔

时,如果孔加工的动作无需变更,则程序中所有模态的数据可以不写,因此

可以大大简化程序。

固定循环的动作

孔加工固定循环通常由以下6个动作组成:

动作1——X轴和Y轴定位 使刀具快速定位到孔加工的位置。

动作2——快进到R点 刀具自初始点快速进给到R点。

动作3——孔加工 以切削进给的方式执行孔加工的动作。

动作4——在孔底的动作 包括暂停、主轴准停、刀具移位等等的动作。

动作5——返回到R点 继续孔的加工而又可以安全移动刀具时选择R点。

动作6——快速返回到初始点 孔加工完成后一般应选择初始点。

1. 初始平面

初始平面是为安全下刀而规定的一个平面。初始平面到零件表面的距离

可以任意设定在一个安全的高度上。

2. R点平面

R点平面又叫做R参考平面,这个平面是刀具下刀时自快进转为工进的高度

平面,距工件表面的距离主要考虑工件表面尺寸的变化,一般可取2~5mm。

3. 孔底平面

加工盲孔时孔底平面就是孔底的Z轴高度,加工通孔时一般刀具还要伸出

工件底平面一段距离,主要是保证全部孔深都加工到尺寸,钻削加工时还应考虑

钻头对孔深的影响。

孔加工循环与平面选择指令(G17、G18、G19)无关,即不管选择了哪个

平面,孔加工都是在XY平面上定位并在Z轴方向上钻孔。

固定循环的代码

1. 数据形式

固定循环指令中的地址R与地址Z的数据以增量方式(G91)指定,R是指

20

Nc Studio数控系统编程手册

自初始点到R点的距离,Z是指自R点到孔底平面上Z点的距离(参见图

3.14)

初始点

R点

Z

Z点

R

图3.14 固定循环

2. 孔加工方式 Gxx

孔加工方式的指令一般格式如下:

Gxx X_Y_Z_R_Q_P_F_L_;

X_Y_:以增量方式指定要加工孔的位置。

Z_:指定孔底平面的位置。

R_:指定R平面的位置。

Q_:在G73或G83方式中用来指定每次加工的深度(增量值且为正

值)。

P_:用来指定刀具在孔底的暂停时间,与在G04中指定P的时间单

位一样,即以ms为单位,不使用小数点。

F_:指定孔加工切削时进给速度。这个指令是模态的,即使取消了

固定循环,在其后的加工中仍然有效。

L_:指定孔加工重复的次数,忽略这个参数时就认为是L1。在G91

方式下用一个程序段就能实现分布在一条直线上的若干个等距孔的加

工。L这个指令仅在被指定的程序段中才有效。

孔加工方式的指令以及Z、R、Q、P等指令都是模态的,只是在取消孔加工

方式时才被清除,因此只要在开始时指定了这些指令,在后面连续的加工中不必

重新指定。如果仅仅是某个孔加工数据发生变化(如孔深有变化),仅修改需要

变化的数据即可。

取消孔加工方式用G80,而如果中间出现了任何01组的G代码,则孔加工

的方式也会自动取消。因此用01组的G代码取消固定循环其效果与用G80是完

21

Nc Studio数控系统编程手册

全一样的。

固定循环指令

以下对各种孔加工方式作一简要说明:

1.高速深孔往复排屑钻G73

指令格式为:G73 X_Y_Z_R_Q_ F_ L_;

孔加工动作如图3.15所示。通过Z轴方向的间断进给可以比较容易地实现

断屑和排屑。用Q写入每一次的加工深度,退刀量“”由参数(#51)设定。

(X,Y)

(X,Y)

Z

R

Z

R

Q

δ

Q

δ

Q

Q

δ

δ

Q

Q

δ

Z

Z

图3.15 G73加工过程 图3.16 G83加工过程

2.深孔往复排屑钻G83

指令格式为:G83 X_Y_Z_R_Q_ F_ L_;

孔加工的动作如图3.16所示。与G73略有不同的是每次刀具间歇进给后回

退至R点平面。此处的“”表示刀具间断进给每次下降时由快进转为工进的那

一点至前一次切削进给下降点之间的距离,该距离由参数“#51”来设定。当要

加工的孔较深时可采用此方式。

3.反向攻丝G74与攻丝G84

G74指令格式为:G74 X_Y_Z_R_P_ F_ L_;

G84指令格式为:G84 X_Y_Z_R_P_ F_ L_;

孔加工动作分别如图3.17和如图3.18所示。G74和G84指令格式完全相

同,根据主轴转速和螺纹螺距计算F值。执行G84指令前主轴应该处于正转,

加工到孔底后主轴反转,返回到R点平面后主轴恢复正转;执行G74指令前主

轴应该处于反转,加工到孔底后主轴正转,返回到R点平面后主轴恢复反转。

在攻螺纹期间忽略进给倍率且不能停车,即使使用了进给保持,加工也不能停

止,直至完成该固定循环。

22

Nc Studio数控系统编程手册

(X,Y)

Z

主轴反转

R

(X,Y)

Z

主轴正转

R

延时后

主轴正转

Z

延时后

主轴反转

Z

图3.17 G74指令的加工过程 图3.18 G84指令的加工过程

(X,Y)(X,Y)

Z

R

Z

R

延时(P)

ZZ

图3.19 G81指令的加工过程 图3.20 G82指令的加工过程

4.钻孔G81与锪孔G82

G81的指令格式为:G81 X_Y_Z_R_ F_ L_;

G82的指令格式为:G82 X_Y_Z_R_P_ F_ L_;

孔加工动作分别如图3.19和如图3.20所示。G82与G81比较唯一不同之处

是G82在孔底增加了暂停(延时),因而适用于锪孔或镗阶梯孔,而G81是用

于一般的钻孔。

(X,Y)(X,Y)

Z

R

Z

R

延时(P)

ZZ

图3.21 G85指令的加工过程 图3.22 G89指令的加工过程

5.精镗孔G85与精阶梯镗孔G89

G85指令格式为:G85 X_Y_Z_R_ F_ L_;

G89指令格式为:G89 X_Y_Z_R_P_ F_ L_;

23

Nc Studio数控系统编程手册

孔加工动作分别如图3.21和如图3.22所示。这两种孔加工方式,刀具是以

切削进给的方式加工到孔底,然后又以切削进给的方式返回到R点平面,因此

适用于精镗孔等情况,G89在孔底有延时。

6.精镗G76

指令格式为: G76 X_Y_Z_R_ U_ V_ P_ F_ L_;

孔加工动作如图3.23所示。加工到孔底有暂停,并且主轴准停,然后刀具

以参数“CYCP”的速度沿X、Y轴分别偏移U、V的距离。这种方式镗孔可以

保证提刀时不至于划伤内孔表面。

(X,Y)

主轴启动

R

偏移速度

(CYCP)

主轴

准停

延时

偏移

(U,V)

Z

主轴停止

Z

(X,Y)

ZZ

主轴启动

R

图3.23 G76指令的加工过程 图3.24 G86指令的加工过程

7.镗孔G86

指令格式为:G86X_Y_Z_R_ F_ L_;

孔加工动作如图3.24所示。加工到孔底后主轴停止,返回到R平面后,主

轴再重新启动。采用这种方式加工,如果连续加工的孔间距较小,可能出现刀具

已经定位到下一个孔加工的位置而主轴尚未到达规定的转速,显然不允许出现这

种情况,为此可以在各孔加工之间加入暂停G04,以使主轴获得规定的转速。在

使用固定循环G74与G84时也有类似的情况,同样应注意避免。

编程举例

采用重复固定循环方式加工图3.25所示的各孔。

程序清单如下:

N01 G90 X0. Y0. Z100.

N02 G00 X-50. Y51.963 M03 S800

N03 Z20. M08 F4000

N04 G91 G81 X20. Z-18. F4000 R-17. L4

24

Nc Studio数控系统编程手册

N05 X10. Y-17.321

N06 X-20. L4

N07 X-10. Y-17.321

N08 X20. L5

N09 X10. Y-17.321

N10 X-20. L6

N11 X10. Y-17.321

N12 X20. L5

N13 X-10. Y-17.321

N14 X-20 L4 图

复固定循环加工例子

N15 X10 Y-17.321

N16 X20. L3

N17 G80 M09

N18 G90 G00 Z100.

N19 X0. Y0. M05

N20 M30

37

Φ

10

通孔

δ=10

3.25 重

3.4 高级功能

子程序调用指令G65

格式:

G65 P_ L_ (自变量定义)

P:指定调用的子程序号

L:子程序所执行的次数

程序号通过P来定义的宏程序被调用且执行L次,L缺省值为1。

对于用户宏程序,如果需要自变量定义,那么在(自变量定义)里定义

它。

通过机床设计者或用户利用一组命令可以写一些特殊程序在

文件中,通过使用G65指令来调用这些程序并执行它们。

这些特殊的程序被定义为公共子程序,它采用与子程序相同的格式。

25

Nc Studio数控系统编程手册

09002;

G65 P9002 L2

(自定义变量)

变量

操作命令

控制命令

M17;

图3.26 子程序调用G65

图3.26 为调用子程序P9002并执行2次后,继续后面的指令。

强制进给倍率指令G903

G903------进给倍率强制为100%

该指令强制使用100%的进给倍率,不管用户把进给倍率调整为何值。

该指令经常用于回机械原点、对刀等功能,用于确保精度要求。

该指令为非模态指令,与运动指令(G00、G01、G02、G03配合使

用)

编程举例:G905 G903 G01 X10 Y20 Z0 F600;’强制F为600mm/min

条件移动指令G904

格式:

G904 Xxx Iii Ppp Yyy Jii Qqq Zzz Kkk Hhh

xx,yy,zz--------X, Y, Z轴的速度和方向

ii,jj,kk -------- X, Y, Z轴移动时需要等待的信号编号

pp,qq,hh ------- X, Y, Z轴移动时需要等待的信号状态 (1:出现, 0:消失)

不需要的轴可以省略,但任何一个轴一旦出现必须完整。

26

Nc Studio数控系统编程手册

强制进给速率指令G905

G903------暂时停止使用缺省速度,使用F指令指定的速度。

该指令在“使用缺省速度”参数有效时,可以暂时屏蔽缺省速度,强制

使用指令速度,经常用于回机械原点、对刀等功能。

该指令为非模态指令,与运动指令(G00、G01、G02、G03配合使

用)

编程举例:G905 G903 G01 X10 Y20 Z0 F600;’强制F为600mm/min

同步指令G906

G906------等待各种参数同步后继续进行后续工作。

当使用系统提供的内部参数时,以及使用G92,M902等有关涉及到改

变系统参数和状态的指令之前,需要首先使用同步指令进行同步。

字串信息指令M801

M801------用于各模块之间传递字符串信息。

格式:

M801”Information”

Information------要传递的字符串信息。

整数信息指令M802

M802------用于各模块之间传递整数信息。

格式:

M801 Pxxxx

xxxx------要传递的 整数信息。

目前有:

27

Nc Studio数控系统编程手册

M802 P196609

M802 P196608

M802 P131072

M802 P131073

'关闭缓冲区

'开启缓冲区

'屏蔽限位

'恢复限位

直接输出指令M901

格式:

M901 Haaaa Pb

aaaa-------输出端口地址索引

b----------端口值

编程举例:M901 H04 P1;’直接输出端口H04为1

回零结束指令M902

格式:

M902 Ha

a----------轴地址,0~3对应X,Y,Z,A

编程举例:

M902 H0;’表明X轴回参考点结束,机床坐标当前点置为“0”

系统提供的内部参数

目前包括:

#SSCURPOS0, #SSCURPOS1, #SSCURPOS2 – 当前位置机械坐标;

#SSCURWORKCOOR0, #SSCURWORKCOOR1, #SSCURWORKCOOR2

– 当前位置工件坐标;

#SSOUTPORT0~63, #SSINPORT0~63 – 当前输入输出状态;

#SSSPINDLEREV – 当前主轴转速。

28

Nc Studio数控系统编程手册

3.5 程序指令中的表达式

目前表达式的定义:

 所有的地址符后可以使用数字的地方均可以用赋值表达式来

取代。

 表达式中间不能有空格类字符(包括空格、制表符、回车

等),必须以有效分隔符结束。

赋值表达式定义如下:

赋值表达式以等号开头,后面跟算术表达式。算术表达式可以使用各种

运算符、函数、变量、括号等组成。

目前可以使用的运算符按照优先级可以分为七个优先级:

1、加+, 减-

2、乘*, 除/

3、乘方^

4、大于>, 小于<

5、非!

6、符号-,括号(),绝对值||

7、变量或函数

目前可以使用的数学函数有:

函 数

Sin

Cos

exp

sqrt

log

tg

ctg

asin

含 义

正弦

余弦

指数

平方根

自然对数

正切

余切

反正弦

备 注

sin(x)

cos(x)

exp(x)=e

x

x>=0

x>=0

tan(x)

1/tan(x)

arcsin(x)

29

Nc Studio数控系统编程手册

acos

atg

int

abs

反余弦

反正切

取整(向

下)

取绝对值

abs(x)

arccos(x)

arctan(x)

相当于floor函数

注意:sin,cos,tg,ctg,asin,acos,atg后面括号里的数表示弧度

例如:sin(5);其中的5代表弧度

表达式在程序指令中的应用:

例1: G=1+2;也就是G3

例2: G00 X3 Y5 Z=5+sin(5+abs(-8));将Z赋值为5+sin(5+abs(-8))

例3: #1=4+log6

G01 X2 Y=#;’将Y赋值为4+log6

例4: G00 X=#2 Y=#3 Z=#4;’#2,#3,#4可以在参数窗口中设置(如

图3.27所示),它将快移到X5,Y8,Z2

图3.27 R参数设置

30

Nc Studio数控系统编程手册

3.6 程序中的注释

程序中的注释采用单引号:

'———行尾式,单引号后面直到行尾的不起作用

如:G00 X3 Y5 '快移到X3,Y5

单引号后面的内容只起到注释作用,在程序运行时并不执行。

3.7 加工文件编程示例

例1 根据图3.28所示零件编程。

图3.28 加工零件图

N10 G92 X0 Y0 Z0 ’建立工件坐标系

N20 G91 G00 X50 Y50 M03 S600 M08

’使用相对坐标,快移到X50 Y50,主轴以600转/分钟速度正转,冷却

打开

N30 G43 Z-17 H01 ’Z轴向下快移17mm,并进行长度补偿

31

Nc Studio数控系统编程手册

N40 G01 Z-16 F400 ’以400mm/min的速度直线插补Z轴向下

16mm

N50 G04 P2000 ’暂停2s

N60 G00 Z16

N70 X50 Y10

N80 G01 Z-25

N100 G00 Z25

N110 X-20 Y-40

N120 G01 Z-40

’Z轴向上快移16mm

’X轴正方向快移50mm,Y轴正方向快移10mm

’Z轴向下直线插补25mm

’Z轴向上快移25mm

’X轴反方向快移20mm, Y轴反方向快移40mm,

’Z轴向下直线插补40mm

N900 G04 P2000 ’暂停2s

N130 G00 Z57 ’Z轴向上快移57mm

N140 G49 X-80 Y-20 M05 M09 M30

’取消长度补偿,X轴反方向移动80mm,Y轴反方向移动20mm,主轴

停,冷却泵关,程序结束并返回

程序头

例2 根据图3.29 所示零件编程。

图3.29 加工零件图

N10 G92 X0 Y0 Z0 ’建立工件坐标系

N20 G90 G41 G00 X45 Y15 D01 M03 S600 M08

’使用绝对坐标,对刀具进行半径补偿,快移到

X45,Y15位置,主轴以600转/分钟的速度正转,

冷却泵打开

N30 G17 G02 X45 Y65 I0 J25 F700

’顺圆弧插补到X45,Y65,半径25mm,进给速度

是700mm/min

’直线插补到X135,Y65 N40 G01 X135 Y65

N50 G17 G02 X135 Y15 I0 J-25 ’顺圆弧插补到X135,Y15,半径25mm

N60 G01 X45 Y15 ’直线插补到X45,Y15

32

Nc Studio数控系统编程手册

N70 G00 G40 X0 Y0 M05 M09 M30

’取消刀具半径补偿,快移到X0,Y0,主轴停,冷却

泵关,程序结束并返回程序头

例3 根据图3.30 所示零件编程。

图3.30 加工零件示意图

N10 G92 X0 Y0 Z0 ’建立工件坐标系

N20 G91 G41 G00 X40 Y30 D01 M03 S600 M08

’使用相对坐标,对刀具进行半径补偿,快移到

X40,Y30位置,主轴以600转/分钟的速度正转,

冷却泵打开

N30 G17 G01 X0 Y70 F800 ’直线插补到X135,Y65,进给速度是

800mm/min

N40 G02 X20 Y20 I20 J0 ’顺圆弧插补到X60,Y120,半径20mm

N50 G01 X40

N60 Y-50

N70 X40

N80 Y50

N90 X70

N100 Y-40

’向X轴正向直线插补40mm

’向Y轴反向直线插补50mm

’向X轴正向直线插补40mm

’向Y轴正向直线插补50mm

’向X轴正向直线插补70mm

’向Y轴反向直线插补40mm

N110 G03 X-50 Y-50 I0 J-50 ’逆圆弧插补到X160,Y30,半径50mm

N120 G01 X-120 ’向X轴反向直线插补120mm

N130 G00 G40 X-40 Y-30 M05 M09 M30

’取消刀具半径补偿,快移到X0,Y0,主轴停,冷却

泵关,程序结束并返回程序头

例4 根据图3.31所示零件编程。(对此零件进行反向攻丝。)

33

Nc Studio数控系统编程手册

Y

65

R 5

15

X

0

Z

0

3

15

5

6580

2

8

图3.31 加工零件示意图

N10 G92 X0 Y0 Z0 ’建立工件坐标系

N20 G91 G00 X-35 Y15 M04 S600 M08

’使用绝对坐标,快移到X-35 Y15,主轴以600转/

分钟的速度反转,冷却泵打开

N30 G43 G00 Z0 H01 ’对刀具进行长度补偿

N40 G74 X50 Y0 Z-28 R-5 P1000 F1000 L2

’以1000mm/min的速度进行反向攻丝,攻丝深度

N60 G00 X50

N70 G80

为28mm,在孔底暂停1ms,重复2次

’快移到X65,Y65,进行攻丝

’取消孔加工

’快移到X0,Y0

N50 G00 X-50 Y50 ’快移到X15,Y65,进行攻丝

N80 G00 X-65 Y-65

N90 G49 M05 M09 M30 ’取消长度补偿,,主轴停,冷却泵关,程序结

34

Nc Studio数控系统编程手册

并返回程序头

例5 根据图3.32 所示零件编程。(要求:向Z轴每次进刀量为2mm)

N10 G92 X0 Y0 Z0

转,冷却泵打开

N30 G65 P9001 L6

序结束并返回程序头

O9001 ’子程序9001

N100 G00 X10 Y0 Z-2 ’快移到X10,Y0,Z-2位置,

N110 G01 Y60 F1000 ’直线插补到X10,Y60,进给速度为

1000mm/min

N120 X50 ’直线插补到X60,Y60

N130 Y-50

N140 X-60

N160 M17

Y

60

Y

R 14

’建立工件坐标系

N20 G91 M03 S800 M08 ’使用相对坐标,主轴以800转/分钟的速度正

’调用子程序9001,重复执行6次

N40 G00 Z12 M05 M09 M30 ’快移到X0,Y0,Z0主轴停,冷却泵关,程

’直线插补到X60,Y10

’直线插补到X0,Y10

’子程序返回

N150 G00 Y-10 ’快速移动到X0,Y0

X

0

2

Z

10

60

X

X

0

Z

2

X

图3.32 加工零件示意图 图3.33 加工零件示意图

例6 根据图3.33 所示零件编程。

1

0

35

1

4

Nc Studio数控系统编程手册

N10 G92 X10 Y0 Z0 ’建立工件坐标系

N20 G91 G00 X-10 D01 M03 S1000 M08

’使用相对坐标,主轴以

转,冷却泵打开

N30 G00 Y14 Z-16 ’快移到X0 Y14 Z-16位置

1000转/分钟的速度正

N40 G02 X0 Y0 I14 J0 F600 ’进行顺圆插补,进给速度为

600mm/min

N50 G01 X1 Z1 F600 ’直线插补,向X和Z轴各进1mm

N60 G02 X0 Y0 I13 J0 F600

N70 G01 X1 Z1 F600

N80 G02 X0 Y0 I12 J0 F600

N90 G01 X1 Z1 F600

N100 G02 X0 Y0 I11 J0 F600

N110 G01 X1 Z1 F600

N120 G02 X0 Y0 I10 J0 F600

N130 G01 X1 Z1 F600

N140 G02 X0 Y0 I9 J0 F600

N150 G01 X1 Z1 F600

N160 G02 X0 Y0 I8 J0 F600

N170 G01 X1 Z1 F600

N180 G02 X0 Y0 I7 J0 F600

N190 G01 X1 Z1 F600

N200 G02 X0 Y0 I6 J0 F600

N210 G01 X1 Z1 F600

N220 G02 X0 Y0 I5 J0 F600

N230 G01 X1 Z1 F600

N240 G02 X0 Y0 I4 J0 F600

N250 G01 X1 Z1 F600

N260 G02 X0 Y0 I3 J0 F600

N270 G01 X1 Z1 F600

N280 G02 X0 Y0 I2 J0 F600

N290 G01 X1 Z1 F600

N300 G02 X0 Y0 I1 J0 F600

N310 G90 G00 X0 Y0 Z0 M05 M09 M30

’快移到X0,Y0,Z0主轴停 冷却泵关,程序结束并返 回程序头

36

Nc Studio数控系统编程手册

3.8 G指令附录表

G指令附录表

G指令

G00

G01

G02/G03

G04

G17,G18,G19

G20/G21或G70/G71

G28

G40

G41/G42

G43/G44

G49

G53

G65

G50/G51

G54~G59

G992

含义

快速定位

直线插补

顺/逆圆弧插补

暂停

平面坐标选择

英制/公制

自动返回参考点

取消刀具半径补偿

左/右刀补

正/负向偏置

取消刀具长度补偿

使用机床坐标系

子程序调用

比例功能

工件坐标系选择

G指令

G90

G91

G92

G73

G83

G74/G84

G81

G82

G85

G89

G76

G86

G903

G904

G905

含义

绝对值编程

相对值编程

工件坐标系设定

高速深孔往复排屑钻

深孔往复排屑钻

反向/正向攻丝

钻孔

锪孔

精镗孔

精阶梯镗孔

精镗

镗孔

强制进给倍率指令

条件移动指令

强制进给速率指令

同步指令 临时工件坐标系设定

G906

37

Nc Studio数控系统编程手册

4

PLT支持

目前本系统支持如下PLT指令:

//PU Pen Up

// PU [ X,Y [,...]] [;]

//PD Pen Down

// PD [ X, Y [,...]] [;]

//PA Plot Absolute

// PA [X, Y [,...]] [;]

//PR Relative Coordinate Pen Move

// PR [X, Y [,...]] [;]

//AA Absolute Arc Plot

// AA X, Y, qc [, qd] [;]

//AR Relative Arc Plot

// AR X, Y, qc [, qd] [;]

//CI Circle

// CI r[, qd] [;]

//EA Edge Absolute Rectangle

// EA X, Y [;]

//ER Edge Relative Rectangle

// ER X, Y [;]

//EW Edge Wedge

// EW r, q1, qc (, qd) [;]

38

Nc Studio数控系统编程手册

其中PA, PR, PU, PD还支持三维的指令。

由于PLT格式有着很强的扩展性,不同的产品有着不同的指令。所以

如果遇到其他不可识别的指令,请尽早与我们公司联系,我们会专门针对您

的系统开发出相应的解释器。

感谢使用我们的产品!

39

发布评论

评论列表 (0)

  1. 暂无评论