FANUC宏程序编程
2017-03-28
示例程序下面(de)程序计算数值1~10(de)总和
O9500;1=0;………………………………….存储和(de)变量初值
2=1;………………………………….被加数变量(de)初值
N1 IF[2GT 10]GOTO 2;…………….当被加数大于10时转移到N2
m98调用子程序格式1=1+2;…………………………….计算和
2=2+1;…………………………….下一个被加数
GOTO 1;………………………………转移到N1
N2 M30;................................................程序结束算术和逻辑运算
角度单位:
SIN、ASIN、COS、ACOS、TAN和ATAN(de)角度单位是度
ARCSINi=ASIN[j]:
●取值范围如下:当参数(¥0)NAT位设为0时,270~90度;当参数(¥0)NAT位设为1时,-90~90度.
●当j超过-1到1(de)范围时,发出P/S报警.
●常数可替代变量j.
ARCCOSi=ACOS[j];
●取值范围从180~0度.
●当j超过-1到1(de)范围时,发出P/S报警.
●常数可替代变量j.
ARCTANi=ATAN[j];
●指定两边(de)长度,并用斜杠(/)分开
●取值范围如下:当参数(¥0)NAT位设为0时,0~360度[例如:当指
定i=ATAN[-1]/[-1];时,1=225度].当参数(¥0)NAT位设为1
时,-180~180度[例如:当指定i=ATAN[-1]/[-1];时,1=-135度]
●常数可替代变量j.
自然对数i=LN[j];
●注意,相对误差可能大于10-8.
●当反对数(j)为0或小于0时,发出报警.
●常数可替代变量j.
指数函数i=EXP[j]:
●注意,相对误差可能大于10-8
●当运算结果超过×1047(j大约是110)时,出现溢出报警
●常数可替代变量j.
上取整下取整:
CNC处理数值运算时,若操作后产生整数绝对值大于原数(de)绝对值时为
上取整;小于为下取整.例如:
假设1=,2=.当执行3=FUP[1]时,赋给3;当执行3=FIX[1]时赋给3;当执行3=FUP[2]时,赋给3;当执行3=FIX[2]时,赋给3.
宏程序语句:包含算术或逻辑运算(=)(de)程序;包含控制语句(例如,用GOTO,DO,END)(de)程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)(de)程序段;除宏
程序以外任何程序段都为NC语句.
与NC语句(de)不同:
即使置于单段程序运行方式,机床也不停止.但是,当参数5SBM设定位、为1时,在单段程序方式中,机床停止.在刀具半径补偿方式中宏程序语句段
不做为移动程序段处理
与宏程序语句相同性质(de)NC语句:
含有子程序调用指令(例如,用M98或其它M代码或用T代码调用子程序)但没有除O,N,P或L地址之外(de)其它地址指令(de)NC语句,其性质与宏
程序语句相同;不包含除O,N,P或L以外(de)指令地址(de)程序段其性质与宏程序语句相同.
无限循环;
当指定DO而没有指定WHILE语句时,产生从DO到END(de)无限循环.
宏程序调用和子程序调用之间(de)差别:
宏程序调用(G65)不同于子程序调用(G98),如下所述:
●用G65,可以指定自变量(数据传送到宏程序).M98没有该功能.
)时,在指令执行之后调用
●当M98程序段包含另一个NC指令(例如.
P
子程序.相反,G65无条件(de)调用子程序.
●M98程序段包含另一个NC指令(例如,)时在单程序方式中,机床停
止.相反,G65机床不停止.
●用G65,改变局部变量(de)级别.用M98,不改变局部变量(de)级别.
G65P-L -(自变量指定);P:要调用(de)程序;L:重复次数;自变量: