回复:求教高手帮助讲解一下CYCLE81的循环内容

huangdongbing

  • 帖子

    534
  • 精华

    7
  • 被关注

    1

论坛等级:侠士

注册时间:2004-11-04

普通 普通 如何晋级?

发布于 2008-11-26 20:10:44

0楼

PROC CYCLE81(REAL RTP,REAL RFP,REAL SDIS,REAL DP,REAL DPR) SAVE SBLOF DISPLOF;宏程序定义
;VERSION: 06.04.24 Mar 26, 2004
;CHANGE : 06.04.01 Nov 04, 2002
;Bohren, Zentrieren
DEF AXIS _Z;变量定义,轴型
DEF REAL HH2;变量定义,实数型
DEF INT HH7;变量定义,整数型
DEF BOOL _MDG;变量定义,布尔型
IF HH7 GOTOF _MM1B
_Z=$P_AXN3 DPR=ABS(DPR) SDIS=ABS(SDIS);读取当前Z轴坐标值,初始平面,安全高度
IF DPR ==0 GOTOF _MM1;如果深度设定不加符号跳转到MM1
IF RTP == RFP GOTOF FEHL1;如果返回平面等于,初始平面跳转到FEHL1
HH2=RFP-((RTP-RFP)/ABS(RTP-RFP)*DPR);计算孔底坐标值
IF DP==0 GOTOF _MM0 IF DP==HH2 GOTOF _MM1
N10 MSG("$80000")
_MDG=1
N1 _MM0: DP=HH2
_MM1:HH2=RTP-RFP
IF RFP==DP GOTOF _MM2
IF HH2 ==0 GOTOF _MM1A IF HH2/ABS(HH2) <> (RFP-DP)/ABS(RFP-DP) GOTOF FEHL1
_MM1A:HH7=1
_MM1B:
SBLON
AX[_Z]=RFP+SDIS*(RFP-DP)/ABS(RFP-DP) G0 G64 G90
SBLOF;关闭单段抑制
N2 G1 G60 AX[_Z]=DP
SBLON;打开单段抑制
N3 G0 G64 AX[_Z]=RTP
SBLOF
_MM2:
IF _MDG==1
MSG("")
ENDIF
RET
N20 FEHL1:SETAL(61101);61101号报警
RET

IF HH7 GOTOF _MM1B;是如果HH7赋值就执行_MM1B,这句主要是判断编程时设定的是绝对深度还是相对深度,然后用不同的计算方法来计算孔底深度.

IF _MDG==1
MSG("")
ENDIF;这是条件语句,在IF与ENDIF之间的是提示信息,如果满足_MDG==1就执行MSG(""),如果不满足就直接跳转到ENDIF之后的语句

AX[_Z];_Z在DEF AXIS _Z这句中已经被定义为轴型变量,AX[_Z]也就是_Z轴,只不过是把Z轴改了个名字.
_Z=$P_AXN3是把Z轴当前坐标读取到_Z中去
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25528条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。