2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > ABB机器人单面直线角焊缝自动排道焊接程序

ABB机器人单面直线角焊缝自动排道焊接程序

时间:2018-06-29 11:40:20

相关推荐

ABB机器人单面直线角焊缝自动排道焊接程序

本文描述了一种自动计算焊道布置与焊接的ABB机器人程序,并借此程序与您共同学习一下ABB机器人无返回值程序、有返回值程序及它们的调用。

main程序段

PROC main()Teach_start_end;Auto_Weld;ENDPROC在主程序段中,我们用了“Teach_start_end”和“Auto_Weld”两个字段,它们不是ABB机器人系统自带的指令,而是我们自己创建的子程序,它们的具体内容如下:

“Teach_start_end”子程序段****************************PROC Teach_start_end()MoveJ p_sec,v50,z20,tWeldGun\WObj:=wobj_piece;MoveL p_start,v50,fine,tWeldGun\WObj:=wobj_piece;MoveL p_end,v50,fine,tWeldGun\WObj:=wobj_piece;ENDPROC

“Teach_start_end”程序的格式为:

PROC <程序名>()**

********程序段中执行的指令

ENDPROC

PROC代表该程序段为无返回值的程序,也是这段程序的开始;

ENDPROC与PROC对应,表示这段程序的结束。

主程序中可以直接通过该段程序的程序名调用这段程序,当主程序指针到达调用的子程序名时,指针将跳转至子程序内部,从开始到结束将内部指令执行一遍,最后跳出子程序,并出现在主程序中的子程序名的下一行。

“Auto_Weld”子程序段***********************PROC Auto_Weld()FOR Tier FROM NOW_i TO LAYERS DOFOR Beadno FROM NOW_j TO Passes_Fill{Tier} DOn_welded:=n_weled_calc(Tier,Beadno);Path_calc n_welded,Tier,Beadno,tWeldGun,wobj_piece;welding;ENDFORENDFORENDPROC

“Auto_Weld”程序与“Teach_start_end”程序段的格式相同,区别在于他们内部指令不同,他们分别执行了该焊接程序的两部分内容。“Teach_start_end”用于执行程序中的示教工作,用于保存焊接过程需要通过的3个关键点(安全点,焊接的起收弧的两个端点)的信息,“Auto_Weld”用于执行焊道计数、计算焊道路径与执行焊接的功能,焊道计数功能是程序内部调用的“FOR语句”控制的,计算焊道路径是调用的“n_weled_calc”和“Path_calc ”子程序完成,焊接功能是程序内部调用的“welding”子程序完成。

FUNC num n_weled_calc(num a, num b)VAR num sum:=0;VAR num i;FOR i FROM 1 TO a-1 DOsum:= sum + Passes_Fill{i}; ENDFORsum:=sum + b;RETURN sum;ENDFUNC

“n_weled_calc”子程序段的格式可以看出与前面两段采用的PROC程序有所区别,它的格式如下:

FUNC <返回值类型><程序名>(形参1,形参2…)

***程序中执行的指令;

ENDFUNC

FUNC我们一般称作为有返回值的程序,它是这段程序的开始;

<返回值类型>用于规定这段程序返回值的类型,如num、bool等;

<程序名>即为这段程序的名称,其他程序可以通过程序名来调用这段程序;

<形参>表示这段程序被调用时需要被传到该程序中的一些值,通常这些值用来参加程序中的计算;

ENDFUNC表示这段程序的结束。

其余程序段:

PROC Path_calc(num n, num i, num j, PERS tooldata tWeldGun, PERS wobjdata wobj_piece)Dy:=...............;Dz:=...............;IF n MOD 2 <> 0 THENp_arcon:=...............;p_arcoff:=..............;ENDIFp_arcon:=Offs(p_end,0,Dy,Dz);p_arcoff:=Offs(p_start,0,Dy,Dz);ENDPROC

“轨迹计算程序”

PROC welding()MoveJ p_sec,v50,z20,tWeldGun\WObj:=wobj_piece;ArcLStart p_arcon, v50, seam1, weld1, fine, tWeldGun\WObj:=wobj_piece;ArcLEnd p_arcoff, v50, seam1, weld1, fine, tWeldGun\WObj:=wobj_piece;MoveJ p_sec,v50,z20,tWeldGun\WObj:=wobj_piece;ENDPROC

“焊接执行程序”

完整版程序见/download/ZW_finder/43102060

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。