文档库 最新最全的文档下载
当前位置:文档库 › 新代数控车床宏程序说明

新代数控车床宏程序说明

新代数控车床宏程序说明
新代数控车床宏程序说明

一.用户宏程序的基本概念

用一组指令构成某功能,并且象子程序一样存储在存储器中,再把这些存储的功能由一个指令来代表,执行时只需写出这个代表指令,就可以执行其相应的功能。

在这里,所存储的一组指令叫做宏程序体(或用户宏程序),简称为用户宏。其代表指令称为用户宏命令,也称作宏程序调用指令。

用户宏有以下四个主要特征:

1)在用户用户宏程序中可以使用变量,即宏程序体中能含有复杂的表达式;2)能够进行变量之间的各种运算;

3)可以用用户宏指令对变量进行赋值,就象许多高级语言中的带参函数或过程,实参能赋值给形参;

4)容易实现程序流程的控制。

使用用户宏时的主要方便之处在于由于可以用变量代替具体数值,因而在加工同一类的工件时.只得将实际的值赋予变量既可,而不需要对每个不同的零件都编一个程序。

二.基本书写格式

数控程序文档中,一般以“%”字符作为第一行的起头,该行将被视为标题行。当标题行含有关键字“@MACRO”时整个文档就会以系统所定义的MACRO语法处理。如果该行无“@MACRO”关键词此档案就会被视为一般ISO程序文档格式处理,此时将不能编写用户宏和使用其MACRO语法。而当书写ISO程序文档时标题行一般可以省略,直接书写数控程序。“@MACRO”关键词必须是大写字母。

对于程序的注释可以采用“//……”的形式,这和高级语言C++一样。

例一:MACRO格式文档

% @MACRO //用户宏程序文档,必须包含“@MACRO”关键词

IF @1 = 1 THEN

G00 X100. ;

ELSE

G00 Z100.;

END_IF;

M99;

例二:ISO格式文档

% 这是标题行,可当作档案用途说明,此行可有可无

G00 X100.;

G00 Z100.;

G00 X0;

G00 Z0;

M99;

页1第

三.用户宏程序的编写

如前所述,变量是指可以在用户宏程序中的地址码后代替具体数值,在调用宏程序时进行赋值的符号#i (i=1,2,3,…)。使用变量可以使用户宏程序具有通用性。用户宏程序中可以使用多个变量,以变量编号进行识别。

1、变量的形式

变量是用符号#或@后面加上变量编号所构成的,即:

#i(i=1,2,3,…)

例如:#5

#109

#1005

也可用#[<表达式>]的形式来表示。

例如:#[#100]

#[#1001-1]

#[#6/2]

其实,通过用符号@后面加上变量编号也可构成的变量,即:

) 3,…1,2,@ i(i=@5

例如:@ [@5]

但一般地,由符号@后面加上变量编号构成的变量称为全局变量,不提倡在用户宏程序中使用,具体见后面的介绍。

2、变量的引用

在地址符后的数值可以用变量置换。

例如:

若写成F#33,则当#33=1.5时,与F1.5相同。

若写成Z-#18,则当#18=20.0时,与Z-20.0相同。

但需要注意,作为地址符的O、N、/等,不能引用变量。

例如,O#27、N#1等,都是错误的。

3、未定义变量

尚未被定义的变量,被称为空(V ACANT)。

变量#0,@0 始终为空,经常被用作空变量使用。

3.变量赋值和引数赋值

变量赋值:用户宏程序中变量赋值使用赋值运算符“:=”,不可仅用“=”符号。因为在本系统中符号“=”是被规定为关系运算符,用来比较是否相等的。

例如#30:=100,会将变量#30赋值为整数100;而#30=100,将不能为变量#30赋值,实际上是比较变量#30是否与整数100相等。

页2第

四.变量运算及变量表达式

1.用户宏运算符

要对变量进行各种运算操作就要用到运算符,它是“能对变量所存数据进行运算的符号”。本系统的运算符及其优先级如表3-2所示。

表3-2 运算符及其优先级

运算名符号优先级

[ ]

,括号( )1

> ) <函数名函数调用运算>(<参数列表2

取负3 -

求补运算3 NOT

乘法运算4 *

除法运算4 /

/求余运算模运算4 MOD

加法运算5 +

减法运算5 -

>= <=,<,关系运算>,6

相等运算7 =

不等运算8 <>

AND ,&按位与布尔逻辑/9

异或布尔逻辑/按位10 XOR

或按位布尔逻辑/11

OR

2、基本算数运算符

(1) + (加法运算符,如3+5,#12+4)

(2) -(减法运算符,或取负运算符,如#33-16,-#16)

(3) * (乘法运算符,如9*2,#13*8)

(4) / (除法运算符,如10/3,#43/15)

(5)MOD (模运算符,或称求余运算符,其两侧均应为整型数据,如7 MOD4的值为3,当#18=20时#18 MOD4的值为2)

3、算术表达式和运算符优先级

用算术运算符和括号将运算对象连接起来的、符合语法规则的式子称为算术表达式,运算对象可以是常数、变量、函数等。

例如:#6*8/#32-1.5+#18+ ROUND(#1)

这就是一个算术运算式,它可以作为一个整体赋值给某个变量,或用作其他表达式中的一个运算对象。

本系统按表表3-2规定了运算符的优先级和结合性。在表达式求值时,先按运算

符的优先级别高低次序执行,例如先乘除后加减。如表达式#12-#41*5的左侧为减,

#12-(#41*5)。右侧为乘号,而乘号优先于减号,因此,相当于,则按规定的如果在一个运算对象两侧的运算符的优先级别相同,如#2-5+#23结合性(结合方向)处理,算术运算符的结合方向为“自左至右”,即先左后右。的运算。这样“自左至右的先与减号结合,执行#2-5的运算,再执行加#23因此5结合方向”又称为“左结合性”,即运算对象先与左面的运算符结合;对应地,也有“右结合性”的运算符,例如赋值运算符“:=”就是。

4、关系运算符和关系表达式关系运算符是逻辑运算中比较简单的一种。

所谓“关系运算”实际上就是“比

较运算”。将两个值进行比较,判断比较的结果是否符合给定的条件。,是一个关系运算符,如果#3=12例如,#3>10是一个关系表达式,大于号(>)条件,因此关系表达式的值为“真”(即“条件满足”);>10”则满足给定的“#3 10”条件,则称关系表达式的值为“假”。如果#3=6,不满足“#3>本系统提供6

种关系运算符:

(小于)(1) <

(小于或等于)(2) <= 优先级相同(高)(大于)(3) > (大于或等于)(4) >=

(等于)(5) = 优先级(较高)

(不等于)(6) <> 优先级(低)

关于优先次序:1、前4种关系运算符(<,<=,>,>=)的优先级别相同,它们却高于关系运算符“=”,而“=”又高于“<>”

2、关系运算符的优先级低于算术运算符。

3、关系运算符的优先级高于赋值运算符。

用两个关系运算符将两个表达式连接起来的式子,称为关系表达式。

例如:#6>36,#13+4<>#23

关系表达式的值是一个逻辑值,即“真”或“假”。例如,若#12为8,则关系表达式“#12=10”的值为“假”,“#12>=6”的值为“真”。

5、逻辑运算和逻辑表达式

用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式。

本系统提供6种逻辑运算符和逻辑运算

(1) &,AND 逻辑与

(2) XOR 逻辑或

(3) OR 逻辑异或

它们都是“双目(元)运算符”,它要求有两个运算量(操作数),逻辑运算举例如下:

#1 AND #2 若#1 、#2为真,则#1 AND #2为真。

#1 OR #2 若#1 、#2之一为真,则#1 XOR #2为真。

。逻辑运算符低于关系运算符,见图3-1算术运算符(高)关系运算符逻

辑运算符(低)赋值运算符

3-1

图五.用户宏程序的流程控制)是通过控制程序的执行方向,进而掌握程序动所谓程序的流程(Flow Control

态。这用户宏程序区别于一般数控程序的特征之一,也是用户选择用户宏程序编写数控代码的一大理由。用户宏程序的流程控制包括无条件判断、循环控制、无条件转移三大类,这与其他的高级语言程序类似,下面将分别介绍其功能和使

用语法。1、条件判断判断条件的真假,然后根据真假或者对应情况到指定

的地方去执行程序,这方

CASE语句。面的语句有IF和IF条件语句1、1)基本语法:→>→<操作→ELSEIF <条件表达式> THEN> IF <条件表达式THEN→<操作>;→

END_IF ELSE→<操作> 条件判断,根据真假情况到指定的地方去执行程序。说明:IF 例如:MACRO语法% @MACRO // 启动#1 := 3.0;

15. F200;

X20. ZG01

(1.0*1);

X(1.0*1);ZIF #1 = 1 THEN;(1.0*2); ZELSEIF #1 = 2 THEN;X(1.0*2);(1.0*3); ZELSEIF #1 = 3 THEN;X(1.0*3);(1.0*4); Z;X(1.0*4);ELSE(1.0);

END_IF;X(1.0)ZM30;

然而在实际使用中,可以有以下一些变形:1

2)变形语法:;

→操作→→操作→THE条件表达式IF <> N<>ELSE<>END_IF

3)变形2

语法:

IF <条件表达式> THEN→<操作>→END_IF;

编程时可根据需要选择合适的语法格式。

2、循环控制

1、REPEAT直到型循环

语法:

REPEAT

<循环体>

UNTIL <条件表达式> END_REPEAT;

说明:REPEAT直到型循环控制,先执行循环体,后判断条件表达式,当条件满足时退出循环。

例如:

% @MACRO // 启动MACRO语法

#10 := 30.;

#11 := 22.5.;

#12 := #10/2;

#13 := #11/2;

#14 := 2.0;

#15 := 1.5;

#13 F200.0;

G01 X#12 ZREPEAT

(#13+#15); ZG00 X(#12+#14)

(#13-#15); ZG01 X(#12+#14)

(#13-#15); X(#12-#14) Z

(#13+#15); ZX(#12-#14)

(#13+#15); X(#12+#14) Z#14 := #14 + 2.0;

#15 := #15 + 1.5;

UNTIL (#14 > #12) OR (#15 > #13) END_REPEAT;

(1.0); ZX(1.0)

M30;

3.WHILE当型循环

语法:

WHILE <条件表达式> DO→<循环体>→END_WHILE;

说明:WHILE当型循环控制,先判断条件表达式,当条件满足时执行循环体,

否则退出循环。

例如:

% @MACRO;

#10 := 20.;

#11 := 15.;

#12 := #10/2;

#13 := #11/2;

#14 := 2.0;

#15 := 1.5;

G01 X#12 Z#13 F200.0;

WHILE (#14 <= #12) AND (#15 <= #13) DO

G00 X(#12+#14) Z(#13+#15);

(#13-#15); ZG01 X(#12+#14)

(#13-#15); X(#12-#14) Z

IF #14 > 6.0 THEN

EXIT;

END_IF;

(#13+#15); ZX(#12-#14)

(#13+#15); ZX(#12+#14)

#14 := #14 + 2.0;

#15 := #15 + 1.5;

END_WHILE;

X(-5.0) Z(5.0);

M02;

4.FOR循环

语法:

FOR <循环变量> := <表达式1> TO <表达式2> [ BY <表达式3>] DO

<循环体>

END_FOR;

说明:FOR循环控制,式中各参数意义如下

循环变量——控制循环次数的变量;

表达式1——循环计数的起始值,可为整数或表达式;

表达式2——循环计数的终止值,可为整数或表达式;

表达式3——循环计数每次的累加值,可为整数或表达式;

循环体——循环每次执行内容;

FOR循环执行过程为:先给循环变量赋起始值,然后判断循环变量是否为终止值,当循环变量已为终止值时退出循环,否则执行循环体,再对循环变量加上每次累加值,

5、无条件转移

GOTO转移语句

语法:

GOTO n;

说明:无条件地跳到指定的n行号执行,其中n可为整数或表达式。GOTO常和IF语句搭配使用,那就是说当程序检查到某个条件满足时用GOTO语句去进一步处理,但应尽量少用该语句以提高程序可读性。

范例:

% @MACRO // 启动MACRO语法

IF( #1 = 2 ) THEN GOTO 100;

G01 X10. Z10.;

N100 G01 X30. Z30.;

M02;

EXIT循环中断语句

语法:EXIT;

说明:循环中断,跳离循环控制;用在循环控制中,通常EXIT都和IF语句搭配使用,当某个条件满足后就跳离循环。

请参考WHILE范例。

六.库函数

1、ABS

调用方法:ABS(<参数>)

函数描述:求一个数的绝对值

范例:

#1 := ABS(-2.3); // #1 的结果是2.3

[注]:此处函数内“参数”既可为实际数值,也可为变量或表达式,以下若无特殊说明均按此处理。

2、SIN

调用方法:SIN (<参数>)

函数描述:求一个数的正弦值

范例:

#1 := SIN(#10);

3、ASIN

调用方法:ASIN (<参数>)

函数描述:求一个数的反正弦值

范例:

#1 := ASIN(#10);

4、MAX

调用方法:MAX(<参数1,参数2>)

函数描述:求两个数的最大值

范例1:

#1 := MAX(10,20); // #1等于20

范例2:

#1 := MAX(#2,#3);

5、SQRT

调用方法:SQRT (<参数>)

函数描述:求一个数的平方根值

范例1:

#2 := SQRT(3); // #2 等于1.732

范例2:

#16 := SQRT(#10);

6、SIGN

调用方法:SIGN (<参数>)

函数描述:返回一个数的符号,-1表示该数是负数,1表示该数是正数,0表示该数是零。

范例:

IF( SIGN(#10) > 0 ) THEN

END_IF;

5、CEIL

调用方法:CEIL(<参数>)

函数描述:返回比一个数大或与其相等的最小整数

范例1:

#2 := CEIL(2.3); // #2 等于3

范例2:

#2 := CEIL(#10);

7、ROUND

调用方法:ROUND (<参数>)

函数描述:四舍五入化整,

范例1:

#2 := ROUND(2.3); // #2 等于2

范例2:

#2 := ROUND(#10);

七.用户宏程序编写注意事项

1.用户宏文档第一行必须为%@MACRO;程序段的每一行结束需加“;”结束符;对于用户宏子程序最后需加“M99;”,以便能返回到主程序。

2.变量赋值使用“:=”符号,不可仅用“=”符号。

3.文档名储存需依照下列规则。

例如:编写G100之MACRO,需将该MACRO程序存在C:\CNC\MACRO目录底下,且文件名需为G0100,不需扩展名。

而编写G100.1之MACRO,需将该MACRO程序存在C:\CNC\MACRO目录底下,且文件名需为G100001,不需扩展名。

4.请多使用局部变量(#1~#50), 模态变量(#2001~#2100,#3001~#3100)为所有扩充G码的共享资源,请仅用于多个扩充G码间的数据交换,以节省共享资源;如果需要系统定义的初始值,请使用用户参数( #4001~#4100,#5001~

#5100 )。

5.请不要使用全局变量(Global Variables,@1~@999),因为G码执行时,使用者的数据是由自变量(A_,B_…,Z_)传入,由公共变量传递不符合使用习惯。

6.系统在执行加工时对于MACRO程序会事先预编译,因此MACRO执行速度会超前于G、M 代码指令,因此当要求变量赋值或数据读取须与G、M代码指令发出的时间进程相同时,请于变量赋值或数据读取前加WAIT()指令,否则该变量赋值或该数据读取将无法与G、M 代码同步。

7.不可改变模式G码(G00/G01/G02/G03/G33/G34/G35,G91/G90,

G40/G41/G42,…,)的状态,如果用户宏程序中需要改变其状态时,就需要模态信息的回复,

8.对于长度或角度的自变量在运算前请使用STD()函数将单位标准化,以符合工具机使用习惯。

9.不可以改变坐标系统设定,G92/G54/G52等与坐标系统相关指令不能使用,否则图形仿真功能将失去参考意义。

10.请在程序中加上必要的注释,养成良好的编程习惯,以增加程序可读性和可

维护性,以帮助后续开发人员维护和排除问题。

附录Ⅳ运算符及其优先级

运算名符号优先级

[ ]

括号,( )1

> ) 函数名函数调用运算>(<参数列表<2

取负3 -

求补运算3 NOT

乘法运算4 *

除法运算4 /

模运算/求余运算4 MOD

加法运算5 +

减法运算5 -

>= ,<>,<=,关系运算6

相等运算7 =

不等运算8 <>

AND 布尔逻辑/按位与,&9

/按位异或布尔逻辑10 XOR

布尔逻辑按位或/11

OR

描述函数名

求一个数的绝对值ABS

:

范例2.3 #1 := ABS(-2.3); //#1 的结果是

求一个数的反余弦值ACOS

:

范#1 := ACOS(#10);

求一个数的反正弦ASIN

:

范#1 := ASIN(#10);

求一个数的反正切ATAN

:

范#1 := ATAN(#10);

求一个数的余弦COS

:

范#1 := COS(#10);

求两个数的最大MAX

1:

范例页11第

描述函数名

20 等于// #1#1 := MAX(10,20);

2:

范例#3);

#1 := MAX(#2,

求两个数的最小值MIN

1:

范例10.0 20.0); // #1等于#1 := MIN(10.0,

2:

范例#11); #1 := MIN(#10,

求一个数的正弦值SIN

:

范例#1 := SIN(#10);

求一个数的平方根值SQRT

1:

范例1.732.. 等于#2 := SQRT(3); // #2

2:

范例#2 := SQRT(#10);

求一个数的正切值TAN

:

范例#1 := TAN(#10);

表示该数是返回一个数的符号,1-1表示该数是负数,SIGN 0表示该数是零正数,:

范例IF( SIGN(#10) > 0 ) THEN

….

END_IF;

返回比一个数大或与其相等的最小整数CEIL

1:

范3// #2等#2 := CEIL(2.3);

2:

范#2 := CEIL(#10);

返回比一个数小或与其相等的最大整FLOOR

1:

范2等#2 := FLOOR(2.3);// #2

2:

范#2 := FLOOR(#10);

四舍五入化ROUND

1:

范例

描述函数名

2 // #2 等于#2 := ROUND(2.3);

2:

范例#2 := ROUND(#10);

根据第二参数规范化,读第一个参数为规范化对象,STD

个参数使用最小增量方法,特别对小数编程尤为必要。:

范例根据远轴规范化,#1600); // #9 := STD(#9根据第二读第一个参数为规范化对象,参数规范化,STDAX

个轴地址参数使用最小增量方法:

范例X轴规范化#24 := STDAX(#24,X); //根据A轴规范化A); //根据#3 := STDAX(#3,产生一个伪随机数RANDOM

:

范例#1 := RANDOM();

进宏堆栈PUSH

:

范例内容进栈// 变量#1 PUSH(#1);

内容进栈// 变量#3 PUSH(#3);

出宏堆栈POP

范例:

#1 #1 := POP( ); //出栈值赋给变量

从栈顶依据索引获取堆栈元素,STKTOP

但不弹出此元素:

范STKTOP(0);/栈顶元

栈顶下的第一个元/STKTOP(1);

/栈顶下的第二个元STKTOP(2);

…et

发出宏警ALARM

范:

30的警//ALARM(300);发出标识号ALARM(#1);// #1必须为整临时放弃执行循SLEEP

:范SLEEP();

新代数控车床宏程序说明

一.用户宏程序的基本概念 用一组指令构成某功能,并且象子程序一样存储在存储器中,再把这些存储的功能由一个指令来代表,执行时只需写出这个代表指令,就可以执行其相应的功能。 在这里,所存储的一组指令叫做宏程序体(或用户宏程序),简称为用户宏。其代表指令称为用户宏命令,也称作宏程序调用指令。 用户宏有以下四个主要特征: 1)在用户用户宏程序中可以使用变量,即宏程序体中能含有复杂的表达式; 2)能够进行变量之间的各种运算; 3)可以用用户宏指令对变量进行赋值,就象许多高级语言中的带参函数或过程,实参能赋值给形参; 4)容易实现程序流程的控制。 使用用户宏时的主要方便之处在于由于可以用变量代替具体数值,因而在加工同一类的工件时.只得将实际的值赋予变量既可,而不需要对每个不同的零件都编一个程序。 二.基本书写格式 数控程序文档中,一般以“%”字符作为第一行的起头,该行将被视为标题行。当标题行含有关键字“@MACRO”时整个文档就会以系统所定义的MACRO语法处理。如果该行无“@MACRO”关键词此档案就会被视为一般ISO程序文档格式处理,此时将不能编写用户宏和使用其MACRO语法。而当书写ISO程序文档时标题行一般可以省略,直接书写数控程序。“@MACRO”关键词必须是大写字母。 对于程序的注释可以采用“//……”的形式,这和高级语言C++一样。 例一:MACRO格式文档 % @MACRO //用户宏程序文档,必须包含“@MACRO”关键词 IF @1 = 1 THEN G00 X100.; ELSE G00 Z100.; END_IF; M99; 例二:ISO格式文档 % 这是标题行,可当作档案用途说明,此行可有可无 G00 X100.; G00 Z100.; G00 X0; G00 Z0; M99;

数控车床由浅入深的宏程序实例

宏程序 裳华职业技术中专鲍新涛 宏程序概述 其实说起来宏就是用公式来加工零件的,比如说,如果没有宏的话,我们要逐点算出上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。.宏一般分为A类宏和B类宏。 A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序 则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广。 宏程序的作用 数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。 宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程。较大地简化编程;扩展应用范围。 宏的分类 B类宏 由于现在B类宏程序的大量使用,很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如(FANUC)OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好

再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A 类宏的引用; A类宏 A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的,xx 的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM.#xx就是号,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD 系统中有#0~#100~#149~#500~#531.关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义: 应用 以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行, 基本指令 H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中 G65H01P#101Q#10:把#10赋予到#101中 H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101

数控车床宏程序编程

数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点:1.使用了变量或表达式(计算能力),例如:(1)G01 X[3+5] ; 有表达式3+5 (2)G00 X4 F[#1] ; 有变量#1 (3)G01 Y[50*SIN[3]] ; 有函数运算2.使用了程序流程控制(决策能力),例如:(1)IF #3 GE 9 ; 有选择执行命令 ENDIF 2)WHILE #1 LT #4*5 ; 有条件循环命令 ENDW

二.用宏程编程有什么好处? 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。 一.宏变量及宏常量 1.宏变量 先看一段简单的程序: G00 X25.0 上面的程序在X tt作一个快速定位。其中数据25.0是固定的,引入变量后可以写成:#1=25.0 ;#1 是一个变量 G00 X[#1] ;#1 就是一个变量 宏程序中,用“ #”号后面紧跟1~4位数字表示一个变量,如#1, #50, #101,……。变 量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。

使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ; 表示G01 X25 #1=-10 ; 运行过程中可以随时改变#1的值 G01 X[#1] ; 表示G01 X-10 用变量不仅可以表示坐标,还可以表示G M F、D H、MX、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ; 表示G03 X30 例1 使用了变量的宏子程序 %1000 #50=20 ; 先给变量赋值 M98 P1001 ; 然后调用子程序 #50=350 ; 重新赋值 M98 P1001 ; 再调用子程序 M30

数控车床编程实例 100

数控车床编程实例 例1.G01直线插补指令编程如下图所示 安装装仿形工件 坐标点X(直径)Z圆弧半径圆弧顺逆A00 B300 C30-48 D64-58 E84-73 F84-150 0-150 FUNAC数控车编程如下: O9001 N10 G50 X100 Z10 (设立坐标系,定义对刀点的位置) N20 G00 X16 Z2 M03 (移到倒角延长线,Z 轴2mm 处) N30 G01 U10 W-5 G98 F120 (倒3×45°角) N40 Z-48 (加工Φ26 外圆) N50 U34 W-10 (切第一段锥) N60 U20 Z-73 (切第二段锥) N70 X90 (退刀) N80 G00 X100 Z10 (回对刀点) N90 M05 (主轴停) N100 M30 (主程序结束并复位) //////////////////////////////////////////////////////////////////////////////////////// 华中数控车床编程如下: %9001 N10 G92 X100 Z10 (设立坐标系,定义对刀点的位置) N20 G00 X16 Z2 M03 (移到倒角延长线,Z 轴2mm 处)

N30 G01 U10 W-5 F300 (倒3×45°角) N40 Z-48 (加工Φ26 外圆) N50 U34 W-10 (切第一段锥) N60 U20 Z-73 (切第二段锥) N70 X90 (退刀) N80 G00 X100 Z10 (回对刀点) N90 M05 (主轴停) N100 M30 (主程序结束并复位) =============================================================== 例2.G02/G03圆弧插补指令编程,如下图 安装装仿形工件 请设置安装装仿形工件,各点坐标参考如下(X向余量3mm) 坐标点X(直径)Z圆弧半径圆弧顺逆A00 B60 C30-24183 D32-3182 E32-40 F45-40 45-100 0-100 FUNAC数控车编程如下: O9002 N10 G50 X40 Z5(设立坐标系,定义对刀点的位置) N20 M03 S400 (主轴以400r/min旋转) N25 G50 S1000 (主轴最大限速1000r/min旋转)

数控车床编程实例详解(30个例子)-数控代码编程实例

车床编程实例一 半径编程 图3.1.1 半径编程 %3110 (主程序程序名) N1 G92 X16 Z1 (设立坐标系,定义对刀点的位置) N2 G37 G00 Z0 M03 (移到子程序起点处、主轴正转) N3 M98 P0003 L6 (调用子程序,并循环6 次) N4 G00 X16 Z1 (返回对刀点) N5 G36 (取消半径编程) N6 M05 (主轴停) N7 M30 (主程序结束并复位) %0003 (子程序名) N1 G01 U-12 F100 (进刀到切削起点处,注意留下后面切削的余量)N2 G03 U7.385 W-4.923 R8(加工R8 园弧段)N3 U3.215 W-39.877 R60 (加工R60 园弧段) N4 G02 U1.4 W-28.636 R40(加工切R40 园弧段) N5 G00 U4 (离开已加工表面) N6 W73.436 (回到循环起点Z 轴处) N7 G01 U-4.8 F100 (调整每次循环的切削量) N8 M99 (子程序结束,并回到主程序)

1

直线插补指令编程%3305车床编程实例二图3.3.5 G01 编程实例 N1 G92 X100 Z10 (设立坐标系,定义对刀点的位置) N2 G00 X16 Z2 M03 (移到倒角延长线,Z 轴2mm 处) N3 G01 U10 W-5 F300 (倒3×45°角) N4 Z-48 (加工Φ26 外圆) N5 U34 W-10 (切第一段锥) N6 U20 Z-73 (切第二段锥) N7 X90 (退刀) N8 G00 X100 Z10 (回对刀点) N9 M05 (主轴停) N10 M30 (主程序结束并复位) 圆弧插补指令编程 车床编程实例三 %3308 N1 G92 X40 Z5 (设立坐标系,定义对刀点的位置)N2 M03 S400 (主轴以400r/min 旋转) N3 G00 X0 (到达工件中心) N4 G01 Z0 F60 (工进接触工件毛坯) N5 G03 U24 W-24 R15 (加工R15 圆弧段) N6 G02 X26 Z-31 R5 (加工R5 圆弧段) N7 G01 Z-40 (加工Φ26 外圆) N8 X40 Z5 (回对刀点) N9 M30 (主轴停、主程序结束并复位

第3章数控车床的程序编制

第3章数控车床的程序编制 数控车床是目前使用最广泛的数控机床之一。数控车床主要用于加工轴类、盘类等回转体零件。通过数控加工程序的运行,可自动完成内外圆柱面、圆锥面、成形表面、螺纹和端面等工序的切削加工,并能进行车槽、钻孔、扩孔、铰孔等工作。车削中心可在一次装夹中完成更多的加工工序,提高加工精度和生产效率,特别适合于复杂形状回转类零件的加工。 3.1 数控车床程序编制的基础 针对回转体零件加工的数控车床,在车削加工工艺、车削工艺装备、编程指令应用等方面都有鲜明的特色。为充分发挥数控车床的效益,下面将结合HM-077数控车床的使用,分析数控车床加工程序编制的基础,首先讨论以下三个问题:数控车床的工艺装备;对刀方法;数控车床的编程特点。 3.1.1数控车床的工艺装备 由于数控车床的加工对象多为回转体,一般使用通用三爪卡盘夹具,因而在工艺装备中,我们将以WALTER 系列车削刀具为例,重点讨论车削刀具的选用及使用问题。1、数控车床可转位刀具特点数控车床所采用的可转位车刀,与通用车床相比一般无本质的区别,其基本结构、功能特点是相同的。但数控车床的加工工序是自动完成的,因此对可转位车刀的要求又有别于通用车床所使用的刀具,具体要求和特点如表3.1所示。

表3.1可转位车刀特点 要求 特点 目的 精度高 采用M级或更高精度等级的刀片;多采用精 密级的刀杆;用带微调装置的刀杆在机外预调 好。 保证刀片重复定位精度,方便坐标设定, 保证刀尖位置精度。 可靠性高 采用断屑可靠性高的断屑槽型或有断屑台和 断屑器的车刀;采用结构可靠的车刀,采用复 合式夹紧结构和夹紧可靠的其他结构。 断屑稳定,不能有紊乱和带状切屑;适应 刀架快速移动和换位以及整个自动切削过 程中夹紧不得有松动的要求。 换刀迅速 采用车削工具系统; 采用快换小刀夹。 迅速更换不同形式的切削部件,完成多种 切削加工,提高生产效率。 刀片材料刀片较多采用涂层刀片。满足生产节拍要求,提高加工效率。 刀杆截形 刀杆较多采用正方形刀杆,但因刀架系统结构 差异大,有的需采用专用刀杆。 刀杆与刀架系统匹配。 2、数控车床刀具的选刀过程 数控车床刀具的选刀过程,如图3.1所示。从对被加工零件图样的分析开始,到选定刀具,共需经过十个基本步骤,以图3.1中的10个图标来表示。选刀工作过程从第1图标“零件图样”开始,经箭头所示的两条路径,共同到达最后一个图标“选定刀具”,以完成选刀工作。其中,第一条路线为:零件图样、机床影响因素、选择刀杆、刀片夹紧系统、选择刀片形状,主要考虑机床和刀具的情况;第二条路线为:工件影响因素、选择工件材料代码、确定刀片的断屑槽型代码或ISO断屑X围代码、选择加工条件脸谱,这条路线主要考虑工件的情况。综合这两条路线的结果,才能确定所选用的刀具。下面将讨论每一图标的内容及选择办法。

数控车床的程序编制习题1

数控车床的程序编制习题 一判断题 1圆弧插补中,对于整圆,其起点和终点相重合,用R编程无法定义,所以只能用圆心坐标编程。( ) 2?圆弧插补用半径编程时,当圆弧所对应的圆心角大于1800时半径取负值。() 3. 车削中心必须配备动力刀架。() 4. X坐标的圆心坐标符号一般用K表示。() 5. 数控车床的特点是Z轴进给1mm零件的直径减小2mm () 6. 数控车床刀架的定位精度和垂直精度中影响加工精度的主要是前者。() 7. 数控车床加工球面工件是按照数控系统编程的格式要求,写出相应的圆弧插补程序段。() 8. 子程序的编写方式必须是增量方式。() 9. 数控车床的刀具功能字T既指定了刀具数,又指定了刀具号。() 10. 数控机床的编程方式是绝对编程或增量编程。() 11. 数控机床用恒线速度控制加工端面、锥度和圆弧时,必须限制主轴的最高转速。() 12. 螺纹指令G32 X41.0 W-43.0 F1.5 是以每分钟1.5mm的速度加工螺纹。() 13. 车床的进给方式分每分钟进给和每转进给两种,一般可用G94和G95区分。() 14. 数控车床可以车削直线、斜线、圆弧、公制和英制螺纹、圆柱管螺纹、圆锥螺纹,但是不能车削多 头螺纹。() 15. 数控车床的刀具补偿功能有刀尖半径补偿与刀具位置补偿。() 16. 外圆粗车循环方式适合于加工棒料毛坯除去较大余量的切削。() 17. 固定形状粗车循环方式适合于加工已基本铸造或锻造成型的工件。() 18. 绝对值方式是指控制位置的坐标值均以机床某一固定点为原点来计算计数长度。() 19. 增量值方式是指控制位置的坐标是以上一个控制点为原点的坐标值。() 20. 无论是尖头车刀还是圆弧车刀都需要进行刀具半径补偿。() 21. 车刀刀尖圆弧增大,切削时径向切削力也增大。() 22. 数控机床编程有绝对值和增量值编程,使用时不能将它们放在同一程序段中。() 23. 子程序的编写方式必须是增量方式。() 24. 数控车床加工球面工件是按照数控系统编程的格式要求,写出相应的圆弧插补程序段。() 25. G00为前置刀架式数控车床加工中的瞬时针圆弧插补指令。() 26. G03为后置刀架式数控车床加工中的逆时针圆弧插补指令。() 27. 在数值计算车床过程中,已按绝对坐标值计算出某运动段的起点坐标及终点坐标,以增量尺寸方式 表示时,其换算公式:增量坐标值=终点坐标值-起点坐标。 28. 外圆粗车循环方式适合于加工已基本铸造或锻造成型的工件。() 29. 编制数控加工程序时一般以机床坐标系作为编程的坐标系。() 30. 一个主程序中只能有一个子程序。() 二填空题 1. 对刀点既是程序的,也是程序的。为了提高零件的加工精度,对刀点应尽量 选在零件的设计基准或工艺基准上。 2. 数控车床是目前使用比较广泛的数控机床,主要用于和回转体工件的加工。 3. 编程时为提高工件的加工精度,编制圆头刀程序时,需要进行。 4. 为了提高加工效率,进刀时,尽量接近工件的,切削开始点的确定以为

FANUC_0-TD数控车床编程实例

FANUC 0-TD数控车床编程实例 2007-04-18 21:19 如图示: O0002;O机能指定程序号。 N10 T0101; N20 S500 M03;主轴正转。 N30 G00 X45 Z2;到毛坯外。 N40 G71 U1.5 R1;与N50一起根据轮廓段组N60-N140自动分配切削参数进行粗车循环,U 为吃刀量,R为退刀量,均为半径值。 N50 G71 P60 Q140 U0.5 W0.2 F0.3;P为轮廓开始段号,Q为轮廓结束段号,U为X向精加工余量(直径值),W为Z向精加工余量 N60 G01 X18 Z0;轮廓开始。 N80 X20 Z-1; N90 Z-28; N100 X27.368 Z-45.042;点A。 N110 G03 X25.019 Z-54.286 R14;点B。 N120 G02 X26.806 Z-60.985 R6;点C。 N130 G03 X36 Z-73 R18; N140 G01 Z-85;

N150 G70 P60 Q140 S1100 F0.05; N160 G00 X50 Z60;远离工件,准备换刀。 N170 T0202;换割刀。割刀刀宽4mm N180 S200 M03;割槽时,要求低转速。 N200 G00 X22 Z-28;准备割第一刀。 N210 G01 X16 F0.03;割第一刀。 N220 G04 P1000;停留1S。 N230 G00 X22;退刀。 N240 Z-24;准备割第二刀。 N250 G01 X16 F0.03;割第二刀。 N260 G04 P1000;停留1S。 N270 G00 X22;退刀。 N280 Z-21;准备用右刀尖割倒角。 N290 G01 X16 Z-24 F0.1;用右刀尖割倒角。 N300 G00 X50; N310 Z60; N320 T0303; N330 S300 M03;降低转速以切螺纹。 N340 G00 X22 Z-23;准备切螺纹的第一线。 N350 G92 X19.2 Z3 F3;切螺纹,导程3。 N360 X18.7; N370 X18.3; N380 X18.05; N390 G00 X22 Z-24.5;准备切螺纹的第二线。 N400 G92 X19.2 Z3 F3; N410 X18.7; N420 X18.3; N430 X18.05; N440 G00 X50; N450 Z60; N470 T0202; N480 S200 M03; N490 G00 X38 Z-84;准备割断。 N500 G01 X0 F0.03;割断。 N520 G00 X50; N525 Z0;停在工件右端面,方便第二个工件的加工。N530 M05; N540 M30;返回程序头 O0235; N1T0101; N2G00X40.0Z0; N3M03S800 N4G71U2.0R0.5; N5G71P6Q12X0.5Z10.0F10;

数控机床宏程序编程技巧实例

论文: 数控机床宏程序编程的技巧和实例 西北工业集团有限公司 白锋刚 2018年8月11日 前言 随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来越高,产品更新换代越来越快,传统的设备已不能适应新要求。现在我国的制造业中已广泛地应用了数控车床、数控铣床、加工中心机床、数控磨床等数控机床。这些先进设备的加工过程都需要由程序来控制,需要由拥有高技能的人来操作。要发挥数控机床的高精度、高效率和高柔性,就要求操作人员具有优秀的编程能力。 常用的编程方法有手工编程和计算机编程。计算机编程的应用已非常广泛。与手工编程比较,在复杂曲面和型腔零件编程时效率高、 质量好。因此,许多人认为手工编程已不再重要,特别是比较难的宏程序编程也不再需要。只须了解一些基本的编程规则就可以了。这样的想法并不能全面。因为,计算机编程也有许多不足:1、程序数据量大,传输费时。2、修改或调整刀具补偿需要重新后置输出。 3、打刀或其他原因造成的断点时,很难及时复位。 手工编程是基础能力,是数控机床操作编程人员必须掌握的一种编程方法。手工编程能力是计算机编程的基础,是刀具轨迹设计

,轨迹修改,以及进行后置处理设计的依据。实践证明,手工编程能力强的人在计算机编程中才能速度快,程序质量高。 在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。宏程序是数控系统厂家面向客户提供的的二次开发工具,是数控机床编程的最高级手工方式。合理有效的利用这个工具将极大地提升机床的加工能力。 作为一名从事数控车床、数控铣床、加工中心机床操作编程二十多年的技师,在平时的工作中,常常用宏程序来解决生产中的难题,因此对宏程序的编程使用积累了一些经验。在传授指导徒弟和与同事探讨中,总结了许多学习编制宏程序应注意的要点。有关宏编程的基础知识在许多书籍中讲过,我们在这里主要通过实例从编制技巧、要点上和大家讨论。 一、非圆曲面类的宏程序的编程技巧 1、非圆曲面可以分为两类; <1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。如 抛物线、椭圆、双曲线、渐开线、摆线等。这种曲线可以用先求节点,再用线段或圆弧逼近的方式。以足够的轮廓精度加工出零件。选取的节点数目越多,轮廓的精度越高。然而节点的增多,用普通手工编程则计算量就会增加的非常大,数控程序也非常大,程序复杂也容易出错。不易调试。即使用计算机辅助编程,其数据传输量也非常大。而且调整尺寸补偿也很不方便。这时就显出宏程序的优势了,常常只须二、三十句就可以编好程序。而且理论上还可以根

华中数控车宏程序修订稿

华中数控车宏程序 WEIHUA system office room 【WEIHUA 16H-WEIHUA WEIHUA8Q8-

华中数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 1.使用了变量或表达式(计算能力),例如: (1)G01 X[3+5] ;有表达式3+5 (2)G00 X4 F[#1] ;有变量#1 (3)G01 Y[50*SIN[3]] ;有函数运算 2.使用了程序流程控制(决策能力),例如: (1)IF #3 GE 9 ;有选择执行命令 …… ENDIF (2)WHILE #1 LT #4*5 ;有条件循环命令 …… ENDW 二.用宏程编程有什么好处? 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。

一.宏变量及宏常量 1.宏变量 先看一段简单的程序: G00 上面的程序在X轴作一个快速定位。其中数据是固定的,引入变量后可以写成: #1= ;#1是一个变量 G00 X[#1] ;#1就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50, #101,……。变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。 使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ;表示G01 X25 #1=-10 ;运行过程中可以随时改变#1的值 G01 X[#1] ;表示G01 X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ;表示G03 X30 例1 使用了变量的宏子程序。 %1000 #50=20 ;先给变量赋值 M98 P1001 ;然后调用子程序 #50=350 ;重新赋值

数控车床加工编程典型实例

数控车床加工编程典型实例 数控机床是一种技术密集度及自动化程度很高的机电一体化加工设备,是综合应用计算机、自动控制、自动检测及精密机械等高新技术的产物。随着数控机床的发展与普及,现代化企业对于懂得数控加工技术、能进行数控加工编程的技术人才的需求量必将不断增加。数控车床是目前使用最广泛的数控机床之一。本文就数控车床零件加工中的程序编制问题进行探讨。 一、编程方法 数控编程方法有手工编程和自动编程两种。手工编程是指从零件图样分析工艺处理、数据计算、编写程序单、输入程序到程序校验等各步骤主要有人工完成的编程过程。它适用于点位加工或几何形状不太复杂的零件的加工,以及计算较简单,程序段不多,编程易于实现的场合等。但对于几何形状复杂的零件(尤其是空间曲面组成的零件),以及几何元素不复杂但需编制程序量很大的零件,由于编程时计算数值的工作相当繁琐,工作量大,容易出错,程序校验也较困难,用手工编程难以完成,因此要采用自动编程。所谓自动编程即程序编制工作的大部分或全部有计算机完成,可以有效解决复杂零件的加工问题,也是数控编程未来的发展趋势。同时,也要看到手工编程是自动编程的基础,自动编程中许多核心经验都来源于手工编程,二者相辅相成。 二、编程步骤 拿到一张零件图纸后,首先应对零件图纸分析,确定加工工艺过程,也即确定零件的加工方法(如采用的工夹具、装夹定位方法等),加工路线(如进给路线、对刀点、换刀点等)及工艺参数(如进给速度、主轴转速、切削速度和切削深度等)。其次应进行数值计算。绝大部分数控系统都带有刀补功能,只需计算轮

廓相邻几何元素的交点(或切点)的坐标值,得出各几何元素的起点终点和圆弧的圆心坐标值即可。最后,根据计算出的刀具运动轨迹坐标值和已确定的加工参数及辅助动作,结合数控系统规定使用的坐标指令代码和程序段格式,逐段编写零件加工程序单,并输入CNC装置的存储器中。 三、典型实例分析 数控车床主要是加工回转体零件,典型的加工表面不外乎外圆柱、外圆锥、螺纹、圆弧面、切槽等。例如,要加工形状如图所示的零件,采用手工编程方法比较合适。由于不同的数控系统其编程指令代码有所不同,因此应根据设备类型进行编程。以西门子802S数控系统为例,应进行如下操作。 (1)确定加工路线 按先主后次,先精后粗的加工原则确定加工路线,采用固定循环指令对外轮廓进行粗加工,再精加工,然后车退刀槽,最后加工螺纹。 (2)装夹方法和对刀点的选择 采用三爪自定心卡盘自定心夹紧,对刀点选在工件的右端面与回转轴线的交点。 (3)选择刀具 根据加工要求,选用四把刀,1号为粗加工外圆车刀,2号为精加工外圆车刀,3号为切槽刀,4号为车螺纹刀。采用试切法对刀,对刀的同时把端面加工出来。 (4)确定切削用量 车外圆,粗车主轴转速为500r/min,进给速度为0.3mm/r,精车主轴转速为800r/min,进给速度为0.08mm/r,切槽和车螺纹时,主轴转速为300r/min,进给速度为0.1mm/r。 (5)程序编制 确定轴心线与球头中心的交点为编程原点,零件的加工程序如下: 主程序 JXCP1.MPF N05 G90 G95 G00 X80 Z100 (换刀点) N10 T1D1 M03 S500 M08 (外圆粗车刀) -CNAME=“L01” R105=1 R106=0.25 R108=1.5 (设置坯料切削循环参数) R109=7 R110=2 R111=0.3 R112=0.08 N15 LCYC95 (调用坯料切削循环粗加工) N20 G00 X80 Z100 M05 M09 N25 M00 N30 T2D1 M03 S800 M08 (外圆精车刀) N35 R105=5 (设置坯料切削循环参数)

数控车床的程序编制

数控车床的程序编制 数控车床是目前使用最广泛的数控机床之一。数控车床主要用于加工轴类、盘类等回转体零件。通过数控加工程序的运行,可自动完成内外圆柱面、圆锥面、成形表面、螺纹和端面等工序的切削加工,并能进行车槽、钻孔、扩孔、铰孔等工作。车削中心可在一次装夹中完成更多的加工工序,提高加工精度和生产效率,特别适合于复杂形状回转类零件的加工。 3.1 数控车床程序编制的基础 针对回转体零件加工的数控车床,在车削加工工艺、车削工艺装备、编程指令应用等方面都有鲜明的特色。为充分发挥数控车床的效益,下面将结合HM-077数控车床的使用,分析数控车床加工程序编制的基础,首先讨论以下三个问题:数控车床的工艺装备;对刀方法;数控车床的编程特点。 3.1.1数控车床的工艺装备 由于数控车床的加工对象多为回转体,一般使用通用三爪卡盘夹具,因而在工艺装备中,我们将以WALTER系列车削刀具为例,重点讨论车削刀具的选用及使用问题。 1、数控车床可转位刀具特点 数控车床所采用的可转位车刀,与通用车床相比一般无本质的区别,其基本结构、功能特点是相同的。但数控车床的加工工序是自动完成的,因此对可转位车刀的要求又有别于通用车床所使用的刀具,具体要求和特点如表3.1所示。

表3.1可转位车刀特点 2、数控车床刀具的选刀过程 数控车床刀具的选刀过程,如图3.1所示。从对被加工零件图样的分析开始,到选定刀具,共需经过十个基本步骤,以图3.1中的10个图标来表示。选刀工作过程从第1图标“零件图样”开始,经箭头所示的两条路径,共同到达最后一个图标“选定刀具”,以完成选刀工作。其中,第一条路线为:零件图样、机床影响因素、选择刀杆、刀片夹紧系统、选择刀片形状,主要考虑机床和刀具的情况;第二条路线为:工件影响因素、选择工件材料代码、确定刀片的断屑槽型代码或ISO断屑范围代码、选择加工条件脸谱,这条路线主要考虑工件的情况。综合这两条路线的结果,才能确定所选用的刀具。下面将讨论每一图标的内容及选择办法。

数控车宏程序

数控宏程序 FANUC 数控车

第一章编程代码----------------------------------------------------------1 1.准备功能G------------------------------------------------------------1 2.辅助功能M-----------------------------------------------------------6 第二章用户宏程序-------------------------------------------------------7 1. 运算符号---------------------------------------------------------------7 2.转移和循环-----------------------------------------------------------7 3.运算指令--------------------------------------------------------------8第三章宏程序编程------------------------------------------------------11 1.车V型圆锥- --------------------------------------------------------11 2.车U圆弧-------------------------------------------------------------12 3.方程曲线车削加工-------------------------------------------------13 5.车梯形螺纹36×6--------------------------------------------------14 6.蜗杆-------------------------------------------------------------------15 7.加工多件--------------------------------------------------------------17 第四章自动编程---------------------------------------------------------------21 1.UG建模--------------------------------------------------------------------21 2.创建几何体----------------------------------------------------------------24 附录--------------------------------------------------------------------------29

数控车床编程实例

如图2-16所示工件,毛坯为φ45㎜×120㎜棒材,材料为45钢,数控车削端面、外圆。 ? 1.根据零件图样要求、毛坯情况,确定工艺方案及加工路线 1)对短轴类零件,轴心线为工艺基准,用三爪自定心卡盘夹持φ45外圆,使工件伸出卡盘80㎜,一次装夹完成粗精加工。 2)? 工步顺序 ①粗车端面及φ40㎜外圆,留1㎜精车余量。 ②精车φ40㎜外圆到尺寸。 2.选择机床设备 根据零件图样要求,选用经济型数控车床即可达到要求。故选用CK0630型数控卧式车床。 3.选择刀具 根据加工要求,选用两把刀具,T01为90°粗车刀,T03为90°精车刀。同时把两把刀在自动换刀刀架上安装好,且都对好刀,把它们的刀偏值输入相应的刀具参数中。 4.确定切削用量 切削用量的具体数值应根据该机床性能、相关的手册并结合实际经验确定,详见加工程序。 5.确定工件坐标系、对刀点和换刀点 确定以工件右端面与轴心线的交点O为工件原点,建立XOZ工件坐标系,如前页图2-16所示。 采用手动试切对刀方法(操作与前面介绍的数控车床对刀方法基本相同)把点O作为对刀点。换刀点设置在工件坐标系下X55、Z20处。 6.编写程序(以CK0630车床为例) 按该机床规定的指令代码和程序段格式,把加工零件的全部工艺过程编写成程序清单。该工件的加工程序如下: N0010 G59 X0 Z100 ;设置工件原点

N0020 G90 N0030 G92 X55 Z20 ;设置换刀点 N0040 M03 S600 N0050 M06 T01 ;取1号90°偏刀,粗车 N0060 G00 X46 Z0 N0070 G01 X0 Z0 N0080 G00 X0 Z1 N0090 G00 X41 Z1 N0100 G01 X41 Z-64 F80 ;粗车φ40㎜外圆,留1㎜精车余量 N0110 G28 N0120 G29 ;回换刀点 N0130 M06 T03 ;取3号90°偏刀,精车 N0140 G00 X40 Z1 N0150 M03 S1000 N0160 G01 X40 Z-64 F40 ;精车φ40㎜外圆到尺寸 N0170 G00 X55 Z20 N0180 M05 N0190 M02 如图2-17所示变速手柄轴,毛坯为φ25㎜×100㎜棒材,材料为45钢,完成数控车削。

980TDb宏程序

可以的,它有A类和B类宏程序的功能。不过它的宏程序功能和法拉克比还是差一些。它不能进行直接的运算比如G0 z[#100+#102]它这个是执行不了的,需要提前把这个结果运算出来。比如#103=#100+#102;后G0z#103 数控车床宏程序与数控车模拟精灵 《二》FANUC B类宏程序与GSK980TDb的语句式宏代码 本文介绍FANUC B类宏程序(FANUC Oi系列)及GSK980TDb的语句式宏代码;这类宏程序的表达方式更为灵活并且直观:使用人们所熟悉的等号(=)与加减乘除(+-*/)等运算符组成表达式直接给变量赋值;在条件表达式中使用英文单词缩写GE、GT、LE、LT。EQ、NE来表示大于等于、大于、小于等于、小于、等于、不等于;使用英语单词IF、WHILE 来表示条件与循环; (一)关于变量、变量赋值与表达式 变量代号还是用#***来表示一个变量,980TDb 的公用变量使用范围是:#100-#199,#500-#999(前者为失电不保持,后者为失电保持,);局部变量范围是#1-#33。FANUC Oi 系列的变量范围与此相同。(数控车模拟精灵只使用#0-#199号变量;大于199号的变量不支持,并且不区分局部变量或公共变量) 当用变量值来表示坐标时,均以毫米为单位,表示角度则以度为单位。 FANUC Oi系列宏程序及GSK980TDb的语句式宏代码可以直接使用常数通过等号“=”给变量赋值,也可以使用表达式给变量赋值,表达式中可以使用以下各项的组合:宏变量、函数、常数、加减乘除(+-*/)运算符、括号;计算规则符合人们熟悉的数学计算规则(例如先括号内后括号外,先乘除后加减等)。 (二)函数: FANUC Oi 及GSK980TDb支持的函数达十多个,但常用的不多,数控车模拟精灵只对其中常用的一些函数给予支持: 三角函数:正弦SIN、余弦COS、正切TAN、反正切ATAN; 开平方:SQRT 函数的自变量可以是常数、已赋值的宏变量或表达式,自变量可用方括号[ ]括住。 (三)条件转移:(IF [条件表达式] GOTOn 及IF [条件表达式] THEN) IF [条件表达式] GOTOn 条件表达式比较结果为真(满足条件),则跳转到目标程序段(以n为程序段号的程序段)运行,条件表达式比较结果为假(不能满足条件),则按正常顺序往下运行。 也可以是单纯的GOTOn,则为无条件转移,即无条件跳转到以n为程序段号的程序段。 IF [条件表达式] THEN 跟在IF后面的是一个宏语句(一般是一个宏变量赋值语句),条件表达式比较结果为真(满足条件),则执行这个宏语句,否则,不执行这个宏语句。 (四)循环(WHILE [条件表达式] DOn………ENDn) 条件表达式比较结果为真(满足条件)时,循环执行DOn至ENDn之间的程序段;条件表

数控车床编程实例详解(30个例子)

半径编程 图3.1.1 半径编程 %3110 (主程序程序名) N1 G92 X16 Z1 (设立坐标系,定义对刀点的位置) N2 G37 G00 Z0 M03 (移到子程序起点处、主轴正转) N3 M98 P0003 L6 (调用子程序,并循环6次) N4 G00 X16 Z1 (返回对刀点) N5 G36 (取消半径编程) N6 M05 (主轴停) N7 M30 (主程序结束并复位) %0003 (子程序名) N1 G01 U-12 F100 (进刀到切削起点处,注意留下后面切削的余量)N2 G03 U7.385 W-4.923 R8(加工R8园弧段) N3 U3.215 W-39.877 R60 (加工R60园弧段) N4 G02 U1.4 W-28.636 R40(加工切R40园弧段) N5 G00 U4 (离开已加工表面) N6 W73.436 (回到循环起点Z轴处) N7 G01 U-4.8 F100 (调整每次循环的切削量) N8 M99 (子程序结束,并回到主程序)

直线插补指令编程 图3.3.5 G01编程实例 %3305 N1 G92 X100 Z10 (设立坐标系,定义对刀点的位置) N2 G00 X16 Z2 M03 (移到倒角延长线,Z轴2mm处) N3 G01 U10 W-5 F300 (倒3×45°角) N4 Z-48 (加工Φ26外圆) N5 U34 W-10 (切第一段锥) N6 U20 Z-73 (切第二段锥) N7 X90 (退刀) N8 G00 X100 Z10 (回对刀点) N9 M05 (主轴停) N10 M30 (主程序结束并复位) 车床编程实例三 圆弧插补指令编程 %3308 N1 G92 X40 Z5 (设立坐标系,定义对刀点的位置) N2 M03 S400 (主轴以400r/min旋转) N3 G00 X0 (到达工件中心) N4 G01 Z0 F60 (工进接触工件毛坯) N5 G03 U24 W-24 R15 (加工R15圆弧段) N6 G02 X26 Z-31 R5 (加工R5圆弧段) N7 G01 Z-40 (加工Φ26外圆) N8 X40 Z5 (回对刀点) N9 M30 (主轴停、主程序结束并复位 图3.3.8 G02/G03编程实例

数控车床宏程序编程

数控宏程序 一.什么是宏程序 什么是数控加工宏程序简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 1.使用了变量或表达式(计算能力),例如: (1)G01 X[3+5] ;有表达式3+5 (2)G00 X4 F[#1] ;有变量#1 (3)G01 Y[50*SIN[3]] ;有函数运算 2.使用了程序流程控制(决策能力),例如: (1)IF #3 GE 9 ;有选择执行命令 …… ENDIF (2)WHILE #1 LT #4*5 ;有条件循环命令 …… ENDW 二.用宏程编程有什么好处 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。

一.宏变量及宏常量 1.宏变量 先看一段简单的程序: G00 上面的程序在X轴作一个快速定位。其中数据是固定的,引入变量后可以写成:#1= ;#1是一个变量 G00 X[#1] ;#1就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,……。变量有什么用呢变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号……,变量的使用,给程序的设计带来了极大的灵活性。 使用变量前,变量必需带有正确的值。如 #1=25 G01 X[#1] ;表示G01 X25 #1=-10 ;运行过程中可以随时改变#1的值 G01 X[#1] ;表示G01 X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ;表示G03 X30 例1 使用了变量的宏子程序。 %1000 #50=20 ;先给变量赋值 M98 P1001 ;然后调用子程序

相关文档
相关文档 最新文档