宏程序编制讲解(北京工业技师学院).pps_第1页
宏程序编制讲解(北京工业技师学院).pps_第2页
宏程序编制讲解(北京工业技师学院).pps_第3页
宏程序编制讲解(北京工业技师学院).pps_第4页
宏程序编制讲解(北京工业技师学院).pps_第5页
已阅读5页,还剩53页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宏程序编程与应用 主讲教师 王展超 个人简介 第二届全国数控技能大赛数控车组第一名研究方向 德国DMG250车铣复合9轴5联动机床工作单位 北京市工业技师学院联系方式 Mail Wangzhanchao 1028 什么场合用到变量编程 为什么会用到变量编程 手工编程加工公式曲线 计算简单 输入快捷 有规律的切削路径 作为一个切削模块 程序间的控制 程序的调度 刀具的管理 刀具的磨损 自动测量 机内侧头 什么叫宏程序 在编程时 我们会把能完成某一功能的一系列指令像子程序那样存入存储器 用一个总指令来调用它们 使用时只需给出这个总指令就能执行其功能所存入的这一系列指令称作用户宏程序本体 简称宏程序 这个总指令称作用户宏程序调用指令 在编程时 编程员只要记住宏指令而不必记住宏程序 用户宏程序与普通程序的区别 在用户宏程序本体中 能使用变量 可以给变量赋值 变量间可以运算 程序可以跳转 普通程序中 只能指定常量 常量之间不能运算 程序只能顺序执行 不能跳转 因此功能是固定的 不能变化 用户宏功能是用户提高数控机床性能的一种特殊功能 在相类似工件的加工中巧用宏程序将起到事半功倍的效果 数控系统变量表示形式为 后跟1 4位数字 变量种类有三种 1 局部变量 1 33是在宏程序中局部使用的变量 它用于自变量转移 2 公用变量 用户可以自由使用 它对于由主程序调用的各子程序及各宏程序来说是可以公用的 100 149在关掉电源后 变量值全部被清除 而 500 509在关掉电源后 变量值则可以保存 3 系统变量 由后跟4位数字来定义 它能获取包含在机床处理器或NC内存中的只读或读 写信息 包括与机床处理器有关的交换参数 机床状态获取参数 加工参数等系统信息 宏程序的特点 宏程序可使用变量 可用变量执行相应操作 实际变量值可由宏程序指令赋给变量 基本指令 1 宏程序的简单调用格式宏程序的简单调用是指在主程序中 宏程序可以被单个程序段单次调用 调用指令格式 G65P 宏程序号 L 重复次数 变量分配 其中 G65 宏程序调用指令P 宏程序号 被调用的宏程序代号 L 重复次数 宏程序重复运行的次数 重复次数为1时 可省略不写 变量分配 为宏程序中使用的变量赋值 宏程序与子程序相同的一点是 一个宏程序可被另一个宏程序调用 最多可调用4重 2 宏程序的编写格式宏程序的编写格式与子程序相同 其格式为 0 0001 8999为宏程序号 N10指令N M99上述宏程序内容中 除通常使用的编程指令外 还可使用变量 算术运算指令及其它控制指令 变量值在宏程序调用指令中赋给 宏程序切槽 在用宏程序切槽时用到了宏程序的嵌套 z方向的移动是大的宏程序 x方向的切深嵌套在里面 具体的编程与解释说明见以下部分 如下对WHILE和IF做了具体讲解 1 WHILE语句2 IF语句 宏程序切槽实体图形 根据此图编写槽程序 WHILE语句 G00X52Z2 2 14 是刀具z向的起刀点 因为刀宽为4mm 所以起刀点定在Z 14的位置 WHILE 2GE 30 DO2 是z方向的约束条件 当z等于 30时 z向就不再移动G00Z 2 z方向的当前位置 2 2 2 z方向的移动步距 每次移动2mm 1 52 是x方向的起刀点 WHILE 1GE20 DO1 X方向的约束条件 当直径等于20时就不再切削G01X 1 F0 2 x方向的切深G00X 1 1 x方向的相对退刀量 1 1 1 x方向的步距 每次切1mm END1 G00X52 END2 宏程序切槽的完整程序 O1234 G40G97G99 T0101 WHILE 1GE20 DO1 S1000M3 G01X 1 F0 2 G00X52Z2 G00X 1 1 2 14 1 1 1 WHILE 2GE 30 DO2 END1 G00Z 2 G00X52 2 2 2 END2 1 52G00X150Z150 M30 IF语句 G00X52Z 2 1 14 是刀具的z向起刀点 刀宽为4mm N2 1 1 2 是z方向的移动步距 2 52 为x方向的起刀点N1 2 2 1 是x方向的步距 每次切深1mm G01X 2 F0 2 X方向的当前位置G00X 2 1 x方向的相对退刀量IF 2GE21 GOTO1 x方向的约束条件 当x的数值切到20时就进行下面程序 不再返回 G00X52 X退刀到52的位置G00Z 1 Z方向的当前位置IF 1GE 30 GOTO2 Z方向的约束条件 当z等于 30时 z向就不在移动 宏程序切槽的完整程序 O1234 G40G97G99 IF 2GE21 GOTO1 T0101 G00X52 S1000M3 G00Z 1 G00X52Z 2 IF 1GE 30 GOTO2 1 14 G00X200 N2 1 1 2 Z200 2 52 M5 N1 2 2 1 M30 G01X 2 F0 2 G00X 2 1 椭圆编程 椭圆实体图形 椭圆WHILE语句的标准格式 1 a a 为刀具的起刀点在相对椭圆的轴线Z的正方向amm处WHILE 1GEb DO1 b 为椭圆加工的终点在相对椭圆的轴线Z的负方向bmm处 如果加工的是一个完整的半椭圆 那a b是数值相同符号不同的两个数值 2 c SQRT 1 1 1 d d c 椭圆的短半轴d 椭圆的长半轴 根据椭圆公式求 2 长半轴为d 短半轴为c 2代表X的数值 1为Z的数值 SQRT是开方的意思 G01X 2 2 e Z 1 f e 椭圆的X向轴线相对工件坐标系的偏移量 直径值 f 椭圆的Z向轴线相对工件坐标系的偏移量 1 1 1 步距 每次移动1mm END1 注意事项 当车削凹椭圆时X后括号中的 取 当车削凸椭圆时X后括号中的 取 当椭圆的X轴线向正向偏移则Z后括号中的 取 当椭圆的X向轴线向负向偏移则Z后括号中的 取 椭圆IF语句的标准格式 1 a a 为刀具的起刀点在相对椭圆的轴线Z的正方向amm处N1 2 b SQRT 1 1 1 c c b 椭圆的短半轴c 椭圆的长半轴 根据椭圆公式X c Y b 1 SQRT是开方的意思 G01X 2 2 d Z 1 e F0 2 d 椭圆的X向轴线相对坐标零点的偏移量 直径值 e 椭圆的Z向轴线相对零面的偏移量 1 1 1 步距 每次移动1mm IF 1GE f GOTO1f 椭圆加工的终止 注意事项 当车削凹椭圆时X后括号中的 取 当车削凸椭圆时X后括号中的 取 当椭圆的X轴线向正向偏移则Z后括号中的 取 当椭圆的X向轴线向负向偏移则Z后括号中的 取 根据此图编写椭圆程序 椭圆宏程序实例 1 WHILE语句 1 20 WHILE 1GE 20 DO1 2 10 SQRT 1 1 1 400 G01X 2 2 50 Z 1 25 1 1 1 END1 2 IF语句 1 20 N1 2 10 SQRT 1 1 1 400 G01X 2 2 50 Z 1 25 F0 2 1 1 1 IF 1GE 20 GOTO1 椭圆加工的完整程序 O1234 G40G97G99 G01X 2 2 50 Z 1 25 F0 2 T0101 1 1 1 S1000M3 END1G00X50Z2 G00X50 G73U5R5 N20G00G40Z2 G73P10Q20U0 5F0 2 G70P10Q20 N10G0G42Z 5 G00X200 1 20 Z200 WHILE 1GE 20 DO1 M5 2 10 SQRT 1 1 1 400 M30 IF语句完整格式省略 IF语句也一样 只要加上循环就可以 在FANUC 0i系统中宏程序只能加在G73中 抛物线的加工 抛物线加工实体 抛物线WHILE语句的标准格式 1 a a 为刀具的起刀点在抛物线轴线Z的方向amm处WHILE 1GE b DO1 b 为椭圆z向的加工长度 2 SQRT 1 5 3 根据抛物线公式Z 3 5 X X 求其中的X值 也就是 2 其中SQRT是开平方的意思 G01X 2 2 c Z 1 c 为抛物线的X向轴线相对工件坐标系的偏移量 直径值 取 时为凸 取 时为凹 1 1 1 步距 每次移动1mm END1 抛物线IF语句的标准格式 1 a a 为刀具的起刀点在抛物线轴线Z的方向amm处N1 2 SQRT 1 5 3 根据抛物线公式Z 3 5 X X 求其中的X值 也就是 2 其中SQRT是开平方的意思 G01X 2 2 b Z 1 b 为抛物线的X向轴线相对坐标零点的偏移量 直径值 取 时为凸 取 时为凹 1 1 1 Z方向的步距 每次移动1mm IF 1GE c GOTO1 c 为椭圆z向的加工长度 抛物线IF语句的另一种形式 1 a N1 2 SQRT 1 5 3 号可省略G01X 2 2 b Z 1 1 1 1 IF 1LEc GOTO1 假设抛物线是向Z的正方向 再用Z 1 把抛物线对称到负方向 根据此图编写抛物线程序 抛物线宏程序实例 1 WHILE语句 1 0 WHILE 1GE 15 DO1 2 SQRT 1 5 3 G01X 2 2 30 Z 1 1 1 1 END1 2 IF语句 1 0 N1 2 SQRT 1 5 3 G01X 2 2 30 Z 1 1 1 1 IF 1GE 15 GOTO1 抛物线加工的完整程序 O1234 G40G97G99 G01X 2 2 30 Z 1 T0101 1 1 1 S1000M3 END1 G00X42Z1 G00X42 G73U5R5 N20G00G40Z2 G73P10Q20U0 5F0 2 G70P10Q20 N10G00G42Z0 G00X200 1 0 Z200 WHILE 1GE 15 DO1 M5 2 SQRT 1 5 3 M30 WHILE语句与IF语句的区别 1 两种语句返的方向不同 1 WHILE语句向后返例 WHILE 1GE20 DO1 G01X 1 F0 2 假设机床执行到此句时 1 20 它会继续往下执行 执行到 1 1 1后 1的值变为19 不再满足约束条件所以就不会返回去 X方向切到20 G00X 1 1 1 1 1 END1 2 IF语句向前返例 N1 2 2 1 G01X 2 F0 2 假设机床执行到此句时 2 20 它会继续往下执行 执行到IF 2GE20 GOTO1 仍然满足条件 它会继续返回到N1 2 2 1 而现在的X值就会变为19 不再满足约束条件 而后再执行一次G01X 2 F0 2 最后就执行下面的程序 X方向已经切到19 G00X 2 1 IF 2GE20 GOTO1 2 从上面的切槽程序可以看出 IF语句要比WHILE语句的字数要少很多 3 由于返回的方向不同 在加工中WHILE语句少读一句 IF语句要多读一句 SIEMENS系统 车床 宏程序应用 说明 宏程序是用变量编程 西门子系统的变量号用R表示 例如用普通编程方法编写的 G01X 10用宏程序可表示为 R1 10G01X R1条件转移 IFGOTOB 向后跳转IFGOTOF 向前跳转 用普通编程方法编写的GO1X100用变量可表示为 R1 0AA R1 R1 1G01X R1IFR1 100GOTOBAAR1是自变量 初始值为0 R1 R1 1表示的是自变量的递增数值为1 当程序每次走过此行时 R1的值增加1 R1 100是条件式 IFR1 100GOTOBAA此行的意思是如果自变量R1 100则程序向后跳转到标记处 AA 如果R1大于或等于100 则程序往下走 宏程序在G90和G91模态下都可以使用 不过它们含义不同 例如 R1 0 G90R1 R1 1 G1X R1 此程序走完第二遍X的值是2 R1 0 G91R1 R1 1 G1X R1 此程序走完第二遍X的值是3 解释 程序走完第一遍R1的值是1 走第二遍的时候R1的值是2 但是在G91模态下它是在前面的基础上走的 1 切槽 T1TCT1D1G0G40X100Z100M03S1000G0X54Z2快速到达起刀点Z 10R1 3定义刀片宽度为3mmR2 10 R1 0 2起刀点为 10 对刀时以刀片左边对刀 所以应减去刀片的宽度 0 2为精加工余量 G1Z R2F0 1刀具到达Z轴起刀点AA R2 R2 2 5R3 50槽X轴起到点BB R3 R3 2定义每刀切削深度为2mmG1X R3X R3 1每切深2mm单边退0 5mm排屑IFR3 30 0 4GOTOBBB定义槽深10mm 如果R3 30mm程序向后跳转到标记处BB 0 4为精加工余量G0X50刀具到达X轴起刀点 G1Z R2IFR2 30 0 2GOTOBAA定义槽宽为20mm 0 2是精加工余量G0X50G01Z 13精加工X30Z 16G0X50Z 30G01X30Z 16G0X50退刀G0X100Z100M05M30 2 椭圆 基本格式R1 0定义变量R1初始值为0AA R2 b SQRT 1 R1 R1 a a 根据椭圆方程所得 a是椭圆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论