FANUC系统宏程序变量在机械手程序中的应用

更新时间:2024-04-04 12:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

东风本田汽车零部件有限公司

姓 名:工 号:论文题目:部 门:专 业:

论文

张智平 0942

FANUC系统宏程序在机械手程序中的应用 制造一部设备科发动机保全系曲轴班 机电一体化 二O一五年十二月

摘要

随着公司规模日益发展状大,公司对设备自动化生产的需求也越来越强,目 前发动机曲轴的设备大部分已完成加装机械手,实现了自动化生产。从而提高了 生产效率,降低了生产成本,为公司今后的发展奠定了基础。文中主要阐述了 FANUC系统宏程序宏变量在机械手编程或与机加设备联机中的灵活应用,使用宏 程序后程序量减少、结构简单易改,与机床联机可靠安全。

关键字:自动化机械手 FANUC 宏程序 宏变量

引言

公司现有设备主要靠人工手动装夹零件,不仅存在很大安全隐患、劳动强度 大,还严重影响生产效率,将非自动生产线实现自动化生产迫在眉睫。现主要采 用加装桁架机械手、辅助输料台的方式,将各工序链接,由机械手、机器人搬运 零件实现上下料。桁架机械手根据最快实际运行速度以及加工节拍的情况,一台 桁架机械手可以给多台设备服务上下料。单条生产线一般都生产多个机种零件, 因零件尺寸的差异,造成机械手装夹各机种零件的位置也不同,如果要修改某一 位置,在程序中查找很困难也易出错;机械手给同工序多台设备服务时,遇到其 一台设备故障需屏蔽跳过,或其中一台设备已加工完需优先加工,一般程序编写 很复杂难实现;与机床联机信号的交互,PMC若处理不好逻辑关系,容易造成机 械手误上下料发生严重的撞机事故。灵活应用FANUC宏程序编程,使程序编程简 单易修改、方便品种切换;轻易实现设备优先加工、屏蔽故障设备;与设备联机 运行安全可靠,提高了生产效率。

一.宏程序基本知识

1.宏程序的概念

宏程序就是相比普通程序可以使用变量进行算术运算,逻辑运算和函数 的运算,此外宏程序还提供了循环语名、分支语名和子程序调用语句,利于 编制各种复杂的零件加工程序,减少手工进行繁琐的数值计算,以及精减程 序量,简化程序。

2.宏程序与普通程序的对比

一般意义上所讲的数控指令其实是指ISO代码指令编程,即每个代码的 功能是固定的,由系统生产厂家开发,使用者只需按照规定编程即可。但有 时候这些指令满足不了用户的需要,系统因此提供了用户宏程序功能,使用 户可以对数控系统进行一定的功能扩展。用户宏程序与普通程序存在一定的 区别,表一是用户宏程序与普通程序的简要对比。

项目 程序 普通程序 宏程序 一 只能使用常量 可以使用变量,可以给变量赋值 二 常量之间不可以运算 变量之间可以运算 三 程序只能顺序执行不能跳转 程序运行可以跳转 表一

二.宏程序的变量

1.宏变量的表示

宏程序的变量是用变量符号“#”和后面的变量号指定,例如:#2、#100; 普通加工程序直接用数值指定G代码和移动距离,例如:G01 X100.0; 使用宏程序时,数值可以直接指定或用变量指定,例如: #1=#2+100 若#2=350

G01 X#1 F80相当于G01 X450 F80

表达式可以直接指定变量号,这时表达式必需封闭在括号中,例如: #1[#2+#41-15] 若#2=4,#41=16 #1[#2+#41-15]相当于#15 2.变量的类型

变量根据变量号可为分四种类型,如表二

变量号 变量类型 功能 #0 空变量 该变量总是为空,没有值可以赋给此变量。 #1~#33 局部变量 局部变量只能用在宏程序中存储数据,例如,运算结果。变量#1~#33属断电非保持型。 #100~#199 公共变量 多个宏程序中共同使用的变量,变量#100~#199属断电#500~#999 非保持型,变量#500~#999属断电保持型。 #1000以上 系统变量 用于读和写CNC系统的接口、刀补等各种数据

2.机械手位置设定

机械手搬运多个品种工件,所需的横向、纵向位置都不同,因此在程序 中位置坐标多了很容易混淆,需要调试修改某个位置时易出错,造成机械手 误走发生严重的撞机事故。利用宏程序宏变量#500~#999分配给各品种所需 的位置作为位置存储器,需要调试修改某个位置,只需在变量表内找到对应 的变量号修改值,简单又方便。若机械手设置两个机种,变量分配如下表:

3.机械手机种切换程序设计

给机种A、机种B分别编辑程序段,使用IF语句(条件转移)编程,条 件表达式用来判断当前机种,当条件满足后程序跳转到相应机种的程序段。 将变量#1013用作机种A,机床品种切换开关拔到机种A,使PMC输入信号 X1.0置1,编程PMC使X1.0为正逻辑时变量相对应的G55.5置1,在宏程序 中变量#1013被赋值为1,条件表达式#1EQ#1013条件满足,程序跳转到相应 程序段。PMC编程如下: 程序如下

O0010 (程序号)

N400IF[#1EQ#1013]GOTO100;(当机种A条件满足跳转到N100程序段) IF[#1EQ#1014]GOTO200;(当机种B条件满足跳转到N200程序段)

GOTO400; (当选择机种不是A或B,程序无条件转移到N400程序段) N100G90G92X0.W0.Z0.; (机种A程序段N100) G01X#500.F70000.; N500M98P0001; ? (中间程序省略)

GOTO500; (程序无条件跳转到程序段N500,机种A程序循环执行) N200G90G92X0.W0.Z0.; (机种B程序段N200) G01X#500.F70000.; N600M98P0001; ? (中间程序省略)

GOTO600; (程序无条件跳转到程序段N600,机种B程序循环执行) M99;

4.机械手与机床信号交互

机械手与机床属不同厂家制造,在实际生产中要求机械手与机床能协调 一致,安全可靠的运行,那么必需对这两家设备的联机,相关信号进行交互 处理。而且使用的NC系统、可编程控制器也各有不同,所以联机的方式方 法都各有区别。这里举例说明的机械手与机床都属于FANUC系统,使用PMC 外部输入输出模块进行信号的交互。其中各别信号逻辑的处理用宏程序编程, 使用宏程序编程处理这些信号,显得非常简单且可靠。

机械手给机床上下料过程中,是不允许机床有动作,为了防止发严重撞 机事故,机械手给机床一个正逻辑的信号,机床接受到这个信号后,禁止机 床所有动作运行,这个信号定义为机械手无干涉信号,分配变量#1106,对

应PMC信号F54.6。机械手给机床先取料再装料,装完料后给机床发一个正逻辑的信号,机床接受到这个信号后,机床自动启动运行,这个信号定义为 装料完成信号,分配变量#1105,对应PMC信号F54.5。具体应用如下: X#506.;(机械手水平移到机床取料上方位置)

#1106=1; (F54.6置1机械手无干涉信号Y0.6正逻辑给机床) G00W#606.;(卸料手下降到取料位置) G04P20;(卸料手停顿2 秒手爪夹紧) #1101=1;(允许 W轴上使能开)

M98P0004;(调用子程序P0004,判断卸料手是否抓取了零件) W0.;(卸料手上升回原位) ?(中程序省略) Z0.;(装料手上升回原位)

#1106=0;(给机床机械手无干涉信号复位)

#1105=1;(F54.5置1装料完成信号Y0.5正逻辑给机床自动运行启动) G01X#511.F70000;(机械手水平移到下料台位置) #1105=0;(给机床装料完成启动信号复位)

PMC处理如下:

5.联机中的报警

机械手给机床在上下料过程中,检测出与机床交互异常,用宏程序编辑 报警产生非常方便好用。如在机械手装料时,防止机床加工区的工件实际未

取走,又装料造成零件相叠加的事故,在装料前检测机床加工区有无工件, 当检测无工件允许正常装料,当检测有工件,说明卸料手取料失效未取走,不允许装料,使产生异常报警。检测工件有无信号为X4.0,分配变量#1000, 对应PMC信号G54.0,PMC编程如下:

宏程序编程如下: O0005 (子程序O0005)

IF [1 NE #1000] GOTO2; (检测有无工件,条件满足转移到程序段N2) #3000=1 ( WORK ERROR); (检测有工件NC画面出现3001 WORK ERROR报警) N2 M99;(程序段N2,子程序结束)

四.总结

宏程序在机械手与机床联机中的应用,只是宏程序应用的冰山一角,宏 程序的优越性同时体现在孔系加工、口袋及轮廓加工、各类圆柱面、斜面、 内外球面、椭球面及倒R面加工。我们还需在工作中对宏程序应用常见问题 进行归纳总结,结合普通程序,在实际维修或编程调试中灵活应用宏程序对 提高生产效率,提高编程维修人员素质有着重要的意义。

参考文献

[1]FANUC 维修说明书 B-64115/01 [2]FANUC 用户宏程序教程 B-10057/05

本文来源:https://www.bwwdw.com/article/v4tr.html

Top