卧式加工中心坐标系转换专用子程序模块(FANUC系统版)
2012-04-29张超群
张超群
摘要: 卧式加工中心多面加工时,需要建立多个坐标系,为避免多次手动校对坐标系零点偏置的累积误差,现通过宏程序模块建成M代码,类似固定循环,在实际加工程序里只需执行一句话就可以实现90度、180度、270度面的坐标零点自动偏置,并立即激活有效。
关键词: 自动换算Z向侧宽偏置表立即激活线速度和刀具直径
在操作卧式加工中心加工壳体类零件时,为了保证多面几何关系,往往采取多次校对建立新坐标系的方法,而由于操作误差和累计误差的客观存在,多次校对的坐标系之间的误差较大,而且频繁建立坐标系导致加工节拍大为降低,所以为了保证卧式加工中心在工作台旋转以后准确实现四加工面的相对几何精度,避免多次手动校对坐标系零点偏置的累积误差和效率损失,把卧式加工中心四加工面坐标系自动换算的方法制作成固定宏程序模块如下。
第一步:将机床主轴中心和工作台中心点假想重合时的X、Z机械坐标值测定出来并记录刀99号刀补表中。
1.主轴中心与工作台中心点假想重合时X机械坐标的测量方法:
0度?摇?摇?摇?摇?摇?摇?摇?摇?摇?摇?摇 ?摇?摇?摇?摇?摇?摇180度
当工作台在0度时,用表找正孔心后记下此位置的X机械坐标值X1,旋转工作台180度,再用表从180度面上找正工件0度面的孔心(建议两次找正同一侧孔),记下此位置的X机械坐标值X2,则X■=0.5*(X1+X2)即为主轴轴心和工作台中心假想重合时的X机械坐标,将此X■值输入到99号刀长补偿表中。
2.主轴假想端面与工作台中心点假想重合时的Z机械坐标的测量方法:
0度?摇?摇?摇?摇 ?摇?摇?摇?摇?摇?摇180度
当工作台在0度时,用壹把在对刀仪上对好刀长的铣刀装在主轴上,旋转主轴,少量铣削工件孔口端面,铣完后记下此位置的Z机械坐标值Z1,将主轴退后,旋转工作台180度,再将主轴前移,少量铣削工件另一侧孔口端面,铣完后记下此位置的Z机械坐标值Z3,用千分尺准确测量箱体零件的两侧孔口端面之间的距离(即现在箱体侧宽),则Z中=((Z1+Z2)/2.0)-刀长=((Z1+Z3-箱体宽度)/2.0)-刀长【因为Z3-箱体宽度=Z2】,将此Z■值输入到99号刀径补偿表中。
第二步:建立在第一面(0度面)上建立X、Y零点的子程序模块。
方法:①先将下述O9023程序输入CNC系统内存
②再在系统参数#6083里赋值100;
③以后只要当您用表将壳体工件第一面上的孔心找正以后,再在MDI方式下运行一下如下一句话就可以实现自动将该点设置成X轴、Y轴的坐标零点了,它是自动将X、Y偏置值填写到你指定的G54或G55的偏置表里,并且将您指定的G54或G55立即激活有效。
M100A54;
第三步:建立在第一面上建立Z零点的子程序模块。
方法:①先将下述O9024程序输入CNC系统内存
②再在系统参数#6084里赋值101;
③以后只要当您用刀具在壳体工件第一面上试切以后,再在MDI方式下运行一下如下一句话就可以实现自动将该点设置成Z轴的坐标零点了,它是自动将Z偏置值填写到你指定的G54或G55的偏置表里,并且将您指定的G54或G55立即激活有效。
M101A54.0Z2.0;
(其中A是指您打算将该面的工件零点偏置设在G54里还是G55~G59的哪一个里面,如您打算将该偏置设在G55里面,就在M100后面的A后面设数值55.0,不赋值时默认G54,Z后面的赋值是指你打算将该Z位置的Z工件坐标设成多少,打算设成Z2就赋值2。)
注:当前在主轴上校对工件端面Z偏置的刀具长度补偿值必须被执行有效,即校对前调刀时要在MDI方式下执行G43H-;把这把刀具的长度补偿激活有效。
第四步:建立工作台旋转90度以后的坐标系转换的子程序模块。
方法:①先将下述O9020程序输入CNC系统内存
②再在系统参数#6080里赋值90;
③以后只要在您的加工程序里旋转工作台90度以后,运行到如下如下一句话以后就可以实现90度面的坐标零点自动偏置,并立即激活有效,它是根据第一面的偏置情况和你提供的有关位置信息,折算出90度面的X、Y、Z偏置值,并自动写入到你指定的偏置表里,且立即激活有效。
M90A54.0B56.0I96.0J190.0Y-25.0;
其中M90后面的A、B、I、J的赋值内容如下:
A.第一面的坐标偏置码(不赋值时默认G54,建议第二工作台用G55)
B.90度面的偏置码(不赋值时默认G56)
I.90度左面距(图注90度面上,零点孔心到左侧面【0度面】之间的距离)
J.0度右面距(图注0度面上,零点孔心到右侧面【90度面】之间的距离)
Y.90度面上孔的中心高与0度面上孔的中心高的差值(高为正,矮为负)
第五步:建立在工作台旋转180度以后自动进行坐标系转换的子程序模块。
方法:①先将下述O9021程序输入CNC系统内存
②再在系统参数#6081里赋值180;
③以后只要在您的加工程序里旋转工作台180度以后,运行到如下如下一句话以后就可以实现180度面的坐标零点自动偏置,并立即激活有效,它是根据第一面的偏置情况和您提供的有关位置信息,折算出180度面的X、Y、Z偏置值,并自动写入到您指定的偏置表里,且立即激活有效。
M180A54.0B57.0I300.0Y30.0;
其中M180后面的A、B、I的赋值内容如下:
A.第一面的坐标偏置码(不赋值时默认G54,建议第二工作台用G55)
B.180度面的偏置码(不赋值时默认G57)
I.箱体图纸标注Z向侧宽
Y.180度面上孔的中心高与0度面上孔的中心高的差值(高为正,矮为负)
第六步:建立在工作台旋转270度以后的坐标系转换的子程序模块。
方法:①先将下述O9022程序输入CNC系统内存
②再在系统参数#6082里赋值270;
③以后只要在您的加工程序里旋转工作台270度以后,运行到如下如下一句话以后就可以实现270度面的坐标零点自动偏置,并立即激活有效,它是根据第一面的偏置情况和你提供的有关位置信息,折算出270度面的X、Y、Z偏置值,并自动写入到你指定的偏置表里,且立即激活有效。
M270A54.0B56.0I96.0J190.0Y-50.0;
其中M270后面的A、B、I、J的赋值内容如下:
A.第一面的坐标偏置码(不赋值时默认G54,建议第二工作台用G55)
B.270度面的偏置码(不赋值时默认G58)
I.270度右面距(270度面上,零点孔心到右侧面【0度面】之间的距离)
J.0度左面距离(0度面上,零点孔心到左侧面【270度面】之间的距离)
Y.270度面上孔的中心高与0度面上孔的中心高的差值(高为正,矮为负)
第七步:建立根据90度或270度面上的孔心位置来确定第一面的Z零点的子程序模块。
目的:防备铸件90度或270度面上的孔偏模,避免单独根据第一面加工余量来确定Z零点而导致90度或270度面上的孔镗不出的现象。
方法:①先将下述O9025程序输入CNC系统内存
②再在系统参数#6085里赋值279;
③以后只要在您用表座找正90度或270度面上的孔心以后,再在MDI方式下运行一下如下一句话就可以实现自动根据此孔位置计算第一面的Z零点偏置了,它是自动将Z偏置值填写到你指定的G54或G55的偏置表里,并且将您指定的G54或G55立即激活有效。
M279A54.0B270.0S150.0;
A第一面的坐标偏置码(不赋值时默认G54)
B定第一面Z偏置的孔所在的面(角度),换句话说,就是您用90度面上的孔还是用270度面上的孔来定第一面的Z零点偏置?(允许赋值90或270)
S90度或270度面上用来确定第一面Z偏置的孔到第一面之间的距离。
第八步:建立恒定线速度启动主轴正转的子程序模块。
方法:①先将下述O9025程序输入CNC系统内存
O9026(SPINDLERUN)
N10#1=FIX[[#19*1000]/[3.14159*#7]];
S#1M03;
N20M99;
②再在系统参数#6086里赋值103;
③以后只要在您的加工程序里需要启动主轴正转时,一旦程序执行到如下一句话,机床就会根据您提供的线速度和刀具直径,自动运算转速,并启动主轴正转,确保效率和刀具寿命最佳结合。
M103D90.0S120;
D.刀具直径(建议精确到整数位就可以了)
S.线速度
按照以上方法,我们就可以实现在卧式加工中心上很方便地建立工件坐标系,且换面加工时自动转换坐标系,减轻操作工负担,提高产品加工质量。