加工中心换刀宏程序

合集下载

机械手刀库换刀宏程序的开发及调试

机械手刀库换刀宏程序的开发及调试

图 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 (发刀库前进卡 刀指令 )

机械手刀库换刀宏程序的开发及调试

机械手刀库换刀宏程序的开发及调试

在 使 用 内置 刀
( )刀 库 用 特 殊 寄 存 器 的设 置 如 图 2所 示 , 2
库 之前必 须进 行 必要 的设 置 。三 菱 M 0数 控 系 统 中 7
规定 了一 些 固定 的文 件 寄 存 器 ( 下 称 R 寄存 器 ) 以
通 过编制 P C程 序进行 刀库用 特殊 寄存 器的设 置 。 L
经过 以上 设 置后 ,在 刀库 工作 画 面就 可 以观 察
用 以表征 刀库 的基本 性 能 ,这 些 R 寄存 器 的功 能 如
下。
到 一刀 具库 ,特 别 是 每 一 刀位 内 的 刀具 号 ,而 且 在 内置刀 库 内是 以同定 的 R 寄存 器 存 放 每 一 刀号 。在 l M 0数控 系统 中 ,以 R 00 R 07 代表 每一 =菱 7 170~ 179
1 开始刀具库 0 开始刀具库 刀 具库 的 刀具 数 O 非任意设定 l任意设定
图 1 控制参数寄存器 R00 160的定 义
bt :对各 刀具库 的设定 。 i 3 bb =0 i ,刀 库 数 固 定设 置 。即 系 统 内 同 定设 定 有刀库 3个 ,每个刀 库 内固定设 定 刀具 数为 10 2 ,刀 具总数 可达 3 0 6。
b 3 ,可 设 定 的刀库 数 = ,每 一 刀库 内 的刀 i =1 t 5
具数可 以任 意 设 定 。刀 具 总 数 可 达 3 0 ( 般选 择 6 一
刀宏程 序 和相应 的 P C程 序 。本 文 将介 绍应 用 三 菱 L 专用 A T 令开 发机械 手刀库 换刀 程序 的关键技 术 。 C 指 2 M7 . 0数 控 系 统 内置 刀 库 的 设 置
[ MOV K 16 5 O R O 1

加工中心宏程序编程实例与技巧方法

加工中心宏程序编程实例与技巧方法
FANUC数控系统变量表示形式为 后跟1~4位数字,变量种类有四种:
变量号
变量类型
功能
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----。

mach3排刀式自动换刀宏程序

mach3排刀式自动换刀宏程序

'ToolChange Macro For Bed type tool changer 11/05 BrianSub Main()OldTool = GetOEMDRO (1200) 'Tool In spindle DRO You must add this to your settings screen x = GetToolChangeStart( 0 )y = GetToolChangeStart( 1 )z = GetToolChangeStart( 2 )a = GetToolChangeStart( 3 )b = GetToolChangeStart( 4 )c = GetToolChangeStart( 5 )tool = GetSelectedTool()NewTool = tool'Tool Changer Macro (Bed Type)MaxToolNum = 8 'Max number off tools for the changerToolDown = -70 'Z Pos to Get or drop a toolToolUp = 0.0 'Z Hieght to Rapid from tool to toolIf NewTool = OldTool ThenExi t SubEnd IfWhile NewTool > MaxToolNumNewTool = Question ("Enter New Tool Number up to " & MaxToolNum)WendCode "G00 G53 Z" & ToolUpWhile IsMoving()WendCall MovePos(OldTool)While IsMoving()WendCode "G53 Z" & ToolDownCode "G4 P.75"While IsMoving()WendActivateSignal(Output1) 'Turn On Draw bar to release the toolCode "G4 P1.0" 'Wait for the tool to release'SystemWaitFor (7) 'Wai t for the tool Release Limit swi t chCode "G53 Z" & ToolUpCall MovePos(NewTool)While IsMoving()WendCode "G53 Z" & ToolDownCode "G4 P.75"While IsMoving()WendDeActivateSignal(Output1) 'Turn Off Draw bar to Clamp the toolCode "G4 P1.0" 'Wait for the tool to ClampWhile IsMoving()WendCode "G53 Z" & ToolUpCall SetUserDRO (1200,NewTool)SetCurrentTool( NewTool )Code "G00 X" & x & " Y" & y 'Move back to where the tool change was prompted End SubSub MovePos(ByVal ToolNumber As Integer)Select Case ToolNumberCase Is = 1Xpos = 12.00YPos = 2.00Case Is = 2Xpos = 14.00YPos = 2.00Case Is = 3Xpos = 16.00YPos = 2.00Case Is = 4Xpos = 18.00YPos = 2.00Case Is = 5Xpos = 12.00YPos = 4.00Case Is = 6Xpos = 14.00YPos = 4.00Case Is = 7Xpos = 16.00YPos = 4.00Case Is = 8Xpos = 18.00YPos = 4.00End SelectCode "G53 X" & XPos & " Y" & YPosEnd SubMain。

数控机床斗笠式刀库换刀宏程序的开发和调试

数控机床斗笠式刀库换刀宏程序的开发和调试

N 7 4 ( 刀库 后 退 指令 ) 10M2 ;发 N10M8 ( 出换 刀 宏 程 序 ) 8 O 退 N10M9 宏 程 序结 束 ) 9 9( N 0 0( 入 刀库 调 整 区 间 ) 2 0M2 进 N 1 5( 库 旋转 ) 2 0M2 刀 N 2 1( 出 刀库 调 整 区 间 ) 2 0M2 退
转 调 整 ” 区 间 ( 程 序 N O —— N 2 步 ) 在 此 区 宏 20 20 ,
N9 M2 发刀 库 前进 卡刀 指 令 ) O 3(
G0 X0 1 4 .
N1 0M2 发 松 刀指 令 ) 0 7(
( 4 . XO 1
间,刀库旋转的停止条 件是 “ 当前 刀号 ”与 “ 主轴 刀
N OM5 ( 5 M9 主轴停/ 冷却停 )
N6 1 ; 主轴 定 位 ) 0M 9 (
N 0G 0 2 0( 轴 下 到 换 刀 点 ,位 置 由 #2 3 8 3 P Z Z 08
设定)
执行 “ 当前刀号 ”与 “ 主轴刀号 ” 是否相等 的判断 ( 见 宏程序第 N 5步) 4 。如果不相等 ,那 么跳转到 “ 刀库旋
号” 相等,而常规 的刀库旋 转 的停 止条件是 “ 当前刀
号 ” “ 令 刀 号 ” 等 。 这 点 必 须 充 分 注 意 ,且 须 与 指 相 在 P 程 序 中处理 ,程 序处 理 如 图 1 示 。 I 所 ( 转第 6 下 0页)
电工技术 f0 0l 1 2 7期 f 3 9
刀 。如果在 手 动 维修 状 态 转 动 了刀 盘 ,那 么 换 刀点
“ 当前位 置 刀 号 ”发 生 了 变 化 , 如 果 再 按 宏 程 序 规 定 的顺 序 动作 ,就 会 发 生 刀 具 与 主 轴 碰 撞 的 严 重 事 故 , 因此 必 须 加 上 保 护 程 序 。 其 动 作 为 : 如 果 “ 前 刀 当 号 ” “ 轴 刀 号 ”不 相 等 ,那 么 命 令 刀 盘 旋 转 , 直 与 主 到 “ 前 刀 号 ”与 “ 轴 刀 号 ”相 等 , 刀 盘 停 止 旋 当 主 转 ,再 执行 正 常 换 刀 程 序 。 在 宏 程 序 上 要 做 的 处 理 是

加工中心自动换刀程序的编制

加工中心自动换刀程序的编制

加工中心自动换刀程序的编制(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%。

三菱CNC专用换刀指令在加工中心刀库中的应用

三菱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分→刀塔反向旋转锁紧→换刀完成。

FANUC换刀宏程序中的“#1000”有何含义

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。

数控机床尤其是加工中换刀红程序

数控机床尤其是加工中换刀红程序

数控机床尤其是加工中换刀红程序关键字:自动刀具交换装置(ATC);随机换刀;数据刷新;摘要:采用PLC控制程序和宏程序(固定换刀循环程序)组成的两部分完成复杂的刀库随机换刀控制程序是比较有效的方法。

机床是制造机器的机器,机床工业的技术水平决定着装备制造业乃至整个国民经济的技术水平。

马克思在《资本论》中有一段论述:“大工业必须掌握这特有的生产资料,即机器的本身,必须用机器生产机器。

这样,大工业才能建立起与自己相应的技术基础,才得以自立”。

我国数控技术及其数控机床设备在各工业部门中应用的整体水平与工业发达国家相比还有一定差距。

为了实现“十一五”规划的发展目标,进一步发展我国的装备制造业,加快机床的数控化,对各行各业尤其对于加工批量零件、关键零件和形状复杂零件的行业,如航空、电力、船舶、模具制造业等都具有十分重要的意义。

数控机床尤其是加工中心的PLC控制程序设计是比较复杂的。

因为加工中心自动换刀的控制程序是一个比较复杂的控制过程。

按自动换刀方式通常可以分为随机换刀和固定换刀两种方式。

如图1,圆盘式刀库是ATC随机换刀典型的形式之一。

其换刀机构(ATC)通过凸轮机构来完成整个换刀过程。

换刀的动作过程准确可靠,是一种被经常采用的刀库。

在链式、盘式或箱式刀库程序设计时,通常可以将刀具交换分为两个步骤,T命令主要完成搜索刀库中的刀具,M命令完成刀具的交换,使主轴上更换新的刀具。

因此,刀具交换实际上就是指搜索和交换目标刀具。

随机换刀是一个非常复杂的逻辑控制过程。

它只对刀具进行编码而不对刀套进行编码,刀具在刀库中的位置是随机的。

理想的随机换刀控制通常包括圆盘式刀库PLC控制程序和宏程序(固定循环换刀程序)两部分组成。

PLC控制程序根据T码完成搜索刀库中的刀具,NC宏程序完成刀具交换的整个过程。

1随机换刀PLC程序设计以XH716加工中心(FANUC 数控系统)圆盘式刀库为例,刀库刀具交换的PMC控制程序设计主要考虑搜索目标刀具在刀库上的刀套位置、大小刀具管理和判别、刀库旋转方向(目标刀套最短路径)的判别、刀具数据的刷新和管理以及发生刀具交换不正确的乱刀现象,否则会发生由于刀具选错而使加工工件报废的可能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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----。

相关文档
最新文档