机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 8081|回复: 16

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

[复制链接]
发表于 2009-5-13 21:47:25 | 显示全部楼层 |阅读模式
随着科技的发展和社会的进步,人们对产品的性能和质量要求越来越高,从而使数控机床应用已得到一定程度的普及,而高性能高效率的加工中心也逐渐成为社会所需。笔者将自己在学校操作数控车的体会和经验总结出来,希望对广大读者有所启迪。 0 @1 N' y3 H# `( R  ^+ u4 H( [
1. 暂停指令 : m! ], N3 F3 B% _9 N- e
G04X(U)_/P_ 是指刀具暂停时间(进给停止,主轴不停止),地址P或X后的数值是暂停时间。X后面的数值要带小数点,否则以此数值的千分之一计算,以秒(s)为单位,P后面数值不能带小数点(即整数表示),以毫秒(ms)为单位。
6 u, [, W- S1 w# a- I; x" O) G例如,G04 X2.0;或G04 X2000;   暂停2秒 ) L, k3 w# n  `: p' X& G# H2 o
   G04 P2000;
0 \9 ?) v) V4 G, E5 g4 y但在某些孔系加工指令中(如G82、G88及G89),为了保证孔底的精糙度,当刀具加工至孔底时需有暂停时间,此时只能用地址P表示,若用地址X表示,则控制系统认为X是X轴坐标值进行执行。 7 y  s( z( ]: h# C
例如,G82X100.0Y100.0Z-20.0R5.0F200P2000;钻孔(100.0,100.0)至孔底暂停2秒 0 V9 A+ g) o# h& \3 r* D# o
G82X100.0Y100.0Z-20.0R5.0F200X2.0;    钻孔(2.0,100.0)至孔底不会暂停。
$ F5 F4 `: u3 q2. M00、M01、M02和M30的区别与联系
8 @" b; R0 k# e1 E- F5 U) ?- |  RM00为程序无条件暂停指令。程序执行到此进给停止,主轴停转。重新启动程序,必须先回到JOG状态下,按下CW(主轴正转)启动主轴,接着返回AUTO状态下,按下START键才能启动程序。
# X$ i" x2 S! z2 n7 a' O0 \" c; u$ XM01为程序选择性暂停指令。程序执行前必须打开控制面板上OP STOP键才能执行,执行后的效果与M00相同,要重新启动程序同上。
' e+ `! k' I1 |9 ]M00和M01常常用于加工中途工件尺寸的检验或排屑。 3 Y$ i; N4 ]8 U5 C. r8 X
M02为主程序结束指令。执行到此指令,进给停止,主轴停止,冷却液关闭。但程序光标停在程序末尾。 - V; `# H$ q5 \9 |
M30为主程序结束指令。功能同M02,不同之处是,光标返回程序头位置,不管M30后是否还有其他程序段。
& }$ Z  {$ B- B  w9 A3. 地址D、H的意义相同   L5 ]; v  H  e: S1 s8 }6 y
刀具补偿参数D、H具有相同的功能,可以任意互换,它们都表示数控系统中补偿寄存器的地址名称,但具体补偿值是多少,关键是由它们后面的补偿号地址来决定。不过在加工中心中,为了防止出错,一般人为规定H为刀具长度补偿地址,补偿号从1~20号,D为刀具半径补偿地址,补偿号从21号开始(20把刀的刀库)。 1 I4 f) a" q/ k! ?7 K
例如,G00G43H1Z100.0; 5 ^3 T1 l- z9 H7 U1 u/ x
   G01G41D21X20.0Y35.0F200; 0 v6 |3 T7 P* y, u3 ]/ J# G
4. 镜像指令
/ c: |: J6 u# S  ?$ Y镜像加工指令M21、M22、M23。当只对X轴或Y轴进行镜像时,切削时的走刀顺序(顺铣与逆铣),刀补方向,圆弧插补转向都会与实际程序相反。当同时对X轴和Y轴进行镜像时,走刀顺序,刀补方向,圆弧插补转向均不变。 * |4 s1 t( W5 J
注意:使用镜像指令后必须用M23进行取消,以免影响后面的程序。在G90模式下,使用镜像或取消指令,都要回到工件坐标系原点才能使用。否则,数控系统无法计算后面的运动轨迹,会出现乱走刀现象。这时必须实行手动原点复归操作予以解决。主轴转向不随着镜像指令变化。
/ A1 H1 ?3 o* u1 e- `
5. 圆弧插补指令 6 R9 g. Y0 K' L* {; C$ i
G02为顺时针插补,G03为逆时针插补,在XY平面中,格式如下:G02/G03X_Y_I_K_F_或G02/G03 X_Y_R_F_,其中X、Y为圆弧终点坐标,I、J为圆弧起点到圆心在X、Y轴上的增量值,R为圆弧半径,F为进给量。 . q: M6 c) g5 ^* h5 I, M! U/ R
在圆弧切削时注意,q≤180°,R为正值;q>180°,R为负值;I、K的指定也可用R指定,当两者同时被指定时,R指令优先,I、K无效;R不能做整圆切削,整圆切削只能用I、J、K编程,因为经过同一点,半径相同的圆有无数个。 # G& X; W3 P5 _, G* w
当有I、K为零时,就可以省略;无论G90还是G91方式,I、J、K都按相对坐标编程;圆弧插补时,不能用刀补指令G41/G42。 6 l/ h2 n2 M) _  O
6. G92与G54~G59之间的优缺点
. v. ]% T5 S) K1 }# t0 X0 fG54~G59是在加工前设定好的坐标系,而G92是在程序中设定的坐标系,用了G54~G59就没有必要再使用G92,否则G54~G59会被替换,应当避免。 ! v/ W  c) }1 r! u
注意:(1)一旦使用了G92设定坐标系,再使用G54~G59不起任何作用,除非断电重新启动系统,或接着用G92设定所需新的工件坐标系。(2)使用G92的程序结束后,若机床没有回到G92设定的原点,就再次启动此程序,机床当前所在位置就成为新的工件坐标原点,易发生事故。所以,希望广大读者慎用。 / B- e& {8 a' Z3 o+ p$ [! g
7. 编制换刀子程序。
) y  Z0 b! S" [2 e7 D# E在加工中心上,换刀是不可避免的。但机床出厂时都有一个固定的换刀点,不在换刀位置,便不能够换刀,而且换刀前,刀补和循环都必须取消掉,主轴停止,冷却液关闭。条件繁多,如果每次手动换刀前,都要保证这些条件,不但易出错而且效率低,因此我们可以编制一个换刀程序保存在系统内存内,在换刀时,在MDI状态下用M98调用就可以一次性完成换刀动作。
: b! X8 D& }" }/ s) a以PMC-10V20加工中心为例,程序如下: 8 D- k7 H4 t1 g& ~4 B
  O2002;      (程序名) + ?2 Y+ u! A. H- a
  G80G40G49  ; (取消固定循环、刀补) % n, p2 J) ]1 p2 N+ r
  M05;      (主轴停止)
/ y) |& Y! B- [2 f. f* A2 k2 g# Y  M09;      (冷却液关闭)
2 I4 |" ^; q4 d+ E" b  G91G30Z0;   (Z轴回到第二原点,即换刀点)
; r+ f7 m! L: C% _  R4 \  M06;      (换刀) * i2 p" Y; r" `- t. D+ U
  M99;      (子程序结束)
' s- V" `8 }6 C在需要换刀的时候,只需在MDI状态下,键入“T5M98P2002”,即可换上所需刀具T5,从而避免了许多不必要的失误。广大读者可根据自己机床的特点,编制相应的换刀子程序。
) @/ c, T7 W) @) r: }  E8.其他
7 z( Y) i# z6 u; Q4 z; G9 w程序段顺序号,用地址N表示。一般数控装置本身存储器空间有限(64K),为了节省存储空间,程序段顺序号都省略不要。N只表示程序段标号,可以方便查找编辑程序,对加工过程不起任何作用,顺序号可以递增也可递减,也不要求数值有连续性。但在使用某些循环指令,跳转指令,调用子程序及镜像指令时不可以省略。 7 M) m9 Z6 h7 @2 M5 A" w
9.同一条程序段中,相同指令(相同地址符)或同一组指令,后出现的起作用。
! A! O2 A2 y; [5 @- U% `* Y$ ]7 B3 v例如,换刀程序,T2M06T3; 换上的是T3而不是T2; ( q3 B3 p* ?8 l8 j+ @. b! ~
G01G00X50.0Y30.0F200;执行的是G00(虽有F值,但也不执行G01)。 3 J7 {+ f! X6 i+ c' V; F; u
不是同一组的指令代码,在同一程序段中互换先后顺序执行效果相同。 . N6 j$ x* G, C$ v' T  _/ ^0 B
G90G54G00X0Y0Z100.0;
) K% t0 O7 i/ n6 E/ pG00G90G54X0Y0Z100.0;
, U. ]. t+ h3 b以上各项均在PMC-10V20(FANUC SYSTEM)加工中心上运行通过。在实际应用中,只有深刻理解各种指令的用法和编程规律,才可以减少错误,避免事故的发生。
回复

使用道具 举报

发表于 2009-5-19 15:17:09 | 显示全部楼层
太谢谢了,经验分享对新手的意义重大
回复 支持 反对

使用道具 举报

发表于 2009-5-20 21:58:50 | 显示全部楼层
真的很不错
回复 支持 反对

使用道具 举报

发表于 2009-5-24 22:08:32 | 显示全部楼层
是平常中常用到的指令,也是很易忽略这些细节的,不错。
回复 支持 反对

使用道具 举报

发表于 2009-5-27 07:09:14 | 显示全部楼层
好东西!谢谢分享!
回复 支持 反对

使用道具 举报

发表于 2009-5-27 13:47:04 | 显示全部楼层
很好^_^谢谢
回复 支持 反对

使用道具 举报

发表于 2009-5-29 18:43:00 | 显示全部楼层
上面的我基本都知道 ,但我现在碰到一个棘手的问题就是,现在的公司对刀用G92设定,以后的对到都以第一把到而言,而我以前一直用的是机械坐标值,今天弄 好几次, 找个零点怎么都走不到那个位置!7 R" A% U2 L; i4 D) {: @9 C, ^' _
我很讨厌G92,不光这,撞刀好几次,我心里在想这些开发的人吃多了没事情做,为什么简单的东西都要搞复杂呢
回复 支持 反对

使用道具 举报

发表于 2009-6-3 11:22:24 | 显示全部楼层
好东西 不错
回复 支持 反对

使用道具 举报

发表于 2009-6-3 18:13:14 | 显示全部楼层
总结得好,支持!!!!!!
回复 支持 反对

使用道具 举报

发表于 2009-6-3 19:10:57 | 显示全部楼层
程序输完了要多检查  及时发现错误  否则要等出了问题才发现就晚了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-11-28 02:35 , Processed in 0.058979 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表