宏程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正切
反正切
#i=TAN[#j]
#i=ATAN[#j]
考核FANUC宏程序运算符Ⅲ
功能 格式 备注
平方根
绝对值 舍入 上取整 下取整
#i=SQRT[#j]
#i=ABS[#j] #i=ROUND[#j] #i=FIX[#j] #i=FUP[#j]
自然对数
指数函数
#i=LN[#j]
#i=EXP[#j]
FANUC宏程序的条件表达式运算符
任务工件原点偏移值的系统变量
#5201 : #5204 #5221 : #5224 #5241 : #5244 第1轴外部工件零点偏移值 : 第4轴外部工件零点偏移值 第1轴G54工件零点偏移值 : 第4轴G54工件零点偏移值 第1轴G55工件零点偏移值 : 第4轴G55工件零点偏移值
FANUC宏程序运算符Ⅰ
IF[#1 LT #2] THEN#1=#2
G0 U1. Z1. IF[#1 GT #2] GOTO 10(如果 #1大于#2,那么执行跳转到N10 的地方执行后面程序,如果不满 足,执行后面一步) G0 X100. Z100. M30
G0 X#1(X进刀) G1 Z-30. F0.2
宏程序简介
在数控编程中,宏程序编程灵活、 高效、快捷。
宏程序的构成 1) 包含变量 2) 包含算术或逻辑运算(=)的程序段 3) 包含控制语句(例如:GOTO,DO ,END)的程序段 4) 包含宏程序调用指令(G65,G66, G67或其他G代码,M代码调用宏程 序)的程序段
FANUC宏程序的变量Ⅰ
FANUC宏程序的变量Ⅲ
变量号 #100—#199 #500—#999
变量类型 公共变量
功能 公共变量在不同的宏 程序中的意义相同当 断电时变量#100 #199 初始化为空变量 #500 #999 的数据保 存即使断电也不丢失
FANUC宏程序的变量Ⅳ
变量号 #1000—— 变量类型 功能 系统变量 系统变量用于读和 写CNC 运行时各种数 据的变化例如刀具的 当前位置和补偿值等
写一段简单程序: #1=3(把数值3赋值给#1) #1=#1-5(把#1-5计算出来的值从新赋值给#1,也
就是3-5=-2,现在#1=-2)
IF[#1 LT 0] THEN#1=0(强制赋值,如果#1小
于0,那么强制让#等于0)
M30
FANUC宏程序循环Ⅰ
条 件 不 满 足
WHILE ห้องสมุดไป่ตู้条件表达式] Dom; (m=1,2,3) 条件满足
FANUC数控系统变量表示形式为# 后跟1~4位数字,变量种类有 四种:
变量号
变量类型
功能
#0
空变量该变量 总是空,
没有任何值能 赋给该变量
FANUC宏程序的变量Ⅱ
变量号 #1——#33
变量类型 功能 局部变量 局部变量只能用在宏 程序中存储数据,例 如运算结果。当断电 时局部变量被初始化 为空,调用宏程序时 自变量对局部变量赋 值。
图纸要求,平面见光就 行,采用宏程序粗加工 ,每刀吃刀量为3毫米 。
思路: 1.模仿G71路线。 2.毛培直径50赋值给#1 ,通过毛培每次递减, 实现车削到指定直径。 3.图纸要求直径30赋值 给#2 4.吃刀量赋值给#3,每 层吃刀量为3.
宏程入门Ⅰ
O0010 M3 S300 T0101 M08 G0 X51. Z10. Z0. G1 X-0.7 F0.1(平端面) G0W1.X50. #1=50(毛培赋值) #2=30(图纸要求尺寸) #3=3(吃刀量赋值) N10#1=#1-#3(利用减法运算, 计算出每一层的X值)
那个程序段执行M30,跳过了G0那一步,所以这叫做无条件跳 转,和我们一般程序中跳段功能一样)
G0 X100. Z100. N10 M30
FANUC宏程序的转移和循环Ⅱ
条件转移:(IF语句) IF [条件表达式] GOTOn 当指定的条件表达式满足时,转移到 标有顺序号n的程序段,如果指定的条 件表达式不满足时,执行下个程序段
FANUC宏程序的转移和循环Ⅱ
例如 M3 S500 G99 T101 M08 N10#1=30(把数值30赋值给#1) IF[#1 LT 50] GOTO 10(首先判断中括号是不是
满足条件,如果满足执行跳转,不满足执行下一步)
M30
从这个程序中我们可以发现当#1=30的时候,我们执行条件判 断,我们来判断一下,#1现在等于30,那么重括号里面就可以 理解为30小于50,现在条件满足。所以他会执行后面GOTO跳 转语句,跳转到N10地方继续执行)
ENDm
注:循环允许嵌套,最多3层,但不允许交叉;
FANUC宏程序循环Ⅰ
例:WHILE[#12 GT 50]DO 1 END 1 下面写一个程序段: #1=60 WHILE[#1 GT 50] DO 1 G0 X#1 G1 Z-20. F0.2 G0 U1. Z1. END 1 M30
宏程入门Ⅰ
运算符
EQ NE
含义
等于 不等于
GT
GE LT LE
大于
大于或等于 小于 小于或等于
FANUC宏程序的转移和循环Ⅰ
无条件转移:GOTOn (n为顺序号,1——99999) 例:GOTO10为转移到N10程序段
FANUC宏程序的转移和循环Ⅰ
例:
M3
S500 G99 T101 M08 GOTO 10 (当程序执行到这里的时候,直接跳转到N10
FANUC宏程序的转移和循环Ⅲ
IF [条件表达式] THEN 当指定的条件表达式满足时,执行预先决定的 宏程序语句。
FANUC宏程序的转移和循环Ⅲ
例:IF[#1 GT 20] THEN#1=20 (如果#1大于20,
那么#1等于20,也就是说和上面一样,中括号里面条 件满足的话,执行后面THEN语句,如果不满足,不执 行后面then语句。)
功能 定义 加法 格式 #i=#j #i=#j+#k 备注
减法
乘法 除法
#i =#j- #k
#i =#j*#k #i=#j/#k
FANUC宏程序运算符Ⅱ
功能 正弦 格式 #i=SIN[#j] 备注 角度以度指定, 如90º30’表示为 90.5度
反正弦
余弦 反余弦
#i=ASIN[#j]
#i=COS[#j] #i=ACOS[#j]