宏程序教案

宏程序教案
宏程序教案

数控车床宏程序编程

(FANUC Oi-mateTC系统)

第一章基础知识

1. 1宏程序:用户把实现某种功能的一组指令像子程序一样存储,在另一个程序中只要调出该指令即能实现该功能,这样的指令称为宏程序。

宏指令:把这样的代表指令称为用户宏程序的调用指令,称为宏指令。1. 2宏程序的强大功能

(1)用户可以使用变量进行算术运算、逻辑运算和函数的混合运算。(2)根据循环语言、分支语言和子程序调用语言,编制各种复杂的零件加工程序。

(3)减少了手工编程时进行的数值计算及精简程序等工作。

1.3宏程序编程时的适应范围

(1)宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的数控车床的曲线手工编程。

(2)适合图形一样,只是尺寸不同的系列零件的编程。

(3)适合工艺路径一样,只是位置参数不同的系列零件的编程。

(4)有利于零件的简化编程。

第二章变量与常量

2.1变量

普通加工程序直接用数值指定的G代码和移动距离;例如:G01和X100.0,使用用户宏程序时,数值可以直接制定或用变量指定。当用变量指定时,变量值可用程序设定或者修改。

#11=#22+123;

G01X#11F500;

2.2变量的表示

计算机允许使用变量名,用户使用宏程序引入变量时,需用变量符号“#”和后面的变量号指定,例如:#11。表达式可以用于指定变量号,这时表达式必须封闭在括号中,例如:#【#11+#12-#13】

2.3变量的类型

变量从功能表上主要可归纳为两种,即

系统变量:用于系统内部运算时各种数据的存储。

用户变量:包括局部变量和公共变量,用户可以单独使用,系统作为处理资料的一部分。

表2—1FANUC Oi变量类型

2.4变量值的范围

局部变量和公共变量可以是0值或以下范围中的值:-47

10-~

10-或29

10~29 47

10,如果计算结果超出有效范围,则触发程序错误P/S报警。

2.5小数点的省略

当在程序中定义的变量值时,整数值的小数点可以省略。例如:当在定义#11=123;变量#11的实际值是123.00。

2.6变量的引用

●在程序中使用的变量值时,应指定后跟变量号的地址。当用表达式指定变量时,必须把表达式放在括号中。例如:G01 X[#11+#22] F#3.

●被引用变量的值根据地址的最小设定的单位自动的舍入。

●例如:当G00 X#11;以1/1000mm的单位(精确3位)执行时,CNC把12.3456赋值给变量#11,实际指令值为G00X12.346.

●改变引用变量的值的符号,要把负号(-)放在#的前面。例如:G00X-#11。

●当引用未定义的变量时,变量及地址都被忽略。例如:当变量#11的值是0,并且变量#22 的值是空时,G00 X#11Y#22的执行结果为G00X0。

注意:不能用变量代表的地址符有:程序号O,顺序号N,任选程序段跳转号/。例如以下情况不能使用变量:

O#11 /#22 G00X100.0 N#33Y200.0

2.7系统变量

系统变量的用途在系统中是固定的,不能把值代入系统变量中。

2.8常量

我们在系统中经常使用的常量有两种,即:

TRUE:条件成立(真)FALSE:条件不成立(假)

第3章算术和逻辑运算

3.1算术和逻辑运算

用户宏程序中的变量可以进行算术和逻辑运算,表3-1中列出的运算即可在变量中执行,运算符号右边的表达式可包括常量和由函数或运算符组成的变量(表达式的变量# j和#k可以用常数赋值),左边的变量也可以用表达式赋值。

表3—1算术和逻辑运算

3.2逻辑运算说明

3.3运算符

第4章 用户宏程序语句

4.1转移和循环

在程序中使用的GOTO 语句和IF 语句可以改变控制的流向。有以下三种格式可以实现转移和循环操作。

转移和循环

4.2无条件转移(GOTO 语句)

该语句转移到标有顺序号n 的程序段。当指定从1~99999以下的顺序号时,

出现P/S 报警,可用表达式指定顺序号。 其语句为:GOTOn; n 为顺序号(1~99999) 4.3条件转移(IF 语句)

条件转移语句中,IF 之后指定的条件表达式,可有下面两种表达式。 ① IF[<条件表达式>]GOTOn 例如:

如果条件不满足

如果条件满足 ②IF[<条件表达式>]THEN

例如:如果#1和#2的值相同,0赋给#3。 IF 【#1EQ#2】THEN#3=0 4.4循环(WHILE )语句

用WHILE 引导的循环语句,在其后指定的一个条件表达式,当指定条件满足时,执行从DO 到END 之间的程序,否则转到END 后的程序段。 其一般格式如下图:

WHILE 引导的循环语句示意图

IF [ #1 GT 10 ] GOTO 2;

程 序

GOTO 语句(无条件转移)

IF 语句(条件转移:IF …THEN …)

WHILE 语句(当……时循环)

条件表达式]Do m;(m=1,2,3)

程序

END m;

●这种指令格式用于IF语句,DO后面的号和END后的号时指定程序执行的

范围的标号,值为1、2、3。若1、2、3以外的值会产生P/S报警。在DO~END循环的标号(1~3)可根据需要多次使用,又称为嵌套。

●下面以编写计算数值1~10的总和的程序为例来说明循环语句。

例如:O0001

N10 #1=0;(总和初始值)

N20 #2=1;(变量初始值)

N30 WHILE[#2 LE 10] D0 1;

N40 #1=#1+#2;

N50 #2=#2+1;(步进值为1)

N60 END 1;

N70 M30;(结果:55)

(请大家总结WHILE和IF的不同)

4.5 ⑴循环语句嵌套原则(宏程序P19)

①标号(1~3)可以根据要求多次使用。

WHILE[…]Do1;

程序

END 1;

2

2

2

WHILE[…]Do1;

程序

END 1;

②DO的范围不能交叉。

WHILE[…] Do 1;

程序

WHILE[…] Do 2; (错)

2

2

2

END 1;

程序

END 2;

③DO循环可以嵌套3级。

WHILE[…]Do1;

2

2

WHILE[…]Do2;

2

2

WHILE[…]Do3;

程序

END 3;

2

2

END 2;

2

END 1;

④控制可以转到循环的外边。

…]Do1;

…]GOTO n;

2

2

2

⑤转移不能进入循环区内。

…]GOTOn;

…]Do1;(错)

⑵关于循环(WHILE语句)的其他说明。

1)Do m和END m必须成对使用:Do m和END m必须成对使用,Do m一定要在END m之前,用识别号m来识别。

2)无限循环,当指定DO而没有指定WHILE语句时,将产生从DO到WHILE 之间的无限循环。

3)未定义的变量:在使用EQ或NE的条件表达式时中,值为空和值为零将会有不同的效果。而在其他形式的表达式中,空即被当作零。

4)条件转移(IF语句)和循环(WHILE语句)的关系:显而易见,从逻辑关系上说,两者不过是从正反两方面描述同一件事情;从实现的功

能上说,条件转移(IF语句)受到系统的限制相对更少,使用更灵活。

5)处理时间:当在GOTO语句(无论是无条件转移的GOTO语句,还是“IF…

GOTO”形式的条件转移GOTO语句)中有标号转移的语句中,系统将进

行顺序号检索,一般来说,数控系统执行的反向检索时间要比正向检

索时间短长,因为系统通常先正向搜索到程序结束,再返回程序开头

进行搜索,所以花费的时间要长多。因此,用WHILE语句实现循环可

以减少处理时间。

但是,这一点对于实际应用中到底有多大意义,还值得商榷,笔者认为,在宏程序的应用中,优先考虑的是数学表达式是否正确,思路是否简洁,逻辑是否严密,至于具体选择何种语句来实现,则不必拘泥。事实上,依笔者的实践经验来看,这里所讨论的处理时间在实际应用中差别并不明显,而且,从宏程序的学习和掌握技巧来看,似乎“IF…GOTO”形式的条件转移GOTO 语句相对更容易理解和掌握,特别是对于初学者而言。

4.6使用宏程序编制时注意:

1.变量使用应注意其用户可用的变量,防止使用系统变量造成系统报警。

2.明确全局变量与局部变量之间的关系,以及子程序与主程序之间的如何传递。

3.条件表达式是一个逻辑表达式,结果为TRUE(真)或FALSE(假)。

4.嵌套语句、条件控制语句成对使用,否则不执行或报警。语句可以嵌套,但要注意嵌套的层数,一般不超过3层。

第五章宏程序非模态的调用

5.1 用户宏指令用户宏指令是非模态指令(G65)

调用用户宏程序的指令,用宏程序模态调用(G66,G67)

户宏程序功能B用以下方法调用用G代码调用宏程序(G

调用宏程序: 用M代码调用宏程序(M

如右图所示:用M代码调用子程序(M或M98)

用T代码调用子程序

首先说明用户宏程序调用的(G65)与子程序调用(M98)之间的差别:

①G65可以进行变量的赋值,即指定自变量(数据传递送到宏程序),M98则不

能。

②当M98程序段包含另一个NC指令(例如,G01 X200.0 M98 P

)时,在指

令执行完以后调用(或转移到)子程序。相反,G65则无条件地调用宏程序。

③当M98程序段包含有O、N、P、L以外的地址的NC指令时,(例如G01 X200.0

M98P

)),在单程序段方式中,可以停止,(即停机)。相反,G65则不能。

④G65改变局部变量的级别,M98不改变局部变量的级别。

5.2非模态调用(G65)

当指定G65时,调用以地址P指定的用户宏程序,数据(自变量)能传递到用户宏程序中,指定格式如下所示。

G65 P

L<自变量的赋值>;

;要调用的程序号

;重复次数(默认值为1)

<自变量赋值>;传递到宏程序的数据

O0110;

2

2

2

G65 P9110 L2 A1.0 B2.0;

2

2

2

M30;

5.3 G65调用说明

①在G65之后,用地址P指定用户宏程序的程序号。

②任何自变量前必须指定G65.

③当要求重复时,在地址L后指定从1~9999的重复次数,省略L值时,默认L 值等于1.

⑤使用变量指定(赋值),其值被赋值给宏程序中的相应的局部变量。

5.4自变量指定的类型

第六章宏程序应用

6.1 宏程序和适用范围

宏指令:把这样的代表指令称为用户宏程序的调用指令,称为宏指令。

宏程序编程时的适应范围:

(1)宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的数控车床的曲线手工编程。

(2)适合图形一样,只是尺寸不同的系列零件的编程。

(3)适合工艺路径一样,只是位置参数不同的系列零件的编程。

(4)有利于零件的简化编程。

6.2 基础知识(参见“宏程序”书2.2,2.4,2.5,2.6,)

使用宏程序编制时注意:

(1)变量使用应注意其用户可用的变量,防止使用系统变量造成系统报警。

(2)明确全局变量与局部变量之间的关系,以及子程序与主程序之间的如何传递。

(3)条件表达式是一个逻辑表达式,结果为TRUE(真)或FALSE(假)。

(4)嵌套语句、条件控制语句成对使用,否则不执行或报警。语句可以嵌套,但要注意嵌套的层数,一般不超过3层。

6.3 编制数控车椭圆宏程序的关键环节

椭圆宏程序编制的重点是在编程时,要抓住“一线、四点”的加工路线。

“一线”,即椭圆X方向(垂直)中心线。

“四点”为:(1)Z方向(水平)椭圆中心点;

(2)椭圆圆弧在零件上的起点;

(3)椭圆圆弧在零件上的终点;

(4)零件的起刀点。

6.4 椭圆宏程序的编程与解析

6.4.1椭圆参数方程

X=Xo+asinθ其中a:短半轴 b:长半轴终止角度

θZ=Zo+bcosθ (Xo、Zo)椭圆圆心坐标,如果给定的是椭圆的终止角度,即可采用椭圆参数方程式!如下图:

角度从1~120°的变化,求出他们的每一点的X、Z的值;刀具从0处运动到120°处,把该段圆弧分成n等分,进行直线插补,在第i处求得X=15sina,z=30cosa.(假定椭圆圆心坐标为(0,0))只要改变a值,刀具按照我们设定的点来运动。

#1:表示圆弧等分数n。

#2:表示终点角度值;在这为120°。

#3:表示在每等分值,#3=#2/#1。

#4:计数值。1,2,3……n.

#5:表示在第i点时的角度,#5=#4*#3。

#6:表示在第i处的X值,#6=15*sin[#5]。

#7;表示在第i处的Z值,#7=30*cos[#5]。

程序运行为下列循环过程:

程序赋变量值初始化:#1=120,#2=120,#3=#2/#1=1.

刀具处于位置:#6=15*sin[#5],#7=30*cos[#5]。

让刀具走到该点:G01 X[2#6] Z[#7] F100。

计数并求下一点的角度:#4=#4+1,#5=#4*#3。

判断之值与n相比,大于或者等于退出,小于重复计算刀具下一个位置的坐标值。根据上述思路,可以将这段加工程序写出:

#1=120 #2=120 #3=#2/#1 #4=0 #5=0

N100 WHILE #4<#1(或#5<#2)DO;

N200 #6=15*sin[#5];

N300 #7=30*cos[#5];

N400 G01 X[2#6] Z[#7-30] F0.5;(“#7-30”转换到工件坐标系) N500 #4=#4+1; N600 #5=#4*#3; N700 END DO

从上述程序可以看出,只要改变#1,椭圆的长轴短轴,都可以加工出不同的椭圆的轮廓,很方便。

6.4.2 椭圆的线性方程

由参数方程X=Xo+asin θ,

Z=Zo+bcos θ

θθ+=22sin cos 1

得 X=Xo ±a*

【注意:①Z 为自变量,X 为因变量;②(Xo 、Zo)椭圆圆心坐标; ③a :短半轴 b:长半轴】

2采用椭圆线性方程用直线逼近,按Z 方向进行变化,△Z 越小,越逼近轮廓,求出每一个点(x,z )值。

2利用X=Xo ±a*。计算变量第i 点时X 、Z 值。设定计数变量,中间运算

变量等。

2如图所示 初始化赋值 # 1= 0 Xi 向始点值

# 3=-38.321 Z 向终点值

# 2=0 Z向起点值

加工程序如下:

N100 #1=0;(初始值)

N200 #2=0;(初始值)

N300 #3=-38.321;

N400 WHILE [#2GE#3] DO 或IF[#2LT#3]GOTO 800

N500 G01 X[2*#1]Z[#2] F0.2

N600 #2=#2-0.5

N700 #1=15*SQRT[1-[#2+30]*[#2+30]/900]

N800 END

6.5椭圆凸凹实例分析讲解

4.5.1椭圆宏程序(凸起)

(判定X正负号,只针对线性方程:首先看象限,也可注意:z向和过去的x向方向一致,x向和过去的y向方向则相反)

采用FANUC Oi系统编写的程序(如图所示)

O2002

N10 G99 G97 G40;

N20 T0101;

N30 M03;

N40 M41;

N50 G00 Z52.0;

N60 X52.0;

N70 G01 X0.0 F0.5;

N80 Z50.0;

N90 #1=20.0;(短半轴)

N100 #2=50.0;(长半轴)

N110 #3=50.0;(自变量初始值)

N120 WHILE [#3 GT0]D01;

N130 GO1 X[2*#1*SQRT[1- [#3*#3]/[#2*#2]]] Z[#3] F0.2; N140 #3=#3-1;

N150 END1;

N160 G00 X52.0;

N170 GOO X100.0;

N180 Z200.0;

N190 M05;

N200 M30;

4.5.2椭圆宏程序(凹入)如下图所示

O2003

N10 G99 G97 G40;

N20 T0101;

N30 M41;

N40 M03;

N50 G00 X2.0;

N60 Z2.0;

N70 G01 X-40.0,F0.5;

N80 Z0.0;

N90 #1=20.0; (短半轴)

N100 #2=50.0;(长半轴)

N110 #3=0; (自变量初始值)

N120 WHILE[#3GT-50]D01;

N130 G01 X-[2*#1*SQRT[1-[#3*#3]/[#2*#2]]] Z [#3] F0.2; N140 #3=#3-1;

N150 END;

N160 GOO X2.0;

N170 Z2.0;

N180 G00 X100.0;

N190 Z200.0;

N200 M05;

N210 M30;

(让我们大家用这种古典方法做一下练习9)

零件9:

工艺:

程序:

左端(省略)

右端:

O0900;

G99 G97 G40;

M41;

M03;

T0101;

G00 X60.0;

Z2.0;

G71 U2.0 R1.0;

G71 P100 Q200 W 1.0 U0.5 F0.2;

N100 G00 X16.0;

G01 Z0. F0.2;

X19.75 Z-2.0;

Z-20.0;

#1=[tan10.0]; [准确计算锥的起点] #2=60.0;

#3=#1*#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;

宏程序入门基础学习资料

宏程序入门基础学习资料 其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用..宏一般分为A类宏和B类宏.A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序则是 以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广.由于现在B类宏程序的大量使 用很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过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内的数值赋予到

宏的录制与使用

在介绍学习VBA之前,应该花几分钟录制一个宏。 新术语:“宏”,指一系列EXCEL能够执行的VBA语句。 以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1单元格。调出“常用”工具栏。 3)选择“工具”—“宏”—“录制新宏”。 4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。 ★宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。 5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。 6)单击“停止录制”工具栏按钮,结束宏录制过程。 ※如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。 录制完一个宏后就可以执行它了。 1.4 执行宏

当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行: 1)选择任何一个单元格,比如A3。 2)选择“工具”—“宏”—“宏”,显示“宏”对话框。 3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。 1.5 查看录制的代码 到底是什么在控制EXCEL的运行呢?你可能有些疑惑.好,让我们看看VBA的语句吧. 1)选择“工具”—“宏”—“宏”,显示“宏”对话框。 2)单击列表中的“改变颜色”,选择“编辑”按钮。 此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同)

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

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

WORD2016 VBA录制宏、编辑宏与优化宏--手把手教程之三

--手把手教程之三 目录 1. 录制宏 (2) 2. 如何运行宏 (10) 3. 修改录制的宏代码 (11) 4. 优化宏代码 (12) 5. 深入了解VBA (14) 1、代码窗口 (14) 2、如何打开代码窗口 (14) 3、窗口部件 (15) 4、关于通用声明部分 (15) 5、对程序代码的解说 (17) 6、WORD DOCUMNT 对象的三个重要事件 (17)

--手把手教程之三 1. 录制宏 本节重点: 1、熟悉录制宏的基本操作方法; 2、了解字体格式设置的VBA程序代码; 3、了解段落格式设置的VBA程序代码。 编写程序代码,对于初入VBA的新手来说,往往是感到无从下手,那么多语句、语法及名目繁多的各种参数,秆头万绪,一团乱麻,无法理清。但你不用担心,WORD VBA给我们提供了一个极其方便的工具—录制宏。录制宏的作用就是把我们对WORD的操作自动转换成VBA程序代码,这样不仅省去了我们编写代码的时间,更主要的是使我们知道每一个操作所对应的程序代码和应该设置那些参数,从而使我们的学习效率大大提高。下面我们就来开始学习怎样录制宏的打操作。 如果无法确定要使用的 Visual Basic 方法或属性,可打开宏录制器并进行手动操作。宏录制器会将操作译成 Visual Basic 代码。录制操作完成后,可根据需要修改代码。 实例1、我们的要求是这样的,对全文档中的字体设置为:华文细黑,粗体,12号(小四号);段落设置为:首行缩进2字符,行距1.5,段前12磅,段后12磅。操作步骤如下: 1、在“开发工具”菜单上,指向“录制宏”,然后单击“录制宏”,打开录制宏面板,如图1-1、图1-2所示。

数控车床宏程序编程

数控宏程序 一.什么是宏程序? 什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: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-宏程序入门基础之销轴加工 欧阳光明(2021.03.07) 对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。 对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。 下面大家先看一个简单的车床的程序,图纸如下: 要求用外圆刀切削一个短轴,这里只列举程序的前几步: T0101 M3S800 G0X82Z5 G0X76 G1Z-40F0.2 X82 G0Z5 G0X72 G1Z-40F0.2

X82 G0Z5 G0X68 G1Z-40F0.2 X82 G0Z5 G0X68 G1Z-40F0.2 X82 G0Z5 ........ G0X40 G1Z-40F0.2 X82 G0Z5 G0X150Z150 M5 M30 从上面程序可以看出,每次切削所用程序都只是切削直径X有变化,其他程序代码未变。因此可以将一个变量赋给X,而在每次切削完之后,将其改变为下次切削所用直径即可。 T0101 M3S800

G0X82Z5 #1=76赋初始值,即第一次切削直径 N10 G0X[#1]将变量赋给X,则X方向进刀的直径则为#1变量中实际存储值。N10是程序 G1Z-40F0.2 段的编号,用来标识本段,为后面循环跳转所用。X82 G0Z5 #1=#1-4每行切深为2mm,直径方向递减4mm IF [#1GE40] GOGO 10如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。 G0X150Z150 当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。 M5 M30 由浅入深宏程序2-宏程序之销轴粗精加工 本篇文章利用宏程序简单模仿数控系统的外圆车削循环功能。在此用前一篇的图纸与程序 原程序: T0101 M3S800 G0X82Z5 粗加工开始 #2=0.05 Z向的加工余量 #3=0.5 外圆方向的加工余量

值得你收藏的最全“录制宏”教程

值得你收藏的最全“录制宏”教程 (Excel精英培训VBA版版主,Excel精英讲师团VBA讲师) 今天就和大家一起学习高手们爱不释手的绝招之一录制宏 准备环境:简单中文版的Excel(最好是安装完整版的,版本就推荐用10吧,楼主我这只有10,13的版本) 步骤: 步骤1.打开EXCEL后,找到EXCEL主窗口的状态栏,就绪右边第一个图标,左上角有红色圆点的那个,这个图标名字就叫录制宏。当鼠标移到录制宏图标上方时,会有提示。 步骤2.左键单击找到的录制宏,会显示一个录制新宏的对话框

宏名:咱就不修改了,就用默认的。 快捷键:这里不做修改。(指定用于运行宏的Ctrl组合快捷键,只能输入英文字母,且不要和系统已有的相冲突为好) 保存位置:当前工作簿 说明:对宏的备注说明 步骤3.点击确定后,在A1单元格,输入HelloVBA,在A2单元格内输入烟花输入完成后,效果如下图。

步骤4.完成第3步后,童鞋们再看看EXCEL窗口的状态栏里就绪右边图标是不是变了,第1步时是找到的红色圆点图标 现在变成蓝色方块图标了,当鼠标移动到图标上方时,也有提示。 左键点击图标,第一个宏的录制也就完成了。大家再注意下,刚刚的蓝色方块图标是不是又变成红色圆点的录制宏了 第一讲录制宏就到此结束了,下一讲咱们继续。 宏录制好了,大家可以试试怎么运行刚刚录制的宏,提示:ALT+F8,ALT+F 11,开发工具选项卡 第一讲的作业: 大家接着再录制一个宏,内容就是删除之前A1,A2单元格中输入的数据 补充资料: 1>.宏名:第一个字符必须是字母。后面的字符可以是字母、数字或下划线字符。宏名中不能有空格,下划线字符可用作单词的分隔符。如果使用的宏名还是单元格引用,则可能会出现错误消息,指示宏名无效。 2>.快捷键:EXCEL中只留下了Ctrl+E、Ctrl+J、Ctrl+M和Ctrl+Q这几个未分配的。 3>.在EXCEL2010中,功能区如何显示开发工具 在功能区右键弹出菜单中选择自定义功能区,弹出如下对话框

宏程序基础

1.1概述 1.2 1.3 1.4一、宏程序的分类 1.5首先我们来讲一下宏程序的分类,A类和B类。 首先在数控车系统比较老的时候,我们系统里 面有A类宏,A类宏格式为G65格式,现在已 经基本淘汰。随着科技发达,系统的升级优化,现在的数控系统大多支持B类宏程序,总体而 言,现在B类宏是一个主流发展趋势,所以接 下来我们的实例讲解都以B类宏程序为例。1.6 1.7 1.8二、宏程序的概念 1.9 1.10简单来理解宏程序是什么可以这样理解,宏程 序就是利用数学公式,函数等计算方式,配合 数控系统中的G代码编制出的一种程序,主要 加工一些像椭圆,曲线,各类大螺距螺纹和刀 具路线相识的一些零件。随着科技发达,像椭 圆,抛物线,等线性零件,用软件或则系统自 代G代码可以完成加工,而大螺距异型螺纹这 类零件,软件还没达到成熟,所以我们学会宏 程序在加工中可以起到一个非常大的作用。可 以弥补多年来数控车对大螺距螺纹的编程难的 一个提高。 1.11 1.12 1.13三、宏程序的特征 1.14 1.151.赋值 1.16在宏程序中我们通常用法最多的就是变量,比 如: 1.17#1=1 它就是一个变量。我们把这一过程,称为 赋值。也就是说,我们把等号后面的数值1,赋 值给#1。而现在#1的值就等于1,也可以理解 为#1就是一个代号,用来代替数值1。 1.18 1.19 2.变量和应用 1.20比如:#1=2(把数值2赋值给#1) 1.21#2=1(把数值1赋值给#2)1.22#2=#1(程序从上往下执行,思考一下现在#2的 值等于多少) 1.23 1.24解:当程序执行第一步的时候#1的值等于2, 当执行第二步的时候#2的值等于1,当执行第 三步的时候这里要注意了,刚才讲过赋值过程,是等号后面的值赋值给等号前面,所以当#1在 第一步赋值以后,#1已经等于2了,所以在执 行第三步的时候#2的值应该等于2,不在是第 二步的1了。从这里我们可以看出,当程序中 有相同的变量#的时候,后面的#号代替前面的# 号。 1.25比如:#1=2 1.26#1=3 1.27 1.28最后结果#1的值因该是等于3的。所以说后面 的代替前面的。 1.29 1.30 1.31四、变量的取值范围 1.32 1.331.局部变量(#1-#33) 1.34什么叫局部变量,局部变量就是在局部或则可 以理解为在单个程序中有效。断电以后系统自 动清零。 1.35 1.36 2.公共变量(#100-#199,#500-#999) 1.37公共变量和局部变量的区别在于,局部变量是 在局部,或则单个程序中有效,而公共变量是 指如果一个程序同时拥有主程序和子程序的情 况下,在主程序中如果已经赋值,在子程序中 可以不用从新赋值,可以共用。而#100-#199和 #500-#999的区别在于,前者断电清零,而后者 不会清零会一直保存在系统内部。比如: 1.38#500=TAN[15] 1.39 1.40#500一旦赋值就将保存在系统内部,下次可以 直接调用#500使用。 1.41 1.423.系统变量(#1000-#17200) 1.43系统变量是用于我们机床系统储存一些刀补数 据参数等等的东西,我们可以不用管它,不会 用的,慎用) 1.44

怎样在EXcel中录制宏

大纲: 1.VBA是什么? 2.EXCEL环境中基于应用程序的自动化的优点. 3.录制一个简单的宏. 4.执行宏. 5.编辑宏. 6.宏录制器的局限性. 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集.实际上VBA是"寄生于"VB应用程序的版本.VBA 和VB的区别包括如下几个方面:

1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化. 2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序. 3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"应用程序,例如EXCEL. 尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识. * VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化. * VBA可以称作EXCEL的“遥控器”. VBA究竟是什么?更确切地讲,它是一种自动

宏程序基础知识

瑞鹄汽车模具有限公司内部教材 第一章宏程序基础知识 第一节常量与变量的含义 常量与变量的含义及编程案例 数控程序中含有变量的程序称为宏程序。虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。 常量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。 变量 使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。 #1=#2+100 G01 X#1 F300 变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12] 变量根据变量号可以分成四种类型:1.空变量2.局部变量3.公共变量4.系统变量 1.空变量: #0 该变量总是空,没有值能赋给该变量. 2.局部变量: #1-#33 局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空. 调用宏程序时,自变量对局部变量赋值. 3.公共变量 #100-#199 #500-#999 公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失. 4.系统变量:#1000以上的变量 系统变量用于读和写CNC的各种数据,例如刀具补偿,当前位置信息, 变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在

括号中。例如:G01X[#1+#2]F#3; 被引用变量的值根据地址的最小设定单位自动地舍入。 例如:当G00X#1;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346. 改变引用变量的值的符号,要把负号(-)放在#的前面。例如:G00X-#1 当引用未定义的变量时,变量及地址都被忽略。例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0 未定义的变量当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。 当#1= (空)时 G90 X100 Y#1实际与 G90 X100运行结果一样 当#1=0 时 G90 X100 Y#1实际与 G90 X100 Y0 运行结果一样 运算 除了用<空>赋值以外,其余情况下<空>与0 相同。

在Word中录制宏方法

录制新宏:在 Word 中新建一个文件,文件名为 A8-A.doc,保存至在“C:\ATA_MSO\testing\231637-62c9\Word\H04”文件夹中。在该文件中创建一个名为A8A的宏,将宏保存在“A8-A.doc”的文档中,用Ctrl+Shift+F作为快捷键,功能为将选定的文字设置为黑体,小四,颜色为玫瑰红。 1)单击“文件”菜单中的“新建…”,再单击“文件”菜单中的“保存”,在弹出的对话框中“文件名”中输入A8-A.doc,再单击“保存”。(一般上单击“保存”后,路径已是“C:\ATA_MSO\testing\231637-62c9\Word\H04”,不用再去查找来放,若不是就要再按路径将新建的文件放对地方。)特别注意:要将宏的安全性降到最低。具体操作如下:单击“工具”菜单中的“宏”中的“安全性…”,在“安全级”选项卡中选“低”,在“可靠发行商”选项卡中,将“信任所有的加载项和模板”和“信任对于Visual Basic 项目的访问”这两项都选上。最后“确定”。否则此题不会做到满分。 2)在这个新建的文档内空白的地方随便输入一些内容,并选定。 3)单击“工具”菜单中的“宏”中的“录制新宏…”,在弹出的对话框中的“宏名”中输入“A8A”,在“将宏保存在”的下拉列表中选择“A8-A.doc(文档)”,再点击“键盘”,在弹出的对话框中的“请按新快捷键”下单击一下,再按键盘中的“Ctrl+Shift+F”,在“将更

改保存在”右边的下拉列表中选择“A8-A.doc”,再单击“指定”,再单击“关闭”。此时便开始录制宏了。 4)单击“格式”菜单中的“字体…”,在弹出的对话框中的“中文字体中”选择“黑体”,在“字号”中选择“小四”,在“字体颜色”中选择“玫槐红”,再“确定”。 5)最后,单击宏录制工具栏中的“停止按钮”,完成宏的录制。全部文件关闭并保存便可。

宏程序编程

用户宏程序 虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。使用时,加工程序可用一条简单指 令调出用户宏程序,和调用子程序完全一样。 一、变量 普通加工程序直接用数值指定G代码和移动距离;例如,G01和X100。 使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。 #1=#2+100; G01 X#1 F300; 说明: 1、变量的表示 计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。 例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。 例如:#[#1+#2-12] 2、变量的类型 变量根据变量号可以分成四种类型。 3、变量值的表示范围 局部变量和公共变量可以有0值或下面范围中的值: -1047至-10-29或10-29到1047 如果计算结果超出有效范围,则发出P/S报警No.111。 4、小数点的省略 当在程序中定义变量值时,小数点可以省略。 例:当定义#1=123;变量#1的实际值是123.000; 5、变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变 量时,要把表达式放在括号中。 例如:G01X[#1+#2]F#3; 被引用变量的值根据地址的最小设定单位自动地舍入。 例如:

当G00X#1;以1/1000mm的单位执行时,CNC把12.3456赋值给 变量#1,实际指令值为G00X12.346; 改变引用变量的值的符号,要把负号(一)放在#的前面。 例如:GOOX-#1; 当引用未定义的变量时,变量及地址字都被忽略。 例如: 当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0;。 6、未定义的变量 当变量值未定义时,这样的变量成为“空”变量。变量#0总是空变量。 它不能写,只能读。 (a)引用

宏程序基础知识资料教学文案

第一章宏程序基础知识 第一节常量与变量的含义 常量与变量的含义及编程案例 数控程序中含有变量的程序称为宏程序。虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。 常量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。 变量 使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。 #1=#2+100 G01 X#1 F300 变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12] 变量根据变量号可以分成四种类型:1.空变量2.局部变量3.公共变量4.系统变量 1.空变量: #0 该变量总是空,没有值能赋给该变量. 2.局部变量: #1-#33 局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空. 调用宏程序时,自变量对局部变量赋值. 3.公共变量 #100-#199 #500-#999 公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失. 4.系统变量:#1000以上的变量 系统变量用于读和写CNC的各种数据,例如刀具补偿,当前位置信息, 变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在

括号中。例如:G01X[#1+#2]F#3; 被引用变量的值根据地址的最小设定单位自动地舍入。 例如:当G00X#1;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346. 改变引用变量的值的符号,要把负号(-)放在#的前面。例如:G00X-#1 当引用未定义的变量时,变量及地址都被忽略。例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0 未定义的变量当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。 当#1= (空)时 G90 X100 Y#1实际与 G90 X100运行结果一样 当#1=0 时 G90 X100 Y#1实际与 G90 X100 Y0 运行结果一样 运算 除了用<空>赋值以外,其余情况下<空>与0 相同。

华中数控车宏程序修订稿

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

广州数控车床与FANUC数控车床宏程序编制比较

广州数控车床与FANUC数控车床宏程序 编制比较

-----------------------作者:-----------------------日期:

浅谈广州数控车床与FANUC数控车床宏程序编制 的不同点 对于FANUC系统数控车床的宏B程序编制,大家并不陌生,所有的教材都有例子,但对于广州数控系统车床来说,宏A程序几乎查不到实例资料,厂家说明书只介绍几个G65格式,对于广大数控人员来说,只是凤毛麟角,无实际例子,往往无从下手,下面本人举一些程序例子,供大家参考。 宏程序是用户把实现某种功能的一组指令像子程序一样预先存入存储器中,用一个指令代表这个存储的功能,在程序中只要指定该指令就能实现这个功能。通常我们把这一组指令称为用户宏程序本体,简称宏程序,把代表指令称为用户宏程序调用指令,简称宏指令。用户宏程序允许使用变量,可以给变量赋值,变量间可以进行算术和逻辑运算,这样用户可以扩展数控系统的功能。用户宏程序有A、B两种功能,广州数控系统GSK980TD使用宏A程序,FANUC-0i系统数控使用宏B较多。 FANUC数控系统车床的宏程序指令可参考其它有关数控的书。FANUC数控系统车床例子如下: 图1椭圆的长轴a=20,短轴b=15 椭圆标准方程公式是:1 /2 / 2= Z a X +b

X=a a b2 Z 2- O0001 G99 M3 S400 T0101 G0 X32 Z2 图1 G73 U15 R16 G73 P10 Q20 U0.3 W0 F0.2 N10 G0 X0 G01 Z0 #1=20 赋值#1=20 #2=15 赋值#2=15 #3=20 赋值#3=20,#3为起点到圆心的距离WHILE [#3 GE 0] DO 1 当#3大于等于0,执行1 语句,否 则执行END 1以下语句 #4=#2*SQRT[#1*#1-#3*#3]/#1 #4=#2×2 23# 1#-/#1 G1 X[2*#4]Z[#3-20] 车椭圆 #3=#3-0.5 步距0.5 END 1 语句 1 结束 N20 X32 G0 X100 Z100 M00 M3 S100 T0101 G0X 34 Z2 G70 P10 Q20 F0.08 G0 X100 Z100 M30 从以上例子看出,宏B程序比较直观易懂,符合语言的逻辑规律。而广州数控系统宏A程序相对来说比较呆板,下面详细说明。

Layout鲫鱼塘—PADS 宏相关操作之宏录制与运行

PADS 宏相关操作之宏录制与运行 宏是录制命令、输入和鼠标点击的任意组合,然后作为单一动作重放。实际上,可以录制需要重放的任意组程序性步骤,因此,简化了多余的动作。 1.PADS 宏的录制 点击如下图所示红框中那个锤子打开下面这个Output Window小窗口,点击Macro标签切换到宏窗口。 先来了解一下宏工具栏 前面的工具就不讲了,如果你不知道说明你也看不懂接下来的内容,就要去补电脑基础了 Record 录制按钮 Run 运行按钮 Pause 暂停按钮 Stop 停止按钮,这个按钮只有在录制宏或运行宏时才会显示红色,一般情况下显示灰色

Toggle breakpoint切换断点,加在宏程序中,运到所加之处便自动停下来 Compress mouse moves 压缩鼠标移动——压缩鼠标移动模式只录制鼠标轨迹的起点和终点,而不录制起点和终点之间的中间坐标。多数环境下推荐压缩,因此这样可以有效地减小宏文件大小。录制中间鼠标轨迹会增加文件大小,除非在特殊应用中需要文档坐标信息。 Relative mouse moves相对鼠标移动——相对鼠标移动模式是使用增量坐 标来录制轨迹的起点和终点,而不是使用绝对坐标。 Step into单步执行,在当前行调用子程序,加载宏后单击这个按钮宏会一行一行的运行;当遇到子函数就进入并且继续单步执行。 Step over()连续单步,当在函数内遇到子函数时不会进入子函数内单步执行。而是将子函数整个执行完再停止。 Step out单步退出,在单步运行时点击此按钮会切换到成自动运行,并且一直运行到宏结束或运行到切换点。 Step to cursor跳到光标位置,先将光标置于某一行,然后点击此按钮,宏会运行到光标所在行暂停。 开始录制制,打开PADS Layout(PADS Logic、PADS Router) 依上面图片中数字顺序点击红框中的前三个步骤的图标后就可以开始执行各个操作了(宏开始记录所有操作),操作完后点击图中数字4处保存档案图标,保

宏程序基础知识资料

瑞鹄汽车模具有限公司内部教材 第一章第一节宏程序基础知识常量与变量的含义 常量与变量的含义及编程案例 数控程序中含有变量的程序称为宏程序。虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。 常量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。 变量 使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。 #1=#2+100 G01 X#1 F300 变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12] 变量根据变量号可以分成四种类型:1.空变量2.局部变量3.公共变量4.系统变量 1.空变量: #0 该变量总是空,没有值能赋给该变量. 2.局部变量: #1-#33 局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空. 调用宏程序时,自变量对局部变量赋值. 3.公共变量 #100-#199 #500-#999 公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失. 4.系统变量:#1000以上的变量 系统变量用于读和写CNC的各种数据,例如刀具补偿,当前位置信息, 变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放

在括号中。例如:G01X[#1+#2]F#3; 被引用变量的值根据地址的最小设定单位自动地舍入。 例如:当G00X#1;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346. 改变引用变量的值的符号,要把负号(-)放在#的前面。例如:G00X-#1 当引用未定义的变量时,变量及地址都被忽略。例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1Y#2的执行结果为G00X0 未定义的变量当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。 当#1= (空)时 G90 X100 Y#1实际与G90 X100运行结果一样 当#1=0 时 G90 X100 Y#1实际与G90 X100 Y0 运行结果一样 运算 除了用<空>赋值以外,其余情况下<空>与0 相同。

数控机床宏程序例题

由浅入深宏程序10-车床旋转正弦函数宏程序 正弦函数曲线旋转宏程序 坐标点旋转1 s = x cos(b) – y sin(b) t = x sin(b) + y cos(b) 根据下图,原来的点(#1,#2),旋转后的点(#4,#5),则公式: #4=#1*COS[b]- #2*SIN[b] #5=#1*SIN[b]+ #2*COS[b] 公式中角度b,逆时针为正,顺时针为负。 下图中正弦曲线如果以其左边的端点为参考原点,则此条正弦曲线顺时针旋转了16度,即b=-16

正弦函数旋转图纸1 此正弦曲线周期为24,对应直角坐标系的360 对应关系【0,360】 y=sin(x) 【0,24】 y=sin(360*x/24) 可理解为: 360/24是单位数值对应的角度 360*x/24是当变量在【0,24】范围取值为x时对应的角度 sin(360*x/24)是当角度为360*x/24时的正弦函数值 旋转正弦函数曲线粗精加工程序如下: T0101 M3S800 G0X52Z5 #6=26 工件毛坯假设为50mm,#6为每层切削时向+X的偏移量。N5 G0X[#6+] 0F

#1=48 N10 #2=sin【360*#1/24】 #4=#1*COS[-16]- #2*SIN[-16] 旋转30度之后对应的坐标值 #5=#1*SIN[-16]+ #2*COS[-16] #7=#4-【】坐标平移后的坐标。 #8=45+2*#5+#6 G1X[#8]Z[#7] 沿小段直线插补加工 #1=# 递减,此值越小,工件表面越光滑。 IF [#1 GE 0] GOTO 10 条件判断是否到达终点。 Z-50 G1X52 直线插补切到工件外圆之外 G0Z5 #6=#6-2 IF [#6 GE 0] GOTO 5 G0X150Z150 M5 M30 镂空立方体宏程序范例 镂空立方体图纸及宏程序范例 此零件六个面加工内容相同,在加工时,调面装夹时要注意考虑夹紧力。 对于每个面的加工,可以用一个宏程序进行编制。宏程序编程时,即有深度方向的变化,也有半径的变化,是一种典型的宏程序。可以先用自己的思路编制一下,图后附有参考程序。

相关文档
最新文档