子程序在数控编程中的应用实例
- 格式:docx
- 大小:75.29 KB
- 文档页数:7
数控编程中子程序的定义和调用方法
1.子程序的定义
在编制加工程序中,有时会遇到一组程序段在-个程序中多次出现,或者在几个程序中都要使用它。
这个典型的加工程序可以做成固定程序,并单独加以命名,这组程序段就称为子程序。
2.使用子程序的目的和作用
使用子程序可以减少不必要的编程重复,从而达到减化编程的目的。
主程序可以调用子程序,一个子程序也可以调用下一级的子程序。
子程序必须在主程序结束指令后建立,其作用相当于一个固定循环。
3.子程序的调用
在主程序中,调用子程序的指令是一个程序段,其格式随具体的数控系统而定,FANUC-6T 系统子程序调用格式为
M98 P--L--
式中M98--子程序调用字;
p--子程序号;
L--子程序重复调用次数。
由此可见,子程序由程序调用字、子程序号和调用次数组成。
4.子程序的返回
子程序返回主程序用指令M99,它表示子程序运行结束,请返回到主程序。
5.子程序的嵌套
子程序调用下一级子程序称为嵌套。
上一级子程序与下一级于程序的关系,与主程序与第一层子程序的关系相同。
子程序可以嵌套多少层由具体的数控系统决定,在FANUC-6T系统中,只能有两次嵌套。
简单数控车床编程100例数控车床是一种高精度、高效率的机床,广泛应用于各个行业。
为了更好地发挥数控车床的作用,掌握一些简单的数控车床编程技巧是非常重要的。
下面将介绍100个简单的数控车床编程例子,帮助大家更好地理解和掌握数控车床编程。
1. G00 X100.0 Y50.0:快速定位到坐标(100.0,50.0)处。
2. G01 X150.0 Y100.0 F100.0:以速度100.0进行直线插补,从当前位置移动到坐标(150.0,100.0)处。
3. G02 X200.0 Y150.0 I50.0 J0.0:以速度100.0进行顺时针圆弧插补,半径为50.0,终点坐标为(200.0,150.0)。
4. G03 X250.0 Y200.0 I50.0 J0.0:以速度100.0进行逆时针圆弧插补,半径为50.0,终点坐标为(250.0,200.0)。
5. G04 P1000:停留1000毫秒。
6. G17:选择XY平面。
7. G18:选择XZ平面。
8. G19:选择YZ平面。
9. G20:以英寸为单位。
10. G21:以毫米为单位。
11. G28 X:将X轴回到参考点。
12. G28 Y:将Y轴回到参考点。
13. G28 Z:将Z轴回到参考点。
14. G40:取消半径补偿。
15. G41 D01:启用D01刀具半径补偿。
16. G42 D02:启用D02刀具半径补偿。
17. G43 H01:启用H01刀具长度补偿。
18. G44 H02:启用H02刀具长度补偿。
19. G49:取消刀具长度补偿。
20. G54:选择工件坐标系1。
21. G55:选择工件坐标系2。
22. G56:选择工件坐标系3。
23. G57:选择工件坐标系4。
24. G58:选择工件坐标系5。
25. G59:选择工件坐标系6。
26. G61:精确路径控制模式。
27. G64:常规路径控制模式。
28. G80:取消模态指令。
29. G81 X100.0 Y100.0 Z-10.0 R5.0 F100.0:以速度100.0进行钻孔循环,孔径为10.0,深度为5.0,坐标为(100.0,100.0)。
半径编程图3.1.1 半径编程%3110 (主程序程序名)N1 G92 X16 Z1 (设立坐标系,定义对刀点的位置)N2 G37 G00 Z0 M03 (移到子程序起点处、主轴正转)N3 M98 P0003 L6 (调用子程序,并循环6次)N4 G00 X16 Z1 (返回对刀点)N5 G36 (取消半径编程)N6 M05 (主轴停)N7 M30 (主程序结束并复位)%0003 (子程序名)N1 G01 U-12 F100 (进刀到切削起点处,注意留下后面切削的余量)N2 G03 U7.385 W-4.923 R8(加工R8园弧段)N3 U3.215 W-39.877 R60 (加工R60园弧段)N4 G02 U1.4 W-28.636 R40(加工切R40园弧段)N5 G00 U4 (离开已加工表面)N6 W73.436 (回到循环起点Z轴处)N7 G01 U-4.8 F100 (调整每次循环的切削量)N8 M99 (子程序结束,并回到主程序)直线插补指令编程图3.3.5 G01编程实例%3305N1 G92 X100 Z10 (设立坐标系,定义对刀点的位置)N2 G00 X16 Z2 M03 (移到倒角延长线,Z轴2mm处)N3 G01 U10 W-5 F300 (倒3×45°角)N4 Z-48 (加工Φ26外圆)N5 U34 W-10 (切第一段锥)N6 U20 Z-73 (切第二段锥)N7 X90 (退刀)N8 G00 X100 Z10 (回对刀点)N9 M05 (主轴停)N10 M30 (主程序结束并复位)车床编程实例三圆弧插补指令编程%3308N1 G92 X40 Z5 (设立坐标系,定义对刀点的位置)N2 M03 S400 (主轴以400r/min旋转)N3 G00 X0 (到达工件中心)N4 G01 Z0 F60 (工进接触工件毛坯)N5 G03 U24 W-24 R15 (加工R15圆弧段)N6 G02 X26 Z-31 R5 (加工R5圆弧段)N7 G01 Z-40 (加工Φ26外圆)N8 X40 Z5 (回对刀点)N9 M30 (主轴停、主程序结束并复位图3.3.8 G02/G03编程实例倒角指令编程图3.3.10.1 倒角编程实例%3310N10 G92 X70 Z10 (设立坐标系,定义对刀点的位置)N20 G00 U-70 W-10 (从编程规划起点,移到工件前端面中心处)N30 G01 U26 C3 F100 (倒3×45°直角)N40 W-22 R3 (倒R3圆角)N50 U39 W-14 C3 (倒边长为3等腰直角)N60 W-34 (加工Φ65外圆)N70 G00 U5 W80 (回到编程规划起点)N80 M30 (主轴停、主程序结束并复位)车床编程实例五倒角指令编程%3310N10 G92 X70 Z10 (设立坐标系,定义对刀点的位置)N20 G00 X0 Z4 (到工件中心)N30 G01 W-4 F100 (工进接触工件)N40 X26 C3 (倒3×45°的直角)N50 Z-21 (加工Φ26外圆)N60 G02 U30 W-15 R15 RL=3(加工R15圆弧,并倒边长为4的直角)N70 G01 Z-70 (加工Φ56外圆)N80 G00 U10 (退刀,离开工件)N90 X70 Z10 (返回程序起点位置)M30 (主轴停、主程序结束并复位)图3.3.10.2 倒角编程实例圆柱螺纹编程螺纹导程为1.5mm,δ=1.5mm,δ '=1mm ,每次吃刀量(直径值)分别为0.8mm、0.6 mm 、0.4mm、0.16mm图3.3.12 螺纹编程实例%3312N1 G92 X50 Z120 (设立坐标系,定义对刀点的位置)N2 M03 S300 (主轴以300r/min旋转)N3 G00 X29.2 Z101.5 (到螺纹起点,升速段1.5mm,吃刀深0.8mm)N4 G32 Z19 F1.5 (切削螺纹到螺纹切削终点,降速段1mm)N5 G00 X40 (X轴方向快退)N6 Z101.5 (Z轴方向快退到螺纹起点处)N7 X28.6 (X轴方向快进到螺纹起点处,吃刀深0.6mm)N8 G32 Z19 F1.5 (切削螺纹到螺纹切削终点)N9 G00 X40 (X轴方向快退)N10 Z101.5 (Z轴方向快退到螺纹起点处)N11 X28.2 (X轴方向快进到螺纹起点处,吃刀深0.4mm)N12 G32 Z19 F1.5 (切削螺纹到螺纹切削终点)N13 G00 X40 (X轴方向快退)N14 Z101.5 (Z轴方向快退到螺纹起点处)N15 U-11.96 (X轴方向快进到螺纹起点处,吃刀深0.16mm)N16 G32 W-82.5 F1.5 (切削螺纹到螺纹切削终点)N17 G00 X40 (X轴方向快退)N18 X50 Z120 (回对刀点)N19 M05 (主轴停)N20 M30 (主程序结束并复位)恒线速度功能编程图3.3.14 恒线速度编程实例%3314N1 G92 X40 Z5 (设立坐标系,定义对刀点的位置)N2 M03 S400 (主轴以400r/min旋转)N3 G96 S80 (恒线速度有效,线速度为80m/min)N4 G00 X0 (刀到中心,转速升高,直到主轴到最大限速)N5 G01 Z0 F60 (工进接触工件)N6 G03 U24 W-24 R15 (加工R15圆弧段)N7 G02 X26 Z-31 R5 (加工R5圆弧段)N8 G01 Z-40 (加工Φ26外圆)N9 X40 Z5 (回对刀点)N10 G97 S300 (取消恒线速度功能,设定主轴按300r/min旋转)N11 M30 (主轴停、主程序结束并复位)车床编程实例八%3317M03 S400 (主轴以400r/min旋转)G91 G80 X-10 Z-33 I-5.5 F100(加工第一次循环,吃刀深3mm)X-13 Z-33 I-5.5(加工第二次循环,吃刀深3mm)X-16 Z-33 I-5.5(加工第三次循环,吃刀深3mm)M30 (主轴停、主程序结束并复位)图3.3.17 G80切削循环编程实例G81指令编程(点画线代表毛坯)图3.3.20 G81切削循环编程实例%3320N1 G54 G90 G00 X60 Z45 M03 (选定坐标系,主轴正转,到循环起点)N2 G81 X25 Z31.5 K-3.5 F100 (加工第一次循环,吃刀深2mm)N3 X25 Z29.5 K-3.5 (每次吃刀均为2mm,)N4 X25 Z27.5 K-3.5 (每次切削起点位,距工件外圆面5mm,故K值为-3.5)N5 X25 Z25.5 K-3.5 (加工第四次循环,吃刀深2mm)N6 M05 (主轴停)N7 M30 (主程序结束并复位车床编程实例十G82指令编程(毛坯外形已加工完成)%3323N1 G55 G00 X35 Z104(选定坐标系G55,到循环起点)N2 M03 S300 (主轴以300r/min正转)N3 G82 X29.2 Z18.5 C2 P180 F3(第一次循环切螺纹,切深0.8mm)N4 X28.6 Z18.5 C2 P180 F3(第二次循环切螺纹,切深0.4mm)N5 X28.2 Z18.5 C2 P180 F3(第三次循环切螺纹,切深0.4mm)N6 X28.04 Z18.5 C2 P180 F3(第四次循环切螺纹,切深0.16mm)N7 M30 (主轴停、主程序结束并复位)图3.3.23 G82切削循环编程实例车床编程实例十一外径粗加工复合循环编制图3.3.27所示零件的加工程序:要求循环起始点在A(46,3),切削深度为1.5mm(半径量)。
熙塑龃谈调用子程序法实现数控车削梯形螺纹的加工陈刚(三明市第三技工学校,福建三明366013)慵篓}通过研究调薅季穆摩求褰瑰穆数控韦廉土率剃梯影螺纹的方法,在对编程数据精细计算的基础上,砖梯形壤纹黟醣瑟袋冀壤遴餮精准测量,并依掇耱彩螺绫1滔2鬣矗攀嗣窦饿藏用增萋坐标编嘲予程序,在加工主程序里多次调用干程序避错赣壤渤黼蠢壤灏凌滏蓠霉垮卑献截备撩锅耱怒竭躜醢侈2罐蕊敦耀每馘I鼋镰謦;搦移蠊{|i【.?j|谈到梯形螺纹的数控车削,多数人都会想到使用宏程序,通过变量的设鼹并完成其分层切削,左右切削的复杂过程。
当然宏程序编程是能较易体现这类加工的要求,但是宏程序的编制是数控编程的一大难点,尤其在技校的教学中,若使技校生都能理解和运用宏程序有相当大的难度,如果能既通过采用普通的编程方法,又能可靠地实现梯形螺纹的加工过程要求,无疑会收到较好的效果。
梯形螺纹在加工过程中每刀的切削量不能过大,切削次数较多,而且为防止螺纹车刀三面参n口切削,除了分层切削外,还应采用左右切削法来进行车削,以减,Jv切削力,在同一切削深度上要车削几刀才能满足其宽度要求。
这样我们在对编程数据隋细计算的基础上,通过对梯形螺纹刀的刀头宽度的精准测量,再使用增量坐标编制子程序,在加工程序里多次调用子程序进行分层切削,就能够安全,可靠地车削出合格的梯形螺纹。
下面我们就以图1为例来说明调用子程序加工梯形螺纹T r32X6的方法。
图11梯形螺纹编程所需数据的计算1.1毛坯的定位点x坐标×=t∑哟埴径+(0.5P+ac)X2+1=32+(0.5×6+0.5)X 2+1=40式中:P——螺距Ac一一牙顶间隙0.5P+ac一牙形高表l螺距值选择表螺距p1.5~56~1213~44牙顶间隙a.C0.25O.5112确定第一刀下刀点x坐标值×=公称直径中间值一O_2查表确定公称直径上下偏差值,取其中f茵馗一02第一刀下刀点X值=公称直径中间值一0.2=32—0.2—0.2=31.613螺纹小径x值×=公乖孓直{_圣一(0.5P+ac)X2=32一(0.5x6+0.5)×2=251.4总切削次数总切削次数=(第一刀下刀点X坐标值一小径)/X方向进刀量(1I.陉值)+1=(31.6—25)/o.1+1=6715每次进刀距离增量坐标u值U=毛坯定位点X坐标一第一刀下刀点X坐标值=40—316=8.42梯形螺纹刀头宽度的准确测量2562009年7月f下梯形螺纹的数控车削编程需要有车刀的刀头宽度值的准确测量数据,由于所测位置斜面的存在和游标卡尺下量爪的厚度的影响,测量时极不易测准,这使刃磨出的车刀刀头过宽或过窄,中径尺寸不好控制。
数控编程与操作数控铣床子程序子程序在一个加工程序中,若其中某些加工内容完全相同,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序。
主程序在执行过程中如果需要某一子程序,则可通过调用指令来调用该子程序,子程序执行完后又返回到主程序,继续执行后面的程序段。
子程序1、子程序的应用(1)在零件上若干处具有相同的轮廓形状的情况下,只需编写一个加工该轮廓的子程序,然后用主程序多次调用该子程序即可完成对工件的加工。
(2)加工中反复出现具有相同轨迹的走刀路线,如果相同轨迹的走刀路线出现在某个加工区域或在这个加工区域的各个层面上,则采用子程序编写加工程序比较方便,在程序中常用增量值确定切入深度,实现零件的分层切削。
(3)在加工较复杂的零件时,往往包含许多独立的程序,有时工序之间需要作适当的调整,为了优化加工程序,可把每一个独立的工序编成一个子程序,这样可形成模块式的程序结构,便于对加工顺序进行调整,主程序中只有换刀和调用子程序等指令。
子程序2、调用子程序编程格式:M98 P××××L×说明:P为要调用的子程序号;L为调用次数,若只调用一次可省略不写,系统允许重复调用次数为1~9999次。
3、子程序结束M99编程格式:M99说明:执行到子程序结束指令M99后,返回至主程序,继续执行M98 P××××程序段下面的主程序。
4、子程序的格式编程格式:%××××;…M99%1236 M03S1000 G54G90G00Z100(G54建立工件坐标系)(G90绝对编程,缺省值)X0Y0(观察对刀是否正确)X-10Y5(定位)Z10G01Z-1F300(下刀)M98P11L5(调用子程序,调用5次)G00Z100M05M30%11(子程序,图中红色部分)G91G01X130F300(G91增量编程)Y10X-130Y10G90(注销G91)M991.铣平面编程举例(调用子程序)示例:调用子程序加工铣削一工件平面,尺寸如图。
华中数控子程序调用例子华中数控子程序是指在数控编程中,将一些常用或者重复的程序段进行封装,以便在需要的时候进行调用,提高编程效率。
下面是一些华中数控子程序调用的例子:1. 加工圆孔:在数控编程中,经常会遇到需要加工圆孔的情况。
为了方便重复使用,可以将加工圆孔的子程序封装起来。
通过调用该子程序,可以实现对不同尺寸和位置的圆孔进行加工。
2. 加工直线:加工直线是数控加工中最基本的操作之一。
可以将加工直线的子程序封装起来,通过调用该子程序,可以实现对不同位置和长度的直线进行加工。
3. 加工螺纹:在数控加工中,经常需要对工件进行螺纹加工。
将加工螺纹的子程序封装起来,可以方便地调用该子程序进行螺纹加工,实现不同规格和精度的螺纹加工。
4. 切割轮廓:在数控加工中,有时需要对工件进行切割轮廓的加工。
可以将切割轮廓的子程序封装起来,通过调用该子程序,可以实现对不同形状和尺寸的轮廓进行切割。
5. 加工孔组:在数控加工中,有时需要对多个孔进行加工,例如加工一个孔组。
可以将加工孔组的子程序封装起来,通过调用该子程序,可以实现对不同位置和尺寸的孔组进行加工。
6. 加工倒角:在数控加工中,有时需要对工件进行倒角加工。
将加工倒角的子程序封装起来,可以方便地调用该子程序进行倒角加工,实现不同角度和半径的倒角加工。
7. 加工螺孔:在数控加工中,经常需要对工件进行螺孔加工。
将加工螺孔的子程序封装起来,可以方便地调用该子程序进行螺孔加工,实现不同规格和精度的螺孔加工。
8. 加工圆弧:在数控加工中,有时需要对工件进行圆弧加工。
将加工圆弧的子程序封装起来,可以方便地调用该子程序进行圆弧加工,实现不同半径和角度的圆弧加工。
9. 加工内外螺纹:在数控加工中,有时需要对工件进行内外螺纹加工。
将加工内外螺纹的子程序封装起来,可以方便地调用该子程序进行内外螺纹加工,实现不同规格和精度的螺纹加工。
10. 加工槽口:在数控加工中,有时需要对工件进行槽口加工。
发那科子程序调用实例
在数控编程中,子程序调用是一个常见的操作,可以用来简化复杂的程序,提高编程效率和代码可读性。
以下是一个使用发那科(FANUC)数控系统进行子程序调用的示例:假设我们要加工一个复杂的零件,需要执行多个切削循环操作,每个循环都有相同的加工路径,但切削参数不同。
为了简化程序,我们可以将这些循环编写成子程序,并在主程序中调用它们。
首先,创建一个子程序(例如:SUB1),用于执行切削循环操作。
在子程序中,我们可以定义切削参数、切削路径等。
然后,在主程序中调用这个子程序。
假设主程序的名称为:MAIN。
在主程序中,使用“CALL”指令来调用子程序。
例如:
CALL SUB1
这行代码将调用名为“SUB1”的子程序。
在执行主程序时,系统将跳转到子程序的位置并执行其中的代码。
我们可以在主程序中根据需要调用多次子程序,以执行不同的切削循环操作。
例如,我们可以定义多个不同的切削参数和路径,并在主程序中依次调用它们。
除了简单的子程序调用外,发那科数控系统还支持嵌套子程序调用和参数传递等功能。
这些功能可以进一步扩展子程序调用的灵活性,满足更复杂的加工需求。
需要注意的是,具体的子程序调用方式和语法可能因不同的数控系统和编程软件而有所不同。
因此,在实际使用时,请参考发那科数控系统的相关文档和编程手册,以确保正确使用子程序调用功能。
车床编程实例一半径编程图3.1.1 半径编程%3110 (主程序程序名)N1 G92 X16 Z1 (设立坐标系,定义对刀点的位置)N2 G37 G00 Z0 M03 (移到子程序起点处、主轴正转)N3M98 P0003 L6 (调用子程序,并循环6次)N4 G00 X16 Z1 (返回对刀点)N5 G36 (取消半径编程)N6 M05 (主轴停)N7 M30 (主程序结束并复位)%0003 (子程序名)N1 G01 U-12 F100 (进刀到切削起点处,注意留下后面切削的余量)N2 G03 U7.385 W-4.923 R8(加工R8 园弧段)N3U3.215 W-39.877 R60 (加工R60 园弧段)N4G02 U1.4 W36 R40(加工切R40 园弧段)N5 G00U4 (离开已加工表面)N6 W736 (回到循环起点Z轴处)N7 G01 U-4.8 F100 (调整每次循环的切削量)N8 M99 (子程序结束,并回到主程序)直线插补指令编程图3.3.5 G01 编程实例%3305N1 G92 X100 Z10 (设立坐标系,定义对刀点的位置)N2 G00 X16 Z2 M03 (移到倒角延长线,Z 轴2mm 处)N3 G01 U10 W-5 F300 (倒3×45°角)N4 Z-48 (加工Φ26 外圆)N5 U34 W-10 (切第一段锥)N6 U20 Z-73 (切第二段锥)N7 X90 (退刀)N8 G00 X100 Z10 (回对刀点)N9 M05 (主轴停)N10 M30 (主程序结束并复位)车床编程实例三圆弧插补指令编程%3308N1 G92 X40 Z5 (设立坐标系,定义对刀点的位置)N2 M03 S400 (主轴以400r/min 旋转)N3 G00 X0 (到达工件中心)N4 G01 Z0 F60 (工进接触工件毛坯)N5 G03 U24 W-24 R15 (加工R15 圆弧段)N6 G02 X26 Z-31 R5 (加工R5 圆弧段)N7 G01 Z-40 (加工Φ26 外圆)N8 X40 Z5 (回对刀点)N9 M30 (主轴停、主程序结束并复位图3.3.8 G02/G03 编程实例倒角指令编程图3.3.10.1 倒角编程实例%3310N10 G92 X70 Z10 (设立坐标系,定义对刀点的位置)N20 G00 U-70 W-10 (从编程规划起点,移到工件前端面中心处)N30 G01 U26 C3 F100 (倒3×45°直角)N40 W-22 R3 (倒R3 圆角)N50 U39 W-14 C3 (倒边长为3等腰直角)N60 W-34 (加工Φ65 外圆)N70 G00 U5 W80 (回到编程规划起点)N80 M30 (主轴停、主程序结束并复位)车床编程实例五倒角指令编程%3310N10 G92 X70 Z10 (设立坐标系,定义对刀点的位置)N20 G00 X0 Z4 (到工件中心)N30 G01 W-4 F100 (工进接触工件)N40 X26 C3 (倒3×45°的直角)N50 Z-21 (加工Φ26 外圆)N60 G02 U30 W-15 R15 RL=3(加工R15 圆弧,并倒边长为4的直角)N70 G01 Z-70 (加工Φ56 外圆)N80 G00 U10 (退刀,离开工件)N90 X70 Z10 (返回程序起点位置)M30 (主轴停、主程序结束并复位)图3.3.10.2 倒角编程实例车床编程实例六圆柱螺纹编程螺纹导程为1.5mm,δ=1.5mm,δ'=1mm ,每次吃刀量(直径值)分别为mm、mm 、0.4mm、图3.3.12 螺纹编程实例%3312N1 G92 X50 Z120 (设立坐标系,定义对刀点的位置)N2 M03 S300 (主轴以300r/min 旋转)N3 G00 X29.2 Z101.5 (到螺纹起点,升速段1.5mm,吃刀深m m)N4 G32 Z19 F1.5 (切削螺纹到螺纹切削终点,降速段1mm)N5 G00 X40 (X 轴方向快退)N6 Z101.5 (Z 轴方向快退到螺纹起点处)N7 X28.6 (X 轴方向快进到螺纹起点处,吃刀深0.6mm)N8 G32 Z19 F1.5 (切削螺纹到螺纹切削终点)N9 G00 X40 (X 轴方向快退)N10 Z101.5 (Z 轴方向快退到螺纹起点处)N11 X28.2 (X 轴方向快进到螺纹起点处,吃刀深0.4mm)N12 G32 Z19 F1.5 (切削螺纹到螺纹切削终点)N13 G00 X40 (X 轴方向快退)N14 Z101.5 (Z 轴方向快退到螺纹起点处)N15 U-11.96 (X 轴方向快进到螺纹起点处,吃刀深0.16mm)N16 G32 W-82.5 F1.5 (切削螺纹到螺纹切削终点)N17 G00 X40 (X 轴方向快退)N18 X50 Z120 (回对刀点)N19 M05 (主轴停)N20 M30 (主程序结束并复位)恒线速度功能编程%3314车床编程实例七图3.3.14 恒线速度编程实例N1 G92 X40 Z5 (设立坐标系,定义对刀点的位置)N2 M03 S400 (主轴以400r/min 旋转)N3 G96 S80 (恒线速度有效,线速度为80m/min)N4 G00 X0 (刀到中心,转速升高,直到主轴到最大限速)N5 G01 Z0 F60 (工进接触工件)N6 G03 U24 W-24 R15 (加工R15 圆弧段)N7 G02 X26 Z-31 R5 (加工R5 圆弧段)N8 G01 Z-40 (加工Φ26 外圆)N9 X40 Z5 (回对刀点)N10 G97 S300 (取消恒线速度功能,设定主轴按300r/min 旋转)N11 M30 (主轴停、主程序结束并复位)车床编程实例八%3317M03 S400 (主轴以400r/min 旋转)G91 G80 X-10 Z-33 I-5.5 F100(加工第一次循环,吃刀深3mm)X-13 Z-33 I-5.5(加工第二次循环,吃刀深3mm)X-16 Z-33 I-5.5(加工第三次循环,吃刀深3mm)M30 (主轴停、主程序结束并复位)图3.3.17 G80 切削循环编程实例车床编程实例九G81 指令编程(点画线代表毛坯)图3.3.20 G81 切削循环编程实例%3320N1 G54 G90 G00 X60 Z45 M03 (选定坐标系,主轴正转,到循环起点)N2 G81 X25 Z31.5 K-3.5 F100 (加工第一次循环,吃刀深2mm)N3 X25 Z29.5 K-3.5 (每次吃刀均为2mm,)N4 X25 Z27.5 K-3.5 (每次切削起点位,距工件外圆面5mm,故K值为-3.5)N5 X25 Z25.5 K-3.5 (加工第四次循环,吃刀深2mm)N6 M05 (主轴停)N7 M30 (主程序结束并复位车床编程实例十G82 指令编程(毛坯外形已加工完成)%3323N1 G55 G00 X35 Z104(选定坐标系G55,到循环起点)N2 M03 S300 (主轴以300r/min 正转)N3 G82 X29.2 Z18.5 C2 P180 F3(第一次循环切螺纹,切深0.8mm)N4 X28.6 Z18.5 C2 P180 F3(第二次循环切螺纹,切深0.4mm)N5 X28.2 Z18.5 C2 P180 F3(第三次循环切螺纹,切深0.4mm)N6 X28.04 Z18.5 C2 P180 F3(第四次循环切螺纹,切深0.16mm)N7 M30 (主轴停、主程序结束并复位)图3.3.23 G82 切削循环编程实例车床编程实例十一外径粗加工复合循环编制图3.3.27 所示零件的加工程序:要求循环起始点在A(46,3),切削深度为1.5mm(半径量)。
子程序在数控编程中的应用技巧
、引言在一个加工程序中的若干位置,假如包含有一连串在写法上完全相同或相似的内容,为了简化程序,可以把这些重复的程序段单独列出,并按一定的格式编写成子程序。
主程序在执行过程中假如需要某一子程序,可以通过调用指令来调用该程序,子程序执行后又可以返回主程序,继续执行后面的程序段。
子程序在数控编程中应用相当广泛。
公道、正确应用子程序功能,为编写和修改加工程序带来很大方便,能大大进步工作效率。
下面先容子程序的应用原则。
(1)零件上有若干处相同的轮廓外形。
在这种情况下只编写一个子程序,然后用主程序调用该子程序就可以了。
⑵加工中反复出现有相同轨迹的走刀路线。
被加工的零件需要刀具在某一区域内分层或分行反复走刀,走刀轨迹总是出现某一特定的外形,采用子程序比较方便,此时通常要以增量方式编程。
(3)程序的内容具有相对的独立性。
在加工较复杂的零件时,往往包含很多独立的工序,有时工序之间的调整也是容许的,为了优化加工顺序,把每一个的工序编成一个独立子程序,主程序中只需加进换刀和调用子程序等指令即可。
、子程序的应用实例与技巧
1.分层切深零件外轮廓示例:用直径为20mm勺立铣刀,加工图1所示零件。
要求每次最大切削深度不
超过10mm
分析:零件在Z 向厚度为40mm 根据要求,假如每次切削的深度为 10mm 则需 通过4次切深完成,在这四次循环切深过程中,刀具在 XY 平面上的运动轨迹是 完全一样的。
故只要把刀具在 XY 平面上的运动轨迹编写成子程序,主程序四次 调用该子程序就可以了。
参考程序及说明如表 零件1的参考加工程序
2. 分层切深加工槽
示例:用直径为8mmi 勺立铣刀, 要求
每次切削的深度不超
过2mm 分析:将刀心轨迹A-B-C-D-A 编成子程序,主程序三次调用子程序,使槽深逐次 增加,此时通常采用增量
方式编程比较方便,参考加工程序如表 2所示。
1所示。
加工长方形槽,刀心轨迹如图2所示,槽深6mm I *
图1零件之一
#0111
I I
厂 /-
6什lilii
图2零件之二
表2零件2参考加工程序
G54 X?[» V2n 72G剂建立加工址标系,碱進进蚱童X耳:见Y M H 站Wi左軸J M斡』§遽%胃抽打如】1"
NO3I3 CUN Z*ii Fboo Xi4XZ-n
INrUO 汽仙⑶何卩洞丿打〒il序iTEl"
N1ISI3 Cmi CXOZirMJ快晅至2吐展
IN L K I(3 >:h YO快速移帝至X FI. YF
Ml 6圭軸粋』$
M(C<1序Pt乘
子程/卜宕
DhHiM
NUInOH (:< H 2 2
NiCrXhi]直罠苗*卜車H
IN"引J Y 5計jl饯曲补蚤L
M141J X f克媒話补至门
ZL51T Y"费血报拾补呈A
NiM;巧MM 4子电并总札洋速回主浇【卜
3.分行切宽粗加工型腔示例:用直径为8mm勺立铣刀,粗铣如图3所示的型腔。
分析:(1)确定工艺路线如图4a所示刀心轨迹A-B-C-D-E-F-G作为一个循环单元,反复循环多次;(2)计算刀心轨迹坐标、循环次数及步进量如图4b所示。
设
循环次数为n , 丫方向的步进距为y ,步进方向槽宽为B ,刀具直径为d ,则各参 数关系如下:
根据图样要求,将B =50、d =8代进B=(2n-1)y+d ,取n=4,得Y = 6,刀心轨迹 有1mn 重叠,方案可行。
相关参考程序如表
3所示。
70
1倣 图3零件之三
循环1次, 循环2次, 循环3次, 循环n 次, 铣出槽宽 铣出槽宽 铣出槽宽 铣出槽宽 y+d ; 3y+d ; 5y+d ; B=(2n-1)y+d 。
表3零件3的参考加工程序
4.加工多工序零件
示例:用直径为5mm勺立铣刀,加工图5所示的零件,方槽的深度为6mm圆槽的深度为4mm要求每次切削的深度不超过2mm试用子程序编程。
分析:将两工序的加工轨迹编成子程序,然后用主程序分别调用,参考程序如表4所示。
图4刀心轨迹
M0
100图5零件之四
表4零件4的参考加工程序
本文通过几个典型的实例,从而具体、全面地先容了FANU係统中子程序的应用技巧,进步了编制程序的效率,简化了加工程序。
(en d)。