图1
本文以在平面上铣削图1所示的15个相同的矩阵排列的梯形型腔为例,通过FOR循环和在NC程序中进行零偏设置来简化程序,从而提高编程效率。下面是具体实施步骤。
1. 创建轮廓
如图2所示的梯形轮廓,它包括起点,两条水平线段和两条斜线段,以及每条线段到下一元素的过度圆角R3,起点及各元素的终点坐标分别为(0,0),(30,0),(25,20),(5,20),(0,0)。
图2
2. 编制加工程序
图3和图4所示的程序代码,N10和N20定义了两个整型变量,N30和N40用于清除零偏,这样N50调用零偏后N60创建的毛坯的工件坐标系就与机床坐标系重合,以便于查看程序模拟的效果。程序从N90到N170为FOR循环,程序N200后的内容为创建轮廓所生成代码。
图3
图4
3. FOR循环
FOR循环语句的结构如下:
FOR _I=0 TO 2
…
ENDFOR
FOR表示循环的开始,ENDFOR表示循环结束,FOR和NEDFOR之间的语句叫做循环体,是将被重复执行的代码。_I为控制变量,每执行一次,_I会自动加1,0为循环变量的初值,表示循环从_I=0开始执行,2为循环变量终值,当_I=2时,执行完循环体代码后循环结束。
本例中,程序从N90开始循环,分为外层循环和内层嵌套循环,外层用_I控制,控制X轴方向的重复加工次数,内层用_J控制,控制Y轴方向的重复加工次数。_I每取一个值,在Y轴方向要重复加工5次,终加工出图1所示的3列5行的梯形型腔。
4. NC程序中设置零偏
$P_UIFR为零偏的系统变量数组,数组有三个索引号,索引号表示所需要设置的零偏,从1开始,依次表示G54、G55、G56等。第二个索引号表示要设置零偏的轴,如MX代表X轴,MY代表Y轴等,第三个索引号在此不进行讨论,保持TR不变即可。如$P_UIFR [1,MX1,TR]用于设置G54的X轴的零偏。
5. 本编程案例的主要特点
本例的巧妙之处在于,运用控制变量乘以型腔的间距加上型腔与工件坐标原点的距离依次更新X轴和Y轴的零偏,使得零偏随控制变量的变化自动更新,从而简化了程序的结构,使得程序短小精简,易于阅读,不易出错。
本例还用到了毛坯和轮廓加工相关知识,有兴趣的读者可以查阅西门子官网的相关资料和视频。
6. 程序模拟
编制好的程序可以进行模拟,验证所编制的程序是否有错误。本例的模拟结果如图1,与既定的目标完全吻合。