| 作者 | 主题 |
|---|---|
|
手机用户20190222358865 游侠 经验值:365 发帖数:19 精华帖:0 |
楼主
主题:分享一个西门子手册上一个标准的换刀宏程序 N10 PROC L6 ;SBLOF DISPLOF SAVE 定义L6宏子程序 N20 DEF INT _ACT,_NWT ; Integer Active Tool Data 定义变量 _ACT, _NWT N30 STOPRE 停止预读 N40 GETSELT(_NWT) ; Order Tool Number 将预读的系统刀号,赋值在_NWT中 N50 _ACT=$TC_MPP6[9998,1] ; Current Tool Number 将主轴刀号,赋值在_ACT中 ;N60 IF($P_SEARCH2<>0) GOTOF END2 若搜索(不带计算)功能激活,则跳转到END2程序段 ;若取消,使用不带计算搜索时,将不执行换刀动作。 N70 IF(($P_SIM==1) OR ($P_ISTEST==1)) GOTOF END1 如果是sinutrain模拟或者测试测试激活,则跳转到END1 N80 IF ((_NWT==_ACT) AND (_NWT>0) AND (_ACT>0)) GOTOF INFO1 如果预备系统刀号==主轴系统刀号,且预备系统刀号>0,主轴系统刀号>0 跳转到INFO1 N90 IF ((_NWT==_ACT) AND (_NWT==0) AND (_ACT==0)) GOTOF INFO2 如果预备系统刀号==主轴系统刀号,且预备系统刀号==0,主轴系统刀号==0 跳转到INFO2 N100 STOPRE 停止预读 N105 D0 取消刀具补偿 N110 SPOS=$MN_USER_DATA_FLOAT[1] 主轴定位 N120 G153 G0 G90 Z=$MN_USER_DATA_FLOAT[0] Z值提到换刀点 N130 STOPRE 停止预读 ;判断大刀、固定刀具 IF (_ACT<>0) and (_NWT<>0) 如果预备系统刀号≠0,主轴系统刀号≠0 if ($tc_tp3[_ACT]>1) or ($tc_tp8[_ACT] B_AND 'B1000000')) 如果是大刀 或者 是固定刀杯位 T0 换刀到T0 M206 stopre 停止预读 T=$TC_TP2[_NWT] T=预备刀具 ENDIF endif N140 END1: N150 M206 ; Tool Change Order 换预备刀具 N160 END2: N170 STOPRE N180 M17 主轴定向 N190 INFO1:MSG("**** 预选刀具=主轴刀具****") N200 G04F3 N210 MSG("") N220 M17 N230 INFO2:MSG("****主轴无刀****") N240 G04F3 N250 MSG("") N260 M17 精通840D以及SIMOTION系统,欢迎指教,QQ:316303936
long time no see
|