




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 基于基于 FANUCFANUC 数控系统宏程序的典型零件加工毕业论文数控系统宏程序的典型零件加工毕业论文 目录 第一章 绪论 1 1 1 宏程序的定义 1 1 2 宏程序的发展现状 1 1 3 宏程序的编程特点 2 1 4 适用宏程序加工的内容 3 1 5 宏程序与普通编程的比较 4 第二章 宏程序数学基础应用 5 第三章 用户宏程序转移和循环 9 3 1 变量 9 3 2 算术与逻辑运算 11 3 3 转移与循环 13 第四章 宏程序功能 17 4 1 用户宏程序 A 17 4 2 用户宏指令 B 18 4 3 宏程序语句的处理以及使用限制 23 第五章 宏程序在数控车 铣床的应用 24 5 1 数控车床非圆二次曲线的走刀宏程序 24 5 2 数控铣床单一工序宏程序模块化编程 25 5 3 小结 39 第六章 FANUC 车床宏程序的典型零件加工实例一 40 6 1 加工方案选择及确定 40 6 2 椭圆手柄工艺分析 41 6 3 椭圆手柄宏程序编程加工 44 6 4 MASTERCAM 软件自动编程 48 6 5 宏程序加工的实体模型分析 52 第七章 FANUC 铣床宏程序的典型零件加工实例二 54 II 7 1 平行四边形框式点阵孔群零件图 54 7 2 平行四边形框点式孔群零件工艺分析 56 7 3 编程 56 7 4 仿真加工图 58 7 5 本章小结 59 第八章 结论 60 参考文献 61 附录 62 致谢 63 0 第一章 绪论 1 1 宏程序的含义 一般意义而言 数控指令是指 ISO 代码指令编程 即每一指令的功能是固定 的 由系统厂家生产 使用者只需且只能按照机床的控制规定编程即可 但有时 这些指令满足不了用户的需求 系统因此提供了用户宏程序平台 用户可以对数 控系统进行一定的功能扩展 即在数控系统宏程序功能的平台上进行开发 其开 发出来的程序就是宏程序 宏程序是数控系统中一种具有计算能力和决策能力的数控程序 简单而言 即采用参数化编程就称之为宏程序 1 2 宏程序的发展现状 随着数控机床的普及和数控技术的推广 我国也被誉为 世界工厂 制造大 国 我国制造工业飞速发展的同时 与世界制造先进水平的差距在不断缩小 而 作为现代制造技术的灵魂及核心 数控加工技术也得到了广泛的应用 各类 CAD CAM 软件的应用日趋普及 特别是在数控三维曲面加工中手工编程几乎已 无用武之地然而强大的思维定式和使用习惯 使得编程人员不论程序大小 加工 难易都习惯使用 CAD CAM 软件来编程 手工编程似乎被遗忘了 而在学习手工 编程时只是简单地学习基本的编程指令 在国外 特别是日本 日本的机械行业的自动化 智能化 数控化程度不在 我国之下 CAD CAM 软件也非常流行 普遍 但日本并没有因此而忽略和削弱 对编程能力的基本功要求 因此在企业的生中 手工编程依然存在 宏程序作为一个数控机床厂为满足用户进行二次开发编程使用平台 也是手 工编程的核心 我国的数控技术是在 2000 年以后才得到广泛的推广与使用 并 且在我国有相当一部分数控机床是通过普通机床改造而得到 机床的数控系统绝 大多数是低级的版本 并且数控技术早期发展时厂家也仅仅是研发了用户宏程序 A 详见第四章 用户宏程序 A 代码定义不明显 编辑用户宏程序 A 困难 而 且无法使用运算符 这使得用户对用户宏程序 A 产生厌恶的感觉 随着技术的发 展 数控机床的厂家也对宏程序编程的平台进行了升级与提高 在推出用户宏程 序 B 之时已经无人问津了 原因很简单 一是上述所说的用户宏程序 A 不完善 让用户产生厌恶的感觉 二是宏程序的编程需要一定的汇编语言以及数学模型基 础 而一般编程仅学习普通固定循环指令 且没有学习汇编语言 三是我国对宏 程序研究相对很少 同时数控设备公司对技术的封锁 以上原因均影响了宏程序 1 在我国的应用与发展 1 3 宏程序的编程特点 宏程序编程虽然比普通的编程难掌握很多 但是在企业生产中却有着较多的 应用 特别是有些特殊曲面的零件只能用宏程序或自动编程来处理 宏程序编程 主要有以下方面的特点 1 3 1 高效 数控加工中常遇到数量少 品种多 有规则几何形状的零件 在编程时只要 稍加分析和总结 找出它们之间的共同点 把这些共同点设为变量应用到程序中 编出一个宏程序 通过改变其中的赋值 就可以进行零件加工 有效节省编程时 间 而且在运用时准确性也得到提高 如果使用 CAD CAM 自动编程软件 对于 此类零件需要重新绘制图形 设置走刀路线 实体切削验证 执行后处理以及向 机床传输程序后才可以进行加工 此外宏程序短小 执行效率高 即加工一个零 件仅仅节省 1s 成千上万的相同零件合计起来节省的时间也就非常可观了 1 3 2 经济 在实际生产中 经常会出现许多结构相似 但品种多 数量少的零件 这些 零件在某些特征上变化不定 按常规加工方法 往往需要用成型刀具加工 但是 零件品种多 所以成型刀具数量很多 定做一把成型铣刀要比普通的铣刀费用高 出 2 3 倍 为了降低加工成本 采用宏程序编程 就可以解决此类问题 同时 许多在实际加工中必须依靠球头铣刀加工的零件 采用宏程序编程 只需要平底 铣刀就可以解决 1 3 3 加工质量好 如果比较宏程序与软件编程 对于软件编程而言 通常编制的曲面加工程序 的容量比较大 而常用的数控系统的标准配置一般为 128KB 或是 256KB 机械 工程训练中心的机床是 512KB 当程序的大小超出机床的存储容量时 用户就 要考虑在线加工了 在线加工时 会出现程序的传输速率跟不上机床的节拍 原 因是常见的数控系统 如 GSK980TDa 所支持的 RS 232 接口最大传输波特率 为 19200 bit s 当计算机精度较高 进给速度值比较大时 在实际加工中就可以 看到机床的进给运动有明显的断续 迟滞 使用宏程序编程时 即使是复杂的数控加工程序 其篇幅也是精简 通常一 个正常合理优化的宏程序 一般不会超过 60 行 换算成字节 最多不超过 2 2KB 根本不用在线加工 也就没有加工断续的现象 从用户使用宏程序角度讲 使用 CAD CAM 软件来生成刀具轨迹及加工程 序是非常容易的 但是剖析 CAD CAM 软件计算刀具轨迹的原理 就知道存在一 定的弊端 在 CAD CAM 自动编程软件中 无论构造规则或不规则曲面 都有一 个数学运算过程 也必然存在计算的误差和处理 而在对其生产三维加工刀具轨 迹时 软件是根据操作者所选择的加工方式 设定加工参数 并结合设定的加工 误差 使刀具与加工表面的接触逐点移动完成加工 从本质上看 其实是在允许 的误差值范围内沿每条路径用直线去逼近曲面的过程 使用宏程序时 为了对复 杂的加工运动进行描述 变量编程 比如会最大限度地使用数控系统内部的各种 指令 如 G01 G02 G03 等 因此机床在执行宏程序编程时 数控系统的工业 计算机可以直接进行插补运算 且运算速度极快 在加工伺服电动机和机床的迅 速响应下 使得加工效率很高 加工质量更好 1 4 适用于宏程序加工的内容 1 4 1 加工工艺的优化 机械零件绝大多数都是批量生产 在保证质量的前提下 要求最大限度提高 加工效率 以降低生产成本 同时零件批量生产的几何尺寸精度和形状位置精度 都要保证高度的一致性 加工工艺的优化主要是数控加工程序的优化 要求操作 者非常方便 快速地调整生产过程的加工参数 如刀具尺寸 刀具补偿值 层降 步距 计算精度等 宏程序在这方面有强大的优越性 使用宏程序编程加工时 操作者根本不需触动程序本身 只需针对各项加工参数所对应的自变量赋值做出 个别调整 就能调整到最优化的状态 1 4 2 保证几何参数曲面的加工 机械零件的形状主要是各种凸台 凹槽 圆孔 斜平面 回转面等组合体 构成其几何因素无外乎点 直线 圆弧 各种二次圆锥曲线 椭圆 抛物线 双 曲线 等 这些都是基于三角函数 解析几何的数学应用 上述的直线或曲线在 数学上均可以用三角函数表达式 解析方程式以及参数方程加以表达 因此宏程 序有广泛的应用空间 能发挥较强的作用 1 4 3 特殊螺纹的加工 机械零件还有一些很特殊的应用 如变螺距螺纹加工 运用宏程序切削变螺 距螺纹 在循环中只需要每转动一圈 对螺距进行递增 递减 一定量 这样就 3 可以实现加工过程中螺距的变化 1 5 宏程序与普通编程的比较 宏程序与普通编程存在一定的区别 如表 1 1 表 1 1 宏程序与普通编程的简要对比 宏程序普通编程 可以使用变量 并给变量赋值只能使用常量 变量之间可以运算常量之间不能运算 程序可以跳转程序只能顺序执行 不能跳转 从上述表中可以看出 宏程序与普通编程之间的差别 4 第二章宏程序数学基础应用 宏程序的应用离不开相关的数学知识 尤其是中学的基础知识 其中三角函 数 解析几何是最重要 最直接的数学基础 要编制出精简的加工用宏程序 一 方面要求编程者具有相应的工艺知识和经验 即确定合理的刀具 走刀路线 或 走刀方式 另一方面也要求编程者具有相应的数学知识 即如何将上述的意图 通过逻辑严密的数学语言 配合标准的格式语句加以表达出来 这是手段 在宏程序编程应用中 充分了解曲线的标准方程和参数方程的转换 非圆曲 线采用的编程均是参数编程 因此本论文使用图形 表格的形式简单总结以下三 种常用曲线的标准方程及参数方程 二次曲线的定义是 从动点 P 到定点 F 的距离 PF 到定直线的距离 PF 之比为 定值 叫离心率 即 PF PH 如果小于 1 则动点 P 的轨迹为椭圆 如 果等于 1 则动点 P 的轨迹为抛物线 如果 1 则动点 P 的轨迹为双曲线 此时 定点 F 称为焦点 定直线称为准线 椭圆和双曲线 及其退去形式 称为有心二次曲线 抛物线 及其退化形式 称为无心二次曲线 二次曲线在立体几何上都是由一平面以不同角度与标准圆锥面相割而得到的 截面线 又称之为圆锥曲线 在工程实践中 二次曲线的应用非常广泛 在此不 再赘述 图 2 1 椭圆图形 5 表 2 1 椭圆方程参数 椭圆方程 类别表达式 标准方程 1 2 2 a x 2 2 b y 说明 中心 O 0 0 顶点 A B a 0 顶点 C D 0 b 焦距 2c 离心率 c OF1 OF2 22 ba OF a a 1 22 ba 参数方程 直角坐标 叫双曲线的离心角 sec cos axoraxx tan byy 7 焦点 F1为极点 F1X 为极轴 r 1 cos 极坐标方程 为焦弦之半 焦点 F2为极点 F2X 为极轴 r 1 cos 图 2 3 抛物线图形 表 2 3 抛物线方程参数 抛物线方程 类别类别 标准方程y2 2px 焦距 OF 离心率 OF 2 1 参数方程 极坐标 为焦弦之半F 为极点 FX 为极轴r 1 cos 8 第三章用户宏程序转移和循环 FANUC 数控系统提供两种用户宏程序 即用户宏程序功能 A 和用宏程序功 能 B 用户宏程序功能 A 是 FANUC 数控系统的标准配置功能 任何配置的 FANUC 数控系统都具备这个功能 用户宏程序功能 B 是用户宏程序功能 A 的升 级 虽然不是 FANUC 数控系统的标准配置功能 但是绝大部分的 FANUC 数控 系统也都支持宏程序功能 B 同时变量的转移与循环是宏程序编程的关键 而变 量的使用则为循环提供的条件 3 1 变量 3 1 1 变量表示 相对计算机而言 计算机可以直接使用变量 而数控系统中的宏程序不能直 接使用 变量需要使用变量符号 加上后面的变量号指定 如 1 变量在数控系统中 分三种类型 分别是 局部变量 公共变量和系统变量 表 3 1 变量类型 变量号变量类型功能 0空变量该变量总是空的 没有值能赋给该变量 1 33局部变量 局部变量只能用于在宏程序中存储数据 例如运算结果 100 199 500 999 公共变量公共变量在不同的宏程序中意义是相同 1000 9999系统变量 系统变量用于读与写 CNC 各种数据 例如刀具补偿等等 局部变量 在局部变量中 当断电时 局部变量变量被初始化为空 调用宏 程序时 自变量对局部变量赋值 公共变量 断电时变量 100 199 初始化为空 变量 500 999 的数据保存 即使断电也不会丢失数据 3 1 2 自变量的指定 在宏程序中 有两种不同的指定形式 第一种自变量指定 使用除了 G L O N P 之外的字母 每个字母指定一次 第二种自变量指定 使用 9 A B C 和 Ii Ji Ki i 为 1 10 根据使用字母自动决定自变量指定的类型 表 3 2 自变量指定 I 地址变量号地址变量号地址变量号 A 1I 4T 20 B 2J 5U 21 C 3K 6V 22 D 7M 13W 23 E 8Q 17X 24 F 9R 18Y 25 H 11S 19Z 26 使用自变量 I 时必须考虑以下两点 1 不需要指定的地址可以省略 对应于省略地址的局部变量为空 2 地址不需要按字母顺序指定 但是应符合字母地址的格式 I J K 这 三个需要按字母的顺序指定 表 3 3 自变量指定 地址变量号地址变量号地址变量号 A 1K3 12J7 23 B 2I4 13K7 24 C 3J4 14I8 25 I1 4K4 15J8 26 J1 5I5 16K8 27 K1 6J5 17I9 28 I2 7K5 18J9 29 J2 8I6 19K9 30 K2 9J6 20I10 31 I3 10K6 21J10 32 J3 11I7 22K10 33 使用自变量指定 时 需要注意的是 1 自变量指定格式 使用前 任何自变量前必须指定 G65 2 自变量指定 混合使用 CNC 内部系统会自动识别自变量 和自 变量 当混合使用时 系统会默认自变量指定 格式 3 不带小数点的自变量 其数据为各地址的最小设定单位 传递不带小 10 数的自变量 其值会根据机床实际的系统配置变化 在宏程序调用中 使用小数 点可使程序兼容性更好 3 2 算术与逻辑运算 3 2 1 算术运算 在 FANUC 数控系统中 一般的编程都是只能使用数值加工无法使用函数运 算 宏程序中 一般都不适用数值 使用函数方程式运算 表 3 4 FANUC数控算术运算 功能格式 定义 置换 i j 备注 加法 i j k 减法 i j k 乘法 i j k 除法 i j k 正弦 i SIN j 反正弦 i ASIN j 余弦 i COS j 算术运算 反余弦 i ACOS j 三角函数以及反三角 函数的数值均要转换 为小数 例如 90 30 90 5 功能格式 定义 置换 i j 备注 正切 i TAN j 反正切 i ATAN j k 三角函数以及反三角 函数的数值均要转换 为小数 例如 90 30 90 5 平方根 i SQRT j 绝对值 i ABS j 舍入 i ROUND j 指数对数 i EXP j 自然 对数 i LN j 上取整 i FIX j 算术运算 下取整 i FUP j 3 2 2 混合运算的运算顺序 表 3 2 中函数与函数之间的运算 如数学中运算一样 有运算优先级 其顺 序与数学中的定义一样 优先级顺序从高到底依次如图 3 1 所示 11 函数运算 乘法与除法运算 加法与减法运算 图 3 1 计算优先级流程图 3 2 3 括号嵌套 在数控宏程序编程中 对于程序中出现多层运算的时候 可以使用 进行 改变运算的顺序 最里面层的 优先运算 括号内最多可以嵌套 5 个 3 2 4 运算精度 无论是计算机系统还是数控系统 在计算过程中避免不了会产生误差 宏程 序运算过程中也不例外 而数控机床加工的零件 精度要求均是比较高 因此在 使用用户宏程序也必须考虑 在 FANUC 数控系统中 用户宏程序处理数据运算 时 误差所使用的格式是浮点格式 并且每次进行用户宏程序运算中 都 2E M 产生一次误差 重复计算的过程中 误差会积累相加 FANUC 数控系统宏程序 在运算过程中误差的精度见表 3 5 表 3 5 FANUC 数控系统运算误差表 运算平均误差 mm 最大误差 mm 1 2 31 55 10 104 66 10 10 1 2 34 66 10 101 88 10 10 1 2 1 24 10 103 73 10 10 1 2 3 1 2 3 2 33 10 105 32 10 10 1 SIN 2 1 COS 2 5 0 10 91 0 10 8 1 ATAN 2 3 1 8 10 63 6 10 6 由此可见 运用用户宏程序运算误差非常小 精确度非常高 对于一般的加 工 都能都达到图纸所需要的精度 12 3 3 转移与循环 在计算机 C 语言中 可以使用 IF 语句和 WHILE 语句改变程序的运行方向 宏程序中 使用 GOTO 语句和 IF 语句改变程序的流向 FANUC数控系统提供了 三种转移与循环 表 3 6 转移与循环表 GOTO 语句无条件转移 IF 语句条件转移转移与循环 WHILE当 时循环 表 3 7 运算符 运算符含义运算符含义 EQ等于 GE大于或等于 NE不等于 LT小于 GT大于 LE小于或等于 3 3 1 无条件转移及条件转移 1 无条件转移 GOTO n 2 条件转移 IF 条件表达式 GOTO n n 顺序号为 1 9999 的数值 当运用无条件转移时 只要执行到该含 GOTO 的程序段后 程序就会调用到 n 程序段 执行相关的程序 一般很少使用到无条件转移 采用条件转移 则需 要条件表达式进行比较 条件表达式包含有两个变量以及用于比较的运算符 当 条件满足时 即可跳到 GOTO 所指定的程序段执行程序 IF 1GT 5 GOTO 15 N15G00Z50 程序 条 件 满 足 条 件 不 满 足 图 3 2 条件转移流程图 3 3 2 循环 在宏程序中 为了得到程序的简洁 精悍的效果 因此有些程序需要循环使 13 用 这就使需要使用循环语句进行循环 在宏程序中 除了使用转移格式可以达 到循环的效果以外 数控系统还提供 WHLIE 语句执行循环 WHILE 条件表达式 Do GOTO n 不 满 足 条 件 END n 条 件 满 足 程 序 图 3 3 WHILE DO 循环流程图 顺序号 n 为 1 9999 的数值 WHILW 循环与 IF 转移执行程序很相似 不 同之处是其一 使用 IF GOTO n 语句是当条件不满足的时候 继续执行程序 满足条件则跳出转移 而 WHILE DO GOTO n 语句则是当条件满足之时 执行程序 不满足则跳出循环 其二 IF GOTO n 语句不能嵌套使用 仅仅能 使用一次 而 WHILE DO GOTO n 语句在内部循环中可以嵌套使用 其 嵌套可以是 1 多次使用 WHILE DO 循环 14 程序 WHILE 条件表达式 DO1 END 1 程序 WHILE 条件表达式 DO2 END2 图 3 4 WHILE DO 多次循环流程图 2 WHILE DO 循环 3 次嵌套 15 WHILE 条件表达式 DO 1 WHILE 条件表达式 DO 3 WHILE 条件表达式 DO 2 END3 END1 END2 程序 图 3 5 WHILE DO 多次嵌套循环流程图 3 条件转移可以跳出循环 WHILE 条件表达式 DO1 IF 条件表达式 GOTO n END 1 Nn 图 3 6 IF 条件跳出 WHILE DO 循环流程图 在多次嵌套循环中 必须如计算机 C 汇编语言一样 实现 WHILE DO 语 句的成对出现 在条件转移跳出循环中 也需要严格执行其格式 不能颠倒顺序 否则无法执行程序循环 并且会出现报警现象 16 第四章 宏程序功能 4 1 用户宏程序 A 用户宏程序 A 也称为 A 类宏 其格式为 G65HmP iQ jR k 其中 m 为 1 99 宏程序功能 i 为存储运算结果的变量号 j 为进行运算的变量 1 也可以 是常数 k 为进行运算的变量 2 也可以是常数 表 4 1 FANUC 数控系统 G65HmA 类宏指令表 G65Hm功能数学定义 G65H01定义 置换 i j G65H02加法 i j k G65H03减法 i j k G65H04乘法 i j k G65H05除法 i j k G65H11逻辑加 i jAND k G65H12逻辑减 i jOR k G65H13异或 非 i jXOR k G65H21开平方 i j G65H22 绝对值 i j G65H23剩余数 i trunc j i k Trunc 小数部分舍去 G65H24变成二进制 i BIN j G65H25变成十进制 i BCD j G65H26复合除运算 i j i k G65H27复合开方根 1kkjji G65H28复合开方根 2kkjji G65H31正弦 sin kji G65H32余弦 cos kji G65H33正切 tan kji G65H34反正切 arctan kji G65H80无条件转移GOTO n G65H81条件转移 12F j k GOTO n 17 G65H82条件转移 22F j k GOTO n G65H83条件转移 32F j k GOTO n G65H84条件转移 42F j k GOTO n G65H85条件转移 52F j k GOTO n G65H86条件转移 62F j k GOTO n G65H99P S 报警报警号为 500 n 由表 4 1 可以看出 A 类宏程序的功能非常古板 无法进行直接使用运算符 运算 A 类宏程序使用是非常繁琐且不直观 因此 A 类宏程序就不做过多介绍 主要阐释用户宏程序 B 4 2 用户宏指令 B 用户宏程序 B 也称为 B 类宏程序 其调用指令形式如图 4 1 所示 非模态调用 G65 模态调用 G66 G67 用 G 代码调用宏程序 用 M 代码调用宏程序 用 T 代码调用宏程序 调用用户宏指 令 B 直接作为主程序 图 4 1 用户宏程序 B 调用图 1 宏程序可以直接在主程序中使用 如第五章模型加工的程序一样 2 G65 进行自变量赋值 即指定自变量 数据传送到宏程序 3 G65无条件地调用宏程序 4 运行单段程序时 G65则不行 即不停机 4 2 1 宏程序 B 直接使用 宏程序 B 直接在主程序中出现时 只需要在程序号与刀具之间添加相应的自 18 变量参数 其与一般的主程序一样 例如简单的正四边形平面铣削加工 表 4 2 O0001 程序表 O0001程序名 1 A长 2 B宽 3 C刀具直径 4 2 2 5 0 8 3每步进次加工量 S1000M30F200 G54G90G00X0Y0Z20 X 6Y 5 WHILE 4LT 2 2 0 3 3 DO1 如刀具还加工到边缘 循环继续进行 G01X 6 4 4 5 Y 5 X 6 4 4 5 Y 4 END1 循环 1 结束 M30程序结束 程序返回程序开头 4 2 2 非模态调用 G65 格式 G65P p L l 自变量参数 p 所要调用的程序号 l 重复次数 自变量参数 传递到宏程序的数据 当采用 G65 调用时 数据 自变量 能传输到宏程序中 如下图 4 2 所示 19 O0002 G65P8001L3A2 0B2 0 M30 O8001 1 2 3 IF 1GE20 GOTO 20 G01 1 N20 M99 图 4 2 G65 调用宏程序 1 当要求宏循环重复时 在地址L后面的的重次数数值可以是1 9999 如果L省略 则L默认为1 2 使用自变量指定赋值时 其数值被指定到宏程序中相对应的局部变量 中 3 宏程序的嵌套调用 可以实现四级 1 2 3 4 嵌套 包括非模态 G65调用和模态指令G66调用 局部变量嵌套从0级到4级 主程序是0级 用G65 或G66调用宏程序 每调用一次 局部变量级别加1 而前一级别的局部变量的值 保存在数控系统中 即每级局部变量 1 2 3级 被保存 下一级 2 3 4级 的局部变量被准备 可以进行自变量赋值 当宏程序中执行M99时 控制返回到 调用的程序 此时 局部变量级别减1 并恢复宏程序调用时保存的局部变量 即上一级被储存的局部变量被恢复 如同它被储存一样 而下一级的局部变量被 清除 如下图4 3所示 20 O0001 1 33 G65P90 01 O9001 1 33 G65P90 02 O9002 1 33 G65P90 03 O9003 1 33 G65P90 04 O9004 1 33 M30M99M99M99M99 主程序 0 级 宏程序 1 级 宏程序 2 级 宏程序 3 级 宏程序 4 级 图 4 3 局部变量的定义及四级嵌套 4 2 3 模态代码调用 G66 G67 G66的调用指令格式与G65的相似 不同的是G66是模态指令 一次指定 即 在指定轴移动程序段后调用宏程序 没有G67的取消调用指令 将会继续执行宏 程序内容 格式 G66P p L l 自变量参数 p 所要调用的程序号 l 重复次数 自变量参数 传递到宏程序的数据 1 调用 21 O0002 G66P8001L3A2 0B2 0 G00X100 Y100 G67 M30 O8001 1 2 3 IF 1GE20 GOTO 20 G01 1 N20 M99 图4 4G66 G67调用 取消宏程序 2 取消 指定G67后 其后面的程序段就不会再执行模态G66指令宏程序 3 模态G66调用嵌套 在期间需要再指定另一个G66代码 才可以嵌套 模态代码调用 在使用此嵌套时 值得注意的是 1 在G66程序段中 不能调用宏程序 2 在只有诸如辅助功能 但无移动指定是程序段中 不能调用宏程序 3 如果使用G66调用指令 局部变量只能在G66的程序段中指定 每次执行 模态指令时 局部变量不会改变 4 2 4 G 代码与 M 代码调用宏程序 宏程序的使用 只有G65 G66可以调用宏程序 还有G代码及M代码可以调 用宏程序 表4 3 G代码的参数设置 程序号O9010O9011O9012O9013O9014 参数号60506051605260536054 程序号O9015O9016O9017O9018O9019 参数号60556056605760586059 表4 4 M代码参数设置 程序号O9020O9021O9022O9023O9024 参数号60806081608260836084 程序号O9025O9026O9027O9028O9029 参数号60856086608760886089 在参数中 设置 No 6050 No 6059 即可使用G代码调用宏程序 而设 22 置 No 6080 No 6089 也可用M代码调用宏程序 例如 在系统中设置No 6050参数为50 则G50即G65P9010 设置No 6080为 50 则M50即为G65P9020 4 3 宏程序语句的处理以及使用限制 4 3 1 宏程序语句的处理 数控机床加工的零件 精度相对而言比一般机床要高 因此 为了加工零件 表面的平滑 数控系统 CNC 会缓冲预读下一个要执行的程序段 语句 而 在刀具半径补偿 G41 G42 中 数控系统会提前预读2 3个程序段 语句 宏程序由于是采用的算术表达式以及条件转移 当程序段被读到缓冲存储器后马 上就被处理 执行 因此 宏程序的响应速度比普通的编程或自动编程快 效率 更高 4 3 2 宏程序的使用限制 由于宏程序是机床厂为了方便用户进行二次开发而设置的 因此在系统使用 时 受到了一定的限制 1 MDI运行 在MDI 手动数据输入 模式下 不能指定宏程序 但可进行调用一个宏程 序 并且所调用的宏程序在自动运行状态下不能调用另一个宏程序 2 顺序号的检索 用户宏程序由于运用表达式进行编程 因此无法进行检索顺序号 3 单程序段 机床使用单段运行时 宏程序可以执行 执行完成后机床不会停止 主轴继 续会转动 同时调用宏程序指令G65 G66的程序段中使用单段 机床也不会停止 4 宏程序中 使用刀具半径补偿时 机床不执行补偿 因此建议使用刀 具补偿G41 G42尽可能在宏程序之前补偿完毕 在宏程序结束之后取消补偿 5 在宏程序表达式中 出现 符号时 机床不会默认为程序跳过功能 6 设置参数NE8 参数No 3202的 0位 与参数NE9 参数No 3202的 4位 为1时 对程序号8000 8999和9000 9999的用户宏程序与子程序进行保护 因此本论文建议设置为1 对第五章数控铣床的单一工序的宏程序循环使用 有重要的作用 23 第五章 宏程序在数控车 铣床的应用 本章提出数控车床中椭圆 双曲线 抛物线的走刀程序 是对数控机床在宏 程序平台上进行的二次开发 即只要调用相应程序 就可以如 G01 G02 G03 指 令一样执行走刀 弥补数控系统中的非圆曲线加工指令的空白 在数控铣床 加工中心 常用工序模型加工中 使用一种编程方法可以将宏 程序直接作为主程序 也可以作为子程序 数控铣床模型的程序建立 不仅解决 了实际加工中程序不可循环使用的难处 使得实际加工中更加灵活 方便 高效 5 1 数控车床非圆二次曲线的走刀宏程序 5 1 1 椭圆走刀轨迹的宏程序编程指令 O8001 O8001 N10 1 2 3SQTR 1 2 2 4 4 G01X 1Z 2 2 5 If 2GE 6 GOTO 10 M99 5 1 2 双曲线走刀轨迹的宏程序编程指令 O8002 O8002 N10 1 2 3SQTR 1 2 2 4 4 G01X 1Z 2 2 5 If 2GE 6 GOTO 10 M99 5 1 3 抛物线走刀轨迹的宏程序编程指令 O8003 O8003 N10 1 SQTR 2 3 2 G01X 1Z 2 2 5 If 2GE 6 GOTO 10 24 M99 变量说明 椭圆与双曲线 1 为 X 轴变量 2 为 Z 轴的自变量 3 为长半 轴尺寸 4 为短半轴尺寸 5 为 Z 轴自变量每次步进的量 6 为加工的终点的 Z 轴坐标值 抛物线 1 为 X 轴变量 2 为 Z 轴的自变量 3 为 P 的数值 4 为 Z 轴自变量每次步进的量 5 为加工的终点的 Z 轴坐标值 以上三个宏程序只需要保存于数控系统中 其程序号在车床上如同 G01 G02 G03 插补指令一样 就可以实现椭圆 双曲线 抛物线这三种非圆曲 线的走刀 5 2 数控铣床单一工序宏程序模块化编程 5 2 1 铣削平面模型 平面模型的加工程序是以对称中心为工件坐标系原点 以右下方偏离约 1 2 1 5 倍的刀具半径距离做为起进刀起始点 刀具 X 轴向负方向移动 抬刀 刀具空行程到 X 轴下刀的距离 如此循环加工直到加工完成 程序及模型参看表 5 1 图 5 1 图 5 2 图 5 3 图 5 1 平面铣削模型 表 5 1 O8004 平面铣削模型程序 O8004程序名称 G54G90G00Z100 建立工件坐标系 M03S100 主轴转动 1 A长度尺寸 2 B宽度尺寸 3 C刀具直径 25 4 2 2Y 坐标设自变量 并赋值 5铣削深度 X 1 2 0 6 3Y 2 2 0 6 3 加工起点 Z 5 3 2 2 WHILE 3LE 2 2 DO1 循环加工 G01Y 3F100 X 1 2 Z5 提高 X 1 2 3 3 0 8 4 END1 已到达加工的深度 循环 1 结束 M30 加工结束 程序返回程序开头 图 5 2 仿真过程图 图 5 3 仿真效果图 26 5 2 2 铣削外轮廓模型 外轮廓模型的加工过程是以对称中心为工件坐标系原点 以右下方偏离约 1 2 1 5 倍的距离作为起进刀点始点 Z 轴下刀一定的距离 进行第一次加工 刀具 X 轴向负方向移动 Y 轴向正方向移动 X 轴向正方向移动 Y 轴向负方向 移动 Z 轴步进一定深度 继续 XY 轴循环 如此进行循环加工直到加工完成 程序及模型参看表 5 2 图 5 4 图 5 5 图 5 6 表 5 2 O8005 铣削外轮廓模型程序 O8005 程序名称 1 A长度尺寸 2 B宽度尺寸 3 C刀具直径 4 D需要加工的深度 5 0初始值 6 E每次步进递增量 G54G90G00X0Y0Z100 M03S1000 7 1 2 3 X 方向刀位点到原点的最大距离 8 2 2 3 Y 方向刀位点到原点的最大距离 G00Z5 WHILE 5LE 4 DO1 如没有到达指定的深度 循环继续 Z 5 G01X 5F200 X 7 Y 8 X 7 Y 8 5 5 6 5 赋值并步进递增量 END1 已到达加工的深度 循环 1 结束 G00Z100 M30 加工结束 程序返回程序开头 27 图 5 4 外轮廓铣削模型 图 5 5 仿真过程 图 5 6 仿真效果 28 5 2 3 球头铣刀斜面铣削模型 球头铣刀斜面铣削模型的加工过程是以对称中心为工件坐标系原点 以右上 方偏离约 1 2 1 5 倍的距离做为起进刀点始点 Z 轴下刀最低点 进行环四边形 加工 即刀具 Y 轴向负方向移动 X 轴向正方向移动 Y 轴向正方向移动 X 轴 向负方向移动 Z 轴步进上升一定的步进量 继续循环加工 如此进行循环加工 直到加工完成 程序及模型参看表 5 3 图 5 7 图 5 8 图 5 9 图 5 7 平底铣刀斜面铣削模型 表 5 3 O8006 平底铣刀斜面铣削模型程序 O8006 程序名称 1 A X 方向大端尺寸 2 BY 方向大端尺寸 3 C 左右斜面与垂直面夹击 ZX 平面 4 D前后斜面与垂直面夹击 YZ 平面 5 E需要加工的深度 高度 6 F平底铣刀半径 7 0设定自变量 并赋初始值 17 H自变量步进的递增量 G54G90G00X0Y0Z100 M03S1000 8 1 2 6 9 2 2 6 29 X 8Y 9 Z 5 WHILE 7LE 5 DO1 如还没有加工到顶部 循环 1 继续进行 11 8 7TAN 3 22 9 7TAN 4 G01X 11Y 22Z 5 7 F200 Y 22 X 11 Y 22 X 11 7 7 17 自变量步进整理 END 1 循环 1 结束 G00Z100 M30 图 5 8 仿真过程 30 图 5 9 仿真效果图 5 2 4 球头铣刀四角圆角过渡 上下变半径 矩形外斜面铣削模型 球头铣刀四角圆角过渡 上下变半径 矩形外斜面铣削模型以对称中心为工 件坐标系原点 以右下方偏离约 1 2 1 5 倍的半径做为起进刀点始点 Z 轴下刀 一定的距离 进行第一次加工 即刀具 X 轴向负方向移动 Y 轴向正方向移动 X 轴向正方向移动 Y 轴向负方向移动 Z 轴步进上升一定高度 继续执行循环 如此进行循环加工直到加工完成 程序及模型参看表 5 5 图 5 10 图 5 11 图 5 12 图 5 10 球头铣刀四角圆角过渡 上下变半径 矩形外斜面铣削模型 表 5 5 O8007 球头铣刀四角圆角过渡 上下变半径 矩形外斜面铣削模型程序 O8007 程序名 1 A X 向外形尺寸 大端 31 2 B Y 向外形尺寸 大端 3 C 周边斜面与垂直面夹角 ZX 及 YZ 面 5 D 斜面高度 6 E 矩形四周角过渡半径 下面大端 7 F 刀具半径 8 0 dz 设为自变量 赋值为 0 18 H 自变量每次步进量 递增量 20 J 4 圆弧切入进刀和 1 4 圆弧切出退刀半径 G54G90G00X0Y0Z100 M03S1000 9 1 2 7 首轮起始刀位到原点距离 X 方向 10 2 2 7 首轮初始刀位到原点距离 Y 方向 16 6 7 首轮刀具轨迹点四角圆角半径 X 20Y 10 20 快速定位 Z 5 WHILE 8LE 5 DO 1 11 9 8 TAN 3 次轮起始刀位到原点距离 X 方向 22 10 8 TAN 3 次轮初始刀位到原点距离 Y 方向 33 16 8 TAN 3 次轮刀具轨迹点四角圆角半径递减 G01Z 5 8 F1000 Y 22 20 G91G03X 20Y 20R 20F400 1 4 圆弧切入 G90G01X 11 R 33 开始轮廓走刀 Y 22 R 33 X 11 R 33 Y 22 R 33 X0 走到中间 处 G91G03X 20Y 20R 20F400 1 4 圆弧切出 G90G00X 20 8 8 18 END1 G00Z100 提刀到安全高度 32 M30 程序结束 图 5 11 仿真过程 图 5 12 仿真效果图 5 2 5 球头铣刀铣削外球面模型 球头铣刀铣削外球面模型加工过程是以球心为工件坐标系原点 刀具偏离 1 2 1 5 倍工件最外端 Z 轴下降至所需要加工的最低高度 刀具开始走刀至 X Y 轴工件所需尺寸 然后采用 G02 顺时针环绕走刀一圈 每次步进量为下 降 1 的方式进行由上往下步进加工至最低点 程序及模型参看表 5 6 图 5 13 图 5 14 图 5 15 33 图 5 13 球头铣刀铣削外球面模型 表 5 6 O8008 球头铣刀铣削外球面模型程序 O8008 程序名 1 A球面的圆弧半径 2 B球头铣刀半径 3 C 平面 角度设为自变量 赋初始值 4 D外球面终止角度 17 E角度每次步进量 递减量 24 F球心在工件坐标系 2 中的 坐标 25 G球心在工件坐标系 2 中的 坐标 26 H球心在工件坐标系 2 中的 坐标 G54G90G00X0Y0Z100 M03S1000 G52X 24Y 25Z 26 在球心设局部坐标系 G00X0Y0Z 1 50 定位至球心完全高度上方 12 1 2 球心与刀心连线距离 常量 WHILE 3LT 4 DO 1 5 12 COS 3 任意角度时铣刀球心的 X 坐标值 绝对值 6 12 SIN 3 任意角度时铣刀球心的 Y 坐标值 绝对值 7 6 2 任意角度时铣刀球心的 Z 坐标值 绝对值 X 5 2 Y 2 定位到进刀点 34 X 7 G00 移动到当前 Z 坐标处 G03X 5Y0R 2 G03 进刀 G02I 5 G02 沿球面走一圈 G03X 5 2 Y 2R 2 G03 退刀 G00Z 7 1 在当前高度提刀 1mm Y 2 Y 方向移到进刀点 3 3 17 角度 3 每次递增 17 END 1 G00Z 1 50 G52X0Y0Z0恢复原来的 G54 坐标系 M30 程序结束 图 5 14 仿真过程 35 图 5 15 仿真效果图 5 2 6 平面内的凹圆柱面与平面过渡的倒 R 面铣削模型 交接过渡是实际加工中常见的类型之一 而图 5 16 是平面内的凹圆柱面与平 面过渡的倒 R 面铣削模型 其是由平面与凹圆柱面采用 R 面过渡的形状 其加工 工艺路线是 先进行平面铣削 而后根据 R 3 的尺寸进行有上往下加工 其中采 用了顺铣即 G02 走刀 程序及模型参看表 5 8 图 5 16 图 5 17 图 5 18 图 5 16 平面内的凹圆柱面与平面过渡的倒 R 面铣削模型 36 表 5 8 O8009 平面内的凹圆柱面与平面过渡的倒 R 面铣削模型程序 O8009 程序名 1 A凹球面半径 2 BZ0 平面到凹球面底部的距离 3 C凹球面与 Z0 平面过渡的圆角半径 4 D球头铣刀半径 5 E角度设为自变量 6 1 4 刀心与凹球面球心之间的距离 7 3 4 刀心与图 A 点之间的垂直距离 8 1 3 图 AC 长度 9 8 2 图 AB 长度 10 ACOS 9 8 图中角度 BAC 做角度变量 11 8 SIN 10 图 BC 长度 G54G90G00X0Y0Z100 设定工件坐标系 M03S1000 主轴正转 X 11Y0 快速移动到开始点上方 Z 4 2 WHILE 5LE 10 DO1 如果角度 5 10 循环 1 继续 在 R 3 圆 弧段以 5 位角度由 0 增加到 10 12 11 7SIN 5 任意角时刀心到工件中心的距离 即水 平距离 13 7 COS 5 1 4 任意角度时 刀心的 Z 轴坐标 G01X 12Y0F200 Z 13 G03I 12 5 5 1 END1循环结束 WHILE 10GE0 DO2 如果角度 10 0 循环 2 继续 在 R 1 圆 弧段以 10 位角度由 10 减少到 0 14 6 SIN 10 任意角时刀心到工件中心的距离 即水 平距离 15 1 2 6 COS 10 任意角度时 刀心的 Z 轴坐标 G01X 14Y0 37 Z 15 G03I 14 10 10 1 END2 循环 2 结束 G00Z100 X0Y0 M30 程序结束 图 5 17 加工过程 38 图 5 18 仿真效果 5 3 小结 从上述运用宏程序走刀指令和模型加工可以得到 宏程序具有通用性 易于 修改参数以及程序可循环性的强大优势 同时应用于数控铣床宏程序进行单一工 序加工零件 如平面加工 斜面加工 轮廓加工 R 面及 R 面过渡加工 球面加 工等 可以减少编程的劳动强度 有助于宏程序的模块化 因此使用宏程序加 工零件可以实现提高加工效率的效果 39 第六章 FANUC 车床宏程序的典型零件加工实例一 6 1 加工方案选择及确定 图 6 1 椭圆手柄零件 图 6 1 所示的工件为一个常用的带椭圆的手柄零件 其椭圆与直线相切 左 端为 M20 的单头普通三角螺纹 外形表面粗糙度要求为 要求比较高 倒角 尺寸要求为 R2 总长尺寸误差为 0 1mm 方案对比 方案一 普通车床加工 由于普通车床无法实现车床两轴联动 加工椭圆曲面时 无法保证曲面的尺 寸及曲面过渡 因此普通车床无法加工椭圆手柄 方案二 普通编程加工 普通编程只能加工直线或圆曲线 对于非圆曲线 则需要分解成 N 个点 同 时需要每个点的坐标 采用直线拟合加工 但是想在椭圆分解出 N 个点来 并找 到每个点的坐标 是非常困难的 因此 无法使用普通编程加工 方案三 宏程序编程加工 对于非圆 有规律曲线加工有非常好的优势 程序可以重复循环使用程序短 小精悍 可以实现程序小模块化 方便编程与使用 可以使用高速加工 2000 3000m s 其加工速率高 加工得到的表面质量很高 基本都能够达到粗糙度 方案四 自动编程 40 对于一般的曲面而已 自动编程基本都能够实现 而自动编程所得到的程序 非常庞大 超出系统的容量 只能 DNC 在线加工 同时自动编程所生成的程序 在系统需要大量地计算 因此在速度大于 800m s 以上时 会出现迟缓 断续的 现象 加工出来的表面质量不高 想要达到粗糙度 1 6 则需要多安排一道磨床 进行精磨工序 综上所述 方案三优于其余的三种方案 因此采用方案三 同时宏程序加工 与自动编程生成程序作对比 6 2 椭圆手柄工艺分析椭圆手柄工艺分析 1 椭圆手柄采用 FANUC 数控系统车床 2 材料为 45 钢 毛坯尺寸为 40 115mm 的圆形棒料 3 宏程序加工手柄加工工艺分析 工件的右端面为椭圆 不易于车床上 一般的三角卡盘装夹 因而 先加工左端的外轮廓 后加工右端的椭圆 尤其注意的是 加工左端时 由于有螺纹 如果先加工 而后加工右端的时 装夹左端会损坏螺纹 并且螺纹 M20 X 1 比较小 可以直接使用板牙加工就可以 如果需要加工比较大的螺纹 可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建筑材料采购合同书样本
- 2025年大学信息光学试卷及答案
- 2025正式车辆买卖合同
- 2025年承包商土地买卖合同范本
- 工程项目改善方案(3篇)
- 工程物业前期介入方案(3篇)
- 城市绿色屋顶2025年海绵城市建设实施方案与生态效应评估报告
- 城市空域管理创新与低空交通产业融合应用报告
- 2025年选修二导数试卷及答案
- 2025制鞋厂生产线外包服务合同
- 《高端时尚品牌解析》课件
- 委托肉类加工合同协议
- 贸易安全培训管理制度
- 以工代赈座谈会的发言稿
- 饲料公司采购部经理述职报告
- 四级育婴员模拟考试题及答案
- 供热企业运检人员专业知识习题集
- 叶类药材鉴定番泻叶讲解
- DB34T-医用(硬性)内窥镜临床使用管理规范
- 研发创新与技术合作管理制度
- 高素质农民培训方案
评论
0/150
提交评论