大家好,今天来说说宏程序里面的IF与WHILE的宏程序运用相比较;
吐槽(有一些大神一直说我是个屌丝,我先承认下,我就是个屌丝。还有的人说我会编一点程序就了不起,我先说下,我会编程序没有什么了不起的,大家只要好好看看书,一天都会编了。我只是发表上来给大家看看,参考参考。大家做机械的一起学习,还有一些新手也可以学习下,至于大神们还是路过的好,我是个新手。你们的意见我会听,你们的谩骂我也会看,我是个屌丝,请不要和我计较。谢谢大家!)
上文我已经写过一段程序了,WHILE 的运用,出错比较多,好多的朋友反映了,感谢大家给我纠正,谢谢!
今天我们来说说IF的运用;
G0 G90 G17 G40 G49 G80;
M6 T1; (切换一号刀具)
#500=-0.2; (用户变量#500)
G0 G90 G54 X0. Y0. M3 S5500; (G54工件坐标 ,转速5500)
G43 H1 Z10. M8; (一号刀具下刀至工件10.0MM处,开启一号切屑液)
Z2.; (快速下刀至工件2.0MM处)
G1 Z0.F2500.; (下刀至工件零点)
N1 (序号)
X1.F1200.; (刀具运行至工件X1.0MM处)
G2 I2.Z#500; (顺时针切削,螺旋下刀一圈0.2MM)
G1 X1.; (刀具运行至工件X1.0MM处)
#500=#500-0.2; (#500用户变量,每次循环增加0.2MM)
IF[#500 GE-3.0 ] GOTO1; (判断用户#500变量大于等于-3.0MM时,不执行返回)
G0 Z20.; (快速抬刀至工件20.0MM)
M5; (主轴停止)
M9; (关闭一号切削液)
G91 G28 Z0.; (快速抬刀至机台参考点)
G91 G28 Y0. X0. (快速返回至机台X0.Y0.参考点)
M30; (程序结束并返回程序头)
上文说过了的I值,写错了,我还是要重复下
内圆I值=圆半径-刀半径/ 圆10.0 刀具6.0 I=5-3=2 即I=2.0
朋友们自己对比下,说说WHILE和IF的区别在哪里,我觉得只要用的好两种都差不多吧,只是看你用在那个地方而已!
@now刚好遇见你
刀是60,料长是800, G00 S800 X55 Y805
在这种情况下有两种可以解决,
在G91程序下;
G91;
M3 S800;
G1 X960.F1500.; (料长800,加上刀具60,两边120.一共是920. 稍微移出去一点就是960.。)
Y55.;
X-960.;
Y55.;
M99;
机床会一直循环,直至Y轴报警,这是简单手编的