宏程序基础知识资料教学文案
第一章(宏的基本语法和应用)
宏程序地基础概述宏程序地分类首先我们来讲一下宏程序地分类,类和类.首先在数控车系统比较老地时候,我们系统里面有类宏,类宏格式为格式,现在已经基本淘汰.随着科技发达,系统地升级优化,现在地数控系统大多支持类宏程序,总体而言,现在类宏是一个主流发展趋势,所以接下来我们地实例讲解都以类宏程序为例.文档来自于网络搜索宏程序地概念简单来理解宏程序是什么?可以这样理解,宏程序就是利用数学公式,函数等计算方式,配合数控系统中地代码编制出地一种程序,主要加工一些像椭圆,曲线,各类大螺距螺纹和刀具路线相识地一些零件.随着科技发达,像椭圆,抛物线,等线性零件,用软件或则系统自代代码可以完成加工,而大螺距异型螺纹这类零件,软件还没达到成熟,所以我们学会宏程序在加工中可以起到一个非常大地作用.可以弥补多年来数控车对大螺距螺纹地编程难地一个提高.文档来自于网络搜索宏程序地特征.赋值在宏程序中我们通常用法最多地就是变量,比如:它就是一个变量.我们把这一过程,称为赋值.也就是说,我们把等号后面地数值,赋值给.而现在地值就等于,也可以理解为就是一个代号,用来代替数值.文档来自于网络搜索.变量和应用比如:(把数值赋值给)(把数值赋值给)(程序从上往下执行,思考一下现在地值等于多少?)解:当程序执行第一步地时候地值等于,当执行第二步地时候地值等于,当执行第三步地时候这里要注意了,刚才讲过赋值过程,是等号后面地值赋值给等号前面,所以当在第一步赋值以后,已经等于了,所以在执行第三步地时候地值应该等于,不在是第二步地了.从这里我们可以看出,当程序中有相同地变量地时候,后面地号代替前面地号.文档来自于网络搜索比如:最后结果地值因该是等于地.所以说后面地代替前面地.变量地取值范围.局部变量()什么叫局部变量,局部变量就是在局部或则可以理解为在单个程序中有效.断电以后系统自动清零..公共变量(,)公共变量和局部变量地区别在于,局部变量是在局部,或则单个程序中有效,而公共变量是指如果一个程序同时拥有主程序和子程序地情况下,在主程序中如果已经赋值,在子程序中可以不用从新赋值,可以共用.而和地区别在于,前者断电清零,而后者不会清零会一直保存在系统内部.比如:文档来自于网络搜索[]一旦赋值就将保存在系统内部,下次可以直接调用使用..系统变量()系统变量是用于我们机床系统储存一些刀补数据参数等等地东西,我们可以不用管它,不会用地,慎用)总结:一般情况下我们写程序用,当有子程序地时候我们用.宏程序中常用地计算.加法运算例如:那么地值等于.减法运算例如:那么经过计算我们地地值等于.乘法运算程序中用*号来代替乘法例如:* 那么计算出来地值等于*除法运算程序中用号来代替除法运算例如:那么经过计算地值等于()常用三角函数运算(正切)例如*[] 中括号里面是角度(正玄)例如*[] 同上(余玄)例如[]、、(反三角)(数学中地开平方地意思,和数学中根号一样)例如[] 那么计算出来地值等于()宏程序地常用符号和含义(大于)(大于或等于)(小于)(小于或等于)(等于)(不等于)(绝对值)(与)(或者)常用地语法和应用.无条件转移(表示数值)例如:此程序段地意思是当程序中执行到这一程序段地时候无条件跳转到程序段中地地方,执行后面地程序段.文档来自于网络搜索(当程序执行到这里地时候,直接跳转到那个程序段执行,跳过了那一步,所以这叫做无条件跳转,和我们一般程序中跳段功能一样)文档来自于网络搜索.有条件跳转[条件表达式]例如:[] 从这段程序当中,我们这样理解,如果中括号里面地条件满足,那么就执行后面地跳转语句,如果中括号里面条件不满足,那么不执行后面地跳转,执行后面一个程序段.文档来自于网络搜索我们简单来写一个程序:(把数值赋值给)[](首先判断中括号是不是满足条件,如果满足执行跳转,不满足执行下一步)从这个程序中我们可以发现当地时候,我们执行条件判断,我们来判断一下,现在等于,那么重括号里面就可以理解为小于,现在条件满足.所以他会执行后面跳转语句,跳转到地方继续执行)文档来自于网络搜索强制赋值语句[条件表达式](执行语句)例如:[] (我们这样来理解这个语句,如果大于,那么等于,也就是说和上面一样,中括号里面条件满足地话,执行后面语句,如果不满足,不执行后面语句.)文档来自于网络搜索写一段简单程序:(把数值赋值给)(把计算出来地值从新赋值给,也就是,现在)[](强制赋值,如果小于,那么强制让等于)我们来分析一下上面程序段,当我们执行完减法运算以后地值已经等于,那么我们在执行强制赋值语句地时候我们来判断一下中括号里面条件是不是满足,小于,条件满足,所以执行后面语句,如果不满足地时候不执行语句)文档来自于网络搜索条件判断语句[表达式](为数值,取值范围)(与开头地数值对应)例如:[]下面写一个程序段:[].这个程序当条件判断语句里面中括号里面条件满足地时候执行和中间地程序段,如果条件不满足,执行后面地程序段.文档来自于网络搜索以上介绍地语法格式用法,以系列,广数,三菱系统为例.西门子,宝源,新代等系统以说明书为准!!文档来自于网络搜索。
宏程序编程教程范文
宏程序编程教程范文一、什么是宏程序编程?宏程序是一种程序开发技术,它允许程序员在编写源代码时使用宏指令,用于执行一系列预定义的操作。
它通常用于简化重复性的工作,并提高代码的可维护性和可读性。
二、宏程序的基本语法1.定义宏指令在宏程序中,可以使用"#define"指令定义宏指令。
宏指令定义的基本语法格式如下所示:#define MACRO_NAME(parameter1, parameter2, ...) code其中,MACRO_NAME是宏指令的名称,parameter1、parameter2等是宏指令的参数,在code中可以使用这些参数。
宏指令的参数可以是任意的数据类型,如整数、字符串等。
2.调用宏指令在源代码中,可以使用宏指令进行调用。
宏指令的调用形式如下所示:MACRO_NAME(argument1, argument2, ...)其中,MACRO_NAME是宏指令的名称,argument1、argument2等是宏指令的参数,这些参数将替换宏指令定义中的参数。
三、宏程序的应用实例下面是一个简单的宏程序示例,用于计算两个数的和:#define ADD(a, b) ((a) + (b))int maiint num1 = 10;int num2 = 20;int sum = ADD(num1, num2);printf("The sum is %d\n", sum);return 0;上面的示例中,"ADD(a, b)"是一个宏指令,它的定义是将参数a和b相加。
在main函数中,调用了ADD宏指令,传入了num1和num2作为参数,它将替换成"((num1) + (num2))",最终计算出两个数的和并赋值给sum变量。
四、宏程序的优点和注意事项1.优点宏程序可以提高代码的可读性和可维护性,通过使用宏指令可以将复杂的操作封装为简单的函数,提高代码的可读性。
宏程序入门基础学习资料
宏程序入门基础学习资料其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出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内的数值赋予到#101中G65H01P#101Q#10:把10赋予到#101中H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101G65 H02 P#101 Q#102 R10G65 H02 P#101 Q10 R#103G65 H02 P#101 Q10 R20上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数值或变量号内的数值然后等于到P后面的变量号中.H03减指令;格式G65 H03 P#101 Q#102 R#103,把#102的数值减去#103的数值赋予#101G65 H03 P#101 Q#102 R10G65 H03 P#101 Q10 R#103G65 H03 P#101 Q20 R10上面4个都是减指令的格式都是把Q后面的数值或变量号内的数值减去R后面的数值或变量号内的数值然后等于到P后面的变量号中.H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的数值乘上#103的数值赋予#101G65 H04 P#101 Q#102 R10G65 H04 P#101 Q10 R#103G65 H04 P#101 Q20 R10上面4个都是乘指令的格式都是把Q后面的数值或变量号内的数值乘上R后面的数值或变量号内的数值然后等于到P后面的变量号中.H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的数值除以#103的数值赋予#101G65 H05 P#101 Q#102 R10G65 H05 P#101 Q10 R#103G65 H05 P#101 Q20 R10上面4个都是除指令格式都是把Q后面的数值或变量号内的数值除以R后面的数值或变量号内的数值然后等于到P后面的变量号中.(余数不存,除数如果为0的话会出现112报警)三角函数指令:H31 SIN正玄函数指令:格式G65 H31 P#101 Q#102 R#103;含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样Q和R后面也可以直接写数值.H32 COS余玄函数指令:格式G65 H32 #101 Q#102 R#103;含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*COS#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样Q和R后面也可以直接写数值.H33和H34本来应该是TAN 和ATAN的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么?开平方根指令:H21;格式G65 H21 P#101 Q#102 ;意思是把#102内的数值开了平方根然后存到#101中(这个指令是非常重要的如果在车椭圆的时候没有开平方跟的指令是没可能用宏做到的.无条件转移指令:H80;格式:G65 H80 P10 ;直接跳到第10程序段有条件转移指令:H81 H82 H83 H84 H85 H86 ,分别是等于就转的H81;不等于就转的H82;小于就转的H83;大于就转的H84;小于等于就转的H85;大于等于就转的H86;格式:G65 H8x P10 Q#101 R#102;将#101内的数值和#102内的数值相比较,按上面的H8x的码带入H8x中去,如果条件符合就跳到第10程序段,如果不符合就继续执行下面的程序段.用户宏程序能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。
数控课教案宏程序应用
数控课教案-宏程序应用一、教学目标1. 了解宏程序的定义和作用。
2. 掌握宏程序的编写方法和步骤。
3. 能够运用宏程序进行数控加工。
二、教学内容1. 宏程序的概念:介绍宏程序的定义和作用,解释宏程序在数控加工中的应用。
2. 宏程序的编写方法:讲解宏程序的编写方法和步骤,包括宏定义、宏调用和宏参数的设置。
3. 宏程序的应用实例:通过实例讲解如何运用宏程序进行数控加工,包括宏程序的调用和参数的赋值。
三、教学方法1. 讲授法:讲解宏程序的概念、编写方法和应用实例。
2. 示范法:演示如何编写宏程序并进行数控加工。
3. 练习法:让学生通过实际操作练习编写和应用宏程序。
四、教学准备1. 教学课件:制作课件,包括宏程序的概念、编写方法和应用实例的讲解。
2. 数控机床:准备一台数控机床,安装好相应的数控系统。
3. 练习材料:准备一些练习题和实例,让学生进行实际操作练习。
五、教学过程1. 导入:通过讲解宏程序在数控加工中的应用,引起学生对宏程序的兴趣。
2. 讲解宏程序的概念:介绍宏程序的定义和作用,解释宏程序在数控加工中的应用。
3. 讲解宏程序的编写方法:讲解宏程序的编写方法和步骤,包括宏定义、宏调用和宏参数的设置。
4. 示范宏程序的应用:通过实例讲解如何运用宏程序进行数控加工,包括宏程序的调用和参数的赋值。
5. 学生练习:让学生通过实际操作练习编写和应用宏程序。
6. 总结和反馈:对学生的练习进行点评和指导,解答学生的问题,总结宏程序的应用方法和技巧。
教学反思:在教学过程中,要注意引导学生理解和掌握宏程序的概念和作用,讲解清晰、示范到位,让学生能够通过实际操作练习编写和应用宏程序。
要及时解答学生的问题,给予学生足够的指导和支持,帮助他们掌握宏程序的应用方法和技巧。
六、教学评估1. 课堂问答:通过提问的方式检查学生对宏程序概念的理解和掌握程度。
2. 编写练习:布置编写宏程序的练习题,检查学生对宏程序编写方法的掌握。
宏程序 文档
FANUCj加工中心宏程序(2012-06-02 10:32:17)分类:加工中心秘籍标签:加工中心数控铣宏程序培训材料一. 什么是宏程序?用变量的方式进行数控编程三. 变量#1~#33在宏程序中储存数据,在程序中对其赋值。
赋值是将一个数据赋予一个变量。
例如#1=0,表示#1的值就是0,其中#1代表变量,#是变量符号,0就是给变量#1赋的值。
例如G0 X0 Y0;#1=100 ; #1=50;G01 X100 F500 ;G0 X0 Y0;#2=50;G01 X#1 F500;G0 X0 Y0 ;G01 X[#1+#2] F500;四. 变量之间的运算变量之间可以进行加,减,乘,除函数等各种运算例如#1=60;#2=SIN#1;运算顺序和一般数学上的定义相同例如#1=#2+3*SIN#4括号嵌套最里层的括号优先例如#6=COS[[[#5+#4]*#3+#2]*#1]比较难理解的一种情况#1=10;G0 X#1 Y0;#1=#1+1;G0 X#1 Y0;五. 转移和循环在程序中使用GOTO和IF可以改变程序执行顺序1. GOTO 语句—--无条件转移例如G0 X0 Y0;G01 X100 Y100 F100;X500;GOTO 01;Y500;N01 X550;Y550;G0 Z200;2. IF语句1).IF[条件表达式]GOTO n如果指定的表达式满足,则转移到标有顺序号n 的程序段,如果不满足指定的条件表达式,则顺序执行下一个程序段。
例如IF[#1 GT 100] GOTO 01;G0 X0 Y0;N01 X200;典型例子#1=0;#2=1;N01 IF[#2 GT 100] GOTO 02;#1= #1+#2;#2= #2+#1;GOTO 01;N02 M30;3.循环(WHILE语句)在WHILE后制定一个条件表达式,当指定条件满足时,则执行从DO到END之间的程序,否则,转到END后的程序段例如#2=10;#3=20;WHILE[#2 LT #3] DO01;#2=#2-1;END01;实例运用O2012(螺旋铣孔)#1=50;圆孔直径#2=40;圆孔深度#3=30;刀具直径#4=0;Z坐标设为自变量,赋值为0 #17=1; Z坐标每次递增量#5=[#1-#3]/2;刀具回转直径S1000 M3;G54 G90 G00 X0 Y0 Z30;G00 X#5Z[-#4+1];G01 Z-#4 F200;WHILE[#4 LT #2] DO01;#4= #4+#17;G03 I-#5 Z-#4 F1000;END 01;G03 I-#5;G01 X[#5-1];G0 Z100;M30;O2013(群孔)#1=40;最内圈孔圆心所在直径#2=30;每列孔间隔#3=12;孔的列数#4=10; 空间隔#5=6;每列孔个数S1000 M3;G54 G90 G00 X0 Y0 Z30G16;#6=1;WHILE[#6 LE #3] DO 01;#7=1;WHILE[#7 LE #5] DO 02;#8= #1/2+[#7-1]*#4#9= [#6-1]*#2;G98 G81 X#8 Y#9 Z-60 R3 F100;#7=#7+1;END 02;#6=#6+1;END 01;G80 Z30;G15;M30;O2013(可变式深孔钻)#1=3;每次进给钱的缓冲高度#2=20;第一次钻深#3=0.5;递减比例#4=35;孔总深的#5=5.;R点M3 S1000;G54 X0 Y0;G0 Z#5;WHILE[#4 GT 0] DO 01;G01 Z-#2 F1000;G0 Z#5;Z[-#2+#1];#7=#2*#3;#2=#2+#7;#4=#4-#2;END 01;G0 Z100;M30;O2014(铣平面)#1=1000;工件长度#2=1000;工件宽度#3=10;刀具直径#4=-#2/2;Y设为自变量,初始值赋值为-#2/2 #14=0.8*#3; 递增量#5=[#1+#3]/2+2.; 开始X坐标S1000 M3;G54 G90 G00 X0 Y0 Z30;X#5 Y#4;Z0;WHILE[#4 LT #2/2] DO01;G01 X-#5 F1000;#4= #4+#14;Y#4;X#5;#4= #4+#14;Y#4;END 01;G0 Z30;M30;另一种编程方式#1=1000;工件长度#2=1000;工件宽度#3=10;刀具直径#4=-#2/2;Y设为自变量,初始值赋值为-#2/2 #14=0.8*#3; 递增量#5=[#1+#3]/2+2.; 开始X坐标S1000 M3;G54 G90 G00 X0 Y0 Z30; X#5 Y#4;Z0;N01 G01 X-#5 F1000;#4= #4+#14;Y#4;X#5;#4= #4+#14;Y#4;IF [#4 LT #2/2] GOTO 01; G0 Z30;M30,O2015(铣三角形)#1=1000; 三角形高#2=0.;#3=1. X方向减增量#4=1.5; Z方向递减量G43 Z53 H01;WHILE [#1 GT 0] DO 01;G01 Z#1 F1000;X#2;Z[#1-#4];X[-#2-#3];#2=[#2+#3];#1=#1-2*#4;END 01;G0 Z300;M30;O2016(铣圆形)基本数学知识圆的方程式;标准方程X2+Y2=R2参数方程X=R*COSAY=R*SINA在宏程序中SQRT是平方根的意思,例如#12= #2,那么#1=SQRT#2 所以则有X=SQRT[R2-Y2]Y=SQRT[R2-X2]#1=50; 圆半径#4=1; 每次下降深度#6=2500; 半径的平方G43 Z60. H01;WHILE[#1 GT -50] DO 01;G01 Z#1 F2000;#7=SQRT[#6-#1*#1];X#7;#5= #1-#4;Z#5;#8=SQRT[#6-#5*#5];X-#8;#1=#1-2*#4;END 01;Z200;M30;O2017(铣椭圆)基本数学知识椭圆方程标准方程X2/A2+Y2/B2=1参数方程X=A*COSαY=B*SINα(中心在原点)其中A为长半轴B为短半轴#1=50;长半轴#2=30;短半轴#3=0.;G90 G1 X#1 Y0.;G43 Z0. H01;G01 Z-10.;WHILE[#3 GT 360] DO 01;#13= #1*COS#3;#14= #1*SIN#3;G01 X#13 Y#14 F1000;#3= #3+1.;END 01;G0 Z100.;M30;O2018(铣球)M3 S1000;G0 G54 G90 X0 Y0 ;#1=10;#4=90;G43 Z50 H21;Z[#1+1];WHILE[#4 GT -90] DO 01; #5= #1*SIN#4;#6= #1*COS#4;G0 X#6 Y0;GO Z#5 F1000;G03 I-#6;#4= #4-2;END 01;G0 Z200.;M30;O2019(两个圆柱垂直相接)#1=35.;#10=1444;#11=3364#2=SQRT[#10-#1*#1];#3=SQRT[#11-#2*#2];G54 G90 G80 X-#3 Y#2;G43 Z40 H12;G01 Z#1 F1000;WHILE[#1 GT 0] DO01;G01 Z#1;#2=SQRT[#10-#1*#1];#3=SQRT[#11-#1*#1];G02 X-#3 Y-#2 R-58 F1000; #1= #1-2;G01 Z#1 F1000;#2=SQRT[#10-#1*#1];#3=SQRT[#11-#2*#2];G03 X-#3 Y#2 R-58 F1000;#1= #1-1;END 01;G0 Z100;M30;Everyone have a good future加工中心编程实例(转)(2008-04-26 19:59:34)转载▼标签:杂谈对下图进行宏程序编制:(60 分钟编写,30 分钟讲解)【教学内容】:1 华中数控系统的宏指令基本上就和高级语言(如FOXBASE、BASIC等)一样直接采用数学表达式的形式,比较直观、容易理解。
宏程序加工教案
项目九应用宏程序零件加工教学目标知识目标:1.宏程序的基础知识;2.能使用坐标系旋转指令编制程序;3.能使用椭圆参数方程编制程序和铣削工件;4.能使用条件跳转语句编制程序;5.能使用刀具半径补偿功能对内、外轮廓进行编程和铣削;能力目标:1.宏程序与坐标系旋转指令的综合编程;2.编制椭圆参数方程和条件跳转语句编制程序;3.数控铣床或加工中心的基本操作与铣削工件;4.零件的质量检测;情感目标:1.通过工件制作,学生体验成功的喜悦,感受软件和机器的综合魅力,从而提高学生专业课的学习兴趣;2. 通过任务驱动的方法逐步完成项目,培养学生发现和分析问题的能力;3. 通过分工协作,加强团队合作精神;教学重点与难点重点:1. 加工中心的基本操作及与数控铣床的区别;2. 加工中心机床的零件加工程序编制与课题件的制作;难点:1. 加工中心换刀功能指令的应用;2. 加工中心机床的操作;教学目的1.了解数控简化编程方法的种类和编程结构;2.掌握加工中心的应用特点、换刀功能和程序结构与编制方法;教学方法总体方法:任务驱动法具体方法:讲述法、引导文法、示范教学法学时、教具学时:10学时教具:数控铣床或加工中心、刀具、夹具、量具和工件等;教学过程一、项目呈现图7—1 零件图引导学生进行该零件的结构及工艺分析,引出课题的实现方法;二、项目分析本项目零件的图形基本结构是上部为一椭圆实体,下部是一矩形且四角为圆弧或倒角形状,中间一个键槽和一个沉孔,只需要一把刀具加工;其椭圆的程序编制要求一般程序结构不能满足加工要求,故采用宏程序结构编程,同时应用旋转功能指令;设备选用可采用数控铣床或加工中心,都能完成此零件的加工;本项目主要阐述宏程序的编制与应用,使学生初步掌握此编程方法的应用,能够解决实训中遇到的特殊形状或公式曲线的编程问题;三、知识学习1、宏程序的基础知识1 系统变量宏程序提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量;2系统变量的表示方法用变量符号“”和后面的变量号表示;例如:1、8、33、501等;3系统变量的类型变量号变量类型功能0空变量该变量总为空,不能赋给该变量任何值1~33局部变量只能用在宏程序中储存数据,例如,运算结果;当断电时,局部变量被初始化为空;调用宏程序时,自变量对局部变量赋值100~199 500~999公共变量在不同的宏程序中的意义相同;当断电时,变量100~199初始化为空;变量500~999的数据保存1000~系统变量用于读和写CNC的各种数据;例如,刀具的当前位置和补偿值4系统变量的赋值把常数或表达式的值送给一个宏变量称为赋值;赋值形式:用赋值号“=”表示,可以给变量赋具体数值、函数、变量、变量表达式等;例如:2=45 ;3=SIN30 ;4=1+1 ;5=6+7 ;等;5系统变量的引用在地址后指定变量号即可引用其变量值;当用表达式制定变量时,要把表达式放在方括号中;例如:G01 X1+2 F60 ;6程序应用①图示:图5—14②夹具:机用台钳刀具:Ф4球头刀③加工程序:O0001;G54 G90 G00 X0 Y0 Z100. ;S2000 M03 ;G00 Z5. ;图7—2 零件图G01 Z0 F100 ;1=0 ;2=2 ;N60 3=- ;刀具下的深度4=2++1 ;5=SQRT2+2+-44 ;圆半径的变化G01 X5 Y0. Z1 F1500 ;G02 I-5 ;1= ;每次下0.02mm深IF 1GE3 GOTO60 ;如果1大于3是从N60句循环图7—3 宏程序加工的效果图G00 Z100. ;M05 ;M30 ;2.操作要点1加工准备1 详阅零件图的尺寸;2 编制加工程序,输入程序并选择该程序;3 用平口虎钳装夹工件,伸出钳口10mm左右,用百分表找正;4 安装寻边器,确定工件零点为坯料上表面的中心,设定零点偏置;5 安装ø20mm粗立铣刀并对刀,设定刀具参数,选择自动加工方式;2粗铣外轮廓粗铣外轮廓,留0.50mm单边余量如图7-4所示;图7—4粗铣外轮廓图7—5铣椭圆轮廓3铣椭圆轮廓1 选择程序,粗铣椭圆轮廓,留0.50mm单边余量;2 安装ø20mm精立铣刀并对刀,设定刀具参数,半精铣椭圆,留0.10mm单边余量;3 测量椭圆尺寸,调整刀具参数,精铣椭圆轮廓至要求尺寸;4 测量外轮廓尺寸,调整刀具参数,精铣外轮廓至要求尺寸,如图7-5所示;4加工ø20孔1 安装中心钻并对刀,设定刀具参数,选择程序,钻中心孔;2 安装ø19mm钻头并对刀,设定刀具参数,钻通孔;3 安装镗刀并对刀,设定刀具参数,粗镗孔,留0.50mm单边余量;4 调整镗刀,半精镗孔,留0.10mm单边余量;5 测且内孔尺寸,调整镗刀,精镗孔至要求尺寸,如图7-6所示;图7—6加ø20工孔图7—7铣键槽5铣键槽I安装øl2mm粗立铣刀并对刀,设定刀具参数,选择程序,粗铣键槽,留0.50mm单边余;2安装øl2mm精立铣刀并对刀,设定刀具参数,半精铣键槽,留0.10mm单边余量;3测量键槽尺寸,调整刀具参数,精铣键槽至要求尺寸,如图7-7所示;3.数控加工工序卡片工厂数控加工工序卡片产品名称或代号零件名称材料:铝零件图号工序号程序编号夹具名称夹具编号使用设备车间台钳工步号工步内容刀具号刀具规格/mm主轴转速r/min进给速度mm/min背吃刀量/mm备注1 粗铣外轮廓T01 ø20 3000 300 22 粗铣椭圆轮廓T01 ø20 3000 300 23 钻中心孔T02 A 800 1004 钻通孔T03 ø19 800 100 25 粗镗留余量T046 半精镗余量T047 精镗T058 铣键槽T05 ø10 3000 300 19 精铣外轮廓T07 ø8 3500 20010 精铣椭圆轮廓T07 ø8 3500 20011 精铣键槽T07 ø8 3500 200编制审核第页共页4.注意事项I 使用寻边器确定工件零点时应采用碰双边法;2 铣键槽时,在ø20mm孔中心垂直进刀,避免立铣刀垂直切削工件;3 ø20孔的正下方不能放置垫铁,并应控制钻头的进刀深度,以免损坏平口虎钳或刀具; 5.参考程序椭圆板编程O0701 ;粗铣外轮廓G40 G80 G90 G54 G17 ;S1200 M03 ;G00 X-50. Y-50. ;G00 Z10. ;G01 Z0 F300 ;M98 P0702 L4 ;G00 Z200. ;M05 ;M30 ;O0702 ;G91 G01 Z-2. ;G90 G42 G01 X-40. D01 ;G01 X20. ;X40. Y20. ;Y28. ;G03 X28. Y40. R12. ;G01 X-20. Y40. ;X-40. Y20. ;Y-28. ;G03 X-28. Y-40. R12. ;G40 G01 X-50. Y-50. ;M99 ;O703 ;铣椭圆轮廓G17 G40 G80 G90 G54 ;S1000 M03 ;G68 X0 Y0 R45. ;15=0N2 G65 P704 L1 A40 B25 C0 D360 F200 ;15=15-1;IF15GE-4 GOTO 2 ;G91 G28 Y0 ;G69 ;G00 Z200. ;M05 ;M30 ;O704 ;G00 X40 Y0 ;Z10. ;G01 Z0 F200 ; G91 Z-1. ;3=0 ;N1 G90 24=1COS3 ;25=2SIN3 ;G01 X24 Y25 F9 ;3=3+1;IF3LE7 GOTO 1 ;M99 ;O0705 ;加ø20工孔G40 G80 G90 G54 G17 ;S1200 M03 ;G00 X0 Y0 ;G00 Z10. ;G98 G83 X0 Y0 Z-26. Q8. R5. F100 ;G00 Z200. ;M05 ;M30 ;O0706 ;铣键槽G17 G54 G90 G40 G80 ;S1200 M03 ;G68 X0 Y0 R45. ;G00 Z10. ;G01 Z0 F200 ;M98 P707 L2 ;G00 Z200. ;M05 ;M30 ;O707 ;G91 G01 Z-2. ;G90 G02 G01 X-10. D02 ;G02 X-10. Y8. R4. ;G01 X17. ;G02 X17. Y-8. R8. ;G01 X-17. ;G01 X17. Y8. R8. ;G01 X10. ;G40 X0 Y0 ;M99 ;6.坯料图及工、量、刃具清单7.工艺准备:1设备:VMC850E数控铣床;2夹具:平口台钳;3刀具:Ф12高速钢立铣刀4量具:数显卡尺 0~200 一把;千分尺50~75、75~100 各一把;5 工具:标准垫板、塑胶手锤、扳手等;6切削用量:①背吃刀量:粗加工留0.5mm余量;半精加工留0.2mm余量;精加工需经测量后确定补偿值;②主轴转速:查表表4—2参照铸铁的参数,切削速度取V=23m/min;则n=1000V/πd=1000×23/×12=;取n=600r/min;在实际加工中根据切削状态调整以获取最佳的转速值;③走刀量:查表表4—1参照铸铁的参数,粗加工选取0.15mm/齿,精加工选取0.12mm/齿;根据求得的转速值:粗加工的走刀量经计算得180mm/min,精加工为140mm/min;7编程原点:工件上表面中心;8.工艺方案:1采用径向补偿功能:①粗加工补偿值为6.5mm ;②半精加工补偿值为6.2mm ;③需测量轮廓尺寸后再确定其补偿值;2加工顺序:①外轮廓;椭圆的编程与加工同时采用旋转简化编程方法②内轮廓;③内深圆;3应用G54确定工件坐标系;五、项目实施一数控铣床的基本操作1. 开机、回参考点1开机:总电源→“power”→释放“EMG”;2回参考点:“REF”→分别按“+Z”、“+Y”、“-X”方向键机械原点方向;3各轴回移:可分别选择:“HANDLE”、“JOG”或“MDI”状态下编辑程序段,移动各坐标轴向坐标系内移动;2. 对刀选用偏心找正器确定X、Y轴向工件的原点,选用Z轴设定器确定Z轴原点;3. 输入程序“EDIT”→“PROG”→分别应用:“ALTER”替换键、“INSERT”插入键、“DELETE”删除键和“CAN”取消键输入、编辑和修改程序;4. 切削加工确定补偿值,注意加工状态,及时调整切削参数,使加工处于最佳状态;5. 技能训练结束①工件清理、除毛刺等;②“5S”整理、整顿、清洁、清扫、确认安全状况;③关机:将工作台移至坐标系的中间位置,按“EMG”急停开关,关闭“power”动力电源,最后拉下总电源开关;六、质量检测零件综合加工评分表实训课题 零件 零件图号图6—1 序号 考核 内容考核要求 配分评分标准学生自评分 教师评分 得分 1 椭圆长轴80012.0mm10 超差不得分 2 短轴50010.0-mm 10 超差不得分 3 高度4075.00+mm6 超差不得分 44升高一级扣2分5 轮廓2-800074.0-mm 12 超差不得分 6 高度4075.00+mm6 超差不得分7 倒角20×45°2处4 超差不得分 8 2-R12 2 超差不得分 94升高一级扣2分10 孔ø10033.00+mm 8 超差0.01mm 扣2分 11 6升高一级扣2分 12 内槽16043.00+mm 6 超差不得分 132升高一级扣2分 14 形位 公差 3 超差不得分 3 超差不得分 3 超差不得分3 超差不得分 工艺 加工工艺制定正确4 工艺不合理扣2分程序 正确简单明确规范4程序不正确不得分 14安全文明生产按国家颁布的安全生产规定标准评定1.违反有关规定酌情扣1~10分,危及人身或设备安全者终止考核2.场地不整洁,工、夹、刀、量具等放置不合理的酌情扣1~5分合计100七、项目评价教学评析:本项目重点阐述宏程序编程的方法和椭圆类零件加工的基本工艺流程,通过宏程序的结构与应用反应了对特殊轮廓曲线或形状的程序处理方法,丰富了专业知识和应用能力;宏程序典型实例的应用,又使学生了解了一种新的编程方法,拓展了编程的思路和解决特殊零件形状编程的手段;丰富了学生的专业知识和技能;。
宏程序之运算符教案
宏程序之运算符教案第一章:引言1.1 教学目标让学生了解宏程序的概念和作用。
让学生熟悉宏程序的基本语法和结构。
1.2 教学内容宏程序的定义和特点。
宏程序的声明和调用。
宏程序的参数传递和局部变量。
1.3 教学方法采用讲授法和案例分析法,通过讲解和实例让学生理解和掌握宏程序的基本概念和用法。
1.4 教学步骤引入宏程序的概念,解释宏程序的定义和作用。
讲解宏程序的基本语法和结构,包括声明和调用的方式。
通过案例分析,展示宏程序的参数传递和局部变量的使用。
第二章:算术运算符2.1 教学目标让学生熟悉宏程序中的算术运算符及其用法。
2.2 教学内容宏程序中的算术运算符的种类和功能。
算术运算符的优先级和结合性。
算术运算符的使用方法和注意事项。
2.3 教学方法采用讲授法和案例分析法,通过讲解和实例让学生理解和掌握算术运算符的用法。
2.4 教学步骤介绍宏程序中的算术运算符的种类和功能。
讲解算术运算符的优先级和结合性。
通过案例分析,展示算术运算符的使用方法和注意事项。
第三章:关系运算符3.1 教学目标让学生熟悉宏程序中的关系运算符及其用法。
3.2 教学内容宏程序中的关系运算符的种类和功能。
关系运算符的优先级和结合性。
关系运算符的使用方法和注意事项。
3.3 教学方法采用讲授法和案例分析法,通过讲解和实例让学生理解和掌握关系运算符的用法。
3.4 教学步骤介绍宏程序中的关系运算符的种类和功能。
讲解关系运算符的优先级和结合性。
通过案例分析,展示关系运算符的使用方法和注意事项。
第四章:逻辑运算符4.1 教学目标让学生熟悉宏程序中的逻辑运算符及其用法。
4.2 教学内容宏程序中的逻辑运算符的种类和功能。
逻辑运算符的优先级和结合性。
逻辑运算符的使用方法和注意事项。
4.3 教学方法采用讲授法和案例分析法,通过讲解和实例让学生理解和掌握逻辑运算符的用法。
4.4 教学步骤介绍宏程序中的逻辑运算符的种类和功能。
讲解逻辑运算符的优先级和结合性。
数控车FANUC系统宏程序教案
数控车FANUC系统宏程序教案第一章:数控车床与FANUC系统简介1.1 数控车床的定义与发展历程1.2 FANUC系统的组成与功能1.3 宏程序的概念与作用第二章:FANUC系统宏程序的基本语法2.1 宏程序的定义与结构2.2 宏变量及其定义方法2.3 宏程序的调用与执行第三章:数控车床宏程序的编程方法3.1 数控车床宏程序的编程步骤3.2 常用数控车床宏程序编程实例3.3 宏程序编程注意事项第四章:FANUC系统宏程序的功能扩展4.1 用户宏程序的创建与调用4.2 宏程序参数传递与功能扩展4.3 宏程序与外部程序的交互第五章:数控车床宏程序在实际加工中的应用5.1 宏程序在复杂零件加工中的应用5.2 宏程序在提高加工效率中的应用5.3 宏程序在加工误差补偿中的应用第六章:用户宏程序的创建与编辑6.1 创建用户宏程序的基本步骤6.2 使用FANUC系统的宏编辑功能6.3 保存和管理用户宏程序第七章:宏程序的参数与传递7.1 宏参数的定义与使用7.2 参数传递的原理与方法7.3 利用参数进行加工策略的调整第八章:宏程序的自适应与优化8.1 宏程序的自适应功能介绍8.2 宏程序优化原则与方法8.3 提高宏程序执行效率的技巧第九章:宏程序在复杂零件加工中的应用案例9.1 复杂零件加工挑战与解决方案9.2 宏程序在复杂零件加工中的应用实例分析第十章:宏程序编程与调试技巧10.1 宏程序编程常见问题与解决方法10.2 宏程序调试的步骤与技巧10.3 宏程序的优化与升级策略重点和难点解析一、数控车床与FANUC系统简介难点解析:理解数控车床的发展脉络,掌握FANUC系统的基本组成和功能,以及宏程序在数控车床加工中的重要性。
二、FANUC系统宏程序的基本语法难点解析:掌握宏程序的编写规则,理解宏变量的使用方法,以及如何正确调用和执行宏程序。
三、数控车床宏程序的编程方法难点解析:学会编写数控车床宏程序,通过实例了解宏程序在实际加工中的应用,注意编程过程中的常见问题。
宏程序基础知识资料
第一章宏程序基础知识第一节常量与变量的含义常量与变量的含义及编程案例数控程序中含有变量的程序称为宏程序。
虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。
常量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。
变量使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100G01 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未定义的变量当变量值未定义时,这样的变量成为空变量。
宏程序的基本概念知识讲解
宏程序的基本概念知识讲解精品文档数控铣削宏程序编程(一)一、宏程序的基本概念1、宏程序的定义以一组子程序的形式存储并带有变量的程序称为用户宏程序,简称宏程序;调用宏程序的指令称为“用户宏程序指令”,或宏程序调用指令(简称宏指令)。
宏程序与普通程序相比较,普通的程序字为常量,一个程序只能描述一个几何形状,所以缺乏灵活性和适用性。
而在用户宏程序的本体中,可以使用变量进行编程,还可以用宏指令对这些变量进行赋值、运算等处理。
通过使用宏程序能执行一些有规律变化(如非圆二次曲线轮廓)的动作。
宏程序分A 类和B类两种,FANUCi系统采用B类宏程序进行编程。
2、宏程序中的变量在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址,为了使程序更加具有通用性、灵活性,故在宏程序中设置了变量。
1)、变量的表示:一个变量由符号“#”和变量序号组成,如:#1(1=1,2,……)。
此外,变量还可以用表达式进行表示,但其表达式必须全部写入方括号“ []”中。
例:#100,#500,#5,#[#1+#2+#10];2)、变量的引用:将跟随在地址符后的数值用变量来代替的过程称为引用变量。
同样,引用变量也可以用表达式。
例G01X#100 Y—#101F[#101+#103];精品文档精品文档当#100=100.0、#101=50.0、#103=80.0时,上例即表示为G01 X100.0Y50.0 F130;3)、变量的种类:变量分为局部变量、公共变量(全局变量)和体系变量三种。
在A、B类宏步伐中,其分类均相同。
A、局部变量(#1〜#33)是在宏步伐中局部使用的变量。
当宏步伐C调用宏步伐D而且都有变量#1时,由于变量#1服务于分歧的局部,所以C中的#1与D中的#1不是同一个变量,因而可以赋予分歧得不偿失值,且互不影响。
封闭电源时,局部变量被初始化成“空”。
宏调用时,自变量分派给局部变量。
B、公共变量(#100〜# 1 49/# 1 99;#500〜#549/#599)贯穿于整个程序过程。
宏程序之运算符教案
宏程序之运算符教案教学目标:1. 理解宏程序的概念和作用。
2. 掌握宏程序中的运算符及其用法。
3. 能够运用宏程序进行简单的数学运算。
教学内容:一、宏程序简介1. 宏程序的概念2. 宏程序的作用3. 宏程序的优点二、运算符概述1. 运算符的概念2. 运算符的分类3. 运算符的优先级三、算术运算符1. 加法运算符2. 减法运算符3. 乘法运算符4. 除法运算符5. 取模运算符四、关系运算符1. 等于运算符2. 不等于运算符3. 大于运算符4. 小于运算符5. 大于等于运算符6. 小于等于运算符五、逻辑运算符1. 逻辑与运算符2. 逻辑或运算符3. 逻辑非运算符4. 逻辑异或运算符教学步骤:一、宏程序简介1. 引入宏程序的概念,解释宏程序的作用和优点。
2. 通过示例演示宏程序的使用方法。
二、运算符概述1. 介绍运算符的概念和分类。
2. 讲解运算符的优先级规则。
三、算术运算符1. 讲解加法运算符的使用方法。
2. 讲解减法运算符的使用方法。
3. 讲解乘法运算符的使用方法。
4. 讲解除法运算符的使用方法。
5. 讲解取模运算符的使用方法。
四、关系运算符1. 讲解等于运算符的使用方法。
2. 讲解不等于运算符的使用方法。
3. 讲解大于运算符的使用方法。
4. 讲解小于运算符的使用方法。
5. 讲解大于等于运算符的使用方法。
6. 讲解小于等于运算符的使用方法。
五、逻辑运算符1. 讲解逻辑与运算符的使用方法。
2. 讲解逻辑或运算符的使用方法。
3. 讲解逻辑非运算符的使用方法。
4. 讲解逻辑异或运算符的使用方法。
教学评估:1. 通过课堂练习,检查学生对宏程序和运算符的理解程度。
2. 布置课后作业,让学生运用宏程序进行简单的数学运算。
3. 在下一节课开始时,检查学生的作业完成情况,并进行点评。
六、宏程序的变量1. 变量的概念2. 变量的声明和赋值3. 变量的作用域4. 变量的生命周期七、宏程序的函数1. 函数的概念2. 函数的声明和定义3. 函数的调用和参数传递4. 函数的返回值八、宏程序的循环控制1. 循环控制的概念2. 循环控制语句的类型3. 循环控制语句的使用方法4. 循环控制语句的注意事项九、宏程序的条件判断1. 条件判断的概念2. 条件判断语句的类型3. 条件判断语句的使用方法4. 条件判断语句的注意事项十、宏程序的实践应用1. 宏程序在数学计算中的应用2. 宏程序在数据处理中的应用3. 宏程序在游戏开发中的应用4. 宏程序在其他领域的应用教学步骤:六、宏程序的变量1. 介绍变量的概念,讲解变量的声明和赋值方法。
数控车FANUC系统宏程序教案.doc
宏程序设计宏程序与子程序类似,对编制相同加工的操作可以使程序简化.同时宏程序中可以使用变量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。
使相同加工操作的程序更方便,更灵活。
本章以FANUC系统为例介绍宏程序设计的内容。
12.1 变量的定义宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“#”后跟变量的变量号指定。
变量可分为四种类型。
1. 空变量#0为空变量,该变量不能赋值。
2. 局部变量#1~#33为局部变量,局部变量只能在宏程序中存储数据。
当断电时局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值。
局部变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
3. 公共变量#100~#199、#500~#999为公共变量,公共变量在不同的宏程序中意义相同。
当断电时,变量#100~#199被初始化为空,变量#500~#999的数据不会丢失。
全局变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
4. 系统变量#1000~为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿值等。
5. 变量与地址(自变量)的对应关系系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变量的对应关系。
表12-2为自变量指宾II的自变量与变量的对应关系。
表12-1 自变量指定I的变量对应关系在自变量指定I中,G、L、O、N、P不能用,地址I、J、K必须按顺序使用,其它地址顺序无要求。
举例:G65 P3000 L2 B4 A5 D6 J7 K8 正确(J、K符合顺序要求)在宏程序中将会把4赋给#2,把5赋给#1,把6赋给#7,把7赋给#5,把8赋给#6举例:G65 P3000 L2 B3 A4 D5 K6 J5 不正确(J、K不符合顺序要求)1表12-2 自变量指定II的变量对应关系自变量指定II使用A、B、C和1次,使用I、J、K各10次。
宏程序教案
数控车床宏程序编程(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值或以下范围中的值:-4710-~10-或2910~29 4710,如果计算结果超出有效范围,则触发程序错误P/S报警。
2.5小数点的省略当在程序中定义的变量值时,整数值的小数点可以省略。
例如:当在定义#11=123;变量#11的实际值是123.00。
宏程序(教案)讲解
国家中职教育改革发展示范学校建设项目优质教案宏程序贵州省电子信息高级技工学校数控中心2013年5月第 1 页共16 页国家中职教育改革发展示范学校建设项目宏程序设计宏程序与子程序类似,对编制相同加工的操作可以使程序简化.同时宏程序中可以使用变量,算术和逻辑运算及转移指令,还可以方便地实现循环程序设计。
使相同加工操作的程序更方便,更灵活。
本章以FANUC系统为例介绍宏程序设计的内容。
12.1 变量的定义宏程序中使用的变量与日常生活中使用的变量不同,变量用符号“#”后跟变量的变量号指定。
变量可分为四种类型。
1. 空变量#0为空变量,该变量不能赋值。
2. 局部变量#1~#33为局部变量,局部变量只能在宏程序中存储数据。
当断电时局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值。
局部变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
3. 公共变量#100~#199、#500~#999为公共变量,公共变量在不同的宏程序中意义相同。
当断电时,变量#100~#199被初始化为空,变量#500~#999的数据不会丢失。
全局变量的数值范围10-29~1047或-1047~-10-29,如果计算结果超过该范围则发出P/S报警No.111。
4. 系统变量#1000~为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿值等。
5. 变量与地址(自变量)的对应关系系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变量的对应关系。
表12-2为自变量指宾II的自变量与变量的对应关系。
表12-1 自变量指定I的变量对应关系在自变量指定I中,G、L、O、N、P不能用,地址I、J、K必须按顺序使用,其它地址顺序无要求。
举例:G65 P3000 L2 B4 A5 D6 J7 K8 正确(J、K符合顺序要求)在宏程序中将会把4赋给#2,把5赋给#1,把6赋给#7,把7赋给#5,把8赋给#6第 1 页共16 页国家中职教育改革发展示范学校建设项目举例:G65 P3000 L2 B3 A4 D5 K6 J5 不正确(J、K不符合顺序要求)表12-2 自变量指定II的变量对应关系系统能够自动识别自变量指定I和自变量指定II并赋给宏程序中相应的变量号。
宏程序基础教程
宏程序教案一、宏程序的概述宏程序是指利用变量编制的NC程序。
它可使得编制相同加工操作的程序更方便、更容易。
用户宏程序和调用子程序完全一样。
宏程序既可以在主程序中使用,也可以当做子程序来调用。
二、变量1、变量的表示变量用变量符号“#”和和面的变量号制定。
表达式可以用来制定变量号。
此时表达时必须封闭在括号中。
例如:#1,#[#1+#2-12]2、宏程序中变量的类型变量一共有4种类型,各种变量的范围和功能见下表:变量类型变量号功能空变量#0 该变量总是空,没有值能赋给该变量用户变量#1~#33 用在宏程序中存储数据公共变量#100~#199 断电时初始化为空#500~#999 断电后数据保存,不丢失系统变量#1000~#5335 用于读写CNC的各种数据,如刀具当前位置3、变量的引用为在程序中使用变量值,在制定变量后跟变量号的地址。
当用表达式制定变量时,把表达式放在括号中。
例如:G01 X#1 F#[#2+#3]4、变量的赋值在程序中若对局部变量进行赋值时,可通过自变量地址,对局部变量进行传递。
有2种形式的自变量赋值方法。
形式1使用了除G,L,O,N和P以外的字母,每个字母对应一个局部变量。
对应关系见下表:自变量局部变量自变量局部变量自变量局部变量自变量局部变量A #1 H #11 R #18 X #24B #2 I #4 S #19 Y #25C #3 J #5 T #20 Z #26D #7 K #6 U #21E #8 M #13 V #22F #9 Q #17 W #23自变量形式2使用A,B,C各1次和I,J,K各10次对局部变量赋值,自变量2用于传递诸如三位坐标值的变量。
对应关系见下表:自变量 局部变量自变量 局部变量 自变量 局部变量 自变量 局部变量A #1 I 3 #10 I 6 #19 I 9 #28B #2 J 3 #11 J 6 #20 J 9 #29C #3 K 3 #12 K 6 #21 K 9 #30 I 1 #4 I 4 #13 I 7 #22 I 10 #31 J 1 #5 J 4 #14 J 7 #23 J 10 #32 K 1 #6 K 4 #15 K 7 #24 K 10 #33 I 2 #7 I 5 #16 I 8 #25 J 2#8J 5#17J 8#26K 2 #9 K 5 #18 K 8 #27 CNC 系统内部自动识别自变量1和2的类型,如果自变量1和2混合赋值,后指定的自变量类型有效。
数控课教案宏程序应用
数控课教案-宏程序应用一、教学目标1. 理解宏程序的概念及其在数控加工中的应用。
2. 学会编写简单的宏程序,并进行实际操作。
3. 掌握宏程序的调用和参数设置方法。
二、教学内容1. 宏程序概述宏程序的定义宏程序的作用宏程序与普通程序的区别2. 宏程序的编写宏程序的语法结构宏参数的定义与使用宏程序的调用方式3. 宏程序的应用实例圆柱体加工宏程序螺纹加工宏程序复杂形状加工宏程序4. 宏程序的调试与优化宏程序的调试方法宏程序的优化技巧5. 宏程序的实际操作宏程序的导入与调用宏参数的设置与调整宏程序的应用与验证三、教学方法1. 讲授法:讲解宏程序的基本概念、语法结构和应用实例。
2. 演示法:展示宏程序的编写和实际操作过程。
3. 实践法:让学生动手编写和调试宏程序,巩固所学知识。
四、教学环境1. 教室环境:多媒体教学设备、计算机、投影仪等。
2. 实践环境:数控机床、数控仿真软件等。
五、教学评价1. 课堂问答:检查学生对宏程序基本概念的理解。
2. 编写练习:评估学生编写和调试宏程序的能力。
3. 实际操作:考核学生运用宏程序进行数控加工的能力。
六、教学资源1. 教材:数控编程与操作教程2. 辅助材料:宏程序应用PPT、案例分析文档3. 软件工具:数控仿真软件、编程软件4. 实物教具:数控机床、示教板七、教学过程1. 导入新课:通过PPT展示宏程序在数控加工中的应用场景,激发学生兴趣。
2. 讲解概念:详细讲解宏程序的定义、作用和语法结构。
3. 案例分析:分析实际加工中的宏程序应用实例,让学生理解宏程序的优势。
4. 编程实践:引导学生动手编写简单的宏程序,并进行调试和优化。
5. 课堂互动:鼓励学生提问、分享心得,巩固所学知识。
6. 总结回顾:对本节课内容进行总结,强调宏程序在实际加工中的应用价值。
八、教学策略1. 针对不同基础的学生,调整教学难度,确保教学内容符合学生实际需求。
2. 采用循序渐进的教学方法,让学生从简单实例入手,逐步掌握宏程序的编写和应用。
数控宏程序入门知识讲解
数控宏程序入门知识讲解1,何为宏程序?用变量的方式进行数控编程的方法就叫做数控宏程序编程。
我们普通程序(如G01X100.Y100.F200)X,Y地址后面都是些常量,如果我们把这些常量用变量来编写如G01X#1 Y#2 F200,这就是我们所谓的宏程序。
备注*:FUNC系统是用#1,#2等等来表示变量的。
机床系统不同表示的方式也不同,在这以FUNC系统为例)FUNC系统是用#1,#2等等来表示变量的。
即“#”和“数字”组成的。
如#1,#2……#33等。
这些#后面的数子1,2,3等等有什么含义吗?其实它只是宏变量的代号而已。
举个最简单的例子:如果有三个人,他们的名字都叫小李。
那么当你呼叫小李的时候,会发生一个问题,这三个人都会回答,但你其实只想喊其中的一个。
这就分不清了。
同理,#1 ,如果后面的数字都是一样,当系统使用#1的时候,它也会发生糊涂,到底让我用哪个呢?所以为了区分它们,就把后面的数字写成不同的,比如#1,#2,#3。
此时如果系统使用#1,就不会发生混乱了。
2,何为变量?,变量是一个会变化的量,与之对应的是常量。
(常量比如:1,2,22,65等等阿拉伯数字。
变量比如:#1,#2,#5等等,#1,#2的值到底是多少?因为它是变量,一个会变化量)。
3,变量是多少?比如把#1,#2等变量当做的银行卡,你往这些卡里存了多钱,那么这些卡里就有多钱(比如:往#1里面存了500元,此时#1就相当于500,又取走了300此时#1里面就有200)。
4,变量的赋值往#1里面存了500元等这么一个过程就叫变量赋值。
如果你不在往“#1“里面存钱,或取钱,那么#1就相当于500.也就是说#1不发生运算的情况下就是500.如果有这么一个程序段G0X#1,也就等同于此程序段G0X500.那么变量在数控机床中是怎么赋值的呢?,格式如下:(机床中的赋值中文解释备注)#5=100把100这个数值赋给变量#5把常量赋给了#5#1=#1-1把#1-1这个运算结果赋值给#1把表达式结果赋值给了#1#6= [#11 #15 3]把[#11 #15 3]这个表达式的运算结果赋值给#6把表达式结果赋值给了#65,宏程序IF…GOTO语句直观意思是:如果...就跳转到哪(或者是做什么事)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章宏程序基础知识第一节常量与变量的含义常量与变量的含义及编程案例数控程序中含有变量的程序称为宏程序。
虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。
常量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。
变量使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100G01 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 相同。
限制程序号,顺序号和任选程序段跳转号不能使用变量。
例:下面情况不能使用变量:○#1;错误使用方法/#2G00X100.0; 错误使用方法N#3Y200.0; 错误使用方法系统变量系统变量能用来读写内部NC数据,如刀具补偿值和当前位置数据。
然而,注意:有些系统变量是只读变量。
对于扩展自动化操作和一般的程序,系统变量是必须的。
刀具补偿值:使用这类系统变量可以读写刀具补偿值。
可用的变量数取决于能使用的补偿对数,当补偿对数不大于200时,可以用变量#2001~#2400。
补偿号系统变量1 : 200 #10001(#2001):#10200(#2200)补偿号几何补偿磨损补偿1 : #11001(#2201):#10001(#2001):宏报警:例:#3000=1(TOOL NOT FOUND);报警屏幕显示“3001 TOOL NOT FOUND。
”时间信息:时间信息可以读写。
自动操作控制:自动操作的控制状态可以改变。
自动操作控制的系统变量#3003☆上电时该变量值为0。
☆当不能执行单段停止时,单段停止操作不能执行,即使单段开关有效。
☆当没有指定是否等待辅助功能(M、S、T)完成时,在辅助功能完成之前,程序执行到下一段,定位完成信号DEN不发出。
自动操作控制的系统变量#3004☆上电时该变量值为0。
☆当不能执行进给保持时:进给保持按钮按下并保持时,机床以单段停止方式停止,但单段方式若因变量#3003而无效时,不执行单段停止操作。
进给保持按钮按下又释放时,进给保持灯亮,但机床不停止;程序继续进行,机床停在最先含有进给保持使能的段。
☆当进给倍率无效时,倍率定在100%,忽略机床操作面板上的倍率开关。
☆当精确停止无效时不执行精确停止检查(定位检查),即使是包含有不执行切削的段。
☆例如G84攻丝循环时进给速度,转速,单段操作都无效,其内部程序就指定了#3003=3 #3004=7模态信息:变量号功能#4001G00,G01,G02,G03,G33 (01组)#4002G17,G18,G19 (02组)#4003G90,G91 (03组)#4004(04组)#4005G94,G95 (05组)#4006G20,G21 (06组)#4007G40,G41,G42 (07组)#4008G43,G44,G49 (08组)#4009G73,G74,G76,G80~G89 (09组)#4010G98,G99 (10组)#4011G50,G51 (11组)#4012G65,G66,G67 (12组)#4014 G54~G59(14组)#4015 G61~G64(15组)#4016G68,G69 (16组)::#4022(22组)#4102B码#4107D码#4109F码#4111H码#4113M码#4114顺序号#4115程序号例:当执行#1=#4001时,#1=0,1,2,3或33当前位置:位置信息变量不能写只能读。
见下表:☆首位数(从1~ 4)分别代表轴号,数1代表X轴,数2代表Y轴,数3代表Z轴,数4代表第四轴。
☆执行当前的刀偏值,而不是立即执行保持在变量#5081~#5088里的值。
☆在含有G31(跳段)的段中发出跳段信号时,刀具的位置保持在变量#5061~#5068里,如果不发出跳段信号,指定段的结束点位置保持在这些变量中。
☆移动期间读变量无效时,表示由于缓冲(准备)区忙,所希望的值不能读。
工件坐标系补偿值(工件零点偏置值):工件零点偏置值变量可以读写,见下表:算术和逻辑操作对于附加的48工件坐标系,变量#7001~#7948(G54P1~G54P48)是可选变量。
在下表中列出的操作可以用变量进行。
操作符右边的表达式,可以含有常数和(/或)由一个功能块或操作符组成的变量。
表达式中的变量#J和#K可以用常数替换。
左边的变量也可以用表达式替换。
见下表:角度单位:在SIN,COS,TAN,ATAN中所用的角度单位是度。
ATAN功能:在ATANT之后的两个变量用“/”分开,结果在0°和360°之间。
例:当#1=ATANT[1]/[—1]时,#1=135.0ROUND功能:☆当ROUND功能包含在算术或逻辑操作、IF语句、WHILE语句中时,将保留小数点后一位,其余位进行四舍五入。
例:#1=ROUND[#2];其中#2=1.2345,则#1=1.0☆当ROUND出现在NC语句地址中时,进位功能根据地址的最小输入增量四舍五入指定的值。
例:编一个程序,根据变量#1、#2的值进行切削,然后返回到初始点。
假定增量系统是1/1000mm,#1=1.2345,#2=2.3456则G00 G91 X—#1;移动1.235mmG01 X—#2 F300;移动2.346mmG00 X[#1+#2];因为1.2345+2.3456=3.5801移动3.580mm,不能返回到初始位置。
而换成G00X[ROUND[#1]+ROUND[#2]]能返回到初始点。
上进位和下进位成整数:例:#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算术和逻辑操作的缩写方式:取功能块名的前两个字符,例:ROUND RO。
操作的优先权:①功能块。
如乘除(*,/,AND,MOD)这样的操作。
如加减(+,—,OR,XOR)这样的操作。
方括号嵌套:方括号用于改变操作的顺序。
最多可用五层,超出五层,出现118号报警。
注意:方括号用于封闭表达式[#],圆括号用于注释(#)。
除数:如果除数是零或TAN[90],则会产生112号报警。
分支和循环语句在一个程序中,控制流程可以用GOTO、IF语句改变。
有三种分支循环语句如下:☆GOTO语句(无条件分支);☆IF语句(条件分支:if…,then…);☆WHILE语句(循环语句while…)。
无条件分支(GOTO语句)功能转向程序的第N句。
当指定的顺序号大于1~9999时,出现128号报警,顺序号可以用表达式。
格式GOTO n;n是顺序号(1~9999)例如:O0001N1G91G09G01Z-100.F2500 G91G09G01Z-100.F2500Y-0.5 Y-0.5Z100.X-0.8F8000 无限循环,功能同右Z100.X-0.8F8000Y0.5 Y0.5GOTO1 M99M30;条件分支(IF 语句)功能在IF后面指定一个条件表达式,如果条件满足,转向第N句,否则执行下一段。
格式IF [条件表达式] GOTO n;其中:条件表达式一个条件表达式一定要有一个操作符,这个操作符插在两个变量或一个变量和一个常数之间,并且要用方括号括起来,既[表达式操作符表达式]。
操作符见下表:循环(WHILE语句)功能在WHILE 后指定一个条件表达式,条件满足时,执行DO到END之间的语句,否则执行END后的语句。
格式WHILE [条件表达式] DO m;(m=1,2,3)::END m;m只能在1、2、3中取值,否则出现126号报警。
嵌套①数1~3可以多次使用。
②不能交叉执行DO语句,如下的书写格式是错误的:③嵌套层数最多3级。
④如下的书写格式是正确的:::;⑤如下的书写格式是错误的:IF […] GOTO n;1;注意无限循环指定了DO m而没有WHILE语句,循环将在DO和END之间无限期执行下去。
执行时间程序执行GOTO分支语句时,要进行顺序号的搜索,所以反向执行的时间比正向执行的时间长。
可以用WHILE语句减少处理时间。
未定义的变量在使用EQ或NE的条件表达式中,空值和零的使用结果不同。
而含其它操作符的条件表达式将空值看作零。
宏调用可以用下列方式调用宏程序:宏调用和子程序调用之间的区别:☆ 用G65,可以指定一个自变量(传递给宏的数据),而M98没有这个功能。
☆ 当M98段含有另一个NC 语句时(如:G01 X100.0M98Pp ),则执行命令之后调用子程序,而G65无条件调用一个宏。
☆ 当M98段含有另一个NC 语句时(如:G01 X100.0M98Pp ),在单段方式下机床停止,而使用G65时机床不停止。
☆ 用G65地方变量的级要改变,而M98不改变。
简单调用(G65)功能G65被指定时,地址P 所指定的用户宏被调用,数据(自变量)能传递到用户宏程序中。