机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 7226|回复: 18

数控宏程序基础的应用

[复制链接]
发表于 2014-11-18 16:05:13 | 显示全部楼层 |阅读模式
如果你是机械专业,那么肯定知道有门学科叫数控技术;如果你是数控技术专业,那么有门课程叫数控编程。所以本文章的说明对象就是数控技术的重点——编程!. G. p+ g1 w; P( k
. ~  K" S  K0 \
     学习数控的人都知道编程的重要性,一个零件从毛坯到最终成型都需要编程。但不论是手工编程或者软件编程都必须要有很好的加工思路特,特别是手工编程! 这里加工思路就不详细赘述了,相信做的时间久了自然会有感悟。但是,有一种数控编程技术不是做的久就可以学会的,那就是宏程序!如果说数控编程技术是这个领域的座金字塔,那么宏程序无疑是金字塔的塔尖!很多人领略过宏程序的魅力,各大市、省乃至国家级技能竞赛都少不了它。所以很多人为之努力,但往往都不战而退。。。。。。  W; l7 T* `, G" e% r- f

6 _0 z- ^% q; w) V. b     我们走到每一个书店,走到数控技术专栏面前,都会有关于宏程序学习的书刊。但绝大多数是照本宣科、大同小异,都没有讲到宏程序学习的核心。那么什么是它的核心?我个人认为,通俗易懂、最简单的理解方法就是核心。接下来我将会为学习数控编程技术的人讲讲我学习的思路,以及是如何理解的。那么至于我懂多少,这并不重要;重要的是你看了我的理解方法,是不是学会了宏程序。当然,如果你还没到学习宏程序的时候,请继续努力学好基础。
5 C  W- S/ V5 [, y

: ]' x0 U7 }- V* N    首先宏程序分两种——A类和B类。坦白的说,A类我从来不看,同时我也相信99.99%是用不到的。如果你钻这个牛角尖去看A类宏程序,用网络流行语来说,你就是闲的蛋疼! B类宏程序就是我们常见到的一种,我相信用到它的几率是99.99%。如果你学宏程序,却不学B类,那真是大热天穿棉袄——病的不轻。我们直接进入正题吧。

# M3 v, x' J9 {  V
% o: l' `' o5 h9 e" m% y; Y    先看一个最常见的宏程序应用实例:(车床——FANUC系统)
/ v* p1 j2 }' F! L  O
6 |$ T, w3 ?( B8 K
    其实数控系统中,除了西门子的宏程序格式不大众化,其他系统都差不多的。就个人来看发那科系统的宏指令做的比西门子好,但西门子的其他功能指令却独占鳌头。在讲之前,先说几个基本概念:6 k  q( B7 f: k# v0 ]8 Y3 R- U% C8 C
    1,符号
) \; U8 R$ M  B         “#1”  这个符号很常见,因为是要被赋值的对象。那个“1”没别的意思,你可以理解为1号代表。所以也会有2号,写作“#2” 如此而已!
) h6 b# y3 i0 o: p, j" d, {    2,赋值
/ r2 K% B) L/ }8 k3 e         “#1=10” 这是什么意思? 其实就是把“10”这个数赋值给了“#1”。只要你赋了值,那么“#1”就等于10了。比如某段程序“G01 X10"我用  * M- m0 ^1 o, G% v- \7 a
          宏指令表示”G01 X#1" 他的意思和G01 X10“是一样的。 ( C  i' q! E% ^1 p% r9 W
    3,运算2 U  u* {8 L5 H' [) O$ C! ~
          假设我给#1赋值为10,#2赋值为20,那么#1+#2等于多少?很简单嘛,等于30。这个如果不理解,骑车去找你小学老师吧。记得要! b0 Y8 h+ S: b+ s# {7 }
          边骑边哭!后面有稍微复杂的宏程序会用到乘法,除法或者分数等等,他们的运算顺序不要搞错!如果这个不懂,同样的也哭着0 Y8 I. H$ b& _& a: S9 }
          去找你小学老师吧。, Y8 X, ~6 w5 P1 o2 |
( u0 O) M) U# `6 M& Q, L
   
$ _) z& j# y0 A5 y
言归正传!介绍下我对宏程序的理解:描述刀具在工件坐标系的位置!通俗的说就是自己要清楚刀具是怎么走才能做出零件。例如“G0 X20 ” 这程序段表示什么?表示当前刀具在直径20MM的地方,宏程序也是一样的。
9 C% ^2 g9 @" @) j' l# F) }$ f, D/ m9 u
    如图,这是最基本的车床类非圆曲线零件——椭圆。它的标准方程是:Z^2/60^2+X^2/20^2=1  (这里要说明的是,学宏程序需要有一定的数学功底,但也并不需要多么的高深,高二水平就可以了。如果达不到那么最基本的三角函数要知道)。这个方程是描述的什么意思我就不说了,没多大意义。但你要知道椭圆的基本参数:长半轴和短半轴!(如果这不知道,那去翻书吧)。此图中的长、短半轴分别是60和20。这就是在方程中我们看到的两个分母。Z、X分别代表什么呢?他们代表椭圆上的某一个点。当你的Z取60,那么对应的X值就是0。

, D+ m' u5 K# H5 p
8 y2 h# _- y5 I; R1 x" [: H     说到这,要介绍两个“点”的概念:椭圆中心点和零件原点。零件原点一般取在零件的右端面中心,这样就构成了一个直角坐标系。那么图中的任何长度方向数值,都是带负号的!这个是基础不再赘述。椭圆中心点在X0 Z-60处。区别椭圆中心和零件原点是很重要的,很多学习宏程序的人会把这两个点弄混淆!
* `, k1 l0 r( P2 C, c, F. w
7 q8 C/ J. ]0 I% R* f0 |
    下面我们做零件切削刀路分析;首先这个零件我们加工顺序是从右向左,那么刀具当是从零件右端面起切,至最左端结束(这里不考虑装夹)。那么我们怎么做才能让刀具“听话”的按照我们的思路切削呢?怎么样把我们的加工思路体现在数控程序里呢?还是直接看程序吧(只写精加工)!
8 x7 B' L: A1 y% r4 H% h
8 [5 W5 d7 B3 G  o
    FANUC 8 j) o% v, H, u) F
T0101                    (FANUC系统宏程序格式自己看书), d, h) r  ]! _9 w9 p" o2 W
S500M03) \9 R( v* r# P
G0X0Z2               刀具初始定位6 {( y8 z/ p6 ]* e1 b
G01Z0F150         慢慢走到零件右端中心
4 H: D1 {, `( f8 A#1=60                 
+ @. {- o7 Q# X1 Q7 A" {# S6 p& v2 _
我们以椭圆长半轴为自变量(什么是自变量?可以理解为自己是不断变化的数值,并且会因方程关系而影响其他数值;
( m0 g1 V5 Y/ Q% {3 K2 [, I0 {- Y这个值有正负之分。取决于需要加工的部分是在椭圆中心点的哪边。这里取60,是因为图中椭圆要从最右端加工,而最
8 L0 q( q' f5 N# O# q右端的坐标值相对于椭圆中心是60。因此长半轴、短半轴的取值不是由零件原点决定,而是根据椭圆中心决定的,需格
5 z+ Q& f: D2 b! L7 G3 }6 X外注意!)0 [' B& F9 ~# }6 S9 v/ ^5 a
                             ' s, o+ p+ Q3 m8 X5 P
WHILE [#1 GE 0] DO1    这句话的意思是:如果#1的值大于等于60,那么就一直执行DO1、END1里的程序段,直到不符合条件!
# P- S5 I: L( t# g# K1 U( D% A1 J# V, ~7 t3 h
#2=20×SQRT[1-#1*#1/60/60]     此程#2表示椭圆短半轴,跟着长半轴变化而变化。"SQRT“表示根号。具体符号意思看书吧。6 f7 y* F& J7 Y' F8 w

3 W1 n  A! R. E, c* ^/ yG01X[#2*2] Z[#1-60]     . q; H2 V, O" T7 F3 o, @
9 z. {+ Y& F" d8 M! H* b
这里是重点!我认为这是宏程序的核心!前面说过,宏程序其实就是描述刀具轨迹且具有逻辑运算的程序。这一, S+ N; d3 }; ^5 C
步直接关系到程序的正确与否!首先说明为什么#2要乘以2。因为这里的#2表示短半轴,可以理解为零件X方向单
/ J% R7 n/ m* c* x0 X边值。那么在实际零件里,是双边的值才对,所以要乘以2!重点是Z值!!!!!!!
, p/ e3 C. \  v9 ^# ~% \6 t* n3 w
- |+ D4 S, n2 X0 p* z
我们先想想,做这个零件,刀具肯定是从右向左加工的。也就是说Z值是从“-1到-2再到-3一直到-60”的顺序变化的。如果这个Z段改为”Z#1”那么会怎么样? 我们发现他的第一刀在Z60处!因为#1=60!而我们加工时第一刀应该在Z0!如果#1一直减小* F6 ?& f& ?8 Y% b
那么Z加工方向是对了,但值却不对。他是从60一直加工到0。加工完我们就会发现根本没做零件,走了空刀而3 K- {* _& B9 s: {1 |! n
已!那我们需要的是从0加工到-60。所以重点是怎么样才能把他的第一刀定位在Z0!其实很简单,我们给他点“障, V$ [0 f" I0 q  B% {4 r. t" q3 i
碍”,在#1后面减去60。那么第一刀就会在Z0了。因为60-60=0。。。好,我们看看对不对。第一刀Z0,第二刀Z-1(0 M( z$ b$ r4 u8 J& X/ m) `( Z6 j1 `
这里假设#1每次运算后,减1)第三刀Z-2(程序Z[58-60]的缘故),我们就发现Z值和他的方向都是对的!总而言之
# i$ L* K7 V) D$ H' \8 V: sZ向的第一刀在你选择加工的初始点上就可以了!如果把零件原点和椭圆中心原点设置在一起。那么Z段程序就应
0 N5 R, e* K. d2 Q+ n该是“Z#1.这里面的奥妙自己摸索,已经讲的详细了。( q+ H$ X8 A- E
" I' ~- I1 j* N0 u2 E9 w

+ r! h/ ?) C" _0 f1 O' k+ e#1=#1-1                        . B  {9 D- g1 _; n' V8 ^

7 z9 z, m( W% W4 V# G这程序段意思是#1每经过一次运算后递减1。(一般递减值不会这么大,0.1就可以了。只是这里取1是为配合上面
0 D# N5 L7 l! g3 ~& F5 M# v的讲解)- p! d) E3 ^& w* y$ p
: \9 k/ V4 T6 L  g
END1
2 I( x2 U2 E0 x# f  F9 N& OG0X1000 Y1 U3 ], S+ l0 f1 I
Z100& i0 l; g$ b! K7 n
M30
% g7 d* E+ D% |  `5 U' R。。。。。。+ [* H1 A6 r2 [
这里用椭圆的加工做了宏程序的基础讲解。其实宏程序的编制就是控制刀具的,只不过多了点运算,加减乘除等等。当然,复杂的也有,而且相当复杂,比如,如何在三爪卡盘上不加垫片的方式车偏心零件。加工中心机床中,如何用宏编制立体五角星或者空间曲面等等。3 Q; Y: |& ^5 U  m. B1 h

9 }4 {5 b$ \# H3 L- `/ B            以上文字没有使用半点“文学方面”的文采,全是白话文。华而不实、咬文嚼字的资料,已经很多我就不写了,通俗就是最好的。2 E9 a! f2 g. c$ I4 m# w' s% H3 _
  & a) c4 P; y, p& b9 r$ s% r
           由于是分两天写的资料,可能衔接的不太好;或者有什么错误还望指出。

本帖子中包含更多资源

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

x

评分

参与人数 1威望 +30 收起 理由
老鹰 + 30

查看全部评分

回复

使用道具 举报

发表于 2014-11-18 16:38:33 | 显示全部楼层
非常好,我初中毕业的都看懂了,但实际是用要难的多吧?
回复 支持 反对

使用道具 举报

发表于 2014-11-18 16:42:44 | 显示全部楼层
是原创吗?

点评

应该是  发表于 2014-11-18 18:12
回复 支持 反对

使用道具 举报

发表于 2014-11-18 19:51:44 | 显示全部楼层
谢谢分享,学习
回复 支持 反对

使用道具 举报

发表于 2014-11-18 19:55:42 | 显示全部楼层
广数用的是宏A。
# M+ ^, B2 n* v# n& e其实,A和B,是表达方式不同。

点评

近几年出的系统都支持B类宏  发表于 2014-11-18 22:32
回复 支持 反对

使用道具 举报

发表于 2014-11-18 21:04:38 | 显示全部楼层
应该是楼主原创的,幸苦了。2 a2 ]  r! }) n  g
但需要更指一点:A类我从来不看,同时我也相信99.99%是用不到的。如果你钻这个牛角尖去看A类宏程序,用网络流行语来说,你就是闲的蛋疼!。在逻辑语言横行的今天,B类用着确实比A类宏方便的多,但是在早起的数控系统(早期的凯恩帝和广数)并不支持B类宏的输入,它们只能用A类宏/ f: d0 S( S: n+ X
有机会可以多多探讨宏程序也是不错的,貌似楼主倾向于数控车
回复 支持 反对

使用道具 举报

发表于 2014-11-18 21:08:15 | 显示全部楼层
学习了,学习了…………并感谢楼主的通篇平实易懂的讲解…………
回复 支持 反对

使用道具 举报

发表于 2014-11-18 21:10:29 | 显示全部楼层
应该是原创吧  挺好的  主要佩服你这么有耐心些这些东西
回复 支持 反对

使用道具 举报

发表于 2014-11-19 19:46:13 来自手机 | 显示全部楼层
只讲了些皮毛,真的不能在皮毛了。不过我还是喜欢西门子的系统,FANUC的简直废到渣。
回复 支持 反对

使用道具 举报

发表于 2014-11-22 10:06:43 | 显示全部楼层
谁有数控仿真软件,   我想校验宏程序yong。谢谢了大侠。   Q453657396
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 00:50 , Processed in 0.066353 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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