Z=-37.376+(380/cos5°-380cos(5°+#9))
同样求出的各点极坐标也需转换成直角坐标才能加工。求出第一点位置后,再使圆心角#9增加0.5°计算下一点位置。R380圆弧加工结束后,再转入下一条槽的加工。本程序需使用二重循环,在每一条槽中先用循环计算并加出圆弧,然后跳出该循环继续加工下一条槽。
本例中循环采用
WHILE[<条件表达式>]DOm . . ENDm
当条件被满足时,DOm至ENDm间的程序段被执行,当<条件>不被满足时,则执行ENDm之后的程序。
由以上分析,可画出该宏程序的结构流程图,如图3所示。
图3 程序的结构流程图
根据程序流程图可编写出零件的加工程序如下: T1 M06
G0G90G54X0Y0 G43H01Z100.0M03S400 #1=15; #2=360/#1;
WHILE [#2LE360]Do1; #3=80.0*COS[#2]; #4=80.0*SIN[#2]; #5=105.0*COS[#2]; #6=105.0*SIN[#2]; #7=282.417* COS[#2]; #8=282.417*SIN[#2]; G0X#3Y#4; G1Z-50.0F500; X#5Y#6F100; X#7Y#8Z-34.478; #9=0.5;
WHILE [#9LT16]Do2; #10=380.0*SIN[5+#9]; #11=380.0*COS[5+#9]; #12=(249.298+#10)* COS[#2]; #13=(249.298+#10)* SIN[#2]; #14=-37.376+(380/COS5-#11); G1X#12Y#13Z#14; #9=#9+0.5; END2; G0Z50.0; #2=#2+360/#1; END1;
G91G28Z0M05; G91G28X0Y0; M30;
注:程序中X#3,Y#4点为落刀点位置。
二、结束语
在本例的编程过程中数学计算较繁琐,相比较而言,若使用坐标系旋转的方法编程则可省去R380圆弧的相关计算,使程序更为简洁,但坐标系旋转功能在不同的数控系统中其相应的
功能指令不尽相同,因此需针对具体数控系统编写相应的加工程序,而通过本例主要是为了阐述数控宏功能在实际应用时所需遵循的编程原则与思路。另外对程序的分析还不难发现:若零件中均布槽由15条改为18条(或任意条数n),则只需将程序中参数变量#1改为18(或n)即可,而不需再对程序作其它任何改动,这一点相对于一些自动编程软件(如MasterCAM等)则要灵活得多。