1.标记符——程序跳转目标
标记符用于标记程序中所跳转的目标程序段,用跳转功能可以实现程序运行分支。标记符可以自由选取,但必须由2~8个字母或数字组成,其中开始两个符号必须是字母或下划线。
跳转目标程序段中标记符后面必须为冒号。标记符位于程序段段首。如果程序段有段号,则标记符紧跟着段号。
在一个程序中,标记符不能含有其他意义。
程序举例:
N10 MARKE1:G01 X20;MARKE1为标记符,跳转目标程序段
︙
TR789:G00 X10 Z20;TR789为标记符,跳转目标程序段没有段号
N100…;程序段号可以是跳转目标
2.绝对跳转
功能:NC程序在运行时以写入时的顺序执行程序段。程序在运行时可以通过插入程序跳转指令改变执行顺序。跳转目标只能是有标记符的程序段。此程序段必须位于该程序之内。绝对跳转指令必须占用一个独立的程序段。表1-3为绝对跳转指令说明。表1-4为绝对跳转指令编程示例。
表1-3 绝对跳转指令说明
编程:
GOTOF Label;向前跳转
GOTOB Label;向后跳转
3.有条件跳转
功能:用IF条件语句表示有条件跳转,如果满足跳转条件(也就是值不等于零),则进行跳转。跳转目标只能是有标记符的程序段,该程序段必须在此程序内。
有条件跳转指令要求一个独立的程序段。在一个程序段中可以有许多个条件跳转指令。
使用了条件跳转后,有时会使程序得到明显的简化。表1-5为有条件跳转指令说明,表1-6为条件比较运算符。
编程:
IF条件GOTOF Label;向前跳转
IF条件GOTOB Label;向后跳转
表1-4 绝对跳转指令编程示例
表1-5 有条件跳转指令说明
表1-6 条件比较运算符
用表1-6所示比较运算符表示跳转条件,计算表达式也可用于比较运算。比较运算的结果有两种,一种为“满足”,另一种为“不满足”。“不满足”时,该运算结果为零。
比较运算编程举例1:
R1>1;R1大于1
1<R1;1小于R1
R1>R2+R3;R1大于R2加R3(www.xing528.com)
R6>=SIN(R7*R7);R6大于或等于SIN(R7)2
编程举例2:
N10 IF R1<>>0 GOTOF MARKE1;R1不等于零时,跳转到MARKE1程序段
︙
N0100 IF R1>1 GOTOF MARKE2;R1大于1时,跳转到MARKE2程序段
︙
N1000 IF R45==R7+1 GOTOB MARKE3;R45等于R7加1时,跳转到MARKE3程序段
︙
︙;一个程序段中有多个条件跳转
︙
N20 IF R1==1 GOTOB MA1 IF R1==2 GOTOF MA2…
︙
注释:第一个条件实现后就进行跳转。
4.程序跳转举例
如图1-2所示圆弧上点的移动。
已知:起始角:30° R1
圆弧半径:32mm R2
位置间隔:10° R3
点数:11 R4
圆心位置,X轴方向50mm R5
圆心位置,Y轴方向20mm R6
程序如下:
N10 R1=30 R2=32 R3=10 R4=11 R5=50 R6=20;赋初始值
N20 MA1:G00 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6;坐标轴地址的计算及赋值
N30 R1=R1+R3 R4=R4-1;参数计算
N40 IF R4>0 GOTOB MA1;如果R4大于0,则程序跳转到标记符MA1程序段
N50 M02;程序结束并返回到程序开头
图1-2 圆弧上点的移动
说明:
在程序段N10中,给相应的计算参数赋值。在N20中进行坐标轴X和Y的数值计算,并进行赋值。
在程序段N30中,R1增加到R3角度;R4减小数值1。
在程序段N40中,如果R4>0,则重新执行N20,否则运行N50,用M02结束程序。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。