宏程序应用指令_第1页
宏程序应用指令_第2页
宏程序应用指令_第3页
宏程序应用指令_第4页
宏程序应用指令_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宏程序跳转及重复指令宏程序跳转及重复指令 GOTOS 跳回到程序开始 GOTOB 以程序开始方向开始方向的带跳转目标的跳转指令 GOTOF 以程序末尾方向末尾方向的带跳转目标的跳转指令 GOTO 带跳转目标查找的跳转指令 查找先向程序末尾先向程序末尾方向进行 然后再从程序开始再从程序开始处进行查找 GOTOC 与 GOTO 有区别的是 报警 14080 跳转目标未找到 被抑 制 这表示 在跳转目标查找没有结果情况下不中断程序加不中断程序加 工工 而以指令以指令 GOTOCGOTOC 下面的程序行继续进行 下面的程序行继续进行 跳转条件允许使用所有的比较运算和逻辑运算允许使用所有的比较运算和逻辑运算 结果 TRUE 或者FALSE 如果这种 运算的结果为TRUE 则执行程序跳转 TRUE TRUE 真实 准确真实 准确 FALSEFALSE 错误 错误 特殊情况一般情况 IF 跳转条件 TRUETRUE GOTOB 跳转目标 IF 跳转条件 GOTOB 跳转目标 IF 跳转条件 TRUETRUE GOTOF 跳转目标 IF 跳转条件 GOTOF 跳转目标 IF 跳转条件 TRUETRUE GOTO 跳转目标 IF 跳转条件 GOTO 跳转目标 IF 跳转条件 TRUETRUE GOTOC 跳转目标 IF 跳转条件 GOTOC 跳转目标 程序分支程序分支 CASE CASE OFOF DEFAULTDEFAULT CASE 功能可以检测一个变量或者一个计算函数当前值 类型 INT 根据结果跳转到程序中的不同位置 句法 句法 CASE CASE OFOF 1 GOTOFGOTOF 1 2 GOTOFGOTOF 2 DEFAULTDEFAULT GOTOFGOTOF n 常量 常量 变量或者计算函数首先规定的恒定值 DEFAULT DEFAULT 对于变量或者计算函数没有采用规定值的情况 可以用DEFAULT 指 令确定跳转目标 N20 DEF INT VAR1 VAR2 VAR3 N30 CASE VAR1 VAR2 VAR3 OF 7 GOTOF Label 1 9 GOTOF Label 2 DEFAULT GOTOF Label 3 N40 Label 1 G0 X1 Y1 N50 Label 2 G0 X2 Y2 N60 Label 3 G0 X3 Y3 CASE 指令由 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 REPEAT REPEATB REPEATB ENDLABEL ENDLABEL P P 功能 功能 程序部分重复是指在一个程序中 可以任意组合重复已经编写的 程序部 分 需要重复的程序行或程序段落带有跳转标记 标签 REPEATB 重复程序行的指令 REPEAT 重复程序段落的指令 1 重复单个程序行 REPEATBREPEATB P P 2 重复跳转标记和 REPEAT指令之间 的程序段落 REPEATREPEAT P P 3 重复两个跳转标记间的段落 REPEATREPEAT P P 说明 REPEAT 指令不能被括在这两个跳转标记之间 如果在 REPEAT 指令前找到了 但在REPEAT 指 令前没有找到 则重复 和REPEAT 指令之间的程序段落 4 重复跳转标记和 ENDLABEL 间的 段落 ENDLABEL ENDLABEL REPEATREPEAT P P 说明 REPEAT 指令不能被括在 和ENDLABEL 之间 如果在REPEAT 指令前找到了 但在 REPEAT 指令前没有找到ENDLABEL 则重复和 REPEAT 指令之间的程序段落 示例 1 重复单个程序行 N10 POSITION1 POSITION1 X10 Y20 N20 POSITION2 POSITION2 CYCLE 0 9 8 位置循环 N30 N40N40 REPEATBREPEATB POSITION1POSITION1 P 5P 5 执行程序段 SATZ N10 五次 N50N50 REPEATBREPEATB POSITION2POSITION2 执行程序段 N20 一次 N60 N70 M30 示例 2 重复跳转标记和 REPEAT 指令之间的程序段落 N5 R10 15 N10N10 Begin Begin R10 R10 1R10 R10 1 宽度 N20 Z 10 R10 N30 G1 X R10 F200 N40 Y R10 N50 X R10 N60 Y R10 N70 Z 10 R10 N80N80 REPEATREPEAT BEGINBEGIN P 4P 4 执行 N10 到 N70 程序部分四次 N90 Z10 N100 M30 示例 3 重复两个跳转标记间的段落 程序代码 注释 N5 R10 15 N10N10 Begin Begin R10 R10 1R10 R10 1 宽度 N20 Z 10 R10 N30 G1 X R10 F200 N40 Y R10 N50 X R10 N60 Y R10 N70N70 END END Z 10Z 10 N80 Z10 N90 CYCLE 10 20 30 N100N100 REPEATREPEAT BEGINBEGIN ENDEND P 3P 3 执行 N10 到 N70 程序部分三次 N110 Z10 N120 M30 示例 4 重复跳转标记和 ENDLABEL 间的段落 N10 G1 F300 Z 10 N20N20 BEGIN1 BEGIN1 N30 X10 N40 Y10 N50N50 BEGIN2 BEGIN2 N60 X20 N70 Y30 N80N80 ENDLABEL ENDLABEL Z10Z10 N90 X0 Y0 Z0 N100 Z 10 N110N110 BEGIN3 BEGIN3 X20X20 N120 Y30 N130 REPEAT BEGIN3 P 3 执行 N110 到 N120 程序部分三次 N140 REPEAT BEGIN2 P 2 执行 N50 到 N80 之间的程序部分两次 N150 M100 N160 REPEAT BEGIN1 P 2 执行 N20 到 N80 之间的程序部分两次 N170 Z10 N180 X0 Y0 N190 M30 示例 5 铣削加工 采用不同的工艺加工钻孔位置 N10 ZENTRIERBOHRER 换上定中钻头 N20N20 POS 1 POS 1 钻孔位置钻孔位置 1 1 N30 X1 Y1 N40 X2 N50 Y2 N60 X3 Y3 N70N70 ENDLABEL ENDLABEL N80N80 POS 2 POS 2 钻孔位置钻孔位置 2 2 N90 X10 Y5 N100 X9 Y 5 N110 X3 Y3 N120N120 ENDLABEL ENDLABEL N130 BOHRER 更换钻头和钻孔循环 N140 GEWINDE 6 换上螺纹钻 M6 和螺纹循环 N150N150 REPEATREPEAT POS 1POS 1 重复程序部分一次 自重复程序部分一次 自POS 1POS 1 到到ENDLABEL ENDLABEL N160 BOHRER 更换钻头和钻孔循环 N170 GEWINDE 8 换上螺纹钻 M8 和螺纹循环 N180N180 REPEATREPEAT POS 2POS 2 重复程序部分一次 自重复程序部分一次 自POS 2POS 2 到到ENDLABELENDLABEL N190 M30 1 程序部分重复可以嵌套调用 每次调用占用一个子程序级 2 如果在执行程序重复过程中编程了M17 或者RET 则程序重复被停止 程序接着从 REPEAT指令行之后的语句开始运行 3 在当前的程序显示中 程序重复部分作为单独的子程序级显示 4 如果在执行程序部分重复过程中取消该级别 则在调用程序部分执行之后 继续加 工该程序 示例6 N10 G1 F300 Z 10 N20 BEGIN1 N30 X 10 N40 Y 10 1 控制结构和程序部分重复可以组合使用 但是 两者之间不得产生重叠 一个程 N50 GOTOF BEGIN2 N60 ENDLABEL N70 BEGIN2 N80 X20 N90 Y30 N100 ENDLABEL Z10 N110 X0 Y0 Z0 N120 Z 10 N130 REPEAT BEGIN1 P 2 N140 Z10 N150 X0 Y0 N160 M30 说明 REPEAT 指令应位于运行程序段之后 序部分重复应该位于一个控制结构分支之 内 或者一个控制结构位于一个程序部分 重复部分之内 2 如果跳转和程序重复部分交织在一起 则程序段按次序执行 比如说 程序重复 部分有一个跳跃 则一直进行加工 直至 找到编程的程序结束部分 带选项的程序循环带选项的程序循环 IF IF ELSE ELSE ENDIF ENDIF IF ELSE ENDIF 当查询循环应包含一个可选的程序块时 可使用带 IF 和 ELSE 的结构 如果满足 IF 条件 则执行 IF 内的程序块 如果 IF 条件不满足 则执行 ELSE 内可选的程序块 说明 如果不需要选择 则 IF 循环也可以不带 ELSE 指令 并对 ELSE 后的程序块 编程 计数循环 计数循环 FORFOR TOTO ENDFORENDFOR 功能功能 当一个带有一个确定值的操作程序被循环重复 计数循环就会被运行 当一个带有一个确定值的操作程序被循环重复 计数循环就会被运行 FOR TO ENDFOR FOR 引入计数循环 ENDFOR 一旦还没有得到计数终值 则标记循环结 束处并跳转到循环开头 计数变量从初值开始向上计数 直到终值 且在每次运行时提高值 1 示例1 整数变量作为计数变量 DEF INT iVARIABLE1 R10 R12 R20 R1 R11 6 FOR iVARIABLE1 R10 TO R11 计数变量 整数变量 R20 R21 R22 R33 ENDFOR M30 示例2 R 参数作为计数变量 R11 6 FOR R10 R12 R20 R1 TO R11 计数变量 R 参数 实数变量 R20 R21 R22 R33 ENDFOR M30 示例 3 加工一个固定的零件数 DEF INT STUECKZAHL FOR STUECKZAHL 0 TO 100 G01 ENDFOR 计数循环结束 M30 用名称 STUECKZAHL 定义的 INT 型变量 引入计数循环 变量 STUECKZAHL 从初值 0 向上计数 直到终值 100 在循环开始处带有条件的程序循环 在循环开始处带有条件的程序循环 WHILEWHILE ENDWHILEENDWHILE 功能 功能 WHILEWHILE 循环的开始是有条件的 循环的开始是有条件的 一旦满足条件 一旦满足条件 WHILEWHILE 循环即开始运行 循环即开始运行 句法句法注释注释 WHILE ENDWHILE WHILE 引入程序循环 必须满足条件 只有这样 WHILE 循环才能运行 ENDWHILE 标记循环结束处并跳转到循环开头 示例 方法1 R参数赋 值 示例 方法2 变量赋值 WHILE AA IW 钻削轴 10 R1 1 WHILE R1 10 G90 G1 Z R1 F169 R1 R1 1 ENDWHILE 调用 WHILE 循环 当前的钻削轴 WKS 额定值必须大于 10 G1 G91 F250 AX 钻削轴 1 ENDWHILE 在循环结束处带有条件的程序循环 在循环结束处带有条件的程序循环 REPEATREPEAT UNTILUNTIL 句法句法注释注释功能功能 REPEAT UNTIL 调用 REPEAT 循环 检查是否已满足条件 REPEATREPEAT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论