|
如果你是机械专业,那么肯定知道有门学科叫数控技术;如果你是数控技术专业,那么有门课程叫数控编程。所以本文章的说明对象就是数控技术的重点——编程!, ~6 K7 k- a9 \+ O
+ n8 l" _" M, p/ Z9 u 学习数控的人都知道编程的重要性,一个零件从毛坯到最终成型都需要编程。但不论是手工编程或者软件编程都必须要有很好的加工思路特,特别是手工编程! 这里加工思路就不详细赘述了,相信做的时间久了自然会有感悟。但是,有一种数控编程技术不是做的久就可以学会的,那就是宏程序!如果说数控编程技术是这个领域的座金字塔,那么宏程序无疑是金字塔的塔尖!很多人领略过宏程序的魅力,各大市、省乃至国家级技能竞赛都少不了它。所以很多人为之努力,但往往都不战而退。。。。。。
1 k2 w1 R; M, d B% w) o" w- [4 r' f( n5 H9 a
我们走到每一个书店,走到数控技术专栏面前,都会有关于宏程序学习的书刊。但绝大多数是照本宣科、大同小异,都没有讲到宏程序学习的核心。那么什么是它的核心?我个人认为,通俗易懂、最简单的理解方法就是核心。接下来我将会为学习数控编程技术的人讲讲我学习的思路,以及是如何理解的。那么至于我懂多少,这并不重要;重要的是你看了我的理解方法,是不是学会了宏程序。当然,如果你还没到学习宏程序的时候,请继续努力学好基础。
1 _# f: l N- Y
' L$ i0 \& b; O- L5 j 首先宏程序分两种——A类和B类。坦白的说,A类我从来不看,同时我也相信99.99%是用不到的。如果你钻这个牛角尖去看A类宏程序,用网络流行语来说,你就是闲的蛋疼! B类宏程序就是我们常见到的一种,我相信用到它的几率是99.99%。如果你学宏程序,却不学B类,那真是大热天穿棉袄——病的不轻。我们直接进入正题吧。
7 D: G, N9 X7 K, N, v2 A6 x
; n; J) }( _$ K# B 先看一个最常见的宏程序应用实例:(车床——FANUC系统): _3 \" M$ R6 o. a$ ~2 ^
3 V9 C. ]! w* t3 t9 Z2 f
其实数控系统中,除了西门子的宏程序格式不大众化,其他系统都差不多的。就个人来看发那科系统的宏指令做的比西门子好,但西门子的其他功能指令却独占鳌头。在讲之前,先说几个基本概念:8 H) [: [" ?; s. j/ q
1,符号+ t/ k1 s5 i% V/ p/ K4 |
“#1” 这个符号很常见,因为是要被赋值的对象。那个“1”没别的意思,你可以理解为1号代表。所以也会有2号,写作“#2” 如此而已!1 p$ m+ c6 Z2 r, y" @7 ?5 }& g
2,赋值% x' _# U1 r# [8 g: V# ~
“#1=10” 这是什么意思? 其实就是把“10”这个数赋值给了“#1”。只要你赋了值,那么“#1”就等于10了。比如某段程序“G01 X10"我用
1 q6 l; V, E. c& J3 D9 @% u 宏指令表示”G01 X#1" 他的意思和G01 X10“是一样的。
3 N% L. [+ H' N8 U9 ?+ ` 3,运算
" b7 Y( ]2 q- [% y9 Z* y 假设我给#1赋值为10,#2赋值为20,那么#1+#2等于多少?很简单嘛,等于30。这个如果不理解,骑车去找你小学老师吧。记得要/ E- [3 f+ Q, y/ [" Z) ]( p6 M
边骑边哭!后面有稍微复杂的宏程序会用到乘法,除法或者分数等等,他们的运算顺序不要搞错!如果这个不懂,同样的也哭着( m- c" Z4 H- O7 A$ D! X4 R
去找你小学老师吧。
o/ g: y0 ]- c1 D3 Q$ s/ J, I" V! w$ F1 h) @/ N/ g- m
+ u7 P$ Z8 g- w言归正传!介绍下我对宏程序的理解:描述刀具在工件坐标系的位置!通俗的说就是自己要清楚刀具是怎么走才能做出零件。例如“G0 X20 ” 这程序段表示什么?表示当前刀具在直径20MM的地方,宏程序也是一样的。& C9 g# G+ n) n9 ^$ E. E; J7 I& h
' T* R0 l3 u) e; C0 t5 c
如图,这是最基本的车床类非圆曲线零件——椭圆。它的标准方程是:Z^2/60^2+X^2/20^2=1 (这里要说明的是,学宏程序需要有一定的数学功底,但也并不需要多么的高深,高二水平就可以了。如果达不到那么最基本的三角函数要知道)。这个方程是描述的什么意思我就不说了,没多大意义。但你要知道椭圆的基本参数:长半轴和短半轴!(如果这不知道,那去翻书吧)。此图中的长、短半轴分别是60和20。这就是在方程中我们看到的两个分母。Z、X分别代表什么呢?他们代表椭圆上的某一个点。当你的Z取60,那么对应的X值就是0。
' C: a9 u$ v5 Y& B
' Z) M$ D! S9 V5 _7 H+ Y 说到这,要介绍两个“点”的概念:椭圆中心点和零件原点。零件原点一般取在零件的右端面中心,这样就构成了一个直角坐标系。那么图中的任何长度方向数值,都是带负号的!这个是基础不再赘述。椭圆中心点在X0 Z-60处。区别椭圆中心和零件原点是很重要的,很多学习宏程序的人会把这两个点弄混淆!
" Z( N. E$ _. i' O/ S( v, D: J$ a/ Y" x$ i6 ^! m( O j
下面我们做零件切削刀路分析;首先这个零件我们加工顺序是从右向左,那么刀具当是从零件右端面起切,至最左端结束(这里不考虑装夹)。那么我们怎么做才能让刀具“听话”的按照我们的思路切削呢?怎么样把我们的加工思路体现在数控程序里呢?还是直接看程序吧(只写精加工)!; q+ x1 g0 ?* n4 p1 ^4 [0 C0 M
" d! T4 _+ h8 E" I: S8 q, ~ FANUC & T( r7 o1 `% H2 E7 a2 b
T0101 (FANUC系统宏程序格式自己看书); c! f" M% C2 R) ?2 ^4 B% K
S500M039 q/ g$ X( O* t, m, |. e3 s8 y
G0X0Z2 刀具初始定位
: F6 l" l; [9 |G01Z0F150 慢慢走到零件右端中心# F" z7 _4 r9 i X# ^6 k
#1=60 ; d' I' E! x/ S% [; {4 Z5 X8 v- J
1 J) x9 [" j" v# O/ \我们以椭圆长半轴为自变量(什么是自变量?可以理解为自己是不断变化的数值,并且会因方程关系而影响其他数值;
# H' n7 [* j* r2 c$ \7 N这个值有正负之分。取决于需要加工的部分是在椭圆中心点的哪边。这里取60,是因为图中椭圆要从最右端加工,而最" e5 t9 K1 P2 ]+ h) w3 H) ~0 A
右端的坐标值相对于椭圆中心是60。因此长半轴、短半轴的取值不是由零件原点决定,而是根据椭圆中心决定的,需格
7 l0 F8 m+ f0 N6 R7 }外注意!)
( }6 P3 q8 J* J* h' _
: C* d( H) y8 \" |; q+ t+ q0 [WHILE [#1 GE 0] DO1 这句话的意思是:如果#1的值大于等于60,那么就一直执行DO1、END1里的程序段,直到不符合条件!
0 L; D8 `' X. y6 ~& I" [+ e. p2 O) n Y/ e e$ [# }
#2=20×SQRT[1-#1*#1/60/60] 此程#2表示椭圆短半轴,跟着长半轴变化而变化。"SQRT“表示根号。具体符号意思看书吧。 X; J- W& |6 z# o' b5 f
' P1 @' D/ N# x8 ]- U- m+ ZG01X[#2*2] Z[#1-60] # U5 t* x" ^1 }, j6 P
% Z/ b r! \+ d( C# i" f
这里是重点!我认为这是宏程序的核心!前面说过,宏程序其实就是描述刀具轨迹且具有逻辑运算的程序。这一
Y; g* p# l& n# V7 @% r/ z5 x9 n步直接关系到程序的正确与否!首先说明为什么#2要乘以2。因为这里的#2表示短半轴,可以理解为零件X方向单
0 q: z- k( }9 d4 N- Y& _( j6 o( G& Y边值。那么在实际零件里,是双边的值才对,所以要乘以2!重点是Z值!!!!!!!/ m' V- V0 C9 q
6 m- C# x2 E) W6 H& D( a# N( Z6 [- h我们先想想,做这个零件,刀具肯定是从右向左加工的。也就是说Z值是从“-1到-2再到-3一直到-60”的顺序变化的。如果这个Z段改为”Z#1”那么会怎么样? 我们发现他的第一刀在Z60处!因为#1=60!而我们加工时第一刀应该在Z0!如果#1一直减小
5 j2 x1 \6 m9 J7 @2 N0 e# M那么Z加工方向是对了,但值却不对。他是从60一直加工到0。加工完我们就会发现根本没做零件,走了空刀而: u' R9 \6 s. c$ I" B' c! G- ~5 g! p8 z
已!那我们需要的是从0加工到-60。所以重点是怎么样才能把他的第一刀定位在Z0!其实很简单,我们给他点“障
: k$ Q- B5 i1 E& v% d碍”,在#1后面减去60。那么第一刀就会在Z0了。因为60-60=0。。。好,我们看看对不对。第一刀Z0,第二刀Z-1(0 G. C9 v" s* D
这里假设#1每次运算后,减1)第三刀Z-2(程序Z[58-60]的缘故),我们就发现Z值和他的方向都是对的!总而言之
5 x5 x4 |/ f6 RZ向的第一刀在你选择加工的初始点上就可以了!如果把零件原点和椭圆中心原点设置在一起。那么Z段程序就应2 s8 |+ L+ h! [8 b2 I
该是“Z#1.这里面的奥妙自己摸索,已经讲的详细了。$ I K- Z. K- r0 P% |/ @
- ?6 A: O7 ^5 u: g, M6 k0 {# s* m, z
7 l) P7 X6 m' O( {, T#1=#1-1
9 `4 Y9 A6 B! \
! }1 @4 ]; l; U" m! l这程序段意思是#1每经过一次运算后递减1。(一般递减值不会这么大,0.1就可以了。只是这里取1是为配合上面& K( F" Z# x8 ^& g, j
的讲解)" c/ D! g b% G/ ?
0 i* a1 |7 R4 C: F3 q( q) \( t
END1
5 ]9 H6 L7 ?' O# @ p& CG0X1009 ]! f- |: L# O1 t4 _1 Z( n
Z100
: `$ i/ Z7 r4 c( eM301 }; X M. D9 }3 \2 i/ `4 X
。。。。。。
5 R4 n O! r2 ]0 [- I8 d5 p这里用椭圆的加工做了宏程序的基础讲解。其实宏程序的编制就是控制刀具的,只不过多了点运算,加减乘除等等。当然,复杂的也有,而且相当复杂,比如,如何在三爪卡盘上不加垫片的方式车偏心零件。加工中心机床中,如何用宏编制立体五角星或者空间曲面等等。 V0 i& L9 O, E1 `4 I
" r( N3 ]7 k1 u/ l8 u
以上文字没有使用半点“文学方面”的文采,全是白话文。华而不实、咬文嚼字的资料,已经很多我就不写了,通俗就是最好的。
- `/ r3 K3 V3 F1 W6 G( b
# B; K& w Y1 s3 a3 v4 O/ \8 G" @ 由于是分两天写的资料,可能衔接的不太好;或者有什么错误还望指出。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
评分
-
查看全部评分
|