法兰克用户宏程序

合集下载

FANUC宏程序讲解-法兰克宏程序精品-88页

FANUC宏程序讲解-法兰克宏程序精品-88页

• 当变量值未定义时,这样的变量成为<空>变量 • 变量#0 总是空变量,它不能写只能读
未定义变量的引用 当引用一个未定义的变量时,地址本身也被忽略
当#1=<空>时 当#1=0时
G90 X100 Y#1 G90 X100 Y#1


G90 X100
G90 X100 Y0
未定义变量的计算
除了用<空>赋值以外,其余情况下<空>与0 相同
2.变量的显示
1、按下

示宏程序变量值
2.按 、

示局部和公共变量值
3.变量的使用
表示方法
# i = <表达式>
将计算结果赋值 给对应的变量号
常数、变量、函数和 运算符的组合
#1= #2 + 100 ; #1= #2 + #18 SIN[#5] ;
变量的定义
•当在程序中定义变量值时,小数点可以省略
.
宏程序讲解
交流内容
用户宏程序 程序保护与快捷程序编辑 图形对话编程 — Manual Guide i
用户宏程序相关
一、变量 二、运算指令 三、控制指令 四、系统变量 五、宏程序调用 六:典型应用举例
主程序和宏程序的关系
主程序
宏程序
宏程序的适用范围
✓ 形状类似但大小不同(圆、方及其它) ✓ 大小相同但位置不同(组孔、阵列等) ✓ 特殊形状(椭圆、球等) ✓ 自动化功能(刀具长度测量、生产管理等) ✓ 其它
1.运算命令的种类
数据处理
种类 下取整 上取整 四舍五入 绝对值
函数名 FIX FUP
ROUND ABS
格式 #i = FIX[ #k ] #i = FUP[ #k ] #i =ROUND[ #k ] #i =ABS[ #k ]

FANUC用户宏程序[谷风详析]

FANUC用户宏程序[谷风详析]
1: 禁止
#6(NPE) 程序登录时,对含有M02,M99,M30的程序段
0: 视为登录结束
1: 不视为登录结束
特制分析
7
BEIJING-FANUC
参数6001#5设为1 T代码调用宏程序
2、密码保护
3210密码锁
3211密码钥匙
设定值后不显示,断电后为0
3210密码锁
设置时须谨慎,若使用G10可编程数据输入时,则出现PS0231#报警
18
BEIJING-FANUC
变量的赋值
•当在程序中定义变量值时,小数点可以省略
#1 = 123;
变量的引用
• 跟在地址后面的数值可用变量来代替。 G01 X10.0 F#1; G01 X-[#1+#2] F#1;
特制分析
把表达式放在括号中
#1 123.000 把#1值作为F 的指令值
F
19
BEIJING-FANUC • 变量用于地址数据时,被引用变量的值根据地址的最小设定单位自 动地四舍五入 例: G01 X#1; 当#1赋值为12.3456时,实际指令值为G01 X12.346; 设定单位1/1000mm(IS-B) • 改变引用变量的值的符号时,要把负号放在#的前面
• 公共变量的写保护:参数6031~6032 ★对#500~#999进行保护, 属性为READ,以防止输入/全清的误操作.
• 系统变量:在系统中固定,属性有只读、只写、可读可写三种. • 系统常量:其值不变的常量,属性只读.
特制分析
13
BEIJING-FANUC
变量的显示
四、变量的显示与设定
1).按下MDI面板上 的功能键 OFFSET

• 或按换页键

法兰克宏程序

法兰克宏程序
图5
图 5 抛 物 线 的 一 般 方 程 为 X=0.02*Z*Z+5, 顶 点 坐 标 (10,-20),由数学计算可得P=25,所以该抛物线的加工 坐 标 公 式 (参 数 方 程 )为 : X=2*P*t*t+5=50*t*t+5; Z=- 2*P*t-20=-50*t-20,其中t为参数(参变量)。参数计算: 当Z=-20时,t=-0.4;当Z=20时,t=0.4, 参 数 t的范围为 t∈[-0.4,0.4],X方向让刀,动点变换:t=t+步距,让刀 量变换:X=X-1。
(3)当抛物线的焦点在X轴上,开口向上,其一般方
程为:Z*Z=2*P*X,其图像如图e所示。
抛物线的参数方程为:X=2*P*t*t±α,Z=2*P*t±β
(P>0)。
(4)当抛物线的焦点在X轴上,开口向下,其一般方
图2
图1所示外抛物线的一般方程为Z=0.1*X*X-56,顶点坐 标为(0,-56),由数学计算可得P=5,所以该抛物线的加 工坐标公式(参数方程)为:Z=10*t*t-56,X=10*t,其中t为参 数 ( 参 变 量 ) 。 参 数 计 算 : 当 X=47.3/2=23.65时 , t=X/10=23.65/10=2.365; 当 X=14.2/2=7.1时 ,
抛物线用户宏子程序如下: O5016; N10#10=45;(X向让刀量) N20#11=0.05;(加工步距) N30G00X48;(切削起点) N40Z2; N50#1=空;(空变量) N60#2=空;(空变量) N70#3=0;(#3为参数变量,起点#3=0)
N80# 4 = 1.125; ( # 4 参 数 变 量 终 止 值 , 终 点 # 4=1.125)
图c
图d
图1
图e

发那科用户宏程序资料知识讲解

发那科用户宏程序资料知识讲解
发那科用户宏程序资料
2
3
一、变量
1、变量
使用用户宏程序时,数值可以直接指定或用 变量指定。当用变量时,变量值可用程序或用 MDI面板上的操作改变。
#1=#2+100;
G01 X#1 F300;
2、变量的表示
计算机允许使用变量名,用户宏程序不行。 变量用变量符号(#)和后面的变量号指定。
表达式可以用于指定变量号。此时,表达式 必须封闭在括号中。
6
被引用变量的值根据地址的最小设定单位自 动地舍入。
例如: G00 X#1, 以1/1000mm的单位执行时, CNC把12.3456赋值给变量#1,实际指令值为 G00 X12.346;。
改变引用变量的值的符号,要把负号(一)放 在#的前面。
例如:G00 X-#1;
当引用未定义的变量时,变量及地址字都被 忽略。
②ARCCOS #I=ACOS[#j] 取值范围
180°~0°
26
3π/2 π
π/2
-1 0 1
π/2 -1
01 -π/2
π π/2 -1 0 1
27
③ ARCTAN #i=ATAN[#j]/[#K]; 取值范围 当No.6004.0=0时 :0°~360° No.6004.0=1时 :-180°~180°
●在NC语句地址中,ROUND函数根据地值得最小设 定单位指定四舍五入。
例如 #1=1.2345;
#2=2.3456;
G00 G91 X-#1;
G01 X-#2 F300;
G00 X[#1+#2];
1.2345+2.3456=3.5801=3.580不返回到初始位置
或 G00 X-[ROUND[#1]+ROUND[#2]]

FANUC用户宏程序

FANUC用户宏程序

二、宏程序的适用范围
✓ 形状类似但大小不同(圆、方及其它)
加工程序编程 ✓ 大小相同但位置不同(组孔、阵列等)
生产管理
✓ 特殊形状(椭圆、球等) ✓ 自动化功能(刀具长度测量) ✓换刀功能
PMC强电控制 ✓ 其它
4
BEIJING-FANUC
三、宏程序与子程序的比较
使用变量 调用方式 程序结束
嵌套
宏程序 可使用变量 G65 P_ L _<自变量赋值> ;
11
BEIJING-FANUC
二、变量的种类
变量号 #0、 #3100★
#1~#33
#100~#199 #500~#999
变量类型 空变量
局部变量
公共变量


总为空,不能写,只能读
只能用在当前用户宏程序中存储变量 断电/复位后数据初始化
在不同的程序中意义相同,各用户宏程 序公用. 断电后:#100~#199初始化为空, 500~#999数据保存
• 公共变量的写保护:参数6031~6032 ★对#500~#999进行保护,属性 为READ,以防止输入/全清的误操作.
• 系统变量:在系统中固定,属性有只读、只写、可读可写三种. • 系统常量:其值不变的常量,属性只读.
13
BEIJING-FANUC
变量的显示
四、变量的显示与设定
1).按下MDI面板上 的功能键 OFFSET
33
BEIJING-FANUC
...
34
BEIJING-FANUC
35
BEIJING-FANUC
36
BEIJING-FANUC
举例
37
BEIJING-FANUC

法兰克系统椭圆球面宏程序

法兰克系统椭圆球面宏程序

法兰克系统椭圆球面宏程序Summary: This text synopsis introduced the set up of concept, the plait distance priniple and mathematics pattern of the great procedure a method. Also take processing oval sphere as solid instance, introduced draw up of great procedure process in detail. Finally give adoption Siemens 802 D the system draw up of procedure and procedure annotationof the process of oval sphere.Key words:Great procedure;Oval sphere;The parameter square distance;Great variable;R parameter)一、导言对于具有曲面或复杂轮廓的零件,特别是包含三维曲面的零件,采用一般手工编程困难很大,且容易出现错误,有的甚至无法编制程序。

而采用宏程序,就能很好的解决这一问题。

二、宏程序宏程序就是使用了宏变量的程序。

在一般的程序编制中,程序字中地址字符后为一常量,一个程序只能描述一个几何形状,所以缺乏灵活性和适用性。

宏程序中的地址字符后则为一变量(也称宏变量),可以根据需要通过赋值语句加以改变,使程序具用通用性。

配合循环语句、分支语句和子程序调用语句,可以编制各种复杂零件的加工程序。

三、宏程序的编制编制宏程序时必须建立被加工零件的数学模型。

也就是通过数学处理找出能够描述加工零件的数学公式。

数学处理一般有以下两个环节:一是选择插补方式;二是求出插补节点的坐标计算通式。

法兰克用户宏程序资料

法兰克用户宏程序资料
20、异或: #i=#j XOR #k ; 21、与: #i=#j AND #k ;
按位执行
22、从BCD转为BIN #i=BIN[#j ];
23、从BIN转为BCD #i=BCD[#j ];
注:
①ARCSIN #i=ASIN[#j] 取值范围
当No.6004.0=0时 :270°~90°
No.6004.0=1时 :-90°~90°
GOTO #10;
36
2、条件转移
IF [<条件体现式>] GOTO n
例如: IF [#1 GT 10 ] GOTO 2
条件不满足
程序
条件满足
N2 G00 G91 X10.0
IF [<条件体现式>] THEN <体现式>
例如: IF [#1 EQ #2] THEN #3=0
运算符: EQ 等于(=) NE 不等于 (≠)
G67或其他G代码,M代码调用宏程序) 旳程序段。 除了宏程序语句以外旳任何程序段都为 NC语句。
33
阐明 ● 与NC语句旳不同
①虽然置于单程序段运营方式,机床 也不断止。但是,当参数No.6000.5SBM 设定为1时,在单程序段方式中,机床停 止。
②在刀具半径补偿方式中宏程序语句 段不做为不移动程序段处理。
顾客宏程序
虽然子程序对编制相同加工操作旳程 序非常有用,但顾客宏程序因为允许使 用变量、算术和逻辑运算及条件转移, 使得编制相同加工操作旳程序更以便, 更轻易。可将相同加工操作编为通用程 序,如型腔加工宏程序和固定加工循环 宏程序。使用时,加工程序可用一条简 朴指令调出顾客宏程序,和调用子程序 完全一样。
7
被引用变量旳值根据地址旳最小设定单位自 动地舍入。

法兰克数控编程口诀

法兰克数控编程口诀

法兰克数控编程口诀摘要:1.法兰克数控编程概述2.法兰克数控编程口诀解析3.法兰克数控编程应用实例4.总结与建议正文:随着现代制造业的不断发展,数控技术在我国得到了广泛的应用。

法兰克数控系统(Fanuc CNC)作为全球领先的数控品牌,其编程技术在实际生产中发挥着重要作用。

为了方便广大数控编程人员更快地掌握法兰克数控编程,这里整理了一篇法兰克数控编程口诀,希望对大家有所帮助。

1.法兰克数控编程概述法兰克数控系统(Fanuc CNC)具有强大的编程功能,可以实现多种加工工艺。

其编程语言主要包括以下几部分:(1)准备功能:G代码,用于设定加工过程的基本参数,如速度、进给、刀具补偿等。

(2)循环功能:如G90、G94等,用于控制加工过程中的循环操作。

(3)刀具补偿功能:G43、G44等,用于自动补偿刀具长度和直径。

(4)螺纹切削功能:G32、G33等,用于控制螺纹加工。

(5)用户宏程序:M代码,用于实现用户自定义的功能。

2.法兰克数控编程口诀解析以下是一份法兰克数控编程口诀,以方便记忆和应用:(1)准备功能口诀:“G代码开头,设定加工过程,准备功能齐全,工艺参数设好。

”(2)循环功能口诀:“循环指令别乱用,G90定点循环稳,G94端面循环准。

”(3)刀具补偿口诀:“刀具补偿很重要,G43取消补偿妙,G44补偿生效。

”(4)螺纹切削口诀:“螺纹加工有G32,G33互换主轴转。

”(5)用户宏程序口诀:“M代码威力大,用户自定义功能,实现复杂加工。

”3.法兰克数控编程应用实例以下是一个简单的法兰克数控编程应用实例:G90 G54 G17 G40 G49G94 X0 Y0 Z5 F100G00 X100 Y0 Z0G01 X0 Y100 F50G01 Z-100 F100G00 Z0M304.总结与建议法兰克数控编程口诀为广大数控编程人员提供了一个快速上手的方法。

但要熟练掌握法兰克数控编程,还需多加实践。

建议大家在实际操作过程中,不断积累经验,深入研究数控编程技术,不断提高自己的编程水平。

宏程序

宏程序

宏程序宏程序中的变量类型空变量:#0局部变量:#1~#33(用户使用)公共变量:#100~#149 #500~#509系统变量:#1000~#5335(内部使用)赋值语句及算数式赋值:#i=#j加法:#i=#j+#k减法:#i=#j-#k乘法:#i=#j*#k除法:#i=#j/#k程序段举例#1=10;#2=5;#3=15 #4=#1-#2;#5=#3-#2 G54 G90 G01 X[#1] Y[#2-#3] Z[#4-#5](X10,Y20,Z50)算数式正弦:#i=SIN[#J]余弦:#i=COS[#j]正切:#i=TAN[#J]反正切:#i=ATAN[#J]/[#K]平方根:#i=SQRT[#J]绝对值:#i=ABS[#J]取整:#i=ROVND[#J]逻辑运算等于:EQ (格式:#iEQ#j)不等于:NE大于:GT小于:LT大于等于:GE小于等于:LE循环条件语句(华中)WHILE条件表达式……ENDW1.与条件转移语句(法兰克系统)GOTOn(n为顺序号1~9999)例:GOTO10为转移到N10的程序段2.条件转移语句(法兰克)IF[条件表达式]GOTON当条件满足时,程序就跳到同一程序中语句标号为n的语句段条件赋值语句[华中和法兰克]IF[条件表达式]THEN4.IF[条件表达式]THEN[ ] ELSE[ ] ENDIF当指定表达式满足条件时,执行THEN程序,否则执行ELSF程序。

5.循环条件转移语句WHELE【条件表达式】DOm……ENDm当满足条件时,从Dom到END之间的程序就重复运行,当不满足时就执行ENDm下的一条语句例:DO1DO2END2END1例:T0202M03 S500G99 G00 X40. Z2.G71 U2.R0.5G71 P1 Q20 U1. W0.5 F0.3N1 G00 X0G01 Z0.#100=30N10 #100=#100-0.1 #101=#102=2*#101#103=#100-30G01 X[#102] Z[#103] IF[#100GT0]GOTO10 N20 G01 X40.G71 P1 Q20 S800G00 X50M05M30。

法兰克fanuc系统编程用户宏程序教程

法兰克fanuc系统编程用户宏程序教程

法兰克Fanuc系统编程用户宏程序教程一、认识法兰克Fanuc系统法兰克Fanuc系统是数控机床领域中广泛应用的一种控制系统,其强大的编程功能为用户提供了极大的便利。

在本教程中,我们将重点介绍用户宏程序的编写与应用,帮助您更好地掌握法兰克Fanuc系统的编程技巧。

二、宏程序基础知识1. 宏程序概念宏程序是一种简化编程过程的方法,它允许用户将复杂的操作步骤封装成一个程序,以便在后续编程中重复调用。

通过使用宏程序,可以大大提高编程效率。

2. 宏程序分类法兰克Fanuc系统中的宏程序分为两类:系统宏程序和用户宏程序。

本教程主要针对用户宏程序进行讲解。

3. 宏程序编写原则(1)简洁明了:尽量使宏程序结构清晰,便于阅读和维护。

(2)通用性强:编写宏程序时,要考虑其在不同场景下的适用性。

(3)易于扩展:预留接口,方便后期对宏程序进行功能扩展。

三、用户宏程序编写步骤1. 确定宏程序功能在编写宏程序之前,要明确宏程序需要实现的功能。

例如,可以实现一个用于加工圆形轮廓的宏程序。

2. 设计宏程序结构(1)宏程序参数:定义输入输出参数,以便在不同场景下调用。

(2)宏程序主体:实现宏程序功能的代码部分。

(3)宏程序调用:在其他程序中调用宏程序。

3. 编写宏程序代码(1)宏程序参数定义:100 = 圆心X坐标101 = 圆心Y坐标102 = 半径103 = 起始角度104 = 终止角度(2)宏程序主体:200 = 100 + 102 COS[103]201 = 101 + 102 SIN[103]G01 X[200] Y[201]IF [103 LT 104] THEN103 = 103 + 1GOTO 100ENDIF(3)宏程序调用:G65 P1000 A100 B101 C102 D103 E104法兰克Fanuc系统编程用户宏程序教程五、实战演练:编写一个钻孔宏程序在这一部分,我们将通过一个具体的实例,来实践如何编写一个用于钻孔的宏程序。

FANUC用户宏程序 ppt课件

FANUC用户宏程序  ppt课件

• 公共变量名称设定和指令时,可赋值#500~#549,共50个,公共变量8个字 符,开头必须是字母,断电不消失.
• 例如:SETVN n[AVR500,AVR501,AVR502,…..];变量号n、n+1 、 n+2的变量名称:各字符串之间以 “, ”隔开.字符除了控制出、控制入、 [、] 、EOB
二、宏程序的适用范围
加工程序编程
✓ 形状类似但大小不同(圆、方及其它) ✓ 大小相同但位置不同(组孔、阵列等)
生产管理
✓ 特殊形状(椭圆、球等) ✓ 自动化功能(刀具长度测量) ✓换刀功能
PMC强电控制 ✓ 其它
ppt课件
4
BEIJING-FANUC
三、宏程序与子程序的比较
使用变量 调用方式 程序结束
•参数6000#3=1
ppt课件
49
BEIJING-FANUC
长度补偿举例
写入
读取
ppt课件
50
BEIJING-FANUC
刀具补偿量(T)
• 范围:#2001~2964、#10001~#19200(属性R/W) • 无刀具形状和磨损补偿器:8136#6=1 ★,补偿个数小于等于64个
ppt课件
51
ppt课件
55
BEIJING-FANUC • 补偿个数200个,补偿个数小于等于64个,也可使用#2001~#2964.
ppt课件
56
BEIJING-FANUC
BEIJING-FANUC
主要内容: 一、变量的使用
二、系统变量
三、运算命令
四、循环语句
五、程序案例
六、宏程序的调用
七、宏语句的处理
八、中断宏程序

FANUC宏程序基础篇

FANUC宏程序基础篇

FANUC宏程序基础篇吐槽愉快东北这两天真是冷到,⼤爷⼤妈都认不出来了!这两天齐齐哈尔的最低温度-32°C,体感温度竟然达到了-39°C,真是三九不南⾛,四九冻成狗啊!⼀、宏程序的概述虽然⼦程序对⼀个重复操作很有⽤,但若使⽤⽤户宏程序功能,则还可以使⽤变量、运算指令以及条件转移,使⼀般程序(如型腔加⼯和⽤户⾃定义的固定循环等)的编写变得更加容易。

加⼯程序可以⽤⼀个简单的指令调⽤⽤户宏程序,就像调⽤⼦程序⼀样。

普通的加⼯程序直接⽤数值指定G 代码和移动量,例如G00 X100.0。

使⽤⽤户宏程序时,除了可直接指定数值外,还可以指定变量号,可通过程序或MDI ⾯板上操作来改变该数值。

例如:①#1=#2+100 ;②G01 X#1 F300 ;⼆、变量的表达⽅式当指定⼀个变量时,在符号“#”的后⾯指定变量号。

#i (i=1,2,3,4,.....)[例]#5#109#1005或者使⽤后⾯将要叙述的“运算指令”项⽬中的<表达式>,按照如下⽅式表达#[<表达式>][例]#[#100]#[#1001-1]#[#6/2]三、变量的引⽤可以⽤变量指定紧接地址之后的数值。

如果编制⼀个<地址>#i 或<地址>‐#i 的程序,则意味着原样使⽤变量值,或者将其补码作为该地址的指令值。

[例] 当F#33、#33=1.5 时,与指定了F1.5 时的情形相同。

当Z-#18、#18=20.0 时,与指定了Z-20.0 时的情形相同。

当G#130、#130=3.0 时,与指定了G3 时的情形相同。

四、注意事项1、不可引⽤地址/、:、O 和N 中的变量。

[例] 不可编制诸如O#27、N#1 或N[#1]的程序。

2、不可将可选程序段跳过/n 的n(n=1~9)作为变量来使⽤。

不能直接⽤变量来指定变量号。

[例] ⽤#30 来替换#5 的5 时,代之以指定##30,指定#[#30]。

3、不能指定超过每个地址中所确定的最⼤指令值的值。

FANUC 用户宏程序

FANUC 用户宏程序
不成立 #1 GT #0
↓ 不成立
● 限制 程序号,顺序号和任选程序段跳转号不能使用变量。 例:下面情况不能使用变量: 0#1; /#2G00X100.0; N#3Y200.0;
5.2 算术和逻辑运算
下面表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运 算符组成的变量。表达式中的变量#j 和#k 可以用常数赋值。左边的变量也可以用表达式赋 值。
5.4.3 循环(WHILE 语句)
在 WHILE 后指定一个条件表达式.当指定条件满足时,执行从 D0 到 END 之间的程序.否则, 转到 END 后的程序段. 说明: 当指定的条件满足时,执行 WHILE 从 D0 到 END 之间的程序.否则,转而执行 END 之后的程序 段,这种指令格式适用于 IF 语句.D0 后的号和 END 后的号是指定程序执行范围的标号,标号 值为 1,2,3.若用 1,2,3 以外的值会产生 P/S 报警 NO.126.
当 G00X#/;以 1/1000mm 的单位执行时,CNC 把 123456 赋值给变量#1,实际指令值为 G00X12346.
改变引用变量的值的符号,要把负号(-)放在#的前面。 例如:G00X-#1 当引用未定义的变量时,变量及地址都被忽略。 例如:当变量#1 的值是 0,并且变量#2 的值是空时,G00X#1 Y#2 的执行结果为 G00X0。
#i-#jOR#k; #i-#jXOR#k; #i-#jAND#k;
逻辑运算一位一位地 按二进制数执行。
#i=BIN[#j]; #i=BCD[#j];
用于与 PMC 的信号交 换。
说明: ● 角度单位 函数 SIN ,COS,ASIN,ACOS,TAN 和 ATAN 的角度单位是度。如 90°30’表示为 90.5 度。 ● ARCSIN # i= ASIN[#j] (1)取值范围如下: 当参数(NO.6004#0)NAT 位设为 0 时,270°~90° 当参数(NO.6004#0)NAT 位设为 1 时,-90°~90° (2)当#j 超出-1 到 1 的范围时,发出 P/S 报警 NO.111. (3)常数可替代变量#j

Fanuc系统宏程序教程

Fanuc系统宏程序教程

15.用户宏程序用户宏程序允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。

可将相同加工操作编为通用程序,使用时,加工程序可用一条简单指令调出宏程序,和调用子程序完全一样。

15.1变量变量值可用程序或MDI面板上的操作改变。

#1=#2+100;G01 X#1 F300;说明:➢变量的表示变量用符号(#)和后面的变量号指定,例如:#1表达式可以用于指定变量号,例如:#[#1+#2-12]➢变量号变量类型功能#0 空变量该变量总是空,没有值能赋给该变量#1—#33 局部变量只能用于宏程序存储数据,断电后初始化为空#100—#199 #500—#999 公共变量在不同的宏程序中意义相同,断电为空,断电保存#1000—系统变量用于读和写CNC运行时各种数据的变化,如刀具的当前位置和补偿值➢~-10或~10如果计算结果超出则发出P/S报警No.111 ➢小数点的省略#1=123 相当于#1=123.000➢变量的引用G01 X[#1+#2] F#3G00 X-#1当引用未定义的变量时,变量及地址号都被忽略,如#1=0,#2为空时,G00 X#1 Y#2; == G00 X0;➢限制程序号、顺序号和任选程序段跳转号不能使用变量。

如下面情况不能使用变量:O#1; 1#2 G00 X100.0; N#3 Y200.015.2系统变量(略)15.3算术和逻辑运算表算术和逻辑运算说明:➢角度单位函数SIN,COS,ASIN,ACOS,TAN,ATAN的角度单位是度。

➢ARCSIN #i=ASIN[#j] 取值范围如下:当参数(No.6004#0)NAT位设为0时,270°~90°当参数(No.6004#0)NA T位设为0时,-90°~90°当#j超出-1到1的范围时,发出P/S报警No.111常数可替代变量#j➢ARCCOS #i=ACOS[#j] 取值范围从180°~0°当#j超出-1到1的范围时,发出P/S报警No.111常数可替代变量#j➢运算次序 1.函数 2.乘除运算 3.加碱运算➢括号嵌套括号可以使用5级,包括函数内部使用的括号。

法兰克用户宏程序资料

法兰克用户宏程序资料
●当进给速度倍率无效时,总是100%的倍率,而 不管机床操作面板上的进给速度倍率开关的设 置。
●当准确停止检测无效时,即使那些不执行切削 的程序段也不进行准确停止检测(位置检测)。
攻丝循环中使用变量3004的例子
N5 N7
4、已加工的零件数
5、当前位置(只读)
●图中第1位代表轴号(从1到4)。
法兰克用户宏程序资料
(最多999次 )
一、变量
1、变量 使用用户宏程序时,数值可以直接指定或用
变量指定。当用变量时,变量值可用程序或用 MDI面板上的操作改变。
#1=#2+100;
G01 X#1 F300; 2、变量的表示
计算机允许使用变量名,用户宏程序不行。 变量用变量符号(#)和后面的变量号指定。
0~2π 0~π
0~-π

第四象限
3π/2
第二象限
π
第三象限
π/2
第一象限
0
第二象限 第四象限
π
π/2
0
第一象限
-π/2
第三象,ROUND函数在第
一个小数位四舍五入。 例如 #2=1.2345;
#1=ROUND[#2]; 变量1的值是1.0 ●在NC语句地址中,ROUND函数根据地值得最小设
6、正弦:
#i=SIN[#j] ;
7、反正弦: #i=ASIN[#j];
8、余弦:
#i=COS[#j];
角度以度指定
9、反余弦: #i=ACOS[#j];
90°30′表示为
10、正切: #i=TAN[#j];
90.5度
11、反正切: #i=ATAN[#j]/[#K];
12、平方根: #i=SQRT[#j];

FANUC用户宏程序

FANUC用户宏程序

#1000~
系统变量 可用于读写CNC运行时的各种数据
用户宏程序
12
BEIJING-FANUC
三、局部变量、公共变量、系统变量的用途和特性
• 局部变量:#1~#33,初始状态为<空>,自变量输入可用程序或MDI 方式输入★,可以自由使用,属性READ/WRTIE.
• 公共变量:#100~#199、#500~#999,共600个,在主程序或调用 的各子程序以及各个宏之间的通用.公共变量的用途没有在系统中 确定,用户可自由使用.#100~#199断电不保护,#500~#999断电 保护,属性READ/WRTIE.
• 公共变量名称设定和指令时,可赋值#500~#549,共50个,公共变量8个字 符,开头必须是字母,断电不消失.
• 例如:SETVN n[AVR500,AVR501,AVR502,…..];变量号n、n+1 、 n+2的变量名称:各字符串之间以 “, ”隔开.字符除了控制出、控制入、 [、] 、EOB
SETTING
2).按几次 键, 直至 出现
用户宏程序
14
BEIJING-FANUC
3).按下

示宏程序变量值
用户宏程序
15
BEIJING-FANUC
4).按

显示局部和公共
变量值
用户宏程序
16
BEIJING-FANUC
公共变量的设定
1.找到显示公共变量的画面。
2.将光标移至欲设定的变量号上。
刀具半径补偿
•参数8136#6=0 ★,补偿个数小于等于200个,参数6000#3=1 6004#5=1(F10/F11)半径补偿
用户宏程序
47
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WHILE […] DO 2; ﹕
END1; 程序;
END2;
转移不能进入循环区: IF […] GOTO n;

WHILE […] DO 1; N1…; END1;
41
六、宏程序调用
宏程序调用方法: ①非模态调用(G65) ②模态调用(G66、G67) ③用G代码调用宏程序 ④用M代码调用宏程序 ⑤用M代码调用子程序 ⑥用T代码调用子程序
20、异或: #i=#j XOR #k ; 21、与: #i=#j AND #k ;
按位执行
22、从BCD转为BIN #i=BIN[#j ];
23、从BIN转为BCD #i=BCD[#j ];
注:
①ARCSIN #i=ASIN[#j] 取值范围
当No.6004.0=0时 :270°~90°
No.6004.0=1时 :-90°~90°
25
6、正弦: 7、反正弦: 8、余弦: 9、反余弦: 10、正切:
#i=SIN[#j] ; #i=ASIN[#j]; #i=COS[#j]; #i=ACOS[#j]; #i=TAN[#j];
角度以度指定 90°30′表示为 90.5度
11、反正切: #i=ATAN[#j]/[#K];
12、平方根: #i=SQRT[#j];
31
⑥运算次序 函数→乘、除(*、/、AND)→加、减(+、、OR、XOR)
⑦括号嵌套(方括号[],圆括号用于说明) 括号用于改变运算次序,可以使用5级。
32
四、宏程序语句和NC
下面的程序段为宏程序语句: ●包含算术或逻辑运算(=)的程序段。 ●包含控制语句(例如,GOTO,DO,END)
的程序段。 ●包含宏程序调用指令(例如,用G65,G66,
条件不满足
END m; 程序; 说明:① m=1,2,3,可以多次使用。 ② 最多嵌套三层。 ③ 省略WHILE,则产生从DO 到END的
无限循环。 ④ WHILE比GOTO 处理快。
39
标号可以多次使用:
WHILE […] DO 1; 程序;
END1; ﹕
WHILE […] DO 1; 程序;
END1;
N#2G00X100.0 /#3Y200.0
12
二、系统变量
1、刀具补偿值
13
2、时间信息
14
3、自动运行控制 可以改变自动运行的控制状态
15
●当电源接通时,该变量的值为0。 ●当单程序段停止无效时,即使单程序段开
关设为ON,也不执行单程序段停止。 ●当不指定等待辅助功能(M,S和T功能)完
可以跳到循环外边:
WHILE […] DO 1; IF […] GOTO n;
END1; N1
可以嵌套3层:
WHILE […] DO 1; ﹕
WHILE […] DO 2; ﹕
WHILE […] DO 3; 程序;
END3; ﹕
END2; ﹕
END1;
40
DO的范围不能交叉:
WHILE […] DO 1; 程序;
M99;
#1=4; G65 P5 A5; ﹕ ﹕
用户宏程序
虽然子程序对编制相同加工操作的程 序非常有用,但用户宏程序由于允许使 用变量、算术和逻辑运算及条件转移, 使得编制相同加工操作的程序更方便, 更容易。可将相同加工操作编为通用程 序,如型腔加工宏程序和固定加工循环 宏程序。使用时,加工程序可用一条简 单指令调出用户宏程序,和调用子程序 完全一样。
下列的运算可以在变量中执行。运算符 右边的表达式可包含常量和/或由函数或 运算符组成的变量。表达式中的变量#j和 #k可以用常数赋值。左边的变量也可以用 表达式赋值。
1、(定义)赋值: #i=#j; 2、加法: #i=#j+#k 3、减法: #i=#j-#k 4、乘法: #i=#j*#k 5、除法: #i=#j/#k
②ARCCOS #I=ACOS[#j] 取值范围
180°~0°
27
3π/2 π
π/2
-1 0 1
π/2 -1
01 -π/2
π π/2 -1 0 1
28
③ ARCTAN #i=ATAN[#j]/[#K]; 取值范围 当No.6004.0=0时 :0°~360° No.6004.0=1时 :-180°~180°
1
(最多999次)
2
3
4
一、变量
1、变量
使用用户宏程序时,数值可以直接指定或用 变量指定。当用变量时,变量值可用程序或用 MDI面板上的操作改变。
#1=#2+100;
G01 X#1 F300;
2、变量的表示
计算机允许使用变量名,用户宏程序不行。 变量用变量符号(#)和后面的变量号指定。
表达式可以用于指定变量号。此时,表达式 必须封闭在括号中。
G67或其它G代码,M代码调用宏程序) 的程序段。 除了宏程序语句以外的任何程序段都为 NC语句。
33
说明 ● 与NC语句的不同
①即使置于单程序段运行方式,机床 也不停止。但是,当参数No.6000.5SBM 设定为1时,在单程序段方式中,机床停 止。
②在刀具半径补偿方式中宏程序语句 段不做为不移动程序段处理。
7
被引用变量的值根据地址的最小设定单位自 动地舍入。
例如: G00 X#1, 以1/1000mm的单位执行时, CNC把12.3456赋值给变量#1,实际指令值为 G00 X12.346;。
改变引用变量的值的符号,要把负号(一)放 在#的前面。
例如:G00 X-#1;
当引用未定义的变量时,变量及地址字都被 忽略。
45
自变量指定Ⅰ、Ⅱ混合。CNC内部能够自动 识别自变量指定Ⅰ、Ⅱ,后指定的有效。 例如: G65 A1.0 B2.0 I-3.0 I4.0 D5.0 P1000;
则 #1=1.0 #2=2.0 #3 #4=-3.0 #5= #6 #7=4.0 #7=5.0
46
调用嵌套和局部变量的级别:可以嵌套4级。
GT 大于(>) GE 大于等于(≥) LT 小于(<) LE 小于等于(≤)
37
例:求1~10的总和。 O9000; #1=0; #2=1; N1 IF[#2 GT 10] GOTO 2; #1=#1+#2; #2=#2+1; GOTO 1; N2 M30;
38
3、循环 WHILE[<条件表达式>] DO m; 条件满足 程序 ;
34
● 与宏程序语句有相同性质的NC语句 ①含有子程序调用指令(例如,用M98
或其它M代码或用T代码调用子程序) 句 ②不包含O.N.P或L以外的指令地址的
程序段其性质与宏程序语句相同。
35
五、转移和循环
使用GOTO语句和IF语句可以改变控制的流 向。有三中转移和循环可供使用。
GOTO无条件转移 IF条件转移 WHILE当型循环 1、无条件转移 GOTO n; n为顺序 例如:GOTO 1;
变量号 地址
#4 T
#5 U
#6
V
#13 W
#17 X
#18 Y
#19 Z
变量号 #20 #21 #22 #23 #24 #25 #26
注:每个字母只指定一次,可以不按顺序,但I、J、K需
按顺序指定。
44
自变量指定Ⅱ
地址 A B C I1 J1 K1 I2 J2 K2 I3 J3
变量号 #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11
13、绝对值: #i=ABS[#j];
14、舍入: #i=ROUND[#j];
15、上取整: #i= FUP[#j] ;
16、下取整: #i= FIX[#j] ;
17、自然对数: #i=LN[#j]; y=lnx
18、指数函数: #i=EXP[#j]; y=ex
26
19、或: #i=#j OR #k ;
主程序
(0级)
O001; ﹕ #1=1; G65 P2 A2; ﹕ ﹕ M30;
局部变量
(0级)
#1 1 ﹕
#33
宏程序(1级) 宏程序(2级) 宏程序(31级)宏程序(4级)
O002; ﹕
O003; ﹕
O004; ﹕
O005; ﹕
#1=2; G65 P3 A3; ﹕ ﹕
M99;
#1=3; G65 P4 A4; ﹕ ﹕
●当准确停止检测无效时,即使那些不执行切削 的程序段也不进行准确停止检测(位置检测)。
18
攻丝循环中使用变量3004的例子
N5 N7
19
4、已加工的零件数
20
5、当前位置(只读)
21
●图中第1位代表轴号(从1到4)。 ●变量#5081—#5084存储的刀具长度偏置值
是当前的执行值,不是后面的程序段的 处理值。
0~2π 0~π
0~-π

第四象限
3π/2
第二象限
π
第三象限
π/2
第一象限
0
第二象限 第四象限
π
π/2
0
第一象限
-π/2
第三象限

29
④ROUND函数
●在逻辑运算指令IF、WHILE中,ROUND函数在第 一个小数位四舍五入。
例如 #2=1.2345;
#1=ROUND[#2]; 变量1的值是1.0
例如: #1
#[#1+#2-12]
5
3、变量的类型
6
4、变量值得范围 局部变量和公共变量可以有0值或下面
范围中的值: -1047至-10-29
或 10-29至1047 5、变量的引用
为在程序中使用变量值,指定后跟变 量号的地址。当用表达式指定变量时, 把表达式放在括号中。 例如:G01 X#1 F#[#2+#3]
相关文档
最新文档