通过双层循环嵌套的逻辑控制来完成可变尺寸方形试块堆焊程序。
代码段里的所使用的变量均需要进行声明
包括:
1、robottarget(目标点)用于存储机器人路径中各点的位置信息,如文中的p_zhixian_qidian、p_zhixian_zhodian等;
2、num(数值)用于控制循环或计算焊接的尺寸,如文中的zhixiangaodu、zhixiankuandu;
3、wobjdata(工件坐标)用于说明指令中的运动所在的坐标系,如文中的wobj1_sb;
4、tooldata(工具)用于说明指令中所使用的工具中心,如文中的tWeldGun。
以下链接中提供了完整可运行的模块,具体声明可在模块文件中查看https://download.csdn.net/download/ZW_finder/41950325。
PROC zhixianshijian()
zhixiangaodu := 0;
zhixiankuandu := 0;
WHILE zhixiangaodu < 10 DO
p_zhixian_qihu := Offs(p_zhixian_qidian,0,0,zhixiangaodu);
p_zhixian_shouhu := Offs(p_zhixian_zhodian,0,0,zhixiangaodu);
WHILE zhixiankuandu < 45 DO
MoveJ p_sb_aqd, v50, z50, tWeldGun\WObj:=wobj1_sb;
ArcLStart p_zhixian_qihu, v50, seam1, weld_sb, fine, tWeldGun\WObj:=wobj1_sb;
ArcLEnd p_zhixian_shouhu, v50, seam1, weld_sb, fine, tWeldGun\WObj:=wobj1_sb;
p_zhixian_jiaohuan := p_zhixian_shouhu;
p_zhixian_shouhu := Offs(p_zhixian_qihu,0,YADAOPIANYI,0);
p_zhixian_qihu := Offs(p_zhixian_jiaohuan,0,YADAOPIANYI,0);
zhixiankuandu := zhixiankuandu + YADAOPIANYI;
ENDWHILE
zhixiangaodu := zhixiangaodu + 3.5;
zhixiankuandu := 0;
ENDPROC
例行程序中的循环控制语句含义的
WHILE zhixiangaodu < 10(当焊接试块高度<10时) DO(运行)
WHILE zhixiankuandu < 45(当焊接试块宽度<45时) DO(运行)
当指针进入该层循环时,只有当焊接试块宽度大于等于45时才会 退出,否则表示该层仍未焊完,将继续进行该层焊接。
ENDWHILE
指针调出内部循环后将由外部循环控制进行下一层的焊接。
ENDWHILE
注:若要采用本文中的模块,需要在自己的机器人系统中将程序中所使用的的“工件参数”与“工具参数”进行重新定义,以适配您的工况。