首页 > 编程语言 >CNC加工中心中几组常用指令的区别及编程技巧

CNC加工中心中几组常用指令的区别及编程技巧

时间:2022-10-08 11:37:14浏览次数:63  
标签:换刀 几组 编程 程序 指令 CNC 镜像 程序段 G92

随着科技的发展和社会的进步,人们对产品的性能和质量要求越来越高,从而使数控机床应用已得到一定程度的普及,而高性能高效率的加工中心也逐渐成为社会所需。通过几年的加工中心实际应用和教学实践及摸索,笔者将自己的体会和经验总结出来,希望对广大读者有所启迪。

CNC加工中心中几组常用指令的区别及编程技巧_圆弧插补

1. 暂停指令

G04X(U)_/P_ 是指刀具暂停时间(进给停止,主轴不停止),地址P或X后的数值是暂停时间。X后面的数值要带小数点,否则以此数值的千分之一计算,以秒(s)为单位,P后面数值 不能带小数点(即整数表示),以毫秒(ms)为单位。

例如,G04 X2.0;或G04 X2000;暂停2秒 G04 P2000;

但在某些孔系加工指令中(如G82、G88及G89),为了保证孔底的精糙度,当刀具加工至孔底时需有暂停时间,此时只能用地址P表示,若用地址X表示,则控制系统认为X是X轴坐标值进行执行。例如,G82X100.0Y100.0Z-20.0R5.0F200P2000;钻孔(100.0,100.0)至孔底暂停2秒

G82X100.0Y100.0Z-20.0R5.0F200X2.0; 钻孔(2.0,100.0)至孔底不会暂停。

CNC加工中心中几组常用指令的区别及编程技巧_子程序_02

2. M00、M01、M02和M30的区别与联系

M00为程序无条件暂停指令。程序执行到此进给停止,主轴停转。重新启动程序,必须先回? 絁OG状态下,按下CW(主轴正转)启动主轴,接着返回AUTO状态下,按下START键才能启动程序。

M01为程序选择性暂停指令。程序执行前必须打开控制面板上OP STOP键才能执行,执行后的效果与M00相同,

要重新启动程序同上。

M00和M01常常用于加工中途工件尺寸的检验或排屑。

M02为主程序结束指令。执行到此指令,进给停止,主轴停止,冷却液关闭。但程序光标停在程序末尾。

M30为主程序结束指令。功能同M02,不同之处是,光标返回程序头位置,不管M30后是否还有其他程序段。

CNC加工中心中几组常用指令的区别及编程技巧_程序段_03

3. 地址D、H的意义相同

刀具补偿参数D、H具有相同的功能,可以任意互换,它们都表示数控系统中补偿寄存器的地址名称,但具体补偿值是多少,关键是由它们后面的补偿号地址来决定。不过在加工中心中,为了防止出错,一般人为规定H为刀具长度补偿地址,补偿号从1~20号,D为刀具半径补偿地址,补偿号从21号开始(20把刀的刀库)。

例如,G00G43H1Z100.0;

G01G41D21X20.0Y35.0F200;

4. 镜像指令

镜像加工指令M21、M22、M23。当只对X轴或Y轴进行镜像时,切削时的走刀顺序(顺铣与逆铣),刀补方向,圆弧插补转向都会与实际程序相反,如图1所示。当同时对X轴和Y轴进行镜像时,走刀顺序,刀补方向,圆弧插补转向均不变。

注意:使用镜像指令后必须用M23进行取消,以免影响后面的程序。在G90模式下,使用镜像或取消指令,都要回到工件坐标系原点才能使用。否则,数控系统无法计算后面的运动轨迹,会出现乱走刀现象。这时必须实行手动原点

复归操作予以解决。主轴转向不随着镜像指令变化。

图1 镜像时刀补、顺逆变化

CNC加工中心中几组常用指令的区别及编程技巧_圆弧插补_04


5. 圆弧插补指令

G02为顺时针插补,G03为逆时针插补,在XY平面中,格式如下:G02/G03X_Y_I_K_F_或G02/G 03 X_Y_R_F_,其中X、Y为圆弧终点坐标,I、J为圆弧起点到圆心在X、Y轴上的增量值,R为圆弧半径,F为进给量。

在圆弧切削时注意,q≤180°,R为正值;q>180°,R为负值;I、K的指定也可用R指定,当两者同时被指定时,R指令优先,I、K无效;R不能做整圆切削,整圆切削只能用I、J、K编程,因为经过同一点,半径相同的圆有无数个,如图2所示。

图2 经过同一点的圆

当有I、K为零时,就可以省略;无论G90还是G91方式,I、J、K都按相对坐标编程;圆弧插补时,不能用刀补指令G41/G42。

CNC加工中心中几组常用指令的区别及编程技巧_子程序_05

6. G92与G54~G59之间的优缺点

G54~G59是在加工前设定好的坐标系,而G92是在程序中设定的坐标系,用了G54~G59就没有必要再使用G92,否则G54~G59会被替换,应当避免,如表1所示。

表1 G92与工作坐标系的区别 `

注意:(1)一旦使用了G92设定坐标系,再使用G54~G59不起任何作用,除非断电重新启动系统,或接着用G92设定所需新的工件坐标系。(2)使用G92的程序结束后,若机床没有回?

G92设定的原点,就再次启动此程序,机床当前所在位置就成为新的工件坐标原点,易发生事故。所以,希望广大读者慎用。

7. 编制换刀子程序。

在加工中心上,换刀是不可避免的。但机床出厂时都有一个固定的换刀点,不在换刀位置,便不能够换刀,而且换刀前,刀补和循环都必须取消掉,主轴停止,冷却液关闭。条件繁多,如果每次手动换刀前,都要保证

这些条件,不但易出错而且效率低,因此我们可以编制一个换刀程序保存谙低衬诖婺冢 诨坏妒保MDI状态

下用M98调用就可以一次性完成换刀动作。

以PMC-10V20加工中心为例,程序如下:

O2002; (程序名)

G80G40G49 ; (取消固定循环、刀补)

M05; (主轴停止)

M09; (冷却液关闭)

G91G30Z0; (Z轴回到第二原点,即换刀点)

M06; (换刀)

M99; (子程序结束)

在需要换刀的时候,只需在MDI状态下,键入“T5M98P2002”,即可换上所需刀具T5,从而避免了许多不必要的失误。广大读者可根据自己机床的特点,编制相应的换刀子程序。

8.其他

程序段顺序号,用地址N表示。一般数控装置本身存储器空间有限(64K),为了节省存储空间,程序段顺序号都省略不要。N只表示程序段标号,可以方便查找编辑程序,对加工过程不起任何作用,顺序号可以递增也可递减,也不要求数值有连续性。但在使用某些循环指令,跳转指令,调用子程序及镜像指令时不可以省略。

9.同一条程序段中,相同指令(相同地址符)或同一组指令,后出现的起作用。

例如,换刀程序,T2M06T3; 换上的是T3而不是T2;

G01G00X50.0Y30.0F200;执行的是G00(虽有F值,但也不执行G01)。

不是同一组的指令代码,在同一程序段中互换先后顺序执行效果相同。

G90G54G00X0Y0Z100.0;

G00G90G54X0Y0Z100.0;

以上各项均在PMC-10V20(FANUC SYSTEM)加工中心上运行通过。在实际应用中,只有深刻理解各种指令的用法和编程规律。


标签:换刀,几组,编程,程序,指令,CNC,镜像,程序段,G92
From: https://blog.51cto.com/u_15813002/5737070

相关文章

  • 即时通讯技术周刊(第1期):懒人网络编程系列 [共14篇]
    为了更好地分类阅读总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第1 期。第1 篇[标题] 网络编程懒人入门(一):快速理解网络通信协议(上篇)[链接] ht......
  • 狂神说学习笔记:JUC并发编程
    JUC并发编程1、什么是JUCJUC:java.util.concurrentRunnable没有返回值、效率相比入Callable相对较低!2、线程和进程进程:一个程序,QQ.exe,music.exe 本质是程序的集......
  • Shell及Linux常见易错题目题库-Shell/Linux-选择、简答、判断、编程
    1、以下不合法的shell头是(不合法指运行会报错)(   )A.#!/bin/bashB.#-/bin/bashC.!#/bin/bash答案:C 2、if[$2-a$2="test"]中-a是什么意思(  )A.大于B.减C.......
  • 并发编程
    多道技术、、同步与异步、阻塞与非阻塞消息列队、进程创建、进程通信IPC机制、守护进程、僵尸进程、孤儿进程、互斥锁互斥锁、线程、线程join方法、GIL全局解释器锁验证......
  • 2018年最有需求的编程语言
    时间所限,文章简单翻译,文字未经仔细雕琢。实际我跟朋友们也在讨论这个事情。我认为,编程语言会持续分化,不同的语言依据自己的特性各自占领一块阵地,然后再由社区推动,尝试应用到......
  • 《Java编程十五讲》第十四讲:Java里提供的常用数据容器框架三
    #第十五讲容器框架三我们到此已经把ArrayList、HashSet和HashMap讲过了。JDK里面还有一些实现,如Queue、Deque、TreeSet、TreeMap等,我就不一一讲了。现在回顾一下。Collect......
  • 《Java编程十五讲》第十三讲:Java里提供的常用数据容器框架
    第十三讲容器框架一计算机程序的主要用途是处理各类数据,而这些数据是有结构的,不是散乱的。几十年以前软件大师N.Wirth写道:程序=算法+数据结构。我们在数据结构里面学到......
  • 《Java编程十五讲》第十一讲:脚本
    第十一讲脚本大家好。我前两年意识到一件事情,就是Java里面有一个很好的功能许多人没有注意到,而要做大型一点的系统或者是做扩展性好一点的系统却都会用到,那就是脚本(scrip......
  • 《Java编程十五讲》第十讲:Lambda 表达式
    第十讲Lambda表达式我们要从匿名类开始讲起,一点点引出Lambda表达式。我比较喜欢Lambda这个词,显得比较有学问似的。我讲过,技术点不是孤立的,它们之间是有关联的,按照某种层......
  • Linux黑客的python编程之道 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1r6u7cO734ZD4CVHq7EaFsA点击这里获取提取码 ......