数控系统编程指令详解,数控技术原理与应用,14-数控系统的变量与G指令代码
这是带你成为高手维修工的又一步。本课程为数控机床、加工中心、机器人等设备的基础课程,因成稿较早,涉及具体机型可能稍显过时。但基础软硬件理论、控制理论等永不过时,是做好上述设备维护的基础。本课程大部分为笔者原创。部分内容以单文发布过,某些章节不声明原创。
第三节:变量
一.变量及其分类
所谓变量,即用符号表示的,可以自由赋值的数学量。
变量是数控程序的一个重要概念。适当使用变量,可以设计出灵活的程序,并为设备使用提供方便条件。
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 | 不指定 |
在标准中,有一部分代码是尚未规定其具体的含义,即表中的“不指定”类,它们是留待将来修订标准时再予指定。还有一部分代码是“永不指定”,是指即便将来修订标准时也不再指定其含义,而这部分代码是留给机床厂家在机床设计时自行规定其具体的含义。
- 02-15战国初期最著名的十大谋士 春秋战国时期的谋士为何会高度自信
- 12-30墙面裂缝有没有补救的办法 家里墙面裂缝正确的处理方式
- 06-26可穿戴无创血糖仪研究现状及趋势:日企推进研发无需采血的血糖值检测仪
- 12-04冬天燕子究竟是飞到南方哪里过冬:燕子冬天真的会飞到南半球过冬
- 05-24利拉德实战鞋和签名鞋差别:除了性价比高利拉德7还有其他优点吗
- 05-10你怎么对我我怎么对你经典语录?一个向左变道一个向右变道
- 02-10形容中年男人的词句:形容四十岁男人的句子
- 05-05松下1500gk摄像机:松下HC-X1500便携式摄像机测评来了
- 03-23基因分析和测序的区别:基因测序1代2代3代的优缺点及共同点
- 04-12word文档下面的文字显示不全,Word文档中文字显示不全有哪些原因
- 03-27每日早安心语发朋友圈正能量的话:发朋友圈的早安心语句句走心
- 10-09好听的女孩带思字的名字:思字辈女孩名字大全暗香盈袖聘婷秀雅-可爱点
- 01-23社区元宵节送汤圆独居老人活动:盘龙区金实社区开展,情暖元宵送汤圆
- 04-16海康相机ip地址修改,玩转海康相机wifi电脑设置也轻松
- 02-04匹克态极2.0不同颜色脚感也不一样:匹克态极2.0版本来袭肉眼可见的澎湃脚感
- 06-19对许渊冲的感悟 百岁少年,许渊冲始终站在美这一边
热门
推荐
- 1家长对幼儿园孩子期末评语177
- 2煤矿企业论文范文224
- 3优秀初中日记300字:生命光芒万丈323
- 4喝酒的心情说说短语407
- 5写眼神的高中作文311
- 6关于区域性中心福利院建设模式思考307
- 7容易肾虚的十种男人255
- 82020年辽宁省高校排名最新排名281