华中数控宏程序教案

时间:2019-05-15 05:20:59下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《华中数控宏程序教案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《华中数控宏程序教案》。

第一篇:华中数控宏程序教案

华中数控宏程序教案.txt人生在世,难敌宿命,沉沦其中。我不爱风尘,似被前缘误!我只为我最爱的人流泪“我会学着放弃你,是因为我太爱你”赢了你,我可以放弃整个世界华中数控宏程序教案 一.什么是宏程序?

什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点:

1.使用了变量或表达式(计算能力),例如:(1)G01X[3+5];有表达式3+5(2)G00X4F[#1];有变量#1(3)G01Y[50*SIN[3]];有函数运算 2.使用了程序流程控制(决策能力),例如:(1)IF#3GE9;有选择执行命令 „„ ENDIF(2)WHILE#1LT#4*5;有条件循环命令 „„ ENDW 二.用宏程编程有什么好处? 1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等;

2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分;

5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。一.宏变量及宏常量 1.宏变量

先看一段简单的程序: G00X25.0 上面的程序在X轴作一个快速定位。其中数据25.0是固定的,引入变量后可以写成: #1=25.0;#1是一个变量 G00X[#1];#1就是一个变量

宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,„„。变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号„„,变量的使用,给程序的设计带来了极大的灵活性。使用变量前,变量必需带有正确的值。如 #1=25 G01X[#1];表示G01X25 #1=-10;运行过程中可以随时改变#1的值 G01X[#1];表示G01X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、„„等各种代码后的数字。如: #2=3 G[#2]X30;表示G03X30 例1使用了变量的宏子程序。%1000 #50=20;先给变量赋值 M98P1001;然后调用子程序 #50=350;重新赋值

M98P1001;再调用子程序 M30 %1001 G91G01X[#50];同样一段程序,#50的值不同,X移动的距离就不同 M99 2.局部变量

编号#0~#49的变量是局部变量。局部变量的作用范围是当前程序(在同一个程序号内)。如果在主程序或不同子程序里,出现了相同名称(编号)的变量,它们不会相互干扰,值也可以不同。例 %100 N10#3=30;主程序中#3为30 M98P101;进入子程序后#3不受影响 #4=#3;#3仍为30,所以#4=30 M30 %101 #4=#3;这里的#3不是主程序中的#3,所以#3=0(没定义),则:#4=0 #3=18;这里使#3的值为18,不会影响主程序中的#3 M99 3.全局变量

编号#50~#199的变量是全局变量(注:其中#100~#199也是刀补变量)。全局变量的作用范围是整个零件程序。不管是主程序还是子程序,只要名称(编号)相同就是同一个变量,带有相同的值,在某个地方修改它的值,所有其它地方都受影响。例 %100 N10#50=30;先使#50为30 M98P101;进入子程序

#4=#50;#50变为18,所以#4=18 M30 %101 #4=#50;#50的值在子程序里也有效,所以#4=30 #50=18;这里使#50=18,然后返回 M99 为什么要把变量分为局部变量和全局变量?如果只有全局变量,由变量名不能重复,就可能造成变量名不够用;全局变量在任何地方都可以改变它的值,这是它的优点,也是它的缺点。说是优点,是因为参数传递很方便;说是缺点,是因为当一个程序较复杂的时候,一不小心就可能在某个地用了相同的变量名或者改变了它的值,造成程序混乱。局部变量的使用,解决了同名变量冲突的问题,编写子程序时,不需要考虑其它地方是否用过某个变量名。什么时候用全局变量?什么时候用局部变量?在一般情况下,你应优先考虑选用局部变量。局部变量在不同的子程序里,可以重复使用,不会互相干扰。如果一个数据在主程序和子程序里都要用到,就要考虑用全局变量。用全局变量来保存数据,可以在不同子程序间传递、共享、以及反复利用。

华中数控宏程序编程实例(1)宏程序编抛物线车削 %0342 T0101M03S600 G00X20.5Z2 #11=12;B初值

#10=SQRT[2*#11];A初值 WHILE#10LE8 G90G01X[2*#10]Z[12-#11]F200 #10=#10+0.1 #11=#10*#10/2 ENDW G01X16Z[-32+12] Z-28 U4 G00X20.5Z2M05 M30(2)宏程序编正弦线 %3404 M03S600T0101 G92X80Z30 G00X25Z3 G71U0.6R0.6P6Q13X0.8F100 N6G0X17 #11=0 WHILE#11GE-25 #9=#11*PI/10;#10=3.5*SIN[#9] G01X[17-2*#10]Z[#11]F100 #11=#11-0.5 N13ENDW G01X24Z-25 Z-30 X30 G00X80Z30 M30(3)宏程序编抛物线与椭圆 %8002 G92X50Z100 M98P8001A8B5C4U32V40W55 G36G90X50Z0 M30 %8001 G64G37(连续切削,半径编程)#10=0#11=0(抛物线起点)WHILE#11LE#20 G01X[#10]Z[-#11]F150 #10=#10+0.08(抛物线X增量)#11=#10*#10/#2(计算抛物线z)ENDW #50=SQRT[#20*#2](抛物线与椭圆交接处半径)G01X[#50]Z[-#20](抛物线终点)G01Z[-#21](直线终点)#12=0#13=0(椭圆起点)WHILE#13LE#1 #12=#0/#1*SQRT[#1*#1-#13*#13](椭圆X增量)G01X[#50+#0-#12]Z[-#21-#13] #13=#13+0.08(椭圆z增量)ENDW G01X[#50+#0]Z[-#21-#1](椭圆终点)Z[-#22] U2 G0X50Z100 M99

第二篇:数控编程--宏程序教案

华中数控加工中心编程---宏程序

教案

一、组织教学

检查学生出勤情况

二、复习提问

1、画图,椭圆怎么加工

2、举例,一个任意形状的工件,如何在边上倒圆角

三、相关专业理论基础

1、看、画图零件

2、加工工艺分析与编写数控加工工艺卡

3、装夹方法与定位方法的分析

4、华中系统编程规则

5、刀具的选择

6、检验方法与检测技巧

三、课题训练思路

采用综合例题方式,按上述要求逐一分组进行,加工前教师进行加工讲评,对程序验证后进行加工,加工完教师进行总结讲评,指出加工过程中的错误和不合格项。

四、课题内容 用数控加工中心铣床加工出如下图所示零件,材料为铝,毛坯为75*75mm,按图样要求完成零件的加工。

五、新授课

如何使加工中心这种高效自动化机床更好地发挥效益,其关键之一,就是开发和提高数控系统的使用性能。宏程序的应用,是提高数控系统使用性能的有效途径。下面就宏程序的应用。

(一)什么是宏程序?

什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 1.使用了变量或表达式(计算能力),例如:(1)G01X[#3+#5];有表达式#3+#5(2)G00X4F[#1];有变量#1(3)G01Y[50*SIN[#3]];有函数运算

2.使用了程序流程控制(决策能力),例如:(1)WHILE有条件循环命令

(二)用宏程编程有什么好处?

1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。

(三)宏变量及宏常量 1.宏变量

先看一段简单的程序: G00X25.0 上面的程序在X轴作一个快速定位。其中数据25.0是固定的,引入变量后可以写成: #1=25.0;#1是一个变量 G00X[#1];#1就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号变量的使用,给程序的设计带来了极大的灵活性。

使用变量前,变量必需带有正确的值。如 #1=25 G01X[#1];表示G01X25 #1=-10;运行过程中可以随时改变#1的值 G01X[#1];表示G01X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、??等各种代码后的数字。如: #2=3 G[#2]X30;表示G03X30 例1使用了变量的宏子程序。%1000#50=20;先给变量赋值 M98P1001;然后调用子程序 #50=350;重新赋值 M98P1001;再调用子程序 M30 %1001 G91G01X[#50];同样一段程序,#50的值不同,X移动的距离就不同 M99 2.局部变量

编号#0~#49的变量是局部变量。局部变量的作用范围是当前程序(在同一个程序号内)。如果在主程序或不同子程序里,出现了相同名称(编号)的变量,它们不会相互干扰,值也可以不同。例 %100 N10#3=30;主程序中#3为30 M98P101;进入子程序后#3不受影响 #4=#3;#3仍为30,所以#4=30 M30 %101 #4=#3;这里的#3不是主程序中的#3,所以#3=0(没定义),则:#4=0 #3=18;这里使#3的值为18,不会影响主程序中的#3 M993.全局变量

编号#50~#199的变量是全局变量(注:其中#100~#199也是刀补变量)。全局变量的作用范围是整个零件程序。不管是主程序还是子程序,只要名称(编号)相同就是同一个变量,带有相同的值,在某个地方修改它的值,所有其它地方都受影响。例 %100 N10#50=30;先使#50为30 M98P101;进入子程序

#4=#50;#50变为18,所以#4=18 M30 %101 #4=#50;#50的值在子程序里也有效,所以#4=30 #50=18;这里使#50=18,然后返回 M99 为什么要把变量分为局部变量和全局变量?如果只有全局变量,由变量名不能重复,就可能造成变量名不够用;全局变量在任何地方都可以改变它的值,这是它的优点,也是它的缺点。说是优点,是因为参数传递很方便;说是缺点,是因为当一个程序较复杂的时候,一不小心就可能在某个地用了相同的变量名或者改变了它的值,造成程序混乱。局部变量的使用,解决了同名变量冲突的问题,编写子程序时,不需要考虑其它地方是否用过某个变量名。什么时候用全局变量?什么时候用局部变量?在一般情况下,你应优先考虑选用局部变量。局部变量在不同的子程序里,可以重复使用,不会互相干扰。如果一个数据在主程序和

子程序里都要用到,就要考虑用全局变量。用全局变量来保存数据,可以在不同子程序间传递、共享、以及反复利用。

(四)常量 PI:圆周率π

角度用弧度表示:1°对应 PI/180弧度

(五)运算符

1、算数运算符 +-* /

2、条件运算符

EQ(=)NE(≠)GT(>)GE(≥)LT(<)LE(≦)

3、逻辑运算符

AND(与)OR(或)NOT(异或)

(六)函数

SIN[正弦] COS[余弦] TAN[正切] EXP[指数] ATAN[反正切] ABS[绝对值] INT[取整] FIX[上取整] FUP[下取整] SQRT[开方]

(六)循环语句(WHILE语句)(七)宏指令编程

%O0001 #1=20(定义a值)#2=10(定义b值)

#4=5(定义刀具补偿半径R值)#5=0(定义步距角初始值)

G90G54G0X0Y0S1500M3 G43X#1Y#2D01 G01Z-5F30 G01Y0F100 WHILE[#5LE360] G01X[#1*COS[#5*PI/180]]Y-[#2*SIN[#5*PI/180]] #5=#5+2 ENDW GOG40Z100 M30 %

六、结束语

宏程序是数控加工必不可少的编程方法,只要我们掌握了宏程序的编程原理,对规则几何图形建立数学模型,就能解决实际加工中各种几何形状规则零件的加工和“疑难杂症”,同时宏程序编制简单,通用性强,加工效率高,在数控加工中有着广泛的应用。

第三篇:数控铣床宏程序编程 经典

变量

普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。#1=#2+100 G01 X#1 F300 说明:

变量的表示

计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#[#1+#2-12]

变量的类型

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

变量号 变量类型 功能

#0 空变量 该变量总是空,没有值能赋给该变量.#1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值, #100-#199 #500-#999 公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.#1000 系统变量 系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.变量值的范围

局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047 如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略

当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是123.000。

变量的引用

为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。例如: 当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。例如:G00X-#1 当引用未定义的变量时,变量及地址都被忽略。

例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。

双轨迹(双轨迹控制)的公共变量

对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。

未定义的变量

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

引用

当引用一个未定义的变量时,地址本身也被忽略。当#1=<空> 当#1=0 G90 X100 Y#1 G90 X100 G90 X100 Y#1 G90 X100 Y0

(b)运算

除了用<空>赋值以外,其余情况下<空>与0相同。

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

#2=#1 #2=<空> #2=#1 #2=0

#2=#*5 #2=0 #2=#*5 #2=0

#2=#1+#1 #2=0 #2=#1+#1 #2=0

(c)条件表达式

EQ和NE中的<空>不同于0。当#1=<空>时 当#1=0时

#1EQ#0 成立 #1EQ#0 不成立

#1 NE #0 成立 #1 NE #0 不成立

#1 GE #0 成立 #1 GE #0 不成立

#1 GT #0 不成立 #1 GT #0 不成立

限制

程序号,顺序号和任选程序段跳转号不能使用变量。例:下面情况不能使用变量: 0#1;

/#2G00X100.0;N#3Y200.0;

二 算术和逻辑运算

下面表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。左边的变量也可以用表达式赋值。

功能 格式 备注 定义 #i=#j 加法

减法

乘法

除法 #i=#j+#k;

#i=#j-#k;

#i=#j*#k;

#i=#j/#k;正弦

反正弦

余弦

反余弦

正切

反正切 #i=sin[#j;

#i=asin[#j];

#i=cos[#j];

#i=acos[#j];

#i=tan[#j]

#i=atan[#j]/[#k] 角度以度指定,90o30'表示为90.5度。平方根

绝对值

舍入

上取整

下取整

自然对数

指数函数 #i=SQRT[#j];

#i=ABS[#j];

#i=ROUNG[#j];

#i=FIX[#j];#i=FUP[#j];

#i=LN[#j];

#i=EXP[#j];或

异或

#i=#jOR#k;

#i=#jXOR#k;

#i=#jAND#k;逻辑运算一位一位地按二进制数执行。从BCD转为BIN

从BIN转为BCD #i=BIN[#j];

#i=BCD[#j];用于与PMC的信号交换。

说明:

角度单位

函数SIN ,COS,ASIN,ACOS,TAN和ATAN的角度单位是度。如90°30’表示为90.5度。ARCSIN # i= ASIN[#j](1)取值范围如下:

当参数(NO.6004#0)NAT位设为0时,270°~90° 当参数(NO.6004#0)NAT位设为1时,-90°~90°

(2)当#j超出-1到1的范围时,发出P/S报警NO.111.(3)常数可替代变量#j

ARCCOS #i=ACOS[#j] 取值范围从180°~0° 当#j超出-1到1的范围时,发出P/S报警NO.111.常数可替代变量#j

三 程序举例

铣椭圆:

轨迹:

椭圆程序代码如下:

N10 G54 G90 G0 S1500 M03 N12 X0 Y0 Z20.N14 G0 Z1 N16 G1 Z-5.F150.N18 G41 D1 N20 #1=0 N22 #2=34 N24 #3=24 N26 #4=#2*COS[#1] N28 #5=#3*SIN[#1] N30 #10=#4*COS[45]-#5*SIN[45] N32 #11=#4*SIN[45]+#5*COS[45] N34 G1 X#10 Y#11 N36 #1=#1+1 N38 IF [#1 LT 370] GOTO26 N40 G40 G1 X0 Y0 N42 G0 Z100 N44 M30

铣矩形槽:

铣矩形槽代码如下: #102=0.N3#100=0.#101=0.#103=200.#104=400.G91G28Z0.G0G90G54X0.Y0.G43H1Z20.M3S2000.N4G0X#100Y#101 G01Z#102F200.#102=#102-2.IF[#102EQ-50.]GOTO1 GOTO2 N2 N4X#104F500.Y#103 X#100 Y#101 #100=#100+10.#101=#101+10.#103=#103-10.#104=#104-10.IF[#100EQ100.]GOTO3 GOTO4 N3 N1 M5 M9 G91G28Z0.G28Y0.M30

铣倾斜3度的面:

轨迹:

铣倾斜3度的面的代码如下: O0001 #[#1+1*2]=1 G65P9012L1A0B0.1C4I100J3K0 M30

宏程序O9012代码如下: G54 G90 G00 X[#3] Y0 Z100 S500 M3 G01 Z0 F300 WHILE[#1LE10]DO1 #7= #1/TAN[#5]+#3 G1Z-#1 X#7 #8=#6/2-ROUND[#6/2] IF[#8EQ0]GOTO10 G1Y0 GOTO20 N10 Y#4 N20#1=#1+#2 #6=#6+1 END1 G0 Z100

铣半球:

轨迹:

铣半球代码如下:

G90G0G54X-10.Y0M3S4500 G43Z50.H1M8 #1=0.5 WHILE[#1LE50.]DO1 #2=50.-#1 #3=SQRT[2500.-[#2*#2]] G1Z-#1F20 X-#3F500 G2I#3 #1=#1+0.5 END1 G0Z50.M5 M30

铣喇叭:

铣喇叭代码如下: M03 S500 M06 T01 #1=0 #2=0 G0 Z15 X150 Y0 N11 #2=30*SIN[#1] #3=30+30*[1-COS[#1]] G01 Z-#2 F40 G41 X#3 D01 G03 I-#3 G40 G01 X150 Y0 #1=#1+1 IF [#1 LE 90] GOTO 11 G0 Z30 M30

第四篇:宏程序教案

数控宏程序的概念

用变量的方式进行数控编程的方法就叫做数控宏程序编程。

一、控宏程序的分类

数控宏程序分为A类和B类宏程序,其中A类宏程序比较老,编写起来也比较费时费力,B类宏程序类似于C语言的编程,编写起来也很方便。不论是A类还B类宏程序,它们运行的效果都是一样的。

一般说来,华中的数控机床用的是B类宏程序,广州数控机床用的是A类宏程序。

二、数控宏程序的优点

1.可以编写一些非圆曲线,如宏程序编写椭圆,双曲线,抛物线等。

2.编写一些大批相似零件的时候,可以用宏程序编写,这样只需要改动几个数据就可以了,没有必要进行大量重复编程。

数控宏程序的使用方法

三、A类宏程序

1)变量的定义和替换 #i=#j

编程格式 G65 H01 P#i Q#j

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

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

2)加法 #i=#j+#k

编程格式 G65 H02 P#i Q#j R#k

例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)

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

编程格式 G65 H05 P#i Q#j R#k

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

6)平方根 #i=

编程格式 G65 H21 P#i Q#j

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

7)绝对值 #i=│#j│

编程格式 G65 H22 P#i Q#j

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

8)复合平方根1 #i=

编程格式 G65 H27 P#i Q#j R#k

例 G65 H27 P#101 Q#102 R#103;(#101=

9)复合平方根2 #i=

编程格式 G65 H28 P#i Q#j R#k

例 G65 H28 P#101 Q#102 R#103

1)逻辑或 #i=#j OR #k

编程格式 G65 H11 P#i Q#j R#k

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

2)逻辑与 #i=#j AND #k

编程格式 G65 H12 P#i Q#j R#k

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

(3)三角函数指令

1)正弦函数 #i=#j×SIN(#k)

编程格式 G65 H31 P#i Q#j R#k(单位:度).例 G65

H31 P#101 Q#102

R#10

3;(#101=#102×SIN(#103))

2)余弦函数 #i=#j×COS(#k)

编程格式 G65 H32 P#i Q#j R#k(单位:度)例 G65

H32 P#101 Q#102

R#103

;(#101=#102×COS(#103))

3)正切函数 #i=#j×TAN#k

编程格式 G65 H33 P#i Q#j R#k(单位:度)例 G65

H33 P#101 Q#102

R#103

;(#101=#102×TAN(#103))

4)反正切 #i=ATAN(#j/#k)

编程格式 G65 H34 P#i Q#j R#k(单位:度,0o≤ #j ≤360o)例 G65

H34 P#101 Q#102

R#103

;(#101=ATAN(#102/#103)

(4)控制类指令

编程格式 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#101 R#102

当#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,执行下一程序段。

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 Q#k(n为程序段号)

例 G65 H86 P1000 Q#101 R#102

当#101≤#102,转移到N1000;若#101>#102,执行下一程序段。

四、B类宏程序

1. 定义

#I=#j

2. 算术运算

#I=#j+#k(加)

#I=#j-#k(减)

#I=#j×#k(乘)

#I=#j/#k(除)

3.1 逻辑函数之布尔函数

= EQ 等于

≠ NE 不等于

> GT 大于

< LT 小于

≥ GE 大于或等于

≤ LE 小于或等于

例:#I = #j 即#I EQ #J

3.2 逻辑函数之二进制函数

#I=#J AND #k(与,逻辑乘)

#I=#J OR #k(或,逻辑加)

#I=#J XOR #k(非,逻辑减)

4.三角函数

#I=SIN[#j] 正弦

#I=COS[#j] 余弦

#I=TAN[#j] 正切

#I=ASIN[#j]反 正弦

#I=ACOS[#j]反 余弦 #I=ATAN[#j]

5.四舍五入函数

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

#I=FIX[#j] 上取整

反正切

#I=FUP[#j] 下取整

6.辅助函数

#I=SQRT[#j]平方根

#I=ABS[#j] 绝对值

#I= LN [#j] 自然对数

#I= EXP [#j] 指数函数

7.变换函数 #I=BIN[#j] BCD→BIN(十进制转二进制)

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

8.转移和循环

1〉.无条件的转移 格式: GOTO 1; GOTO #10;

2〉.条件转移1 格式: IF[<条件式>] GOTO n

条件式:例:#j=#k用 #j EQ #k 表示,即 IF[#j EQ #k] GOTO n

3〉.条件转移2 格式: IF[<条件式>] THEN #I

例:IF[#j EQ #k] THEN #a=#b

4〉.循环 格式:WHILE [<条件式>] DOm,(m=1、2、3)

N10~~~~~~~~~

N20~~~~~~~~~~~~

ENDm(上下两个m只能为1、2、3且必须相

同,这样才能够成一段程序的循环)

1. 说明 1)角度单位为度 例:90度30分为90.5度

2)ATAN函数后的两个边长要用“1”隔开 例:#1=ATAN[1]/[-1]时,#1为了35.0

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

例:设#1=1.2345,#2=2.3456,设定单位1μm

G91 X-#1;X-1.235 X-#2 F300;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 GOTO→GO

6)优先级 函数→乘除(*,1,AND)→加减(+,-,OR,XOR)例:#1=#2+#3*SIN[#4];

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

转移与循环指令

第五篇:宏程序加工教案

《数控铣加工技术》教案

宏程序加工实例

一、宏指令编程

1宏变量及常量(1)宏变量

#0~#49当前局部变量 #50~#199全局变量

#200~#249 0层局部变量 #250~#299 1层局部变量 #300~#349 2层局部变量 #350~#399 3层局部变量 #400~#449 4层局部变量 #450~#499 5层局部变量 #500~#549 6层局部变量 #550~#599 7层局部变量

#600~#699刀具长度寄存器H0~H99 #700~#799刀具半径寄存器D0~D99 #800~#899刀具寿命寄存器

#1000“机床当前位置X”#1001“机床当前位置Y”#1002“机床当前位置Z” #1003“机床当前位置A”#1004“机床当前位置B”#1005“机床当前位置C” #1006“机床当前位置U”#1007“机床当前位置V”#1008“机床当前位置W” #1009保留#1010“程编机床位置X”#1011“程编机床位置Y”

#1012“程编机床位置Z”#1013“程编机床位置A”#1014“程编机床位置B” #1015“程编机床位置C”#1016“程编机床位置U”#1017“程编机床位置V” #1018“程编机床位置W”#1019保留#1020“程编工件位置X”

#1021“程编工件位置Y”#1022“程编工件位置Z”#1023“程编工件位置A” #1024“程编工件位置B”#1025“程编工件位置C”#1026“程编工件位置U” #1027“程编工件位置V”#1028“程编工件位置W”#1029保留 53 #1030“当前工件零点X”#1031“当前工件零点Y”#1032“当前工件零点Z” #1033“当前工件零点A”#1034“当前工件零点B”#1035“当前工件零点C” #1036“当前工件零点U”#1037“当前工件零点V”#1038“当前工件零点W”

《数控铣加工技术》教案

#1039保留#1040“G54零点X”#1041“G54零点Y”

#1042“G54零点Z”#1043“G54零点A”#1044“G54零点B” #1045“G54零点C”#1046“G54零点U”#1047“G54零点V” #1048“G54零点W”#1049保留#1050“G55零点X”

#1051“G55零点Y”#1052“G55零点Z”#1053“G55零点A” #1054“G55零点B”#1055“G55零点C”#1056“G55零点U” #1057“G55零点V”#1058“G55零点W”#1059保留

#1060“G56零点X”#1061“G56零点Y”#1062“G56零点Z” #1063“G56零点A”#1064“G56零点B”#1065“G56零点C” #1066“G56零点U”#1067“G56零点V”#1068“G56零点W” #1069保留#1070“G57零点X”#1071“G57零点Y”

#1072“G57零点Z”#1073“G57零点A”#1074“G57零点B” #1075“G57零点C”#1076“G57零点U”#1077“G57零点V” #1078“G57零点W”#1079保留#1080“G58零点X”

#1081“G58零点Y”#1082“G58零点Z”#1083“G58零点A” #1084“G58零点B”#1085“G58零点C”#1086“G58零点U” #1087“G58零点V”#1088“G58零点W”#1089保留

#1090“G59零点X”#1091“G59零点Y”#1092“G59零点Z” #1093“G59零点A”#1094“G59零点B”#1095“G59零点C” #1096“G59零点U”#1097“G59零点V”#1098“G59零点W” #1099保留#1100“中断点位置X”#1101“中断点位置Y”

#1102“中断点位置Z”#1103“中断点位置A”#1104“中断点位置B” #1105“中断点位置C”#1106“中断点位置U”#1107“中断点位置V”

#1108“中断点位置W”#1109“坐标系建立轴”#1110“G28中间点位置X”

#1111“G28中间点位置Y”#1112“G28中间点位置Z”#1113“G28中间点位置A” #1114“G28中间点位置B”#1115“G28中间点位置C”#1116“G28中间点位置U” #1117“G28中间点位置V”#111“8G28中间点位置W”#1119“G28屏蔽字” #1120“镜像点位置X”#1121“镜像点位置Y”#1122“镜像点位置Z” #1123“镜像点位置A”#1124“镜像点位置B”#1125“镜像点位置C” #1126“镜像点位置U”#1127“镜像点位置V”#1128“镜像点位置W” #1129“镜像屏蔽字”#1130“旋转中心(轴1)”#1131“旋转中心(轴2)” #1132“旋转角度”#1133“旋转轴屏蔽字”#1134保留

#1135“缩放中心(轴1)”#1136“缩放中心(轴2)”#1137“缩放中心(轴3)” #1138“缩放比例”#1139“缩放轴屏蔽字”#1140“坐标变换代码1” #1141“坐标变换代码2”#1142“坐标变换代码3”#1143保留

#1144“刀具长度补偿号”#1145“刀具半径补偿号”#1146“当前平面轴1” #1147“当前平面轴2”#1148“虚拟轴屏蔽字”#1149“进给速度指定”

《数控铣加工技术》教案

#1150“G代码模态值0”#1151“G代码模态值1”#1152“G代码模态值2” #1153“G代码模态值3”#1154“G代码模态值4”#1155“G代码模态值5 #1156“G代码模态值6”#1157“G代码模态值7”#1158“G代码模态值8”世纪星铣床数控系统(HNC-21/22M)编程说明书 54 #1159“G代码模态值9”#1160“G代码模态值10”#1161“G代码模态值11” #1162“G代码模态值12”#1163“G代码模态值13”#1164“G代码模态值14” #1165“G代码模态值15”#1166“G代码模态值16”#1167“G代码模态值17” #1168“G代码模态值18”#1169“G代码模态值19”#1170“剩余CACHE” #1171“备用CACHE”#1172“剩余缓冲区”#1173“备用缓冲区” #1174保留#1175保留#1176保留 #1177保留#1178保留#1179保留 #1180保留#1181保留#1182保留 #1183保留#1184保留#1185保留 #1186保留#1187保留#1188保留

#1189保留#1190“用户自定义输入”#1191“用户自定义输出” #1192“自定义输出屏蔽”#1193保留#1194保留(2)常量

PI:圆周率π

TRUE:条件成立(真)FALSE:条件不成立(假)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; 3赋值语句

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

《数控铣加工技术》教案

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

#3=124.0;世纪星铣床数控系统(HNC-21/22M)编程说明书 4条件判别语句IF,ELSE,ENDIF 格式(i):IF条件表达式 „ ELSE „ ENDIF 格式(ii):IF条件表达式 „ ENDIF 5循环语句WHILE,ENDW 格式:WIIILE条件表达式 „ ENDW 条件判别语句的使用参见宏程序编程举例。循环语句的使用参见宏程序编程举例。

二、宏程序编制举例 例1:G81宏程序 例2 椭圆编程程序:

a=50 b=30的一个椭圆;

弧度增量:0.1 宏程序:

%1 G54G90G17G21 M03S3000 G00X50Y0Z10 G01 Z-1 F300 #1=0 #2=50 #3=30 WHILE #1 LT 2*PI #4=#2*COS#1 #5=#3*SIN#1 G01 X[#4] Y[#5]

#1=#1+0.1 《数控铣加工技术》教案

ENDW G01 X__Y__Z100;

M30 % 例3抛物线编程: Y=0.1 *X*X %0206 G54M03S600T1D1 M03S6000 G41 X27.9 Y32 D1 #1=17.9 G01 X[#1+10] Y[0.1*#1*#1-8]

#1=#1-0.1 IF[#1GE-19.8] GOTO__ G40 G01 X__Y__ G00Z100 M30 % 例4切圆台与斜方台,各自加工3个循环,要求倾斜10°的斜方台与圆台相 切,圆台在方台之上,顶视图见图3.50。

%8002 #10=10.0;圆台阶高度

《数控铣加工技术》教案

#11=10.0;方台阶高度

#12=124.0;圆外定点的X坐标值 #13=124.0;圆外定点的Y坐标值 #101=8.0刀具半径偏置(粗加工)#102=6.5刀具半径偏置(半精加工)#103=6.0刀具半径偏置(精加工)N01 G92 X0.0 Y0.0 Z10.0 #0=0 N06 G00 X[?#12]Y[?#13];→A N07 G01 Z[?#10]M03 S600 F200;Z轴进刀,准备加工圆台 WHILE#0 LT 3;加工圆台

N[08+#0*6]G01 G42 X[?#12/2]Y[?90/2]F280.0 D[#0+101];→B N[09+#0*6]X[0]Y[?90/2];→C N[10+#0*6]G03 J[90/2];整圆加工

N[11+#0*6]G01 X[#12/2]Y[?90/2];→B’ N[12+#0*6]G40 X[#12]Y[?#13];→A’ N[13+#0*6]G00 X[-#12]Y[?#13];→A #0=#0+1;#0中数值加1 ENDW N100 Z[-#10-#11];Z轴进刀,准备加工斜方台

#2=90/SQRT[2]*COS[55*PI/180];P1点坐标(X=-#12,Y=-#13)#3=90/SQRT[2]*SIN[55*PI/180] #4=90*COS[10*PI/180];P1 P2间X增量为#4,Y增量为#5 #5=90*SIN[10*PI/180] #0=0 WHILE#0 LT 3;加工斜方台

N[101+#0*8]G01 G42 X[?#12/2]Y[?90/2]F280.0 D[#0+101];→B N[102+#0*8]X[?#2]Y[?#3];→P1 N[103+#0*8]G91 X[+#4]Y[+#5];→P2 N[104+#0*8]X[?#5]Y[+#4];→P3 N[105+#0*8]X[?#4]Y[?#5];→P4 N[106+#0*8]X[+#5]Y[?#4];→P1 N[107+#0*8]G90 X[#12/2]Y[?90/2];→B’ N[108+#0*8]G00 G40 X[?#12]Y[?#13];→A #0=#0+1 ENDW G00 X0 Y0 M05 M30 《数控铣加工技术》教案

例5要求沿直线方向钻一系列孔,直线的倾角由C65指令中的x,Y变量来决定,如图所示。

%100G54G21 M03 S1000 G90G00X1Y1Z20 G65P10 M05 M30 %10 #10=10 孔数10 #11=100 进给速度100 #12=50 长轴50 #13=25 短轴25 #14=-10 孔深10 G98G81X1Y1Z[#14]F[#11]R2 G91 WHILE[#10GT0] #10=#10-1 G81 X[#12]Y[#13]R0 ENDW M99 例6加工一椭圆,椭圆长轴为100 mm,短轴为50 mm。

《数控铣加工技术》教案

下载华中数控宏程序教案word格式文档
下载华中数控宏程序教案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数控车B类宏程序的简单入门

    数控车B类宏程序的简单入门. 一、前言 很多做数控车的朋友,看着别人都能够熟练的运用宏编程和加工,自己除了羡慕外也曾经多少次暗暗下决心决定学好宏,但苦于没有老师和实际的教......

    数控铣床椭圆形加工宏程序的编程实例

    数控铣床椭圆形加工宏程序的编程实例 实际应用中经常会遇到各种各样的椭圆形加工特征。在现今的数控系统中,无论硬件数控系统,还是软件数控系统,其插补的基本原理是相同的,只是......

    武汉华中数控股份有限公司范文

    武汉华中数控股份有限公司 【数控英才网 提供】武汉华中数控股份有限公司创立于1994年,注册资本6506万元,公司的英文全称为:Wuhan Huazhong Numerical Control co.,ltd 公司有......

    华中系统数控铣床操作步骤

    数控铣床操作步骤 华中系统: 开机:旋起机床总电闸→按下机床电源按钮→等待机床启动→旋起机床急停按钮(注意华中机床的急停按钮有两个,一个在面板上,一个在手轮上) 回零:按下回零......

    华中数控公司培训总结(朱成俊)

    华中数控公司培训总结 ------青海省湟中县职业技术学校朱成俊 2012年10月10日-2012年12月21日,我参加了华中数控公司中职骨干教师国家级培训,近三个月的学习感受颇深。既学到......

    数控铣床教案

    数控铣床加工技术 一、标题 数控铣床加工技术 二、教学目标 数控铣床加工技术实训是一门结合数控编程和零件加工的综合性实践课程。希望通过该课程的学习,培养学生的思维创新......

    数控车教案

    中级工螺纹类零件加工 1. 教学目的 通过编程和加工,巩固练习简单外圆的车削,使学生们熟练掌握三角螺纹车刀的对刀方法及螺纹加工方法、步骤。 2. 教学重点、难点 三角螺纹的......

    数控车教案

    一、教学目标: (1)理解数控车刀具的类型及各自特点; (2)掌握可转位车刀该如何合理选用; (3)掌握在使用中刀具角度对加工的影响。 二、教学重点、难点: 重点:刀具基本角度的作用 难点:可......