




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宏程序跳转及重复指令GOTOS:跳回到程序开始GOTOB:以程序开始方向的带跳转目标的跳转指令。GOTOF:以程序末尾方向的带跳转目标的跳转指令。GOTO:带跳转目标查找的跳转指令。 查找先向程序末尾方向进行,然后再从程序开始处进行查找。GOTOC:与 GOTO 有区别的是,报警 14080“跳转目标未找到”被抑制。这表示,在跳转目标查找没有结果情况下不中断程序加工,而以指令 GOTOC 下面的程序行继续进行。跳转条件允许使用所有的比较运算和逻辑运算(结果: TRUE 或者FALSE)。 如果这种运算的结果为TRUE,则执行程序跳转。TRUE(真实、准确) FALSE(错误)特殊情况一般情况IF 跳转条件=TRUE GOTOB 跳转目标IF 跳转条件= GOTOB 跳转目标IF 跳转条件=TRUE GOTOF 跳转目标IF 跳转条件= GOTOF 跳转目标IF 跳转条件=TRUE GOTO 跳转目标IF 跳转条件= GOTO 跳转目标IF 跳转条件=TRUE GOTOC 跳转目标IF 跳转条件= GOTOC 跳转目标程序分支(CASE . OF . DEFAULT .) CASE 功能可以检测一个变量或者一个计算函数当前值 (类型: INT),根据结果跳转到程序中的不同位置。句法:CASE() OF GOTOF GOTOF . DEFAULT GOTOF 常量:变量或者计算函数首先规定的恒定值DEFAULT:对于变量或者计算函数没有采用规定值的情况,可以用DEFAULT 指令确定跳转目标。N20 DEF INT VAR1 VAR2 VAR3N30 CASE(VAR1+VAR2-VAR3) OF 7 GOTOF Label_1 9 GOTOF Label_2 DEFAULT GOTOF Label_3N40 Label_1: G0 X1 Y1N50 Label_2: G0 X2 Y2N60 Label_3: G0 X3 Y3CASE 指令由 N30 定义下列程序分支可行性:1. 如果计算函数值 VAR1+VAR2-VAR3 = 7,则跳转到带有跳转标记定义的程序段Label_1 ( N40)。2. 如果计算函数值 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=.2.重复跳转标记和 REPEAT指令之间的程序段落:: .REPEAT P=.3.重复两个跳转标记间的段落:: .: .REPEAT P=.说明REPEAT 指令不能被括在这两个跳转标记之间。 如果在REPEAT 指令前找到了,但在REPEAT 指令前没有找到,则重复和REPEAT 指令之间的程序段落。4.重复跳转标记和 ENDLABEL 间的段落:: .ENDLABEL: .REPEAT P=.说明REPEAT 指令不能被括在和ENDLABEL 之间。 如果在REPEAT 指令前找到了,但在REPEAT 指令前没有找到ENDLABEL,则重复和REPEAT 指令之间的程序段落。示例 1: 重复单个程序行N10 POSITION1: X10 Y20N20 POSITION2: CYCLE(0,9,8) ; 位置循环N30 .N40 REPEATB POSITION1 P=5 ; 执行程序段 SATZ N10 五次N50 REPEATB POSITION2 ; 执行程序段 N20 一次N60 .N70 M30示例 2: 重复跳转标记和 REPEAT 指令之间的程序段落N5 R10=15N10 Begin: R10=R10+1 ; 宽度N20 Z=10-R10N30 G1 X=R10 F200N40 Y=R10N50 X=-R10N60 Y=-R10N70 Z=10+R10N80 REPEAT BEGIN P=4 ; 执行 N10 到 N70 程序部分四次N90 Z10N100 M30示例 3: 重复两个跳转标记间的段落程序代码 注释N5 R10=15N10 Begin: 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 到 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 到 N80 之间的程序部分两次N150 M100N160 REPEAT BEGIN1 P=2 ; 执行 N20 到 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 ; 重复程序部分一次,自POS_1 到ENDLABEL,N160 BOHRER() ; 更换钻头和钻孔循环。N170 GEWINDE(8) ; 换上螺纹钻 M8 和螺纹循环。N180 REPEAT POS_2 ; 重复程序部分一次,自POS_2 到ENDLABEL。N190 M301、 程序部分重复可以嵌套调用。 每次调用占用一个子程序级。2、如果在执行程序重复过程中编程了M17 或者RET,则程序重复被停止。 程序接着从REPEAT指令行之后的语句开始运行。3、 在当前的程序显示中,程序重复部分作为单独的子程序级显示。4、 如果在执行程序部分重复过程中取消该级别,则在调用程序部分执行之后,继续加工该程序。示例6N10 G1 F300 Z-10N20 BEGIN1:N30 X=10N40 Y=10N50 GOTOF BEGIN2N60 ENDLABEL:N70 BEGIN2:N80 X20N90 Y30N100 ENDLABEL: Z10N110 X0 Y0 Z0N120 Z-10N130 REPEAT BEGIN1 P=2N140 Z10N150 X0 Y0N160 M30说明:REPEAT 指令应位于运行程序段之后。1、控制结构和程序部分重复可以组合使用。 但是,两者之间不得产生重叠。 一个程序部分重复应该位于一个控制结构分支之内,或者一个控制结构位于一个程序部分重复部分之内。2、 如果跳转和程序重复部分交织在一起,则程序段按次序执行。比如说,程序重复部分有一个跳跃,则一直进行加工,直至找到编程的程序结束部分。带选项的程序循环 (IF, ELSE, ENDIF)IF .ELSE.ENDIF.当查询循环应包含一个可选的程序块时,可使用带 IF 和 ELSE 的结构: 如果满足 IF 条件,则执行 IF 内的程序块。 如果 IF 条件不满足,则执行 ELSE 内可选的程序块。说明:如果不需要选择,则 IF 循环也可以不带 ELSE 指令,并对 ELSE 后的程序块编程。计数循环(FOR . TO .,ENDFOR)功能:当一个带有一个确定值的操作程序被循环重复,计数循环就会被运行。FOR = TO .ENDFOR.FOR: 引入计数循环。ENDFOR: 一旦还没有得到计数终值,则标记循环结 束处并跳转到循环开头。: 计数变量从初值开始向上计数,直到终值 且在每次运行时提高值“1”。示例1:整数变量作为计数变量:DEF INT iVARIABLE1R10=R12-R20*R1 R11=6FOR iVARIABLE1 = R10 TO R11 ; 计数变量 = 整数变量R20=R21*R22+R33ENDFORM30示例2:R 参数作为计数变量:R11=6FOR R10=R12-R20*R1 TO R11 ; 计数变量 = R 参数(实数变量)R20=R21*R22+R33ENDFORM30示例 3: 加工一个固定的零件数DEF INT STUECKZAHLFOR STUECKZAHL = 0 TO 100G01 ENDFOR ; 计数循环结束M30用名称“STUECKZAHL”定义的 INT 型变量引入计数循环。 变量“STUECKZAHL”从初值“0”向上计数,直到终值“100”。在循环开始处带有条件的程序循环(WHILE,ENDWHILE)功能:WHILE 循环的开始是有条件的。 一旦满足条件,WHILE 循环即开始运行。句法注释WHILE .ENDWHILE.WHILE: 引入程序循环。: 必须满足条件,只有这样 WHILE 循环才能运行。ENDWHILE: 标记循环结束处并跳转到循环开头。示例(方法1):R参数赋值R1=1WHILE R1 -10G90 G1 Z=-R1 F169R1=R1+1ENDWHILE示例(方法2):变量赋值WHILE $AA_IW钻削轴 -10 ; 调用 WHILE 循环, 当前的钻削轴 WKS 额定值必须大于-10。G1 G91 F250 AX钻削轴 = -1ENDWHILE在循环结束处带有条件的程序循环(REPEAT,UNTIL)句法注释功能REPEAT ; .UNTIL . ; .调用 REPEAT 循环。检查是否已满足条
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年企业新进员工入职及劳动争议高效调解服务合同
- 2025年数字藏品所有权及收益权转让服务合同
- 2025物流行业智能化仓储与配送服务合同
- 2025高端宠物护理服务雇佣合同标准版
- 2025年中小企业财务辅导与融资策划服务协议
- 2025年绿色电子元器件采购与环保责任协议
- 2025年智能餐厅运营管理及点餐系统升级合作协议
- 2025年度全国鞋业交易会参展企业广告投放合作条款
- 2025 学校食堂承包合同书
- 2025年上海市二手汽车交易合同样本
- 北京项目工程管理办法
- 肺结节中医课件
- (高清版)DB11∕T 3046-2025 健康体检质量控制规范
- 【公开课】热量+比热容(教学课件)2025-2026学年初中物理人教版(2024)九年级全一册
- 广东省安装工程综合定额(2018)Excel版
- 老年患者麻醉专家共识
- 口腔病理学牙发育异常
- 2025年云南省初中学业水平考试物理及答案
- 棋牌室员工管理制度
- 《中华人民共和国慈善法》培训解读课件
- 2025前期咨询服务合同协议书模板
评论
0/150
提交评论