版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课题一椭圆手柄加工
本课题要求编程并加工如图7.1所示零件。工艺条件:工件材质为45钢,毛坯为直径Φ30mm,长100mm的棒料。
a)零件图b)实体图图7.1椭圆手柄一、基础知识1.宏程序的概念用户宏程序是FANUC数控系统及类似产品中的特殊编程功能。用户宏程序的实质与子程序相似,它也是把一组实现某种功能的指令,以子程序的形式预先存储在系统存储器中,通过宏程序调用指令执行这一功能。在主程序中,只要编入相应的调用指令就能实现这些功能。一组以子程序的形式存储并带有变量的程序称为用户宏程序,简称宏程序;调用宏程序的指令称为“用户宏程序指令”或宏程序调用指令(简称宏指令)。例如,在下述程序流程中,可以这样使用用户宏程序:
主程序用户宏程序
……O9011G65P9011A10I5;…………X#1Y#4;在这个程序的主程序中,用G65P9011调用用户宏程序O9011,并且对用户宏程序中的变量赋值:#1=10、#4=5(A代表#1、I代表#4)。而在用户宏程序中未知量用变量#1及#4来代表。用户宏程序的最大特征有以下几个方面:可以在用户宏程序中使用变量;可以进行变量之间的运算;可以用用户宏程序指令对变量进行赋值。使用用户宏程序时的主要方便之处,在于可以用变量代替具体数值,因而在加工同一类的工件时,只需将实际的值赋与变量既可,而不需要对每一个零件都编一个程序。2.宏程序的种类FANUC系统提供两种用户宏程序,即A类宏程序和B类宏程序。A类宏程序可以说是FANUC系统的标准配置功能,任何配置的FANUC系统都具备此功能,B类宏程序虽然不算是FANUC系统的标准配置功能,但是绝大部分的FANUC系统也都支持B类宏程序。由于A类宏程序需要使用“G65Hm”格式的宏指令来表达各种数学运算和逻辑关系,不太直观,可读性较差,因而在实际工作中用得较少。FANUC0TD系统采用A类宏程序,FANUC0i系统采用B类宏程序。B类宏程序在生产实际中用得较广泛,本模块将介绍B类宏程序的使用。
3.变量及变量的使用方法如前所述,变量是指可以在宏程序的地址上代替具体数值,在调用宏程序时再用引数进行赋值的符号:#i(i=1,2,3,…)。使用变量可以使宏程序具有通用性。宏程序中可以使用多个变量,以变量号码进行识别。
(1)变量的形式变量是用符号#后面加上变量号码所构成的,即:
#i(i=1,2,3,…)例如:#5#109#1005B类宏程序也可用“#[表达式]”的形式来表示,如:#[#100]、#[#1001-1]、#[#6/2]。(2)变量的引用在地址符后的数值可以用变量置换。如:若写成F#33,则当#33=1.5时,与F1.5相同。
Z-#18,当#18=20.0时,与Z-20.0指令相同。但需要注意,作为地址符的O、N、/等,不能引用变量。例如:O#27、N#1等,都是错误的。(3)未定义变量当变量值未定义时,这样的变量成为“空变量”。变量#0总是空变量。(4)定义变量当在程序中定义变量值时,整数值的小数点可以省略,例如:当定义#10=120时,变量#10的实际值是120.000。4.变量的种类变量从功能上主要可归纳为两种,即:系统变量(系统占用部分),用于系统内部运算时各种数据的存储。用户变量,包括局部变量和公共变量,用户可以单独使用,系统把用户变量作为处理资料的一部分。
局部变量(#1~#33)是在宏程序中局部使用的变量。当宏程序1调用宏程序2而且都有变量#l时,由于变量#1服务于不同的局部,所以1中的#1与2中的#1不是同一个变量,因此可以赋于不同的值,且互不影响。公共变量(#100~#199、#500~#999)贯穿于整个程序过程。同样,当宏程序1调用宏程序2而且都有变量#100时,由于#100是全局变量,所以1中的#100与2中的#100是同一个变量。5.变量的赋值赋值是指将一个数据赋予一个变量。例如:#1=0,则表示#1的值是0。其中#1代表变量,“#”是变量符号(注意:根据数控系统的不同,它的表示方法可能有差别),0就是给变量#1赋的值。这里的“=”是赋值符号,起语句定义作用。
赋值的规律有:(1)赋值号“=”两边内容不能随意互换,左边只能是变量,右边可以是表达式、数值或变量。(2)一个赋值语句只能给一个变量赋值。(3)可以多次给一个变量赋值,新变量值将取代原变量值(即最后赋的值生效)。(4)赋值语句具有运算功能,它的一般形式为:变量=表达式。在赋值运算中,表达式可以是变量自身与其他数据的运算结果,如:#1=#1+1,则表示#1的值为#1+1,这一点与数学运算是有所不同的。(5)赋值表达式的运算顺序与数学运算顺序相同。(6)辅助功能(M代码)的变量有最大值限制,例如,将M30赋值为300显然是不合理的。6.运算指令宏程序具有赋值、算术运算、逻辑运算、函数运算等功能。变量之间进行运算的通常表达形式是:#i=(表达式)。(1)变量的定义和替换
#i=#j
(2)加减运算
#i=#j+#k加
#i=#j-#k减(3)乘除运算
#i=#j*#k乘
#i=#j/#k除
(4)逻辑运算
#i=#jOR#k或
#i=#iXOR#k异或
#i=#jAND#k与(5)函数运算
#i=SIN[#j]正弦函数
#i=ASIN[#j]反正弦函数
#i=COS[#j]余弦函数
#i=ACOS[#j]反余弦函数
#i=TAN[#j]正切函数
#i=ATAN[#j]反正切函数
#i=SQRT[#j]平方根
#i=ABS[#j]取绝对值
#i=ROUND[#j]四舍五入整数化
#i=FIX[#j]小数点以后舍去
#i=FUP[#j]小数点以后进位
#i=LN[#j]自然对数
#i=EXP[#j]ex
(6)运算的组合以上算术运算和函数运算可以结合在一起使用,运算的先后顺序是:函数运算、乘除运算、加减运算。
(7)括号的应用表达式中括号的运算将优先进行。连同函数中使用的括号在内,括号在表达式中最多可用5层。7.控制指令通过控制指令可以控制用户宏程序主体的程序流程,常用的控制指令有以下三种:转移和循环:
IF语句:条件转移;格式为:IF…GOTO…或IF…THEN…GOTO语句:无条件转移
WHILE语句:当…时,执行循环(1)条件转移(IF语句)
IF之后指定条件表达式。①IF[<条件表达式>]GOTOn
表示如果指定的条件表达式满足时,则转移(跳转)到标有顺序号n(即俗称的行号)的程序段。
如果不满足指定的条件表达式,则顺序执行下个程序段。如图7.2所示,其含义为:如果变量#1的值大于100,则转移(跳转)到顺序号为N99的程序段。
图7.2条件转移语句举例②IF[<条件表达式>]THEN
如果指定的条件表达式满足时,则执行预先指定的宏程序语句,而且只执行一个宏程序语句。
IF[#1EQ#2]THEN#3=10;如果#1和#2的值相同,10赋值给#3。(2)无条件转移(GOTO语句)转移(跳转)到标有顺序号n(即俗称的行号)的程序段。当指定1~99999以外的顺序号时,会触发P/S报警No.128。其格式为:
GOTOn;n为顺序号(1~99999)例如:GOTO99,即转移至第99行。(3)循环(WHILE语句)在WHILE后指定一个条件表达式。当指定条件满足时,则执行从DO到END之间的程序。否则,转到END后的程序段。DO后面的号是指定程序执行范围的标号,标号值为1、2、3。如果使用了1、2、3以外的值,会触发P/S报警No.126。WHILE语句的使用方法如图7.3所示。
图7.3WHILE语句的用法①嵌套。在DO~END循环中的标号(1~3)可根据需要多次使用。但是需要注意的是,无论怎样多次使用,标号永远限制在1、2、3;此外,当程序有交叉重复循环(DO范围的重叠)时,会触发P/S报警No.124。以下为关于嵌套的详细说明。
a.标号(1~3)可以根据需要多次使用,如图7.4所示。
图7.4标号(1~3)可以多次使用b.DO的范围不能交叉,如图7.5所示。
图7.5DO的范围不能交叉c.DO循环可以3重嵌套,如图7.6所示。
图7.6循环可以3重嵌套d.(条件)转移可以跳出循环的外边,如图7.7所示。
图7.7条件转移可以跳出循环e.(条件)转移不能进入循环区内,注意与上述d对照。如图7.8所示。
图7.8条件转移不能进入循环区内②关于循环(WHILE语句)的其他说明。a.DOm和ENDm必须成对使用:DOm和ENDm必须成对使用,而且DOm一定要在ENDm指令之前。用识别号m来识别。b.无限循环:当指定DO而没有指定WHILE语句时,将产生从DO到END之间的无限循环。c.未定义的变量:在使用EQ或NE的条件表达式中,值为空和值为零将会有不同的效果。而在其他形式的条件表达式中,空即被当作零。d.条件转移(IF语句)和循环(WHILE语句)的关系:显而易见,从逻辑关系上说,两者不过是从正反两个方面描述同一件事情;从实现的功能上说,两者具有相当程度的相互替代性;从具体的用法和使用的限制上说,条件转移(IF语句)受到系统的限制相对更少,使用更灵活。8.宏程序的格式及程序号(1)宏程序的使用格式宏程序的编写格式与子程序相同。其格式为:
O
;宏程序号,O后面为4位数,范围为0001~8999N10…;指令
……N
M99;上述宏程序内容中,除通常使用的编程指令外,还可使用变量、算术运算指令及其他控制指令。变量值在宏程序调用指令中赋值。(2)选择程序号9.调用指令宏程序调用和一般子程序调用之间有差别。首先,宏程序的调用可以在调用语句中传递数据到宏程序内部,而子程序的调用(M98)则没有这功能。其次,M98程序段可以与另一数据指令共处同一条指令,如G01X100.0M98P1000,在执行时,先执行G01X100.0,然后再运行子程序O1000,而宏程序调用语句是独立自成一行。宏程序的调用方法有单纯调用(G65)、模态调用(G66,G67)、用G代码或M代码等。(1)单纯调用(G65)用指令G65可调用地址P指令的宏程序,并将赋值的数据送到用户宏程序中,G65是非模态调用,即只在G65程序段调用宏程序。格式:G65P
L
;引数赋值说明:G65——宏调用代码;
P
——P之后为宏程序主体的程序号码;
L
——循环次数(省略时为1);(引数赋值)——由地址符及数值(有小数点)构成,给宏主体中所对应的变量赋予实际数值;引数赋值有以下两种形式:①引数赋值Ⅰ。除去G、L、N、O、P地址符以外都可作为引数赋值的地址符,大部分无顺序要求,但对I、J、K则必须按字母顺序排列,对没使用的地址可省略。例:B
A
D
…I
K
…;正确;
B
A
D
…J
I
…;不正确;②引数赋值II。A、B、C只能用一次,I、J、K作为一组引数最多可指定10组。当给三维坐标赋值时使用此种参数。(2)模态调用(G66)格式:G66P
L
;引数赋值
G67;取消用户宏程序;当指令了模态调用G66后,在用G67取消之前,每执行一段轴移动指令的程序段,就调用一次宏程序。G66程序段或只有辅助功能的程序段不能模态调用宏程序。例:O0001;O9100;
……N30G66P9100L2A1.0B2.0;N40G00Z#1;
N40G00G90X100.0;N50G01Z-#2F0.3;
N50Z120.;…N60X150.;N100M99;
N70G67;
…N90M30;
当主程序执行完N40后调用宏程序O9100两次,执行完N50后调用O9100两次,执行完N60后调用O9100两次,直到G67停止调用。(3)G代码宏调用方法宏主体除了用G65、G66方法调用外,还可以用G代码调用。将调用宏程序用的G代码号设定在参数上,然后就可以与单纯调用G65一样调用宏程序。格式:G××<引数赋值>;③将调用指令的形式换为G(参数设定值)<引数赋值>。如将宏主体O9010用G81调用,其做法如下:
a.将所使用宏程序号设为O9010。
b.将与O9010对应的参数号码(第6050号)上的值设定为81。
c.用G81调用宏程序O9010
10.加工椭圆的思路图7.1所示零件的右端由椭圆构成,用G01、G02、G03等直线、圆弧插补常规方法较难处理这部分,拟合的节点计算也相当繁琐复杂,而且表面质量和尺寸要求都很难保证。最好的方法是用宏程序加工椭圆。宏程序编程首先得理解曲线方程,明确加工思路。用直线段逼近,按Z方向进行变化,ΔZ越小,越接近轮廓,求出每一个点(X、Z)值,如图7.9所示。
图7.9步长为Δi时刀具的X、Z的值示意图
二、课题实施
1.
工艺分析与工艺设计(1)图样分析如图7.1所示,零件由圆柱面、椭圆面构成。零件材料为45号钢棒。(2)加工工艺路线设计(3)刀具选择
2.程序编制(1)数值计算①设定程序原点,以工件右端面与轴线的交点为程序原点建立工件坐标系。②计算各节点位置坐标值。A点(X14,Z-37.321),其余略。
(2)编制程序3.装夹刀具注意事项同前。4.装夹工件用自定心三爪卡盘装夹工件,注意工件要和车床主轴同心。5.输入程序6.对刀使用试切法对刀,在机床刀具表中设定长度补偿。7.启动自动运行,加工零件8.测量零件,修正零件尺寸阿
课题二偏心轴加工
本课题要求编程并加工如图7.10所示偏心轴,该零件,毛坯为Ф45mm×82mm,材料为45钢。a)零件图b)实体图图7.10偏心轴一、基础知识1.偏心轴套的概念在机械传动中,常采用曲柄滑块(连杆)机构来实现回转运动转变为直线运动或直线运动转变为回转运动,在实际生产中常见的偏心轴、曲柄等就是其具体应用的实例。外圆和外圆的轴线或内孔与外圆的轴线平行但不重合(彼此偏离一定距离)的工件,叫偏心工件。外圆与外圆偏心的工件叫偏心轴,如图7.11(a)所示;内孔与外圆偏心的工件叫偏心套,如图7.11(b)所示。平行轴线间的距离叫偏心距。(a)偏心轴(b)偏心套图7.11偏心工件
2.用三爪自定心卡盘安装、车削偏心工件偏心工件可以用三爪自定心卡盘、四爪单动卡盘和两顶尖等夹具安装车削。本例工件的偏心选用在三爪自定心卡盘上进行车削。其加工方法如图7.12所示,在三爪中的任意一个卡爪与工件接触面之间,垫上一块预先选好的垫片,使工件轴线相对车床主轴轴线产生位移,并使位移距离等于工件的偏心距,垫片厚度可按下列公式计算:
x=1.5e±K
K≈1.5△e
式中x——垫片厚度,mm;e——偏心距,mm;K——偏心距修正值,正负值可按实测结果确定,mm;△e——试切后;实测偏心距误差,mm。本例工件的偏心距e=2.0mm,先暂不考虑修正值,初步计算垫片厚度:
x=1.5e=1.5×2=3mm。试切后根据实测的偏心距再计算偏心距修正值。
图7.12在三爪自定心卡盘上车偏心工件3.巧用切槽刀加工外轮廓加工本例工件1偏心轮廓时,如果采用外圆车刀进行对接加工时,则根本无法保证两侧的偏心位于同一矢量角位置。因此,本例工件需在一次装夹过程中完成外凸偏心轮廓的加工,加工过程如图7.13所示,右端偏心轮廓使用切槽刀的右刀尖进行加工,而左端偏心轮廓则使用切槽刀的左刀尖进行加工。对于偏心轮廓的加工余量,在FANUC0i系统中可采用G72指令编程去除,去余量过程中的曲线用近似圆弧代替,圆弧半径分别为R2.83和R12.75,两圆弧切点相对于椭圆中心的坐标为(2.50,6.00)。
图7.13偏心轮廓加工思路二、课题实施1.
工艺分析与工艺设计(1)图样分析如图7.10所示,零件由圆柱面、椭圆面和槽构成,该零件为偏心轴。尺寸精度和表面粗糙度要求较高。(2)加工工艺路线设计①粗加工外轮廓;②精加工外轮廓;③切槽;④车螺纹;(2)刀具选择T01外圆车刀;T02外切槽车刀(刀宽3mm);T03外螺纹车刀。2.程序编制下面只编写椭圆部分的程序,其它部分程序请读者自行编写。O0071;G99G21G40;程序开始部分T0202;M03S600;G00X100.0Z100.0M08;刀具定位时注意偏心X48.0Z-8.0;G72W1.5R0.5;左刀尖加工右侧余量G72P100Q200U0.1W0.5F0.1;N100G00Z-27.5S1200F0.05;精加工轮廓描述,程序段中的F和S为精加工时的F和S值G01X42.0;
G02X39.0Z-21.5R12.75;
G02X34.0Z-20.0R2.83;G01Z-16.0;X32.0Z-15.0;X30.0;X29.0Z-10.0;N200Z-8.0;G00Z-45.0;切槽刀的刀宽为3mmG72W1.5R0.5;右刀尖加工左侧余量G72P300Q400U0.1W0.5F0.1;N300G00Z-30.5S1200F0.05;精加工轮廓描述刀具右刀尖加工,每一个Z坐标均减3.0G01X42.0;G02X39.0Z-36.5R12.75;G02X34.0Z-38.0R2.83;
G01Z-42.0;X32.0Z-43.0;N400Z-45.0;G00Z-27.5;换左刀尖精加工
#100=90.0;椭圆起点处极角N450#101=4.0*SIN[#100];公式中的X坐标值#102=7.5*COS[#100];公式中的Z坐标值#103=#101*2+34.0;工件坐标系中的X坐标值#104=#102-27.5;工件坐标系中的Z坐标值G01X#103Z#104;加工曲面轮廓#100=#100-1.0;角度增量为-1.0ºIF[#100GE0]GOTO450;条件判断G01Z-16.0;精加工右侧外圆轮廓X32.0Z-15.0;X30.0;X29.0Z-10.0;G00X48.0;退刀换左刀尖加工Z-30.5;#100=90.0;椭圆起点处极角N550#101=4.0*SIN[#100];公式中的X坐标值
#102=7.5*COS[#100];公式中的Z坐标值
#103=#101*2+34.0;工件坐标系中的X坐标值
#104=#102-30.5;工件坐标系中的Z坐标值
G01X#103Z#104;加工曲面轮廓
#100=#100+1.0;角度增量为1.0ºIF[#100GE180.0]GOTO550;条件判断G01Z-42.0;X32.0Z-43.0;精加工左侧外圆轮廓G00X48.0;程序结束部分X100.0Z100.0;M05M09;M30;3.装夹刀具4.装夹工件用自定心三爪卡盘装夹工件,安装方法如图7.12所示。5.输入程序6.对刀使用试切法对刀,在机床刀具表中设定长度补偿。7.启动自动运行,加工零件8.测量零件,修正零件尺寸
课题三抛物线零件加工
本课题要求编程并加工如图7.14所示抛物线零件,毛坯为φ85棒料,材料为45钢。
a)零件图b)实体图图7.14抛物线零件一、基础知识1.抛物线的定义抛物线如图7.15所示,其定义为:动点P到一定点F(焦点)和一定直线l(准线)的距离相等时,动点P的轨迹。图7.15中,|PF|=|PQ|。
图7.15抛物线
2.抛物线的特征
3.抛物线的方程(1)直角坐标方程y2=2px(p>0)(2)极坐标方程(3)参数方程二、课题实施1.
工艺分析与工艺设计(1)图样分析如图7.14所示,零件由抛物线构成。(2)加工工艺路线设计①粗加工外轮廓;②精加工外轮廓;③切断;(2)刀具选择T01外圆车刀。2.程序编制下面只编写零件的精加工程序,其它部分程序请读者自行编写。主程序O0080;程序号
N10G50X200.0Z400.0;设定工件坐标系
N20M03S700;主轴正转启动,转速为700r/minN30T0101;选择1号刀具,1号刀补
N40G42G00X0Z3.0;建立刀尖圆弧半径补偿N50G01Z0F0.05;N60G65P9010A0.01B2.0C20.0D-80.0E0F0.03;
N70G01Z-110.0F0.05;取消刀补,主轴停
N80G40G00X200.0Z400.0T0100M05;程序结束
N90M02;子程序O9010;子程序号N10#6=#8;赋初始值
N20#10=#6+#1;加工步距(直径编程)N30#11=#10/#2;求半径(方程中的X)N40#15=#11*#11;求半径的平方(方程中的X)N50#20=#15/#3;求X/20N60#25=-#20;求-X/20N70#12=#11*#2;求2X(直径)N80G99G01X#12Z#25F#9;走直线进行加工
N90#6=#10;变换动点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络运营服务标准保障保证承诺书(3篇)
- 企业知识库构建与共享模板
- 网络付款安全保护保证承诺书(4篇)
- 客户关系管理CRM系统客户信息收集工具
- 2026年领导力提升培训计划方案
- 2026年小贷公司合规经营与小微客户服务升级
- 2026年二胎家庭长子心理适应辅导策略
- 2026年燃煤电厂掺氨燃烧改造项目商业计划书
- 历史辽、西夏与北宋并立课件2025-2026学年统编版七年级历史下册
- 社区新时代文明实践站工作实施方案
- 2026年甘肃甘南碌曲县卫健系统招聘工作人员50人笔试备考题库及答案解析
- 董事保险责任制度
- 2026年陕西工业职业技术学院单招职业技能测试题库带答案详解(新)
- 2026届湖北省武汉市高三三月调研考试英语试卷(含答案)
- 2026广东茂名市公安局茂南分局招聘警务辅助人员20人考试参考题库及答案解析
- 三年(2023-2025)湖北中考语文真题分类汇编:专题09 名著阅读(解析版)
- 2026年春季第二学期学校德育主题活动工作安排表
- NT8001系列控制器配置程序V4.1使用说明书
- 市域产教联合体绩效考核体系制度
- 2026年1月浙江省高考(首考)化学试题(含标准答案)
- 2026秋招:阿里巴巴面试题及答案
评论
0/150
提交评论