加工中心换刀宏程序
机械手刀库换刀宏程序的开发及调试
图 4 盘正反转指令 当刀盘 正 转 脉 冲 或 反 转 脉 冲 驱 动 上 述 指 令 后, 在显示屏幕上可观察到各刀位内 R10700 ~ R10719 内
图 5 刀具交换指令的触发
85
M 机电一体化 echatronics
4. 换刀宏程序及 PLC 程序的编制方法 换刀程序的编制有两种类型: 其一是全部动作 由 PLC 程序控制,其二是换刀动作的顺序部分由宏 程序编制,而单步的动作由 PLC 程序编制。由于宏 程序的 编 程 简 单,特 别 是 可 以 方 便 地 进 行 条 件 判 断,改变程序的流程,分析和调试程序也方便,所 以使用宏 程 序 方 式 编 制 换 刀 程 序 是 简 便 易 行 的 方 法。 机械手刀库的换刀可以分解为两部分,第 1 为 选刀,第 2 为换刀。在实际加工过程中,可先发出 选刀指令完成选刀,在需要换刀的工步再行执行换 刀,这样可以节约换刀时间。这也是机械手刀库的 优越性之一。 因此在编制机械手刀库宏程序时可编制两个宏 程序,其一是选刀宏程序,其二为换刀宏程序。在 不同的工步调用不同的宏程序。 (1) 机械手刀库的换刀顺序 ( 选刀已预先完成 状态) 各轴 (X、Y、Z 轴) 运动至第 1 换刀点→ 主轴停转→关闭切削液→Z 轴运动至第 2 换刀点→主 轴定位→刀套垂直→刀臂卡刀→主轴松刀→刀臂换 刀→主轴 锁 刀 → 刀 臂 回 原 点 → 刀 套 水 平 → 换 刀 完 成。 (2) 换刀宏程序 程序如下:
( 收稿日期: 20101230)
86
9100 N10 M10 ( 进入换刀宏程序标志) N50 M5 ( 主轴停) N54 M9 ( 冷却停) N60 M19 ( 主轴定位) N80 G30P2Z0 ( Z 轴下到换刀点,位置由#2038 设定) N90 M20 ( 发刀套垂直指令) N95 M23 ( 发机械手卡刀指令) N100 M27 ( 发主轴松刀指令) N115 M28 ( 发机械手旋转换刀指令) N120 M26 ( 发主轴锁刀指令) N130 M22 ( 发机械手回原点指令) N140 M21 ( 发刀套水平指令) N180 M80 ( 退出换刀宏程序) N190 M99 ( 宏程序结束)
换刀宏程序
换刀宏程序:M50;//屏蔽单段信号G65H01P#100Q#1250;/*首先取得R250(变量1250)的值存在公用变量100里面*/n10G65H81P10Q#1250R#100;/*等待PLC在经过一个周期的计算后翻转R130的值*//*PLC已经对换刀指令处理完毕,以下进入换刀流程*/G65 H81 P800 Q#1120R1;/*判断T指令刀号是否与主轴上的刀号一致,不一致时才需要换刀*//*需要换刀*/G0 G49 M05;/*主轴停转,取消刀补,当前移动指令模态设置为定位方式G0*/G28 G91 Z0 ;/*返回参考点,设置增量式编程*/G53 x-300 Y-20;/*工件移动到安全位置*//*判断主轴上是否有刀,无刀时直接跳转到N500所指换刀函数*/G65 H81 P500 Q#1121 R1;/*主轴有刀时的换刀过程*/G65 H01 P#1254 Q1;/*R154赋值为1-定位指示灯亮*/G53 Z-20;/*主轴下降到刀盘水平线*/G65 H01 P#1255 Q1;/*R155赋值为1,允许刀盘转动*/G4 X2;/*等待2秒*/N110 G65 H81 P110 Q#1122 R01;/*等待R2为0--刀盘转到主轴刀号对应位置*/G65 H01 P#1255 Q0;/*R155赋值为0,停止刀盘转动*/G65 H01 P#1251 Q1;/*R151赋值为1,刀盘前进*/G65 H01 P#1256 Q0;/*R156赋值为0,*//*等待R9为1--主轴松刀动作到位(梯形图处理时已经对刀盘前进到位动作采样)*/N120 G65 H81 P120 Q#1129 R0;G4 P800;/*等待800毫秒*/G28 G91 Z0;/*主轴提起到安全位置*//*R3为1表示T指令刀号已经无效则直接跳转到N600所指取刀函数*/G65 H81 P600 Q#1123 R1;G65 H01 P#1255 Q1;/*R155赋值为1,允许刀盘转动*/N130 G65 H81 P130 Q#1124 R01;/*等待R4为0--刀盘已转到T指令刀号对应位置*/G65 H01 P#1255 Q0;/*R155赋值为0,停止刀盘转动*/G65 H01 P#1251 Q1;/*R151赋值为1,允许刀盘前进后者后退*/N140 G65 H81 P140 Q#1129 R0;/*等待R9为1--主轴松刀到位*/G4 P800;/*等待800毫秒*/78 GSK21MA加工中心数控系统安装连接手册G01 Z-20 F500;/*主轴下降到刀盘水平线*/G65 H80 P600;/*直接跳转到取刀和刀盘回退函数*//*主轴无刀时的换刀过程*/N500 G65 H01 P1254 Q1;/*R154赋值为1-定位指示灯亮*/G65 H01 P#1255 Q1;/*R155赋值为1,允许刀盘转动*/N510 G65 H81 P510 Q#1125 R01;/*等待R4为0--刀盘已转到T指令刀号对应位置*/ G65 H01 P#1255 Q0;/*R155赋值为0,停止刀盘转动*/G65 H01 P#1251 Q1;/*R151赋值为1,允许刀盘前进后者后退*/N520 G65 H81 P520 Q#1129 R0;/*等待R9为1--主轴松刀到位*/G04 P800;/*等待800毫秒*/G01 Z-20 F500;/*主轴下降到刀盘水平线位置*//*取刀过程*/N600 G65 H01 P#1252 Q1;/*R152=1,主轴夹紧刀柄*/G04 P100;/*等待主轴夹紧刀柄*/G65 H01 P#1253 Q1;/*R153=1,刀盘回退*/G4x2;/*等待刀盘退回安全位置*/G65 H01 P#1251 Q0;/*R151到R156,R167清零*/G65 H01 P#1252 Q0;G65 H01 P#1253 Q0;G65 H01 P#1254 Q0;G65 H01 P#1256 Q0;G65 H01 P#1267 Q0;N800 M51;//在宏程序的最后一段恢复单段功能N1000 M99;/*换刀结束,宏程序退出*/注。
数控机床斗笠式刀库换刀宏程序的开发和调试
“换 刀点 位 置 刀 具 号 ”。
作所必须 的数据。
3.换 刀专用指 令 的使用
“指令 刀号 ” 由 R536中的 数据 表示, 这是 NC 中 已经 规 定 了 的。 由于 R1 0700和 R536使 用 的 是
在对 M70数 控 系统 内置刀库 设置 完毕 后,为 了 BCD码 所以进行比较之前还须 进行 二进 制转换。
口
可 以 任 意 设 定 。 刀 具 总 数 可 达 360。 (一 般 选 择 bit3=1)
R1 061 0一 一一每一刀库 内的刀具数。也 就是每 一 刀 库 内 有 几 把 刀 。这 也 是 一 重 要 参 数 。
3.1设 定 刀具号
向 刀库 中 的 R1 0700一R1 0779顺 序 写入 刀具 号 I 1366
动 态 的模 拟 实 际 刀库 的 换 刀动 作, M70数 控 系统 还 提 供 了专用 的换刀指令, 正确 的使用该指令,可 以大大 简化 PLC程 序对 换刀程 序 的处理 。如果使 用 常规 的
鼯 36
R83明
T (刀 具) 代码 寄存
嚣
PLC 指 令编程 可能 需要 约 600步,而 且还不 能在屏 幕上观察 到刀库 的运动和各刀套 中的实际刀具。
号 相 等
· 60· 第02期 数控机床市场
日
当前刀号”不等于”主轴刀号”则跳转到 N200步) 序 。其 动 作 如 下 :
N50 M5M9(主轴停 /冷却停)
如 果 “当 前 刀 号 ” 与 “主 轴 刀 号 ” 不 相 等 , 则 命
N60 M1 9 : (主 轴 定 位 ) N80 G30P2Z0 (Z轴 下 到 换 刀 点, 位 置 由 #2038设 定 ) N90M23 (发刀库前进卡 刀指令 )
COMAUURANE25V3型加工中心自动换刀程序
COMAUURANE25V3型加工中心自动换刀程序本文对意大利COMAU URANE 25 V3型加工中心自动换刀程序进行了分析,重点讲述了自动换刀程序中的换刀参数功能如何实现,这些参数在换刀过程中都起了什么作用,以及换刀过程中的碰撞监控功能。
1.机床简介意大利COMAU URANE 25 V3型加工中心(以下简称V3加工中心)控制系统采用西门子840D 数控系统、主轴采用Kessler的30kw 高速电主轴、XYZ三个直线轴采用西门子直线电机驱动,从而实现高速机械加工。
图1加工中心的最大特点是带有自动换刀装置,V3加工中心就带有一个或者两个圆盘式刀库,最多可装24把HSK 63刀具,两个刀位之间的距离为100mm,单把刀具的最大重量为4kg,刀库所有刀具总重量最大48kg,刀具最大尺寸限制? 160 × 275。
2.传统辅助功能实现换刀数控机床中的辅助功能也称M功能,通常机床的换刀是通过M功能中的M6实现的,当NC 执行的零件加工程序中遇到换刀指令M6时,NC会将M指令的代码号写入到专门存放通道M代码的数据块DB21中,PLC接到M指令的信号就向NC发出程序读入禁止信号,使NC处于等待状态不继续执行程序,PLC到数据块内读取M代码的信息,在程序内部进行译码,译码完成后通过外部机械装置进行换刀动作,换刀完成后发出M代码执行完成信号,同时取消读入禁止信号,NC继续执行后面的程序,换刀过程结束(如图2)。
图23.宏程序实现换刀参数功能在V3加工中心的加工程序里,换刀程序通常是带有参数的,例如:T="Q5"M6(1,3.42,17999,180)上面程序中的换刀指令M6带了4个参数。
第一次看到这样的程序也许都会感觉很奇怪,M功能怎么可能带参数,是不是写错了?实际上程序没有错,我们来分析一下M6带参数是如何实现的。
首先引入一个宏指令的概念,西门子NC编程中的宏指令,是指单个的指令组合成一个新的总指令,带自己的名称。
FANUC换刀宏程序中的“#1000”有何含义
FANUC换刀宏程序中的“#1000”有何含义
FANUC 换刀宏程序中的“#1000”有何含义
用户宏程序输入信号G54~G55
在带有刀库装置的加工中心设备中,执行换刀指令时,通常会调用换刀宏程序执行换刀动作。
在执行换刀动作时,系统通常会执行主轴定位及自动移动到换刀位置的动作,这是因为这些动作已经编辑在换刀宏程序中了,如下图所示,除了上述动作外,当呼叫的刀具号码已经是主轴刀号时,系统会直接忽略换刀动作,而在宏程序中用于判断程序中呼叫的刀具号码是否为主轴刀号,则是由宏变量决定,如下图中的“#1000”,不同设备厂家使用的宏变量可能有所不同,本文以“#1000”为例,那么宏变量“#1000”是如何准确判断刀具号码是否是主轴刀具号码的呢?
其实宏变量“#1000”只是一个系统变量,该变量是程序与PMC 交互信号的接口,宏变量“#1000~#1015”就对应着PMC信号“G54.0~G55.7”,两者是一一对应的。
如本文中的“#1000”就是对应着PMC信号中的“G54.0”,当PMC程序中的“G54.0”为1时,对应宏变量“#1000”也就为1,“G54.0”为0时,“#1000”也就
变为0。
所以换刀宏程序中的“#1000”能准确判断出刀具号码是否为主轴号码其实就是由PMC程序控制的,在PMC程序中进行相关的逻辑程序编辑,判断呼叫刀具号码是否为主轴刀具号码,若呼叫刀具号码与主轴号码相同,则输出G54.0,再结合宏程序中的判断指令就可以实现功能了。
60▼25。
加工中心宏程序编程实例与技巧方法
加工中心宏程序编程实例与技巧方法宏程序编程实例:假设需要对一个工件进行钻孔、镗孔和攻丝三个工艺步骤。
通过宏程序编程,可以将这三个步骤整合到一个宏程序中,实现自动化加工。
1.钻孔:首先,在宏程序中定义钻孔工艺参数,包括刀具类型、切削速度和进给速度等。
然后,使用钻孔刀具对工件进行钻孔操作,即通过设定好的参数进行切削。
2.镗孔:在钻孔结束后,切换到镗孔刀具。
同样,在宏程序中定义镗孔工艺参数,如刀具类型、切削速度和进给速度等。
使用镗孔刀具对钻孔后的孔进行进一步加工,确保孔的尺寸和精度。
3.攻丝:最后,切换到攻丝刀具。
在宏程序中定义攻丝工艺参数,包括切削速度和进给速度等。
使用攻丝刀具对孔进行攻丝操作,即切削螺纹。
通过将以上三个步骤整合到一个宏程序中,可以实现自动化的加工过程,提高加工效率和精度。
宏程序编程技巧方法:1.合理规划加工顺序:在编写宏程序时,需要根据工艺要求合理规划加工顺序。
例如,在上述实例中,需要先进行钻孔再进行镗孔,否则会对刀具和工件造成损坏。
2.制定合适的工艺参数:在宏程序中定义工艺参数时,需要根据具体的加工材料和刀具选择合适的切削速度、进给速度和切削深度等参数。
合适的工艺参数可以提高加工效率和质量。
3.考虑安全性:在编写宏程序时,需要考虑安全性因素。
例如,在镗孔和攻丝过程中,需要确保刀具和工件没有碰撞的风险,并且在孔的深度和尺寸达到要求之前,需要适时切换到下一个工艺步骤。
4.异常处理:在编写宏程序时,需要考虑到可能出现的异常情况,比如刀具断刀或者刮伤工件表面。
在出现异常情况时,宏程序需要能够自动停止加工并给出相应的报警信息。
5.考虑节约时间和工具寿命:在宏程序编程中,需要尽量减少无效移动和切削,以节约加工时间和延长刀具寿命。
例如,避免多次来回移动或者无效切削,需要根据实际情况来合理设置刀具路径和切削策略。
通过合理规划加工顺序、制定合适的工艺参数、考虑安全性和异常处理以及节约时间和工具寿命等技巧方法,可以更好地编写加工中心宏程序,提高加工效率和精度。
加工中心宏程序编程实例与技巧方法
加工中心宏程序编程实例与技巧方法一、什么是加工中心宏程序加工中心宏程序是一种自动化加工工艺,其主要应用于现代高精度机械加工领域,特别是在大批量生产中发挥着越来越重要的作用。
加工中心宏程序以计算机为控制中心,通过编程指令来自动控制加工中心设备进行加工作业,从而达到高度标准化和一致性的生产效果。
二、加工中心宏程序编程技巧方法2.1 减少程序长度在编写加工中心宏程序时,应避免冗余的语句,尽量减少程序长度,提高程序的可读性和维护性。
同时,可以采用参数化的方式来简化程序,例如使用变量代替数字,提高程序的灵活性。
2.2 异常处理程序在加工中心宏程序的编写过程中,应该考虑到各种异常情况的处理方法,例如材料损坏、机器故障等,预先编写好对应的异常处理程序,从而保证加工过程的稳定性和安全性。
2.3 步骤可读性在编写加工中心宏程序时,应该避免过于复杂的逻辑判断结构,更要注重步骤之间的可理解性和可读性。
可以使用注释来清晰描述每一个步骤的作用和目的。
2.4 数据使用在加工中心宏程序的编写过程中,经常需要用到数据的输入和输出,此时需要考虑如何合理地使用数据,避免数据冗余和错误。
可以使用数组和函数等方式来管理和处理数据,保证数据在加工过程中的准确性和可靠性。
三、加工中心宏程序编程实例下面是一个加工中心宏程序的编程实例,假设需要生产一批螺丝,生产过程需要将原材料进行切割、车削和铣削等多个步骤:O0001(进给轴走到起始点)G90 G80 G54 G00 X0 Y0 Z0M03 S2000G04 P2.0G81 Z-20. F200. R2.0G00 Z50.M05M30O0002(螺丝加工程序开始)G90 G54 G00 X20. Y20. Z5.T01 M06G43 H01 Z10. M08S6000 M03G01 Z-20. F100.X50. Y50.G02 X60. Y40. R10.Y30.G03 X50. Y20. R10.X40. Y30.G02 X50. Y40. R10.G01 X50. Y50.G03 X40. Y60. R10.X30. Y50.G02 X40. Y40. R10.G01 X40. Y30.G03 X30. Y20. R10.X20. Y30.G02 X30. Y40. R10.G01 X30. Y50.G03 X20. Y60. R10.G00 Z50.M05 M30通过以上实例可以看出,在编写加工中心宏程序时,需要考虑到逻辑结构、语法规则、注释说明等多个方面。
三菱CNC专用换刀指令在加工中心刀库中的应用
三菱CNC专用换刀指令在加工中心刀库中的应用武汉三菱工控技术中心黄风本文叙述了三菱CNC专用换刀指令在加工中心的斗笠式刀库和机械手刀库中的使用方法。
关键词:三菱CNC专用换刀指令斗笠式刀库机械手刀库目前在加工中心和车铣中心的刀库一般可分为两种:一种是刀套中的刀具固定,即工作过程中每一刀套中装的刀具是固定的。
其代表是斗笠式刀库。
另一种类型的刀库在工作过程中,每一刀套中所装的刀具可能是变化的,其代表是机械手刀库。
由于这两类刀库的换刀方式不同,调试人员在编制换刀程序时要采用不同的方法,在三菱CNC的PLC开发软件中提供了专用的换刀指令。
现结合机械手刀库的换刀宏程序,详述如下:1.名词术语由于GX-DEVELOP软件应用手册中的名词术语较为混乱,在本文中予以的规范如下:1.1刀具—指具体实施切削工件的工具,每把刀具可予以编号,选刀时直接指定刀具号。
1.2刀套—指卡装的刀具的装置。
刀套也有编号。
1.3刀盘—刀库中的旋转体。
带动刀套运动。
1. 4换刀位置—刀库中的特定位置,只有在此位置上的刀具才能换到主轴上。
2.换刀过程中的动作顺序2.1 斗笠式刀库的换刀顺序各轴(X,Y,Z轴)运动至第1换刀点→刀库前进卡刀→主轴松刀→Z轴上升至第2换刀点→刀库后退→旋转选刀→刀库前进→Z轴下降至第1换刀点→主轴锁刀→刀库后退→换刀完成2.2立式刀库换刀顺序Z轴运动至第1换刀点→主轴松刀,吹屑→Z轴运动至第2换刀点→关闭吹屑拔出定位销→刀盘旋转选刀→打入刀盘定位销→Z轴下降至第1换刀点→主轴锁刀→Z轴运动至原点→换刀完成2.3机械手刀库换刀顺序(M6换刀指令前,用T指令完成选刀)→刀盘旋转选刀完成→刀套垂直放下→Z轴运动至第→换刀点→机械手旋转卡刀→主轴松刀→机械手旋转换刀→主轴锁刀→机械手回原点→刀套水平收回刀库→换刀完成2.4简易转塔换刀X、Z轴运动到换刀点→刀塔正向旋转选刀→暂停0.3分→刀塔反向旋转锁紧→换刀完成。
加工中心宏程序编程实例与技巧方法
变量号
变量类型
功能
0
空变量该变量总是空,
没有任何值能赋给该变量
1——33
局部变量
局部变量只能用在宏程序中存储数据,例如运算结果.当断电时局部变量被初始化为空,调用宏程序时自变量对局部变量赋值.
*
*
数控加工编程及操作
用户宏程序编程
在数控编程中,宏程序编程灵活、高效、快捷,是加工编程的重要补充.宏程序不仅可以实现象子程序那样,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等.
FANUC数控宏程序 SIEMENS数控参数编程
**Βιβλιοθήκη 数控加工编程及操作二、FANUC宏程序的变量
*
*
数控加工编程及操作
SIEMENS数控系统参数编程
与FANUC类似,但功能要弱一些.变量以R开始,如:R0、R1、R99.不包含系统变量,系统变量以 $开头.
一、格式:Rn (n的缺省取值范围为0-99) 例如:R1 R2 … R99
二、运算符:
*
*
数控加工编程及操作
*
*
数控加工编程及操作
四、 FANUC宏程序的转移和循环
1. 无条件转移:GOTOn (n为顺序号,1——99999) 例:GOTO10为转移到N10程序段.
2. 条件转移:(IF语句) 1)IF 条件表达式 GOTOn 当指定的条件表达式满足时,转移到标有顺序号n的程序段,如果指定的条件表达式不满足时,执行下个程序段.
三、刀具补偿存储器C用G10指令进行设定
H代码的几何补偿值
G10L10P R ;
D代码的几何补偿值
加工中心换刀宏程序
关于FANUC-0IMC加工中间的换刀可以由下面三种办法主动换刀:
用M代码挪用O9000号后的O9001-O9009和O9020-O9029程序主动换刀,分离对应的参数为P6071-P6079和P6080-P6089.参数内的数字为0-999,且不克不及反复.
(一)先新建对应参数的的程序号,参数内的数字与所呼叫的M代码雷同.如下:
(1) P6089为6 ;O9029.
(2) O9029
#3=#4003;
G91G30Z0;
T#20;
T#4020;
M6;
G#3;
M99;
注:这种换刀主动记忆G90/G91的模态,换刀后默以为程序
上面的G90/G91,不必鄙人面为换刀后把G91转换为G90.且
假如用宏程序的话#203和#3不克不及用.不然的话无法换刀和记忆模态.
(二)用T代码挪用O9000号程序
(1)P6001#5为1.设定用T代码挪用宏程序.
(2)O9000
#3=#4003;
G91G30Z0;
T#149;
M6;
G#3;
M99;
注:这种换刀主动记忆G90/G91的模态,换刀后默以为程序上面的G90/G91,不必鄙人面为换刀后把G91转换为G90.屏障失落刀仓用T代码扭转,T代码直接为换刀指令.假如不必大径刀的话,这种办法比较便利,重要合适主动编程后主动生成的程序.
(三)用G65挪用宏程序换刀格局为G65T2P----。
新代加工中心宏程序格式
新代加工中心宏程序格式好嘞,咱们今天聊聊新代加工中心的宏程序格式,这可是个新鲜玩意儿,别说你不想了解。
想象一下,机器在那儿咔咔咔地工作,仿佛在跳舞,那节奏真是让人想跟着摇摆。
宏程序就像是这舞蹈的编舞者,给每一个动作下指令,让机器在生产线上流畅运转,简直像是看了一场精彩的表演。
先说说宏程序是什么。
这可不是个复杂的数学公式,实际上,它就是一系列指令,告诉机器该怎么做。
想象一下,就像你给朋友发了个微信,告诉他今晚去哪儿吃饭。
简单明了,直接上手。
这里的关键就是“简单”,你要用最少的指令,达到最大的效果。
真是聪明绝顶,绝不浪费时间。
这宏程序可是有格式的。
它就像是一份菜谱,每一步都有严格的要求。
如果你想做出一道美味的菜,得按部就班,才能让味道飙升。
宏程序里,指令要分得清楚,什么是输入,什么是输出,得有条不紊,才不会出错。
否则,机器一激动,可能就会给你制造个大乌龙,让你哭笑不得。
再说了,使用宏程序的好处多得是。
比如说,你可以把重复的工作给它自动化,这样就能省下不少力气。
就像你把洗衣服的活儿交给洗衣机,自己可以去追剧,简直是两全其美。
机械手臂上那一根根钢筋铁骨,听着命令,执行得稳稳的,真让人佩服得五体投地。
谁能想到,几行代码就能让一台机器像个听话的小孩,真是神奇。
不过,编写宏程序可不是说写就写。
得讲究技巧,得有点耐心。
这就像学骑自行车,刚开始总是摔得七荤八素,但一旦上手,就能风驰电掣。
要会调试、测试,不能一股脑就往上跑,得细水长流,才能把机器调教得服服帖帖的。
有人说,这就像在和机器谈恋爱,得了解它的脾气,知道它的喜好,才能让它乖乖听话。
最重要的就是要保持清晰的逻辑。
很多人可能觉得,哎呀,这不就是一堆数字和字母吗?实际上,宏程序就像是解谜游戏,每一个环节都得扣得紧紧的。
你要有个清楚的思路,才能让程序顺利执行。
不然,机器一乱,就好比失去了方向的船,哪儿都去不了。
真是让人捉急。
说到这里,大家肯定会问,怎么才能写出好的宏程序呢?其实也没什么秘笈。
数控机床尤其是加工中换刀红程序
关键字:自动刀具交换装置(ATC);随机换刀;数据刷新;摘要:采用PLC控制程序和宏程序(固定换刀循环程序)组成的两部分完成复杂的刀库随机换刀控制程序是比较有效的方法。
机床是制造机器的机器,机床工业的技术水平决定着装备制造业乃至整个国民经济的技术水平。
马克思在《资本论》中有一段论述:“大工业必须掌握这特有的生产资料,即机器的本身,必须用机器生产机器。
这样,大工业才能建立起与自己相应的技术基础,才得以自立”。
我国数控技术及其数控机床设备在各工业部门中应用的整体水平与工业发达国家相比还有一定差距。
为了实现“十一五”规划的发展目标,进一步发展我国的装备制造业,加快机床的数控化,对各行各业尤其对于加工批量零件、关键零件和形状复杂零件的行业,如航空、电力、船舶、模具制造业等都具有十分重要的意义。
数控机床尤其是加工中心的PLC控制程序设计是比较复杂的。
因为加工中心自动换刀的控制程序是一个比较复杂的控制过程。
按自动换刀方式通常可以分为随机换刀和固定换刀两种方式。
如图1,圆盘式刀库是ATC随机换刀典型的形式之一。
其换刀机构(ATC)通过凸轮机构来完成整个换刀过程。
换刀的动作过程准确可靠,是一种被经常采用的刀库。
在链式、盘式或箱式刀库程序设计时,通常可以将刀具交换分为两个步骤,T命令主要完成搜索刀库中的刀具,M命令完成刀具的交换,使主轴上更换新的刀具。
因此,刀具交换实际上就是指搜索和交换目标刀具。
随机换刀是一个非常复杂的逻辑控制过程。
它只对刀具进行编码而不对刀套进行编码,刀具在刀库中的位置是随机的。
理想的随机换刀控制通常包括圆盘式刀库PLC控制程序和宏程序(固定循环换刀程序)两部分组成。
PLC控制程序根据T码完成搜索刀库中的刀具,NC宏程序完成刀具交换的整个过程。
1随机换刀PLC程序设计以XH716加工中心(FANUC 数控系统)圆盘式刀库为例,刀库刀具交换的PMC控制程序设计主要考虑搜索目标刀具在刀库上的刀套位置、大小刀具管理和判别、刀库旋转方向(目标刀套最短路径)的判别、刀具数据的刷新和管理以及可预选刀具(主要为了可以缩短换刀时间),从而完成目标刀具的搜索,为刀具交换作准备。
加工中心自动换刀程序的编制
加工中心自动换刀程序的编制(1)换刀动作(指令):选刀(T××);换刀(M06)(2)选刀和换刀通常分开进行。
(3)为提高机床利用率,选刀动作与机床加工动作重合。
(4)换刀指令M06必须在用新刀具进行切削加工的程序段之前,而下一个选刀指令T 常紧跟在这次换刀指令之后。
(5)换刀点:多数加工中心规定在机床Z轴零点(Z0),要求在换刀前用准备功能指令(G28)使主轴自动返回Z0点。
(6)换刀过程:接到T××指令后立即自动选刀,并使选中的刀具处于换刀位置,接到M06指令后机械手动作,一方面将主轴上的刀具取下送回刀库,另一方面又将换刀位置的刀具取出装到主轴上,实现换刀。
(7)换刀程序编制方法1)主轴返回参考点和刀库选刀同时进行,选好刀具后进行换刀。
…N02 G28 Z0 T02 Z轴回零,选T02号刀;N03 M06 换上T02号刀…缺点:选刀时间大于回零时间时,需要占机选刀。
2)在Z轴回零换刀前就选好刀…N10 G01 X_ Y_ Z_ F_ T02 直线插补,选T02号刀N11 G28 Z0 M06 Z轴回零,换T02号刀…N20 G01 Z_ F_ T03 直线插补,选T03号刀N30 G02 X_ Y_ I_ J_ F_ 顺圆弧插补3)有的加工中心(TH5632)换刀程序与上略不同…N10 G01 X_ Y_ Z_ F_ T02 直线插补,选T02号刀…N30 G28 Z0 T03 M06 Z轴回零,换T02号刀,选T03号刀N40 G00 Z1N50 G02 X_ Y_ I_ J_ F_ 圆弧插补…注:对卧式加工中心,上面程序的G28 Z0应为G28 Y0 。
加工中心自动对刀宏程序
加工中心自动对刀宏程序%O8000(CUSTOM CALIBRATION)#506=.5(SURFACE BACK-OFF DISTANCE) #525=100.(RAPID APPROACH POS. IN Z) #526=10.(CLEARANCE POS. IN Z)#527=10.(TOOLS ABOVE THIS ROTATE) #528=89.(MAX. CUTTER DIAMETER)#529=3.(WORK OFFSET TYPE)#531=0(INCH/METRIC STORED DATA)G65P9851K116.283(X DIAM CAL)#530=1.(X-AXIS SELECT)G65P9852S10.0K12.7Z-15.(S-TOOL DIA K-STYL SIZE)#530=2.(Y-AXIS SELECT)G65P9852S10.0K12.7Z-15.(S-TOOL DIA K-STYL SIZE)M30O8851(MANUAL LENTH SETTING)G65P9851T2.S65.M30O8852(MANUAL DIAMETER SETTING) G65P9852S65.D1.M30O8853(AUTO TOOL SETTING)G65P9853B3.T1.D1.S60.M30O9799(REN SETTING)(40120583.0F)#30=520(EDIT BASE NO.)(#[#30+11]=0)(1-INCH 0-MET STORE FLAG) G90G80G40G0(CURRENT METRIC)#29=1.#31=1.(METRIC STORE)IF[#[#30+11]NE1.]GOTO100#31=1/25.4(INCH STORE)N100IF[#4006EQ21]GOTO101(CURRENT INCH)#29=.04#31=25.4(METRIC STORE)IF[#[#30+11]NE1.]GOTO101#31=1.(INCH STORE)N101IF[#506LE0]GOTO102IF[#506GT1.]GOTO102GOTO103N102#506=.5N103#[#30+0]=#107*#31#[#30+1]=#113*#31GOTO106N104IF[#118NE2]GOTO105#[#30+2]=#110*#31#[#30+3]=#111*#31#[#30+4]=#112*#31GOTO106N105#107=#[#30+0]/#31(Z POS. STATIC)#113=#[#30+1]/#31(Z POS. ROTATING)#110=#[#30+2]/#31(STYLUS SIZE)#111=#[#30+3]/#31(X POS.)#112=#[#30+4]/#31(Y POS.)#115=#[#30+5]/#31(Z APPROACH)#116=#[#30+6]/#31(Z CLEARANCE)#117=#[#30+7]/#31(TOOLS ABOVE THIS ROTATE) #121=#[#30+8]/#31(MAX. CUTTER DIA.)#108=#[#30+9](OFFSET TYPE)#120=#[#30+10](PROBE DIREC.)N106IF[#4111EQ0]GOTO107IF[#4111EQ#0]GOTO107GOTO108N107#149=0GOTO110N108IF[#108EQ11]GOTO109#149=#[#4111+2000]+#[#4111+2200] GOTO110N109#149=#[#4111+2000]N110#149=#5083(EDIT)#31=#0M99O9850(REN TOOL SELECT)G91G28Z0G90IF[#20EQ0]GOTO1T#20M06N1M99O9851(REN LEN SET)M05#118=0M98P9799IF[#6NE#0]GOTO1IF[#20EQ#0]GOTO22N1#3=#5023-#5043#5=3IF[#19LT0]GOTO2#5=4N2#23=#5043-#149IF[#17NE#0]GOTO3#17=4.*#29N3IF[#26NE#0]GOTO4#26=-10.*#29N4IF[#13EQ#0]GOTO5#[2000+#13]=0N5#28=#23+#26#1=.5*#29IF[#23GT#28]GOTO6#1=-.5*#29#17=-#17N6IF[#6NE#0]GOTO9IF[#19EQ#0]GOTO9#15=ABS[#19/#29]#15=[ROUND[1910/#15]]*10IF[#15LT800]GOTO7#15=800N7IF[#15GT150]GOTO8#15=150N8#31=800(RPM SECOND TOUCH)#9=#15/8*#29(FEED FIRST TOUCH) #27=4.*#29(FEED SECOND TOUCH)GOTO10N9#27=4.*#29#9=1000.*#29#1=5.*#29*#506N10#10=1000.*#29#28=#28-#17IF[#15EQ#0]GOTO11S#15M#5G04X1.N11(Z MEAS)#3004=2#30=122G31Z#28F#9#25=#5063-#149+#1G1Z#25F#10#30=122IF[ABS[#5063-#149-#28]LE[.05*#29]]GOTO23 #30=121IF[ABS[#5063-#149-#23]LE[.05*#29]]GOTO23 #30=0#32=#25IF[#6NE#0]GOTO12#32=#5063-#149-#26IF[#31EQ#0]GOTO12S#31G04X1.GOTO13N12G31Z#28F[30*#29]G1Z#32F[5000*#29]#3004=0#30=122IF[ABS[#5063-#149-#28]LE[.05*#29]]GOTO23#30=121IF[ABS[#5063-#149-#25]LE[.05*#29]]GOTO23 #30=0#12=#5063#8=#5063+#3-#107IF[#6EQ#0]GOTO15#3004=2N13G31Z#28F[#27]G1Z[#5063-#149-#26]F[5000*#29]#3004=0IF[#15EQ#0]GOTO14S#15N14#30=122IF[ABS[#5063-#149-#28]LE[.05*#29]]GOTO23 #30=121IF[ABS[#5063-#149-#25]LE[.05*#29]]GOTO23 #30=0#14=#5063#8=#5063+#3-#113IF[#6NE#0]GOTO21N15(SET TOOL)IF[#108EQ2]GOTO17IF[#108EQ3]GOTO17IF[#108EQ12]GOTO19IF[#108EQ13]GOTO19(TYPE A)IF[#11EQ#0]GOTO16IF[ABS[#8-#[2000+#20]]GT#11]GOTO26GOTO28N16#[2000+#20]=#8(GEOM)GOTO28N17(TYPE B FS0)IF[#11EQ#0]GOTO18IF[ABS[#8-#[2000+#20]-#[2200+#20]]GT#11]GOTO26 GOTO28N18#[2200+#20]=#8(GEOM)#[2000+#20]=0(WEAR)GOTO28N19(TYPE B FS10)IF[#11EQ#0]GOTO20IF[ABS[#8-#[2000+#20]-#[2200+#20]]GT#11]GOTO26 GOTO28N20#[2000+#20]=#8(GEOM)#[2200+#20]=0(WEAR)GOTO28N21(CAL.)#107=#12-#6+#3#113=#14-#6+#3#118=1GOTO28N22#3000=91(FORMAT ERROR) N23M05G1Z#23F[2000*#29]IF[#30EQ122]GOTO25N24#3000=92(PROBE OPEN)N25IF[#11NE#0]GOTO26#3000=93(PROBE FAIL)N26IF[#13EQ#0]GOTO27#[2000+#13]=1GOTO28N27M05#3000=99(BROKEN TOOL) N28M05M98P9799#118=0M99O9852(REN DIAM SET)#2=#4M05#118=0IF[#19EQ#0]GOTO34M98P9799IF[#6NE#0]GOTO1IF[#7EQ#0]GOTO34GOTO2N1#110=#6N2#5=3IF[#19LT0]GOTO3#5=4N3#7=ABS[#7]#19=ABS[#19]IF[#18NE#0]GOTO4#18=4.*#29N4IF[#13EQ#0]GOTO5#[2000+#13]=0N5#31=800(RPM SECOND TOUCH) #15=#19/#29#15=[ROUND[1910/#15]]*10 IF[#15LT800]GOTO6#15=800(RPM FIRST TOUCH) N6IF[#15GT150]GOTO7#15=150N7#9=#15/6*#29(FEED FIRST TOUCH)#27=4.*#29(FEED SECOND TOUCH)#10=5000.*#29(CLEAR MOVE XY)#12=1000.*#29(CLEAR MOVE Z)IF[#26NE#0]GOTO8#26=-15.*#29N8IF[#6NE#0]GOTO9S#15M#5N9#21=#5041#22=#5042#3004=0IF[#6NE#0]GOTO11G31X[#111-[#5021-#5041]]Y[#112-[#5022-#5042]]F#10 #30=121IF[ABS[#5041-[#111-[#5021-#5041]]]GE[.05*#29]]GOTO10 IF[ABS[#5042-[#112-[#5022-#5042]]]GE[.05*#29]]GOTO10 GOTO11N10M05G1X#21Y#22#3000=92(PROBE OPEN)N11#23=#5043-#149#1=-.5*#29#14=0#16=#23+#26IF[#120EQ2]GOTO16(X MEAS)#21=#5041#22=#5042#24=#21-[#110+#19]/2+#18#28=#21-[#110+#19]/2-#18N12G31X#28F#10#30=121IF[ABS[#5061-#28]GT[.05*#29]]GOTO35G31Z#16F#12#30=121IF[ABS[[#5063-#149]-#16]GT[.05*#29]]GOTO33 #3004=2G31X#24F#9#25=#5061+#1G1X#25F#10#30=122IF[ABS[#5061-#24]LE[.05*#29]]GOTO33#30=121IF[ABS[#5061-#28]LE[.05*#29]]GOTO33IF[#6NE#0]GOTO14IF[ABS[#31-#4119]LT1]GOTO13S#31N13G04X1.N14G31X#24F[#27]G1X#28F[3000*#29]#3004=0IF[ABS[#15-#4119]LT1]GOTO15S#15N15#30=122IF[ABS[#5061-#24]LE[.05*#29]]GOTO33 #30=121IF[ABS[#5061-#25]LE[.05*#29]]GOTO33 #30=0#[#14+4]=#5061(V4 AND V5 SKIP)Z#23X#21#1=-#1#14=#14+1#24=#21+[#110+#19]/2-#18#28=#21+[#110+#19]/2+#18IF[#14NE2]GOTO12IF[#6NE#0]GOTO32GOTO21N16(Y MEAS)#21=#5042#22=#5041#24=#21-[#110+#19]/2+#18#28=#21-[#110+#19]/2-#18N17G31Y#28F#10#30=121IF[ABS[#5062-#28]GT[.05*#29]]GOTO39 G31Z#16F#12#30=121IF[ABS[[#5063-#149]-#16]GT[.05*#29]]GOTO37 #3004=2G31Y#24F#9#25=#5062+#1G1Y#25F#10#30=122IF[ABS[#5062-#24]LE[.05*#29]]GOTO37#30=121IF[ABS[#5062-#28]LE[.05*#29]]GOTO37IF[#6NE#0]GOTO19IF[ABS[#31-#4119]LT1]GOTO18S#31N18G4X1.N19G31Y#24F[#27]G1Y#28F[3000*#29]#3004=0IF[#6NE#0]GOTO20IF[ABS[#15-#4119]LT1]GOTO20S#15N20#30=122IF[ABS[#5062-#24]LE[.05*#29]]GOTO37#30=121IF[ABS[#5062-#25]LE[.05*#29]]GOTO37#30=0#[#14+4]=#5062(V4 AND V5 SKIP)Z#23Y#21#1=-#1#14=#14+1#24=#21+[#110+#19]/2-#18#28=#21+[#110+#19]/2+#18IF[#14NE2]GOTO17IF[#6NE#0]GOTO32N21(SET TOOL)#8=ABS[#4-#5]-#110-[#2*2]IF[#108EQ2]GOTO24IF[#108EQ3]GOTO28IF[#108EQ12]GOTO26IF[#108EQ13]GOTO30N22(TYPE A)IF[#11EQ#0]GOTO23IF[ABS[[#8/2]-#[2000+#7]]GT#11]GOTO42GOTO44N23#[2000+#7]=#8/2(OFFSET)GOTO44N24(TYPE B FS0)IF[#11EQ#0]GOTO25IF[ABS[[#8/2]-#[2000+#7]-#[2200+#7]]GT#11]GOTO42 GOTO44N25#[2200+#7]=#8/2(GEOM)#[2000+#7]=0(WEAR)GOTO44N26(TYPE B FS10)IF[#11EQ#0]GOTO27IF[ABS[[#8/2]-#[2000+#7]-#[2200+#7]]GT#11]GOTO42 GOTO44N27#[2000+#7]=#8/2(GEOM)#[2200+#7]=0(WEAR)GOTO44N28(TYPE C FS0)IF[#11EQ#0]GOTO29IF[ABS[[#8/2]-#[12000+#7]-#[13000+#7]]GT#11]GOTO42 GOTO44N29#[13000+#7]=#8/2(GEOM)#[12000+#7]=0(WEAR)GOTO44N30(TYPE C FS10)IF[#11EQ#0]GOTO31IF[ABS[[#8/2]-#[2400+#7]-#[2600+#7]]GT#11]GOTO42 GOTO44N31#[2400+#7]=#8/2(GEOM)#[2600+#7]=0(WEAR)GOTO44N32IF[#120EQ2]GOTO36IF[#120EQ-2]GOTO36(XCALIBRATE)#110=ABS[#4-#5]-#19#111=[[#4+#5]/2]+#5021-#5041#112=#5022X[#111-[#5021-#5041]]#118=2GOTO44N33G1X#28F[5000*#29]Z#23GOTO35N34M05#3000=91(FORMAT ERROR)N35M05G1X#21F[5000*#29]IF[#30EQ122]GOTO41GOTO40N36(Y CAL.)#110=ABS[#4-#5]-#19#112=[[#4+#5]/2]+#5022-#5042 #111=#5021Y[#112-[#5022-#5042]]#118=2GOTO44N37G1Y#28F[5000*#29]Z#23GOTO39N38M05#3000=91(FORMAT ERROR)N39M05G1Y#21F[5000*#29]IF[#30EQ122]GOTO41N40#3000=92(PROBE OPEN)N41IF[#11NE#0]GOTO42#3000=93(PROBE FAIL)N42IF[#13EQ#0]GOTO43#[2000+#13]=1GOTO44N43M05#3000=99(BROKEN TOOL)N44M05M98P9799#118=0M99O9853(REN AUTO SET)#1=#4M05#118=0M98P9799IF[#20EQ#0]GOTO26#27=FIX[#20](TOOL)#32=[#20-FIX[#20]]*1000(OFFSET) #32=ROUND[#32]IF[#32NE0]GOTO1#32=#27N1IF[#2EQ1]GOTO2IF[#7EQ#0]GOTO26N2IF[#108EQ3]GOTO3IF[#108EQ13]GOTO3IF[ABS[#7]EQ#32]GOTO26 N3#4=#5021-#5041#5=#5022-#5042#6=#5023-#5043IF[#19EQ#0]GOTO4#31=#19#10=ABS[#19]GOTO10N4IF[#7EQ#0]GOTO11#31=-1IF[#7LT0]GOTO5#31=1N5IF[#108EQ2]GOTO6IF[#108EQ12]GOTO6IF[#108EQ3]GOTO7IF[#108EQ13]GOTO8#10=#[2000+ABS[#7]] GOTO9N6#10=#[2000+ABS[#7]]+#[2200+ABS[#7]] GOTO9N7#10=#[12000+ABS[#7]]+#[13000+ABS[#7]] GOTO9N8#10=#[2400+ABS[#7]]+#[2600+ABS[#7]] N9#10=[#10+#1]*2#31=#10*#31N10IF[#10EQ0]GOTO25IF[#2EQ1]GOTO11IF[#10GT#121]GOTO25N11#3004=0IF[#27EQ#0]GOTO12G65P9850T#27H#11N12IF[#19NE#0]GOTO13IF[#7EQ#0]GOTO19N13IF[#10LE#117]GOTO19IF[#2EQ2]GOTO19IF[#120EQ1]GOTO14IF[#120EQ-1]GOTO15IF[#120EQ2]GOTO16IF[#120EQ-2]GOTO17GOTO19N14G0X[#111-#4]Y[#112-#5-[#10/2]]GOTO18N15G0X[#111-#4]Y[#112-#5+[#10/2]]GOTO18N16G0Y[#112-#5]X[#111-#4-[#10/2]]GOTO18N17G0Y[#112-#5]X[#111-#4+[#10/2]]N18#10=#31GOTO20N19G0X[#111-#4]Y[#112-#5]#10=#0N20#28=#113+#115-#6G31G43H#32Z#28F[3000*#29]G65P9799IF[ABS[[#5063-#149]-#28]GT[.05*#29]]GOTO24#28=#113+#116-#6G31Z#28F[1000*#29]IF[ABS[[#5063-#149]-#28]GT[.05*#29]]GOTO24IF[#2EQ2]GOTO21G65P9851T[#32]S[#10]Z[-#116]Q[#17]H[#11]M[#13] IF[#13EQ#0]GOTO21IF[#[2000+#13]EQ1]GOTO27N21IF[#7EQ#0]GOTO27IF[#26EQ#0]GOTO22#26=#26-#116GOTO23N22#26=-[#116+[5.*#29]]N23IF[#2EQ1]GOTO27IF[#2EQ#0]GOTO27G65P9852D[ABS[#7]]S[#31]Z[#26]R[#18]I[#1]H[#11]M[#13] GOTO27N24G91G28Z0G90#3000=92(PROBE OPEN)N25#3000=82(TOOL OUT OF RANGE)N26#3000=91(FORMAT ERROR)N27G91G28Z0G90M99%。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于FANUC-0IMC加工中心的换刀可以由下面三种方法自动换刀:
用M代码调用O9000号后的O9001-O9009和
O9020-O9029程序自动换刀,分别对应的参数为
P6071-P6079和P6080-P6089。
参数内的数字为0-999,且不能重复。
(一)先新建对应参数的的程序号,参数内的数字与所呼叫的M代码相同。
如下:
(1)P6089为6 ;O9029。
(2)O9029
#3=#4003;
G91G30Z0;
T#20;
T#4020;
M6;
G#3;
M99;
注:这种换刀自动记忆G90/G91的模态,换刀后
默认为程序上面的G90/G91,不必在下面为换刀
后把G91转换为G90。
且如果用宏程序的话#203
和#3不能用。
不然的话无法换刀和记忆模态。
(二)用T代码调用O9000号程序
(1)P6001#5为1。
设定用T代码调用宏程序。
(2)O9000
#3=#4003;
G91G30Z0;
T#149;
M6;
G#3;
M99;
注:这种换刀自动记忆G90/G91的模态,换刀后默认为程序上面的G90/G91,不必在下面为换刀后把G91转换为G90。
屏蔽掉刀仓用T代码旋转,T代码直接为换刀指令。
如果不用大径刀的话,这种方法比较方便,主要适合自动编程后自动生成的程序。
(三)用G65调用宏程序换刀格式为G65T2P----。