当前位置:蜗牛素材网>综合资讯>科技>正文

数控系统编程指令详解,数控技术原理与应用,14-数控系统的变量与G指令代码

人气:196 ℃/2023-09-25 09:22:34

这是带你成为高手维修工的又一步。本课程为数控机床、加工中心、机器人等设备的基础课程,因成稿较早,涉及具体机型可能稍显过时。但基础软硬件理论、控制理论等永不过时,是做好上述设备维护的基础。本课程大部分为笔者原创。部分内容以单文发布过,某些章节不声明原创。

第三节:变量

一.变量及其分类

所谓变量,即用符号表示的,可以自由赋值的数学量。

变量是数控程序的一个重要概念。适当使用变量,可以设计出灵活的程序,并为设备使用提供方便条件。

FANUC的变量分为普通变量、系统变量、局部变量。

普通变量没有特定的意义,类似于普通数学意义上的变量,可以自由使用。系统变量有固定功能含义,如用于I/O信号、刀具补偿、坐标值、计时、操作控制、程序设置、产量计数、坐标系补偿等特定的功能。局部变量则是用于宏程序的变量。

SIEMENSE的变量分全局变量和局部变量等。

全局变量的值在主程序中定义,在主程序、子程序中均起作用。局部变量则只在某个子程序中定义,并只在该子程序中起作用。

数控系统的变量可以在程序中赋值,也可以在操作面板上直接修改。

程序号、程序段号、跳步号不能使用变量。

二.FANUC系统的变量

FANUC系统的变量用#号引出。我们下面以FANUC某系统为例,简要地介绍其变量体系。

(一)普通变量

范围:非掉电保持:#100-#149

掉电保持:#500-#531

以上是系统固定提供的变量。

#150-#199、#532-#599为可选变量,由参数配置来得到。一旦参数规定使用这部分变量,它们即可以由用户自由使用。

(二)系统变量

#XXXX四位变量,刀具功能#1XXXX五位变量。

包括:接口信号(与PMC交换数据)、刀具补偿(调用刀具补偿值)、宏报警(用于编辑报警或操作信息)、时间信息(进行计时)、自动操作控制(改变自动操作状态)、设定(设定程序编辑规则)、镜像(镜像功能设定)、工件计数(记录工件数)、模式信息(读取命令G、M、S、T、O、N、B等的代码)、当前位置(读取位置坐标)等等。

(三)局部变量

范围:#0-#33。

局部变量用于宏程序以存储宏运行的操作结果。其中#0恒为空(null),其余局部变量由宏程序赋值。在掉电时,所有局部变量被初始化为空。

(四)变量的算术运算

程序中,变量可以使用算术运算。常规运算的编程格式如下表所示。

事实上,除了算术运算外,变量在程序中还可以做大小比较,使程序有判断不同情况并分别处理的能力。符号为:GT(大于)、EQ(等于)、LT(小于)、NE(不等于)、GE(大于等于)、LE(小于等于)。

表5-1:算术运算表

功能

格式

注释

赋值

#i=#j

加法

减法

乘法

除法

#i=#j #k

#i=#j-#k

#i=#j*#k

#i=#j/#k

平方根

绝对值

取整

进位取整

舍余取整

自然对数

指数

#i=SQRT[#j]

#i=ABS[#j]

#i=ROUND[#j]

#i=FUP[#j]

#i=FIX[#j]

#i=LN[#j]

#i=EXP[#j]

正弦

反正弦

余弦

反余弦

正切

反正切

#i=SIN[#j]

#i=ASIN[#j]

#i=COS[#j]

#i=ACOS[#j]

#i=TAN[#j]

#i=ATAN[#j]/[#k]

角度以度为单位。反正切的[#j]/[#k]指计算正切值的两个象限坐标增量。由于象限有四个,所以[i]该值可能在0-360度之间。

异或

#i=#j OR #k

#i=#j XOR #k

#i=#j AND #k

变量以二进制形式进行位对位的逻辑运算。

BCD转换到BIN

BIN转换到BCD

#i=BIN[#j]

#i=BCD[#j]

在和PMC交换信号时要用到这种功能。

三.SIEMENSE系统的变量

SIEMENSE系统的变量用R代码的形式给出,被当作一种参数来管理,又叫做R参数。下面简单介绍SIEMENSE 840C系统的变量体系。

R参数由R加五位以内十进制数构成。下面是R参数的用途分类表。

表5-2:R参数分类表

参数类型

通道1

通道2

通道3

通道4

注释

传输参数

R00-R49

R00-R49

R00-R49

R00-R49

分配子程序和循环

局部参数

R50-R99

R50-R99

R50-R99

R50-R99

程序计算

全局参数

R100-R199

R100-R199

R100-R199

R100-R199

存储程序数据

内部功能留用

R200-R219

R200-R219

R200-R219

R200-R219

内部分配(循环转换器)

R220-R239

R220-R239

R220-R239

R220-R239

WS800编辑器

R240-R299

R240-R299

R240-R299

R240-R299

内部分配

R300

R300

R300

R300

堆栈指针

R301-R599

R301-R599

R301-R599

R301-R599

堆栈区

辅助全局参数

R600-R699

R600-R699

R600-R699

R600-R699

用户使用

核心参数

R700-R999

所有NC通道的高级别存储

R1000-R1299

用户使用

通道专用ASCII参数(可选)

R10000-R10019

用户使用,用于编辑文字提示

R700以前的参数分通道,可以用通道选择键选择通道。参数屏幕下的R param.central软键可以调用R0-R699编辑画面,R param.central软键则调用R700-R1299编辑画面。R10000-R10019是可选功能,由Chan.spec.ASCII R P软键调出和编辑。

多通道可以用来实现多轴、多程序的并行工作,提升了数控系统性能。

第四节:准备机能--G指令

G指令又叫“准备机能”指令。它一般规定刀具的走刀方式,是数控系统中最基本和最广泛的指令。

一.模态G代码和一次性G代码

模态G代码是指G指令的作用除非有专门指令来解除,否则将一直有效。

一次性G代码的作用只在本程序段内有效。

二.G代码简介

G指令数量众多,应用复杂。这里我们只介绍几条常用的G指令,旨在理解G指令的基本概念和常规使用方法。

(一)F代码——速度指令

了解G代码之前,应该了解这个指令。它的任务是给出走刀速度,一般放在程序段的最后。其单位在参数中规定,习惯使用mm/min,今后的举例中都采用这种单位。

格式:F__

(二)G92——坐标系设定指令(模态)

格式:G92 X__ Y__ Z__

操作:确定坐标系。它直接给出当前的位置坐标,而间接得到坐标原点的位置,从而建立一个坐标系。

例:N0001 G92 X100.0 Y200.0 LF

图5-4:坐标系建立指令G92的应用实例

(二)G00——快速定位指令(模态)

格式:G00 X__ Y__ Z__

操作:快速走刀到坐标为X__ Y__ Z__的点。

例:N0010 G00 X50.0 Z25.0 LF

这段程序使刀具从当前位置快速走刀到坐标为X=50.0、Y=25.0的点。快速走刀的速度是在参数系统中设定的。

图5-5:快速定位指令G00应用举例

如果使用相对坐标编程,还可以写成:

N0010 G00 X-20.0 Z-55.0 LF

(三)G01——直线插补(模态)

格式:G01 X__ Y__ Z__

操作:以规定速度走刀到坐标为X__ Y__ Z__的点。

使用这条命令时,应在同一程序段中规定进刀速度,否则它将以前面最近处给定的速度走刀。

例:N0005 G01 X100.0 Z50.0 F40 LF

图5-6:快速定位指令G01应用举例

在知道当前位置坐标时,同样可以用相对坐标进行编程。

(四)G04——暂停指令

格式:G04 X(或U、P)__

操作:以规定的时间执行等待操作。一般用于光刀等。

G04后的X、U单位为秒,P为毫秒。

例:N0020 G04 X2.5 LF

在当前位置等待2.5秒。

(五)绝对坐标和增量坐标编程——G90、G91(模态)

格式:G90(G91) 其它G指令 坐标位置

G90:绝对坐标,G91:增量坐标。

这两个G代码规定后续程序中的坐标值是按绝对坐标走刀还是按增量坐标走刀。从下面例子可以看出二者的差别。

图5-7:G90、G91命令程序例图

上面的走刀轨迹,按绝对坐标编程时,程序为:

G90 G00 X180.0 Y100.0 LF

按照增量坐标编程,则写为:

G91 G00 X130.0 Z70.0 LF

增量编程中,坐标值为终点坐标减起点坐标。出现负值时,表示沿坐标轴负方向走刀。

(六)圆弧插补——G03、G04(模态)

格式:G02(G03) X­_ Y_ Z_ I_ J_ K_ F_

或G02(G03) X_ Y_ Z_ R_ F_

上面各项中:

G02:顺时针插补。

G03:逆时针插补。

X­_、Y_、Z_:给出圆弧终点的坐标。

I­­_、J_、K_:为起点到圆心向量在X、Y、Z三个坐标轴的投影值,有正负。

R_:圆弧半径。

F_:插补走刀速度。

使用半径编辑圆弧时,要注意如下两点:

1.它无法编辑整圆。

2.R值在被编辑圆弧夹角小于等于180度时取正,大于180度时取负。这是由于在给出半径值和终点时,能画出两个圆弧。有了符号的规定,则圆弧就是唯一的了。

下图说明了半径符号的取法:

图5-8:圆弧插补半径R的符号说明

圆弧编程举例:

使用绝对值编程,用I、J、K:

G92 X170.0 Y60.0 LF

G90 G03 X120.0 Y110 I-50.0 F100.0 LF

G02 X90.0 Y80.0 I-30.0 LF

使用绝对值编程,用R:

G92 X170.0 Y60.0 LF

G90 G03 X120.0 Y110.0 R50.0 F100.0 LF

G02 X90 Y80 R30 LF

使用增量值编程,用I、J、K:

G92 X170.0 Y60.0 LF

G91 G03 X-50.0 Y50.0 I-50.0 F100.0 LF

G02 X-30.0 Y-30.0 I-30.0 LF

使用增量值编程,用R:

G92 X170.0 Y60.0 LF

G91 G03 X-50.0 Y50.0 R50.0 F100.0 LF

G02 X-30.0 Y-30.0 R30.0 LF

图5-9:圆弧插补编程实例图

(七)G指令代码表

其它G代码还有很多,许多指令使用上非常复杂,要真正掌握,需要下较多的工夫去学习。这里只是示范性介绍,具体内容要查阅产品编程手册。

我国JB3208—83标准(与ISO-1056-1975(E)国际标准等效)中规定的G功能代码如表2—1所示。

表5—3 G功能指令表

序号

代码

功 能

序号

代码

功 能

1

*G00

快速定位

30

G50

刀具偏置0/-

2

G01

直线插补

31

G51

刀具偏置 /0

3

G02

圆弧插补,顺时针

32

G52

刀具偏置-/0

4

G03

圆弧插补,逆时针

33

G53

直线偏移注销

5

G04

暂停(执行本段程序前)

34

G54

直线偏移X

6

G05

不指定

35

G55

直线偏移Y

7

G06

抛物线插补

36

G56

直线偏移Z

8

G07

不指定

37

G57

直线偏移XY

9

G08

加速

38

G58

直线偏移ZX

10

G09

减速

39

G59

直线偏移YZ

11

G10~G16

不指定

40

G60

准确定位1,(精)

12

G17

XY平面

41

G61

准确定位2,(中)

13

G18

ZX平面

42

G62

快速定位(粗)

14

G19

YZ平面

43

G63

攻丝

15

G20~G32

不指定

44

G64~G67

不指定

16

G33

螺纹切削,等螺距

45

G68

刀具偏置,内角

17

G34

螺纹切削,增螺距

46

G69

刀具偏置,外角

18

G35

螺纹切削,减螺距

47

G70~G79

不指定

19

G36~G39

永不指定

48

G80

固定循环注销

20

*G40

取消刀尖半径补偿

49

G81~G89

固定循环

21

G41

刀尖半径左补偿

50

G90

绝对尺寸

22

G42

刀尖半径右补偿

51

G91

增量尺寸

23

G43

刀具偏置,正

52

G92

预置寄存

24

G44

刀具偏置,负

53

G93

时间倒数,进给率

25

G45

刀具偏置 /

54

G94

每分钟进给

26

G46

刀具偏置 /-

55

G95

主轴每转进给

27

G47

刀具偏置-/-

56

G96

主轴恒线速控制

28

G48

刀具偏置-/

57

G97

主轴每分钟转速

29

G49

刀具偏置0/

58

G98~G99

不指定

在标准中,有一部分代码是尚未规定其具体的含义,即表中的“不指定”类,它们是留待将来修订标准时再予指定。还有一部分代码是“永不指定”,是指即便将来修订标准时也不再指定其含义,而这部分代码是留给机床厂家在机床设计时自行规定其具体的含义。

搜索更多有关“数控系统编程指令详解,数控技术原理与应用,14-数控系统的变量与G指令代码”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
本网站部分内容、图文来自于网络,如有侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2008-2024 蜗牛素材网 All Rights Reserved. 手机版