浅谈宏程序条件和循环语句的灵活运用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;(程序结束)
三、宏程序指令的适用范围
在数控加工技术中,手工编程是基础,能应用手工编程的地方尽量不使用自动编程,特别是宏程序具有灵活性、通用性和智能性等特点。手工编写宏程序的过程是一个直接地体现编程者工艺指导思想,衡量编程的工艺制定水平的过程,因此任何时候手工编程都是必须掌握的。对加工一些具有特别规律的外形、曲面,如椭圆、椭圆锥台、凹凸球面、孔口倒角、孔口倒圆弧角、四边倒角、倒圆角等,都可以使用用户宏程序进行编程加工,大大减少编程工作量。
宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合于形状类似、尺寸不同的系列零件的编程。使用宏程序,可以减少乃至免除手工编程时繁琐的数值计算,精简程序量,并能扩展数控机床的使用范围。