wangjian wrote:
L8999 试解
我用的是FANUC系统对于以下有些指令还不了解,错误之处请高手指出
L8999(G10,G54,SETSUTEI, )
IF[#525EQ54]GOTO1
判断语句 当#525等于54,执行N1语句(此时#525为55故顺序执行下一语句)
IF[#525EQ55]GOTO2
此时#252=55,故跳转执行N2语句
IF[#525EQ56]GOTO3
IF[#525EQ57]GOTO4
IF[#525EQ58]GOTO5
IF[#525EQ59]GOTO6
N1#530=#5221
#531=#5222
GOTO10
N2#530=#5241
G55中X值赋予#530
#531=#5242
G55中Y值赋予#531
GOTO10
跳转至N10语句 (以下类推)
N3#530=#5261
#531=#5262
GOTO10
N4#530=#5281
#531=#5282
GOTO10
N5#530=#5301
#531=#5302
GOTO10
N6#530=#5321
#531=#5322
N10#533=0
#533赋值为0(行数计数器)
#534=#531
#534赋值为#531 (第一次执行时为G55中y值)
此处为循环嵌套从里往外执行(从#532=0处执行)
WHILE[#533LT#529]DO2
#533小于#529时执行2语句 (#529中是槽的行数 0<2,故执行2)
G10G#525Y#534
执行G10G55Y** (G10含义::?) 以下完成G55中第一行8个槽
#532=0
#532赋值为0(列数计数器)
#535=#530
#535赋值为#530 (第一次执行时为G55中x值)
WHILE[#532LT#527]DO1
#532小于#527时执行1 (0<8,故执行1)
G10G#525X#535
执行G10G55X** (G10含义?::?)
G22L#524
调用L21(G22是调用子程序?!::?)
#535=#535+#526
X=X+8
#532=#532+1.
#532=0+1=1 (计数器累加)
END1
#534=#534+#528
Y=Y+16
#533=#533+1.
#533=0+1=1
END2
G10G#525X#530Y#531
G23
执行G10G55Y** (G10含义::?)
由N1#530=#5221
#531=#5222
可以推出G10G55Y#5221
#5221是Y柚现在停止的位置的机械值
G10指令是自动数值写入机能.
所以G10G#525Y#534应该可以说是把现在的Y柚机械值写入G55坐标.
MELDAS G23 = FANUC M99
G22 = M98
不过近几年出的MELDAS控制器可以兼容FANUC的NC指令. 需改变设定 |