本人从入厂就在机床制造厂工作,而且是全厂唯一生产数控产品的分厂,那时数控全厂一万人完全熟悉的也没有几个,而且那时产品也不多,也行当时加工业对数控的认识还不深的原因吧! 新产品的生产组装完成后需要几个步骤测试,首先机械交检机械的各项精度,然后就交给电器了。电器的交检就是镭射检测定位和重复定位精度,反向间隙补偿和螺距补偿,这项合格后,就是试加工检测,试加工通常三道工序,加工一个圆的轨迹工件,检测圆弧插补;加工菱形检测直线插补;然后镗孔检测定位精度;在工厂这几项工作是这样进行的,加工这些检测件NC编程由工艺编程人员出程序,由机械加工人员来操作。开始产品不多一直这样进行,后来产品多了,机加的人总是抽不出时间,而且我们调试人员是没有准确工作时间的,通宵达旦是经常的。这样,机加的人就更不愿意过来了,毕竟人家还有自己的工作。那时的我已经开始主要调试了。时间一长我就发现,这些工作程序完全可以由我们单独完成,机械加工好办,看几次就基本熟悉了,NC编程比较麻烦,那时真不懂啊,也没人教,好在有编程说明书,看来要自己学了。于是便开始了我的NC编程之路。 说起NC编程到现在为止,本人也就是初级中的初级水平,但应付交检和培训客户是足够了。 学习编程首先要了解指令,每个指令的用途,于是开始背诵一些指令代码,熟悉代码后就开始利用系统里模拟的功能开始按照示例编程示范,经过很长一段时间,基本熟悉了说明书上介绍的各种指令,于是开始自定义编辑一些常规的图形,用 数控机床空运行功能一次次的开始试验编程的轨迹。模拟了很长一段时间,开始实际加工了。一实际加工发现还需要掌握一些基本知识,比如什么材质使用什么刀具,进给速度多少,主轴转速的多少的配比,太专业的我也记不住,记住一些试件加工需应用的就行了。 熟悉了这么久,开始试件了。首先,编程一个简单的圆轨迹;如图 加工一个直径100的圆,开始我编程是从坐标X0,Y0点进刀。 编程简述:M03 S800; G00 X0,Y-50Z- ; G02 X-50Y0; G02X0Y50; G02X50Y0; G02X0Y-50 M02; 结果实际一走发现了几个问题,首先,G00是快速点定位,它速度不受进给倍率控制,速度很快就冲到了工件位置,一下刀就损坏了,工件也损坏了一个大口子,吓了我一大跳啊!后来根据这件事我把G0改成G1F1000;这下就好了,我可以很慢的速度进刀这时又发现了新的问题,就是刀具没有像我想象的那样沿着工件边缘转,而是直接切到了工件,这时我想起来刀偏指令G41,G42,以前看人编程没注意这个指令,这时也理解了刀具偏移的真正含义,于是按着说明书设置了刀偏,设的大一些,让刀具绕着工件空跑一圈看看,这次程序里又增加了G41,这次可以了,于是,缩小了刀偏值,一点点加工,终于加工到工件了。结果发现了一个问题,就是进刀地方有个大豁口,是进刀产生的,这时我又拿来了以前工艺编程的程序参考,发现不能从工件点进刀,要从工件的一侧进刀,而且先要刀具到一侧后再进Z轴,防止撞刀如图: 于是,程序中增加了一段G01 X100Y-50F1000;Z-...; 这次进刀的地方没有大豁口了,但是出刀结束位置没切削到位,哎呀,一个这么这么简单的程序,实际应用有这么多问题,于是在结束进刀的位置又增加了两段程序;G01X100Y50;Z+..; 这样终于按照我的想法可以加工了,后来我又发现编辑圆弧插补可以通过IJK矢量编程更简单,这一点,我们工艺的也没做过这样编程。 现在编程就这样简化了: M03 S800;
G01 X100Y-50F1000; Z-..; X0; G02 J50; G1X100Y50; Z-...; M05;M02; 从这以后,我调设备再没找过工艺编程和机加人员,再后来,我把圆菱形的程序综合到了一起;不用再分别加工几个工件了。如图: 程序编辑也更灵活了: S1000M3 CYCLE62("DF350",1,,) CYCLE62("LK01",1,,) CYCLE63("AAA",11,100,0,1,-20,1000,1000,60,5,0,0,0,0,0,2,2,15,1,2,,,,0,101,111) ; CYCLE62("DF350",1,,) CYCLE62("LK02",1,,) CYCLE63("AAA",11,100,-20,1,-20,1000,1000,40,5,0,0,0,0,0,2,2,15,1,2,,,,0,101,111) ; CYCLE62("DF350",1,,) CYCLE62("LK03",1,,) CYCLE63("AAA",1,100,-40,1,-20,1000,500,60,5,0,0,0,0,0,2,2,45,1,2,,,,0,101,111) G0 Z200 M0 S1000 M3 F400 G0 X50 Y-200 G0 Z-20 G41 G0 X30 Y-180 G1 X-150 Y0 G1 X0 Y150 G1 X150 Y0 G1 X-30 Y-180 G0 G40 X-50 Y-200 M0 G0 Z-40 G1 G41 X0 Y-200 G3 X0 Y-150 I0 J25 G2 X0 Y-150 I0 J150 G3 X0 Y-200 I0 J-25 G1 G40 X-200 Y-200 M0 G0 Z-60 G41 G0 X-150 Y-180 G1 Y150 G1 X150 G1 Y-150 G1 X-155 G0 G40 X-200 Y-160 S1000 M3 F300 MCALL CYCLE82(100,-40,1,,25,0.6,10,1,11) WZ01: CYCLE801(-125,-125,0,250,250,2,2,0,0,0,0,,,1) MCALL M0; T3 M6 S3000 M6 F300 MCALL CYCLE86(100,-40,1,,20,0.6,3,2,3,1,0,1,1,11) REPEATB WZ01 ;#SM MCALL M30;
总之,编程之路是另一门学问,我也没经历和实践更多的掌握,能应用调试和培训我就心满意足了。经过这条路的学习,我对说明书每个指令都反复的试验,以备方便培训,再后来机械加工的人找到了我向我询问一些更好的应用指令。 呵呵...以前,一交检设备,总是很晚甚至通宵,因为要请机械和工艺的人过来协助,他们也必须忙完自己的事才能过来,从这以后我是再也没找过他们,而且我交检的时间更快了。 来源:西门子工业技术论坛 |