数控编程与加工第7章数控加工宏编程.ppt

上传人:za****8 文档编号:7165594 上传时间:2020-03-14 格式:PPT 页数:41 大小:653.06KB
返回 下载 相关 举报
数控编程与加工第7章数控加工宏编程.ppt_第1页
第1页 / 共41页
数控编程与加工第7章数控加工宏编程.ppt_第2页
第2页 / 共41页
数控编程与加工第7章数控加工宏编程.ppt_第3页
第3页 / 共41页
点击查看更多>>
资源描述
本章内容 7 1概述 7 2FANUC系统的A类宏程序及其应用 7 3FANUC系统的B类宏程序及其应用 7 1概述 1 概念 所谓用户宏程序是将一群命令所构成的功能像子程序一样事先输入到存储器中 再把这些功能用一个命令作为代表 执行时只需写出这个代表命令 就可以执行其功能 我们将这一群命令称为宏程序本体 简称用户宏程序 或用户宏指令 这个代表命令称为用户宏命令 也称为宏调用命令 若水平方向去除的材料为 竖直方向去除的材料的宽度为 则上面的程序将变为如下形式 O0050 N1G90G54 设定加工初始状态 N2M3S500 N3M08 N4G0X 20 0Y 20 0Z100 其中X 20 0Y 20 0为初始点坐标 N5G1Z2 0F500 N6Z 10 0 到达切削层深度 N7G41XaD01F150 进行刀具半径补偿 N8Y 80 b N9X 100 a N10Yb N11X0 N12G40X 20 0Y 20 0 取消刀具半径补偿 N13G0Z200 M30 程序结束 将其中的变量用宏程序中的变量 i对应为 1 2 则宏程序即可写为如下形式 O0050 N1G90G54M03S500 N2M08 N3G65P0501A10 0B10 0 N4M05 N5M30 经分析 可以写出如下加工程序 取毛坯上表面的左下角点为工件原点 O0050 N1G90G54 设定加工初始状态 N2M3S500 N3M08 N4G0X 20 0Y 20 0Z100 其中X 20 0Y 20 0为初始点坐标 N5G1Z2 0F500 N6Z 10 0 到达切削层深度 N7G41X10 0D01F150 进行刀具半径补偿 N8Y70 0 N9X90 0 N10Y10 0 N11X0 N12G40X 20 0Y 20 0 取消刀具半径补偿 N13G0Z200 M30 程序结束 O0501 N1G0X 20 0Y 20 0Z100 0 N2G1Z2 0F500 N3Z 10 0 N4G41X 1D01F150 N5Y 80 0 2 N6X 100 0 1 N7Y 2 N8X0 N9G40X 20 0Y 20 0 N10G0Z200 0 N11M99 例如 现有一批零件需要加工 毛坯的尺寸100mm 80mm 40mm 要求切出一个长 宽分别为10mm 深10mm的台阶 如图所示 编写加工程序 7 1概述 2 宏编程的技术特点 宏程序的主要特征有以下几个方面 可以在用户宏本体中使用变量 可以进行变量之间的运算 可以用用户宏对变量进行赋值 d 程序可以跳转令 宏本体中使用变量 例如 G01F100可以写为 1 100 G01F 1 变量之间进行运算 算术运算 例如 2 10 3 20 1 2 3 那么G01G90X 1F200后 X 30 圆整函数 ROUND FIX FUP 例如 假设 1 2 1 2 2 1 当执行 3 FUP 1 时 3 0赋给 3 当执行 3 FIX 1 时 2 0赋给 3 当执行 3 FUP 2 时 3 0赋给 3 当执行 3 FIX 2 时 2 0赋给 3 三角函数 SIN COS TAN ATAN ASIN ACOS 例如 1 30 X 10 SIN 1 那么X 5 混合函数 SQRT ABS 例如 2 4 Y SQRT 2 那么Y 2 对变量进行赋值 例如 19 1000程序可以跳转 例如 GOTO5程序转到N5段执行程序 7 1概述 3 变量及其应用 使用用户宏程序时 数值可以直接指定或用变量指定 变量是指可以在宏主体的地址上代替具体数值 在调用宏主体时再用引数进行赋值的符号 i i 1 2 3 使用变量可以使宏程序具有通用性 宏主体中可以使用多个变量 用变量号码进行识别 1 变量的形式变量是用符号 后面加上变量号码所构成的 即 i i 1 2 3 例如 3 100 也可用表达式的形式表示 例如 100 1 2 5 10 3 2 变量的引用地址符后的数值可以用变量置换 例如 F 101 当 101 500时 F 101与F500指令相同 X 101与X500指令相同 注意 作为地址符的O N 等 不能引用变量 3 未定义变量当变量值未定义时 这样的变量成为 空 变量 变量 0总是空变量 它不能写 只能读 当引用一个未定义的变量时 地址本身也被忽略 例如 当变量 2的值是空时 并且变量 3的值是0时 G00X 2Y 3的执行结果为G00Y0 2 1 1 2 0 2 1 1 2 0 2 1 2 2 0 2 1 2 2 0 2 1 2 0 2 1 2 当 1 0时 当 1 时 除了EQ NE的场合外 与0相同 1GT 0不成立 1GT 0不成立 1GE 0成立 1GE 0成立 1NE 0不成立 1NE 0成立 1EQ 0不成立 1EQ 0成立 当 1 0时 当 1 时 除了用赋值外 其余情况下与0相同 变量从功能上主要可归纳为两种 即 系统变量 系统占用部分 用于系统内部运算时各种数据的存储 例如刀具偏置和当前位置数据 但是 某些系统变量只能读 不能写 系统变量是自动控制和通用程序开发的基础 系统变量 工件偏置量 5221 5315 单步 连续控制 3003 3004 各轴现时位置 5021 5026 时钟 3001 3002 各轴程序段终点位置 5001 5006 P S报警信息 3000 3006 D E F H M S T等 4107 4120 刀具补偿量 2000 2999 G代码 4001 4018 接口信号DO 1100 1135 镜像 3007 接口信号DI 1000 1035 用途 变量号码 用途 变量号码 FANUC0i系统的变量类型 系统变量用于读写各种NC数据项 如当前位置 刀具补偿值 系统变量 1000以上 公共变量可在不同的宏程序间共享 关闭电源时变量 100 149被初始化成 空 而变量 500 531保持数据 即使在断电时也不清除 公共变量 100 149 199 500 531 999 局部变量只能在宏中使用 以保持操作的结果 关闭电源时 局部变量被初始化成 空 宏调用时 自变量分配给局部变量 局部变量 1 33 用户变量 这个变量总是空的 不能赋值 空 变量 0 功能 变量类型 变量名 7 2FANUC系统的A类宏程序及其应用 1 宏调用指令 A类宏程序是以G65HxxP xxQ xxR xx的格式输入的 而B类宏程序则是以直接的公式和语言输入的 1 非模态调用 G65 调用格式 G65P L G65 宏调用代码 P P之后的宏程序号码 L 循环次数 省略时为1 由地址符及数值 有小数点 构成 给宏主体中所对应的变量赋予实际数值 O0010 G65P9001L3A2 0B3 0 M30 O9001 3 1 2 IF 3GT360 GOTO10 G00G91X 3N10M99 例如 引数赋值有以下两种形式 引数赋值 和引数赋值 引数赋值 所指定的地址和变量号的对应关系 引数赋值 所指定的地址和变量号的对应关系 非模态调用G65示例 编制一个宏程序加工轮圆上的圆周螺纹孔 圆周上的半径为I 起始角度为A 间隔为B 钻孔数为H 圆的中心是 X Y 指令可以用绝对坐标或增量坐标编程 顺时针方向钻孔时B应指定负值 调用格式G65P9100XxYyZzRrFfIiAaBbHh X 圆心的X坐标 绝对值或增量值指定 用 24表示 Y 圆心的Y坐标 绝对值或增量值指定 用 25表示 Z 孔深 用 26表示 R 趋近点坐标 用 18表示 F 切削进给速度 用 9表示 I 圆半径 用 4表示 A 第一个孔的角度 用 1表示 B量角 用 2表示 H 孔数 用 11表示 宏调用程序O0006 主程序名G90G92X0Y0Z100 0 绝对坐标编程 刀具起始点在工件原点上方100mm处G65P9100X200 0Y100 0R25 0Z 60 0F450I200 0A0B 30 0H6 非模态G65调用赋值M30 变量的含义 3 储存03组的G代码 5 下个孔的X坐标 6 下个孔的Y坐标 宏程序O9100 主程序名 3 4003 储存03组G代码G81Z 26R 18F 9K0 钻孔循环IF 3EQ90 GOTO1 在G90方式下转移到N1 24 5001 24 计算圆心的X坐标 25 5002 25 计算圆心的Y坐标N1WHILE 11GT0 DO1 直到剩余孔为0 5 24 4 COS 1 计算X轴上的孔位 6 25 4 SIN 1 计算Y轴上的孔位G90X 5Y 6 移动到目标位置之后执行钻孔 1 1 2 更新角度 11 11 1 孔数减1END1 G 3G80 返回原始状态的G代码M99 7 2FANUC系统的A类宏程序及其应用 1 宏调用指令 2 模态调用 G66 调用格式 G66P L 模态调用宏程序G67 取消用户宏程序 O0011 N40G66P9002L3A2 0B3 0 N50G00G90X150 0 N60Y220 0 N70X200 0Y330 0 N80G67 N100M30 O9002 N50G00Z 1 N60G01Z 2F300 N70G00G91X 3 N100M99 例如 说明 1 在G66之后 用地址P指定模态代码调用的程序号 2 当要求重复时 在地址L后指定从1 9999的重复次数 3 与非模态代码G65调用相同 自变量指定的数据传递到宏程序体中 4 调用可以嵌套4级 包括非模态代码调用G65和模态代码调用G66注意 1 在G66程序段中 不能调用宏程序 2 G66必须在自变量之前指定 3 在只有诸如辅助功能 但无移动指令的程序段中不能调用宏程序 4 局部变量 自变量 只能在G66程序段中指定 每次执行模态代码调用时 不再设定局部变量 模态调用G66示例 用宏程序编制G81固定循环的操作 加工程序使用模态调用 固定循环由下面基本动作组成 X Y轴定位 刀具快速定位到参考平面高度R点 切削进给到Z点 快速退回到R点或初始高度点 调用格式调用格式G66P9100XxYyZzRrFfLl X 孔的X坐标 绝对值指定 用 24表示 Y 孔的Y坐标 绝对值指定 用 25表示 Z 孔深Z坐标 绝对值指定 用 26表示 R 参考平面高度点坐标 用 18表示 F 切削进给速度 用 9表示 L 孔加工重复次数 宏调用程序O0007 主程序名G92X0Y0Z100 0 刀具起始点在工件原点上方100mm处G00G90X80 0Y20 0 绝对坐标编程 快速点定位G66P9100Z 60 0R6 0F450 G90X60 0Y10 0 X80 0 Y 10 0 X30 0 X90 0Y 30 0 G67 M30 宏程序O9100 主程序名 1 4001 储存G00 G01代码 2 4003 储存G90 G91代码 3 4109 储存切削进给速度 5 5003 储存钻孔开始的Z坐标G00G90Z 18 定位在R点G01Z 26F 9 切削进给到Z点IF 4010EQ98 GOTO1 返回到初始高度点G00Z 18 定位在R点GOTO2 N1G00Z 5 定位在初始高度N2G 1G 2F 3 恢复模态信息M99 7 2FANUC系统的A类宏程序及其应用 1 宏调用指令 A类宏程序是以G65HxxP xxQ xxR xx的格式输入的 而B类宏程序则是以直接的公式和语言输入的 3 用G代码调用宏程序格式 G 例如 将宏主体O9010用G81调用 如下所示 1 将宏程序号设为O9010 2 将与O9010对应的参数号码 6050 上的值设定为81 即参数6050 81 用G81调用宏程序O9010 如下所示 O0012 G81X20 0Y30 0Z40 0 M30 O9010 M99 7 2FANUC系统的A类宏程序及其应用 2 宏功能指令 一般形式 G65HmP iQ jR k式中 m 宏程序功能 数值范围01 99 i 运算结果存放处的变量名 j 被操作的第一个变量 也可以是一个常数 k 被操作的第二个变量 也可以是一个常数 宏功能指令表 7 2FANUC系统的A类宏程序及其应用 3 编程实例 1 在一根轴上加工N个槽 每个槽的宽度为 槽的间距为 槽底直径为 棒料直径 并且设所给材料足够长 试编写程序加工该零件 现有一零件参数为N 50个槽 槽宽 4mm 间隔 3mm 槽底直径 35mm 工件直径 40mm 刀宽为4mm 现编写程序加工 1 零件工艺过程分析该零件是一个比较简单的例子 假定槽宽与刀宽相等 零件的精度要求不高 为了使程序有更广泛的适应性 将宏程序做成一个子程序 用主程序来调用实现零件的加工 零件的加工过程如下 将刀具移至加工起点 进刀 切削第一个槽 计算下一槽的位置并将刀具移到此位置 加工下一个槽 如此至最后一个槽加工完为止 2 零件加工过程中所使用的变量通过分析 要加工该零件 需要如下一些变量 槽宽 200 a1槽间间隔 201 a2槽底直径 202 a3工件直径 203 a4切槽刀宽度 204每加工一个槽后 切槽刀在Z轴方向移动的距离 205 等于槽间距加上槽宽 槽的起点坐标Xs 206 Zs 207加工终点的坐标Xf 208 Yf 207 计算槽数目的变量 215加工槽的总数 216根据程序流程图编制程序宏程序O9061 N10G65H83P160Q 204R 200 N20G65H01P 215Q0 计数器变量清零N30G65H02P 205Q 200R 201 计算 205N40G65H02P 206Q 203R4 N50G65H02P 207Q 201R 204 N60G65H01P 207Q 207 取负值后作为第一个槽的Z向起点 N70G65H01P 208Q 202 N80G00X 206Z 207M08 N90G01X 208Z 207F20 N100G04X2 N110G00X 206 N120G65H03P 207Q 207R 205 N160M99 N130G65H02P 215Q 215R1 N140G65H84P90Q 215R 216 N150M08 主程序O0001 N10G65H01P 200Q4 槽宽赋值N20G65H01P 201Q3 槽间间隔赋值N30G65H01P 202Q35 槽底直径赋值N40G65H01P 203Q40 工件直径赋值N50G65H01P 204Q4 切槽刀宽赋值N60G65H01P 216Q50 槽数赋值N70G00X80Z100 起刀点位置N80M98P9061 调用宏程序N90M30 程序结束 2 零件厚度为10mm 试编写该零件图的外轮廓精加工程序 用A类宏程序编程 1 零件加工过程中所使用的变量该零件是对外轮廓进行铣削精加工的一个比较简单的例子 通过分析 要加工该零件 需要如下一些变量 X方向的尺寸 101 X方向的尺寸 103 Y方向的尺寸 102 Y方向的尺寸 104 圆弧半径尺寸 105 工件厚度尺寸 106 Y方向退刀量 107 主轴转速 108 进给速度 109 N70X 103 N80G03G91X 105Y 105R 105 N90G65P 107Q 104R5 N100G01G01Y 107 N110G00G40X 10Y 10 N120G90Z100 N130X0Y0 N140M08 N150M99 2 根据程序流程图编制程序为了使程序有更广泛的适应性 使程序能完成同类型零件的加工 将宏程序做成一个子程序 用主程序来调用实现零件的加工 宏程序O9062 N10G54G00G90X 10Y 10Z50 N20G00Z5 快速靠近工件N30G00G42X 5Y0D01 进行刀具半径补偿N40G01Z 12F 109 Z向下N50G01X 101 X方向切削工件N60Y 102 Y方向切削工件 3 主程序O0002 N10G65H01P 101Q120 X方向尺寸1赋值N20G65H01P 102Q80 Y方向尺寸1赋值N30G65H01P 103Q90 X方向尺寸2赋值N40G65H01P 104Q50 Y方向尺寸2赋值N50G65H01P 105Q30 刀具半径赋值N60G65H01P 106Q10 工件厚度赋值N70G65H01P 108Q500 主轴转速赋值N80G65H01P 109Q50 切削进给速度赋值N90M03S 108 设定主轴转速N100M98P9062 调用宏程序N110M30 程序结束 3 用宏程序和子程序功能顺序加工圆周等分孔 设圆心在O点 它在机床坐标系中的坐标为 X0 Y0 在半径为r的圆周上均匀地钻几个等分孔 起始角度为 孔数为n 以零件上表面为Z向零点 使用以下保持型变量 502 半径r 503 起始角度 504 孔数n 当n 0时 按逆时针方向加工 当n 0时 按顺时针方向加工 505 孔底Z坐标值 506 R平面Z坐标值 507 F进给量 使用以下变量进行操作运算 100 表示第i步钻第i孔的记数器 101 记数器的最终值 为n的绝对值 102 第i个孔的角度位置 i的值 103 第i个孔的X坐标值 104 第i个孔的Y坐标值 用用户宏程序编制的钻孔子程序如下 O9010 N110G65H01P 100Q0 100 0N120G65H22P 101Q 504 101 504 N130G65H04P 102Q 100R360 102 100 360oN140G65H05P 102Q 102R 504 102 102 504N150G65H02P 102Q 503R 102 102 503 102当前孔角度位置 i 360o i nN160G65H32P 103Q 502R 102 103 502 COS 102 当前孔X坐标N170G65H31P 104Q 502R 102 104 502 SIN 102 当前孔Y坐标N180G90G00X 103Y 104 定位到当前孔N190G00Z 506 快速进到R平面 N200G01Z 505F 507 加工当前孔N210G00Z 506 快速退到R平面N220G65H02P 100Q 100R1 100 100 1孔计数N230G65H84P 130Q 100R 101 当 100 101时 向上返回到N130段N240M99子程序结束调用上述子程序的主程序如下 O0010 N10G54G90G00X0Y0Z20 进入坐标系N20M98P9010 调用子程序 加工圆周孔N30Z20 抬刀N40G00G90X0Y0 返回加工坐标系零点N50M30 程序结束设置G54 X 350 Y 150 Z 100 7 3FANUC系统的B类宏程序及其应用 1 宏功能基本指令 B类用户宏程序与A类用户宏程序的主要区别是通过算术和逻辑运算进行赋值 以直接的公式进行输入的 同一运算分别用A B两类用户宏程序实现的程序段如下 A类 G65H02P 1Q 2R 3B类 1 2 3 1 变量的赋值赋值可以分为直接赋值和调用赋值 它们的应用分别为 直接赋值 1 10调用赋值 G65P1000A10 其中 P1000代表子程序号 A代表引数赋值的地址 A10中的10代表宏主体中的变量 1中的值是10 所以 这两种赋值方式是等效的 2 运算指令宏程序运算符右边的表达式可包含常量和 或有函数运算符组成的变量 表达式中的变量 i和 j可以用常数替换 左边的变量可以用表达式赋值 i COS j 余弦函数 i EXP j ex i ASIN j 反正弦函数 i LN j 自然对数 i SIN j 正弦函数 函数运算 i FUP j 小数点后进位 i jAND k 与 i FIX j 小数点后舍去 i jXOR k 异或 i ROUND j 四舍五入整数化 i jOR k 或 逻辑运算 i ABS j 取绝对值 i j k 除 i SQRT j 平方根 i j k 乘 乘除运算 i ATAN j 反正切函数 i j k 减 i TAN j 正切函数 i j k 加 加减运算 i ACOS j 反余弦函数 函数运算 i j 变量的定义和替换 表达式 运算指令 表达式 运算指令 FANUC0i系统的变量类型 3 程序格式及程序号宏程序格式如下 O 宏程序号 O后面为4位数 0001 8999N10 指令代码 N M99 程序结束 参数号和程序号之间的对应关系 7 3FANUC系统的B类宏程序及其应用 2 宏功能控制指令 1 无条件转移 GOTO语句 功能转向程序的第Nn句 当指定的顺序号大于1 9999时 出现128号报警 顺序号可以用表达式 格式 GOTOn n为顺序号 1 99999 例如 GOTO66 程序转移至N66段执行程序 2 条件转移 IF语句 a IF 条件表达式 GOTOn 应用举例 计算数值1 10的总和 O0711 1 0 2 1 N1IF 2GT10 GOTO2 1 1 2 2 2 1 GOTO1 N2M30 b IF 条件表达式 THEN 应用举例 使用直径为18mm的硬质合金立铣刀铣削加工如图7 8所示的台阶 材料45钢 硬度36HRC 编写加工程序 设定变量 1 铣削深度变量 2 铣削最后深度的判别值O001 G90G54G40G17M3S800 G0X 10Y 80 G43Z20H01 Z0 1 0 WHILE 1GT 10 DO1 1 1 0 6 IF 1LE 10 THEN 1 10 G1Z 1F1500 G41G1X 75D01 Y50 X75 Y 50 X 100 G40G0Y 80 END1 G0Z150 M30 3 循环 WHILE语句 功能在WHILE后指定一个条件表达式 条件满足时 执行DO到END之间的语句 否则 执行END后的语句 格式 WHILE 条件表达式 DOm m 1 2 3 ENDm END1 WHILE 条件表达式 DO1 程序 END1 WHILE 条件表达式 DO2 END2 错误的 程序 a 数1 3可以多次使用 b DO的范围不能交叉 WHILE 条件表达式 DO1 IF 条件表达式 GOTOn END1 Nn IF 条件表达式 GOTOn WHILE 条件表达式 DO1 Nn END1 错误的 WHILE 条件表达式 DO1 WHILE 条件表达式 DO2 WHILE 条件表达式 DO3 END3 END2 END1 c 条件转移可以跳出循环 d 条件不能进入循环区内 e 循环可以三重嵌套 应用举例 计算数值1 10的总和 O0713 1 0 2 1 WHILE 2LE10 DO1 1 1 2 2 2 1 END1 M30 7 3FANUC系统的B类宏程序及其应用 3 应用举例 1 编写如图所示的轴类零件加工程序 自变量定义如下 1 AA 直径D1 毛坯外径 2 BB 直径D2 直径表示 3 CC 直径D3 直径表示 4 II 直径D4 直径表示 5 JJ 长度Z1 6 KK 长度Z2 7 DD 长度Z3 8 EE 倒角边长 C 9 FF 刀具起点纵向工件坐标值L 11 HH 刀具起点纵向工件坐标值 18 RR 背吃刀量 半径表示 19 SS 精加工余量 直径表示 20 TT 粗加工转速 r min 21 UU 精加工转速 r min 22 VV 粗加工进给量 mm r 23 WW 精加工进给量 mm r 24 XX 圆弧半径值 主程序如下 O 主程序名N10G18G99G97G21G95G90G54G40 工艺加工状态设置N20G65P221A B C D E F H I J K R S T U V W X 调用规格不同轴加工的用户宏程序 N50M05 主轴停止N60M30 程序结束并回到程序开头 宏程序如下 O221 宏程序名N010 30 FUP 1 2 19 2 18 计算第一级粗车循环次数 上取整 N015 31 1 2 19 30 计算第一级径向粗加工每次背吃刀量N020 40 FUP 2 3 19 2 18 计算第二级粗车循环次数 上取整 N025 41 2 3 19 40 计算第二级径向粗加工每次背吃刀量N030 50 FUP 3 4 19 2 18 计算第三级粗车循环次数 上取整 N035 51 3 4 19 50 计算第三级径向粗加工每次背吃刀量N040T0101 调用1号外圆粗车刀具 N050G90G00X 2 11 Z 9S 20M03 N055 28 1 切削次数初始值赋值N060WHILE 28GT 30 DO1 当 28大于 30时 跳转到N095段N065G01X 1Z 5 5 F 3 22 直线插补到工件右端附近N070U 31F 22 径向切入一个背吃刀量N075W 5 5 19 2 粗车 D2外圆N080X 1 5 粗车 D2外圆的左端面N082G00Z 9 返回起刀点N085 28 28 1 切削次数累加1N090 31 31 28 背吃刀量递减N095END1 返回循环体2N100 28 1 累加器置1 N105WHILE 28GT 40 DO2 当 28大于 40时跳转到N150段N110G01X 1Z 5 5 F 3 22 直线插补到工件右端附近N115X 2F 22 径向直线插补到 D2外圆N120U 41 径向切入一个背吃刀量N125W 5 5 6 19 2 粗车削 D4外圆N130U 3 4 2 粗车圆球面右端面N135G03U 2 3 2 W 6 7 R 2 3 2 24 41 粗车圆球面N138G00Z 9 返回起始点N140 28 28 1 背切削次数累加1N145 41 41 28 吃刀量递增N150END2 返回循环体2 N155 28 1 计数器置1N160WHILE 28GT 50 DO3 当 28大于 50时跳转到N200段N165G01X 1Z 5 5 F 3 22 直线插补到工件右端附近N170X 3F 22 径向直线插补到 D3外圆N175U 51 径向切入一个背吃刀量N180W 5 5 6 19 2 粗车 D4外圆N185X 1 粗车 D4外圆左端面N188G00Z 9 返回起到点N190 28 28 1 切削次数累加1N195 51 51 28 背吃刀量递增N200END3 返回循环体3N205G00X 2 11 Z 9 刀具快移到换刀点 N210T0202 调用2号外圆精加工车刀N215G97M03S 21 设置精加工工艺参数N220G41G01X 4Z 5 5 F 5 23 D02 建立左刀补 直线插补到右端附近N225X 4 9 1 0 Z 5 1 0 F 23 直线插补到倒角C的延长线上N230X 4Z 5 9 倒角N235Z 6 精车 D4外圆N240X 3 精车 D4外圆左端面N245G03X 2Z 7R 24 精车圆球面N250G01Z0 精车 D2外圆N255X 1 5 精车 D2外圆左端面N260G40G00X 2 11 Z 9 取消刀补N265M99 子程序结束 返回主程序 2 如图所示工件 毛坯为 50mm 65mm的45钢 试采用B类宏程序编写其加工程序 O0719 G98G97G40G21 M03S800 T0101 G00G42X45Z5 G73P20Q60U0 3W0F100 N20G01X0F80S1000 Z0 101 25 N30 102SQRT 25 25 101 101 15 25 103 101 25 104 102 2 加工该工件时 先用粗加工循环指令进行去除余量加工 精加工时 同样用直线进行拟合 以Z坐标为自变量 X坐标为因变量 101 Z坐标值变量 102 X函数值变量 104 X坐标值变量 G01X 104Z 103 101 101 0 1 IF 101GE0 GOTO30 G01Z 35 G02X40Z 40R5 N60G01X45 G70P20Q60 G00G40X100Z100 M05 M30 3 如图所示的零件 包括椭圆表面和抛物面 抛物线方程为 毛坯为 50mm 100mm 材料45钢 未注为C0 5 小批量生产 试编数控车削程序 编程原点定为抛物线顶点 采用三爪卡盘夹具 粗车外圆刀为T0101 切断刀为T0202 精车外圆尖刀为T0303 加工程序如下 O0195 N10T0101 N20M03S700 N30G00X55Z5M08 起刀点N40G95G01Z2F0 6 进给单位mm r N50G71U1 5R1 5 N60G71P70Q340U0 3F0 3 N70T0303M08 N80M03S1000 N90G00X0Z2 N100G01G95Z0F0 1 N110 1 0 N120 2 0 N130 3 22 5 N140WHILE 2 GE 3 DO1 N150G01X 1 Z 2 F0 07 N160 2 2 0 03 N170 1 2 ABS SQRT 10 2 N180END1 N190G01X30Z 28R0 3F0 07 N200X36 N210 4 ABS SQRT 19 19 1 49 12 12 N220 5 4 N230 7 5 50 N240 6 36 N250G01Z 50 4 N260WHILE 5 GE 4 DO2 N270G01X 6 Z 7 F0 07 N280 5 5 0 03 N290 6 22 2 ABS SQRT 12 12 1 5 5 19 19 N300 7 5 50 N310END2 N320G01Z 72F0 08 N330X48C0 5 N340Z 85 N350G70P70Q340 N360G00X55 N370Z2 N380G00X80Z250M09 N390T0202 N400M03S700 N410G00X55Z 80M08 N420G01G95Z 84F0 3 N430X45F0 03 N440X50F0 3 N450Z 82 5 N460X49F0 1 N470X47 5Z 84F0 1 N480X 5F0 02 N490G00X50 N500X80Z250M09 N510M30 4 如图所示工件 要加工一旋转角度为30 的椭圆 试编写该加工程序 使用坐标旋转指令可以使切入切出的编程简化 利用插补原理对椭圆加工进行编程 通过宏程序计算 用细小的直线逼近椭圆的实际轮廓 O0722 G90G54G21G17G40G0Z20M3S600 程序初始化G68X0Y0R30 椭圆绕坐标 0 0 旋转30 X 70Y 50 设定下刀位置G1Z0F200 进给至Z0平面 1 50 长半轴半径 2 30 短半轴半径 3 8 刀具半径 4 1 起始角度G1X 1 3 X坐标变量Y0 进给至Y0位置N10X 1 3 COS 4 Y 2 3 SIN 4 X Y变量 4 4 1 角度每次增量为1 IF 4LT360 GOTO10 椭圆加工循环G91G1Y10 切线切出G69 取消坐标系旋转G90G0Z20 抬刀M5 M30 5 铣削如图所示的跑道形外轮廓零件侧面 跑道形外轮廓左侧圆弧半径为25mm 右侧圆弧半径为35mm 左右两圆弧的中心距为60mm 深度为15mm 试用变量编写出加工此零件的数控程序 工艺设计建立工件坐标系 跑道形零件轮廓左侧圆弧中心在工作坐标系中的X Y绝对坐标为 25 0 工件表面为工件坐标系Z轴的零点 机床坐标系偏置值设置在G54寄存器中 采用顺铣方式铣削跑道形外轮廓侧面 沿着轮廓延长线切入与切出 铣削刀具选择 25mm的立铣刀 取主轴转速为500r min 铣削进给速度为150mm min 主轴起始位置在零件上方50mm处 刀具起始切削高度为2mm 最终加工位置为Z 15mm 运用变量引数赋值和参数直接赋值编制宏程序 自变量含义 24 25 跑道形外轮廓左侧圆弧中心点绝对横坐标 25 0 跑道形外轮廓左侧圆弧中心点绝对纵坐标 26 15 垂直方向最终加工深度尺寸值 21 60 跑道形凸台左右圆弧中心距 18 2 刀具快速接近工件点坐标 4 25 左侧圆弧半径 5 35 右侧圆弧半径 7 12 5 刀具半径 9 150 切削进给速度 3 25 刀具接近及离开间隙 主程序如下 Oxxxx 主程序名N10T01M06 调用1号刀具N15G17G90G21G94G54G40G49G80 工艺加工状态设置N20G43G00Z50 0H01S500M03 建立刀具长度补偿 转速为500r minN25X 10Y0M07 刀具快速移动到工件左侧 打开切削液N30G65P3333X25Y0Z 15R2I25J35D12 5F150U60C25 N40G00Z100M09 刀具退到工件上表面100mm处 切削液关闭 N45G49 取消刀具长度补偿N50G00X 10Y0M05 刀具退回工件左侧N55M30 程序结束并返回程序开头O3333 跑道形外轮廓侧面铣削用户宏程序 N005 3 2 7 间隙等于刀具直径 12 SQRT 21 21 5 4 5 4 计算两圆弧切线长度 14 ATAN 5 4 12 切线与X轴夹角 27 4 7 SIN 14 左侧圆心通过圆弧切点到刀具中心的横坐标 28 4 7 COS 14 左侧圆心通过圆弧切点到刀具中心的纵坐标 29 5 7 SIN 14 右侧圆心通过圆弧切点到刀具中心的横坐标 30 5 7 COS 14 右侧圆心通过圆弧切点到刀具中心的纵坐标N010G90G00X 24 4 7 Y 25 3 刀具快速移到跑道形外轮廓左上侧N015Z 18 刀具快速下降到工件上方安全距离N020G01Z 26F 9 2 刀具以工进速度下降到最终加工深度N025X 24 4 7 Y 25F 19 沿跑道形外轮廓左侧延长线切入到PO点N030G03X 24 27 Y 25 28 I 4 7 J0 沿轮廓圆弧插补到P 点N035G01X 24 21 29 Y 25 30 沿轮廓直线插补到P 点 N040G03X 24 21 29 Y 25 30 I 29J 30 沿轮廓圆弧插补到P3点N045G01X 24 27 Y 25 28 沿轮廓直线插补到P4点N050G03X 24 4 7 Y 25I 27J 28 沿轮廓圆弧插补到P0点N055G01X 24 4 7 Y 25 3 沿跑道形外轮廓左侧延长线切出N060G90G00Z 18 50 刀具快速抬起离开工件N065M99 程序结束并返回主程序 6 如图所示工件 毛坯尺寸 80mm 15mm的45钢 试编写其加工程序 该工件的12个凹圆弧在圆周上均匀分布 如采用宏程序指令和坐标旋转指令进行编程 可简化编程过程中的基点计算 提高编程效率 O0720 G90G94G21G40G54 G91G28Z0 G90G00X0Y0 Z20 M03S500 G01Z 5F100 G41G01X30D01 G03I 30 G40G01X0Y0 100 0 N100G68X0Y0R 100 G41G01X25Y0D01 G03I6 G40G01X0Y0 G69 100 100 30 IF 100LE330 GOTO100 G91G28Z0 M05 M30 7 如图所示工件 毛坯尺寸100mm 40mm 10mm 试编写该孔加工程序 O0720 G91G28Z0 G90G00X40Y40 Z20N08 M03S500 101 30 长度赋初值N100 101 100 COS 15 孔中心的X坐标 102 101 SIN 15 孔中心的Y坐标G81X 101Y 102Z 15R5F100 钻孔加工 100 100 22 长度每次增加22IF 100LE40 GOTO100 条件判断G80M09 取消固定循环G91G28Z0 M05 N30 本例工件的4个孔均布在一条直线上 如采用宏程序编制则可省略手工编程过程中的基点计算 从而提高了编程的正确率 8 在铣床或加工中心上钻削如图7 21所示方形零件上的矩形孔 钻孔直径为 6mm 主轴转速为600r min 钻孔进给速度为140mm min 钻孔深度为15mm 钻孔轴起始位置在工件上方50mm 利用宏程序编制加工程序 采用沿着方形零件的矩形框式孔群中心线逆时针位移钻削方式钻削孔群 选择 6mm的麻花钻 取主轴转速为600r min 钻削进给速度为140mm min 主轴起始位置在零件上方50mm处 刀具起始切削高度4mm 最终加工深度Z 20mm 运用变量直接赋值编制宏程序 Oxxxx 主程序名N005 101 20 第一个孔的X绝对坐标值 102 10 第一个孔的Y绝对坐标值 2 101 将第一个孔的X绝对坐标值赋给变量 2 3 102 将第一个孔的Y绝对坐标值赋给变量 3 工艺设计建立工件坐标系 工件左下角为工件坐标系X Y轴的零点 工件上表面为工件坐标系Z轴的零点 机床坐标系偏置值设置在G54寄存器中 27 1 框式点阵列孔群行数初始值 28 1 框式点阵列孔群列数初始值 30 7 X轴孔数 31 5 Y轴孔数 32 15 X轴孔间距 33 15 Y轴孔间距 26 20 最终钻孔深度 18 4 安全间隙 9 140 进给速度N010T01M06 调用1号刀N015G17G90G21G94G54G40G49G80 N020G43G00Z50H01S600M03 建立刀具长度补偿 主轴正转 转速为600r min N025X0Y0M07 N030G65P3322 调用矩形框式点阵孔群钻削的用户宏程序N035G00Z100M09 刀具退到工件上表面100mm处 切削液关闭N040G49 取消刀具长度补偿N045X0Y0M05 N050M30 程序结束并返回程序开头O3322 宏程序名N010WHILE 27GE 30 DO1 如果 27大于 30 则程序跳转到N035程序段N020G00X 101Y 102 将刀具移动到孔上方 N025G98G81Z 26R 18F 9K0 调用循环程序钻定位孔N030 101 2 32 计算孔的X绝对坐标值 102 3 孔的Y绝对坐标值 2 101 将X绝对坐标值赋给变量 2存储 3 102 将Y绝对坐标值赋给变量 3存储 27 27 1 孔数加 N035END1 返回循环体N040WHILE 28GE 31 DO2 如果 28大于或等于 31 则程序跳转N065段N045 101 2 孔的X绝度坐标值 102 3 33 计算孔的Y绝度坐标值 N050G00X 101Y 102 将刀具移动到孔上方N055G98G81Z 26R 18F 9K0 调用循环程钻定位孔N060 2 101 将X绝对坐标值赋给变量 2存储 3 102 将Y绝对坐标值赋给变量 3存储 28 28 1 孔数加 N065END2 返回循环体N070 27 1 行孔数置初始值N075WHILE 27GE 30 DO3 如果 27大于 30 则程序跳转到N100段N080 101 2 32 计算孔的X绝度坐标值 102 2 孔的Y绝度坐标值 N085G00X 101Y 102 将刀具移动到孔上方N090G98G81Z 26R 18F 9K0 调用循环程序钻定位孔N095 2 101 将X绝对坐标值赋给变量 2存储 3 102 将Y绝对坐标值赋给变量 3存储 27 27 1 孔数加 N100END3 返回循环体N105 28 1 列孔数置初始值N110WHILE 28GT 31 DO4 如果 28大于 31 则程序跳转到N135段N115 101 2 孔的X绝度坐标值 102 3 33 计算孔的Y绝度坐标值 N120G00X 101Y 102 将刀具移动到孔上方N125G98G81Z 26R 18F 9K0 调用循环程序钻定位孔N130 2 101 将X绝对坐标值赋给变量 2存储 3 102 将Y绝对坐标值赋给变量 3存储 28 28 1 孔数加 N135END4 返回循环体N140G80 取消固定循环N145M99 子程序结束 返回主程序 9 铣削如图所示的棱台面 编制加工宏程序 1 宏指令 G65P9130A B U V D H I F 式中 A 棱台底长 1 B 棱台底宽 2 U 棱台顶长 21 V 棱台底宽 22 D 道具补偿号 7 H 棱台高 11 I 切削次数 4 F 进给速度 9 2 宏程序 O9130 29 2000 7 读取刀具半径 30 1 21 2 11 31 2 22 2 11 IF 11EQ0 GOTO5 32 21 2 30 11 切削点X坐标绝对值 33 22 2 31 11 切削点Y坐标绝对值 34 32 29 1 落刀点X坐标绝对值 35 33 29 1 落刀点Y坐标绝对值G00X 34Y 35 G01Z 11F 9 落刀G42X 32D 7 加刀补Y 33 X 32 Y 33 X 34 G01G40Y 35 11 11 11 4 递减计算G01Z 11F 9 3 N5M99 3 主程序 O1003 选用 20mm平底刀G90G54G00X0Y0M03S500 G00Z10M08 G65P9130A100B80U70V40D1H40I20F100 G00Z10 G65P9130A110B90U60V30D1H40I30F8 G00Z50M09 M30
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!