数控加工编程及操作
Download
1 / 40

??????? - PowerPoint PPT Presentation


  • 57 Views
  • Uploaded on

用户宏程序编程. 在数控编程中,宏程序编程灵活、高效、快捷,是加工编程的重要补充。宏程序不仅可以实现象子程序那样,对编制相同加工操作的程序非常有用,还可以完成子程序无法实现的特殊功能,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等。. 华中数控宏程序 FANUC 数控宏程序 SIEMENS 数控参数编程. 华中数控用户宏程序.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ???????' - daquan-kirkland


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
6744893

数控加工编程及操作

用户宏程序编程

在数控编程中,宏程序编程灵活、高效、快捷,是加工编程的重要补充。宏程序不仅可以实现象子程序那样,对编制相同加工操作的程序非常有用,还可以完成子程序无法实现的特殊功能,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等。

  • 华中数控宏程序

  • FANUC数控宏程序

  • SIEMENS数控参数编程


6744893

数控加工编程及操作

华中数控用户宏程序

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

一、基础知识

1. 宏变量及常量

(1) 宏变量

HNC-21/22T华中世纪星数控系统变量表示形式为# 后跟1~4位数字,变量种类有三种:

①局部变量:#0~#49是在宏程序中局部使用的变量,用于存放宏程序中的数据,断电时丢失为空。


6744893

数控加工编程及操作

一、基础知识

1、 宏变量及常量

②全局变量:用户可以自由使用#50~#199,它对于由主程序调用的各子程序及各宏程序来说是可以公用的,可以人工赋值。HNC-21/22T子程序嵌套调用的深度最多可以有8层,每一层子程序都有自己独立的局部变量(变量个数为50)。

③系统变量:系统变量为#1000~#1199,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。

(2) 常量

PI:圆周率π;TRUE:条件成立(真);FALSE:条件不成立(假)


6744893

数控加工编程及操作

2、 运算符与表达式

(1) 算术运算符:+,-,*,/

(2) 条件运算符:EQ(=),NE(≠),GT(>),GE(≥),LT(<=),LE(≤)

(3) 逻辑运算符:AND,OR,NOT

(4) 函数:SIN,COS,TAN,ATAN,ATAN2,ABS,INT,SIGN,SQRT,EXP

(5) 表达式:用运算符连接起来的常数,宏变量构成表达式。

例如:175/SQRT[2] * COS[55 * PI/180 ];#3*6 GT 14


6744893

数控加工编程及操作

3、赋值语句

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

把常数或表达式的值送给一个宏变量称为赋值。

例如: #2 = 175/SQRT[2] * COS[55 * PI/180;

#3 = 124.0


4 if else endif

数控加工编程及操作

4、 条件判别语句IF, ELSE,ENDIF

格式(i):格式(ii) :

IF 条件表达式IF 条件表达式

… …

ELSE ENDIF

ENDIF


5 while endw

数控加工编程及操作

5、 循环语句WHILE,ENDW

格式:WHILE 条件表达式

ENDW


6744893

数控加工编程及操作

6、 宏程序/子程序调用的参数传递规则

G 代码在调用宏(子程序或固定循环,下同)时,系统会将当前程序段各字段(A~Z共26个字段,如果没有定义则为零)的内容拷贝到宏执行时的局部变量#0 ~ #25,同时拷贝调用宏时当前通道九个轴(轴0~轴8)的绝对位置(机床绝对坐标)到宏执行时的局部变量#30 ~ #38。

宏程序的调用格式为:

M98 P(宏程序名)<变量赋值>或G65 P(宏程序名)<变量赋值>。

……

#25 Z


6744893

数控加工编程及操作

7、用户宏程序编程思路

%1000;长半轴、短半轴分别为40、30的椭圆

G54 G90 G00 Z30

M03 S800

G00 X45 Y-15 ;快速定位至下刀点

Z3

G01 Z-5 F100

#0=0;给角度赋0初值

WHILE #0 LE 360;当角度≤360度时,执行循环体内容

#1=40*COS[#0*PI/180];用椭圆的标准参数方程求动点M的X坐标值

#2=30*SIN[#0*PI/180];用椭圆的标准参数方程求动点M的Y坐标值

G01 X[#1] Y[#2] ;用直线插补指令加工至M点,即用直线段逼近椭圆

#0=#0+1;角度的递增步长取1度

ENDW

X45 Y15;切出椭圆

G00 Z30 M05

X0 Y0

M30


6744893

数控加工编程及操作

二、 数控铣床用户宏程序编程

%1000;长半轴、短半轴分别为40、30的椭圆

G92 X0 Y0 Z30

M03 S800

G00 X45 Y-15 M08;快速定位至A点

Z3

G01 Z-5 F100

#2=0;给角度赋0初值

WHILE #2 LE 360;当角度≤360度时,执行循环体内容

#11=40*COS[#2*PI/180];用椭圆的标准参数方程求动点M的X坐标值

#12=30*SIN[#2*PI/180];用椭圆的标准参数方程求动点M的Y坐标值

G42 G64 G01 X[#11] Y[#12] D01;用直线插补指令加工至M点,即用

直线段逼近椭圆

#2=#2+1;角度的递增步长取1度

ENDW

G40 G01 X45 Y15;切出椭圆至C点

Z3 M09

G00 Z30

X0 Y0 M05

M30




6744893

数控加工编程及操作

宏程序编程实例

ZH7640立式加工中心由北京第三机床厂产生,采用华中铣床、加工中心数控系统。加工范围600mm×400mm×500mm。刀库可容纳20把刀。可用于镗、铣、钻、铰、攻丝等各种加工。实例为在预先处理好的100mm×100mm×80mm合金铝锭毛坯上加工如图所示的零件,其中正五边形外接圆直径为80mm。


6744893

数控加工编程及操作

宏程序编程实例

O5000;HNC-21M

%1000

G54 G90 G00 Z40

X70 Y20 M08

M03 S600

G43 Z3 H01

G01 Z-5 F100

#0=18

IF [#0 LT 360]

#1=80*COS#0

#2=80*SIN#0

G41 X#1 Y#2 D01

#0=#0+72

ENDIF

G40 X70 Y70

Z40 M05

M30

O5000;FANUC

G54 G90 G00 Z40

X70 Y20 M08

M03 S600

G43 Z3 H01

G01 Z-5 F100

#0=18

N10 #1=80*COS#0

#2=80*SIN#0

G41 X#1 Y#2 D01

#0=#0+72

IF [#0 LT 360] GOTO 10

G40 X70 Y70

Z40 M05

M30


6744893

数控加工编程及操作

三、 数控车床用户宏程序编程

用宏程序编制如图所示抛物线的精加工程序。

%3015

#10=0 ;X坐标(直径值)

#11=0 ;Z坐标

T0101

M03 S600

G00 X0 Z34

WHILE #10 LE 32

G90 G64 G01 X[#10] Z[#11] F100

#10= #10+0.32

#9= #10/2 ;求出X坐标的半径值,便于求解#11

#11= 32-[#9*#9/8]

ENDW

G00 X80 Z100

M05

M30


6744893

数控加工编程及操作

用宏指令编制椭圆部分的精加工程序。

%3016;精加工椭圆程序

T0101

M03 S800

G00 X39 Z22

#1=60;A点的角度

#2=0;X坐标

#3=0;Z坐标

WHILE #1 LE 120;120是通过计算得来的B点角度

#2=2*23*SIN[#1*PI/180];直径编程

#3=40*COS[#1*PI/180]

G64 G01 X[#2] Z[#3] F100

#1=#1+1;步长取1度

ENDW

G00 X100

Z100 M05

M30


6744893

数控加工编程及操作

用户宏程序训练




Fanuc

数控加工编程及操作

FANUC数控系统用户宏程序

一、构成

1. 包含变量

2. 包含算术或逻辑运算(=)的程序段

3. 包含控制语句(例如:GOTO,DO,END)的程序段

4. 包含宏程序调用指令(G65,G66,G67或其他G代码,M代码调用宏程序)的程序段


Fanuc1

数控加工编程及操作

二、FANUC宏程序的变量

FANUC数控系统变量表示形式为# 后跟1~4位数字,变量种类有四种:



C g10

数控加工编程及操作

三、刀具补偿存储器C用G10指令进行设定

P:刀具补偿号

R:绝对值指令(G90)方式时的刀具补偿值。增量值指令(G91)方式时的刀具补偿值为该值与指定的刀具补偿号的值相加。


Fanuc2

数控加工编程及操作

四、 FANUC宏程序的转移和循环

1. 无条件转移:GOTOn(n为顺序号,1——99999)

例:GOTO10为转移到N10程序段。

2. 条件转移:(IF语句)

1)IF [条件表达式] GOTOn

当指定的条件表达式满足时,转移到标有顺序号n的程序段,如果指定的条件表达式不满足时,执行下个程序段。


6744893

数控加工编程及操作

  • 2)IF [条件表达式] THEN

  • 当指定的条件表达式满足时,执行预先决定的宏程序语句。

  • 例:IF [#1EQ #2] THEN #3=0;

  • 3. WHILE [条件表达式] DO m;

    (m=1,2,3)

    条件不满足

    ……

    ……

    条件满足

    ENDm

    注:循环允许嵌套,最多3层,但不允许交叉





    Fanuc3

    数控加工编程及操作

    六、 FANUC宏程序的调用

    1. 非模态调用G65:

    格式: G65 Pp Ll <自变量指定>

    其中 p:要调用的程序号

    L:调用次数(默认为1)

    自变量:数据传递到宏程序

    例:

    G65 P8000 L2 A10. B2.;

    调用2次程序号8000,经自变量A传递到宏程序#1=10;自变量B传递到宏程序#2=2。


    6744893

    数控加工编程及操作

    自变量指定Ⅰ

    • 根据使用的字母,CNC系统自动地决定自变量指定的类型。

    • 地址不需要按字母顺序指定。但应符合字地址的格式。

    • 但是,I,J 和K 需要按字母顺序指定。


    6744893

    数控加工编程及操作

    自变量指定Ⅱ

    • 根据使用的字母,系统自动决定自变量指定的类型。

    • 自变量指定Ⅱ用于传递诸如三维坐标值的变量。

    • I,J,K 的下标用于确定自变量指定的顺序,在实际编程中不写。


    6744893

    数控加工编程及操作

    如果自变量指定Ⅰ和自变量指定Ⅱ混合指定的话,后指定的自变量类型有效。


    Fanuc4

    数控加工编程及操作

    六、 FANUC宏程序的调用

    2. 模态调用(G66):

    G66 Pp Ll <自变量指定>;

    程序点

    G67;(取消模态)

    例:G66 P8000 L2 A10. B2.;

    G00 G90 Z-10.

    X-5.

    G67

    一旦发出G66 则指定模态调用,即指定沿移动轴移动的程序段后调用宏程序。移动到Z-10,调用2次程序号8000,移动到X-5,再调用2次程序号8000 。


    Fanuc5

    数控加工编程及操作

    七、FANUC与华中系统用户宏程序编程对照

    %1000;长半轴40、短半轴30的椭圆

    G54 G90 G00 Z30

    M03 S800

    G00 X45 Y-15 ;

    Z3

    G01 Z-5 F100

    #0=0;给角度赋0初值

    WHILE #0 LE 360;

    #1=40*COS[#0*PI/180];

    #2=30*SIN[#0*PI/180];

    G01 X[#1] Y[#2] ;

    #0=#0+1;

    ENDW

    X45 Y15;

    G00 Z30

    X0 Y0 M05

    M30

    G54 G90 G00 Z30

    M03 S800

    G00 X45 Y-15 ;

    Z3

    G01 Z-5 F100

    #10=0;给角度赋0初值

    WHILE #10 LE 360 DO 1;

    #11=40*COS[#10];

    #12=30*SIN[#10];

    G01 X#11 Y#12 ;

    #10=#10+1;

    END 1

    X45 Y15;

    G00 Z30

    X0 Y0 M05

    M30


    Siemens

    数控加工编程及操作

    SIEMENS数控系统参数编程

    与FANUC类似,但功能要弱一些。变量以“R”开始,如:R0、R1、R99。不包含系统变量,系统变量以 “$”开头。

    一、格式:Rn (n的缺省取值范围为0-99)

    例如:R1 R2 … R99

    二、运算符:



    Siemens1

    数控加工编程及操作

    三、 SIEMENS参数编程程序跳转

    1. 无条件跳转

    GOTOB LABEL (向后跳转,向程序头跳转)

    GOTOF LABEL (向前跳转,向程序尾跳转)

    2. 条件跳转

    IF 表达式 GOTOB LABEL(向后跳转,向程序头跳转)

    IF 表达式 GOTOF LABEL(向前跳转,向程序尾跳转)

    LABEL 为程序段标示符



    6744893

    数控加工编程及操作

    四、编程示例


    Siemens fanuc

    数控加工编程及操作

    五、SIEMENS与FANUC用户宏程序编程对照

    长半轴40、短半轴30的椭圆

    G54 G90 G00 Z30

    M03 S800

    G00 X45 Y-15 ;

    Z3

    G01 Z-5 F100

    #10=0;给角度赋0初值

    WHILE #10 LE 360 DO 1;

    #11=40*COS[#10];

    #12=30*SIN[#10];

    G01 X#11 Y#12 ;

    #10=#10+1;

    END 1

    X45 Y15;

    G00 Z30

    X0 Y0 M05

    M30

    G54 G90 G00 Z30

    M03 S800

    G00 X45 Y-15 ;

    Z3

    G01 Z-5 F100

    R10=0;给角度赋0初值

    AA:

    R11=40*COS(R10);

    R12=30*SIN(R10);

    G01 X=R11 Y=R12 ;

    R10=R10+1;

    IF R10<= 360 GOTOB AA

    X45 Y15;

    G00 Z30

    X0 Y0 M05

    M30


    ad