分享好友 数控技术首页 数控技术分类 切换频道

西门子用户循环开发技巧

2019-02-13 00:005110

内容摘要:本文主要介绍了西门子数控系统循环开发的一些技巧,并通过实例来说明其中一个自定义循环,对于扩展系统功能、简化编程、缩短程序长度有很大帮助。


因为西门子系统在用户手写程序功能扩展方面比较强大,所以我厂一直都是自己开发循环配合西门子循环组合使用。因为西门子标准的循环要考虑很多问题,尤其是安全问题,这就制约了程序的功能,现重点介绍下我厂最早开发的一个用户循环。此循环开发之初是为了在镗孔时使刀具在距离最终深度一定距离时,自动地改变进给和转速。程序源代码(参数和标准循环顺序一样,各参数为返回平面、参考平面安全距离、最终深度坐标、孔深、距离最终坐标需要变换的距离、变换后的进给及变换后的转速)如下:
%_N_TMK_SPF
$PATH=/_N_CUS_DIR
PROC TMK(REAL RTP,REAL RFP,REAL SDIS,REAL DP,REAL DPR,REAL RJS,REAL JSF,REAL JSS) SAVE SBLOF DISPLOF
VERSION: 11.5.31 MAY 31, 2011
CHANGE : 11.5.31 MAY 31, 2011
DEVELOPER: KECHENGCUI
DEF REAL RBLS,RF,RJSF,RJSS
DEF AXIS A_3
DEF INT IPB5
DEFINE LX AS G01 G60 G90
DEFINE LY AS G00 G64 G90
A_3=$P_AXN3
RBLS=$P_S[1]
IF ($P_SUBPAR[2]==FALSE)
  RFP=$AA_IW[$P_AXN3] SDIS=0
ENDIF
IF ($P_SUBPAR[4]<>TRUE)AND($P_SUBPAR[5]==TRUE)
DP=RFP+DPR
ENDIF
IPB5=(RFP-DP)/ABS(RFP-DP)
LY AX[$P_AXN3]=SDIS*IPB5+ RFP
RF=$P_F
IF $P_SUBPAR[6]==TRUE
  LX AX[A_3]=DP+RJS*IPB5;
  IF JSF<0;
    IF ABS(JSF)<1
      RJSF=ABS(JSF)*RF
    ELSE
      RJSF=RF/ABS(JSF)
    ENDIF
  ELSE
    RJSF=JSF
  ENDIF
  IF ($P_SUBPAR[8]==TRUE)AND(JSS<0)
    IF ABS(JSS)<1
      RJSS=ABS(JSS)*RBLS
    ELSE
      RJSS=RBLS/ABS(JSS)
    ENDIF
  ELSE
    RJSS=JSS
  ENDIF
  IF $P_SUBPAR[8]==TRUE
    LX AX[A_3]=DP FB=RJSF S=RJSS
  ELSE
    LX AX[A_3]=DP FB=RJSF
  ENDIF
ELSE
  LX AX[A_3]=DP
ENDIF
G04 S2
IF RBLS<>$P_S[1]
  S=RBLS F=RF
ENDIF
IF ($P_SUBPAR[1]==TRUE)AND($P_SUBPAR[2]==TRUE)
  LY AX[A_3]=RTP
ENDIF
M17
上面程序只有一个减速的功能,下面是使用实例:
G54 G90 G00 X0 Y0 Z100 D1
S300 F60 M3
TMK(100,0,5,-50,,5,20,350)
M5
G00 SUPA Z0 D0
M30
程序先定位然后主轴正转,刀具定位到参考平面的安全距离处,然后以循环外设定的进给和转速加工到孔底坐标的减速距离处,进给变为循环设定的进给,转速设定为循环设定的转速,进给和转速都可不填或者只添一项,如果都不填就类似于一个cycle81;然后刀具返回到返回平面,返回平面可以不填,也可以是任意值,如果不是返回到安全的方向建议不填,因为不填的话刀具到孔底就停止循环,这个设计是为了和其他循环配合使用。
在我厂车间经常加工一些隔板孔,即在一个坐标上有两个以上的孔,因为西门子的标准循环不允许返回平面,而在参考平面的另一个方向,或者加工完成后停留在孔底不返回,所以在编程时只能用“G0”“G1”这种代码写几行甚至十几行程序,计算和修改都很麻烦,后期维护也比较麻烦。此循环设计就完美解决了这个问题,下面是三层孔的加工程序:
G54 G90 G00 X0 Y0 Z100 D1
S300 F60 M3
TMK(,0,5,-50)
TMK(,-100,5,,-50)
TMK(100,-200,5,,-50)
M5
G00 SUPA Z0 D0
M30
程序加工完第一个孔,由于没填参考平面,所以程序加工到孔底就没有后续动作了,循环结束;进入下一个循环,下一个循环正常执行,结束后没有返回数据,所以不返回,进入下一个循环;最后一个循环到孔底后,有返回平面数据,所以执行返回平面。简洁明了,方便维护。
此外,程序还可以写成如下形式:
G54 G90 G00 X0 Y0 Z100 D1
S300 F60 M3
TMK(-95,0,5,-50)
TMK(-195,,,,-50)
TMK(100,,,-50)
M5
G00 SUPA Z0 D0
M30
第一个循环结束后,返回到第二个孔的孔端处,由于第二个孔的参考平面没有填写,所以就以当前点为参考平面,进行加工。这段程序在铣孔倒角用的用户循环中优势明显,当同一轴线上加工多个整圆时只需填一个参数即可。
参考文献:
[1] 陈灿,刘鑫. 西门子840D数控系统数据采集的开发和实现[J]. 机械工程师,2009(5):122-124.
[2] 廖正菊,雷艳华,郑元明. 基于西门子840D数控系统的硬件配置设计[J]. 机械工程师,2009(5):122-124.

单位:山推工程机械股份有限公司  作者:崔克诚 田伍臣 刘伟 王成奎

 

举报
收藏 0
打赏 0
轻松提高数控机床精度
随着我国经济的飞速发展,数控机床作为新一代工作母机,在机械制造中已得到广泛的应用,精密加工技术的迅速发展和零件加工精度的

0评论2025-01-04314

加工中心刀具长度补偿怎么用?
在数控加工中,刀具长度补偿是一种重要的措施,用于消除机床变形、热变形等因素引起的误差,保证加工精度,从而提高培训效率,减

0评论2024-12-18400

加工中心主轴定位角度怎么调?
  在数控加工领域,加工中心主轴的定位角度是影响加工精度和效率的重要因素之一。正确调整主轴的定位角度可以提高加工质量,减

0评论2024-12-11496

简述机器人加装电主轴就选Kasite 4060ER-S的理由
  近年来,随着科技的不断发展,机器人作业已经渗透到各个领域,尤其在工业制造领域,更加随处可见。高精密切割、铣削、雕刻、

0评论2024-05-20707

机器人主轴怎么选?Kasite高速电主轴满足你的需求
  机器人发展到现在越来越受到人们的欢迎和重视,现在很多传统行业都在生产作业中引入了工业机器人,随着机器人的改进和优化,

0评论2023-10-231209

机械臂加装2.2KW大力矩电主轴,就选MSIY-80电主轴
机械臂想加装大力矩电主轴,用于铸钢等硬质材料去毛刺,铣削等加工,可以考虑MSIY-80电主轴,外径80mm,重量4.8公斤,可搭配轴向或径向浮动刀柄配套使用。

0评论2023-08-261203

每天早上打开数控机床时有没有必要热机?
工厂使用精密数控机床(加工中心、电火花、慢走丝等机床)进行高精密加工,你是否有这样的经验:每天早上开机进行加工,首件的加

0评论2023-08-151093