搞懂宏程序的编程基础快速入门!
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 什么场合会用到宏程序编程?
其实说起来宏就是用公式来加工零件,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加一个量,那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。
手工编程加工公式曲线(计算简单,输入快捷)
有规律的切削路径(作为一个切削模块)
程序间的控制(程序的调度)
刀具的管理(刀具的磨损)
自动测量(机内测头)
2. 什么叫宏程序?
在编程时,我们会把能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来调用它们,使用时只需给出这个总指令就能执行其功能所存入的这一系列指令称作用户宏程序本体,简称宏程序。
这个总指令称作用户宏程序调用指令。在编程时,编程员只要记住宏指令而不必记住宏程序。
3. 用户宏程序与普通程序的区别
1)在用户宏程序本体中,能使用变量,可以给变量赋值,变量间可以运算,程序可以跳转。
2)普通程序中,只能指定常量,常量之间不能运算,程序只能顺序执行,不能跳转,因此功能是固定的,不能变化。
3)用户宏功能是用户提高数控机床性能的一种特殊功能,在相类似工件的加工中巧用宏程序将起到事半功倍的效果。
4. 变量的三种类型
数控系统变量表示形式为“#”后跟1~4位数字,变量种类有三种:
(1)局部变量:#1~#33是在宏程序中局部使用的变量,它用于自变量转移。(2)公用变量:用户可以自由使用,它对于由主程序调用的各子程序及各宏程序来说是可以公用的。#100~#149在关掉电源后,变量值全部被清除,而
#500~#509在关掉电源后,变量值则可以保存。
(3)系统变量:由后跟4位数字来定义,它能获取包含在机床处理器或NC内存中的只读或读/写信息,包括与机床处理器有关的交换参数、机床状态获取参数、加工参数等系统信息。
5. 宏程序的特点
宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。
一、FANUC—0M宏程序的H代码
宏程序标准格:G65 Hm P#i Q#j R#k
H代码意义H代码意义H01#i=#j条件转移格式G65 H8×P程序段号码n Q#j R#kH02#i=#j+#kH80无条件转移GoTo nH03#i=#j-#kH81#i=#j GoTo nH04#i=#j×#kH82#i≠#j GoTo nH05#i=#j÷#kH83#i>#j GoTo nH21#i=#j^1/2H84#i<#j GoTo nH22#i=‖j‖H85#i≥#j GoTo nH23求余(丢弃小于1的分数)H86#i≤#j GoTo nH26#i=(#i×#j)/#kH27#i=(#j^2+
#k^2)^1/2H28#i=(#j^2-#k^2)^1/2H31#i=#j×SIN #kH32#i=#j×COS #kH33#i=#j×TAN #kH34#i=#j×ATAN #k#0Always null(总是
零)#1-#33Local variables(局部变量)#100-#149(#199);#500-#531(#999)Common variables(公用变量)#1000-System variables(系统变量)NOTE(注意):common variables #150 to #199 and #532 to #999 are optional。(从#150到#199 和#532到#999是可选的)2.非模态调用宏程序:
程序的标准格式:G65 P(宏程序号)L(重复次数)<指定引数值>
注:每次调用都要重新写G65的标准格式,用后自动取消。
3.模态调用宏程序:
程序的标准格式:G66 P(宏程序号)L(重复次数)<指定引数值>
注:不用指定G66直接输入引数值。
4. 关于G65、G66中的引数赋值
⑴.引数赋值Ⅰ的地址和变量号码的对应关系:
A#1D#7H#11K#6R#18U#21X#24B#2E#8I#4M#13S#19V#22Y#25C#3 F#9J#5Q#17T#20W#23Z#26⑵.引数赋值Ⅱ的地址和变量号码的对应关系:A#1I2#7I4#13I6#19I8#25I10#31B#2J2#8J4#14J6#20J8#26J10#32C#3 K2#9K4#15K6#21K8#27K10#33I1#4I3#10I5#16I7#22I9#28引数赋值Ⅰ、Ⅱ可以连用,以后的为准
J1#5J3#11J5#17J7#23J9#29K1#6K3#12K5#18K7#24K9#305. 关于
G65、G66中的算术和逻辑运算:
数学意义标准格式数学意义标准格式
定义#I=#j平方根#I=SQRT[#J]加法#I=#J+#K绝对值#I=ABS[#J]减法#I=#J-#K舍入#I=ROUND[#J]乘法#I=#J*#K上取整#I=FIX[#J]除法#I=#J/#K下取整#I=FUP[#J]正弦#I=SIN[#J]自然对数#I=LN[#J]反正弦#I=ASIN[#J]指数函数#I=EXP[#J]余弦#I=COS[#J]或#I=#J OR #K反余弦#I=ACOS[#J]异或#I=#J XOR #K正切#I=TAN[#J]与#I=#J AND #K反正切#I=ATAN[#J]从BCD转为BIN#I=BIN[#J]用于与PMC信号交换从BIN 转为BCD#I=BCD[#J]用于与PMC信号交换Remaindering(余数)#I=#J MODE #Kthe Remainder is determined指定的after以后the specified精确确定的values值are是rounded四舍五入的to integers整数。6. G67宏程序的模态调用宏程序取消。
7.宏程序可以用G××<指定引数值> 的格式调用:
说明:
①程序号用O9010~O9019;
②将程序号对应的参数设置为G代码的数值;
③调用的形式为:G(参数设定值)<指定引数值>。
宏程序主体号码与对应的参数号:
O90107550O90127552O90147554O90167556O90187558O90117551O9 0137553O90157555O90177557O901975598.条件转移指令: