找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 264|回复: 0

[资料] 数控程序编制(上)

[复制链接]
发表于 2011-7-13 23:52:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

您需要 登录 才可以下载或查看,没有账号?注册会员

×
一、数字控制的标准代码
  D1 x! C' n- _* m* t% k  \2 v字与字的功能/ Z1 Z/ {8 z" i: x9 N& e1 l( }/ y5 S
1. 字符与代码
% O* O$ R6 R& K# G& B  字符:用来组织、控制或表示数据的一些符号,如数字、字母、标点符号、数学运算符等。数控系统只能接受二进制信息,用“0”和“1”组合的代码来表达。国际上广泛采用两种标准代码:1 I/ b. l" s% L- y1 c+ H" g
(1) ISO国际标准化组织标准代码
; H9 o3 R9 Q! s9 s) r(2) EIA美国电子工业协会标准代码3 m8 ~) D  p8 m; d0 _. q- ^
   在现代大多数数控机床上这两种代码都可以使用。 数控机床的零件加工程序,可通过拨码盘、键盘、穿孔纸带、磁带及磁盘等介质输入数控装置中,7 m, N: o* X4 ?+ Z8 n
ISO代码为补偶代码。ISO代码最多能表示的字符个数为2的7次方,等于128。
; B# |& S. }- c2 `0 kEL4代码为补奇代码。在EIA代码中,每行代码孔的个数为奇数;EIA代码最多能表示的字符个数为2的6次方等于64。
; B- p: \9 N% K8 e. I从以上对两种代码的比较可知,ISO代码具有信息量大、可靠性高等优点,所以目前世界各国都采ISO代码;但由于EIA代码发展较早,已有的数控机床中,有一些采用的是EIA代码,也有一些机床既可用ISO代码又可用EIA代码。现在我国规定新产品一律采用BO代码。
; N7 c' t1 N( W0 _7 R2. 字
8 J& N3 M+ |  G5 E; U3 }' ^字:指一系列按规定排列的字符,作为一个信息单元存储、传递和操作。由一个英文字母与随后的若干位十进制数字组成。这个英文字母称为地址符。3 t0 G: ^0 n; B+ \5 W6 N
  如:“X2500”是一个字,X为地址符,数字“2500”为地址中的内容。
7 ]9 Z$ E: ?( }4 K* H3. 字的功能
; Q% N1 |0 r9 I; v7 }. n! s# u  组成程序段的每一个字都有其特定的功能含义,以下是以FANUC-0M数控系统的规范为主来介绍的,实际工作中,请遵照机床数控系统说明书来使用各个功能字。
. }  }4 p( u' A4 M+ R2 k1 ?" {. {(1) 顺序号字N' Y6 L; I8 u8 E4 }
   顺序号字:又称程序段号或程序段序号。顺序号位于程序段之首,由顺序号字N和后续数字组成。顺序号字N是地址符,后续数字一般1~4位正整数。顺序号实际上是程序段的名称。数控系统不是按顺序号的次序来执行程序,而是按照程序段编写时的排列顺序逐段执行。
$ T7 z/ o: h1 t$ a# T' r   顺序号的作用:
1 i5 ]0 S6 w, L" {; V6 {) m) K% y   对程序的校对和检索修改;. X. e' h1 @) y$ w  `+ ]) C5 m
   作为条件转向的目标,即作为转向目的程序段的名称。; e+ P; ?! R: F1 o+ |
   有顺序号的程序段可以进行复归操作,这是指加工可以从程序的中间开始,或回到程序中断处开始。5 H2 b- H; y, K. E0 V2 |( v" |
   一般使用方法:编程时将第一程序段冠以N10,以后以间隔10递增的方法设置顺序号,这样,在调试程序时如果需要在N10和N20之间插入程序段时,就可以使用N11、N12。
" m$ _0 J% M1 \: Q1 }7 Y; X+ i(2)准备功能字G# t! z4 o2 F; F2 v# [' a
  准备功能字的地址符是G,又称为G功能或G指令,是建立机床或控制系统工作方式的一种指令。后续数字一般1~3位正整数。* C1 }' g+ K' B0 R6 J
200852816558.gif , s! A/ Q! k  o0 @
(3)尺寸字
; [$ X" K, _+ M, k6 x0 v   尺寸字用于确定机床上刀具运动终点的坐标位置。( E) L0 R- Z, L, d7 o9 e/ A) W
   第一组 X,Y,Z,U,V,W,P,Q,R 用于确定终点的直线坐标尺寸;, S/ ]5 b5 p8 O1 S8 l, k9 S
   第二组 A,B,C,D,E 用于确定终点的角度坐标尺寸;
& B$ f7 S' E( f   第三组 I,J,K 用于确定圆弧轮廓的圆心坐标尺寸。
0 ^6 e7 C1 [% u, l! j$ Y6 X(4)进给功能字 F9 [  ^6 j) M) l5 c: J( F/ f  q1 _" D
   进给功能字的地址符是F,又称为F功能或F指令,用于指定切削的进给速度。6 O* M  M8 ?- i7 ?- X# t1 Q
(5)主轴转速功能字 S/ R9 y- ]) @' A6 _; X
   主轴转速功能字的地址符是S,又称为S功能或S指令,用于指定主轴转速。
' v( V; c6 A+ p1 h7 [(6)刀具功能字 T
4 E6 b0 R: j$ U( i8 I   刀具功能字的地址符是T,又称为T功能或T指令,用于指定加工时所用刀具的编号。9 z  H5 y' b0 J
(7)辅助功能字 M8 n, j% k/ J3 }, b5 }$ \+ J
   辅助功能字的地址符是M,后续数字一般1~3位正整数,又称为M功能或M指令,用于指定数控机床辅助装置的开关动作。
! o$ y' R: L& T7 y% V1 u5 z9 f二、数控加工程序段格式及程序结构  i: o  w1 ]5 \3 X: W0 y" Z
1. 程序段格式
* a  w! ]& T* l0 e0 O4 u   程序段是:为了完成某一动作要求所需功能“字”的组合。每一个字是一个控制机床的具体指令,它由一个英文字母开头,其后跟几个数字构成.是数控加工程序中的一条语句。3 L. l+ k5 _/ ?, L9 a
  一个完整的数控加 工程序是若l干个程序段组成的。程序段格式:指程序段中的字、字符和数据的安排形式。- B. l2 O  u% O, b/ }+ i( Z
   字地址可变程序段格式:每个字长不固定,各个程序段中的长度和功能字的个数都是可变的。
' E: f, L9 L$ n# s0 t7 [ 200852816825.jpg
* r2 K. M: a3 F& }5 A图1  组成程序段要素示意图
, K8 Q: n- r0 k& ~1 f% w   地址可变程序段格式中,在上一程序段中写明的、本程序段里又不变化的那些字仍然有效,可以不再重写。这种功能字称之为续效字。
1 q# Z" r9 i1 K9 Z! B1 j' J   程序段格式举例:: d2 f, K7 Z5 F3 U6 P* A9 c
N30 G01 X88.1 Y30.2 F500 S3000 T02 M08
. ~3 Q% p  }$ Q9 Y( F6 _. z* p% UN40 X90(本程序段省略了续效字“G01,Y30.2,F500,S3000,T02,M08”,但它们的功能仍然有效)
: ?0 {( ?& s2 |2 `* l9 m6 W& r+ v$ v   在程序段中,必须明确以下几点的对应关系:5 X. [& e. l4 Q! W9 v& y/ Q
   移动目标:终点坐标值;
( L3 `4 t( z( ?/ N' g3 r% v   沿怎样的轨迹移动:准备功能字;    , c8 ]6 H1 A4 m3 Z. o, d* _
   进给速度:进给功能字F;' F5 {( u4 G( o
   切削速度:主轴转速功能字S;9 G/ A: s  X2 m2 k2 D% [% h
   使用刀具:刀具功能字T;
1 v7 m$ Y0 _& Y0 q7 w   机床辅助动作:辅助功能字M。' j0 D/ W" q1 T) ]( l# g  _4 t) ~
   组成程序段的各要素如图1所示。
/ S5 B( G/ w# a0 v( }3 z- |分隔符固定顺序程序段格式
9 v/ c8 m3 Z5 T* ~0 O& q这种程序段格式是在字与字之间用分隔符“HT”(在EIA代码中用TAB)隔开,而且预先规定了代码字的顺序,因此,根据分隔符出现的顺序,就可判定其功能。不需要的字以及本段程序内与上一段程序内的相同功能的字可省略,但其相应的分隔符必须保留,如下列程序所示。由此可见,这一格式不直观,编程不方便,现已基本上不采用。
- P  o9 J6 v/ ]00l HT 3162 HT 1630 HT2 HT6 HT1 LF
5 P# w' Z3 n6 W$ K1 y1 K002 HT 12365 HT HT HT HT LF
$ f" x9 m  a5 `7 A5 X, Z: A003 HT 3162 HT 28621HT 1 HT 5 HT 0 LF
% w/ h+ J& C4 H9 o6 N: }4 f8 f# N2.加工程序的一般格式: x8 z$ I; r# c# f4 q
(1)程序开始符、结束符
6 R6 }# \7 R$ ^* j* V, Y( [   程序开始符、结束符是同一个字符,ISO代码中是%,EIA代码中是EP,书写时要单列一段。
5 k  ^" h( P; M0 }" ?(2)程序名# U. X' L6 l6 S) \; w& u. d1 `
   程序名有两种形式:一种是英文字母O和1~4位正整数组成;另一种是由英文字母开头,字母数字混合组成的。一般要求单列一段。
% \5 S3 a& u9 V. u, i1 `8 A. u4 f(3)程序主体
8 o  A5 K6 h, R! s2 B1 s   程序主体是由若干个程序段组成的。每个程序段一般占一行。
2 e9 [3 b. w: O1 B0 w9 E(4)程序结束指令
( l; [# e) I& M2 W' y5 [   程序结束指令可以用M02或M30。一般要求单列一段。
: i7 w& O9 s3 U. b$ j9 |6 n   加工程序的一般格式举例:% v' b$ v2 D* ?0 x8 X& ?4 N- X) T, W( L
  %                   // 开始符) }3 l; d( O0 Y# W  i
  O1000                 // 程序名4 H/ a  p; v, B0 Y# @9 F
  N10 G00 G54 X50 Y30 M03 S3000' |+ X& I% `4 }5 t& P! E& O8 g
  N20 G01 X88.1 Y30.2 F500 T02 M08   // 程序主体
9 U3 \' L) \1 D7 T  N30 X90
3 R% t1 p$ b8 K) S8 S; D- L  ……
  \( t$ V" R7 D N300 M30               // 结束符, l1 X& p% {% d" s
  %( d  Z# A/ Z% K) R* k7 L2 \& q
三、数控机床的坐标系2 `+ a8 t1 O% f6 h
(二)机床坐标系与工件坐标系) I# \  F  \9 J- \+ |1 `
1。机床坐标系的确定
: f% `2 J; |9 G( X# q$ ~(1)机床相对运动的规定
/ D3 {; j  y2 @' J( f, V8 P工件相对静止,而刀具运动。" c0 Q5 T" m; m
   在机床上,始终认为工件静止,而刀具是运动的。这样编程人员在不考虑机床上工件与刀具具体运动的情况下,就可以依据零件图样,确定机床的加工过程。
( m. U4 i$ U: ~5 |1 V(2)机床坐标系的规定
/ S2 S' Y  C" t% _8 q" B5 `标准机床坐标系中X、Y、Z坐标轴的相互关系用右手笛卡尔直角坐标系决定。
$ g" M5 `  F- m/ s- [8 e) E& X4 j  在数控机床上,机床的动作是由数控装置来控制的,为了确定数控机床上的成形运动和辅助运动,必须先确定机床上运动的位移和运动的方向,这就需要通过坐标系来实现,这个坐标系被称之为机床坐标系。' p; M) G7 r/ t' i) U
   例如铣床上,有机床的纵向运动、横向运动以及垂向訩动,如图2所示。在数控加工中就应该用机床坐标系来描述,如图3所示。请0赐?中按钮观察机床坐标?的相互关系。
! c* X4 b. e6 H6 m5 C1 A$ a 200852816129.jpg
" I( }: N, y- E% N! T9 R( C8 y图2 立式数控铣床! r/ v: E6 o+ v- i" }: H/ y
2008528161343.jpg
: h; k- _2 N+ f- t4 [# I. A; D图3 数控机床坐标系8 F" x# S) A6 f1 @  H& O7 W7 p- C
   标准机床坐标系中X、Y、Z坐标轴的相互关系用右手笛卡尔直角坐标系决定:7 W. A+ E1 C3 L" P9 r0 p
2008528161420.gif
" S# L" `$ a- f# L. W0 \. _图4 直角坐标系# U# Z+ ]6 `5 E% c
1)伸出右手的大拇指、食指和中指,并互为90度。则大拇指代表X坐标,食指代表Y坐标,中指代表Z坐标。
1 D7 S1 w6 ~- Z2)大拇指的指向为X坐标的正方向,食指的指向为Y坐标的正方向,中指的指向为Z坐标的正方向。 
  b& G6 B- u1 Z3 [3)围绕X、Y、Z坐标旋转的旋转坐标分别用A、B、C表示,根据右手螺旋定则,大拇指的指向为X、Y、Z坐标中任意一轴的正向,则其余四指的旋转方向即为旋转坐标A、B、C的正向,见图4。7 D" U- C/ x- Y7 B
(3)运动方向的规定1 d; [7 z2 r# O# w; r6 H, s
2008528161623.jpg
5 x; `5 f" E# j1 ~/ t8 D图5
! M2 e, t: t& T4 }增大刀具与工件距离的方向即为各坐标轴的正方向,如图5所示。* H) G. Y$ O7 Z1 x8 E0 J! c
2。坐标轴方向的确定8 S  H. U, e$ r/ J0 p
3。附加坐标系
7 d& H0 }" g: V' H6 \. _4。机床原点的设置- S7 t9 |! p, ?7 J1 @
5。机床参考点4 L8 B. [( k" f! S- r9 ~
三、机床加工坐标系的设定
& I/ y: q0 Z. _3 r1。数控铣床(FANUC 0M)加工坐标系的设定步骤
4 e) u% `6 V6 F* B4 h* [% y 2008528161756.gif
! ~# c+ x7 a  `7 V; F图6 零件图样$ M* b: T  ^9 X& Y/ C) F# h
在选择了图6所示的被加工零件图样,并确定了编程原点位置后,可按以下方法进行加工坐标系设定:
5 G. E- h! F3 u6 C. i% w(1)准备工作% k2 M. C7 q& T: n  _& h' L
  机床回参考点,确认机床坐标系;
1 O7 ]4 N! V; u3 x7 D$ Q) g(2)装夹工件毛坯
1 o4 ]- Y9 d8 d  b4 e8 c) }  通过夹具使零件定位,并使工件定位基准面与机床运动方向一致;+ p" e6 l, ]. j, Y9 O4 y3 m% O
(3)对刀测量9 ~2 g: B+ v# }3 J6 h9 f2 C
  用简易对刀法测量,方法如下:8 W/ B3 C+ Q: J6 M
200852816192.gif ! ?$ {1 D, b+ K- c: K
图2 X、Y向对刀方法- b' v1 h: {$ M- `
  用直径为φ10的标准测量棒、塞尺对刀,得到测量值为X = -437.726, Y = -298.160,如图7所示。Z = -31.833,如图8所示。7 q5 k) S5 W3 D5 P' l3 N
2008528161943.gif
" _8 \  X2 {# x( m9 I, x3 K" g图8 Z向对刀方法
1 v; O2 o3 t' y* S(4)计算设定值
6 V; C9 @% k% L& r: b+ `, S( q  将前面已测得的各项数据,按设定要求运算。; ^+ O; W7 J* f; H
  X坐标设定值:X= -437.726+5+0.1+40= -392.626mm
5 S4 l3 t3 z4 z6 H; K注:如图7所示。( }& a5 c' D6 o; t' ^2 p5 H
-437.726mm为X坐标显示值;
& U. Y" B8 |0 u+ W/ H+5mm为测量棒半径值;
9 \. |+ f) b- c/ D+0.1mm为塞尺厚度;
5 B* ]5 d3 s/ n! K: B+ w+40.0为编程原点到工件定位基准面在X坐标方向的距离。
* \9 T0 N4 B" O" f. ^Y坐标设定值:Y= -298.160+5+0.1+46.5= -246.46mm. X2 G3 F  j5 @. y( |6 c
注:如图7所示,-298.160mm为坐标显示值;+5mm为测量棒半径值;+0.1mm为塞尺厚度;+46.5为编程原点到工件定位基准面在Y坐标方向的距离。
1 m1 [, c% q) r5 \0 nZ坐标设定值:Z= -31.833-0.2=-32.033mm。# j8 t: I% E5 l9 o* v1 c3 `
注:-31.833为坐标显示值;-0.2为塞尺厚度,如图8所示。
% M2 h3 [4 Y5 i" s通过计算结果为:X -392.626;Y -246.460;Z -32.0339 n% c: K7 L1 _( M( U
(5)设定加工坐标系) x, y2 @/ y/ r  r$ o
  将开关放在 MDI 方式下,进入加工坐标系设定页面。输入数据为:
; F* k2 e6 n0 A# ]+ FX= -392.626 Y= -246.460 Z= -32.033* T/ z$ c/ H7 U; B; ~% S2 F
  表示加工原点设置在机床坐标系的X= -392.626 Y= -246.460 Z= -32.033 的位置上。) M2 h* W2 _# [" ^) J
(6)校对设定值7 i% ~) Q$ F: x; [- T- B2 T
  对于初学者,在进行了加工原点的设定后,应进一步校对设定值,以保证参数的正确性。
  C5 `- F9 `  n+ }  校对工作的具体过程如下:在设定了G54加工坐标系后,再进行回机床参考点操作,其显示值为3 t- J' u9 t3 A* A: j, h! s4 V
X +392.6269 L9 q" H, P8 _3 F/ N9 Q
Y +246.460: o( g: Y7 L* I. i. Z
Z +32.033+ ~# E" e; F) q5 X
  这说明在设定了G54加工坐标系后,机床原点在加工坐标系中的位置为:' y9 `) ?* o; N1 E
X +392.6267 ]! [3 A6 j8 b. v
Y +246.460
4 p; U) w7 _1 v# F7 XZ +32.033
, u' X2 N7 \6 T! u- l; n这反过来也说明G54的设定值是正确的。2 E: H& M! t6 E% i0 _5 j
2。加工坐标系设定的示范操作。
$ O0 t" B3 E" H3 f4 n3。注意事项
. h8 d5 Q2 P' [9 x( k& {6 }$ K(1)G54~G59设置加工坐标系的方法是一样的,但在实际情况下,机床厂家为了用户的不同需要,在使用中有以下区别:利用G54设置机床原点的情况下,进行回参考点操作时机床坐标值显示为G54的设定值,且符号均为正;利用G55~G59设置加工坐标系的情况下,进行回参考点操作时机床坐标值显示零值。
  B8 [# T" f* z4 F7 P6 m  X5 C(2)G92指令与G54~G59指令都是用于设定工件加工坐标系的,但在使用中是有区别的。G92指令是通过程序来设定、选用加工坐标系的,它所设定的加工坐标系原点与当前刀具所在的位置有关,这一加工原点在机床坐标系中的位置是随当前刀具位置的不同而改变的。
0 {/ ?0 n2 M& a+ R* `& x(3)G54~G59指令是通过MDI在设置参数方式下设定工件加工坐标系的,一旦设定,加工原点在机床坐标系中的位置是不变的,它与刀具的当前位置无关,除非再通过MDI 方式修改。
) S2 P) C* X% i' s/ C) x0 `7 F' [1 B(4)本课程所例加工坐标系的设置方法,仅是FANUC系统中常用的方法之一,其余不一一例举。其它数控系统的设置方法应按随机说明书执行。% z9 [4 G; c+ Z3 E( e1 `2 q
4。常见错误6 x) M- j1 d5 _
   当执行程序段G92 X 10 Y 10时,常会认为是刀具在运行程序后到达X 10 Y 10 点上。其实, G92指令程序段只是设定加工坐标系,并不产生任何动作,这时刀具已在加工坐标系中的 X10 Y10点上。: ]# c3 J: d; x. j7 t
  G54~G59指令程序段可以和G00、G01指令组合,如G54 G90 G01 X 10 Y10时,运动部件在选定的加工坐标系中进行移动。 程序段运行后,无论刀具当前点在哪里,它都会移动到加工坐标系中的X 10 Y 10 点上。6 }4 U7 W8 l* [* i
编程坐标系$ b$ j% I: o. x* o: J* j2 C* D8 V: @; |
  编程坐标系编程人员根据零件图样及加工工艺等建立的坐标系。
* Y5 c) I# I2 C- P  编程坐标系一般供编程使用,确定编程坐标系时不必考虑工件毛坯在机床上的实际装夹位置。如图9所示。7 F6 ?& I* u8 v. k0 J7 G( m3 Y
200852816224.gif
0 P. ~8 L% W; U; l" B, P# o1 L* H图9 编程坐标系5 D' K* O, Q" a& Z
  编程原点是根据加工零件图样及加工工艺要求选定的编程坐标系的原点。2 o, l% l5 L6 w  c
  编程原点应尽量选择在零件的设计基准或工艺基准上,编程坐标系中各轴的方向应该与所使用的数控机床相应的坐标轴方向一致,如图10所示为车削零件的编程原点。9 h2 h5 j! l5 P3 _- A* q. j  u  G
2008528162231.gif
8 _" R( H$ g3 d: O图10 确定编程原点
! x! B7 b$ N8 C- t: j文章关键词: 数控程序
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2025-4-28 21:20 , Processed in 0.144549 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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