对于斗笠刀库的应用背景和结构我们这里不做过多的介绍,详细的介绍大家网上百度都可以查到,大家见到的不管配谁家的系统斗笠刀库的应用都是梯图编程为主结合简单宏程序实现换刀过程,问题来了,对某家系统梯图只有简单认识和编辑,只会编输入输出定义M代码,其他功能指令一概不知,这样情况下有无办法增加一个斗笠刀库?针对这种情况,给出下面的思路,此思路仅仅依靠简单PLC编程为辅和宏程序编程为主就可以实现,彻底解决了PLC编程难的问题,下面我们就直接进入话题,以凯恩帝系统为例进行说明:
-
- 定义宏变量且正确赋值,如下:
#710(总刀数) = 24sl // 刀库总刀具数
#711(机械零点) = 0sl // Z轴机械零点坐标默认0 单位mm
#712(第二参考点) = -50sl // Z轴第二参考点机床坐标 单位mm
#713(第三参考点) = -10sl // Z轴第三参考点机床坐标 单位mm
#714(目标刀号) = 14u // 保存换刀完成后的刀号;首次调试手动改为位置页面的刀号
#715(当前刀号) = 14s // 刀库当前正对主轴的刀号;首次调试手动改
为位置页面的刀号
#716(换刀标志) = 0s // 换刀是否完成标志 完成为1;首次调试手动
改为0
#717(主轴有无刀) = 1s // 主轴无刀为0,有刀为1;第一次换刀建议主
轴不装刀
- 输入宏程序:
- 定义宏变量且正确赋值,如下:
拷入此程序前需要了解程序中红字字体部分,里面涉及到刀库的输入输出,下面梯图是按标准定义编的程序,如果实际现场输入输出定义不同,首先需要依据下面输入输出对应的F/G正确修改程序,输入输出对应的宏变量及接口如下:
输入对应宏变量及接口
输出对应宏变量及接口
程序示例如下:
%
O9006 ;
#100=1 (开始判断#710及以后变量是否赋值 为空报警);
N2 IF[ISNULL[#[709+#100]EQ1]]GOTO1;
#100=#100+1;
IF[#100LE8]GOTO2 (结束判断#710及以后变量有无进行赋值);
IF[[#714LT1]OR[#714GT#710]]GOTO7 (刀号不合理 跳转N7) ;
IF[[#714LT1]OR[#714GT#710]]GOTO7 (刀号不合理 跳转N7) ;
IF[[#4119LT1]OR[#4119GT#710]]GOTO3 (指令刀号不合理 跳转N3) ;
IF[[#4119==#714]&&[#716==1]]GOTO250 (首次调试将位置页面显示刀号输入至#714 指令刀号等于目标刀号 跳转) ;
/M51
#1132=8(M53 刀盘回 F14.3=1);
/N12IF[#1032NE128]GOTO12 (刀库拉回到位 X1.1 G14.7)
#1132=0
G0 G90 G53 Z#711;
#102=#5013 ;
G04 ;
IF[#102NE#711] GOTO8 ;
/M19;
IF[#717==0] GOTO9;
G0 G90 G53 Z#712;
#102=#5013 ;
G04 ;
IF[#102NE#712]GOTO8 ;
#1132=4 (M52 刀库伸出 F14.2=1);
/N13IF[#1032NE64]GOTO13 (刀库伸出到位 X1.0 G14.6)
#1132=0
/M50
#716=0;
#717=0;
G0 G90 G53 Z#713;
#102=#5013 ;
G04 ;
IF[#102NE#713]GOTO8 ;
IF[#717==1] GOTO10;
N9 #716=0;
G0 G90 G53 Z#713;
#102=#5013 ;
G04 ;
IF[#102NE#713]GOTO8 ;
#1132=4 (M52 刀库伸出 F14.2=1);
/N15IF[#1032NE64]GOTO15 (刀库伸出到位 X1.0 G14.6)
#1132=0
/M50
N10 ;
IF[#714GT#4119]GOTO11;
#105=FABS[#4119]
#106=[INT]FABS[#714-#105]
#714=[INT][#714]
IF[#106GT[#710/2]]GOTO5006;
#103=[INT]FABS[#105-#714];
#714=[INT][#714]
IF[#103EQ0]GOTO12
N28
#1132=16(M54 F14.4=1);
#104=0 ;
N16IF[#1032NE0]GOTO16 ;
N17IF[#1032NE1024]GOTO17 ;
#104=#104+1 ;
IF[#715GT#710]GOTO19
#715=#715+1;
IF[#715GT#710]GOTO20
GOTO5
N20#715=[INT]FABS[#715-#710]
GOTO5
N19
#715=[INT]FABS[#715-#710]
N5
IF[#104LT#103]GOTO16;
#1132=0;
GOTO12;
N5006;
#110=FABS[#4119]
#103=[INT]FABS[#710+#714-#110];
#714=[INT][#714]
IF[#103EQ0]GOTO12
IF[#4119EQ#715]GOTO12
N27
#1132=32(M55 F14.5=1);
#104=0 ;
N21IF[#1032NE0]GOTO21 ;
N22IF[#1032NE1024]GOTO22 ;
#104=#104+1 ;
IF[#715GT#710]GOTO23
#715=#715-1;
IF[#715LE0]GOTO24
GOTO6
N24#715=[INT]FABS[#715+#710]
GOTO6
N23
#715=[INT]FABS[#715+#710]
N6
IF[#104LT#103]GOTO21;
#1132=0;
GOTO12;
N11
#107=FABS[#4119]
#108=[INT]FABS[#714-#107]
#714=[INT][#714]
IF[#108GE[#710/2]]GOTO26;
#103=[INT]FABS[#107-#714];
#714=[INT][#714]
IF[#103EQ0]GOTO12
IF[#4119EQ#715]GOTO12
GOTO27;
N26;
#109=FABS[#4119]
#103=[INT]FABS[#710+#109-#714];
#714=[INT][#714]
IF[#103EQ0]GOTO12
IF[#4119EQ#715]GOTO12
GOTO28;
N12;
G0 G90 G53 Z#712;
#102=#5013 ;
G04 ;
IF[#102NE#712]GOTO8 ;
#717=1;
/M51
#1132=8 (M53 刀盘回 F14.3=1);
/N18IF[#1032NE128]GOTO18 (刀库拉回到位 X1.1 G14.7)
#1132=0
G90 ;
#716=1;
IF[#715NE#4119]GOTO4
#714=#4119
N250 M99;
N1 ERR[1,”#710及之后的某一个或几个变量未赋值,请按变量下方汉字提示正确赋值”] ;
N3 ERR[1,”指令刀具号不合理”] ;
N4 ERR[1,”换刀异常!指令刀号与当前刀号不一致 请执行T#714更新位置页面刀号然后再重新换刀”] ;
N7 ERR[1,”禁止换刀!当前刀号或目标刀号赋值异常,换刀前请将位置页面刀号输入#714/#715/#718″] ;
N8 ERR[59,”参考点确认失败 请检查坐标”] ;
%
3.简单修改标准梯图:如下
4.确保位置页面刀号与#714、#715相同后,执行换刀代码“M6 TXX”开始换刀
5.换刀动作:
6.宏变量定义文件及换刀子程序下载链接
长按下方链接地址,选择“选择复制”,选择“打开”,选择一种游览器即可
https://pan.baidu.com/s/1Lras7YCP1LDXYVMaZig8rA
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【公众号:knd1993】,仅供大家学习交流,如侵权请联系站长删文。