浅谈宏程序条件和循环语句的灵活运用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅谈宏程序条件和循环语句的灵活运用

宏程序是一种高级数控编程语言,与常见数控系统编程指令不同,该程序中通常带有变量、运算符、表达式及循环语句等。其中,循环语句是宏程序的灵魂部分,如何熟练并灵活地运用循环语句,是许多初学宏程序者感到最难的地方。为此,笔者通过一个例子展示循环语句的特点及掌握技巧。

一、宏程序常用的有三种转移和循环语句

1.无条件转移语句——GOTO

GOTO n。

2.条件转移语句——IF

IF [] GOTO n。

表示如果指定的条件表达式满足时,则转移(跳转)到标有顺序号n的程序段。如果不满足指定的条件表达式,则顺序执行下个程序段。

3.循环语句——WHILE

在WHILE后指定一个条件表达式。当指定条件满足时,则执行从DO到END 之间的程序。否则,转到END后的程序段。(1)在DO~END循环中的标号(1~3)可根据需要多次使用。需要注意的是,无论怎样多次使用,标号永远限制在1,2,3;以下为关于嵌套的详细说明。标号(1~3)可以根据需要多次使用。(2)DO的范围不能交叉。(3)DO循环可以3重嵌套。(4)(条件)转移可以跳出循环的外边。(5)(条件)转移不能进入循环区内,注意与上述第(4)点对照。

二、通过案例比较记忆条件及循环语句的应用

用上述三种循环语句,编程求“1到100之和”。

1.用IF语句

O0001;

#1=0;(#1作为和)

#2=1;(#2为自变量,从1变化到100)

N10 #1=#1+#2;(将新的变量加入到和中)

#2=#2+1;(自变量每次变化1)

IF[#2LE100]GOTO10;(判断条件,如果#2≤100就回到N10程序段)

M30;

2.用WHILE语句

O0002;

#1=0;(#1作为和)

#2=1;(#2为自变量,从1变化到100)

WHILE[#2LE100]DO1;(判断条件,当#2≤100时,执行WHILE和DO之间的程序段)

#1=#1+#2;(将新的变量加入到和中)

#2=#2+1;(自变量每次变化1)

END1;(结束WHILE循环)

M30;

3.用GOTO语句和IF语句

O0003;

#1=0;(#1作为和)

#2=1;(#2为自变量,从1变化到100)

N10 IF[#2GT100]GOTO20;(判断条件,如果#2>100就回到N20程序段,程序结束)

#1=#1+#2;(将新的变量加入到和中)

#2=#2+1;(自变量每次变化1)

GOTO10;(无条件返回到N10程序段)

N20 M30;(程序结束)

通过比较这三个程序,来灵活地运用这三种循环语句。若求“1到1000的和”,则只需要将判断条件语句中的“100”改为“1000”即可,依此类推;若求“1到100之积”,只需要将判断条件语句中的“+”改为“*”,将“和”中的“#1”初始值赋为”1”。依此类推,由此可见宏程序最大的特点是——灵活。

宏程序语句中,程序段的位置并不是一成不变的,可以根据实际的需要去调整:如O0001程序亦可编写成:

O0001;

#1=0;(#1作为和)

#2=0;(#2为自变量,从0变化到100)

N10 #2=#2+1;(自变量每次变化1)

#1=#1+#2;(将新的变量加入到和中)

IF[#2LT100]GOTO10;(判断条件,如果#2<100就回到N10程序段)

M30;(程序结束)

三、宏程序指令的适用范围

在数控加工技术中,手工编程是基础,能应用手工编程的地方尽量不使用自动编程,特别是宏程序具有灵活性、通用性和智能性等特点。手工编写宏程序的过程是一个直接地体现编程者工艺指导思想,衡量编程的工艺制定水平的过程,因此任何时候手工编程都是必须掌握的。对加工一些具有特别规律的外形、曲面,如椭圆、椭圆锥台、凹凸球面、孔口倒角、孔口倒圆弧角、四边倒角、倒圆角等,都可以使用用户宏程序进行编程加工,大大减少编程工作量。

宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合于形状类似、尺寸不同的系列零件的编程。使用宏程序,可以减少乃至免除手工编程时繁琐的数值计算,精简程序量,并能扩展数控机床的使用范围。

相关文档
最新文档