1000T系列安装连接手册

发布时间:2022-10-31 | 杂志分类:其他
免费制作
更多内容

1000T系列安装连接手册

车床编程说明103 / 188示例:图 3-47图3-47 程序:O0012 ;M3 S300 G0 X150 Z50 T0101; ( 螺纹刀)G0 X65 Z5; ( 快速定位)G92 X58.7 Z-28 F3 J3 K1; ( 加工螺纹,分4 刀切削,第一次进刀1.3mm)X57.7; ( 第二次进刀1mm)X57; ( 第三次进刀0.7mm)X56.9; ( 第四次进刀0.1mm)M30;3.14.5 多重螺纹切削循环 G76代码格式:G76 P(m)(r)(a) Q(△dmin) R(d);G76 X/U_ Z/W_ R(i) P(k) Q(△d) F(I)_ ;代码功能:通过多次螺纹粗车、螺纹精车完成规定牙高( 总切深) 的螺纹加工,如果定义的螺纹角度不为0°,螺纹粗车的切入点由螺纹牙顶逐步移至螺纹牙底,使得相邻两牙螺纹的夹角为规定的螺纹角度。G76 代码可加工带螺纹退尾的直螺纹和锥螺纹,可实现单侧刀刃螺纹切削,吃刀量逐渐减少,有利于保护刀具、提高螺纹精度。G76 代码不能加工端面螺纹。加工轨迹如图3-48(a) 所示。相关定义: 起点( 终点):程序段运行前和运行结束... [收起]
[展开]
1000T系列安装连接手册
粉丝: {{bookData.followerCount}}
广州科源数控科技有限公司成立于2013年,是从事数控系统及工业自动化产品研发、生产、销售及服务的高新技术企业。数控技术是关系到我国产业安全、经济安全和国防安全的国家战略性新技术。数控系统是先进高端智能制造装备的“大脑”,广州科源的使命是用中国 “大脑”,装备中国智能制造。
文本内容
第101页

车床编程说明

101 / 188

I:螺纹每英寸牙数,取值范围0.06 ~ 25400 牙/ 英寸,I 指定值执行后保持,可省

略输入;

J:螺纹退尾时在短轴方向的移动量,取值范围 0 ~ 99999.999( 单位:mm),不带方

向( 根据程序起点位置自动确定退尾方向),模态参数,如果短轴是X轴,则该值为半径指

定;

K:螺纹退尾时在长轴方向的长度,取值范围0 ~ 99999.999( 单位:mm)。不带方

向,模态参数,如长轴是X 轴,该值为半径指定;

L:多头螺纹的头数,该值的范围是:1 ~ 99,模态参数。( 省略L 时默认为单头螺

纹)

图3-45

G92 代码可以分多次进刀完成一个螺纹的加工,但不能实现2 个连续螺纹的加工,也

不能加工端面螺纹。G92 代码螺纹螺距的定义与G32 一致,螺距是指主轴转一圈长轴的位

移量(X 轴位移量按半径值)。

锥螺纹的螺距是指主轴转一圈长轴的位移量(X 轴位移量按半径值),B 点与C 点Z 轴

坐标差的绝对值大于X 轴( 半径值) 坐标差的绝对值时,Z 轴为长轴;反之,X 轴为长

轴。

循环过程:直螺纹如图3-44,锥度螺纹如图3-45。

第102页

车床编程说明

102 / 188

① X 轴从起点快速移动到切削起点;

②从切削起点螺纹插补到切削终点;

③ X 轴以快速移动速度退刀( 与①方向相反),返回到X 轴绝对坐标与起点相同处;

④ Z 轴快速移动返回到起点,循环结束。

注意事项:

● 省略J、K 时,按NO.19 号参数设定值退尾;

● 省略J 时,长轴方向按K 退尾,短轴方向按NO.19 号参数设定值退尾;

● 省略K 时,按J=K 退尾;

● J=0 或J=0、K=0 时,无退尾;

● J ≠ 0,K=0 时,按K=J 退尾;

● J=0,K ≠ 0 时,无退尾;

● 螺纹切削过程中执行进给保持操作后,系统仍进行螺纹切削,螺纹切削完毕,显示

“暂停”,程序运行暂停;

● 螺纹切削过程中执行单程式段操作后,在返回起点后( 一次螺纹切削循环动作完

成) 运行停止;

● J、K 输入负值时,按正值处理;

● 系统复位、急停或驱动报警时,螺纹切削减速停止。

代码轨迹:U、W、R 反应螺纹切削终点与起点的相对位置,在符号不同时刀具轨迹与

退尾方向如图:

第103页

车床编程说明

103 / 188

示例:图 3-47

图3-47

程序:

O0012 ;

M3 S300 G0 X150 Z50 T0101; ( 螺纹刀)

G0 X65 Z5; ( 快速定位)

G92 X58.7 Z-28 F3 J3 K1; ( 加工螺纹,分4 刀切削,第一次进刀1.3mm)

X57.7; ( 第二次进刀1mm)

X57; ( 第三次进刀0.7mm)

X56.9; ( 第四次进刀0.1mm)

M30;

3.14.5 多重螺纹切削循环 G76

代码格式:G76 P(m)(r)(a) Q(△dmin) R(d);

G76 X/U_ Z/W_ R(i) P(k) Q(△d) F(I)_ ;

代码功能:通过多次螺纹粗车、螺纹精车完成规定牙高( 总切深) 的螺纹加工,如果

定义的螺纹角度不为0°,螺纹粗车的切入点由螺纹牙顶逐步移至螺纹牙底,使得相邻两牙

螺纹的夹角为规定的螺纹角度。G76 代码可加工带螺纹退尾的直螺纹和锥螺纹,可实现单

侧刀刃螺纹切削,吃刀量逐渐减少,有利于保护刀具、提高螺纹精度。G76 代码不能加工

端面螺纹。加工轨迹如图3-48(a) 所示。

相关定义:

起点( 终点):程序段运行前和运行结束时的位置,表示为 A 点;

螺纹终点:由X/U Z/W 定义的螺纹切削终点,表示为D 点。如果有螺纹退尾,切削终

点长轴方向为螺纹切削终点,短轴方向退尾后的位置。

第104页

车床编程说明

104 / 188

螺纹起点:Z 轴绝对坐标与 A 点相同、X 轴绝对坐标与 D 点 X 轴绝对坐标的差值为

i( 螺纹锥度、半径值),表示为 C 点。如果定义的螺纹角度不为 0°,切削时并不能到达

C 点;

螺纹切深参考点:Z 轴绝对坐标与A 点相同、X 轴绝对坐标与C 点X 轴绝对坐标的差

值为k( 螺纹的总切削深度、半径值),表示为B 点。B 点的螺纹切深为0,是系统计算每一

次螺纹切削深度的参考点;

螺纹切深:每一次螺纹切削循环的切削深度。每一次螺纹切削轨迹的反向延伸线与直

线BC 的交点,该点与B 点X 轴绝对坐标的差值( 无符号、半径值) 为螺纹切深。每一次粗

车的螺纹切深为√? × ∆?,n为当前的粗车循环次数,△d 为第一次粗车的螺纹切深;

螺纹切削量:本次螺纹切深与上一次螺纹切深的差值:(√? − √? − 1) × ∆? ;

退刀终点:每一次螺纹粗车循环、精车循环中螺纹切削结束后,径向(X 轴) 退刀的终

点位置,表示为E 点;

螺纹切入点:每一次螺纹粗车循环、精车循环中实际开始螺纹切削的点,表示为Bn 点

(n 为切削循环次数),B1 为第一次螺纹粗车切入点,Bf 为最后一次螺纹粗车切入点,Be

为螺纹精车切入点。Bn 点相对于B 点X 轴和Z 轴的位移符合公式:

tan

?

2

=

|?轴位移|

|X轴位移|

; a:螺纹角度

X:螺纹终点 X 轴绝对坐标;

U:螺纹终点与起点X 轴绝对坐标的差值;

Z:螺纹终点Z 轴的绝对坐标值;

W:螺纹终点与起点Z 轴绝对坐标的差值;

P(m):螺纹精车次数00 ~ 99( 单位:次) ,m 指定值执行后保持有效,并把系统数

据参数NO.057的值修改为m。未输入m 时,以系统数据参数NO.057 的值作为精车次数。在

螺纹精车时,每次的进给的切削量等于螺纹精车的切削量。

P(r):螺纹退尾长度00 ~ 99( 单位:0.1×L,L 为螺纹螺距),r 指定值执行后保持

有效,并把系统数据参数NO.019 的值修改为r。未输入r 时,以系统数据参数NO.019 的值

作为螺纹退尾宽度。螺纹退尾功能可实现无退刀槽的螺纹加工,系统参数NO.019 定义的螺

纹退尾宽度对G92、G76 代码有效;

P(a):相邻两牙螺纹的夹角,取值范围为00~ 99,单位:度(° ),a 指定值执行后

保持有效,并把系统数据参数NO.058 的值修改为a。未输入a 时,以系统数据参数NO.058

的值作为螺纹牙的角度。实际螺纹的角度由刀具角度决定,因此a 应与刀具角度相同;

Q(△dmin):螺纹粗车时的最小切削量,取值范围为00 ~ 99999( 单位:0.001mm ,

半径值)。当(√? − √? − 1) × ∆? < △dmin 时, 以△dmin 作为本次粗车的切削量,

即: 本次螺纹切深为(√? − 1 × ∆? + ∆???? )。设置△dmin 是为了避免由于螺纹粗车

切削量递减造成粗车切削量过小、粗车次数过多。Q(△dmin) 执行后,指定值△dmin 保持

有效,并把系统数据参数 NO.059 的值修改为△dmin。未输入 Q(△dmin) 时,以系统数据

参数 NO.059 的值作为最小切削量;

R(d):螺纹精车的切削量,取值范围为00 ~ 99.999,( 单位:mm/inch,无符号,半

径值),半径值等于螺纹精车切入点Be 与最后一次螺纹粗车切入点Bf 的X 轴绝对坐标的差

第105页

车床编程说明

105 / 188

值。R(d) 执行后,指定值d保持有效,并把系统数据参数NO.060 的值修改为d×

1000(IS_B)/d×1000(IS_C)。未输入R(d) 时,以系统数据参数NO.060 的值作为螺纹精车

切削量;

R(i):螺纹锥度,螺纹起点与螺纹终点X 轴绝对坐标的差值, 取值范围为99999.999 ~ 99999.999( 单位:mm/inch,半径值)。未输入R(i) 时,系统按R(i)=0( 直

螺纹) 处理;

P(k):螺纹牙高,螺纹总切削深度, 取值范围为1 ~ 99999999× 最小输入增量

0.001( 半径值、无符号)。未输入P(k) 时,系统报警;

Q(△d):第一次螺纹切削深度, 取值范围为1 ~ 99999999× 最小输入增量0.001( 半

径值、无符号)。未输入△ d 时,系统报警;

F:螺纹导程, 取值范围为0 < F ≤ 500 mm;

I:螺纹每英寸的螺纹牙数, 取值范围为0.06 ~ 25400 牙/ 英寸;

图3-48(a)

切入方法的详细情况见图 3-48 (b):

图 3-48 (b )

第106页

车床编程说明

106 / 188

螺纹螺距指主轴转一圈长轴的位移量(X 轴位移量按半径值),C 点与D 点Z 轴坐标差

的绝对值大于X 轴坐标差的绝对值( 半径值,等于i 的绝对值) 时,Z 轴为长轴;反之,X

轴为长轴。

代码执行过程:

① 从起点快速移动到B1,螺纹切深为△d。如果a=0,仅移动X 轴;如果 a ≠ 0,X

轴和Z 轴同时移动,移动方向与A → D 的方向相同;

② 沿平行于C → D 的方向螺纹切削到与D → E 相交处(r ≠ 0 时有退尾过程);

③ X 轴快速移动到E 点;

④ Z 轴快速移动到A 点,单次粗车循环完成;

⑤ 再次快速移动进刀到Bn(n 为粗车次数),切深取(√? × ∆?)、(√? − 1 × ∆? +

∆????) 中的较大中的较大值,如果切深小于(k-d),转②执行;如果切深大于或等于(kd),按切深(k-d) 进刀到Bf 点,转⑥执行最后一次螺纹粗车;

⑥ 沿平行于C → D 的方向螺纹切削到与D → E 相交处(r ≠ 0 时有退尾过程);

⑦ X 轴快速移动到E 点;

⑧ Z 轴快速移动到A 点,螺纹粗车循环完成,开始螺纹精车;

⑨ 快速移动到Be 点( 螺纹切深为 k、切削量为d) 后,进行螺纹精车,最后返回A

点,完成一次螺纹精车循环;

⑩ 如果精车循环次数小于m,转⑨进行下一次精车循环,螺纹切深仍为k,切削量为

0;如果精车循环次数等于m,G76 复合螺纹加工循环结束。

注意事项:

●螺纹切削过程中执行进给保持操作后,系统仍进行螺纹切削,螺纹切削完毕,显示

“暂停”,程序运行暂停;

● 螺纹切削过程中执行单程式段操作,在返回起点后( 一次螺纹切削循环动作完成)

运行停止;

● 系统复位、急停或驱动报警时,螺纹切削减速停止;

● G76 P(m)(r)(a) Q(△dmin) R(d) 可全部省略或省略部分代码地址,省略的地址按

参数设定值运行;

● m、r、a 用同一个代码地址P 一次输入,m、r、a 全部省略时,按参数NO.57、

19、58 号设定值运行;地址P 输入1 位或2 位数时取值为a;地址P 输入3 位或4 位数时

取值为r 与a;

● U、W 的符号决定了A → C → D → E 的方向,R(i) 的符号决定了C → D 的方

向。U、W 的符号有四种组合方式,对应四种加工轨迹,见图3-46。

示例:图 3-49,螺纹为M68×6。

第107页

车床编程说明

107 / 188

图 3-49

程序:O0013;

G50 X100 Z50 M3 S300; ( 设置工件坐标系启动主轴,指定转速)

G00 X80 Z10; ( 快速移动到加工起点)

G76 P020560 Q150 R0.1; ( 精加工重复次数2,倒角宽度0.5mm,刀具角

60°, 最小切入深度0.15, 精车余量0.1)

G76 X60.64 Z-62 P3680 Q1800 F6; ( 螺纹牙高 3.68,第一螺纹切削深度1.8)

G00 X100 Z50; ( 返回程序起点)

M30; ( 程序结束)

3.15 恒线速控制 G96、恒转速控制 G97

详细说明见本篇 2.2.3 节。

3.16 每分钟进给 G98、每转进给 G99

代码格式:G98 F__;(前导零可省略,给定每分进给速度)

代码功能:以 mm/min 为单位给定切削进给速度,G98 为模态 G 代码,如果当前为

G98 模态,可以不输入 G98。

代码格式:G99 F__;

代码功能:以毫米/转为单位给定切削进给速度,G99 为模态G 代码。如果当前为G99

模态,可以不输入G99。 CNC 执行G99 F__ 时,把F 代码值(毫米/ 转)与当前主轴转速

(r/min)的乘积作为代码进给速度控制实际的切削进给速度,主轴转速变化时,实际的切

削进给速度随着改变。使用G99 F__ 给定主轴每转的切削进给量,可以在工件表面形成均

匀的切削纹路。在G99 模态进行加工,机床必须安装主轴编码器。

G98、G99 为同组的模态G 代码,只能一个有效。G98 为初态G 代码,CNC 上电时默认

G98 有效。每转进给量与每分钟进给量的换算公式:

Fm = Fr×S

切削点放大图

第108页

车床编程说明

108 / 188

其中:Fm:每分钟的进给量(mm/min);

Fr:每转进给量(mm/r);

S:主轴转速(r/min)。

CNC 上电时,进给速度为系统数据参数NO.076 设定的值。执行F0 后,进给速度为0。

CNC 复位、急停时,F 值保持不变。

注:在G99 模态,当主轴转速低于1r/min 时,切削进给速度会出现不均匀的现象;主轴转速出现波

动时,实际的切削进给速度会存在跟随误差。为了保证加工质量,建议加工时选择的主轴转速不能低于

主轴伺服或变频器输出有效力矩的最低转速。

相关参数:

CNC 参数 N0.027:切削进给速率的上限值;

CNC 参数 N0.029:切削进给和手动进给时指数加减速时间常数;

CNC 参数 N0.030:切削进给时的起始(终止)速度。

3.17 宏代码

车床系统提供了类似于高级语言的宏代码,用户宏代码可以实现变量赋值、算术运

算、逻辑判断及 条件转移,利于编制特殊零件的加工程序,减少手工编程时进行繁琐的数

值计算,精简了用户程序。

3.17.1 宏变量

●变量的表示

变量用符号“#”+ 变量号来指定;

格式:# i(i=100,102,103,……);

示例:#105,#109,#125。

●变量的类型

变量根据变量号可以分成四种类型。

变数号 变数类型 功能

#0 空变量 该变量总是空,没有值能赋给该变量

#1 ~ #50 局部变量

局部变量只能用在宏程序中储存数据,例如,

运算结果。当断电时,局部变量被初始化为

空。调用宏程序时,自变量对局部变量赋值。

#100 ~ #199

#500 ~ #9999

公共变量

公共变量在不同宏程序中意义相同。当断电

时,变量#100 ~ #199 被初始化为空,变量

#500 ~ #999 的数值被保存,即使断电也不丢

失。

#1000 ~ #5235 系统变量 系统变量

● 变量的引用

用变量置换地址后数值。

第109页

车床编程说明

109 / 188

格式:﹤地址﹥ +“#I”或﹤地址﹥ +“- #I”,表示把变量“#I”的值或把变量

“#I”的值的负值作为地址值。

示例:F#103…当#103=15 时,与F15 代码功能相同;

Z-#110…当#110=250 时,与Z-250 代码功能相同;

注 1:地址 O和 N 不能引用变量。如O#100,N#120 为非法引用;

注 2:如超过地址规定的最大代码值,则不能使用;例:#150 = 120 时,M#150 超过了最大代码

值。

● 空变量

当变量值未定义时,该变量为空变量,变量#0 总是为空变量,它不能写,只能读。

当引用一个未定义的变量( 空变量) 时,地址本身也被忽略。

当#1 = < 空 > 时 当#1 = 0 时

G00 X100 Z#1 等价于 G00 X100 G00 X100 Z#1 等价于 G00 X100 Z0

● 变量显示(不同系统型号显示界面有所不同)

(1) 在宏变量页面中,当变量显示空白时,表示该变量为空变量,即没有被定义。

(2) 公共变量(#100 ~ #199, #500 ~ #999)的值在宏变量页面有显示,也可

以在改页面下,直接输入数据对公共变量进行赋值。

(3) 局部变量(#1 ~ #50)和系统变量的值不显示,如需查看某一局部变量或系

统变量的值,可通过将其赋予公共变量的方式进行显示。

● 系统变量——分别如下所示:

1) 接口输入信号 #1000 —— #1047 (按位读取PMC输入信号)

2) 接口输出信号 #1100 —— #1047 (按位写出到PMC的信号)

第110页

车床编程说明

110 / 188

3) X 轴长度补偿值 #1500 —— #1531 (半径值,可读写)

4) Z 轴长度补偿值 #1600 —— #1631 (可读写)

5) Y 轴长度补偿值 #1700 —— #1731 (可读写)

6) 刀尖半径补偿值 #1800 —— #1831 (可读写)

7) X 轴磨损补偿值 #1900 —— #1931 (半径值,可读写)

8) Z 轴磨损补偿值 #2000 —— #2031 (可读写)

9) Y 轴磨损补偿值 #2100 —— #2131 (可读写)

10) 刀尖半径磨损补偿值 #2200 —— #2231 (可读写)

11) 报警 #3000

12) 用户数据表 #3500 —— #3755 (只读,不能写)

13) 模态信息 #4000 —— #4030 (只读,不能写)

14) 位置信息 #5001 —— #5030 (只读,不能写)

系统变量详细说明

(1)接口信号:CNC只对G及F信号进行操作,至于是否有相应的I/O号与之对应要

看具体的PLC定义。

变量号 功能

#1000 ~#1015 对应系统G54.0 ~ G54.7,G55.0 ~ G55.7的信号状态

#1032 对应系统G54,G55两个字节的信号状态

#1100 ~#1115 对应系统F54.0 ~ F54.7,F55.0 ~ F55.7的信号状态

#1132 对应系统F54,F55两个字节的信号状态

#1133 对应系统F56,F57,F58,F59四个字节的信号状态

(2)刀具补偿系统变量:

补偿

偏置补偿值 磨损补偿值

X 轴 Z 轴 Y 轴 半径 X 轴 Z 轴 Y 轴 半径

1 #1500 #1600 #1700 #1800 #1900 #2000 #2100 #2200

··· ··· ··· ··· ··· ··· ··· ··· ···

··· ··· ··· ··· ··· ··· ··· ··· ···

32 #1531 #1631 #1731 #1831 #1931 #2031 #2131 #2231

(3)系统模态信息变量

变量号 功能

#4001 G00、G01、G02、G03、G32、G33、G34、

G80、G84、G88、G90、G92、G94

第 1 组

#4002 G96、G97 第 2 组

#4003 G98、G99 第 3 组

#4005 G54、G55、G56、G57、G58、G59 第 5 组

#4006 G20、G21 第 6 组

#4007 G40、G41、G42 第 7 组

#4016 G17、G18、G19 第 16 组

#4020 F 代码

第111页

车床编程说明

111 / 188

#4021 M 代码

#4022 顺序号

#4023 程序号

#4024 S 代码

#4025 T 代码

(4)坐标位置信息的系统变量:

变量号 位置信号 坐标系

刀具补

偿值

运动时的读操作

#5000 ~ #5005 程序段终点 工件坐标系 不包含 可以

#5006 ~ #5010 当前位置(机床坐标) 机床坐标系 包含 不可以

#5011 ~ #5015 当前位置(绝对坐标) 工件坐标系 包含 不可以

注:上表中所列出的位置信息按顺序分别对应于X 轴、Z 轴、Y 轴、第4 轴、第5 轴,例如:#5001

表示X 轴的位置信息,#5002 表示Z 轴的位置信息,#5003 表示Y 轴的位置信息,#5004 表示第4 轴的

位置信息,#5005 表示第5轴的位置信息;

(5) 工件零点偏移量和工件坐标系:

基偏移量:#5201 ~ #5205

G54:#5206 ~ #5210

G55:#5211 ~ #5215

G56:#5216 ~ #5220

G57:#5221 ~ #5225

G58:#5226 ~ #5230

G59:#5231 ~ #5235

●局部变量

地址与局部变量的对应关系:

自变量地址 局部变量号 自变量地址 局部变量号 自变量地址 局部变量号

A #1 E #8 U #21

B #2 F #9 V #22

C #3 M #13 W #23

I #4 Q #17 X #24

J #5 R #18 Y #25

K #6 S #19 Z #26

D #7 T #20

3.17.2 运算命令和转移命令 G65

一般代码格式:G65 H(m) P(#I) Q(#J) R(#K);

第112页

车床编程说明

112 / 188

其中:m:表示运算命令或转移命令功能。

#I:存入运算结果的变量名。

#J:进行运算的变量名1,可以是常数。

#K:进行运算的变量名2,可以是常数。

代码意义: #I = #J □ #K

例:P#100 Q#101 R#102….. #100 = #101 □ #102;

P#100 Q#101 R15…. #100 = #101 □ 15;

P#100 Q-100 R#102….. #100 = -100 □ #102;

说明:变量是常数时不可以带“#”;

宏运算( 跳转) 表

代码格式 功能 定义

G65 H01 P#I Q#J 赋值运算 #I =#J ;把变量#j的值赋给变量#i

G65 H02 P#I Q#J

R#K

十进制加法运算 #I = #J + #K

G65 H03 P#I Q#J

R#K

十进制减法运算 #I = #J - #K

G65 H04 P#I Q#J

R#K

十进制乘法运算 #I = #J × #K

G65 H05 P#I Q#J

R#K

十进制除法运算 #I = #J ÷ #K

G65 H11 P#I Q#J

R#K

二进制加法(或运

算)

#I = #J OR #K

G65 H12 P#I Q#J

R#K

二进制乘法(与运

算)

#I = #J AND #K

G65 H13 P#I Q#J

R#K

二进制异或 #I = #J XOR #K

G65 H21 P#I Q#J 十进制开平方 #I = √#?

G65 H22 P#I Q#J 十进制取绝对值 #I = |#?|

G65 H23 P#I Q#J

R#K

十进制取余数 #I =(#J ÷ #K)的余数

G65 H24 P#I Q#J 十进制变为二进制 #I = BIN (#J)

G65 H25 P#I Q#J 二进制变为十进制 #I = BCD (#J)

G65 H26 P#I Q#J

R#K

十进制乘除运算 #I = #I × #J ÷ #K

G65 H27 P#I Q#J

R#K

复合平方根 #I = √#J2 + #K2

G65 H31 P#I Q#J

R#K

正弦 #I = #J × SIN(#K)

运算符号,有 H(m)决定

第113页

车床编程说明

113 / 188

G65 H32 P#I Q#J

R#K

余弦 #I = #J × COS(#K)

G65 H33 P#I Q#J

R#K

切弦 #I = #J × TAN(#K)

G65 H34 P#I Q#J

R#K

反正切 #I = #J × ATAN(#K)

G65 H80 Pn 无条件转移 跳转至程序段n

G65 H81 Pn Q#J R#K 条件转移1 如果#J = #K ,则跳转至程序段n,否

则顺序执行

G65 H82 Pn Q#J R#K 条件转移2 如果#J≠ #K ,则跳转至程序段n,否

则顺序执行

G65 H83 Pn Q#J R#K 条件转移3 如果#J > #K ,则跳转至程序段n,否

则顺序执行

G65 H84 Pn Q#J R#K 条件转移4 如果#J < #K ,则跳转至程序段n,否

则顺序执行

G65 H85 Pn Q#J R#K 条件转移5 如果#J≥ #K ,则跳转至程序段n,否

则顺序执行

G65 H86 Pn Q#J R#K 条件转移6 如果#J≤ #K ,则跳转至程序段n,否

则顺序执行

G65 H99 Pn 产生用户报警 产生(3000+ n)的用户报警

1. 运算命令

1) 变量的赋值:# I = # J

G65 H01 P#I Q#J

( 例)G65 H01 P# 101 Q1005; (#101 = 1005)

G65 H01 P#101 Q#110; (#101 = #110)

G65 H01 P#101 Q-#102; (#101 = -#102)

2) 十进制加法运算:# I = # J+# K

G65 H02 P#I Q#J R#K

( 例)G65 H02 P#101 Q#102 R15; (#101 = #102+15)

3) 十进制减法运算:# I = # J - # K

G65 H03 P#I Q#J R# K

( 例)G65 H03 P#101 Q#102 R#103; (#101 = #102 - #103)

4) 十进制乘法运算:# I = # J×# K

G65 H04 P#I Q#J R#K

( 例)G65 H04 P#101 Q#102 R#103; (#101 = #102×#103)

5) 十进制除法运算:# I = # J÷# K

第114页

车床编程说明

114 / 188

G65 H05 P#I Q#J R#K

( 例)G65 H05 P#101 Q#102 R#103; (#101 = #102÷#103)

6) 二进制逻辑加( 或):# I = # J.OR. # K

G65 H11 P#I Q#J R#K

( 例)G65 H11 P#101 Q#102 R#103; (#101 = #102.OR. #103)

7) 二进制逻辑乘( 与):# I = # J.AND. # K

G65 H12 P#I Q#J R#K

( 例)G65 H12 P# 101 Q#102 R#103; (#101 = #102.AND.#103)

8) 二进制异或:# I = # J.XOR. # K

G65 H13 P#I Q#J R#K

( 例)G65 H13 P#101 Q#102 R#103; (#101 = #102.XOR. #103)

9) 十进制开平方:# I = √#?

G65 H21 P#I Q#J

( 例 )G65 H21 P#101 Q#102 ; (#101 = √#102 )

10) 十进制取绝对值:# I = | # J |

G65 H22 P#I Q#J

( 例)G65 H22 P#101 Q#102 ; (#101 = | #102 |)

11) 十进制取余数:# I = # J - TRUNC(#J/#K)×# K,TRUNC:舍取小数部分

G65 H23 P#I Q#J R#K

( 例)G65 H23 P#101 Q#102 R#103; (#101 = #102- TRUNC (#102/#103)×#103)

12) 十进制转换为二进制:# I = BIN (# J)

G65 H24 P#I Q#J

( 例)G65 H24 P#101 Q#102 ; (#101 = BIN(#102))

13) 二进制转换为十进制:# I = BCD (# J)

G65 H25 P#I Q#J

( 例)G65 H25 P#101 Q#102 ; (#101 = BCD(#102))

14) 十进制取乘除运算:# I =(# I×# J)÷# K

G65 H26 P#I Q#J R# k

( 例)G65 H26 P#101 Q#102 R#103; (#101 =(# 101×# 102)÷# 103)

15) 复合平方根:# I =√#j2 + #k2

G65 H27 P#I Q#J R#K

( 例 )G65 H27 P#101 Q#102 R#103; (#101 = √#1022 + #1032 )

16) 正弦:# I = # J•SIN(# K)( 单位:度)

第115页

车床编程说明

115 / 188

G65 H31 P#I Q#J R#K

( 例)G65 H31 P#101 Q#102 R#103; (#101 = #102•SIN(#103))

17) 余弦:# I = # J•COS(# K)( 单位:度)

G65 H32 P#I Q#J R# k

( 例)G65 H32 P#101 Q#102 R#103; (#101 =#102•COS(#103))

18) 正切:# I = # J•TAN(# K)( 单位:度)

G65 H33 P#I Q#J R# K

( 例)G65 H33 P#101 Q#102 R#103; (#101 = #102•TAN(#103))

19) 反正切:# I = ATAN(# J /# K)( 单位:度)

G65 H34 P#I Q#J R# k

( 例)G65 H34 P#101 Q#102 R#103; (#101 =ATAN(#102/#103))

2. 转移命令

1) 无条件转移

G65 H80 Pn; n:顺序号

( 例)G65 H80 P120;( 转到 N120 程序段)

2) 条件转移 1 #J.EQ.# K ( = )

G65 H81 Pn Q#J R# K; n:顺序号

( 例) G65 H81 P1000 Q#201 R#202;

当# 101 = #102 时,转到 N1000 程序段,当#101 ≠ #102 时,顺序执行。

3) 条件转移 2 #J.NE.# K ( ≠ )

G65 H82 Pn Q#J R# K; n:顺序号

( 例) G65 H82 P1000 Q#101 R#102;

当# 101 ≠ #102 时,转到 N1000 程序段,当#101 = #102 时,程序顺序执行。

4) 条件转移 3 #J.GT.# K ( > )

G65 H83 Pn Q#J R# K; n:顺序号

( 例) G65 H83 P1000 Q#101 R#102;

当# 101 > #102 时,转到 N1000 程序段,当#101 ≤ #102 时,程序顺序执行。

5) 条件转移 4 #J.LT.# K ( < )

G65 H84 Pn Q#J R# K; n:顺序号

( 例) G65 H84 P1000 Q#101 R#102;

当# 101 < #102 时,转到 N1000 程序段,当#101 ≥ #102 时,程序顺序执行。

第116页

车床编程说明

116 / 188

6) 条件转移 5 #J.GE.# K ( ≥ )

G65 H85 Pn Q#J R# K; n:顺序号

( 例) G65 H85 P1000 Q#101 R#102;

当# 101 ≤#102 时,转到 N1000 程序段,当#101 < #102 时,顺序执行。

7) 条件转移 6 #J.LE.# K ( ≤ )

G65 H86 Pn Q#J R# K; n:顺序号

( 例) G65 H86 P1000 Q#101 R#102;

当# 101 ≤ #102 时,转到 N1000 程序段,当#101 > #102 时,顺序执行。

8) 发生 P/S 报警

G65 H99 Pi; i:报警号+3000

( 例) G65 H99 P15;

发生 P/S 报警 3015.

注:可以用变量指定顺序号。如:G65 H81 P#100 Q#101 R#102;当条件满足时,程

序移到#100 指定的顺序号的程序段。

3.17.3 宏程序调用代码

用户宏程序调用(G65) 和子程序调用(M98) 的区别如下:

1、用 G65 可以指定自变量数据并传送到宏程序,而M98 没有该功能。

2、用 G65 可以改变局部变量的级别,用M98 不能。

3、G65 该代码之前只允许出现代码字N 且紧跟其后要出现 P 或H 代码字。

非模态调用(G65)

代码格式:G65 P_ L_ < 自变量>_;以地址 P 指定的宏程序被调用,自变量( 数据)

传递到用户宏程序体中。

代码说明:P_被调用的宏程序号

L_被调用的次数( 省略则默认为1,可以指定从1 到9999 的重复次数)

< 自变量> 被传送到宏程序中的数据, 其值被赋给相应的局部变量。

嵌套调用:G65 调用可以有四级嵌套。

主程序 宏程序(1级) 宏程序(2级) 宏程序(3级) 宏程序(4级)

O__;

...;

G65 P__;

...;

O__;

...;

G65 P__;

M99;

O__;

...;

G65 P__;

M99;

O__;

...;

G65 P__;

M99;

O__;

...;

G65 P__;

M99;

第117页

车床编程说明

117 / 188

(0级) (1级) (2级) (3级) (4级)

局部变量

自变量的指定:使用除 G,L,O,N,P 以外的字母,每个字母只能指定一次,重复指定则

最后指定的有效。

方式I 的自变量地址及所对应的变量号一览表

自变量地址 局部变量号 自变量地址 局部变量号 自变量地址 局部变量号

A #1 E #8 U #21

B #2 F #9 V #22

C #3 M #13 W #23

I #4 Q #17 X #24

J #5 R #18 Y #25

K #6 S #19 Z #26

D #7 T #20

注:不需要指定的地址可以省略,于被省略的地址相对应的局部变量将被赋为< 空>。

3.18 公英制转换

3.18.1 功能概述

CNC 数控系统的输入和输出单位分别有两种单位:公制单位,毫米 (mm) 和英制单

位,英寸 (inch)。

车床系统中与公英制有关的参数有下列状态参数:

NO.001 # 0(INI):输入增量单位选择

0:公制输入(G21)

1:英制输入(G20)

该参数与功能代码G20/G21 完全对应。即:程序中执行G20/G21 时该参数也随之改

变;修改该参数时,G20/G21 模态也相应变化。

NO.003 # 0(OIM):公英制输入方式转换时,刀具补偿值及磨损值是否进行自动转

换:

0:不进行自动转换( 只移动一位小数点)

1:进行自动转换

NO.004 # 0(SCW):公制机床、英制机床选择( 最小输出增量选择)

#01

...

#33

#01

...

#33

#01

...

#33

#01

...

#33

#01

...

#33

第118页

车床编程说明

118 / 188

0:公制机床输出(0.001mm)

1:英制机床输出(0.0001inch)

3.18.2 功能代码 G20/G21

代码格式:G20;( 英寸输入)

G21;( 毫米输入)

该G 代码必须编在程序的开头,以单独程序段指定。

3.18.3 注意事项

(1).NO.001 # 0(INI) 输入增量单位改变

①.在输入增量单位改变( 英制/ 公制输入) 转换之后,改变下面值的单位制( 即:

mm<>inch ;mm/min<>inch/min):

-由 F 代码指定的进给速度(mm/min<>inch/min),螺纹导程(mm <>inch)

—位置代码(mm<>inch)

—刀具补偿值(mm<>inch)

—手轮的刻度单位(mm<>inch)

—增量进给中的移动距离(mm<>inch)

—部分数据参数,包括 NO.45~NO.48、NO.56、NO.59、NO.60、NO.114~ NO.116、

NO.120~ NO.131、NO.139、No.140、No.154;当是公制输入(G21) 时其单位按

0.001mm(IS-B),当是英制输入(G20) 时其单位按 0.0001inch(IS-B)。例如:同一参数

NO.45 设置值都为 100,当输入方式是公制 G21 时代表的 意义是 100mm;当输入是英制

G20 时代表的的意义是 100inch。

②.在输入增量单位改变( 英制/ 公制输入) 转换之后,机床坐标将自动转换:

(2).NO.004# 0(SCW) 输出代码单位改变

SCW=0 时表示系统的最小代码增量按公制输出(0.001mm) SCW=1 时系统的最小代码增

量按英制输出(0.0001inch) 当改变输出控制位参数 SCW 时部分数据参数的意义会改变:

①.速度参数:公制

机床:mm/min 英制

机床:0.1 inch/min

如:速度设定值 3800,公制机床表示 3800 mm/min,英制机床表示 380 inch/min。

这些速度参数有:No.22、No.23、No.27、No.28~No.31、No.32、No.33、No.41、No.107、

No.113、No.134;

②.位置( 长度) 参数:公制

机床:0.001 mm 英制

机床:0.0001 inch

第119页

车床编程说明

119 / 188

如:设定值 100,公制机床表示 0.1 mm,英制机床表示 0.01 inch。这些参数有:

No.34、No.35、No.37~ No.40、No.45~ No.48、No.102~ No.104、No.136~No.138 以及所

有的螺距误差补偿参数;

注 1:当最小输入增量和最小指令增量单位不同时,最大误差是最小指令增量的一半。这个误差不

累积。

注 2:以上说明中,当前的系统增量为 IS-B。

第四章 刀尖半径补偿(G41、G42)

4.1 刀尖半径补偿的应用

4.1.1 概述

零件加工程序一般是以刀具的某一点(通常情况下以假想刀尖,如图4-1 的A 点所

示)按零件图纸进行编制的。但实际加工中的车刀,由于工艺或其他要求,刀尖往往不是

一假想点,而是一段圆弧。切削加工时, 实际切削点与理想状态下的切削点之间的位置有

偏差,会造成过切或少切,影响零件的精度。因此在加工中进行刀尖半径补偿以提高零件

精度。

图 4-1 刀具

将零件外形的轨迹偏移一个刀尖半径的方法就是B 型刀具补偿方式,这种方法简单,

但在执行一程序段完成后,才处理下一程序段的运动轨迹,因此在两程序的交点处会产生

过切等现象。 为解决上述问题、消除误差,因此有必要建立C 型刀具补偿方式。C 型刀具

补偿方式在读入一程序段时,并不马上执行,而是再读入下一程序段,根据两个程序段交

点连接的情况计算相应的运动轨迹(转接向量)。由于读取两个程序段进行预处理,因此C

第120页

车床编程说明

120 / 188

型刀具补偿方式在轮廓上能进行更精确的补偿。如图4-2 所示。

4.1.2 假想刀尖方向

假想刀尖的设定是因为一般情况下将刀尖半径中心设定在起始位置比较困难的,如图

4-3;而假想刀尖设在起始位置是比较容易的,如图4-4;编程时可不考虑刀尖半径。图4-

5、4-6 分别为以刀尖中心编程和以假想刀尖编程时,使用刀尖半径补偿与不使用刀尖半径

补偿时的刀具轨迹图对比。

图4-3

如果不用刀尖半径补偿,刀尖中心轨迹将同于编程轨迹

图4-4

如果使用刀尖半径补偿,将实现精密切削

第121页

车床编程说明

121 / 188

图4-5

没有刀尖半径补偿,假想刀尖轨迹将同于编程轨迹 使用刀尖半径补偿,将实现精密切

图4-6

以假想刀尖编程时的刀具轨迹在程序的编制过程中刀具是被假想成为一点,而实际的

切削刃因工艺要求或其它原因不可能是一个理想的点。这种由于切削刃不是一理想点而是

一段圆弧造成的加工误差,可用刀尖圆弧半径补偿功能来消除。在实际加工中,假想刀尖

点与刀尖圆弧中心点有不同的位置关系,因此要正确建立假想刀尖的刀尖方向(即对刀点

是刀具的哪个位置)。

从刀尖中心往假想刀尖的方向看,由切削中刀具的方向确定假想刀尖号。假想刀尖共

有10(T0 ~T9)种设置,共表达了9 个方向的位置关系。需特别注意即使同一刀尖方向号

在不同坐标系(后刀座坐标系与前刀座坐标系)表示的刀尖方向也是不一样的,如下图所

示。图中说明了刀尖与起点间的关系,箭头终点是假想刀尖;后刀座坐标系T1 ~ T8 的情

况,如图4-7;前刀座坐标系T1 ~ T8 的情况,如图4-8。T0 与T9 是刀尖中心与起点一致

时的情况,如图4-9。

第122页

车床编程说明

122 / 188

图 4-7 后刀座坐标系中假想刀尖号码

第123页

车床编程说明

123 / 188

图 4-8 前刀座坐标系中假想刀尖号码

第124页

车床编程说明

124 / 188

图 4-9 刀尖中心与起点一致

4.1.3 补偿值的设置

每把刀的假想刀尖号与刀尖半径值必须在应用C 刀补前预先设置。刀尖半径补偿值在

偏置页面( 见表4-1) 下设置,R 为刀尖半径补偿值,T 为假想刀尖号。

表 4-1 CNC 刀尖半径补偿值显示页面

序号 X Z R T

00 0.000 0.000 0.000 0

01 0.020 0.030 0.020 2

02 1.020 20.123 0.180 3

... ... ... ... ...

32 0.050 0.380 0.300 6

注:X 方向刀具偏置值可以用直径或半径值指定,由参数 No.004 的 bit4 位的 ORC 设定,ORC =

1 时偏置值以半径表示,ORC = 0 时偏置值以直径表示。

在进行对刀操作时要特别注意,当选择了Tn(n=0 ~ 9) 号假想刀尖时,对刀点一定也

要是Tn(n=0 ~9) 号假想刀尖点。如图4-10 所示为在后刀座坐标系中选择T0 与T3 刀尖点

时的不同对刀方法,以刀架中心为标准点,同一刀具,从标准点到刀尖半径中心(假想刀

尖为T0 时)的偏置值与从标准点到假想刀尖(假想刀尖为T3 时)的偏置值,两者是不一

样的。测量从标准点到假想刀尖的距离比测量从标准点到刀尖半径中心的距离容易很多,

因此通常以标准点到假想刀尖的距离来设置刀具偏置值( 即通常选择T3 号刀尖方向)。

图 4-10 以刀架中心为基准点的刀具偏置值

第125页

车床编程说明

125 / 188

4.1.4 代码格式

G40 G00

G41 X_ Z_ T_

G42 G01

代码 功能说明 备注

G40 取消刀尖半径补偿

详见图 4-

11、图 4-12

的说明

G41

后刀座坐标系中 G41 指定是左刀补,前刀座坐标系 G41 指定是右

刀补

G42

后刀座坐标系中 G42 指定是右刀补,前刀座坐标系 G42 指定是左

刀补

4.1.5 补偿方向

应用刀尖半径补偿,必须根据刀尖与工件的相对的位置来确定补偿的方向,如 4-11、4-

12。

图 4-11 后刀座坐标系补偿方向

第126页

车床编程说明

126 / 188

图 4-12 前刀座坐标系补偿方向

4.1.6 注意事项

* 初始状态CNC 处于刀尖半径补偿取消方式,在执行G41 或G42 代码,CNC 开始建立

刀尖半径补偿偏置方式。在补偿开始时,CNC 预读2 个程序段,执行一程序段时,下一程

序段存入刀尖半径补偿缓冲存储器中。在单段运行时,读入两个程序段,执行第一个程序

段终点后停止。在连续执行时,预先读入两个程序段,因此在CNC 中正在执行的程序段和

其后的两个程序段。

* 在刀尖半径补偿中,处理2 个或两个以上无移动代码的程序段时(如辅助功能,暂

停等),刀尖中心会移到前一程序段的终点并垂直于前一程序段程序路径的位置。

* 在录入方式(MDI) 下不能执行刀补C 建立,也不能执行刀补C 撤消。

* 刀尖半径R 值不能输入负值,否则运行轨迹出错。

* 刀尖半径补偿的建立与撤消只能用G00 或G01 代码,不能是圆弧代码(G02 或

G03)。如果指定,会产生报警。

* 按RESET(复位)键或执行M30 后,CNC 将取消刀补C 补偿模式。

* 在程序结束前必须指定G40 取消偏置模式。否则,再次执行时刀具轨迹偏离一个刀

尖半径值。

* 在主程序和子程序中使用刀尖半径补偿,在调用子程序前(即执行M98 前),CNC

必须在补偿取消模式,在子程序中再次建立刀补C。

*G71、G72、G73、G74、G75、G76 代码不执行刀尖半径补偿,暂时撤消补偿模式。

*G90、G94 代码在执行刀尖半径补偿,无论是G41 还是G42 都一样偏移一个刀尖半径

(按假想刀尖0 号)进行切削。

第127页

车床编程说明

127 / 188

4.1.7 应用示例

在前刀座坐标系中加工图4-13 所示零件。使用刀具号为T0101,刀尖半径R = 2,假

想刀尖号T=3。

图4-13

在偏置取消模式下进行对刀,对刀完成后,通常Z 轴要偏移一个刀尖半径值,偏移的

方向根据假想刀尖方向和对刀点有关,否则在起刀时会过切一个刀尖半径值。

在刀偏设置页面下,刀尖半径R 与假想刀尖方向的设置:

表 4-2

序号 X Z R T

00 0.000 0.000 0.000 0

01 ... ... 2 3

... ... ... ... ...

08 ... ... ... ...

程序:

G00 X100 Z50 M3 T0101 S600; (定位,开主轴、换刀与执行刀补)

G42 G00 X0 Z3; (建立刀尖半径补偿)

G01 Z0 F300; (切削开始)

X16;

Z-14 F200;

G02 X28 W-6 R6;

G01 W-7;

X32;

Z-35;

G40 G00 X90 Z40; (取消刀尖半径补偿)

G00 X100 Z50 T0100;

M30;

X Z R T

0

0

1

. .

2

.

0

0

0

3

0

0

2

. .

. . . . .

第128页

车床编程说明

128 / 188

4.2 刀尖半径补偿偏移轨迹说明

4.2.1 内侧、外侧概念

在后面的说明中将用到两个术语‘内侧’‘外侧’。两个移动程序段交点的夹角大于

或等于180°时称为‘内侧’;两个移动程序段交点的夹角在0 ~ 180°之间时称为‘外

侧’。

4.2.2 起刀时的刀具移动

实现刀尖半径补偿要经过3 个步骤:刀补建立、刀补进行、刀补撤消。

从偏置取消方式到建立G41 或G42 代码的开始执行过程,其刀具的移动称为刀补建立

(也称为起刀)。

注:在下面的图中标注的 S、L、C,如无特别注明均为以下意思:

S―― 单段停止点;L―― 直线;C―― 圆弧。

刀具路径在补偿开始或取消时的动作有A 型和B 型2 种,由状态参数172.3 选择。

第129页

车床编程说明

129 / 188

(a)沿着拐角的内侧移动(α ≥ 180°)

图4-14a 直线——直线(内侧起刀) 图4-14b直线——圆弧(内侧起

刀)

(b)沿着拐角为钝角的外侧移动(180°> α ≥ 90°)

图4-15a 直线——直线(外侧起刀) 图4-15b 直线——圆弧(外侧起

刀)

(c)沿着拐角为锐角的外侧移动(α < 90°)

图4-14a 直线——直线(外侧起刀) 图4-16b 直线——圆弧(外侧起

刀)

(d)沿着拐角为小于1 度的锐角的外侧移动,直线→直线。(α ≦ 1°)

第130页

车床编程说明

130 / 188

图4-17 直线——直线(拐角小于1度,外侧起刀)

4.2.3 偏置方式中的刀具移动

在建立刀尖半径补偿后、取消刀尖半径补偿前称为偏置方式。

* 补偿模式中不变更补偿方向的偏移轨迹

(a)沿着拐角的内侧移动(α ≥ 180°)

1)直线——直线 2)直线——圆弧

图4-18a 直线——直线(内侧移动) 图4-18b 直线——圆弧(内侧移动)

3)圆弧——直线 4)圆弧——圆弧

图4-18c 圆弧——直线(内侧移动) 图4-18d 圆弧——圆弧(内侧移动)

(b)沿着拐角为钝角的外侧移动(180°> α ≥ 90°)

1)直线——直线 2)直线——圆弧

第131页

车床编程说明

131 / 188

图4-19a 直线——直线(钝角、外侧移动) 图4-19b 直线——圆弧(钝角、外侧移动)

3)圆弧——直线 4)圆弧——圆弧

图4-19c 圆弧——直线(钝角、外侧移动) 图4-19d 圆弧——圆弧(钝角、外侧移动)

(c)沿着拐角为锐角的外侧移动(α < 90°)

1)直线——直线 2)直线——圆弧

图4-20a 直线——直线(锐角、外侧移动) 图4-20b 直线——圆弧(锐角、外侧移

动)

3)圆弧——直线 4)圆弧——圆弧

第132页

车床编程说明

132 / 188

图4-20c 直线——直线(锐角、外侧移动) 图4-20d 直线——圆弧(锐角、外侧移动)

5)小于1度内侧加工及补偿向量放大

图4-20e 直线——直线(拐角小于1度、内侧移动)

(d) 特殊情况

1) 没有交叉点时

图4-21 特殊情况——偏置后的轨迹无交叉点

第133页

车床编程说明

133 / 188

2) 圆弧中心与起点或终点一致

图4-22 圆弧的圆心与起点或终点一致

* 补偿模式中变更补偿方向的偏移轨迹

补偿量号

G代码

+ -

G41 左侧补偿 右侧补偿

G42 右侧补偿 左侧补偿

在特殊场合,在补偿模式中可变更补偿方向。但不可在起开始程序段及其后面的程序

段变更。补偿方向变更时,对全部状况没有内侧和外侧的概念。下列的补偿量假设为正。

1)直线——直线 2)直线——圆弧

图4-23 直线——直线(变更补偿方向) 图4-24 直线——圆弧(变更补偿方向)

3)圆弧——直线 4)圆弧——圆弧

第134页

车床编程说明

134 / 188

图4-25 圆弧——直线(变更补偿方向) 图4-26 圆弧——圆弧(变更补偿方向)

5)如果补偿正常执行,但没有交点时

当用 G41 及 G42 改变程序段 A 至程序段 B 的偏置方向时,如果不需要偏置路径的

交点,在程序段 B 的起点做成垂直与程序段 B 的向量。

1) 直线——直线

图4-27a 直线——直线、无交点(变更补偿方向)

2) 直线——圆弧

图4-27b 直线——圆弧、无交点(变更补偿方向)

3)圆弧——圆弧

图4-27c 圆弧——圆弧、无交点(变更补偿方向)

第135页

车床编程说明

135 / 188

4.2.4 偏置取消方式中的刀具移动

在补偿模式,当程序段满足以下任何一项条件执行时,CNC 进入补偿取消模式,这个

程序段的动作称为补偿取消。

1、在程序中使用了G40 代码;

2、执行了M30 代码。

在C 刀补取消时,不可用圆弧代码(G02 及G03)。如果指令圆弧会产生报警(N0.34) 且

运行停止。

在补偿取消模式,控制执行该程序段及在刀尖半径补偿缓冲寄存器中的程序段。此时,

如果单程序段开关为开,执行一个程序段后停止。再一次按起动按扭,执行下一个程序段

而不用读取下一个程序段。

(a) 沿着拐角的内侧移动(α ≥ 180°)

1)直线——直线 2)直线——圆弧

图4-28a 直线——直线(内侧、取消偏置) 图4-28b 圆弧——直线(内侧、取消偏置)

(b) 沿着拐角为钝角的外侧移动(180°> α ≥ 90°)

1)直线——直线 2)圆弧——直线

图4-29a 直线——直线(钝角、外侧、取消偏置) 图4-29b 圆弧——直线(钝角、外侧、取消偏置)

(c) 沿着拐角为锐角的外侧移动(α < 90°)

1)直线——直线 2)圆弧——直线

第136页

车床编程说明

136 / 188

图4-30a 直线——直线(锐角、外侧、取消偏置) 图4-30b 圆弧——直线(锐角、外侧、取消偏置)

(d) 沿着拐角为小于 1 度的锐角的外侧移动;直线→直线。(α < 1°)

图 4-31 直线——直线(夹角小于 1 度、外侧、取消偏置)

4.2.5 刀具干涉检查

刀具过渡切削称为“干涉 ”,干涉能预先检查刀具过渡切削,即使过渡切削未发生也

会进行干涉检查。但并不是所有的刀具干涉都能检查出来。

(1) 干涉的基本条件

1) 刀具路径方向与程序路径方向不同。( 路径间的夹角在90 度与270 度之间)。

2) 圆弧加工时,除以上条件外,刀具中心路径的起点和终点间的夹角与程序路径起点

和终点间的夹角有很大的差异(180 度以上)。

示例 :直线加工

第137页

车床编程说明

137 / 188

图4-32a 加工干涉(1)

图4-32b 加工干涉(2)

(2) 实际上没有干涉,也作为干涉处理。

1) 凹槽深度小于补偿量

图4-33 作干涉处理特殊情况(1)

实际上没有干涉,但在程序段B 程序的方向与刀尖半径补偿的路径相反,刀具停止并

显示报警。

2) 凹沟深度小于补偿量

图4-34 作干涉处理特殊情况(2)

第138页

车床编程说明

138 / 188

实际上没有干涉,但在程序段B 程序的方向与刀尖半径补偿的路径相反,刀具停止并

显示报警。

4.2.6 暂时取消补偿向量的代码

在补偿模式中,如果指定了G50、G71 ~ G76 代码时,补偿向量会暂时取消,执行完

该代码后,补偿向量会自动恢复。此时的补偿暂时取消不同于补偿取消模式,刀具直接从

交点移动到补偿向量取消的指令点。 在补偿模式恢复时,刀具又直接移动到交点。

*坐标系设定G50代码

图4-35 G50暂时取消补偿向量

注:SS 表示在单程序段方式下刀具停止两次的点。

*G28 自动返回参考点

在补偿模式中,如果指令G28,补偿将在中间点取消,在参考点返回后补偿模式自动恢

复。

图4-36 G28暂时取消补偿向量

*G71 ~ G75 复合循环;G76、G92 螺纹切削

第139页

车床编程说明

139 / 188

当执行G71 ~ G76 固定循环代码;G92 螺纹切削代码时,在循环过程中,不执行刀尖

半径补偿,暂时取消刀尖半径补偿,在后面程序段中有G00、G01 代码,CNC 会将补偿模式

自动恢复。

*G32、G33、G34 等螺纹切削

不能在有刀尖半径补偿模式下运行,若运行将报警131 号“……指令不能用于C 刀补

中”。

图4-37 G71~G76暂时取消补偿向量

*G90、G94 代码

G90 或G94 代码执行刀尖半径补偿的补偿方式:

A. 定位到循环起点时将撤消原先的刀尖半径补偿;

B. 切削开始前建立之前的C 补偿,下图轨迹①将建立原先的半径补偿模式;

C. 下图轨迹②、③为带半径补偿切削;

D. 下图轨迹④将撤消半径补偿,回到循环起点;后面程序段中有G00、G01 代码,CNC

又会将补偿模式自动恢复;

图4-38 G90刀尖半径补偿的偏置方向

第140页

车床编程说明

140 / 188

图4-39 G94刀尖半径补偿的偏置方向

4.2.7 特殊情况

* 当内侧转角加工小于刀尖半径时此时,刀具的内侧偏置会导致过量切削。在前一程

序段的开始或拐角移动后,刀具运动停止并显示报警(P/S41)。但是,如果‘单程序段’

开关为ON 时,刀具将停止在前一程序段的终点。

* 当加工一个小于刀尖直径的凹型时当刀尖半径补偿使得刀尖中心形成与程序路径相

反的方向运动时,将会产生过切。此时,在前一程序段的开始或拐角移动后,刀具运动停

止并显示报警。

* 当加工一个小于刀尖半径的台阶时当程序包含一个小于刀尖半径的台阶而且这个台

阶又是一个圆弧时,刀具中心路径可能会形成一个与程序路径相反的运动方向。此时,将

自动忽略第一个向量而直接直线移动到第二个向量的终点。单程序段时,程序会在此点停

止,如果不在单程序段方式,循环操作会继续。如果台阶是直线,补偿会正确执行而不产

生报警。(但是,未切削部分仍然会保留)

*G 代码中含子程序时在调用子程序前(即执行M98 前),CNC 必须在补偿取消模式。

进入子程序后,可以起动偏置,但在返回主程序前(即执行M99 前)必须为补偿取消模

式。否则会出现报警。

* 变更补偿量时

(a) 通常在取消模式换刀时,改变补偿量的值。如果在补偿模式中变更补偿量,只有

在换刀后新的补偿量才有效。

(b) 补偿量的正负及刀尖中心路径,如果补偿量是负( - ),在程序上G41 及G42 彼此

交换。

如果刀具中心沿工件外侧移动,它将会沿内侧移动,反之亦然。

以下范例所示。一般,制作程序时补偿量为( + )。当刀具路径如在( a ) 制作程示

时,如果补偿量作为负( - ),刀具中心移动如( b ),反之亦然。此外请注意,当偏置量

第141页

车床编程说明

141 / 188

符号改变时,刀尖偏置方向也改变,但假想刀尖方向不变。所以不要随意改变偏置量的符

号。

* 编程圆弧的终点不在圆弧上当程序中的圆弧终点不在圆弧上时,刀具运动停止并显

示“圆弧终点不在圆弧上”的报警信息。

附录一

1、CNC 报警

报警号 内容

0000 修改了必须切断一次电源的参数 .

0001 打开文件失败

0002 录入数据超出范围

0003 复制或更名的程序号存在 .

0004 地址没找到

0005 地址后面无数据

0006 非法使用负号

0007 非法使用小数点

0008 程序文件过大 , 未完全载入 .

0009 输入非法地址

0010 不正确的 G 代码

0011 无进给速度指令

0012 磁盘空间不足 .

0013 程序文件数已达到上限

0014 不能指令 G95, 主轴不支持

0015 指令了太多的轴

0016 当前螺距误差补偿点超出范围

0017 无权限修改

0018 不允许修改

0019 缩放功能未开通

0020 超出半径公差

0021 指令了非法平面轴

0022 圆弧中 R 和 IJK 全为 0

0023 圆弧插补中 IJK 和 R 同时指定

0024 螺旋插补转动角度为 0

0025 G12 不能与其它 G 指令同段

0026 系统不支持的文件格式 .

第142页

车床编程说明

142 / 188

0027 长度刀补指令不能跟 G92 同段 .

0028 非法的平面选择

0029 非法偏置值

0030 非法补偿号

0031 G10 中指令了非法 P

0032 G10 中的非法补偿值

0033 刀补 C 或倒角中无交点

0034 圆弧指令时不能建立或取消刀补

0035 M99 指令前没有取消 C 刀补

0036 不能指令 G31

0037 在刀补 C 中不能改变平面

0038 在圆弧程序段中的干涉

0039 刀补 C 中刀尖定位错误

0040 刀补 C 执行中改变工件坐标系

0041 在刀补 C 中存在干涉

0042 在刀补 C 中非移动指令超过十个

0043 权限不足

0044 在固定循环中不允许指令 G27~G30

0045 地址 Q 未发现或 Q 值为 0(G73/G83)

0046 非法的参考点返回指令

0047 执行该指令前需先执行机械回零

0048 Z 平面应高于 R 平面

0049 Z 平面应低于 R 平面

0050 改变固定循环方式时应移动位置

0051 在倒角之后错误移动或倒角值过大

0052 铣槽固定循环不能使用镜像功能

0053 太多的地址指令

0054 DNC 传送错误

0055 倒角或倒 R 中错误的移动值

0056 M99 不能与宏程序指令同段

0057 写入文件失败 , 必须断电重启 .

0058 未发现终点

0059 未发现程序号

0060 未发现顺序号

0061 X 轴不在参考点

0062 Z 轴不在参考点

0063 Y 轴不在参考点

0064 4TH 轴不在参考点

0065 TH5 轴不在参考点

第143页

车床编程说明

143 / 188

0066 执行 G10 前必须取消固定循环

0067 G10 不支持的设置格式 .

0068 未打开参数开关

0069 加工运行需关闭 U 盘操作界面

0070 存储器容量不足内存不足

0071 未发现数据末

0072 太多的程序数量

0073 程序号已经使用

0074 非法程序号

0075 保护

0076 没有定义地址 P

0077 子程序嵌套错误

0078 未发现程序号

0079 系统使用时间到期 .

0080 录入数据不合理

0082 G37 中指令了 H 代码

0083 G37 中非法轴指令

0084 按键出现超时或短路现象

0085 通讯错误

0087 X 轴参考点返回未完成

0088 Z 轴参考点返回未完成

0089 Y 轴参考点返回未完成

0090 4TH 轴参考点返回未完成

0091 TH5 轴参考点返回未完成

0092 不在参考点的轴

0094 不允许 P 类型 ( 坐标 )

0095 P 类型不允许 (EXT OFS CHG)

0096 P 类型不允许 (WRK OFS CHG)

0097 P 类型不允许 ( 自动执行 )

0098 在顺序返回中发现 G28

0099 检索之后不允许执行 MDI

0100 参数写入有效

0101 断电记忆数据错乱 , 请确保位置正确

0110 位置数据超过了允许范围 . 请回零 .

0111 计算数据溢出

0112 被零除

0113 不正确指令

0114 宏程序格式错误

0115 非法变量

第144页

车床编程说明

144 / 188

0116 写保护变量

0118 大括号嵌套错误

0119 M00~M02,M06,M98,M99,M30 不能和其它 M 指令同段

0122 四重的宏模态 - 调用

0123 DNC 中不能使用宏指令

0124 程序非法结束

0125 宏程序格式错误

0126 非法循环数

0127 NC 和宏指令在同一程序段

0128 非法宏指令的顺序号

0129 非法自变量地址

0130 非法轴操作

0131 太多的外部报警信息

0132 未发现报警号

0133 系统不支持的轴指令

0134 系统控制轴数大于 3 轴时不能使用刚性攻丝

0135 非法角度指令

0136 非法轴指令

0139 不能改变 PLC 控制轴

0142 非法比例率

0143 缩放运动数据溢出

0144 非法平面选择

0148 非法数据设定

0149 G10L3 中格式错误

0150 非法刀具组号

0151 未发现刀具组号

0152 刀具数据不能存储

0153 换刀前没有取消 C 刀补

0154 未用寿命组中刀具

0155 M06 中非法 T 代码

0156 未发现 P/L 指令

0157 太多的刀具组

0158 非法刀具寿命数据

0159 刀具数据设定未完成

0160 极坐标方式中圆弧只能使用 R 编程

0161 极坐标方式中不能执行该指令

0162 在录入方式使用了 G70~G76 指令

0163 旋转方式中不能执行该指令

第145页

车床编程说明

145 / 188

0164 缩放方式中不能执行该指令

0165 请在单独的程序段内指定该指令

0166 回参考点时没有指定轴

0167 中间点坐标太大

0168 孔底最小暂停时间应小于孔底最大暂停时间

0170 进入或退出子程序时未取消刀具半径补偿

0172 调用子程序的程序段中 ,P 不是整数或 P 小于 0

0173 子程序调用次数应小于 9999 次

0175 固定循环只能在 G17 平面执行

0176 未指定主轴转速

0177 不支持主轴定向功能

0178 固定循环开始前未指定主轴转速

0181 非法的 M 代码

0182 非法的 S 代码

0183 非法的 T 代码

0184 所选刀具超出范围

0185 L 太小或 L 未定义

0186 L 太大

0187 刀具半径太大

0188 U 太大

0189 U 值小于刀具半径

0190 V 太小或 V 未定义

0191 W 太小或 W 未定义

0192 Q 太小或 Q 未定义

0193 I 未定义或 I 为 0

0194 J 未定义或 J 为 0

0195 D 未定义或 D 为 0

0198 非法轴选择

0199 宏指令未定义

0200 非法 S 方式指令

0201 刚性攻丝中未发现进给速度

0202 位置 LSI 溢出

0203 刚性攻丝中程序不对

0204 非法轴操作

0205 刚性方式 DI 信号关闭

0206 不能改变平面 ( 刚性攻丝 )

0207 攻丝数据不对

0208 G10 模态下不能执行该指令 .

第146页

车床编程说明

146 / 188

0212 非法平面选择

0224 返回参考点

0231 G10 L50 或 L51 中的非法格式

0232 指令的螺旋插补轴太多

0233 设备忙

0235 记录结束

0236 程序再启动参数错误

0237 无小数点

0238 地址重复错误

0239 参数 0

0240 MDI 方式中不允许 G41/G42

0241 手轮脉冲异常

0243 主轴脉冲异常

0244 螺纹加工速度超过上限值

0245 螺纹加工时主轴转速波动超出限制值

0251 急停报警

0255 螺纹段不能指定主轴转速

0256 螺纹导程超出范围

0257 G71~G73 指令的程序段中使用了 T 指令

0258 地址 P 或 Q 指定的两程序段中指令了 M98,M99 或 M30

0259 在 G71/G72 指令中 ,P 程序段中指令了地址 Z(W)/X(U)

0260 轴名重复 , 请修改参数 NO.225~227

0261 刀具偏置号超出有效范围 (0~32)

0262 刀具号不在数据参数 No.084 设定的范围内

0263 刀具寿命管理中 , 刀具组号超出范围 (1~32)

0264 C 刀补中不能执行 T 指令 , 请撤销 C 刀补

0265 G70~G76,G90,G92,G94 等只能在 G18 平面内使用

0266 不能执行平面转换指令 G17~G19

0267 程序中缺少 G11 或 G13.1

0268 刀具寿命管理中 , 当前刀具组内无刀具

0269 刀具寿命管理中 , 当前刀具组未定义

0270 同组内所有刀具的寿命已到达

0271 刀具寿命管理功能无效 , 不得使用 G10 L3 指令

0272 G11 不能编在 G10 之前

0273 G33 攻牙时在 X 方向移动量不为 0

0274 螺纹分度头数大于 65535 头

0275 在 G90,G92 指令中的 R 绝对值大于 U/2 绝对值

0276 在 G94 指令中的 R 绝对值大于 W 绝对值

0277 G70~G73 指令中精加工程序段超过 31 段

第147页

车床编程说明

147 / 188

0278 G70~G73 指令中精加工程序段的 Ns 与 Nf 顺序错误

0279 G70~G73 指令中循环段号 Ns 或 Nf 不存在

0280 G70~G73 指令未输入循环起始循环终止段号

0281 G70~G73 循环中调用了子程序

0282 G70~G73 循环起始段中没有指令 G00 或 G01

0283 G70~G73 循环起始段中使用了被禁止使用的 G 指令

0284 G70~G73 循环终止段中使用了被禁止使用的 G 指令

0285 在录入方式使用了 G70~G73 指令

0286 在 G71~G72 循环精加工程序段中坐标变化非单调

0287 G71 或 G72 中的单次进刀量超出允许范围

0288 G71 或 G72 中的单次退刀量超出允许范围

0289 G71 指令的第一段指令了 Z 或 W

0290 G72 指令的第一段指令了 X 或 U

0291 G73 的总切削量超出允许范围

0292 G73 的循环次数小于 1 或大于 9999

0293 G74 或 G75 中的单次退刀量 R(e) 超出允许范围

0294 G74 或 G75 中切削到终点时的退刀量为负值

0295 G74 或 G75 中 X 或 Z 方向的单次切削量超出允许范围

0296 G74 指令中未输入 Z 的值

0297 G74 指令中 Q 的值为 0 或未输入

0298 G75 指令中未输入 X 的值

0299 G75 指令中 P 的值为 0 或未输入

0300 G76 加工锥螺纹时起点在螺纹起点与螺纹终点之间

0301 G76 指令中最小切入量超出允许范围

0302 G76 精加工余量超出允许范围

0303 G76 牙高小于精加工余量或小于 0

0304 G76 循环次数超出允许范围

0305 G76 螺纹倒角宽度超出允许范围

0306 G76 指令中刀尖角度超出允许范围

0307 G76 指令中 X 或 Z 轴移动量为 0

0308 G76 指令中没有指定螺纹牙高 P 值

0309 G76 指令中没有指定第一次切削深度 Q 值或 Q 值为 0

0310 循环起点在精加工轨迹起点与终点形成的封闭区域内

0311 变螺距螺纹切削过程中出现螺距小于 0

0312 G76 指令中牙高小于 X 轴移动量

0320 附加轴指令无倒角功能

0321 在录入方式使用了 WHILE,END 指令

0322 宏语句格式指定错误

0323 宏语句中 DO,END 标号不是 1,2,3

第148页

车床编程说明

148 / 188

0324 宏语句中 DO,END 格式指定错误

0325 宏语句中括号不匹配或格式指定错误

0326 宏语句中除数不能为 0

0327 宏语句中指定的反正切 ATAN 格式错误

0328 宏语句中 LN 的反对数为 0 或小于 0

0329 宏语句中开平方不能为负数

0330 宏语句中正切 TAN 的结果为无穷

0331 宏语句中 ASIN 或 ACOS 的操作数超出 -1 到 1 范围

0332 宏语句中宏变量号或变量值非法 ( 错误 )

0451 X 轴驱动器报警 .

0452 Z 轴驱动器报警 .

0453 Y 轴驱动器报警 .

0454 4TH 轴驱动器报警 .

0455 TH5 轴驱动器报警 .

0456 主轴驱动器报警 .

0500 软限位超程 :-X

0501 软限位超程 :+X

0502 软限位超程 :-Z

0503 软限位超程 :+Z

0504 软限位超程 :-Y

0505 软限位超程 :+Y

0506 软限位超程 :-4TH

0507 软限位超程 :+4TH

0508 软限位超程 :-Th5

0509 软限位超程 :+Th5

0510 硬限位超程 :-X

0511 硬限位超程 :+X

0512 硬限位超程 :-Z

0513 硬限位超程 :+Z

0514 硬限位超程 :-Y

0515 硬限位超程 :+Y

0516 硬限位超程 :-4TH

0517 硬限位超程 :+4TH

0518 硬限位超程 :-Th5

0519 硬限位超程 :+Th5

0740 刚性攻丝报警 : 超差

0741 刚性攻丝报警 : 超差

0742 刚性攻丝报警 :LSI 溢出

第149页

车床编程说明

149 / 188

0751 检测到第一主轴报警 (AL-XX)

0754 主轴异常转矩报警

1001 继电器或者线圈的地址未设定

1002 输入代码的功能指令不存在

1003 功能指令 COM/COME 未正确使用 .

1004 用户梯形图超出最大允许行数或者步数 .

1005 功能指令 END1 或 END2 未正确使用 .

1006 网络中存在非法的输出 .

1007 硬件故障或者系统中断错误导致 PLC 无法通信 .

1008 功能指令未正确连接 .

1009 网络水平线未连上 .

1010 在编辑梯形图时断电导致在编辑的网络丢失 .

1011 地址数据未正确输入 .

1012 输入符号未定义或者输入地址超出范围 .

1013 指定了非法字符或数据超出范围 .

1014 CTR 地址重复 .

1015 功能指令 JMP/LBL 未正确处理或者超出容量 .

1016 网络结构不完整 .

1017 出现当前不支持的网络结构 .

1019 TMR 地址重复 .

1020 功能指令中缺少参数 .

1021 PLC 执行超时 , 系统自动停止 PLC.

1022 功能指令名丢失 .

1023 功能指令参数的地址或常数超出范围 .

1024 存在有不必要的继电器或线圈 .

1025 功能指令未正确输出 .

1026 网络连接行数超出支持范围 .

1027 同一输出地址在另一处被使用 .

1028 梯图文件格式错误 .

1029 在使用的梯图文件丢失 .

1030 网络中有不正确的垂直线 .

1031 用户数据区已满 , 请减少 COD 指令数据表容量 .

1032 梯形图的第一级太大 , 不能及时执行完毕 .

1033 SFT 指令超出最大允许使用数 .

1034 功能指令 DIFU/DIFD 未正确使用 .

1035 当前打开的梯图文件转换未成功

1036 PLC 异常停止报警

1037 打开的梯形图与数据参数设置梯形图不一致

第150页

车床编程说明

150 / 188

1039 指令或网络不在可执行范围内 .

1040 功能指令 CALL/SP/SPE 未正确使用 .

1041 水平导通线与节点网络并联 .

1042 PLC 系统参数文件未载入

2、PLC 报警

A000.0 换刀时间过长

报警原因:执行换刀时,在数参 78 号换刀总时间内未找到刀号;

处理:按【复位键】取消报警,检查刀位信号是否正常。

A000.1 换刀完成时,刀架未到位报警

报警原因:执行换刀完成时,刀架反馈信号与换刀指令刀号不一致;

处理:按【复位键】取消报警,重新换刀。

A000.2 换刀未完成报警

报警原因:执行换刀过程中有报警或复位;

处理:按两次【复位键】取消报警,重新换刀。

A000.3 未收到刀架锁紧信号

报警原因:执行换刀锁紧时,在规定时间内未检测到锁紧信号;(普通刀架时间数参:

83 号)

处理:按【复位键】取消报警,重新换刀。

A000.5 系统断电前,换刀出错

报警原因:执行换刀未正常完成时,系统断电;

处理:按【复位键】取消报警,重新换刀。

A000.6 AK31 换刀时预分度未到位

报警原因:选择 AK31 刀架,执行换刀时,在 4 秒内未检测到预分度到位松开;

处理:按【复位键】取消报警,检查预分度感应器,重新换刀。

A000.7 刀塔锁紧未松开

报警原因:选择六鑫液压刀架,执行换刀时,在 4 秒内未检测 Sensor F 信号松开;

处理:按【复位键】取消报警,检查 Sensor F 感应器,重新换刀。

A001.0 尾座功能无效,不能执行 M10 和 M11 代码

报警原因:尾座功能未打开时,执行 M10/M11 代码;

处理:按【复位键】取消报警。

A001.1 主轴旋转中,不可以退尾轴

报警原因:尾座功能与主轴功能互锁,主轴旋转时执行尾轴后退;

百万用户使用云展网进行网上电子书制作,只要您有文档,即可一键上传,自动生成链接和二维码(独立电子书),支持分享到微信和网站!
收藏
转发
下载
免费制作
其他案例
更多案例
免费制作
x
{{item.desc}}
下载
{{item.title}}
{{toast}}