1、1,61 变量,62 宏指令,63 控制指令,64 用户宏程序应用实例,用户宏程序在数控编程中的应用,2,学习目标和重点,目标: 学习和了解用户宏程序的编程思路,和程序结构。 掌握宏程序的调用规定及其特点。 中等难度的零件能运用宏程序编制加工程序。 重点: 宏程序各种控制指令的灵活应用及技巧。 编制宏程序时数学模型的建立、数学关系的表达思路,3,6.1 变量,6.1.1 变量及变量的引用 1、变量的表示 #i #表达式 2、变量的引用 #1- #1 6.1.2 变量的类型和功能,例:F#1当#1=20时,就表示F20.,X-#2当#2=30时,就表示X-30。,G#5当#5=02时,就表示G0
2、2。,变量号i=0,1,2,3,4,5, 例:#1,#10。#101,#1111,表达式必须用括号括起来 例:#1+2*3,4,.变量运算指令,.宏指令,角度用角度单位 指定,,5,6.2.2 运算的优先级在一个宏程序段中如果有多种变量运算,则运算的优先顺序是:函数 乘、除 加、减 例如:#1=#2-#3*COS#4其运算顺序是:函数:COS#4,乘:#3*,减:#2- 6.2.3括号的嵌套 当要变更运算的优先顺序时可以使用括号。例如:#1=SIN#2-#3*#4+#5/#6;包括函数的括号在内最多可达到5重,超过5重时则出现报警。,.宏指令,6,63 控制指令,6.3.1控制语句在程序中使用
3、控制语句可以改变程序段的运行顺序。控制语句有3种,即:(1)、GOTO语句(无条件转移)( 2)、IF GOTO语句(条件转移)(3)、WHILE END语句(循环) 1、无条件转移程序运行无条件转移到顺序号为 n 的程序段。格式:GOTO n ;说明 n 程序段号,可取199999的数,也可以用表达式表示。例如:GOTO 1:GOTO #1:,7,63 控制指令,6.3.2条件转移(IF语句)指令格式:IF条件表达式GOTO n如果指令的条件表达式条件满足时,转移到标有顺序号 n 的程序段。如果指令的条件表达式不满足时,执行下一个程序段,8,1)条件表达式条件表达式必须包括运算符。运算符插在
4、两个变量中间或变量和常数中间,并且用括号(,)封闭。表达式可以代替变量。2)运算符运算符是由2个字母组成,用于两个值比较,以决定它们是相等还是一值大于或小于另一值。注意,不能使用不等与号。运算符含义,9,例: 求110之间所有自然数的和,并使刀具按运算结果走出相应的轨迹.解:程序如下O0001 程序名T0101 #1=0 结果的初值#2=1 加数的初值N10 IF #2GT10 GOTO 20 若加数大与10跳转到N20#1=#1+#2 计算结果#2=#2+1 下一个加数G01X#1 Z#2 F0.1 刀具运动,到达运算所得的坐标点GOTO10 程序跳转到10N20 M30 程序结束,10,3
5、、循环语句(WHILE END语句)1)程序循环在WHILE语句后指定的是一个条件表达式。当指定条件满足时,执行从DO到END之间的程序。否则,转而执行END只后的程序段。与IF语句的指令格式相同。DO后是数和END后的数为指定程序执行范围的标号,标号为1、2、3。若用1、2、3以外的值会产生P/S报警No.126。,11,2)程序嵌套在DO ENDm之间的循环识别号(1 3)可以任意使用,但不能交叉循环。如:,12,3)循环嵌套。DO的多重嵌套最多为3重,注意:DO的范围不能交叉。,13,例:用WHILE语句求1 10之间所有自然数的和。解:程序编制如下:O0001; 程序名#1=0; 储存和的变量锄值#2=1; 被加数变量的初值WHILE #2 LE 10 DO1;当被加数#2大于10,程序执行END1。#1=#1+#2; 计算和#2=#2+1; 下一个被加数END1;M30; 程序结束,