学习任务十三宏程序应用基础

合集下载

宏程序入门基础学习资料

宏程序入门基础学习资料

宏程序入门基础学习资料其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出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程序段,如果不符合就继续执行下面的程序段.用户宏程序能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。

宏程序基础知识资料

宏程序基础知识资料

瑞鹄汽车模具有限公司内部教材第一章第一节宏程序基础知识常量与变量的含义常量与变量的含义及编程案例数控程序中含有变量的程序称为宏程序。

虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。

常量普通加工程序直接用数值指定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#1Y#2的执行结果为G00X0未定义的变量当变量值未定义时,这样的变量成为空变量。

宏程序应用基础2-1

宏程序应用基础2-1
运算符含义运算符含义 EQ等于(=) GE大于或等于(≥) NE不等于(≠) LT小于(<) GT大于(>) LE小于或等于(≤)

功能语句的应用 O0130 N10 T0101 M03 S800 N20 G00 X50 Z1 N30 #1=48.5 将48.5赋给变量# 1,作为变量 的初值 N40 G90 X#1 Z-50 F0.2 以变量#1作为G90循环的X 坐标值,Z坐标值不变(-50) N50 #1=#1-2 变量#1的值每次减去2,作为新的 #1(G90循环的X坐标值) N60 IF[#1 GE 40.5] GOTO 40 如果新的#1≧40.5,则 执行N40程序段,即以新 的#1作为X坐标执行G90循环(其中X 坐标值分别为48.5,46.5,44.5,42.5,40.5) N70 G00 X100 Z100 N80 M30
请同学们练习一下
φ 50
40 60
φ 20
请大家一起编制下图的加工程序(两种方法)
3. 2
Z=-X
其余
φ 50
φ 40
20 50

ห้องสมุดไป่ตู้
N70 G00 X40.5 N80 #1=18
将18赋给变量﹟1,作为变量的 初值(#1表 示X轴坐标值) N90 #2=-#1 根据直线方程计算Z坐标值,用 #2表 示,(#1,#2)为该直线上的任意点坐标 N100 G90 X[2﹡#1 +0.5 ] Z#2 G90循环的终点分别为 (36.5 18),(32.5,-16), (28.5,-14), (24.5,-12),(20.5,-10),(16.5,8), (12.5,-6), (8.5,-4),(4.5,-2),(0.5,0) N110 #1=#1-2 X轴等分间距为2。 N120 IF[#1 GE 0 ] GOTO 90 如果每次减去2得到新的 #1值大于等于0,则返回N90程序段执行 N130 G00 X-2 S1200 N140 G01 X40 Z-20 F0.1 精加工轮廓 N150 Z-50 N160 X51 N170 G00 X100 Z100 N180 M30

宏程序基本知识

宏程序基本知识

程序
G54G17G90G40
G00Z30M03S2000 定位于G54上方30mm处
X=R24Y=R25 移动刀具至圆心上方
AA:Z=-R4+1
接近工件
R4=R4+R17
指定当前加工高度
G01Z=-R4F50 下刀至加工位置
L10
调用子程序加工当前层
IF R4<R2-R17 GOTOB AA 如果当前加工深度比预定的还少一个层间距以上时,
G03I=-R8
逆时针走全圆
IF R8<R6-R5 GOTOB BB当当前偏移距离比最大走圆半径还少一个行距以上
时,继续加工
G01X=R24+R6
否则刀具移动到最大圆的走刀起点
G03I=-R6
逆时针走全圆
G00Z=-R4+0.5
提刀0.5mm
X=R24Y=R25
移动至孔的中心位置
RET
子程序结束,返回主程序
运算
控制指令
程序一般是顺序执行,使用控制指令起到控制程序流向的作用,常用的有下列三种: 1、无条件分支 格式:GOTOn 例:GOTO100,含义为程序转向N100程序段处。 2、条件分支 格式:IF[条件表达式]GOTOn 含义:若条件表达式成立,则程序转向段号为n的程序段处,否则继续执行下一句程序。 3、循环 格式:WHILE[条件表达式]DOm(m=1、2、3) ------- ENDm 含义:当条件满足时,招待WHILE与END之间的程序段,否则执行ENDm下一句程序段。
关量,电源关时不消失。 (3)系统变量(#2000~):如刀具补偿值#2000~#2200,工件偏置#5201~#5326. 3、变量的使用 在地址符(O、N、G、L、P及/除外)后接变量,如: F#1:如果#1=100.0,则表示F100 Z-#26:如果#26=3.0,则表示Z-3.0

宏程序基础

宏程序基础

宏程序基础数控编程网1.1 概述(1)宏程序的分类首先我们来讲一下宏程序的分类,A类和B类。

首先在数控车系统比较老的时候,我们系统里面有A类宏,A类宏格式为G65格式,现在已经基本淘汰。

随着科技发达,系统的升级优化,现在的数控系统大多支持B类宏程序,总体而言,现在B类宏是一个主流发展趋势,所以接下来我们的实例讲解都以B类宏程序为例。

(2)宏程序的概念简单来理解宏程序是什么?可以这样理解,宏程序就是利用数学公式,函数等计算方式,配合数控系统中的G代码编制出的一种程序,主要加工一些像椭圆,曲线,各类大螺距螺纹和刀具路线相识的一些零件。

随着科技发达,像椭圆,抛物线,等线性零件,用软件或则系统自代G代码可以完成加工,而大螺距异型螺纹这类零件,软件还没达到成熟,所以我们学会宏程序在加工中可以起到一个非常大的作用。

可以弥补多年来数控车对大螺距螺纹的编程难的一个提高。

(3)宏程序的特征1.赋值在宏程序中我们通常用法最多的就是变量,比如:#1=1 它就是一个变量。

我们把这一过程,称为赋值。

也就是说,我们把等号后面的数值1,赋值给#1。

而现在#1的值就等于1,也可以理解为#1就是一个代号,用来代替数值1。

2.变量和应用比如:#1=2(把数值2赋值给#1)#2=1(把数值1赋值给#2)#2=#1(程序从上往下执行,思考一下现在#2的值等于多少?)解:当程序执行第一步的时候#1的值等于2,当执行第二步的时候#2的值等于1,当执行第三步的时候这里要注意了,刚才讲过赋值过程,是等号后面的值赋值给等号前面,所以当#1在第一步赋值以后,#1已经等于2了,所以在执行第三步的时候#2的值应该等于2,不在是第二步的1了。

从这里我们可以看出,当程序中有相同的变量#的时候,后面的#号代替前面的#号。

比如:#1=2#1=3最后结果#1的值因该是等于3的。

所以说后面的代替前面的。

(4)变量的取值范围1.局部变量(#1-#33)什么叫局部变量,局部变量就是在局部或则可以理解为在单个程序中有效。

数控宏程序编程入门自学

数控宏程序编程入门自学

数控宏程序编程入门自学数控宏程序编程是数控加工中的一种重要的编程方式,也是数控编程研究的一个重要方向。

相较于手动编程,宏程序编程具有编程简单,编程效率高,重复利用性强等优点。

对于想要学习和掌握数控加工技术的人来说,学习宏程序编程是必不可少的一步。

本文将分享一些入门自学数控宏程序编程的方法和步骤。

一、了解数控宏程序编程首先,想要学好数控宏程序编程,需要了解数控宏程序编程的基本概念和知识点。

比如,数控宏程序是什么,宏定义和调用的语法规则是怎样的,如何在宏程序中加入不同的数控指令等。

除此之外,还应了解编程软件的使用方法,包括软件的安装、打开方式、编写程序时的操作步骤以及如何输出程序等。

二、系统学习编程语言数控宏程序编程的语言通常是基于ISO标准的G代码,因此,为了能够顺利学习和掌握宏程序编程,需要系统地学习G代码的基本知识。

这涵盖了G代码中的知识点,如注释、坐标系、插补方式、刀具半径补偿等。

三、实践编程演习学习宏程序编程不仅要有理论基础,还需要进行实际操作,切实掌握编程技能。

可以试着编写基本的程序,通过实践操作中不断调整修改程序,从而理解宏程序编程的各种规则和方法。

可以先写一些简单的宏程序,如点动调试、公差自动换刀、刀具半径补偿等。

四、结合实际加工应用除了学习和理解宏程序编程的基础知识以及实践演习,还需要将它应用到实际的切削加工应用中。

因为实际应用和理论知识相结合,才能在实际操作中真正体验到宏程序编程的优势和功能。

在应用中也可以学到更多的编程技巧和经验,从而不断提升自己的宏程序编程水平。

五、多参考相关书籍和网络资源在学习宏程序编程的过程中还可以多参考相关的书籍和网络资源,如《数控编程技术指南》、《G代码编程基础》、以及国内外相关的论坛和博客等。

这些都可以帮助自己更好地理解宏程序编程的各方面知识点,也可以了解到最新的技术和应用。

总之,学习数控宏程序编程需要有系统的学习方法和耐心的实践过程。

逐步的掌握编程的技能和方法,并将其运用到实际的切削加工中,才能使自己的宏程序编程水平得到不断的提升和完善。

宏程序的学习和应用

宏程序的学习和应用

宏程序的学习和应用严雁飞变量根据变量号可分为四中类型:是可编程机床控制器(PMC)和用户宏程序之间交换的信号:用户宏程序输入信号这些信号不对控制单元提供任何功能。

这些信号作为系统变量的一种由用户宏程序读取,并用作用户宏程序和 PMC之间的接口信号。

这些信号对应的系统变量表示如下:用户宏程序输出信号这些信号不对控制单元提供任何功能。

这些信号作为一种由用户宏程序读或写的系统变量,并用作用户宏程序和 PMC之间的接口信号。

这些信号对应的系统变量表示如下:这些系统变量能够用于赋值语句的左边或右边。

左侧的赋值是赋给右侧的变量。

信号地址如下:PMC与宏变量的地址对应关系总结如下:#1000~#1031=G54.0~G57.7#1032=G54~G57#1033=G276~G279#1034=G280~G283#1035=G284~G287#1100~#1115=F54.0~F55.7#1116~#1131=F276.0~F277.7#1132=F54, F55, F276, F277#1133=F56~F59#1134=F280~F283#1135=F284~F287系统变量:系统变量用于读和写 NC内部数据,例如,刀具偏置值和当前位置数据。

但是,某些系统变量只能读。

系统变量是自动控制和通用程序开发的基础。

用系统变量可以读和写刀具补偿值。

可使用的变量数取决于刀补数,是否区分外形补偿和磨损补偿以及是否区分刀长补偿和刀尖补偿。

当偏置组数小于等于 200时,也可使用#2001~#2400。

刀具补偿存储器 C的系统变量宏程序报警的系统变量:列如:#3000=1(PROBE NO CONTACT)报警屏幕显示“3001 PROBE NO CONTACT”(探针没有接触)程序停止并显示信息:时间信息的系统变量:自动运行控制的系统变量(#3003)当电源接通时,该变量的值为 0。

当单程序段停止无效时,即使单程序段开关设为 ON,也不执行单程序段停止。

宏程序基础教程

宏程序基础教程

宏程序教案一、宏程序的概述宏程序是指利用变量编制的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混合赋值,后指定的自变量类型有效。

宏程序编程基础PPT课件

宏程序编程基础PPT课件

SUCCESS
THANK YOU
2020/9/30
运算规律
SUCCESS
THANK YOU
2020/9/30
控制语句
说明
注意
用宏程序命令对变量进行赋值
赋值举例
O001

G65 P9010 L2 A1.0 B2.0 … M30
O9010
N10 #3=#1+#2 N20 IF[#3 GT 360] GOTO40
N30 G00 G91 X#3 N40 M99
宏程序基础知识
宏程序的定义和分类
1、概念 将一组存储器中,用一个命令作为代表,执 行时只需写出这个代表命令,就可以执行其功能。 这一组命令称做用户宏主(本)体(或用户宏程 序),简称为用户宏(Custom Macro)指令,这个 代表命令称为用户宏命令,也称作宏调用命令。 2、分类
用户宏程序功能有A、B两种类型。
A类宏程序简介
编写A类程序时,用到了Hm等宏功能指令。各Hm宏功能指令见表。
宏程序编程特征
注意: B类宏程序应用较为广泛,而A类很少使用,因
此,本节重点介绍B类宏程序,对A类宏程序不在 赘述。
在宏程序主题中使用变量
变量引用时的注意事项
变量的种类
变量的定义

数控课教案宏程序应用

数控课教案宏程序应用

数控课教案-宏程序应用一、教学目标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.什么是宏程序?在数控编程中,用户宏程序是数控系统中的特殊编程功能。

所谓用户宏程序其实是把一组带有变量的子程序事先存储在系统存储器中,并通过主程序中的宏程序调用指令调用并执行这一组程序。

由于数控系统的指令功能有限,而宏程序功能可以显著地增强机床的加工能力,同时可精简程序,所以宏程序编程是加工编程的重要补充。

用户宏程序可以用公式来加工零件,例如加工椭圆,如果用常规的编程方法,需要逐点算出曲线上的点,然后用直线或圆弧进行拟合逼近,所以编程时需要计算很多的点。

如果使用用户宏程序,可以直接把椭圆公式编入到程序中,加工零件时系统会自动计算出曲线上各点的坐标,大大减轻了编程的工作量。

2.什么是变量?变量是指在程序的运行过程中随时可以发生变化的量。

普通加工程序直接用数值指定G代码和移动距离;例如,G01和X100.0等,这些数值都是常量,所以一个程序只能描述一个几何形状。

而用户宏程序本体中可以使用变量进行编程,编程时可以使用变量进行算术运算、逻辑运算和函数的混合运算,这样就可以实现编制一个程序,即可加工尺寸不同但是形状相同的工件,加工时只需修改少数几个参数,从而可以使用宏程序执行一些有规律变化的动作。

变量分局部变量,公共变量(全局变量)和系统变量三种。

局部变量是一个在宏程序中局部使用的变量,即只在本程序内起作用。

例如当宏程序A调用宏程序B而且都有变量#1时,由于变量#1服务于不同的宏程序,所以宏程序A中数控cnc的#1与宏程序B 中的#1不是同一个变量,因此可以赋于不同的值,相互间互不影响。

局部变量不能在程序运行时加以修改,只能由程序控制。

在使用局部变量时,必须在程序中赋初值。

当断电时,局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值,公共变量贯穿于整个程序过程,即在所有程序中起相同的作用。

宏程序的基本概念知识讲解

宏程序的基本概念知识讲解

数控铣削宏程序编程(一)一、宏程序的基本概念1、宏程序的定义以一组子程序的形式存储并带有变量的程序称为用户宏程序,简称宏程序;调用宏程序的指令称为“用户宏程序指令”,或宏程序调用指令(简称宏指令)。

宏程序与普通程序相比较,普通的程序字为常量,一个程序只能描述一个几何形状,所以缺乏灵活性和适用性。

而在用户宏程序的本体中,可以使用变量进行编程,还可以用宏指令对这些变量进行赋值、运算等处理。

通过使用宏程序能执行一些有规律变化(如非圆二次曲线轮廓)的动作。

宏程序分A类和B类两种,FANUCi系统采用B类宏程序进行编程。

2、宏程序中的变量在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址,为了使程序更加具有通用性、灵活性,故在宏程序中设置了变量。

1)、变量的表示:一个变量由符号“#”和变量序号组成,如:#I(I=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.0 Y50.0 F130;3)、变量的种类:变量分为局部变量、公共变量(全局变量)和系统变量三种。

在A、B类宏程序中,其分类均相同。

A、局部变量(#1~#33)是在宏程序中局部使用的变量。

当宏程序C调用宏程序D而且都有变量#1时,由于变量#1服务于不同的局部,所以C中的#1与D中的#1不是同一个变量,因此可以赋予不同得不偿失值,且互不影响。

关闭电源时,局部变量被初始化成“空”。

宏调用时,自变量分配给局部变量。

B、公共变量(#100~#149/#199;#500~#549/#599)贯穿于整个程序过程。

数控宏程序基本知识,看懂你也基本入门了

数控宏程序基本知识,看懂你也基本入门了

数控宏程序基本知识,看懂你也基本入门了数控宏程序编程,是用变量的方式进行一般说来,华中的数控机床用的是B类宏程序,优点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#1031) #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#103;(#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,执行下一。

搞懂宏程序的编程基础快速入门!

搞懂宏程序的编程基础快速入门!

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

手工编程加工公式曲线(计算简单,输入快捷)有规律的切削路径(作为一个切削模块)程序间的控制(程序的调度)刀具的管理(刀具的磨损)自动测量(机内测头)2. 什么叫宏程序?在编程时,我们会把能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来调用它们,使用时只需给出这个总指令就能执行其功能所存入的这一系列指令称作用户宏程序本体,简称宏程序。

这个总指令称作用户宏程序调用指令。

在编程时,编程员只要记住宏指令而不必记住宏程序。

3. 用户宏程序与普通程序的区别1)在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转。

2)普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。

3)用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。

4. 变量的三种类型数控系统变量表示形式为“#”后跟1~4位数字,变量种类有三种:(1)局部变量:#1~#33是在宏程序中局部使用的变量,它用于自变量转移。

(2)公用变量:用户可以自由使用,它对于由主程序调用的各子程序及各宏程序来说是可以公用的。

#100~#149在关掉电源后,变量值全部被清除,而#500~#509在关掉电源后,变量值则可以保存。

(3)系统变量:由后跟4位数字来定义,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。

5. 宏程序的特点宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。

宏程序基础知识

宏程序基础知识

宏程序基础知识针对目前很多同行兄弟对宏程序不了解,本人按照自己的经验,循序渐进的引导大家去揭开宏程序的真实面目。

当然,想通过我这篇文章完全掌握宏那是不可能的,因为这需要你实际去多应用,才可能掌握的。

所以如果你想一步到位,那可以关闭本文了,本文没有这功效,如果你还有一点想法,那就开始吧,一步一步告诉你怎么样去编辑和应用宏程序:1相对编程O0001G0 X0 Z0G1 U1 W1 G98 F100M30定位到X0 Z0位置后,X/Z轴均相对插补1,终点坐标为X1 Z1,程序结束。

2相对编程重复执行同样的程序段O0002G0 X0 Z0G1 U1 W1 G98 F100U1 W1M30定位到X0 Z0位置后,X/Z轴相对插补1后,再相对插补1,终点坐标为X2 Z2,程序结束。

3调用子程序重复执行同样的程序段O0003(程序1)G0 X0 Z0N10 G1 U1 W1 G98 F100M99 P10M30定位到X0 Z0位置后,X/Z轴相对插补1后,下一段为强制返回N10段,所以再相对插补1,然后又强制返回,所以本程序将一直插补,不能结束。

O0004(程序2)G0 X0 Z0N10 G1 U1 W1 G98 F100IF #5041=10 GOTO 20(当X轴坐标=20,跳到N20段,如果不等于20,顺序执行)M99 P10N20 M30本程序与O0003程序的区别是在M99强制返回前加了一段判断语句,该判断句的意思是如果#5041=10(#5041是一个系统宏变量,表示当前X轴坐标,不同系统处理可能不同,这里仅做示例),则跳到N20段执行,如果不等于10,则顺序执行。

从程序中可以看出:第一次插补后,X轴坐标为1,不符合该判断条件,所以顺序执行下一段M99 P10,此段又将程序返回到插补段执行,执行完为X2,也不符合条件,就这样重复执行插补,直到X轴插到10,则符合条件,跳到N20段执行,结束程序,终点坐标为X10 Z10。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目四非圆曲线加工
学习任务十三宏程序应用基础
学习目标
能够了解宏程序编程原理。

能够掌握变量含义及运算方法及功能语句的含义。

相关知识
1、变量
(1)定义:用可赋值的代号代替具体的数值,这个代号就称为变量。

(2)表示方法:FANUC系统变量用变量符号“#”和后面的变量号表示,变量号可用数字或表达式表示,当用表达式时,要将表达式放在括号中,例如,#1、#[#1+#2]、X[#1﹢#2]、X#[#1+#2]等,以下几点需要注意。

a.当在程序中定义变量值时,小数点及后面的零可省略。

b.被引用变量的值根据地址的最小设定单位自动舍入,例如:#1=12.3456,当机床精度为0.001时,X#1的值为12.346。

c.负号要放在“#?”前面,例如:G00 X‐#1。

d.当变量未定义时为空变量,当引用空变量时,变量及地址字都被忽略,例如:#1=0,#2未定义,则程序段“G00 X#1 Z#2”的执行结果为“G00 X0”。

e.变量“#0”总是空变量,只能读不能写。

(3)变量的类型
根据变量号可分为四种类型
表13—1 变量的类型
说明:系统变量用于读和写NC内部数据,其变量号和含义在一个系统中是一一对应的,有些可以读和写,有些只能读。

例如:#3002是时间信息系统变量,该变量为一个定时器,当循环启动灯亮时,以1小时为单位计时,它可以被读和写,例如#3002=0测表示定时器清零,可以重新开始计时。

#5041-#5043为位置信息的系统变量,表示包含刀具补偿值的当前位置。

例如:#1 = # 5043 . 表示将当前位置的Z坐标值赋给“#1”
G01 W-50 F0.1 表示从当前位置(起点)做Z向切削50mm长
G01 Z #1 切削退回起点
更多具体的参数含义请阅读系统的说明书。

2、变量的运算
⑴下表中的运算可在本系统的变量中被执行,“=”的用法是将其右侧的结果赋给左侧的变量。

⑵运算符解析
①上取整和下取整
当执行后产生整数的绝对值大于原数的绝对值时为上取整,若小于原数的绝对值为下取整。

例如:假定#1 = 1.2,并且#2= -1.2。

当执行#3 = FUP [#1] 时,2.0赋给#3。

当执行#3 = FIX [#1] 时,l.0赋给#3。

当执行#3 = FUP [#2 ] 时,-2.0赋给#3。

当执行#3 = FIX [#2 ] 时,-1.0赋给#3。

②舍入
a.当算术运算或逻辑运算IF或WHILE中包含ROUND时,则在第一个小数位置四舍五入。

例:当#2=1.2345 时,执行#1=RODND [#2 ]时,结果为#1=1.0。

b.当NC语句中使用ROUND时,根据地址的最小设定单位将指定值四舍五入。

例如#2= 1.2345(假定最小设定单位是0.001 )。

执行“G91G00 X- #2”时,快速移动距离为1.235mm
③运算次序
按照优先的先后顺序依次是括号、函数、乘除、加减,括号最多可使用5级,且只能用方括号,圆括号用于注释。

2、功能语句
数控程序的运行是按导入的顺序依次执行程序,要想改变其执行顺序,必须要通过一系列功能语句。

(1)无条件转移语句
GOTO n ;表示转移到顺序号为“n” 的程序段继续运行。

例如:N10 GOO X50.0 Z10.0;
N20 G01 X45.0 F0.2;
N30 G01 Z0.0;
N40 GOT0 20;
表示执行N40程序段时,程序无条件转移到N20程序段继续运行。

(2)条件转移语句
①IF [表达式] GOTO n
表示如果指定的条件表达式满足时,转到标有顺序号“n” 的程序段,如果不满足时,则执行下一个程序段。

<条件式>成立时,从顺序号为n的程序段以下执行;<条件式>不成立时,执行下一个程序段。

IF [#1 GT 50.0 ]GOTO 10; G0 X50.0 Z10.0;

N10 G00 X100.0 Z100.0 ;
该语句中的条件表达式必须包括运算符,这个运算符插在两个变量或一个变量和一个常量之间,并且要用方括号封闭,常用<条件式>运算符见下表。

②IF [表达式] THEN (宏程序语句)
表示如果表达式满足时,则执行预先决定的宏程序语句,且只执行一个语句,表达式必须包括运算符。

例如IF [#1 EQ #2] THEN #3=0
表示如果 #1与 #2 值相等,则将O 赋给#3。

③常见的用于比较两个值大小的运算符
(3)循环功能语句
①格式 WHILE [表达式] DO
m (m=1,2,3) …………END m
…………
表示当指定条件满足时,执行从DO 到END 之间的程序,否则转到END 后的程序段。

②几点说明: a 、“m ”值是指定程序执行范围的标号,可根据需要多次使用,但其值只能取1,2,3。

b 、DO 循环可嵌套3级,但范围不能交叉。

c 、循环语句中可以用条件转移语句,并可以转移到循环之外,但条件转移语句的目标语句不能进入循环内部。

3、宏程序的含义 ⑴定义:含有变量运算或功能语句的程序称为宏程序。

也就是用一些变量代替一般程序中的常数值,这样就可以在程序中进行运算或应用一些功能语句,从而使可编程序的范围更大或用一个宏程序实现一类功能。

⑵分类
①A 类宏程序:用G65作为宏指令专用代码,H 代码表示变量运算及功能语句的一类宏程序。

②B 类宏程序:直接对变量进行赋值和运算及使用功能语句的一类宏程序。

条件成立
45钢,Φ50×100)
1
2、程序示例
O0130
N10 T0101 M03 S800
N20 G00 X50 Z1
N30 #1=48.5 将48.5赋给变量﹟1,作为变量的初值
N40 G90 X#1 Z-50 F0.2 以变量#1作为G90循环的X坐标值,Z坐标值不变(-50)N50 #1=#1-2 变量#1的值每次减去2,作为新的#1(G90循环的X坐标值)N60 IF[#1 GE 40.5] GOTO 40 若新的#1≧40.5,则执行N40程序段,以新的#1为X坐标
N70 G00 X40.5 执行G90循环(其中X坐标值分别为48.5,46.5,44.5,42.5,40.5)N80 #1=18 将18赋给变量﹟1,作为变量的初值(#1表示X轴坐标值)N90 #2=-#1 根据直线方程计算Z坐标值,用#2表示,(#1,#2)为该直
线上的任意点坐标
N100 G90 X[2﹡#1 +0.5 ] Z#2 G90循环的终点分别为(36.5,-18),(32.5,-16), (28.5,-14),
(24.5,-12)
N110 #1=#1-2 X轴等分间距为2。

(20.5,-10),(16.5,-8),(12.5,-6),(8.5,-4),(4.5,-2),(0.5,0)
N120 IF[#1 GE 0 ] GOTO 90 如果每次减去2得到新的#1值大于等于0,则返回N90程序段
执行
N130 G00 X-2 S1200
N140 G01 X40 Z-20 F0.1 精加工轮廓
N150 Z-50
N160 X51
N170 G00 X100 Z100
N180 M30
程序校验(用图形显示功能)、自动加工。

分析零件加工质量及其原因。

1
2、
A 类宏程序和
B 类宏程序是如何区分的?
3、假设#1=1.2345,,2=-1.2345,请写出下列各式的运算结果。

(1)#3=FUP [#1] (2)#3=FUP[#2] (3)#3=FLX[#1] (4)#
3=FLX[#2] 4、条件转移语句有哪两种形式?它们的使用方法有何异同? 5、请写出循环功能语句的格式及用法。

6、用变量和功能语句编程加工下图零件。

图13—2 功能语句编程加工练习图(例题件掉头)。

相关文档
最新文档