ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:64.81KB ,
资源ID:8826508      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8826508.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数车宏程序B及其应用实例K.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数车宏程序B及其应用实例K.docx

1、数车宏程序B及其应用实例KFANUC 0i Mate-TC系统宏程序B功能实例应用William.YangFANUC 0i Mate-TC系统宏程序B功能序宏程序作为一种数控程序编制指令现在已经被广大数控机床用户所认识,尤其是近年来随着各类数控大赛的不断开展,宏程序在大赛中的广泛应用,在数控行业中掀起了宏程序的热潮。宏程序根据所用的数控机床的不同略有不同,但大同小异,我们学会了一种机床的宏程序后,再学习其它机床的宏程序就容易了。本文以国际上比较流行的FANUC 0i Mate数控系统为例,介绍一下宏程序的编程。FANUC 0i Mate数控系统中宏程序分为用户宏程序功能A和用户宏程序功能B两类

2、。A类宏程序是采用了G代码和引数进行赋值来表达各种数学运算和逻辑关系的一种方法,现在这种方法由于编制起来相对复杂,一般只有数控机床上没有配置用户宏程序功能B的用户才使用用户宏程序功能A。目前大多数用户都使用用户宏程序功能B进行编制,所以本书仅以用户宏程序功能B为重点深入介绍宏程序的相关知识。讲座中编写了近年广泛应用的一些例子和笔者最近开发 的零件使用宏程序的复杂例子。以FANUC 0i Mate数控系统数控车床和加工中心为例进行讲解,本讲座已经作为我学院的宏程序教案进行推广,同时在我学院进行培训的高级技师、技师及高级工中进行了讲授反映良好,特将本教案作为实例供广大使用FANUC 0i Mate

3、数控系统的用户和有兴趣研究宏程序的读者作为参考。一、宏程序的基本概念在一般的程序中,程序字为常量,只能描述固定的几何形状,缺乏灵活性和适用性。若能用改变参数的方法使同一主程序能加工形状(属性)相同但尺寸(参数)不同的零件,加工就会非常方便,也提高了可靠性。加工不规则形状零件时,机床可能要作非圆曲线运动,一般手工编程达不到要求。在进行自动测量时机床要对测量数据进行处理,这些数据属于变量, 一般程序是不能处理的。针对这种情况,数控机床提供了另一种编程方式,即宏编程。 在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。二、宏程序与普通程序的区别1) 普通程序:1

4、 只能使用常量 2 常量之间不可以运算 程序只能顺序执行2) 宏程序: 1 使用变量可赋值 2 变量之间可以运算 程序执行时可以跳转三、宏程序中变量的使用1) 变量的类型 空变量:#0 功能:空变量总是空,不能赋值。 用户变量 局部变量:#1#33 (断电时清除)功能:局部变量只能在本宏程序中存储数据。公共变量:#100#199 (断电时清除)#500#999 (断电时不清除)功能:公共变量在不同的宏程序中的意义相同。 系统变量:#1000以上功能:系统变量用于读和写CNC运行时各种数据变化。编程中常用的系统变量,见表1 。表1 刀具补偿存贮器C的系统变量补偿号X轴Z轴刀尖半径 R刀尖位置 T

5、磨损几何磨损几何磨损几何1#2001#2701#2101#2801#2201#2901#230149#2049#2749#2149#2849#2249#2949#234964#2064#2164#2264#23642) 变量的赋值 直接赋值 变量可在操作面板 MACRO 内容处直接输入 , 也可用 MDI 方式赋值 , 也可在程序内用以下方式赋值 , 但等号左边不能用表达式,# _ = 数值 ( 或表达式 ) 。 如:#1=20; G01 X#1; 自变量赋值宏程序体以子程序方式出现 , 所用的变量可在宏调用时在主程序中赋值。如: G65 P9120 X100.0 Y20.0 F20.0;其中

6、X 、Y 、F 对应于宏程序中的变量号,变量的具体数值由自变量后的数值决定。自变量与宏程序体中变量的对应关系有2种,2种方法可以混用,其中G 、L 、N 、O 、P不能作为自变量为变量赋值。变量赋值方法、见表2 、表3表2 变量赋值方法自变量变量自变量变量自变量变量自变量变量A#1H#11R#18X#24B#2I#4S#19Y#25C#3J#5T#20Z#26D#7K#6U#21E#8M#13V#22F#9Q#17W#23表3 变量赋值方法自变量变量自变量变量自变量变量自变量变量A#1I3#10I6#19I9#28B#2J3#11J6#20J9#29C#3K3#12K6#21K9#30I1#4

7、I4#13I7#22I10#31J1#5J4#14J7#23J10#32K1#6K4#15K7#24K10#33I2#7I5#16I8#25J2#8J5#17J8#26K2#9K5#18K8#27四、运算指令 宏程序具有赋值、算术运算、逻辑运算等功能 , 见表4表4 变量的各种运算形式意义具体实例定义转换#i =#j定义、转换#20=500#102=#10算术运算#i =#j + #k和#5=#10+#102#i =#j - #k差#8=#3+100#i =#j * #k积#120=#1*#24#20=#7*360#i =#j / #k商#104=#8/#7#110=#21/12#i =SIN

8、#j #i =ASIN#j#i =COS#j#i =ACOS#j#i =TAN#j#i =ATAN#j正弦(度)反正弦(度)余弦(度)反余弦(度)正切反正切#10=SIN#5#10=ASIN#16#133=COS#20#10=ACOS#16#30=TAN#21#148=ATAN#1/#2#i =SQRT#j#i =ABS#j#i =ROUND#j#i =FIX#j#i =FUP#j#i =LN#j#i =EXP#j平方根绝对值四舍五入上取整下取整自然对数指数ex#131=SQRT#10#5=ABS#102#112=ROUND#23#115=FIX#109#114=FUP#33#3=LN#100

9、#7=EXP#9逻辑运算#i =#j AND #k#i =#j OR #k#i =#j XOR #k与或异或#11=#1 AND #18#20=#3 OR #8#12=#5 XOR 25五、控制指令控制指令起到控制程序流向的作用。 1)分支语句 ( GOTO ) 其格式为:IF 条件表达式 GOTO nIF 条件表达式 THEN 表达式 若条件表达式为成立则程序转向段号为 n 的程序段 , 若条件不满足就继续执行下一句 程序 , 条件式的种类见表5 。表5 条件式种类条件式意义# j EQ # k# j NE # k# j GT # k# j LT # k# j GE # k# j LE #

10、k2)循环指令格式: WHILE 条件式 DO m (m =1,2,3);END m ;当条件式满足时,就循环执行WHILE 与END m 之间的程序段,若条件不满足就执行END m; 的下一个程序段。注意:1)同一识别号可以使用多次,但DO m与END m必须成对使用。例 WHILE DO2; END2;WHILE DO2; END2; 2)循环可以嵌套,但最多嵌套三层。例WHILE DO1; WHILE DO2;WHILE DO3; END3;END2;END1;3)循环不可以交叉。例 WHILE DO2; WHILE DO3; END2; END3;4)可以从循环内向循环外转移。 例 W

11、HILE DO2; GOTO11; END2; N11;5)不可以从循环外向循环内转移。 例 GOTO11; WHILE DO2; N11; END2; 6)在循环内可以调用用户宏程序或子程序。循环在用户宏程序或子程序中嵌套三层。 例 WHILE DO2; WHILE DO2; G65; M98; G66; END2; G67; END2; 六、宏程序的使用方法1) 宏程序使用格式宏程序格式与子程序一样,结尾用M99返回主程序。O1; 主程序 O8000; 宏程序 G65P8000 (自变量赋值); 变量 运算指令 宏程序体 控制指令 M30; M99;2) 选择程序号 程序在存储器中的位置决

12、定了该程序一些权限,根据程序的重要程度和使用频率 , 用户可选择合适的程序号(适用于任何程序),具体如表6 所示。表6 程序的存储区间O0001O7999 程序能自由存储、删除和编辑O8000O8999 不经设定 , 该程序就不能进行存储、删除和编辑O9000O9019 用于特殊调用的宏程序O9020O9899 如果有设定参数就不能进行存储、删除和编辑O9900O9999 用于机器人操作程序3) 宏程序调用方法 非模态调用(单纯调用):指一次性调用宏主体,即宏程序只在一个程序段内有效,叫非模态调用。其格式为:G65 P ( 宏程序号 ) L ( 重复次数 ) 自变量赋值 ;一个自变量是一个字母

13、,对应于宏程序中变量的地址,自变量后边的数值赋给宏程序中与自变量对应的变量。同一语句中可以有多个自变量。 模态调用:模态调用功能近似固定循环的续效作用,在调用宏程序的语句后,机床在指定的多个位置循环执行宏程序。宏程序工的模态调用要用G67取消,其格式为: G66 P ( 宏程序号 ) L ( 重复次数 ) 自变量赋值 ; G67; 七、常用数学公式(1)椭圆的标准方程:椭圆的参数方程: (2) 旋转公式:八、编程举例例1、 利用G73和参数方程编程参数方程:O0001;N1G99S500M3T0101;G0X100.0Z100.0;X26.0Z2.0;G73U16.0R10;G73P10Q20

14、U0.5W0.2F0.2;N10G0X0;G1Z0F0.1;#1=1.0; (起始角的每次增量)#2=0.0; (角的起始值)#9=90.0; (角的终止值)#3=10.0; (椭圆的短半轴b,X向)#4=20.0; (椭圆的长半轴a,Z向)WHILE #2 LE #9 DO1; (#2值#9值时,循环执行)#5=2*#3*SIN#2; (X =2*b * sin,X为直径值)#6=#4*COS#2; (Z= a * cos)G1X#5 Z#6-#4 F0.1; (直线插补,用许多很短直线来拟合椭圆)#2=#2+#1; (角递增)END1; (循环结束)G1W-5.0F0.1;N20X26.0

15、;G0X100.0Z100.0;M00;N2G99S600M3T0101;G0X26.0Z2.0;G70P10Q20F0.1;G0X100.0Z100.0;M5;M30;例2、 利用宏程序调用方法编程参数方程:O0001;N1G99S500M3T0101;G0X100.0Z100.0;X56.0Z2.0;G73U16.0R10;G73P10Q20U0.5W0.2F0.2;N10G0X50.0;G1Z-5.0F0.1;G65P0002;(宏程序调用)G1W-5.0F0.1;N20X56.0;G0X100.0Z100.0;M00;N2G99S600M3T0101;G0X56.0Z2.0;G70P1

16、0Q20F0.1;G0X100.0Z100.0;M5;M30;O0002;#1=1.0; (起始角的每次增量)#2=0.0; (角的起始值)#3=10.0; (椭圆的短半轴b,X向)#4=20.0; (椭圆的长半轴a,Z向)WHILE #2 LE 90. DO1;(#2值90时,循环执行)#5=2*#3*SIN#2; (X =2*b * sin,X为直径值)#6=#4*COS#2; (Z= a * cos)G1X#5 Z#6-#4 F0.1; (直线插补,用许多很短直线来拟合椭圆)#2=#2+#1; (角递增)END1; (循环结束)M99; (宏程序调用返回)例3、 利用标准方程编程标准方程

17、:注1: 注2:注1和注2由标准方程推导而来!O0001;N1G99S500M3T0101;G0X100.0Z100.0;X26.0Z2.0;G73U16.0R10;G73P10Q20U0.5W0.2F0.2;N10G0X0.0;G1Z0.0F0.1;G65 P0002 A0 B0.1 C20. 0 I10.0 J10.0;(宏程序调用同时对自变量赋值)G1W-5.0F0.1;N20X26.0;G0X100.0Z100.0;M00;N2G99S600M3T0101;G0X26.0Z2.0;G70P10Q20F0.1;G0X100.0Z100.0;M5;M30;自变量赋值(详见表2)A0为#1=

18、0.0 (X向的起始值)B0.1为#2=0.1 (X值的每次增量)C20.0为#3=20.0(椭圆的长半轴a,Z向)I10.0为#4=10.0 (椭圆的短半轴b,X向)J10.0为#5=10.0 (X向的终止值,注:#5值要#4值)O0002;WHILE #1 LE #5 DO1; (#1值#5值时,循环执行)#7=1-#1*#1/#4*#4*#3*#3; (见注1)#9=SQRT#7; (z值)(见注2)G1X2*#1 Z#9-#3 F0.1; (直线插补,用许多很短直线来拟合椭圆)#1=#1+#2; (X值递增)END1; (循环结束)M99;例4、数车椭圆旋转O0001;(以a为旋转半径

19、,以椭圆的圆心为原点,旋转角。)G99 M3 S800 T0101;G0 X100. Z100.;G0 X62. Z5.;#1=0; (x初值)#2=10; (x终值)#11=0.05; (步距)#3=20; (椭圆的长半轴a)#4=10; (椭圆的短半轴b)#12=45; (旋转角)#15=0; (椭圆的圆心在x方向上的位置)WHILE#1 LE #2 DO1; (#1值#2值时,循环执行)#6= #1; (x值) #9=#3*#3*1-#6*#6/#4*#4; (见注1)#5=SQRT#9; (z值)(见注2)#7= #5*COS#12-#6*SIN#12; (z向旋转)#8= #5*SI

20、N#12+#6*COS#12; (x向旋转)G1 X#15+2*#8 Z#7-#3 F0.1; (直线插补,用许多很短直线来拟合椭圆)#1= #1+#11; (X值递增)END1; (循环结束)G0 X100. Z100.;M30;未旋转 旋转角,图中虚线为未旋转O0001;(以a为旋转半径,以椭圆的圆心为原点,旋转角。)G99 M3 S800 T0101;G0 X100. Z100.0;G0 X62. Z5.0;#1= -10; (x初值)#2=0; (x终值)#11=0.05; (步距)#3=20; (椭圆的长半轴a)#4=10; (椭圆的短半轴b)#12=30; (旋转角)#15=45;

21、 (椭圆的圆心在x方向上的位置)WHILE#1 LE #2 DO1; (#1值#2值时,循环执行)#6= #1; (x值)#9=#3*#3*1-#6*#6/#4*#4; (见注1)#5=SQRT#9; (z值)(见注2)#7= #5*COS#12-#6*SIN#12; (z向旋转)#8= #5*SIN#12+#6*COS#12; (x向旋转)G1 X#15+2*#8 Z#7-#3 F0.1; (直线插补,用许多很短直线来拟合椭圆)#1= #1+#11; (X值递增)END1; (循环结束)G0 X100. Z100.0; M30;未旋转 旋转角,图中虚线为未旋转九、结束语本文中的程序都经过FANUC 0i Mate系统数控机床的验证。宏程序是程序编制的高级形式,程序编制的质量与编程人员的素质息息相关,宏程序里应用了大量的编程技巧,如数学模型的建立、数学关系的表达、加工刀具的选择、走刀方式的取舍等,使得宏程序的精度很高。特别是对于中等难度的零件,使用宏程序进行编程加工要比自动编程加工快,可以简化我们的编程。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1