1、宏程序应用指令宏程序应用指令宏程序跳转及重复指令GOTOS:跳回到程序开始GOIOB:以程序开始方向的带跳转目标的跳转指令。GOTOF:以程序末尾方向的带跳转目标的跳转指令。GOTO带跳转目标查找的跳转指令。 查找先向程序末尾方向进行,然后再从程序开始处进行查找。GOTOC:与GOTO有区别的是,报警14080 “跳转目标未找到”被抑 制。这表示,在跳转目标查找没有结果情况下不中断程序加 工,而以指令 GOTOC下面的程序行继续进行。跳转条件允许使用所有的比较运算和逻辑运算(结果: TRUE或者FALSE。如果这种运算的结果为TRUE则执行程序跳转。TRUE真实、准确)FALSE (错误)特殊
2、情况一般情况IF V跳转条件=TRUE GOTOIB跳转目标IF V跳转条件=GOTOV跳转目标二IF V跳转条件=TRUE GOTOV跳转目标IF V跳转条件=GOTOFV跳转目标二IF V跳转条件=TRUE GOTV跳转目标IF V跳转条件=GOTOV跳转目标IF V跳转条件=TRUE GOTOV跳转目标IF V跳转条件=GOTOCV跳转目标二CASE功能可以检测一个变量或者一个计算函数当前值(类型:INT ),根据结果跳转到程序中的不同位置。句法:CASE(表达式)OF GOTOF跳转目标_1 GOTOF跳转目标常量:变量或者计算函数首先规定的恒定值2 . DEFAULT GOTOF D
3、EFAULT:对于变量或者计算函数没有采用规定值的情况,可以用DEFAULT指令确定跳转目标。N20 DEF INT VAR1 VAR2 VAR3N30 CASE(VAR1+VAR2-VAR3) OF 7 GOTOF Label_1 9 GOTOF Label_2 DEFAULT GOTOLabel 3N40 Label 1: GO X1 Y1N50 Label 2: GO X2 Y2N60 Label 3: G0 X3 Y3CASE指令由N30定义下列程序分支可行性:1. 如果计算函数值VAR1+VAR2-VAR3 = 7则跳转到带有跳转标记定义的程序段Label_1 ( N40)。2. 如
4、果计算函数值VAR1+VAR2-VAR3 = 9则跳转到带有跳转标记定义的程序段Label_2 ( N50)。3. 如果计算函数VAR1+VAR2-VAR3勺值既不等于7也不等于9,则跳转到带有跳转标记定义的程序段“ Label_3 ” ( N60)。程序部分重复(REPEAT, REPEATB, ENDLABEL, P)功能:程序部分重复是指在一个程序中,可以任意组合重复已经编写的 程序部分。需要重复的程序行或程序段落带有跳转标记(标签)。REPEATB:重复程序行的指令REPEAT:重复程序段落的指令1、重复单个程序行跳转标记:.REPEATB 跳转标记 P=vn2.重复跳转标记和REPE
5、AT!令之间 的程序段落:跳转标记:.REPEAT跳转标记 P=vn3.重复两个跳转标记间的段落:起始跳转标记:.结束跳转标记:.REPEAT起始跳转标记 结束跳转标记 P=n说明REPEAT指令不能被括在这两 个跳转标记之间。如果在REPEAT指令前找到了 起始 跳转标记 ,但在REPEAT指令4.重复跳转标记和ENDLABEL间的段落:跳转标记:.ENDLABEL: .REPEAT跳转标记 P=vn说明REPEAT指令不能被括在 跳转标记 和ENDLABEI之间。 女口果在 REPEAT 指令前找到了 跳转标记,但在REPEAT指令前没有找至U ENDLABEL 贝U重复 跳转标记 和RE
6、PEAT指令之间的程序段落。前没有找到 结束跳转标记, 则重复 起始跳转标记 和 REPEAT指令之间的程序段洛。示例1 :重复单个程序行N10 P0SITI0N1: X10 Y20N20 P0SITI0N2: CYCLE(0,9,8); 位置循环N30 .N40 REPEATB P0SITI0N1 P=5 ; 执行程序段 SATZ N10 五次N50 REPEATB P0SITI0N2 ; 执行程序段 N20 一次N60 .N70 M30示例2 :重复跳转标记和REPEAT指令之间的程序段落N5 R10=15N10 Begi n: R10=R10+1 ; 宽度N20 Z=10-R10N30
7、G1 X=R10 F200N40 Y=R10N50 X=-R10N60 Y=-R10N70 Z=10+R10N80 REPEAT BEGIN P=4 ; 执行N10至U N70程序部分四次N90 Z10N100 M30示例3:重复两个跳转标记间的段落程序代码注释N5 R10=15N10 Begi n: R10=R10+1 ; 宽度N20 Z=10-R10N30 G1 X=R10 F200N40 Y=R10N50 X=-R10N60 Y=-R10N70 END: Z=10N80 Z10N90 CYCLE(10,20,30)N100 REPEAT BEGIN END P=3 ;执行 N10 至U
8、N70 程序部分三次N110 Z10N120 M30示例4 :重复跳转标记和ENDLABEL间的段落N10 G1 F300 Z-10N20 BEGIN1:N30 X10N40 Y10N50 BEGIN2:N60 X20N70 Y30N80 ENDLABEL: Z10N90 X0 Y0 Z0N100 Z-10N110 BEGIN3: X20N120 Y30N130 REPEAT BEGIN3 P=3 ;执行 N110 到 N120 程序部分三次N140 REPEAT BEGIN2 P=2 ;执行N50至U N80之间的程序部分两次N150 M100N160 REPEAT BEGIN1 P=2 ;
9、执行N20至U N80之间的程序部分两次N170 Z10N180 X0 Y0N190 M30示例5:铣削加工、采用不同的工艺加工钻孔位置N10 ZENTRIERBOHRER()换上定中钻头。N20 POS_1:; 钻孔位置1N30 X1 Y1N40 X2N50 Y2N60 X3 Y3N70 ENDLABEL:N80 POS_2:; 钻孔位置2N90 X10 Y5N100 X9 Y-5N110 X3 Y3N120 ENDLABEL:N130 BOHRER(); 更换钻头和钻孔循环。N140 GEWINDE(6); 换上螺纹钻 M6和螺纹循环。N150 REPEAT POS_1 ; 重复程序部分一
10、次,自 POS_1 至 U ENDLABEL,N160 BOHRER(); 更换钻头和钻孔循环。N170 GEWINDE(8); 换上螺纹钻 M8和螺纹循环。N180 REPEAT POS_2 ; 重复程序部分一次,自 POS_2 至 U ENDLABELN190 M301、 程序部分重复可以嵌套调用。 每次调用占用一个子程序级。2、 如果在执行程序重复过程中编程了 M17或者RET则程序重复被停止。 程序接着从REPEA指令行之后的语句开始运行。3、 在当前的程序显示中,程序重复部分作为单独的子程序级显示。4、 如果在执行程序部分重复过程中取消该级别,则在调用程序部分执行之后,继续加 工该程
11、序。1、控制结构和程序部 分重复可以组合使用。示例6N10 G1 F300 Z-10N20 BEGIN1:N30 X=10N40 Y=10N50 GOTOF BEGIN2N60 ENDLABEL:N70 BEGIN2:N80 X20N90 Y30 N100 ENDLABEL: Z10N110 X0 Y0 Z0N120 Z-10N130 REPEAT BEGIN1 P=2N140 Z10N150 X0 Y0N160 M30说明:REPEAT指令应位于运行程 序段之后。但是,两者之间不得产 生重叠。一个程序部 分重复应该位于一个 控制结构分支之内,或 者一个控制结构位于 一个程序部分重复部 分之内
12、。2、如果跳转和程序重 复部分交织在一起,则 程序段按次序执行。比 如说,程序重复部分有 一个跳跃,则一直进行 加工,直至找到编程的 程序结束部分。带选项的程序循环(IF, ELSE, ENDIF)IF 条件ELSEENDIF当查询循环应包含一个可选的程序块时,可使用带 IF和ELSE的结构:如果满足IF条件,则执行IF内的程序块。如果IF条件不满足,则执行ELSE内可选的程序块。说明:如果不需要选择,则IF循环也可以不带ELSE指令,并对ELSE后的程序块编 程。计数循环(FOR . TO . , ENDFO)FOR 变量 = 初值 TO 终值ENDFOR示例1:整数变量作为计数变量:DEF
13、 INT iVARIABLEIR10=R12-R20*R1 R11=6FOR iVARIABLEI = R10 TO R11 ;计数变量=整数变量R20=R21*R22+R33ENDFORFOR: 引入计数循环。ENDFOR一旦还没有得到计数 终值,则标记循环结束处并跳转到循环开 头。:计数变量从初值开始 向上计数,直到终值且在每次运行时提高值 “ 1” 。示例2: R参数作为计数变量:R11=6FOR R10=R12-R20*R1 TO R11 ;计数变量=R参数(实数变量)R20=R21*R22+R33ENDFORM30功能:当一个带有一个确定值的操作程序被循环重复,计数循环就会被运行M3
14、0示例3:加工一个固定的零件数DEF INT STUECKZAHLFOR STUECKZAHL = 0 TO 100G01ENDFOR ;计数循环结束用名称“ STUECKZAHL定义的INT 型变量引入计数循环。 变量“ STUECKZAHL从初值“ 0”向上计数,直到终值“ 100”。M30在循环开始处带有条件的程序循环( WHILE ENDWHIL)功能:WHILE循环的开始是有条件的。 一旦满足条件,WHILE循环即开始运行。句法注释WHILE WHILE:引入程序循环。ENDWHILE条件:必须满足条件,只有这样 WHILE循环才能运行3ENDWHILE标记循环结束处并跳转到循环开头
15、。示例(方法1): R参数赋值示例(方法2):变量赋值R1=1WHILE $AA_IW|占削轴 -10 ;WHILE R1 -10调用WHILE循环,当前的钻削轴WKS额定值必须大于G90 G1 Z=-R1 F169-10。R1=R1+1G1 G91 F250 AX钻削轴=-1ENDWHILEENDWHILE在循环结束处带有条件的程序循环(REPEAT UNTIL)句法注释功能REPEAT;调用REPEAT循环REPEAT循环的结束是有条件的。REPEATUNTIL .;检查是否已满足条件。循环一旦被执行会不断重复,直到满足条 件为止示例:带层叠控制结构的程序示例LOOPIF NOT $P_SEARCH ; 没有程序段搜索G01 G90 X0 Z10 F1000WHILE $AA_IMX = 100G1 G91 X10 F500 ; 钻孔图Z- F100Z5ENDWHILEZ10ELSEMSG (“在搜索过程中不钻孔”)ENDIF$A_OUT1=1 ; 下一个钻孔板G4 F2ENDLOOPM30
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1