发那科用户宏程序资料

合集下载

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

• 或按换页键

FANUC培训课件(宏程序)

FANUC培训课件(宏程序)

在参数6080下ห้องสมุดไป่ตู้入 610,则可利用M610调用宏程序。 O6120; M610 X90.0 Y120.0 M30
O9020; N1 G01 G91 #24 F300; N2 Y#24; N3 X-#24; N4 Y-#25; M30;
5)用M 代码调用子程序 在参数中设定调用宏程序的M代码,同用 M98 一样调用子程序。 其参数(No.6071至 No.6079)对应调用宏程序(O9001 至 O9009) M代码号(1 至 99999999) 参数号与宏程序号之间的对应关系: 程序号 参数号 O9001 6071 O9002 6072 O9003 6073 O9004 6074 O9005 6075 O9006 6076 O9007 6077 O9008 6078 O9009 6079
#1=FIX[#2]; #1=ROUND[#2]; #1=ABS[#2];
三角函数 直角三角形(边长为a、b、c)的边长和角 度的关系用下面公式可以求得。
运算种类 正弦 余弦 正切 反正切
表达式 #1=SIN[θ]; #1=COS[θ]; #1=TAN[θ]; #1=ATAN[c]/ [b];
答案 c/a b/a c/b
程序的书写方法:
在IF后面的[ ]中,要书写条件式。 IF[○比较运算符△] GOTO n;
在[ ]中,比较运算符(GE和LT等)的两侧是进行比较的2个数值 或者是式子,常数。 在[ ]的右侧,GOTO的后面写着当条件成立时的转移目的顺序号。
比较运算符 EQ NE GT GE LT LE 意义 = ≠ > ≥ < ≤ 英语拼音 Equal(等于) Not Equal(不等于) Greater Than(大于) Greater or Equal(大于等于) Less Than(小于) Less or Equal(小于等于)

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

发那科用户宏程序资料知识讲解
发那科用户宏程序资料
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宏程序详解

FANUC宏程序详解在FANUC系统中,宏程序是一种非常重要的功能,通过编写宏程序,我们可以让机器在无人值守的情况下完成一系列复杂的操作。

本文将对FANUC宏程序进行详细地介绍,包括宏程序的作用、编写方法、语法规则等方面。

1. 宏程序的作用宏程序是指一组可以重复使用的指令序列,通常用于执行一些常见的任务,例如生产线上的自动化操作、零件加工等。

通过编写宏程序,我们可以节省大量的时间和人力成本,提高整个生产线的效率和产能。

在FANUC系统中,宏程序主要有以下两个作用:1.1 缩短程序编写时间FANUC系统使用G代码编写程序,编写复杂的G代码序列会消耗大量的时间和精力。

而宏程序可以将常用的代码封装起来,减少了程序的编写时间。

例如,在加工中心上,我们可以编写一个宏程序来完成换刀操作,这样就可以省去手动编写换刀程序的时间。

1.2 提高工作精确度宏程序可以确保在每一次执行相同的任务时保持一致性,从而提高工作的精确度和可靠性。

例如,在装配生产线上,我们可以编写一个宏程序来完成紧固螺丝的操作,这样就可以确保每次紧固力度一致,避免螺丝过紧或过松的情况发生。

2. 编写宏程序在FANUC系统中,我们可以通过两种方式来编写宏程序:手动编写和自动生成。

手动编写是指通过手工输入代码来编写宏程序,而自动生成则是指通过FANUC系统自动生成宏程序。

2.1 手动编写手动编写是编写宏程序的最常见方式。

在手动编写宏程序时,我们需要按照FANUC系统的语法规则来编写G代码序列,并保存在一个文件中。

一般情况下,宏程序的文件扩展名为“.mac”。

以下是一个简单的宏程序:O1234G00 X10 Y10G01 Z-5 F500M30上述宏程序的功能是将机器头移动到坐标(10,10)点处,然后向下移动5个单位,同时切削速度为500,最后停止机床。

2.2 自动生成除了手工编写宏程序,我们还可以通过FANUC系统自动生成宏程序。

在FANUC系统中,系统提供了各种预制宏程序,我们可以在需要的时候直接调用这些宏程序。

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

法兰克用户宏程序资料

法兰克用户宏程序资料
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
被引用变量旳值根据地址旳最小设定单位自 动地舍入。

Fanuc用户宏程序基础(NC车床)

Fanuc用户宏程序基础(NC车床)

Fanuc用户宏程序基础(NC车床)Fanuc用户宏程序基础1、概要2、变量的指定3、变量(1)局部变量(2)公共变量(3)系统变量4、运算指令5、控制指令6、利用机床内部传感器测外径时宏程序的组合方法以及步骤介绍7、<空>的灵活使用8、刀具最大磨损值作为寿命值9、机床外部测量以及输入输出端口1、概要宏程序对大家来讲都比较困难,即便是阅读了使用说明书。

的确,关于宏程序是有一些比较难以理解的部分,鉴于此种情况,这一次以简单实例并加以详细说明来解释何谓宏程序。

这个教材的对象是已经能够熟练掌握了NC加工编程的人员。

本资料作为参考,希望能够对大家有所帮助。

到现在为止,宏程序是基于NC语言,由主、子程序来组合而成。

说到宏程序和子程序的最大区别就是宏程序能够调用变量。

所以最近机器人、装载机无人化系统上应用到的内部外部测定、刀具破损、刀具寿命管理、负荷监视系统、工件判断等,像这些领域,宏程序就不得不被使用到了。

不管怎么样,总之原本是人进行的作业转由机床来进行,所以要必须方方面面都要考虑到。

另外,本资料针对的是FANUC 18T, 16T, 15T, 11T, 10T, 0T(用户宏程序B), Y ASNUC作为说明对象的。

2、变量指定关于宏变量的调用,请看下例。

(1)形状相同,尺寸不同的时候、各尺寸定义为A~D等变量;(2)刀尖的进给路线1~7的程序用宏程序来编制。

主程序宏程序(3)宏调用及变量指定G65 P9000 A(#1)B(#2)C(#3)D(#7)此命令为编集、输入A~D图面尺寸值,并执行跳转至(O9000)。

像上述程序中,A~D的内容即使更改,A~D也仍然使用对应的#1、#2、#3、#7变量(最初指定后就不能更改)。

这些常数都是分配给局部变量的。

与宏程序相关的指令,除了G65以外还有G66(宏模态调用)、G67(宏模态调用取消)。

如果定义G65,定义的宏程序只被调用一次;G66是模态调用指令,每次轴移动指令都调用宏程序,直到G67(取消模态调用)。

《发那科宏程序》课件

《发那科宏程序》课件

发那科宏程序在机器 人控制中的应用
探索发那科宏程序在机器 人控制领域的应用,实现 复杂动作和路径规划。
宏程序的发展趋势
1
发那科宏程序技术的发展历程
回顾发那科宏程序技术的发展历程,了解其在工业领域中的重要里程碑。
2
发那科宏程序技术的未来发展方向
展望发那科宏程序技术的未来发展方向,包括更智能化和自动化的应用。
3
发那科宏程序与智能制造的关系
探讨发那科宏程序与智能制造的密切关系,展示其在实现智能工厂的重要性。
发那科宏程序常用指令介绍
详细介绍发那科宏程序常用的指令, 包括运动指令、逻辑指令和系统指令 等。
宏程序的优化
优化宏程序性能的 原则和方法
介绍优化发那科宏程序性能 的基本原则和常用方法,以 提高生产效率和加工质量。
发那科ห้องสมุดไป่ตู้程序调试 技巧
分享调试发那科宏程序的实 用技巧,帮助解决常见问题 和提高调试效率。
《发那科宏程序》PPT课 件
这是关于发那科宏程序的PPT课件,让我们一起来了解这个激动人心的话题 吧!
概述
1 什么是发那科宏程
序?
发那科宏程序是一种用 于控制和编程发那科机 床的软件工具,它可以 实现自动化的零件加工 流程。
2 宏程序的应用范围
发那科宏程序可以应用 于各种工业领域,包括 自动化生产线和机器人 控制等。
3 发那科宏程序的特
点和优势
宏程序具有灵活性、精 确性和高效性,能够大 大提高生产效率和产品 质量。
宏程序的编写
1
发那科宏程序编写基础语法
2
掌握发那科宏程序的基础语法和常用
指令,以便编写精确和高效的宏程序。
3
发那科宏程序编写环境搭建

FANUC用户宏程序详解 PPT

FANUC用户宏程序详解 PPT
FANUC用户宏程序详解
主要内容:
一、变量 二、运算指令 三、控制指令 四、简单练习 五、系统变量 六、宏程序调用
主程序
宏程序
宏程序的适用范围:
✓ 形状类似但大小不同(圆、方及其它) ✓ 大小相同但位置不同(组孔、阵列等) ✓ 特殊形状(椭圆、球等) ✓ 自动化功能(刀具长度测量、生产管理等) ✓ 其它
用<空>赋值
当#1=<空>时
#2=#1 ↓ #2=<空>
#2=#1﹡5 ↓ #2=0
#2=#1+#1 ↓ #2=0
当#1=0时
#2=#1 ↓ #2=0
#2=#1﹡5 ↓ #2=0
#2=#1+# 1 ↓ #2=0
条件表达式 指令
#2 EQ #1 #2 NE #1 #2 GT #1 #2 LT #1 #2 GE #1 #2 LE #1
• 改变引用变量的值的符号,要把负号放在#的前面
G00 X-#1;
• 当引用未定义的变量时,变量及地址字都被忽略
G00 X#1 Y#2; 当#1=0,#2为空时,
G00 X0;
• 程序号、顺序号和任选程序段跳转号不能使用变量
O#1; N#3 Y200.0; /#2 G00 X10.;
4.未定义变量
2.将光标移至欲设定的变量 号上。
• 键入变量号并按 键
• 按换页键 、

.变量的使用
表示方法
# i = <表达式>
将计算结果赋值 给对应的变量号
常数、变量、函数 和运算符的组合
#1= #2 + 100 ; #1= #2 + #18 * SIN[#5] ;
ROUND ABS

最新发那科用户宏程序资料学习资料

最新发那科用户宏程序资料学习资料
●在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]]
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 ;
N#2G00X100.0 /#3Y200.0
12
二、系统变量
1、刀具补偿值
13
2、时间信息
14
3、自动运行控制 可以改变自动运行的控制状态
15
●当电源接通时,该变量的值为0。 ●当单程序段停止无效时,即使单程序段开
关设为ON,也不执行单程序段停止。 ●当不指定等待辅助功能(M,S和T功能)完
例如:
当变量#1的值是0,并且变量#2的值是空时, G00X#1Y#2的执行结果为:
G00X0;
8
6、未定义的变量 变量值未定义时,这样的变量成为
“空”变量。变量#0总是空变量。它不 能写,只能读。 (1)引用
9
(2)运算
10
(3)条件表达式
11
7、限制 程序号、顺序号和程序跳转号不能使
用变量 例如:O#1;

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机器人宏程序相关知识

FANUC机器人宏程序相关知识
在程序调试完成后,投入到生产中,我们可以使用几种方法实现程序自动运行,且不需要按住使能键??
第一使用宏程序;
第二使用RSR程序;
第三使用PNS程序;
等等
那么现在小编带你一起学习宏程序的相关知识
一、步骤:
1、打开程序一览界面,如下图所示;
2、按下F2 创建,进入程序创建界面,如下图所示;
3、移动光标选择合适的命名方式,对应按下功能键F1 ~F5,输入与对应的符号,按下 [ENTER] 回车键,如下图所示;
4、再按下F2 详;细,把子类型选择为Macro (宏程序),如下图所示;
5、按下F1 结束,该程序就创建完成,并且编写好程序,如下图所示;
二、启动宏程序
1 按下 MENUS(菜单)键→设置→ 类型→ 宏,进入宏设定界面,如下图所示;
2 光标移到指令名称,按下 ENTER 键,输入名称,如下图所示;
3、光标移到程序,按下F4 选择,点击宏指令,如下图所示;
4 选择我们刚刚所创建的宏程序,如下图所示;
5 光标移到分配,按下F4 选择,选择执行方式(如 RI )如下图所示;
6 通过移动光标,右移到 [ 0 ] 处输入对应RI号码,如下图所示;
7 按下 FCTN 辅助菜单键,选择中止程序,如下图所示;
8 示教器开关模式打至OFF,如下图所示;
9 控制柜模式开关打至AUTO档,如下图所示;
10 示教器处于非单步执行状态,如下图所示;
11 将对应的RI [2] 接通,如下图所示,此时机器人就会运行所设定的宏程序;
这样就可以现实无限循环动作了,并且不需要我们按住使能开关。

END。

FANUC数控宏程序知识详解

FANUC数控宏程序知识详解

一变量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。

使用用户宏程序时,数值可以直接指定或用变量指定。

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

#1=#2+100G01 X#1 F300说明:变量的表示计算机允许使用变量名,用户宏程序不行。

变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型#0 空变量该变量总是空,没有值能赋给该变量.#1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,#100-#199 #500-#999 公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.#1000 系统变量系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是123.000。

变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。

例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。

例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。

FANUC宏程序大全实例讲解

FANUC宏程序大全实例讲解

FANUC宏程序大全实例讲解FANUC宏程序大全+实例讲解一、变量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。

使用用户宏程序时,数值可以直接指定或用变量指定。

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

#1=#2+100G01 X#1 F300说明:变量变量的表示计算机允许使用变量名,用户宏程序不行。

变量用变量符号(#)和后面的变量号指定。

例如:#1表达式可以用于指定变量号。

此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]变量变量的类型变量根据变量号可以分成四种类型变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是123.000。

变量的引用为在程序中使用变量值,指定后跟变量号的地址。

当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。

例如:当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。

例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。

例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。

双轨迹(双轨迹控制)的公共变量对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。

未定义的变量当变量值未定义时,这样的变量成为空变量。

变量#0总是空变量。

它不能写,只能读。

引用当引用一个未定义的变量时,地址本身也被忽略。

(b) 运算除了用<空>赋值以外,其余情况下<空>与0相同。

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];
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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];
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; 条件满足 程序 ;
●在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]]
下列的运算可以在变量中执行。运算符 右边的表达式可包含常量和/或由函数或 运算符组成的变量。表达式中的变量#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°
WHILE […] DO 2; ﹕
END1; 程序;
END2;
转移不能进入循环区: IF […] GOTO n;

WHILE […] DO 1; N1…; END1;
41
六、宏程序调用
宏程序调用方法: ①非模态调用(G65) ②模态调用(G66、G67) ③用G代码调用宏程序 ④用M代码调用宏程序 ⑤用M代码调用子程序 ⑥用T代码调用子程序
地址 K3 I4 J4 K4 I5 J5 K5 I6 J6 K6 I7
变量号 #12 #13 #14 #15 #16 #17 #18 #19 #20 #21 #22
地址 J7 K7 I8 J8 K8 I9 J9 K9 I10 J10 K10
变量号 #23 #24 #25 #26 #27 #28 #29 #30 #31 #32 #33
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 不等于 (≠)
31
⑥运算次序 函数→乘、除(*、/、AND)→加、减(+、、OR、XOR)
⑦括号嵌套(方括号[],圆括号用于说明) 括号用于改变运算次序,可以使用5级。
32
四、宏程序语句和NC
下面的程序段为宏程序语句: ●包含算术或逻辑运算(=)的程序段。 ●包含控制语句(例如,GOTO,DO,END)
的程序段。 ●包含宏程序调用指令(例如,用G65,G66,
G67或其它G代码,M代码调用宏程序) 的程序段。 除了宏程序语句以外的任何程序段都为 NC语句。
33
说明 ● 与NC语句的不同
①即使置于单程序段运行方式,机床 也不停止。但是,当参数No.6000.5SBM 设定为1时,在单程序段方式中,机床停 止。
②在刀具半径补偿方式中宏程序语句 段不做为不移动程序段处理。
34
● 与宏程序语句有相同性质的NC语句 ①含有子程序调用指令(例如,用M98
或其它M代码或用T代码调用子程序) 句 ②不包含O.N.P或L以外的指令地址的
程序段其性质与宏程序语句相同。
35
五、转移和循环
使用GOTO语句和IF语句可以改变控制的流 向。有三中转移和循环可供使用。
GOTO无条件转移 IF条件转移 WHILE当型循环 1、无条件转移 GOTO n; n为顺序 例如:GOTO 1;
可以跳到循环外边:
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; 程序;
成时,在辅助功能完成之前,程序执行 到下列程序段。而且分配完成信号DEN 不输出。
16
17
●当电源接通时,该变量的值为0。 ●当进给暂停无效时: (1)当进给暂停按钮被按下时,机床在单段停止方
式停止。但是。当用变量#3003使单程序段方 式无效时,单程序段停止不执行。 (2)当进给暂停按钮压下又松开时,进给暂停灯亮, 但是,机床不停止;程序继续执行,并且机床 停在进给暂停有效的第一个程序段。 ●当进给速度倍率无效时,总是100%的倍率,而 不管机床操作面板上的进给速度倍率开关的设 置。
7
被引用变量的值根据地址的最小设定单位自 动地舍入。
例如: G00 X#1, 以1/1000mm的单位执行时, CNC把12.3456赋值给变量#1,实际指令值为 G00 X12.346;。
改变引用变量的值的符号,要把负号(一)放 在#的前面。
例如:G00 X-#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
用户宏程序
虽然子程序对编制相同加工操作的程 序非常有用,但用户宏程序由于允许使 用变量、算术和逻辑运算及条件转移, 使得编制相同加工操作的程序更方便, 更容易。可将相同加工操作编为通用程 序,如型腔加工宏程序和固定加工循环 宏程序。使用时,加工程序可用一条简 单指令调出用户宏程序,和调用子程序 完全一样。
主程序
(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; ﹕ ﹕
M99;
#1=4; G65 P5 A5; ﹕ ﹕
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
●在G31(跳转功能)程序段中跳转信号接通 时的刀具位置贮存在变量#5061到#5068 中。当G31程序段中的跳转信号不接通 时,这些变量中贮存指定程序段的终点 值。
●移动期间不能读是指由于缓冲(预读)功能 的原因,不能读期望值.
22
6、工件坐标系补偿值(工件零点偏移值)
23
24
三、算术和逻辑运算
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°
1
(最多999次)
2
3
4
一、变量
1、变量
使用用户宏程序时,数值可以直接指定或用 变量指定。当用变量时,变量值可用程序或用 MDI面板上的操作改变。
#1=#2+100;
G01 X#1 F300;
2、变量的表示
计算机允许使用变量名,用户宏程序不行。 变量用变量符号(#)和后面的变量号指定。
表达式可以用于指定变量号。此时,表达式 必须封闭在括号中。
42
1、非模态调用(G65) 格式: G65 Pp Ll <自变量指定> 其中: p:要调用的程序号 l: 重复次数(默认值为1) 自变量:数据传递到宏程序,
相关文档
最新文档