FANUC宏程序.docx

上传人:b****8 文档编号:29209663 上传时间:2023-07-21 格式:DOCX 页数:12 大小:18.75KB
下载 相关 举报
FANUC宏程序.docx_第1页
第1页 / 共12页
FANUC宏程序.docx_第2页
第2页 / 共12页
FANUC宏程序.docx_第3页
第3页 / 共12页
FANUC宏程序.docx_第4页
第4页 / 共12页
FANUC宏程序.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

FANUC宏程序.docx

《FANUC宏程序.docx》由会员分享,可在线阅读,更多相关《FANUC宏程序.docx(12页珍藏版)》请在冰豆网上搜索。

FANUC宏程序.docx

FANUC宏程序

FANUC宏程序

宏程序

用户宏程序:

虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于

允许使用“变量算术和逻辑运算及条件转移”使得编制相同加工操作

的程序更方便更容易,可将相同加工操作编为通用程序如:

型腔加

工宏程序和固定加工循环宏程序,使用时加工程序可用一条简单指

令调出用户宏程序和调用子程序完全一样

变量

说明:

1,变量的表示

2,变量的类型

3,变量值的范围

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

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

计算机允许使用变量名,用户宏程序不行变量用变量符号#和后

面的变量号指定。

例如:

#1

表达式可以用于指定变量号此时表达式必须封闭在括号中。

例如:

#[#1+#2-12]

变量根据变量号可以分成四种类型。

变量号变量类型功能。

#0空变量该变量总是空没有值能赋给该变量。

#1#33局部变量局部变量只能用在宏程序中存储数据,例如运算结果当断电时局

部变量被初始化为空,调用宏程序时自变量对局部变量赋值#100,#199,#500,#999

公共变量公共变量在不同的宏程序中的意义相同,当断电时变量#100#199初始化为空变量#500#999的数据保存,即使断电也不丢失。

#1000系统变量,系统变量用于读和写CNC运行时各种数据的变化。

例如:

刀具的当前位

置和补偿值。

局部变量和公共变量可以有0值或下面范围中的值:

-1047到-10-29

10-29到1047

#1=#2+100

G01X#1F300

!

小数点的省略

!

变量的引用

!

双轨迹双轨迹控制的公共

变量

!

未定义的变量

当在程序中定义变量值时小数点可以省略

为在程序中使用变量值指定后跟变量号的地址当用表达式指定变量

时要把表达式放在括号中

例如G01X[#1+#2]F#3

被引用变量的值根据地址的最小设定单位自动地舍入

例如

当G00X#/以1/1000mm的单位执行时CNC把12.3456赋值给

变量#1实际指令值为G00X12.346;

改变引用变量的值的符号要把负号放在#的前面

例如G00X#1

当引用未定义的变量时变量及地址字都被忽略

例如

当变量#1的值是0并且变量#2的值是空时G00X#1Y#2的执行

结果为G00X0

对双轨迹控制系统为每一轨迹都提供了单独的宏变量但是根据参

当变量值未定义时这样的变量成为空变量变量#0总是空变量

它不能写只能读

a引用

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

当#1=<空>当#1=0

G90X100Y#1

G90X100

G90X100Y#1

G90X100Y0

!

变量值的显示

b运算

除了用<空>赋值以外其余情况下<空>与0相同

当#1=<空>时当#1=0时

#2=#1

#2=<空>

#2=#1

#2=0

#2=#1﹡5

#2=0

#2=#1﹡5

#2=0

#2=#1+#1

#2=0

#2=#1+#1

#2=0

(c)条件表达式

EQ和NE中的<空>不同于0

当#1=<空>时当#1=0时

#1EQ#0

成立

#1EQ#0

不成立

#1NE#0

成立

#1NE#0

不成立

#1GE#0

成立

#1GE#0

不成立

#1GT#0

不成立

#1GT#0

不成立

!

当变量值是空白时变量是空

!

符号********表示溢出当变量的绝对值大于99999999时或下

 

!

限制程序号顺序号和任选程序段跳转号不能使用变量

下面情况不能使用变量

#1

/#2G00X100.0;

N#3Y200.0;

2系统变量

说明

!

接口信号

!

刀具补偿值

系统变量用于读和写NC内部数据例如刀具偏置值和当前位置数据

但是某些系统变量只能读系统变量是自动控制和通用加工程序开发

的基础

是可编程机床控制器PMC和用户宏程序之间交换的信号

表15.2(a)接口信号的系统变量

变量号功能

#1000#1015

#1032

把16位信号从PMC送到用户宏程序变量#1000

到#1015用于按位读取信号变量#1032用于一次

读取一个16位信号

#1100#1115

#1132

把16位信号从用户宏程序送到PMC变量#1100

到#1115用于按位写信号变量#1132用于一次写

一个16位信号

#1133变量#1133用于从用户宏程序一次写一个32位的

信号到PMC

注意#1133的值为从99999999到+99999999

详细情况请见连接说明书B-63503C-1

用系统变量可以读和写刀具补偿值

表15.2(b)刀具补偿存储器C的系统变量

刀具长度补偿H刀具半径补偿D补偿

号几何补偿磨损补偿几何补偿磨损补偿

1

200

400

#11001#2201

#11201#2400

#11400

#10001

#2001

#10201

#2200

#10400

#13001

#13400

#12001

#12400

当偏置组数小于等于200时也可使用#2001#2400

!

宏程序报警

!

停止和信息显示

!

时间信息

表15.2(c)宏程序报警的系统变量

变量号功能

#3000当变量#3000的值为0200时CNC停止运行

且报警

在表达式后为不超过26个字符的报警信息

CRT屏幕上显示报警号和报警信息其中报警号

为变量#3000的值加上3000

#3000=1TOOLNOTFOUND

报警屏幕上显示3001TOOLNOTFOUND刀具未找到

程序执行停止并显示信息

报警号功能

#3006在宏程序中指令#3006=1MESSAGE

时程序执行前面程序段并停止

当最多到26个字符的信息由控制输入

和控制输出括住在同一程序段中编程

时信息被显示在外部操作信息屏幕

时间信息可以读和写

表15.2(d)时间信息的系统变量

变量号功能

#3001该变量为一个计时器以1毫秒为计时单位

当电源接通时该变量值复位为0当达到

2147483648毫秒时该计时器的值返回到0

#3002该变量为一个计时器当循环起动灯亮时以

一小时为单位计时该计时器即使在电源断

电时也保存该值当达到9544.371767小时

该计时器的值返回到0

#3011该变量用于读取当前的曰期年/月/曰年/

月/曰信息转换成十进制数例如1994年9

月8曰表示为19940928

#3012该变量用于读取当前的时间时/分/秒时/

分/秒信息转换成十进制数例如下午3点

34分56秒表示为153456

!

自动运行控制可以改变自动运行的控制状态

表15.2(e)自动运行控制的系统变量#3003

#3003单程序段辅助功能的完成

0有效等待

1无效等待

2有效不等待

3无效不等待

当电源接通时该变量的值为0

当单程序段停止无效时,即使单程序段开关设为ON也不执行单程序段停止,

当不指定等待辅助功能MS和T功能完成时,在辅助功能完成之前,

程序执行到下列程序段而且分配完成信号DEN不输出

表15.2(f)自动运行控制的系统变量#3004

#3004进给暂停进给速度倍率准确停止

0有效有效有效

1无效有效有效

2有效无效有效

3无效无效有效

4有效有效无效

5无效有效无效

6有效无效无效

7无效无效无效

当电源接通时该变量的值为0

当进给暂停无效时

1当进给暂停按钮被按下时,机床在单段停止方式停止,但是当

用变量#3003使单程序段方式无效时单程序段停止不执行。

2当进给暂停按钮压下又松开时,进给暂停灯亮,但是机床不停

止程序继续执行,并且机床停在进给暂停有效的第一个程序段,

当进给速度倍率无效时总是100%的倍率而不管机床操作面板上

的进给速度倍率开关的设置。

 

变量的控制和运算指令

算术运算和逻辑运算

在变量之间,变量和常量之间,可以进行各种运算,常用的见表7—5。

表7—5算术和逻辑运算

运算

格式

说明

赋值

#i=#j加#i=#j+#k减#i=#j-#k乘#i=#j*#k除#i=#j/#k正弦#i=sin[#j]

角度单位为度

余弦

#i=cos[#j]

正切

#i=tan[#j]

反正切

#i=atan[#j]

平方根

#i=sqrt[#j]

绝对值

#i=abs[#j]

四舍五入圆整

#i=round[#j]

#i=#jor#k

逻辑运算对二进制数逐位进行

异或

#i=#jxor#k

#i=#jand#k

运算的优先顺序如下:

1)函数。

2)乘除,逻辑与。

3)加减,逻辑或,逻辑异或。

可以用[]来改变顺序

7.4.2控制指令

1.无条件转移(GOTO语句)

语句格式为:

GOTOn

其中n为顺序号(1—9999),可用变量表示。

例如:

GOTO1;

GOTO#10;

2.条件转移(IF语句)

语句格式为:

IF[条件式]GOTOn

条件式成立时,从顺序号为n的程序段开始执行;条件式不成立时,执行下一个程序段。

条件式有以下几类:

#jEQ#KEQ等于

#jNE#KNE不等于

#jGT#KGT大于

#jLT#KLT小于

#jGE#KGE大于等于

#jLE#KLE小于等于

条件式中变量#J或#K可以是常量也可以是表达式,条件式必须用括弧括起来。

下面的程序可以得到1到10的和:

O7100

#1=0

#2=1

N1IF[#2GT10]GOTO2

#1=#1+#2

#2=#2+1

GOTO1

N2M30

3循环语句(WHILE语句)

语句格式为:

WHILE[条件式]DOm(m=1,2,3)

ENDm

当条件语句成立时,程序执行从DOm到ENDm之间的程序段;如果条件不成立,则执行ENDm之后的程序段。

DO和END后的数字是用于表明循环执行范围的识别号。

可以使用数字1,2和3,如果是其他数字,系统会产生报警。

DO—END循环能够按需执行多次。

如下例所示:

上面的O7100程序也可以用WHILE语句编制如下:

O7200

#1=0

#2=1

WHILE[#2LE10]DO1

#1=#1+#2

#2=#2+1

END1

M30

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

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

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