对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。 对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。 下面大家先看一个简单的车床的程序,图纸如下: 要求用外圆刀切削一个短轴,这里只列举程序的前几步: O0001 T0101; M3S800; G0X82Z5; G0X76; G1Z-40F0.2; X82; G0Z5; G0X72; G1Z-40F0.2; X82; G0Z5; G0X68; G1Z-40F0.2; X82; G0Z5; G0X68; G1Z-40F0.2; X82; G0Z5; ........ G0X40; G1Z-40F0.2; X82; G0Z5; G0X150Z150; M5; M30; 从上面程序可以看出,每次切削所用程序都只是切削直径X有变化,其他程序代码未变。因此可以将一个变量赋给X,而在每次切削完之后,将其改变为下次切削所用直径即可。 T0101; M3S800; G0X82Z5; #1=76 ; 赋初始值,即第一次切削直径 N10 G0X[#1] ; 将变量赋给X,则X方向进刀的直径则为#1变量中实际存储值。N10是程序 G1Z-40F0.2; 段的编号,用来标识本段,为后面循环跳转所用。 X82; G0Z5; #1=#1-4 ; 每行切深为2mm,直径方向递减4mm IF [#1GE40] GOTO 10 如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。 G0X150Z150; 当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。 M5; M30; |
|