w66数控铣床编程入门(精编版)

  数控铣床编程入门(精编版)_计算机软件及应用_IT/计算机_专业资料。数控铣床编程入门精编版(FANUC 0i MC) 加工中心是在数控机床的基础上发展起来的,都是通过程序控制多轴联动走刀进行加工的数控 机床。不同的是加工中心具有刀库和自动换刀功能。 本章以 FAN

  数控铣床编程入门精编版(FANUC 0i MC) 加工中心是在数控机床的基础上发展起来的,都是通过程序控制多轴联动走刀进行加工的数控 机床。不同的是加工中心具有刀库和自动换刀功能。 本章以 FANUC 0i MC 系统加工中心为例介绍数控铣、加工中心编程的基本编程应用。 第一节 数控铣及加工中心编程基本指令 1、工件坐标系设定指令 G92 指令格式:G92 X-Y-Z-; 参数含义:X、Y、Z-刀具起始点在工件坐标系中的坐标值。 说明:该指令为 FANUC 0i MB 系统的数控铣、加工中心指令,指令一般处于程序的开始,作用 是建立工件加工的坐标系,该指令是一个非运动指令,只是设定工件坐标系原点,设定的坐标系在 机床重开机时消失。如图 5-1 所示。 例:G92 X150.0 Y300.0 Z200.0; 图 5-1 工件坐标系设定 2、工作坐标系的选取指令 G54~G59 根据零件图样所标尺寸基点的相对关系和有关形位公差要求,为编程计算方便,有的数控系统 用 G54~G59 预先设定 6 个工作坐标系,这些坐标系存储在机床存储器中,在机床重开机时仍然存 在,在程序中可以分别选取其中之一使用。 G54 可以确定工作坐标系 1;G55 可以确定工作坐标系 2;G56 可以确定工作坐标系 3 G57 可以确定工作坐标系 4;G58 可以确定工作坐标系 5;G59 可以确定工作坐标系 6 6 个工作坐标系皆以机床原点为参考点,分别以各自与机床原点的偏移量表示,需要提前输入 机床内部,如图 5-2 所示。 3、快速点定位指令 G00 指令格式:G00 X- Y- Z- 图 5-2 工件坐标系指令 1 参数含义:X-Y-Z 刀具快速点定位的目标点坐标。 说明:G00 在编程中常用来作快速接近工件切削起点或快速退刀、返回换刀点等。其运动速度 程序中不设定,由机床原始设置来确定。G00 只实现定位作用,对实际所走的路径不作严格要求, 刀具与工件的运动轨迹也由制造厂确定。运动时也不进行切削加工,编程时应注意参考所用机床的 有关说明,注意在快速近定位点时,避免刀具与工件等发生干涉碰撞。 4、直线 X-Y-Z-F-; 参数含义:X-Y-Z 直线插补的目标点坐标,F-切削速度。 说明:刀具作两点间的直线切削加工时用该指令,指令表示刀具从当前位置点开始以给定的速 度(切削速度 F),沿直线移动到目标点的位置。 如图 5-3 所示为三轴直线插补的空间直线,从 A 到 B 的直线插补指令如下: 绝对坐标编程: G90 G01 X30 Y40 Z20 F-; 相对坐标编程: G91 G01 X20 Y30 Z10 F-; 图 5-3 三轴插补的空间直线 在三坐标机床上加工时,如进行圆弧插补,要规定加工所在的平面,用 G 代码可以进行平面选 择,如图 5-4 所示。 G17 XY 平面 G18 ZX 平面 G19 YZ 平面 图 5-4 坐标平面设定示意图 6、圆弧插补指令 G02/G03 圆弧插补,G02 为顺时针圆弧插补,G03 为逆时针圆弧插补,刀具进行圆弧插补时必须规定所 在的平面,然后再确定回转方向,如图 5-4 所示。沿圆弧所在平面(如 XY 平面)的另一坐标轴的 负方向(-Z)看去,顺时针方向为 G02,逆时针方向为 G03。 2 ?I _ J _ ? 指令格式: ?G17? ?X ????GG1189???????GG9901??????GG0023???????YX _Y _ _Z_ _Z_ ????I _ K ???????RJ _ _ K __????F ?? __; 参数含义:X、Y、Z 为圆弧的终点坐标值。在 G90 状态,X、Y、Z 中的两个坐标字为工件坐标 系中的圆弧终点坐标。在 G91 状态,则为圆弧终点相对于起点的距离。 在 G90 或 G91 状态,I、J、K 中的两个坐标字均为圆弧圆心相对圆弧起点在 X、Y、Z 轴方向上 的增量值,也可以理解为圆弧起点到圆心的矢量(矢量方向指向圆心)在 X、Y、Z 轴上的投影。I、 J、K 为零时可以省略。 R 为圆弧半径,R 带“±”号,取法:若圆心角 Q≤180°,则 R 为正值;若 180°﹤Q﹤360°, 则 R 为负值。 如图 5-5 所示,用 G02、G03 指令对所示的圆弧进行编程,设刀具从 A 点开始沿 A、B、C 切削。 图 5-5 G02、G03 编程举例 用绝对值尺寸指令编程: G92 X200 Y40 Z0; G90 G03 X140 Y100 I-60 J0 F100; G02 X120 Y60 I-50 J0; 用增量尺寸指令编程: G91 G03 X-60 Y60 I-60 J0 F100; G02 X-20 Y-40 I-50 J0; 7、自动返回参考点指令 G27、G28 、G29 (1)返回参考点校验指令 G27 指令格式:G27; X、Y 、Z 为参考点在工件坐标系中的坐标值,可以检验刀具是否能够定位到参考点上。 在该指令下,被指令的轴以快速移动返回到参考点,自动减速并在指定坐标值处做定位检验, 如定位到参考点,该轴参考点信号灯亮;如不一致,则程序再作检查。 (2)自动返回参考点指令 G28 指令格式: G28 X_Y_Z_ ; X、Y 、Z 为中间点坐标值,可任意设置。机床先移动到这个点,而后返回参考点。 设置中间点是为了防止刀具返回参考点时与工件或夹具发生运动干涉。 例:N1 G90 X100.0 Y200.0 Z300.0 N2 G28 X400.0 Y500.0;(中间点是 400.0,500.0) N3 G28 Z600.0;(中间点是 400.0,500.0,600.0) (3)自动从参考点返回 G29 指令格式:G29 X_Y_Z_; X 、Y、Z 为返回的终点坐标 在返回过程中,刀具从任意位置先移动到 G28 所决定的中间点定位,然后再向终点移动。 8、 刀具长度补偿 G43、G44、G49 指令 3 刀具长度补偿指令一般用于刀具轴向(Z 方向)的补偿,它使刀具在 Z 方向上的实际位移量比 程序给定值增加或减少一个偏置量,这样当刀具在长度方向的尺寸发生变化时(如钻头刃磨后), 可以在不改变程序的情况下,通过改变偏置量,加工出所要求的零件尺寸。 指令格式: G00(G01)G43 Z_ H_; G00(G01)G44 Z_ H_; G49; 指令功能 :对刀具的长度进行补偿 指令说明: (1) G43 指令为刀具长度正补偿; (2) G44 指令为刀具长度负补偿; (3) G49 指令为取消刀具长度补偿; (4) 刀具长度补偿指刀具在 Z 方向的实际位移比程序给定值增加或减少一个偏置值; (5) 格式中的 Z 值是指程序中的指令值,即目标点坐标; (6) H 为刀具长度补偿代码,后面两位数字是刀具长度补偿寄存器的地址符。 H01 指 01 号寄存器,在该寄存器中存放对应刀具长度的补偿值。 使用 G43、G44 时,不管用绝对尺寸还是用增量尺寸指令编程,程序中指定的 Z 轴移动指令的 终点坐标值,都要与 H 代码指令的存储器中的偏移量进行运算。 执行 G43 时:Z 实际值=Z 指令值+H__中的偏置值 执行 G44 时:Z 实际值=Z 指令值-H__中的偏置值 例题 图 5-6 所示,图中 A 点为刀具起点,加工路线。要求刀具 在工件坐标系零点 Z 轴方向向下偏移 3mm,按增量坐标值方式编程(提示把偏置量 3mm 存入地址为 H01 的寄存器中)。 图 5-6 刀具长度补偿 N01 G91 G00 X70 Y45 S800 M03 N02 G43 Z-22 H01 N03 G01 Z-18 F100 M08 N04 G04 X5 N05 G00 Z18 N06 X30 Y-20 N07 G01 Z-33 F100 4 N08 G00 G49 Z55 M09 N09 X-100 Y-25 N10 M30 9、刀具半径补偿 G41、G42 指令 当用半径为 R 的圆柱铣刀加工工件轮廓 A 时,如果机床不具备刀补功能,编程人员要按照距轮 廓 A 距离为 R( R 为刀具半径)的刀具中心运动轨迹的数据来编程。其运算有时是很复杂的,而当 刀具刃磨后,刀具的半径减小,那么就要按新的刀心轨迹编程,否则加工出来的零件要增加一个余 量(即刀具的磨损量) 1)刀具半径补偿的建立 G41 刀具左补偿 G42 刀具右补偿 指令格式 :G41 G00/G01 X_ Y_ D_ ; G42 G00/G01 X_ Y_ D_; 指令功能:数控系统根据工件轮廓和刀具半径自动计算刀具中心轨迹,控制刀具沿刀具中心轨 迹移动,加工出所需要的工件轮廓,编程时避免计算复杂的刀心轨迹。 指令说明: (1) X__ Y__ 表示刀具移动至工件轮廓上点的坐标值; (2)D_为刀具半径补偿寄存器地址符,寄存器存储刀具半径补偿值; (3)如图 5-7 左图所示,沿刀具进刀方向看,刀具中心在零件轮廓左侧,则为刀具半径左补 偿,用 G41 指令; (4)如图 5-7 右图所示,沿刀具进刀方向看,刀具中心在零件轮廓右侧,则为刀具半径右补 偿,用 G42 指令; (5) 通过 G00 或 G01 运动指令建立刀具半径补偿。 图 5-7 刀具半径补偿位置判断 图 5-8 刀具半径补偿过程 例题:如图 5-8 所示,刀具由 O 点至 A 点,采用刀具半径左补偿指令 G41 后,刀具将在直线插 补过程中向左偏置一个半径值,使刀具中心移动到 B 点,其程序段为: G41 G01 X50 Y40 F100 D01 D01 为刀具半径偏置代码,偏置量(刀具半径)预先寄存在 D01 指令指定的寄存器中。 运用刀具半径补偿指令,通过调整刀具半径补偿值来补偿刀具的磨损量和重磨量,如图 5-9 所 示,r1 为新刀具的半径,r2 为磨损后刀具的半径。 此外运用刀具半径补偿指令,还可以实现使用同一把刀具对工件进行粗、精加工,如图 5-10 所示,粗加工时刀具半径 r1 为 r+Δ,精加工时刀具半径补偿值为 r,其中Δ为精加工余量。 5 图 5-9 刀具磨损后的刀具半径补偿 图 5-10 粗、精加工的刀具半径补偿 2)取消刀具半径补偿 G40 指令 指令格式:G00/G01 G40 X__ Y__ 指令功能 : 取消刀具半径补偿 指令说明 : (1) 指令中的 X__ Y__表示刀具轨迹中取消刀具半径补偿点的坐标值; (2) 通过 G00 或 G01 运动指令取消刀具半径补偿; (3) G40 必须和 G41 或 G42 成对使用。 例题:如图 5-8 所示,当刀具以半径左补偿 G41 指令加工完工件后,通过图中 CO 段取消刀具 半径补偿,其程序段为: G40 G00 X0 Y0 例:如图 5-11 所示 AB 轮廓曲线mm 的铣刀从 O 点开始移动,加工程序为: N10 G90 G17 G41 G00 X18 Y24 M03 D01 N20 G02 X74 Y32 R40 F100 N30 G40 G00 X84 Y0 N40 G00 X0 N50 M02 图 5-11 刀具半径补偿举例 综合举例:内轮廓铣削,如图 5-12 所示 6 图 5-12 内轮廓铣削 工艺分析刀具 T3 为Φ8 ㎜的铣刀,半径补偿号为 D03,长度补偿为 H03。外轮廓加工采用刀具 半径左补偿,沿圆弧切线,切出时也沿切线。内轮廓加工采用刀具半 径右补偿,P4—P5 为切人段,P6—P4 为切出段。外轮廓加工完毕取消刀具半径左补偿,待刀具至 P4 点,再建立半径右补偿。数控程序如下 00010 N0010 G54 G17 G21 G90 G40 G49 N0020 M06 T03 N0030 M03 S800 N0040 G43 G00 Z50.0 H02 N0050 G00 X100.0 Y100.0 N0060 G41 G01 X20.0 Y-40.0 F100 1903 N0070 G01 Z-4.0 N0080 X0 Y-40.0 N0090 G02 X0 Y-40.0 10 J40.0 N0100 G01 X-20.0 N0110 G00 Z50.0 N0120 G40 G0l X0 Y15.0 F110.0 N0l50 G42 G01 X0 Y0 D03 N0l60 G01 Z-4.0 N0170 G02 X-30.0 Y0 I-15.0 J0 N0l80 G02 X30.0 Y0 130.0 J0 N0l90 G02 X0 Y0 I-15.0 J0 N0200 G00 G40 X0 Y15.0 N0210 G28 Z100.0 M05 N0220 M30 第二节 循环指令和子程序 在铣削加工中,工件的孔加工、型腔和凸台加工是数控铣床加工的主要内容。在编程过程中, 对于孔加工(钻孔、攻丝、镗孔、深孔钻削等),常常使用孔加工固定循环指令,对于型腔和凸台 加工,常常使用子程序,应用循环指令和子程序可以简化加工程序和提高编程的效率。 7 一、 孔加工固定循环 1. 孔加工固定循环的运动与动作 对工件孔加工时,根据刀具的运动位置可以分为四个平面(如图 5-13 所示):初始平面、R 平面、工件平面和孔底平面。在孔加工过程中,刀具的运动由 6 个动作组成: 动作 1—快速定位至初始点 X,Y 表示了初始点在初始平面中的位置; 动作 2—快速定位至 R 点 刀具自初始点快速进给到 R 点; 动作 3—孔加工 以切削进给的方式执行孔加工的动作; 动作 4—在孔底的相应动作 包括暂停、主轴准停、刀具移位等动作; 动作 5—返回到 R 点 继续孔加工时刀具返回到 R 点平面; 动作 6—快速返回到初始点 孔加工完成后返回初始点平面。 为了保证孔加工的加工质量,有的孔加工固定循环指令需要主轴准停、刀具移位。图 5-14 表 示了在孔加工固定循环中刀具的运动与动作,图中的虚线 孔加工循环的平面 图 5-14 固定循环的动作 1)初始平面 初始平面是为安全操作而设定的定位刀具的平面。初始平面到零件表面的距离可以任意设定。 若使用同一把刀具加工若干个孔,当孔间存在障碍需要跳跃或全部孔加工完成时,用 G98 指令使刀 具返回到初始平面;否则,在中间加工过程中可用 G99 指令使刀具返回到 R 点平面,这样缩短加工 辅助时间。 2)R 点平面 R 点平面又叫 R 参考平面。这个平面表示刀具从快进转为工进的转折位置,R 点平面距工件表 面的距离主要考虑工件表面形状的变化,一般可取 2-5mm。 3)孔底平面 Z 表示孔底平面的位置,加工通孔时刀具伸出工件孔底平面一段距离,保证通孔全部加工到位, 钻削盲孔时应考虑钻头钻尖对孔深的影响。 2. 选择加工平面及孔加工轴线 三条指令,对应 XOY、XOZ 和 YOZ 三个加工平面,以及对应孔 加工轴线分别为 Z 轴、Y 轴和 X 轴。立式数控铣床孔加工时,只能在 XOY 平面内使用 Z 轴作为孔加 工轴线,与平面选择指令无关。下面主要讨论立式数控铣床孔加工固定循环指令。 3. 孔加工固定循环指令格式 指令格式: G90/G91 G99/G98 G73~G89 X__ Y__ Z__ R__ Q__ P__ F__ k__ 指令功能: 孔加工固定循环 指令说明: (1) 在 G90 或 G91 指令中,Z 坐标值有不同的定义。 (2) G98、G99 为返回点平面选择指令,G98 指令表示刀具返回到初始点平面,G99 指令表示刀 具返回到 R 点平面,如上图 5-13 所示; 8 (3) 孔加工方式 G73~G89 指令,孔加工方式对应指令见表 4-1; (4)X__ Y__ 指定加工孔的位置,(与 G90 或 G91 指令的选择有关); Z__ 指定孔底平面的位置(与 G90 或 G91 指令的选择有关); R__ 指定 R 点平面的位置(与 G90 或 G91 指令的选择有关); Q__ 在 G73 或 G83 指令中定义每次进刀加工深度,在 G76 或 G87 指令中定义位移量, Q 值为增量值,与 G90 或 G91 指令的选择无关; P__ 指定刀具在孔底的暂停时间,用整数表示,单位为 ms; F__ 指定孔加工切削进给速度。该指令为模态指令,即使取消了固定循环,在其后的加 工程序中仍然有效; k__ 指定孔加工的重复加工次数,执行一次 k1 可以省略。如果程序中选 G90 指令,刀具 在原来孔的位置上重复加工,如果选择 G91 指令,则用一个程序段对分布在一条直线上的若干个等 距孔进行加工。k 指令仅在被指定的程段中有效。 如图 5-15 左图所示,选用绝对坐标方式 G90 指令,Z 表示孔底平面相对坐标原点的距离,R 表示 R 点平面相对坐标原点的距离;如图 5-15 右图所示,选用相对坐标方式 G91 指令,R 表示初始 点平面至 R 点平面的距离,Z 表示 R 点平面至孔底平面的距离。 孔加工方式指令以及指令中 Z、R、Q、P 等指令都是模态指令。 图 5-15 G90 与 G91 的坐标计算 4. 各种孔加工方式说明 1)高速深孔往复排屑钻 G73 指令 指令格式:G73 X_ Y_ Z_ R_ Q_ F_ 孔加工动作如图 5-16 左图所示。G73 指令用于深孔钻削,Z 轴方向的间断进给有利于深孔加工 过程中断屑与排屑。指令 Q 为每一次进给的加工深度(增量值且为正值),图示中退刀距离 d 由数 9 控系统内部设定。 2)深孔往复排屑钻 G83 指令 指令格式:G83 X_ Y_ Z_ R_ Q_ F_ 孔加工动作如图 5-15 右图所示。与 G73 指令略有不同的是每次刀具间歇进给后回退至 R 点平 面,这种退刀方式排屑畅通,此处的 d 表示刀具间断进给每次下降时由快进转为工进的那一点至前 一次切削进给下降的点之间的距离,d 值由数控系统内部设定。由此可见这种钻削方式适宜加工深 孔。 图 5-16 G73 循环与 G83 循环 图 5-17 精镗孔 3)精镗孔 G76 指令 指令格式:G76 X_ Y_ Z_ R_ Q_ F_; 孔加工动作如图 5-17 所示。图中 OSS 表示主轴准停,Q 表示刀具移动量(规定为正值,若使用 了负值则负号被忽略)。在孔底主轴定向停止后,刀头按地址 Q 所指定的偏移量移动,然后提刀, 刀头的偏移量在 G76 指令中设定。采用这种镗孔方式可以高精度、高效率地完成孔加工而不损伤工 件表面。 4)钻孔 G81 指令与锪孔 G82 指令 G81 的指令格式为:G81 X_ Y_ Z_ R_ F_; G82 的指令格式为:G82 X_ Y_ Z_ R_ F_; 如图 5-18 所示,G82 与 G81 指令相比,唯一不同之处是 G82 指令在孔底增加了暂停,因而适用 于锪孔或镗阶梯孔,提高了孔台阶表面的加工质量,而 G81 指令只用于一般要求的钻孔。 图 5-18 钻孔与锪孔 5)精镗孔 G85 指令与精镗阶梯孔 G89 指令 G85 的指令格式为:G85 X_ Y_ Z_ R_ F_; G89 的指令格式为:G89 X_ Y_ Z_ R_ P_ F_; 如图 5-19 所示,这两种孔加工方式,刀具以切削进给的方式加工到孔底,然后又以切削进给 的方式返回 R 点平面,因此适用于精镗孔等情况,G89 指令在孔底增加了暂停,提高了阶梯孔台阶 表面的加工质量。 10 图 5-19 精镗孔与精镗阶梯孔 6)镗孔 G86 指令 指令格式:G86 X_Y_Z_R_F_K; 如图 5-20 所示,加工到孔底后主轴停止,返回初始平面或 R 点平面后,主轴再重新启动。采 用这种方式,如果连续加工的孔间距较小,可能出现刀具已经定位到下一个孔加工的位置而主轴尚 未到达指定的转速,为此可以在各孔动作之间加入暂停 G04 指令,使主轴获得指定的转速。 图 5-20 镗孔 G86 指令 7)反镗孔 G87 指令 指令格式:G87 X_ Y_ Z_ R_ Q_ F_; 如图 5-21 所示,X 轴和 Y 轴定位后,主轴停止,刀具以与刀尖相反方向按指令 Q 设定的偏移量 偏移,并快速定位到孔底,在该位置刀具按原偏移量返回,然后主轴正转,沿 Z 轴正向加工到 Z 点, 在此位置主轴再次停止后,刀具再次按原偏移量反向位移,然后主轴向上快速移动到达初始平面, 并按原偏移量返回后主轴正转,继续执行下一个程序段。采用这种循环方式,刀具只能返回到初始 平面而不能返回到 R 点平面。 图 5-21 反镗孔 8)镗孔 G88 指令 指令格式:G88 X_ Y_ Z_ R_ P_ F_; 如图 5-22 所示,刀具到达孔底后暂停,暂停结束后主轴停止且系统进入进给保持状态,在此 11 情况下可以执行手动操作,但为了安全,应先把刀具从孔中退出,再启动加工按循环启动按纽,刀 具快速返回到 R 点平面或初始点平面,然后主轴正转。 图 5-22 镗孔 G88 指令 9)攻丝循环指令 指令格式:(左旋)G74 X_ Y_ Z_ R_ P_ F_; (右旋)G84 X_ Y_ Z_ R_ P_ F_; 如图 5-23 所示,刀具切削进给到达孔底后暂停,暂停结束后主轴换向转动,刀具从孔中退出。 图 5-23 攻丝指令 例题:使用刀具长度补偿功能和固定循环功能加工如图 5-24 所示零件上的 12 个孔。 图 5-24 图 5-25 刀具图 1、分析零件图样,进行工艺处理 该零件孔加工中,有通孔、盲孔,需钻、扩和镗加工,故选择钻头 T01、扩孔刀 T02 和镗刀 T03, 加工坐标系 Z 向原点在零件上表面处。由于有三种孔径尺寸的加工,按照先小孔后大孔加工的原则, 12 确定加工路线为:从编程原点开始,先加工 6 个 φ6 的孔,再加工 4 个 φ10 的孔,最后加工 2 个 φ40 的孔。T01、T02 的主轴转数 S=600r/min,进给速度 F=120mm/min;T03 主轴转数 S=300r/min, 进给速度 F=50mm/min。 2、加工调整 T01、T02 和 T03 的刀具补偿号分别为 H01、H02 和 H03。对刀时,以 T01 刀为基准,按图 5.13 中的方法确定零件上表面为 Z 向零点,则 H01 中刀具长度补偿值设置为零,该点在 G53 坐标系中的 位置为 Z-35。对 T02,因其刀具长度与 T01 相比为 140-150=-10mm,即缩短了 10mm,所以将 H02 的 补偿值设为-10。对 T03 同样计算,H03 的补偿值设置为-50,如图 5-25 所示。换刀时,采用 O9000 子程序实现换刀。 根据零件的装夹尺寸,设置加工原点 G54:X=-600,Y=-80,Z=-35。 3、数学处理 在多孔加工时,为了简化程序,采用固定循环指令。这时的数学处理主要是按固定循环指令格 式的要求,确定孔位坐标、快进尺寸和工作进给尺寸值等。固定循环中的开始平面为 Z=5,R 点平 面定为零件孔口表面+Z 向 3mm 处。 4、编写零件加工程序 N10 G54 G90 G00 X0 Y0 Z30 //进入加工坐标系 N20 T01 M98 P9000 //换用 T01 号刀具 N30 G43 G00 Z5 H01 //T01 号刀具长度补偿 N40 S600 M03 //主轴起动 N50 G99 G81 X40 Y-35 Z-63 R-27 F120 //加工#1 孔(回 R 平面) N60 Y-75 //加工#2 孔(回 R 平面) N70 G98 Y-115 //加工#3 孔(回起始平面) N80 G99 X300 //加工#4 孔(回 R 平面) N90 Y-75 //加工#5 孔(回 R 平面) N100 G98 Y-35 //加工#6 孔(回起始平面) N110 G49 Z20 //Z 向抬刀,撤消刀补 N120 G00 X500 Y0 //回换刀点, N130 T02 M98 P9000 //换用 T02 号刀 N140 G43 Z5 H02 //T02 刀具长度补偿 N150 S600 M03 //主轴起动 N160 G99 G81 X70 Y-55 Z-50 R-27 F120 //加工#7 孔(回 R 平面) N170 G98 Y-95 //加工#8 孔(回起始平面) N180 G99 X270 //加工#9 孔(回 R 平面) N190 G98 Y-55 //加工#10 孔(回起始平面) N200 G49 Z20 //Z 向抬刀,撤消刀补 N210 G00 X500 Y0 //回换刀点 T220 M98 P9000 //换用 T03 号刀具 N230 G43 Z5 H03 //T03 号刀具长度补偿 N240 S300 M03 //主轴起动 N250 G76 G99 X170 Y-35 Z-65 R3 F50 //加工#11 孔(回 R 平面) N260 G98 Y-115 //加工#12 孔(回起始平面) N270 G49 Z30 //撤消刀补 N280 M30 //程序停 参数设置: H01=0,H02=-10,H03=-50; G54:X=-600,Y=-80,Z=-35。 13 二、子程序 1、子程序的概念 在一个加工程序中,如果其中有些加工内容完全相同或相似,为了简化程序,可以把这些重复 的程序段单独列出,并按一定的格式编写成子程序。主程序在执行过程中如果需要某一子程序,通 过调用指令来调用该子程序,子程序执行完后又返回到主程序,继续执行后面的程序段。 1)子程序的嵌套 为了进一步简化程序,可以让子程序调用另一个子程序,这种程序的结构 称为子程序嵌套。 2)子程序的应用 ① 零件上若干处具有相同的轮廓形状,在这种情况下,只要编写一个加工该轮廓形状的子程 序,然后用主程序多次调用该子程序的方法完成对工件的加工。 ② 加工中反复出现具有相同轨迹的走刀路线,如果相同轨迹的走刀路线出现在某个加工区域 或在这个区域的各个层面上,采用子程序编写加工程序比较方便,在程序中常用增量值确定切入深 度。 ③ 在加工较复杂的零件时,往往包含许多独立的工序,有时工序之间需要适当的调整,为了 优化加工程序,把每一个独立的工序编成一个子程序,这样形成了模块式的程序结构,便于对加工 顺序的调整,主程序中只有换刀和调用子程序等指令。 2、调用子程序M98 指令 指令格式 :M98 P×××××× 指令功能 :调用子程序 指令说明:P 后前两位××为重复调用子程序的次数,若只调用一次子程序可省略不写,后四 位××××要调用的子程序号。 例 M98 P020001 ;调用 0001 子程序 2 次。 3、子程序结束 M99 指令 指令格式:M99 指令功能:子程序运行结束,返回主程序 指令说明: 执行到子程序结束 M99 指令后,返回至主程序,继续执行 M98 P××××××程序 段下面的主程序; 4. 子程序的格式 O××××; ……; M99 ; 格式说明:其中 O××××为子程序号。 例题: 用直径为 20mm 的立铣刀,加工如图 5-26 所示零件。要求每次最大切削深度不超过 20mm。 (1)工艺分析 零件厚度为 40mm,根据加工要求,每次切削深度为 20mm,分 2 次切削加工,在这两次切深过 程中,刀具在 XOY 平面上的运动轨迹完全一致,故把其切削过程编写成子程序,通过主程序两次调 用该子程序完成零件的切削加工,中间两孔为已加工的工艺孔,设图示零件上表面的左下角为工件 坐标系的原点。 14 图 5-26 轮廓铣削程序 (2)加工程序 程序号 注释 O1000 N010 G90 G92 X0 Y0 Z300 使用绝对坐标方式编程,建立工件坐标系 N020 G00 X-50 Y-50 S800 M03 快速进给至 X=-50, Y=-50,主轴正转,转速 800r/min N030 G01 Z-20 F150 Z 轴工进至 Z=-20,进给速度 150mm/min N040 M98 P1010 调用子程序 O1010 N050 Z-45 F300 Z 轴工进至 Z=-45,进给速度 300mm/min N060 M98 P1010 调用子程序 O1010 N070 G00 X0 Y0 Z300 快速进给至 X=0,Y=0,Z=300 N100 M30 主程序结束 01010 子程序号 N010 G42 G01 X-30 Y0 F300 H02 M08 切削液开,直线 X100 直线 顺圆插补至 X=300,Y=0 N040 G01 X400 直线 直线,Y=300 N070 G01 Y-30 直线 直线,取消刀具半径补偿 N090 M09 切削液关 N100 M99 子程序结束并返回主程序 例题:用直径为 8mm 的立铣刀,粗铣如图 5-27 所示工件的型腔。 (1)工艺分析 ①确定工艺路线 所示,采用行切法,刀心轨迹 B→C→D→E→F 作为一个循环单元, 反复循环多次,设图示零件上表面的左下角为工件坐标系的原点。 ②计算刀心轨迹坐标、循环次数及步进量(Y 方向步距)。如图 5-28 所示,设循环次数为 n, Y 方向步距为 y,步进方向槽宽为 B,刀具直径为 d,则各参数关系如下: 15 图 5-27 工件的型腔铣削 图 5-28 切削轨迹 循环 1 次 铣出槽宽 y+d 循环 2 次 铣出槽宽 3y+d 循环 3 次 铣出槽宽 5y+d ┇ 循环 n 次 铣出槽宽(2n-1)y+d=B 根据图纸尺寸要求,将 B=50,d=8 代入式 (2n-1)y+d=B,即(2n-1)y=42 取 n=4,得 Y=6,刀心轨迹有 1mm 重叠,可行。 (2)加工程序 O1100 N010 G90 G92 X0 Y0 Z20 N020 G00 X19 Y19 Z2 S800 M03 N030 G01 Z-2 F100 N040 M98 P10104 N050 G90 G00 Z20 N060 X0 Y0 M05 N070 M30 O1010 N010 G91 G01 X47 F100 N020 Y6 N030 X-47 N060 Y6 N070 M99 第三节 用户宏指令 使用子程序编程可以重复同样的操作,简化程序的书写工作,但是用户宏提供了更丰富的编程 功能,它允许使用变量、算术和逻辑操作及条件分支,使得用户可以自行编辑软件包、固定循环程 序,非常方便。FANUC 0i 系统提供了两种宏程序,即用户宏程序 A 和用户宏程序 B。由于用户宏程 序 A 需要使用“G65Hm”格式的宏指令来表达各种数学运算,合逻辑关系,很不直观,可读性差, 因此本书仅介绍用户宏程序 B。 一、变量: 16 1 变量概述: 一个普通的零件加工程序指定 G 码并直接用数字值表示移动的距离,例:G100 X100.0。而利 用用户宏,既可以直接使用数字值也可以使用变量号。当使用变量号时,变量值既可以由程序改变, 也可以用 MDI 面板改变。 例:#1=#2+50 G01 X#1 F200 (1)变量书写规格: 当指定一个变量时,在#后指定变量号。例:#1,#100,#5 等。也可以用表达式指定变量号, 这时表达式要用方括号括起来。例:#[#1+#2+6]。 (2)变量的类型: 根据变量号将变量分为四类,见表 5-2: 表 5-2 变量的类型 变量名 类型 功能 #0 空变量 这个变量总是空的,不能赋值。 用 #1~#33 局部变量 局部变量只能在宏中使用,以保持操作的结果, 户 关闭电源时,局部变量被初始化成“空”。 变 #150~#1 公共变量 公共变量可在不同的宏程序间共享。关闭电源时 量 99 变 量 #100~#199 被 初 始 化 成 “ 空 ” , 而 变 量 #500~#9 #500~#999 保持数据。 99 #1000 系统变量 系统变量用于读写各种 NC 数据项,如当前位置、 刀具补偿值。 (3)变量值的范围: 局部变量和公共变量可以是值 0 和在下述范围内的值: -1047~ 10-29;10-29~1047,如果计算结果超不有效范围,发出 NO.111 号报警。 (4)忽略小数点: 在程序中定义变量时,可以忽略小数点。例:当#1=123 被定义时,变量#1 的实际值为 123.000。 (5)引用变量: 为了在程序中引用变量,指定一个字地址其后跟一个变量号。当用表达式指定一个变量时,须 用方括号括起来。例:G01 X[#1+#2] F#3。为了将引用的变量值的符号取反,在#号前加“-”号。 例:G00 X-#1;当引用一个未定义的变量时,忽略变量及引用变量的地址。例:#1=0 ,#2=“空”, 则 G00 X#1 Y#2;的执行结果是 G00 X0; 注意: 程序号、顺序号、任选段跳跃号不能使用变量。例:变量不能用于下列方法 O#1; /#2G00 X100.0; N#3 Y200.0; 未定义的变量: 当变量的值未定义时,这样的一个变量被看作“空”变量,变量#0 总是“空”变量,是一个只 读变量。 2 系统变量 系统变量能用来读写内部 NC 数据,如刀具补偿值和当前位置数据。然而,注意:有些系统变 量是只读变量。对于扩展自动化操作和一般的程序,系统变量是必须的。 3 算术和逻辑操作 在下表中列出的操作可以用变量进行。操作符右边的表达式,可以含有常数和(/或)由一个 功能块或操作符组成的变量。表达式中的变量#J 和#K 可以用常数替换。左边的变量也可以用表达 式替换。见下表: 表 5-3 算术和逻辑操作 17 功能 格式 注释 赋值 #i=#j 加 #i=#j+#k 减 #i=#j—#k 算 乘 #i=#j*#k 术 除 #i=#j/#k 运 正弦 #i=SIN[#j] 角度以度为单位,如:90 度 算 余弦 #i=COS[#j] 30 分表示成 90.5 度 正切 #i=TAN[#j] 反正切 #i=ATAN[#j]/[#] 平方根 #i=SQRT[#j] 绝对值 #i=ABS[#j] 进位 #i=ROUND[#j] 下取整 #i=FIX[#j] 上取整 #i=FUP[#j] 与 #i=#jAND#k 用二进制数按位进行逻辑操 逻辑 或 #i=#jOR#k 作。 运算 异或 #i=#jXOR#k 将 BCD 码转换成 BIN 码 #i=BIN[#j] 用于与 PMC 间信号的交换。 将 BIN 码转换成 BCD 码 #i=BCD[#j] 4 运算顺序: ①功能块。 如乘除(*,/,AND,MOD)这样的操作。 如加减(+,—,OR,XOR)这样的操作。 方括号嵌套: 方括号用于改变操作的顺序。最多可用五层,超出五层,出现 118 号报警。 注意:方括号用于封闭表达式,圆括号用于注释。 除数:如果除数是零或 TAN[90],则会产生 112 号报警。 5 分支和循环语句 在一个程序中,控制流程可以用 GOTO、IF 语句改变。有三种分支循环语句如下: GOTO 语句(无条件分支); IF 语句(条件分支:if,then); WHILE 语句(循环语句 while)。 (1)无条件分支(GOTO 语句) 功能:转向程序的第 N 句。当指定的顺序号大于 1~9999 时,出现 128 号报警,顺序号可以用 表达式。 格式 GOTO n;n 是顺序号(1~9999) (2)条件分支(IF 语句) 功能:在 IF 后面指定一个条件表达式,如果条件满足,转向第 N 句,否则执行下一段。 格式:IF [条件表达式] GOTO n; 其中: 条件表达式:一个条件表达式一定要有一个操作符,这个操作符插在两个变量或一个变量和一 个常数之间,并且要用方括号括起来,既[表达式 比较符 表达式]。 比较符见表 5-4: 表 5-4 比较符 18 操作符 意义 EQ = NE ≠ GT GE ≥ LT LE ≤ 下面的程序计算数值 1~10 的总和 O1001 #1=0 存储和数变量的初值 #2=1 被加数变量的初值 N1 IF[#2 GT 10]GOTO 2 当被加数大于 10 时转移到 N2 #1=#1+#2 计算和数 #2=#2+#1 下一个被加数 GOTO 1 转到 N1 N2 M30 程序结束 (3) 循环(WHILE 语句) 功能:在 WHILE 后指定一个条件表达式,条件满足时,执行 DO 到 END 之间的语句,否则执行 END 后的语句。 格式:WHILE[条件表达式]DO m;(m=1,2,3) END m; m 只能在 1、2、3 中取值,否则出现 126 号报警。 嵌套:①数 1~3 可以多次使用。 ②不能交叉执行 DO 语句,如下的书写格式是错误的: WHILE […] DO 1; 过程 WHILE […] DO 2; 过程 END 1; END 2; ③嵌套层数最多 3 级。 ④如下的书写格式是正确的: WHILE […] DO 1; IF […] GOTO n; : : END 1; Nn 6 宏调用 可以用下列方式调用宏程序: 简单调用 G65 模态调用 G66、G67 宏调用和子程序调用之间的区别: 用 G65,可以指定一个自变量(传递给宏的数据),而 M98 没有这个功能。 当 M98 段含有另一个 NC 语句时(如:G01 X100.0 M98Pp),则执行命令之后调用子程序,而 19 G65 无条件调用一个宏。 当 M98 段含有另一个 NC 语句时(如:G01 X100.0M98Pp),在单段方式下机床停止,而使用 G65 时机床不停止。 用 G65 地方变量的级要改变,而 M98 不改变。 1)简单调用(G65) 功能:G65 被指定时,地址 P 所指定的用户宏被调用,数据(自变量)能传递到用户宏程序中。 格式:G65 Pp Ll 自变量表; 其中: p 要调用的程序号 l 重复的次数(缺省值为 1,取值范围 1~9999) 自变量传递给宏的数。通过使用自变量表,值被分配给相应的地方变量。 如下列中#1=1.0,#2=2.0 O0001 : G65 P9010 L2 A1.0 B2.0; : M30; O9010; #3=#1+#2; IF [#3 GT 360] GOTO 9; G00 G91 X#3 N9 M99; 自变量分为两类。第一类可以使用除 G、L、O、N、P 之外的字母并且只能使用一次。第二类可 以使用 A、B、C(一次),也何以使用 I、J、K(最多十次)。自变量使用的类别根据使用的字母 自动确定。。 类别一: 表 5-5 地址 变量号 地址 变量号 地址 A #1 I #4 T B #2 J #5 U C #3 K #6 V D #7 M #13 W E #8 Q #17 X F #9 R #18 Y H #11 S #19 Z 地址 G、L、N、O、P 不能当作自变量使用。 不需要的地址可以省略,与省略的地址相应的地方变量被置成空。 类别二: 见表 5-6 地址 变量号 地址 变量号 地址 A #1 K3 #12 J7 B #2 I4 #13 K7 C #3 J4 #14 I8 I1 #4 K4 #15 J8 J1 #5 I5 #16 K8 变量号 #20 #21 #22 #23 #24 #25 #26 变量号 #23 #24 #25 #26 #27 20 K1 #6 J5 #17 I9 #28 I2 #7 K5 #18 J9 #29 J2 #8 I6 #19 K9 #30 K2 #9 J6 #20 I10 #31 I3 #10 K6 #21 J10 #32 J3 #11 I7 #22 K10 #33 在实际的程序中,I、J、K 的下标不写出来。 注意: 在自变量之前一定要指定 G65。 如果将两类自变量混合使用, NC 自己会辨别属于哪类,最后指定的那一类优先。 传递的不带小数点的自变量的单位与每个地址的最小输入增量一致,其值与机床的系统结构非 常一致。为了程序的兼容性,建议使用带小数点的自变量。 最多可以嵌套含有简单调用(G65)和模调用(G66)的程序 4 级。不包括子程序调用(M98)。 地方变量可以嵌套 0~4 级。主程序的级数是 0。用 G65 和 G66 每调用一次宏,地方变量的级数增加 一次。上一级地方变量的值保存在 NC 中。宏程序执行到 M99 时,控制返回到调用的程序。这时地 方变量的级数减 1,恢复宏调用时存储的地方变量值。 2)模态调用(G66、G67) 功能一旦指定了 G66,那么在以后的含有轴移动命令的段执行之后,地址 P 所指定的宏被调用, 直到发出 G67 命令,该方式被取消。 格式 G66 Pp Ll 自变量表; 其中: p:要调用的程序号 l:重复的次数(缺省值为 1,取值范围 1~9999) 自变量:传递给宏的数。与 G65 调用一样,通过使用自变量表,值被分配给相应的地方变量。 注意: 最多可以嵌套含有简单调用(G65)和模态调用(G66)的程序 4 级。不包括子程序调用(M98)。 模态调用期间可重复嵌套 G66。 在 G66 段,不能调用宏。 在自变量前一定要指定 G66。 在含有象 M 代码这样与轴移动无关的段中不能调用宏。 局部变量(自变量)只能在 G66 段设定,每次模调用执行时不能设定。 典型例题: 如图 5-29 所示,编制一个宏程序加工轮圆上的孔圆周的半径为 I 起始角为 A 间隔为 B, 钻孔 数为 H,圆的中心是 X Y 指令可以用绝对值指定顺时针方向钻孔时 B 应指定负值。 调用格式 图 5-29 21 G65 P9100 Xx Yy Zz Rr Ff Ii Aa Bb Hh; X:圆心的 X 坐标绝对值或增量值指定#24 Y:圆心的 Y 坐标绝对值或增量值指定#25 Z 孔深#26 R 快速趋近点坐标#18 F 切削进给速度#9 I 圆半径#4 A 第一孔的角度#1 B 增量角指定负值时为顺时针#2 H 孔数#11 宏程序调用程序 O0002 G90 G92 X0 Y0 Z100.0; G65 P9100 X100.0 Y50.0 R30.0 Z-50.0 F500 I100.0 A0 B45.0 H5; M30; 宏程序 被调用的程序 O9100 G81 Z#26 R#18 F#9 K0; 钻孔循环 N1 WHILE[#11 GT 0]DO 1; 直到剩余孔数为 0 #5=#24+#4*COS[#1]; 计算 X 轴上的孔位 #6=#25+#4*SIN[+1]; 计算 X 轴上的孔位 G90 X#5 Y#6; 移动到目标位置之后执行钻孔 #1=#1+#2; 更新角度 #11=#11-1; 孔数-1 END 1; G#3 G80; 返回原始状态的 G 代码 M99; 变量的含义: #5 下个孔的 X 坐标 #6 下个孔的 Y 坐标 第四节 自动编程加工 一、数控自动编程概述 自动编程是借助计算机及其外围设备自动完成从零件图构造、零件加工程序编制到控制介质制 作等工作的一种编程方法。目前,除工艺处理仍主要依靠人工进行外,编程中的数学处理、编写程 序单、制作控制介质、程序校验等各项工作均通过自动编程来完成。与手工编程相比,自动编程解 决了手工编程难以处理的复杂零件的编程问题,既减轻劳动强度、缩短编程时间,又可减少差错, 使编程工作简便。 (一)实现自动编程的环境要求 1.硬件环境 根据所选用的自动编程系统,配置相应的计算机及其外围设备硬件。不同的自动编程系统,其 硬件环境有些差异,需根据具体要求配置。 2.软件环境 22 软件是指程序、文档和使用说明书的集合。其中文档是指与程序的计划、设计、制作、调试和 维护等相关的资料;使用说明书是指计算机和程序的用户手册、操作手册等;程序是用某种语言表 达的由计算机去处理的一系列步骤,习惯也将程序简称为软件,它包括系统软件和应用软件两大类。 在自动编程软件中,按所完成的功能可分为前置计算程序和后置处理程序两部分。前置计算程 序是用来完成工件坐标系中刀位数据计算的一部分程序,如在图形交互式自动编程中,前置计算程 序主要为图形 CAD 和零件 CAM 部分。前置计算中所需要的原始数据都是编程人员给定的:可以是以 APT 语言源程序或在人机交互对话中给定,也可通过其它的方式给定。编程人员除给定这些原始数 据外,还会根据工艺要求给出一些与计算刀位无关的其它指令或数据。对于后一类指令或数据,前 置计算程序不予处理,都移交到后置处理程序去处理。 (二)自动编程的分类 自动编程技术发展迅速,至今已形成繁多的种类。从使用的角度出发,自动编程可从如下方面 来分类。 1.按计算机硬件的种类规格分类 (1)微机自动编程 其使用方便、价格低廉,如美国 CNC 软件公司的 MasterCAM 软件等。 (2)大、中、小型计算机自动编程 现有的 VAX 系列属于超小型计算机,IBM43××系列属于 中型计算机,国内研制的银河系列计算机属于大型计算机,这些可运行 CADAM、APT4/SS 等大中型 的 CAD/CAM 软件,充分发挥 CAD/CAM 功能和网络功能。 (3)工作站自动编程 工作站的硬件及软件全部配套供应,具有计算、图形交互处理功能, 特别适用于中小型企业。工作站常以小型计算机为其主机,其硬件包括字符终端、图形显示终端和 数据输入板等。目前在国际上知名度较高的工作站自动编程软件有 EDS 的 UNIGRAPHICS 公司的 UG Ⅱ、IBM 公司的 CADAM、CAMAX 公司的 CAMAND 等。 (4)依靠机床本身的数控系统进行自动编程 在机床本身的数控系统中,早已具有循环功能、 镜像功能、固定子程序功能、宏指令功能等,这些功能可以看成是利用机床本身的数控系统进行自 动编程的雏形,先进的数控系统已能进行一般性的编程计算和图形交互处理功能。这种自动编程方 式,适用于数控机床拥有量不多的小用户。 2.按编程信息的输入方式分类 (1)批处理方式自动编程 它是编程人员一次性地将编程信息提交给计算机处理,如早期的 APT 语言编程。由于信息的输入过程和编程结果较少有图形显示,特别是在编程过程中没有图形显 示,故这种方式欠直观、容易出错,编程较难掌握。 (2)人机对话式自动编程 它又称为图形交互式自动编程,是在人机对话的工作方式下,编 程人员按菜单提示内容反复与计算机对话,完成编程全部工作。由于人机对话对于图形定义、刀具 选择、起刀点的确定、走刀路线的安排以及各种工艺数据输入等都采用了图形显示,所以它能及时 发现错误,使用直观、方便。 3.按加工中采用的机床坐标数及联动性分类 按这种方式分类,自动编程可以点位自动编程、点位直线自动编程、轮廓控制机床自动编程等。 对于轮廓控制机床的自动编程,依照加工中采用的联动坐标数量,又有 2—2.5—3—4—5 坐标加工 的自动编程。 (三)图形交互式自动编程系统 在数控自动编程系统中,图形交互数控自动编程系统是目前国内外普遍采用的 CAD/CAM 软件, 它具有速度快、精度高、直观性好、实用简便、便于检查等优点,其编程内容和步骤的流程如图 5-30 所示。 23 图 5-30 图形交互自动编程系统编程流程 目前使用较多的图形交互数控自动编程系统有:国内北航海尔软件有限公司的 CAXA 软件,美 国 UNIGRAPHICS 公司的 UGⅡ软件,以色列的 Cimatron 软件,美国 CNC 软件公司的 MasterCAM 软件 和 PTC 公司的 Pro/E 软件等。 二、后置处理 后置处理是根据加工工件所用的 CNC 控制器后置处理程序,将 NCI 档案转换为该 CNC 控制器可 以识别的 NC 代码程序。 1.后置处理程序的准备 后置处理程序也是自动编程软件中的一部分程序。对于不同的数控机床,由于其数控系统不同, 其编程指令与格式也有所不同,所选用的后置处理程序(*.pst)也相应不同。对于具体的数控机 床,应选用对应的后置处理程序。 MasterCAM 提供了 400 种以上的后置处理程序可供选择,以适用于各种数控系统编程格式的要 求;可反转不同系统的 NC 程序成刀具路径档;可产生加工报表,其内容包括刀具的加工顺序、加 工时间、切削说明及切削条件等;可连接数控机床,作一般 NC 程序传输及 DNC 传输控制。若可供 选择的后置处理程序在 MasterCAM 中没有,则需由用户准备相应的后置处理程序,其方法有两种: (1)对类似的后置处理程序进行编辑修改 一般选取与该数控系统相同系列的后置处理程序 惯用文件,用任何文本编辑软件编辑修改使用者定义的后处理块、预先定义的后处理块和系统问题 等项后,以新文件名存档。 (2)根据对应数控系统编程格式的要求,重新设计后置处理程序。 2.后置处理的实现 Mastercam 系统后置处理的实现有两种途径: (1)在刀具路径下的刀具路径模组执行完后,选“结束程序”以关闭刀具路径文件,再选择 “执行后置处理”即可,它主要适合于对当前刚生成的刀具路径文件的后置处理。 (2)通过“公用管理”菜单进行。具体操作为:从主功能表中选择公用管理 →后置处理 → 更换机种→选取所需要的后置处理程序惯用文件→执行 NCI—NC,即可自动生成适合所选用数控系 统控制下的 NC 程序。 三、利用自动编程加工零件综合实例 下面主要通过一个例题,简要说明利用自动编程系统进 行 数控加工的综合应用。 如图 5-31 所示,为 5mm 厚的铝合金板平面凸轮零件, 采 用 MasterCAM 自动编程,在 KVC650 数控加工中心上加工其 外 轮廓。 其操作步骤如下。 1.软硬件配置 (1)微型计算机(PⅡ以上配置),安装有 MasterCAM 自 动编程系统应用软件。 图 5-31 凸轮零件 (2)机床 CNC 具备 RS232 接口及功能。 (3)机床 CNC 与 PC 机联接通信的电缆线)加工时所用的工装。 2.加工工艺分析 从图中可看出该零件由 AB、BC、AF、DE 四圆弧及线段 CD、EF 构成。因为φ20 孔是定位基准, 用螺栓螺母夹紧,所以对刀点选在Ф20 孔中心线的螺栓顶面处,如设置高度为 25mm 左右,具体对 刀指令可为 G92 X0 Y0 Z25。 采用Ф10mm 螺旋铣刀,工艺参数为 S250r/min、F100mm/min 3.图形构造 (1)依次打开微型计算机各电源开关:显示器电源→计算机主机电源 (2)运行 MasterCAM (3)产生φ100 左半圆 选择主功能表(Main menu)→绘图(create)→圆弧(Arc)→极坐 标点(Polar)→圆心点(Ctr Point)→输入圆心点:0,0← 输入半径:50← 输入起始角度:90°← 输入终止角度:270°← (4)产生上、下两个 R10 圆弧及一个 R30 圆弧 输入圆心点:0,40← 输入半径:10← 输入起始角度:0← 输入终止角度:90← 完成上面 R10 的圆弧 输入圆心点:0,-40← 输入半径:10← 输入起始角度:270← 输入终止角度:360← 完成下面 R10 的圆弧 输入圆心点:0,0← 输入半径:30← 输入起始角度:-90← 输入终止角度:90← 完成 R30 的圆弧 (5)产生两条切线 选择主功能表(Main menu)→绘图(create)→线(Line)→切线(Tangent) →两个物体(2 arcs)→点选物体,则画出两条切线 与切线 选择主功能表(Main menu)→修整(Modify)→ 修剪延伸(Trim)→二个物体(2 entities)→点选需要的,修剪去掉不需要的。 (7)存图档 选择主功能表(Main menu)→档案(File)→存档(Save)→文件名:****, 回车(“****”由用户自行取文件名)。 4.产生刀具路径 (1)选择主功能表(Main menu)→刀具路径(Tool paths)→外形铣削(Contour)→串联 (Chain)→点击 R50 圆弧→向前移动(move fwd),直到图形封闭为止→执行(Done)。 (2)设置刀具参数及外形铣削参数 具体参数设置如下: 2D 外形 吃刀深度:-7.000 粗切削次数及加工量:1 精切削次数及加工量:0 进、退刀线° 相切加工 刀具名称:10000FLT 刀具号码:1 刀具半径补正号码:101 刀具长补正号码:1 刀具直径:10 安全高度:25 XY 轴进给:100 Z 轴进给:100 25 主轴转速:250 起始行号:1 行号增量: 1 程序号码 :2000 电脑不补正,控制器右补正(可按外形的选择不同而不同) 冷却液开 选择执行(Done)后,则在屏幕上出现刀具路径。 5.后置处理 选择操作管理→执行后处理,选择后置处理程序为 Mpfan.pst→NCI,输入档名:****→NC,输 入档名:****(一般与 NCI 档的正名相同)→确定→形成凸轮零件的 NC 程序文件。 对于具体的数控系统,需选择合适的后置处理程序,可通过选择操作管理→执行后处理→更改 后处理程序→选择对应的后置处理程序,即可。 6.PC 与 CNC 的文件传输及在线加工。 机床通电前正确联接 CNC 与 PC 机之间的接口电缆,启动机床与 PC 机,机床进入正常运行状 态后将 CNC 置于 EDIT 方式,并将程序锁打开。 1)CNC→PC 的文件输出: PC 机运行机床代码传输软件,下面以 Mastercam 文件传输为例讲解。 图 5-32 如图 5-32 所示点击软件主菜单 F 档案项弹出档案菜单,点击下一页弹出下一页菜单,点击传 输项弹出图 5-33 所示对线 传输参数对话框 查机床系统参数设置,设置软件传输参数如图 5-34 对话框所示,注意传输波特率及通讯口一 定要与机床系统参数设置一致。 26 图 5-34 传输参数 点击接收按钮弹出如图 5-35 所示对话框,设置所要接收的文件名字及存放文件的路径。 图 5-35 点击保存则弹出如图 5-36 所示的对话框,至此 PC 机接收文件状态准备完毕。 图 5-36 将机床方式选择置与 方式下,按下 转换至编程界面,检索出所要传送的程序,选按屏 幕操作软键,选按屏幕 PUNCH 软键,选按屏幕 EXEC 软键,则文件开始输出。 至此文件 CNC→PC 机的文件传出完毕。 PC 机侧按 ESC 键退出文件接收状态。 2)PC→CNC 的文件输入: PC 机运行机床代码传输软件,下面以 Mastercam 文件传输为例讲解。 图 5-37 如上所示点击软件主菜单 F 档案项弹出档案菜单,点击下一页弹出下一页菜单,点击传输项弹 出图 5-38 所示对线 参数传输界面 查机床系统参数设置,设置软件传输参数如图 5-39 对话框所示,注意传输波特率及通讯口一 定要与机床系统参数设置一致。 图 5-39 传输参数对话框 点击传送按钮弹出如图 5-40 所示对话框,找出所要传送的文件的路径及文件。 至此 PC 机发送文件状态准备完毕。 图 5-40 将机床方式选择置与 方式下,按下 转换至编程界面,选按屏幕操作软键,选按屏幕 READ 软键,输入要接收的文件名字,选按屏幕 EXEC 软键,至此机床接收文件状态准备完毕。 PC 侧单击图 5-41 对话框的打开按钮则开始传送。 28 图 5-42 所示为文件传状态。 图 5-41 图 5-42 文件传送完毕则对话框关闭。 至此文件 PC 机→CNC 的文件输入完毕。 3)DNC 的在线加工: 在线加工之前切记检查机床坐标系与刀具补偿。通过对刀的方式将机床工件坐标系、刀具补偿 与编程坐标系统、补偿设定统一起来。 机床侧状态设定: 将机床方式选择置与 方式下,按下 按钮,将进给速度(F)调节旋钮旋至 O 位。主轴转 速修调旋至 100,至此机床在线加工准备完毕。 PC 侧状态准备: PC 机运行机床代码传输软件,下面以 Mastercam 在线加工传输为例讲解。 图 5-42 如图 5-42 所示点击软件主菜单 F 档案项弹出档案菜单,点击下一页弹出下一页菜单,点击传 输项弹出图 5-43 所示对线 传输参数 查机床系统参数设置,设置软件传输参数如图 5-44 对话框所示,注意传输波特率及通讯口一 定要与机床系统参数设置一致。 图 5-44 点击传送按钮弹出如图 5-45 所示对话框,找出所要在线加工的文件的路径及文件。 图 5-45 单击上图对话框的打开按钮则在线加工开始。 机床侧查验无误后将进给倍率逐渐调至于 100 在机床和 PC 机进入在线 所示为在线加工程序输送状态。 图 5-46 注意在线加工状态切记 PC 机与 CNC 不要掉电。 30 思考题与习题五 5-1 编制图 5-47、5-48、5-49、5-50 工件加工程序。 图 5-47 图 5-48 图 5-49 31 5-2 简述工件坐标系的设定方法有哪几种? 5-3 如何调用子程序 5-4 用户宏程序有哪两种? 5-5 CNC 如何实现在线