当前位置:文档之家› 华中数控与FANUC宏程序的区别

华中数控与FANUC宏程序的区别

华中数控与FANUC宏程序的区别
华中数控与FANUC宏程序的区别

华中数控与FANUC宏程序的区别

大家都在问宏程序。其实所谓宏就是用公式来加工零件的。比如说椭圆,如果没有宏程序的话,我们要逐点算出曲线上的点,然后慢慢用直线或曲线逼近,如果是个光洁度要求很高的工件,那么需要计算的点就会很多,可是应用了宏后,我们把椭圆公式输入到系统中,然后我们给出Z坐标或X坐标并且每次加一个很小的数值,那么宏就会自动算出X坐标或Z坐标,并且进行切削。实际上宏在程序中主要起到的是运算作用。

一、FANUC系统宏程序

宏一般分为A类宏和B类宏.A类宏是以G65HxxP#xxQ#xxR#xx的格式输入的,而B类宏程序则是:

以直接的公式和语言输入的和C语言很相似在0i 系统中应用比较广。由于现在B类宏程序的大量使用,很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A类宏的引用。

A类宏是用G65HxxP#xxQ#xxR#xx或G65HxxP#xxQxxRxx格式输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM~#xx就是变量号,关于变量号是什么意思再不知道的的话我也就没治了,不过还是教一下吧,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD系统中有#0~#100~#149~#500~#531关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据。我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单。

1、用户宏程序

能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。

所存入的这一系列指令——用户宏程序

调用宏程序的指令————宏指令

特点:使用变量

1)变量的表示和使用变量表示

#I(I=1,2,3,…)或#[<式子>]

例:#5,#109,#501,#[#1+#2-12]

变量的使用

地址字后面指定变量号或公式

格式:<地址字>#I

<地址字>-#I

<地址字>[<式子>]

例:F#103,设#103=15则为F15

Z-#110,设#110=250则为Z-250

X[#24+#18*COS[#1]]

2)变量号可用变量代替

例:#[#30],设#30=3则为#3

3)变量不能使用地址O,N,I

例:下述方法下允许

O#1;

I#26.00×100.0;

N#3Z200.0;

4)变量号所对应的变量,对每个地址来说,都有具体数值范围

例:#30=1100时,则M#30是不允许的

5)#0为空变量,没有定义变量值的变量也是空变量

6)变量值定义:

程序定义时可省略小数点,例:#123=149

MDI键盘输一.变量的种类

①局部变量#1~#33

一个在宏程序中局部使用的变量

例:A宏程序B宏程序

……

#10=20X#10不表示X20

……

断电后清空,调用宏程序时代入变量值

②公共变量#100~#149,#500~#531

各用户宏程序内公用的变量

例:上例中#10改用#100时,B宏程序中的

X#100表示X20

#100~#149断电后清空

#500~#531保持型变量(断电后不丢失)

③系统变量

固定用途的变量,其值取决于系统的状态

例:#2001值为1号刀补X轴补偿值

#5221值为X轴G54工件原点偏置值

入时必须输入小数点,小数点省略时单位为μm

运算指令

运算式的右边可以是常数、变量、函数、式子

式中#j,#k也可为常量

式子右边为变量号、运算式

⑴定义

#I=#j

⑵算术运算

#I=#j+#k

#I=#j-#k

#I=#j*#k

#I=#j/#k

⑶逻辑运算

#I=#JOK#k

#I=#JXOK#k

#I=#JAND#k

⑸函数

#I=SIN[#j]正弦

#I=COS[#j]余弦

#I=TAN[#j]正切

#I=ATAN[#j]反正切

#I=SQRT[#j]平方根

#I=ABS[#j]绝对值

#I=ROUND[#j]四舍五入化整

#I=FIX[#j]下取整

#I=FUP[#j]上取整

#I=BIN[#j]BCD→BIN(二进制)

#I=BCN[#j]BIN→BCD

⑹说明

1)角度单位为度

例:90度30分为90.5度

2)A TAN函数后的两个边长要用“1”隔开

例:#1=A TAN[1]/[-1]时,#1为了35.0

3)ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入

例:设#1=1.2345,#2=2.3456,设定单位1μm G91X-#1;X-1.235

X-#2F300;X-2.346

X[#1+#2];X3.580

未返回原处,应改为

X[ROUND[#1]+ROUND[#2]];

4)取整后的绝对值比原值大为上取整,反之为下取整

例:设#1=1.2,#2=-1.2时

若#3=FUP[#1]时,则#3=2.0 若#3=FIX[#1]时,则#3=1.0

若#3=FUP[#2]时,则#3=-2.0

若#3=FIX[#2]时,则#3=-1.0

5)指令函数时,可只写开头2个字母

例:ROUND→RO

FIX→FI

6)优先级

函数→乘除(*,1,AND)→加减(+,-,OR,XOR)

例:#1=#2+#3*SIN[#4];

7)括号为中括号,最多5重,园括号用于注释语句例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)

2、转移与循环指令

1)无条件的转移

格式:GOTO1;

GOTO#10;

2)条件转移

格式:IF[<条件式>]GOTOn

条件式:

#jEQ#k表示=

#jNE#k表示≠

#jGT#k表示>

#jLT#k表示<

#jGE#k表示≥

#jLE#k表示≤

例:IF[#1GT10]GOTO100;

N100G00691X10;

例:求1到10之和

O9500;

#1=0

#2=1

N1IF[#2GT10]GOTO2

#1=#1+#2;

#2=#2+1;

GOTO1

N2M301.循环

格式:WHILE[<条件式>]DOm;(m=1,2,3)…

ENDm

说明:

1)条件满足时,执行DOm到ENDm,则从DOm的

程序段

不满足时,执行DOm到ENDm的程序段

2)省略WHILE语句只有DOm…ENDm,则从DOm 到ENDm之间形成死循环

3)嵌套

4)EQNE时,空和“0”不同

其他条件下,空和“0”相同

例:求1到10之和

二、HNC-21M数控系统

为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。

1、宏变量及常量

1.宏变量

#0~#49当前局部变量

#50~#199全局变量

#200~#2490层局部变量

#250~#2991层局部变量

#300~#3492层局部变量

#350~#3993层局部变量

#400~#4494层局部变量

#450~#4995层局部变量

#500~#5496层局部变量

#550~#5997层局部变量

#600~#699刀具长度寄存器H0~H99

#700~#799刀具半径寄存器D0~D99#800~#899刀具寿命寄存器

2、常量

PI:圆周率π

TRUE:条件成立(真)

FALSE:条件不成立(假)

运算符与表达式

①算术运算符:+,-,*,/

②条件运算符

EQ(=),NE(≠),GT(>),

GE(≥),LT(<),LE(≤)

③逻辑运算符

AND,OR,NOT

④函数

SIN,COS,TAN,ATAN,ATAN2,

ABS,INT,SIGN,SQRT,EXP ⑤表达式

用运算符连接起来的常数,宏变量构成表达式。例如:175/SQRT[2]*COS[55*PI/180];

#3*6GT14;

赋值语句

格式:宏变量=常数或表达式

把常数或表达式的值送给一个宏变量称为赋值。例如:#2=175/SQRT[2]*COS[55*PI/180];

#3=124.0;

条件判别语句IF,ELSE,ENDIF

格式(i):IF条件表达式

ELSE

ENDIF

格式(ii):IF条件表达式

ENDIF

循环语句WHILE,ENDW

格式:WIIILE条件表达式

ENDW

例如:车削椭圆

%(FNAUC)

O0001

N1G00X0Z150.

N2G98

N3#24=80(短轴半径,X轴方向)

N4#26=100(长轴半径,Z轴方向)

N5#7=0.1(Z轴取点的间隔距离)

N6#1=#26+#7(Z轴方向最大值,假设为顶点)

N7#23=3.15(Z轴方向最小值)

N8WHILE[#1GT#23]DO1

N9#1=#1-#7(计算每次Z轴的坐标值)

N10IF[#1GT#23]GOTO12

N11#1=#23(最后一次把Z轴终点坐标赋值给#1)N12#3=2*#24*SQRT[1-[#1*#1]/[#26*#26]](X轴坐标值计算,此处按直径编程)

N13G01X#3Z#1F100

N14END1

N15M30

%

%0001(华中系统)

N1M03S1000T0101

N2G00X20Z5

N3#21=100(长轴半径,Z轴方向)

N4WHILE#21GT[-100]

N5#20=0.8*SQRT[100-#21*#21](计算每次X轴的坐标值)

N6G01X[#20*2]Z[#21]F100(加工椭圆)

N7#21=#21-0.05(计算每次Z轴的坐标值)

N8ENDW

N9M30

参考文献:

[1]华中世纪星HN-21T编程说明书

[2]翟瑞波.数控车床编程与操作实例

新代数控车床宏程序说明

一.用户宏程序的基本概念 用一组指令构成某功能,并且象子程序一样存储在存储器中,再把这些存储的功能由一个指令来代表,执行时只需写出这个代表指令,就可以执行其相应的功能。 在这里,所存储的一组指令叫做宏程序体(或用户宏程序),简称为用户宏。其代表指令称为用户宏命令,也称作宏程序调用指令。 用户宏有以下四个主要特征: 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;

华中数控车床宏程序(图纸及程序)

椭圆宏程序 %0001 M03 S600 T01 G54 G00 X32 Z2. G71 U2 R1 P10 Q20 E0.2 F1000 N10 G01 X0 F1000 Z0 #1=30 WHILE#1GE[-16.59] #2=15*SQRT[30*30-#1*#]]/30 G01 X[2*#2]Z[#1-30] #1=#1-1 ENDW G02 X30 Z-58 R16 F1000 G01Z-80 N20G00 X70 Z80 M05 M30 % %0002 M03 S600 T01 G54 G00 X37 Z2 G71 U2 R1 P10 Q20 E0.2 F1000 N10 G01 X0 F1000 Z0 G03X16Z-8R8F1000 G01X20 Z-12.144 X22.98 #1=12.86 WHILE#1GE0 #2=15*SQRT[20*20-#1*#1]]/20 G01 X[2*#2]Z[#1-25] #1=#1-1 ENDW G01X32 X36Z-27 Z-60 N20G00 X70 Z80

M30 % %0003 M03 S600 T01 G54 G00 X50 Z0 G71 U2 R1 P10 Q20 E0.2 F1000 N10 G01X27.13F1000 #1=33 WHILE#1GE8 #2=24*SQRT[40*40-#1*#1]/40 G01 X[2*#2]Z[#1-33] #1=#1-1 ENDW N20G00 X70 Z80 M05 M30 % %0004 M03 S600 T01 G54 G00 X50 Z0 G71 U2 R1 P10 N10 G01X37.13F1000 Z-10 #1=33 WHILE#1GE8 #2=24*SQRT[40*40-#1*#1]/40 G01 X[2*#2+10]Z[#1-33-10] #1=#1-1 ENDW N20G00 X70 Z80 M05 M30 %

华中数控铣床宏程序实例

华中数控铣床宏程序实例 O0001(分开的太极) %0001 G54G00X-30Y30Z50 M03S1000 Z3 #0=4 #2=90 WHILE#2LT180 G01Z[#0*SIN[#2*PI/180]]F 200 #101=ABS[#0*COS[#2*PI/1 80]] G01G41Y9D101 X7 G02Y-9R9 G01X-7 G02Y9R9 G03X0Y20R20 G01G40X-30Y30 G41X-12Y13D101 G03X-7Y9R5 G02Y0R4.5 G03Y-9R4.5 G01G40X30Y-30 G41X12Y-3D101 G03X7Y-9R5 G02Y0R4.5 G03Y9R4.5 G01G40Y30X-30 #2=#2+1 ENDW G00Z50 M30 o0002(花) %0002 G54G00X0Y0Z50 M03S1500 Z5 G01Z0F250 #1=90 WHILE#1GE0 #2=10*COS[#1*PI/180] #3=10*SIN[#1*PI/180]-10 G18G01X[#2]Z[#3] G17G02I[-#2] #1=#1-1.5 ENDW G00Z5 X-10 #6=270 WHILE#6GE180 #7=14*COS[#6*PI/180] #8=10*SIN[#6*PI/180] #9=#7-10 #10=#7+28 #11=ABS[#9*COS[72*PI/18 0]] #12=ABS[#9*SIN[72*PI/18 0]] #13=ABS[#9*COS[144*PI/1 80]] #14=ABS[#9*SIN[144*PI/1 80]] G18G01X[#9]Z[#8] G17G03X[-#11]Y[#12]R[#1 0] X[-#13]Y[#14]R[#10] Y[-#14]R[#10] X[#11]Y[-#12]R[#10] Y0X[#9]R[#10] #6=#6-1.5 ENDW G00Z50 M30 O0003(太极倒角) %0003 G54G00x-20y60z50 M03S1500 Z5 #1=90 WHILE#1GE0 G01Z[5*SIN[#1*PI/180]-5]F 250 #101=ABS[5*COS[#1*PI/18 0]]-5 G01G41X0D101 Y42 G02Y0R21 G03Y-42R21 G01Y-60 Y-42 G02J42 Y0R21 G03Y42R21 G01Y60 G40X-20 #1=#1-1 ENDW G00Z50 M30 O0004(椭圆铣平面) %0004 G54G00X0Y0Z50 M03S1500 Z5 G01Z-3F250 #1=41 WHILE#1GE5 G01X[#1] #2=0 WHILE#2LT360 #3=#1*COS[#2*PI/180] #4=#1*4/5*SIN[#2*PI/180] G01X[#3]Y[#4] #2=#2+1 ENDW #1=#1-5 ENDW G00Z50 M30 其二 G54G00X43Y0Z50 M03S1500 Z5 G01Z-3F250 #1=43

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

宏程序 裳华职业技术中专鲍新涛 宏程序概述 其实说起来宏就是用公式来加工零件的,比如说,如果没有宏的话,我们要逐点算出上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出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

FANUC宏程序编程

运算符 运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一 示例程序下面的程序计算数值1~10的总和 O9500;#1=0;………………………………….存储和的变量初值 #2=1;………………………………….被加数变量的初值 N1 IF[#2GT 10]GOTO 2;…………….当被加数大于10时转移到N2 #1=#1+#2;…………………………….计算和 #2=#2+#1;…………………………….下一个被加数 GOTO 1;………………………………转移到N1 N2 M30;................................................程序结束 算术和逻辑运算

角度单位: SIN、ASIN、COS、ACOS、TAN和A TAN的角度单位是度 ARCSIN #i=ASIN[#j]: ●取值范围如下:当参数(N0.6004¥0)NA T位设为0时,270~90度;当参数(N0.6004¥0)NA T位设为1时,-90~90度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCCOS #i=ACOS[#j]; ●取值范围从180~0度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCTAN #i=A TAN[#j]; ●指定两边的长度,并用斜杠(/)分开 ●取值范围如下:当参数(N0.6004¥0)NA T位设为0时,0~360度[例如:当指定 #i=A TAN[-1]/[-1];时,#1=225度]。当参数(N0.6004¥0)NA T位设为1时,-180~180度[例如:当指定#i=A TAN[-1]/[-1];时,#1=-135度] ●常数可替代变量#j。 自然对数#i=LN[#j]; ●注意,相对误差可能大于10-8。 ●当反对数(#j)为0或小于0时,发出报警N0.111。 ●常数可替代变量#j。 指数函数#i=EXP[#j]: ●注意,相对误差可能大于10-8 ●当运算结果超过3.65×1047(j大约是110)时,出现溢出报警N0.111 ●常数可替代变量#j。 上取整下取整: CNC处理数值运算时,若操作后产生整数绝对值大于原数的绝对值时为上取整;小于为下取整。例如: 假设#1=1.2,#2=-1.2。当执行#3=FUP[#1]时,2.0赋给#3;当执行#3=FIX[#1]时1.0赋给#3;当执行#3=FUP[#2]时,-2.0赋给#3;当执行#3=FIX[#2]时,-1.0赋给#3。 宏程序语句:包含算术或逻辑运算(=)的程序;包含控制语句(例如,用GOTO,DO,END)的程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)的程序段;除宏程序以外任何程序段都为NC语句。 与NC语句的不同: 即使置于单段程序运行方式,机床也不停止。但是,当参数N0.6000#5SBM设定位、为1时,在单段程序方式中,机床停止。在刀具半径补偿方式中宏程序语句段不做为移动程序段处理 与宏程序语句相同性质的NC语句: 含有子程序调用指令(例如,用M98或其它M代码或用T代码调用子程序)但没有除O,N,P或L地址之外的其它地址指令的NC语句,其性质与宏程序语句相同;不包含除O,N,P或L以外的指令地址的程序段其性质与宏程序语句相同。 无限循环; 当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环。

数控车床宏程序编程

数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: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

华中数控车宏程序

华中数控宏程序 一.什么就是宏程序? 什么就是数控加工宏程序?简单地说,宏程序就是一种具有计算能力与决策能力的数控程序。宏程序具有如下些特点: 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轴作一个快速定位。其中数据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、M、X、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ;表示G03 X30

华中数控车宏程序文件

华中数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 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轴作一个快速定位。其中数据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、M、X、Y、……等各种代码后的数字。如: #2=3 G[#2] X30 ;表示G03 X30

华中数控系统功能特点

华中数控系统功能特点 一、显示功能 1、实体图形显示功能:华中HNC-21T系统,可根据用户选择的不同 形状刀具,对用户自定义大小的毛坯,进行仿真加工。 2、图形轨迹显示功能:可根据加工程序显示刀具运行轨迹 3、正文显示功能:可显示当前运行程序,帮助操作者更好了解机床 的运行状况。 4、大字符、坐标联合显示功能:可显示刀具在机床坐标系、工件坐 标系下的指令值、实际值,还可显示刀具运行各段程序时的剩余值。 5、其他显示功能:可显示当前运行程序名;当前运行程序行号;工 件坐标零点的坐标值;刀具实际进给速度;实际主轴转速;当前刀 具号;主轴速度、进给速度、快移速度的修调率等。 6、可显示当前编辑程序行的实际行号、列号。 二、编辑功能 1、可实现G代码程序(包括高级宏程序)单个字符的编辑,更方便程序的 编辑、修改操作。 2、除便捷的新建程序、保存程序、删除程序、程序另存功能外,还可将程 序中的部分内容通过快捷键进行块定义、拷贝、粘贴(也可粘贴到系统下其他G代码程序中)。 3、可用分号屏蔽程序段的运行,程序中可显示注释。 4、系统程序存储量大,系统标准配置内存32MB。 5、具有后台编辑功能:在加工过程中,可以在后台进行程序编辑。 6、具有蓝图编辑功能。 三、加工功能 1、小线段高速连续插补功能(G64指令):可高速圆滑拟合小线段程序的 轨迹,十分利于CAM生成的小线段程序的加工。

2、断点保存功能、任意指定行加工的功能、程序跳段功能 四、华中数控系统编程指令特点 1、G01、G02(G03):除基本的直线、圆弧插补功能外,还可倒角、倒圆 2、华中数控HNC-21T(车床系统)还有直径、半径编程指令G36、G37;螺 纹加工G32指令;固定循环G80、G81、G82;复合循环G71、G72、G73、 G76;恒线速度控制指令G96、G97、G46等。其中需关注的是:G36、G37指令可在同一个程序中实现直径、半径编程的转换; 复合循环G71、G72指令的刀具轨迹,可完成每层粗切时的残料加工,满足现代加工中余量均匀的要求,有利于刀具寿命和加工精度; 复合循环G71指令还可实现凹槽轮廓的粗加工,宏程序轮廓的粗加工。宏程 序凹槽粗加工实例如下: %0003 T0101 G00 X100 Z50 G64 G00 X56 Z2 G71 U1.5 R1.5 P1 Q2 X0.4 N1 G00 X32 G01 X40Z-2 Z-20 #1=17.32 WHILE #1 GT [-17.32] #0=[SQRT[20*20-#1*#1]]/2 G01 X[50-2*#0] Z[-[37.32-#1]] F100 #1=#1-5 ENDW g01 x40 z-54.64 G01 Z-62.64 G02 X44 Z-64.64 R2 G01 X47 G03 X55 Z-68.64 R4 G01 Z-87.15 N2 X56 G00 X100 Z50 M30

华中数控车宏程序加工实例分析

华中数控车宏程序加工实例分析 数控加工中常有含有非圆曲线(如椭圆曲线、抛物线、双曲线和渐开线等)零件,其加工效率和质量往往成为生产制造的关键。文章利用华中世纪星HNC-21T数控车削系统,用实例加工的方法对车削椭圆轮廓的宏程序编程思路进行探讨,详细讲解加工方法和程序含义,并用斯沃数控仿真软件对程序进行加工仿真模拟,让学习者能够真正理解宏程序加工的精髓,做到学练结合举一反三。 标签:椭圆加工;宏程序;数控仿真 Abstract:Non-circular curve(such as ellipse curve,parabola,hyperbolic and involute)is often included in CNC machining,and its machining efficiency and quality are often the key to manufacturing. Using Huazhong Century Star HNC-21T CNC turning system,this paper discusses the idea of macro program programming for turning ellipse outline,and explains the machining method and program meaning in detail. Using SW CNC simulation software to simulate the process of the program,so that learners can truly understand the essence of macro program processing,so that the combination of learning and training can draw inferences from one another. Keywords:elliptical machining;macro program;numerical control simulation 數控车床对于圆柱面、锥面、圆弧面和球面等的加工,可以利用直线插补和圆弧插补指令完成,而对于椭圆、抛物线、双曲线和渐开线等一些非圆曲线构成的回转体曲面,手工编程具有一定的难度。数控系统本身提供的直线插补和圆弧插补不能直接用于非圆曲线回转面的加工,虽然可以凭借CAD/CAM软件自动编程,但是程序条数太多也导致了加工中的不方便,而使用宏程序能极大地简化编程,精简程序,同时宏程序可以完成图形一样,尺寸不同的系列零件加工,灵活运用宏程序,不仅可以方便简捷地进行二次曲线编程,提高加工效率,所以宏程序在数控大赛中也屡见不鲜。 1 华中宏程序知识 华中世纪星HNC-21T宏程序功能是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: (1)使用了变量或表达式同时具有计算能力,例如:G01 Y[50*SIN[3]]。(2)使用了程序流程控制,华中数控系统有两种流程控制命令:a.IF-ENDIF,条件成立执行IF与ENDIF之间的程序,不成立就跳过。其中IF、ENDIF称为关键词,不区分大小写。IF为开始标识,ENDIF为结束标识。b.WHILE-ENDW,条件成立执行WHILE与ENDW之间的程序,然后返回到WHILE再次判断条件,直到条件不成立才跳到ENDW后面。

华中数控车宏程序修订稿

华中数控车宏程序 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 ;重新赋值

华中数控车宏程序

华中数控宏程序 一.什么是宏程序 什么是数控加工宏程序简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 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

FANUC用户宏程序(椭圆篇)

用户宏程序 宏程序是指含有变量的子程序,在程序中调用用户宏程序的那条指令叫做用户宏指令(这里用G65) 1、变量 用一个可赋值的代号代替具体的坐标值,这个代号称为变量。变量分为系统变量、全局变量和局部变量三类,它们的性质和用途个不相同。(1)系统变量是固定用途的变量,它的值决定了系统的状态。FANUC 中的系统变量为#1000~#1005、#1032、#3000等。 (2)全局变量是指在主程序内和由主程序调用的各用户宏程序内公用的变量。FANUC中的全局变量有60个,它们分两组,一组是#100~#149;另一组是#500~#509。 (3)局部变量是仅局限于在用户宏程序内使用的变量。同一个局部变量在不同的宏程序内的值是不通用的。FANUC中的局部变量有33个,分别为#1~#33。 (1)加减型运算加减型运算包括加、减、逻辑加和排它的逻辑加。分别用以下四个形式表达: #i = #j +#k #i = #j -#k #i = #j OR #k #i = #j XOR #k 式中,i、j、k为变量;+、-、OR、XOR称为为演算子。 (2)乘除型运算乘除型运算包括乘、除和逻辑乘。分别用以下形式表达: #i = #j * #k #i = #j / #k #i = #j AND #k 4.变量的赋值

由于系统变量的赋值情况比较复杂,这里只介绍公共变量和局部变量的赋值。变量的赋值方式可分为直接和间接两种。 (1)直接赋值 例:#1=115(表示将变量115赋值于#1变量) #100=#2(表示将变量#2的即时值赋于变量#100) (2)间接赋值间接赋值就是用演算式赋值,即把演算式内演算的结果赋给某个变量。在演算式中有自变量代号,自变量每得到一个即时值,相应就得到一个演算结果,该结果就赋值给变量,该变量也叫应变量。5.转向语句 转向语句分为无条件转向语句和条件转向语句两种。 (1)无条件转向语句 程序段格式:GOTO N ;其中N后面的数值为程序段号。 例如:GOTO 55;表示无条件转向执行N55程序段,而不论N55程序段在转向语句之前还是之后。 (2)条件转向语句条件转向语句一般由判断条件式和转向目标两部分构成。 程序段格式:IF [a GT b ] GOTO c;表示为“如果a>b,那么转向执行第Nc句程序段”。a和b可以是数值、变量或含有数值及变量的算式,c是转向目标的程序段。 大于、等于、大于等于、小于等于分别用GT、EQ、GE、LE表示。 三、用户宏程序的应用 下面就以椭圆为例,介绍宏程序间接赋值法的应用。 1、椭圆的中心偏离工件原点一个Z向距离 如下图是一个椭圆,椭圆的中心偏离工件原点一个Z向距离W=40,欲车削1/4椭圆(图中粗线部分)的回转轮廓线,要求在数控程序中用任意一点D的Z值(用#3号变量指定)来表达该点的X值(用#5号变量指定),由此可知,这里是以Z作为自变量,以X作为应变量。根据椭圆的方程即可以写出自变量Z与应变量X之间的关系表达式。那么,如果我们在Z向分段,以0.5mm为一个步距给Z赋值,就可以得到相应的一个X值。然后把所得各个点的坐标值用直线插补方式来逼近,就可以得到椭圆的近似轨迹。步距取的越小,所得的轨迹就越接近椭圆。 如下图所示椭圆方程为:(式中X为半径值)

华中数控系统介绍

华中数控系统功能特点及编程加工 一、显示功能 1、实体图形显示功能:华中HNC-21T系统,可根据用户选择的不同形状刀具,对用户自定义大小的毛坯,进行仿真加工。 2、图形轨迹显示功能:可根据加工程序显示刀具运行轨迹 3、正文显示功能:可显示当前运行程序,帮助操作者更好了解机床的运行状况。 4、大字符、坐标联合显示功能:可显示刀具在机床坐标系、工件坐标系下的指令值、实际值,还可显示刀具运行各段程序时的剩余值。 5、其他显示功能:可显示当前运行程序名;当前运行程序行号;工件坐标零点的坐标值;刀具实际进给速度;实际主轴转速;当前刀具号;主轴速度、进给速度、快移速度的修调率等。 6、可显示当前编辑程序行的实际行号、列号。 二、编辑功能 1、可实现G代码程序(包括高级宏程序)单个字符的编辑,更方便程序的编辑、修改操作。 2、除便捷的新建程序、保存程序、删除程序、程序另存功能外,还可将程序中的部分内容通过快捷键进行块定义、拷贝、粘贴(也可粘贴到系统下其他G代码程序中)。 3、可用分号屏蔽程序段的运行,程序中可显示注释。 4、系统程序存储量大,系统标准配置内存32MB。 5、具有后台编辑功能:在加工过程中,可以在后台进行程序编辑。 6、具有蓝图编辑功能。 三、加工功能 1、小线段高速连续插补功能(G64指令):可高速圆滑拟合小线段程序的轨迹,十分利于CAM生成的小线段程序的加工。 2、断点保存功能、任意指定行加工的功能、程序跳段功能 四、华中数控系统编程指令特点 1、G01、G02(G03):除基本的直线、圆弧插补功能外,还可倒角、倒圆 2、华中数控HNC-21T(车床系统)还有直径、半径编程指令G36、G37;螺纹加工G32指令;固定循环G80、G81、G82;复合循环G71、G72、G7 3、G76;恒线速度控制指令G96、G97、G46等。其中需关注的是: G36、G37指令可在同一个程序中实现直径、半径编程的转换; 复合循环G71、G72指令的刀具轨迹,可完成每层粗切时的残料加工,满足现代加工中余量均匀的要求,有利于刀具寿命和加工精度; 复合循环G71指令还可实现凹槽轮廓的粗加工,宏程序轮廓的粗加工。 3、华中数控HNC-21M(铣床系统)还有绝对编程、增量编程G91、G90指令;坐标系设定G92

FANUC宏程序编程25909

FANUC宏程序编程 2017-03-28 运算符 运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于 另一个值。注意,不能使用不等号 运算符含义 EQ 等于(=) NE 不等于 GT 大于 GE 大于或等于 LT 小于 LE 小于或等于 示例程序下面的程序计算数值1~10的总和 O9500;#1=0;………………………………….存储和的变量初值 #2=1;………………………………….被加数变量的初值 N1 IF[#2GT 10]GOTO 2;…………….当被加数大于10时转移到N2 #1=#1+#2;…………………………….计算和 #2=#2+#1;…………………………….下一个被加数 GOTO 1;………………………………转移到N1 N2 M30;................................................程序结束 算术和逻辑运算 功能格式备注 定义#i=#j: 加法#i=#j+#k 减法#i=#j-#k 乘法#i=#j*#k 除法#i=#j/#k 正弦#i=SIN[#j]: 角度以度指定090度30分 表示为90.5度 反正弦#i=ASIN[#j]: 余弦#i=COS[#j]: 反余弦#i=ACOS[#j]: 正切#i=TAN[#j]: 反正切#i=ATAN[#j]: 平方根#i=SQRT[#j]: 绝对值#i=ABS[#j]: 舍入#i=ROUND[#j]: 上取整#i=FIX[#j]: 下取整#i=FUP[#j]: 自然数对数#i=LN[#j]: 指数函数#i=EXP[#j]:

或#i=#jOR#k: 逻辑运算一位一位地按二 进制数执行 异或#i=#jXOR#k: 与#i=#jAND#k: 从BCD转为BIN #i=BCD#j;用于与PMC的信号交换从BIN转为BCD #i=BCD#j; 角度单位: SIN、ASIN、COS、ACOS、TAN和ATAN的角度单位是度 ARCSIN#i=ASIN[#j]: ●取值范围如下:当参数(N0.6004¥0)NAT位设为0时,270~90度;当参数(N0.6004¥0)NAT位设为1时,-90~90度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCCOS#i=ACOS[#j]; ●取值范围从180~0度。 ●当#j超过-1到1的范围时,发出P/S报警N0.111。 ●常数可替代变量#j。 ARCTAN#i=ATAN[#j]; ●指定两边的长度,并用斜杠(/)分开 ●取值范围如下:当参数(N0.6004¥0)NAT位设为0时,0~360度[例如:当 指定#i=ATAN[-1]/[-1];时,#1=225度]。当参数(N0.6004¥0)NAT位设为1时,-180~180度[例如:当指定#i=ATAN[-1]/[-1];时,#1=-135度] ●常数可替代变量#j。 自然对数#i=LN[#j]; ●注意,相对误差可能大于10-8。 ●当反对数(#j)为0或小于0时,发出报警N0.111。 ●常数可替代变量#j。 指数函数#i=EXP[#j]: ●注意,相对误差可能大于10-8 ●当运算结果超过3.65×1047(j大约是110)时,出现溢出报警N0.111 ●常数可替代变量#j。 上取整下取整: CNC处理数值运算时,若操作后产生整数绝对值大于原数的绝对值时为上取整;小于 为下取整。例如: 假设#1=1.2,#2=-1.2。当执行#3=FUP[#1]时,2.0赋给#3;当执行#3=FIX[#1]时1.0 赋给#3;当执行#3=FUP[#2]时,-2.0赋给#3;当执行#3=FIX[#2]时,-1.0赋给#3。 宏程序语句:包含算术或逻辑运算(=)的程序;包含控制语句(例如,用GOTO,DO,END)的程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M 代码调用宏程序)的程序段;除宏程序以外任何程序段都为NC语句。 与NC语句的不同:

数控车宏程序

数控宏程序 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

相关主题
文本预览
相关文档 最新文档