找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 275|回复: 0

[资料] 基于810M的随机换刀控制

[复制链接]
发表于 2011-6-11 11:39:15 | 显示全部楼层 |阅读模式

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

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

×
“随机换刀”是带机械手换刀的立、卧式加工中心所必备的功能之一,它可以提高换刀速度和简化换刀动作。在一般情况下,加工中心的随机换刀大都是由CNC本身所具备的“随机刀具交换”这一附加功能进行控制的。然而这一功能在常用的普及型CNC上往往是不具备的,这时就需要机床生产厂家在普及型CNC上已有的“用户宏程序”或“参数编程”功能基础上,通过开发专用的换刀程序来实现这一动作。可以这么说,只要程序设计得当,普及型CNC同样可以方便、可靠地进行随机换刀。本文将就SIEMENS 810M通过@宏指令,结合PLC程序实现随机换刀的方法作一介绍,以供同行参考。
  [4 e+ R& P# u: q1 机床的动作要求0 z& r7 Q/ V4 P; P5 P2 a
  本文所述的机床如图1、图2所示。机床的换刀机构由刀库、支架、滑板、机械手这四大部分组成,刀库容量为60把,采用随机换刀方式。其中支架、滑板、机械手的动作都由液压控制,刀库回转采用的是比例阀加油马达的驱动方式。换刀过程简述如下:
# l, B* W" @" j8 o, Q0 D/ M 20071279112.gif
  v9 ]- g# p3 U5 c; H图1 机床示意图
( L! Q: M1 U; S: Q  1.刀库 2.支架 3.滑板 4.机械手
, z: p  m6 M8 X! k9 v3 F 20071279115.gif $ h6 w; a: \2 c# g5 b8 t
图2 机床布置图% E( e9 J& W1 P  e) D, B
1.机械手 2.冷却箱 3.滑板 4.支架 5.主轴 6.液压站 7.电柜 8.交换台 9.排屑器7 k& e  y1 C' l8 B# x
  (1)Y、Z轴快速移动到换刀点,刀库回转,将要交换刀具送到刀库换刀位;
- L. U4 W. k3 n; ~3 l' ~  (2)滑板向刀库运动,并通过机械手的伸出取下刀具(刀库上刀具的松开及机械手上爪子的松开和夹紧都由机械联动装置自动实现);3 m" F4 H: n$ x, S! |- r
  (3)滑板回到中间位,机械手缩回(这时左侧爪子已装好刀具);7 d9 a# G9 n& T: w: G1 H- x; N
  (4)支架向主轴方向旋转90°,滑板向主轴方向移动,右侧爪子和主轴上的刀具啮合;
( i& Q% V$ j$ y- G% Y2 U  (5)主轴上刀具松开并通过机械手伸出取下主轴上的刀具;
* s4 O+ ~; \' L- [2 C9 W  (6)机械手回转180°,交换左、右侧刀具,装要交换的刀具将入主轴并夹紧;
9 r- J# R9 }; ~0 {. s% g. f" S3 q  (7)滑板回到中间位,支架返回到刀库侧;+ o6 T! X5 I! S" f
  (8)机械手伸出后滑板向刀库运动;
- B* H- b: S: D& z$ }  (9)机械手缩回将原主轴上的刀具装入刀库现在换刀位;
& j- E& I% b, T  t  (10)滑板移到中间位(刀库上的刀具由机械联动装置自动锁紧),完成整个换刀动作。+ w4 ^- c( n2 ]& Y$ r
  由于以上动作都是由电磁阀控制,通过油缸动作实现的,控制上只须一般的PLC程序就可以简单地满足要求,本文不再进行分析。下面着重介绍一下随机选刀的动作实现方法。
) Y# m& u5 b8 u. \' c2 随机换刀的参数定义
5 T" M& j! M# x+ w7 G+ W' X8 @  为了实现机床的随机选刀,首先要在CNC上建立“随机刀具表”。由于810M内部具有R0~R200及R900~R980近300个R参数可供用户使用,这对于普通加工中心来说建立“随机刀具表”已经足够了。而且这些R参数也象“机床数据”那样可以通过密码或钥匙进行保护,也就满足了刀具表的可靠、正确的要求。( \  F4 s& j- G  z# s: d/ l) h
  在本机床中我们是将R101~R160这60个R参数定义为刀座号,对应的值即为该刀座上所装的刀具号(T1~T60)。这60个R参数的内容在首次刀具装载时应予以初始化设置,即完成初始化刀具和刀座的分配。如:当10号刀座装有T15刀具时,只须在CNC的R110下输入R110=15即可。% r0 I- X" ]- S, p& l! ~+ C0 J
  除此以外,在首次刀具装载后以下参数必须定义:: k2 `, `- \+ v
  R90 Y换刀点坐标(单位:mm);: U  u4 G2 @; Y2 ~7 y6 c2 m2 ]# W" ]" @
  R91 Z换刀点坐标(单位:mm);& j8 @; @+ _# u& w
  R96 刀库现在换刀位的初始刀座号;
) G4 X; D2 \, x7 V; e! I% k  R93 首次换刀时主轴上已有的刀具号。
# h5 ^7 ?' E/ G" q  执行换刀程序时定义如下M功能供换刀使用:9 p2 J3 h' s9 |8 V4 _/ U
  M69 自动换刀程序运行标志;- ~6 O6 C" P, q" d7 F
  M89 自动换刀程序运行结束标志;( L/ n8 {$ @$ }
  M84 刀库反转指令;
6 B, u# ~/ i9 b6 t) ~  M85 刀库正转指令;# F* {( f$ {% E; S, |& r  n. d; Q% \
  M90 要转过的刀位数传送到PLC;% k. A2 Q7 ?' _
  M91 要转过的刀位数写入计数器C1;
8 D- D$ B  m7 g9 w7 p  M87 换刀出错标志。* l. H+ |# u1 g3 c) f5 X4 }9 ]  u
  在以上参数里R90~R160只需要在刀库刀具被重新手动装载后才需要定义。在自动运行过程中由程序控制进行自动交换,并被自动记忆,即使断电也保持不变。
" ^& Y* `/ J  n" C3 自动换刀子程序
7 E: v5 k% W; e6 ?. L  自动换刀子程序如图3所示。子程序代号为L06。换刀子程序的调用只须在加工程序里编入以下指令即可:. Z3 c( @' K: e1 q
  N××× T×× L06;* a' ?& L: u# l& P
  换刀子程序说明如下:% Q$ u  _" j5 P3 B( Y, P  ]7 j
  (1)Y、Z快速移动到换刀位置;. P, g% X8 J; V! [+ R5 ~  o. A
  L06;
6 `5 w$ D& H9 h8 i7 K  J: ?& h! ?  @714;% q- N, F! a; v/ ^5 b2 Y
  G00G54G80G90G40D0;
: U. y$ a4 o; ^# h  Y=R90 Z=R91;9 B% X" |8 D) j# x1 b) p
  M69;              (1)
' Y. b: O3 I9 \  @  --------------
) _+ H' l+ S0 B' J; q  @714;
& j7 z, f3 m  {3 c9 f7 J- {  R92=R92/100;) |9 P4 L% C+ B4 ?3 h$ T
  @123 R92 K0 K99;
3 g$ H: r7 i% D& O; o. O& m, F  @124 R93 K0 K99;        (2)
' J" Z" l7 f5 t8 E8 J0 G  @123 R96 K0 K99;9 c& z8 j4 ^8 ^8 M
  @126 R92 K60 K99;# ^  U* e) t, [; I" S7 [" x
  @126 R93 K60 K99;: B  \$ L4 w+ ]% z0 ?% u! F
  @126 R96 K60 K99;3 I  A% a: _. s" j, C3 j9 S
  @122 R92 R93 K100;
6 L5 V5 ~: m; s+ s1 n1 S4 m  R4=R96 100 @111R92 P4 K80;0 A/ ~. E: p; h. {  Q$ i; n2 D! A
  --------------
5 L+ @/ \2 v% x( i  @714;; W# t- S; y) _4 @+ Q+ `# m6 X+ b6 j, i
  @111 R92 R101 K1 R102 K2 R103 K3 ……R160 K60;
5 x: W" ?% H/ H; F' sN1 R1=101 @100 K70;        (3)' D  x- a6 E( |) Y
N2 R1=102 @100 K70;
( ^3 U1 w9 L% E# \! n: V; o; u  Y  200712791142.gif
2 ~! z1 g2 H3 p$ o  g$ C2 _N60 R1=160 @100 K70;, d% E4 Q8 b$ F
  @100 K99;$ x, ~/ a1 h- R3 V
  --------------& q/ E5 c/ d! j% l% f% G; b& B+ c
N70 R2=R1-100 R8=R2;
, a/ p" ]& I+ \7 n" Z1 R! R& _- b- }  @124 R96 R2 K71;
+ v# _  ?; i+ V5 Q1 M  Z6 ~  R2=R2 60;9 Y8 D8 Z, {" v6 o; O6 s
N71 R3=R2-R96;
: c9 A) G3 `; I7 L8 t  @123 R3 K30 K72;        (4). t$ v/ |  U) d- e. m4 v) U
  R5=60-R3;
" \4 k+ s) r& C/ V  B  R6=84;/ g/ p9 s$ o$ v; g7 R4 y
  @100 K73;
- K! X7 Z0 W" W' ?, {N72 R5=R3;
; x  y2 p2 P( o1 x  R6=85;$ `4 ^7 |9 b4 m
  --------------
7 N8 d$ t, e% j0 Y: [, E7 TN73 @714;
- U6 c" I' n7 D0 k  R98=100*R5;
8 w4 T8 m1 s) e1 V) Z  M90;              (5)
! [/ d. F& ]$ ]- m# A  M91;5 z( `5 d$ W( i% \2 d4 E
  M=R6;
# L0 V) a% C: l7 x7 y" r0 D  --------------) L6 U; M. V: |( R
N80 (ATC START)8 H0 W% E! Y9 S1 R+ O/ \6 |: a' I% g; w
              (6)6 n$ b) E; R2 k& a
     / N5 g0 a, `4 L% _5 ~1 @+ i
  --------------
9 t* U- O. y* g' CN82 @714;4 C8 ~! J  P# \4 \+ G* ^; r7 y
  @201 P1 R93;
3 u! z8 i: b' o9 b3 }  R93=R92 R96=R8;         (7)3 I( I4 Q  f2 O  [5 P: J
  @714;
' F6 S" t8 m$ Q, M' `  @100 K100;/ s3 @, H( F/ y% d
  --------------; v! j' z7 x6 {- F7 Q* A8 D8 M
N99 M87;
5 k" {+ |/ L/ D' ^  @100 K100;           (8)" J( L/ l- Z  t* C, K5 ?8 {
N100 M89;
  L8 M8 H  |; T& H) ~; `  M17;              (9)
8 \# L' a. u7 }4 G2 ?4 [7 v1 e  B! |4 q  ---------------
6 _, J9 J, t5 E6 L- R/ A, u/ W4 d图3 自动换刀子程序
6 c& i3 E( P! g7 }( q6 a  M69为换刀程序开始运行标志。此信号可以用于PLC程序作互锁用,如主轴的强制定向准停,关闭冷却液,打开防护门等。  _; X7 c. w, O' u" W6 k
  (2)检查初始化设置值及编程的刀号是否错误,出错时CRT显示报警并停止程序运行。
( R2 W) }9 p. _% c, Z6 K! H. K  其中,R92为由PLC程序传送至CNC的编程刀号,这一刀号要作除以100处理。@123为大于判别;@124为大于或等于判别;@126为小于或等于判别;@122为不等于判别。
( D, H3 ^9 a; T! H, ?# c  如:@123 R92 K0 K99为当R92(编程刀号)≤0时跳转到N99(ATC,ALM)。# j- n# z( B5 D5 O. K
  @111为连续比较指令,当R92和R4的内容一致时,跳到N80(此时相当于要换的刀具正好在现在换刀位)。P4为间接寻址,即由R4内容作为地址的R参数内容与R92作比较,一致时跳转。+ C7 g6 c( S# s5 `# R
  (3)寻找刀具表中与编程刀具一致的刀座号,并将这一刀座号写入R1;
9 j# B& r: D: p* ]0 r( S  (4)计算要转过的刀座数,并判别转向。当R6=85时为正转,R6=84时为反转,要转过的刀座数存放在R5中,并经以下程序段转换到R98中。+ L3 b  M& N8 y2 S$ O: \
  (5)将要转过的刀座数传送到PLC的内部标志字节FY196中(字节型式,BCD码)及刀座记数器C1中。M=R6为刀库转指令(M84:反转,M85:正转)。# \! d- Q! r: j0 {
  (6)自动换刀电磁阀运动程序段,这一段可以由PLC控制,亦可由CNC的M代码控制。动作包括刀库转、支架运动、滑板运动、机械手动作等。这些动作由于控制较简单,在此从略。
* C7 y9 p6 N4 |. @! `4 b/ N5 t: B- T  (7)自动换刀完成后的刀具表自动调整程序。
# s. ^& k6 X1 ?  @201 P1 R93是将原主轴上的刀具号写入以R1内容为地址的R参数中,即修正随机刀具表。  q8 J$ U# r5 I. @& j5 M/ q
  以下为修改主轴上的刀具号及现在换刀位的刀座号的程序段;( [, q7 u8 b8 l- w8 M) H( r0 k
  (8)自动换刀出错报警段;+ S2 z0 y, n: F$ a
  (9)自动换刀结束(M89)和子程序结束(M17)标志。  E- B+ g& [( c7 C. b: d0 j: h
4 自动换刀PLC程序; ?& G8 V) ?; g& d" R
  与L06相对应的PLC程序如图4所示。程序中Segment1为将CNC中的R98(要转过的刀座数)传送到PLC的内部标志字节FY196的程序段。Segment2是刀库回转时的记数信号生成程序段,其中I13.5为PLC输入的计数开关信号,经处理后在F148.1内部标志位里获得上升沿,供计数用。Segment3为刀库回转控制程序段,各内部标志位的作用定义如下:
) h% U! v( U9 E% }5 q( g8 x# u  F49.2:M90指令脉冲(CNC内部生成);3 h9 Y- H2 r/ ~( S4 W* {5 p* }
  F49.3:M91指令脉冲(CNC内部生成);
/ F# n& Y% h1 c  F166.6:换刀程序运行标志;
! C* v$ Z1 \6 I9 B  F148.1:计数脉冲(边沿信号);& t/ b* {2 E. j# w9 g7 F" }2 }- f
  F161.0:刀库减速指令;
% H+ x2 _/ Z7 t! P) e  F161.1:刀库快速指令;
/ H4 Z; i6 u# ?; X  F161.2:刀库停止指令;/ L4 d' @% r  r
  C1:刀库回转计数器;(CD为减计数);1 x4 W7 Z# U  X$ C* k4 D- [: p7 Q0 q' J
  Q0.6:刀库停止输出;
+ Y2 e- i$ s/ D( t% L! }  其动作过程如下:9 }8 C0 i& {+ C
  (1)当CNC输出M90时将L06中计算出的要转过的刀座数写入FY196;& j! s" h# g  d) P
  (2)当CNC输出M91时将FY196内容写入计数器C1,作为预置值;4 P) a; ^. |$ o' x4 _$ j
  (3)自动选择刀库回转速度,当要转过的刀座数大于1时,刀库为快速(F161.1=“1”);当剩余的刀座数小于等于1时,刀库自动减速至慢速(F161.0=“1”);当剩余的刀座数为“0”时(F161.2=“1”),刀库到位后即停止转动。有关FB61及PLC编程指令说明可参见SIEMENS 810编程说明,在此从略。
6 |# }6 n4 `) h8 S8 j图4 自动换刀PLC程序
/ x6 o8 [/ Y( ?5 结束语
9 b- d6 g- s% ^, M0 m2 X! N1 f+ [6 B  以上自动换刀子程序和PLC程序经实际长时间运行证明,换刀动作可靠,操作简单,特别是它不需要每次开机对刀库的回参考点操作,为操作者提供了方便。而且整个刀库控制的检测仅仅需要安装一只每刀位发讯一次的记数开关即可,节省了成本。这是本程序的优点。但采用这种控制方式的缺点是,由于810M第二通道无法输出M指令,因此在换刀动作前无法将要更换的刀具事先转到刀库的换刀位上,因此将要延长自动换刀时间(约需2~3s)。这一时间的延长对于本文所述的机床来说虽然是微不足道的(本机床由于支架、滑板、机械手动作复杂,换刀时间要求为40s),但对于要求换刀时间很短的场合,采用本方式换刀应注意到这一点。
% J) S5 U& g- I9 m' C& W/ [" Y文章关键词:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

中国磨削网

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

GMT+8, 2025-3-5 05:35 , Processed in 0.146244 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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