第二章零件加工程序的编制宏程序编程概述用户宏程序是以变量的组合,通过各种算术和逻辑运算,转移和循环等命令,而编制的一种可以灵活运用的程序,只要改变变量的值,即可完成不同的加工或操作,只要改变变量的值,即可完成不同的加工或操作。用户宏程序可以简化程序的编制,提高工作效率。加工程序中可以像调用子程序一样用一个简单指令即可调用宏程序。概述举例:概述O7001N10G50X150.0Z200.0;N20T0100;N30G96S550M03;N40G00X20.0Z3.0T0100;N50G65P8001A30.0;N60G01X30.0;N70G00X150.0Z200.0T0100M09;N80M30;O8001G01Z-[#1]F0.2M08;M99;概述O7001N10G50X150.0Z200.0;N20T0100;N30G96S550M03;N40G00X20.0Z3.0T0100;N50G65P8001A30.0B30.0;N70G00X150.0Z200.0T0100M09;N80M30;O8001G01Z-[#1]F0.2M08;X[#2]M99;变量一、变量及变量的引用1、变量的表示变量是用符号#后面加上变量号码表示,即#i(i=0,1,2,3,4…)例如:#8、#110、#5008变量号也可以用一个表达式来指定,这时表达式必须用括号括起来。例如:#1=3,#2=20#[#1+#2-12]等效于#11;变量2、变量的引用在功能字中可以用变量替代数值。例如若#1=3则G#1等效于G3;例如若#3=-40.则X#3等效于X-40.变量二、变量的类型变量的运算和控制指令一、算术和逻辑运算在变量之间、变量和常量之间,可以进行各种运算。运算的优先顺序如下:1)函数2)乘除、逻辑与3)加减、逻辑或、逻辑异或可以用[]来改变顺序变量的运算和控制指令二、执行控制指令1、无条件转移指令:GOTO格式:GOTOn;n为要转移到的程序段的行号数值。例如:GOTO10;GOTO#11;等变量的运算和控制指令2、条件转移指令:IF[条件]GOTOn条件成立时,转移到顺序号为n的程序段开始执行;条件不成立时,执行下一个程序段。条件式有以下几类:(1)相等:[#nEQ#m];(2)不相等:[#nNE#m];(3)大于:[#nGT#m];(4)小于:[#nLT#m];(5)大于等于:[#nGE#m];(6)小于等于:[#nLE#m];条件式比较方法的两边可以是常数,也可以是变量或表达式。变量的运算和控制指令例如:O7100#1=0;#2=1;N1IF[#2GT10]GOTO2;#1=#1+#2;#2=#2+1;GOTO1;N2M30;变量的运算和控制指令3、循环(WHILE语句)语句格式为:WHILE[条件式]DOm;(m=1、2、3)…ENDm;当条件式成立时,程序执行从DOm到ENDm之间的程序段;条件式不成立时,则执行ENDm之后的程序段。变量的运算和控制指令例如:O7200#1=0;#2=1;WHILE[#2LE10]DO1;#1=#1+#2;#2=#2+1;END1;M30;宏程序调用三、宏程序调用指令(G65)在主程序中可以用G65指令调用宏程序。指令格式如下:G65P__L__自变量赋值其中:P指定宏程序;L为重复调用次数(1~9999,1次时L可以省略);自变量赋值是由地址及数值构成,用以对宏程序中的局部变量赋值。宏程序调用例如:主程序:O7002…G65P7100L2A1.0B2.0;…M30;宏程序:#3=#1+#2;IF[#3GT360]GOTO9;G00G91X#3;N9M99;宏程序调用二、自变量赋值自变量赋值有两种类型。1、使用除去G、L、N、O、P以外的其他字母作为地址赋值引用。宏程序调用2、使用A、B、C、每个字母一次,I、J、K每个字母可使用十次作为地址赋值引用。xdb:I对应的变量号为3×N+1;J对应的变量号为3×N+2;K对应的变量号为3×N+3;N为I、J、K的组别。宏程序调用例如:G65P7111A1.0B2.0I10J12I14J16K17;#1=1.0#2=2.0#4=10.0#5=12.0#7=14.0#8=16.0#9=17.0宏程序实例例1沿圆周均布的孔群加工宏程序实例宏程序实例宏程序实例宏程序实例例2:封闭矩形口袋(内腔)加工宏程序实例宏程序实例宏程序实例例3:椭圆内轮廓加工宏程序实例宏程序实例宏程序实例宏程序实例例4、椭圆外轮廓加工加工X-Y平面内的椭圆,椭圆起始角度为S;终止角度为E;角度增量为I;长轴半径为A;短轴半径为B;椭圆中心坐标为X,Y;深度为Z;参考点深度为R;进给速度F;刀具半径D;调用宏程序的格式为:G65P9600X_Y_Z_R_F_A_B_S__I_D_;7.5用户宏程序应用实例宏程序如下:O9600#1=#1+#7;#2=#2+#7;G00Z#18;N5#5=#24+#1*COS[#19];#6=#25+#2*SIN[#19];G01X#5Y#6F#9;G01Z#26;#19=#19+#4;IF[#19LE#8]GOTO5;M99主程序O7500G90G54G80G17G49G40;G00G43Z100.0H1;S500M03;G00Z100.X0.Y0.M30.已知椭圆圆心坐标(100,100),长轴半径100,短轴半径60,起始角度0,中止角度360,角度增量1,刀具半径8,加工外圆。深度-10,z参考点5,进给速度150。G65P9600X100.Y100.Z-10.R5.F150A100.B60.S0.E360I1.D8.;宏程序实例例5:轴线垂直于坐标平面的外圆柱面加工ZX坐标平面内的外圆柱面加工宏程序实例宏程序实例宏程序实例例6:外球面加工(一)粗加工宏程序实例宏程序实例宏程序实例宏程序实例(二)精加工宏程序实例宏程序实例宏程序实例例7:标准矩形周边外斜面加工宏程序实例宏程序实例