




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Adaptive Welding for Heavy Plate FabricationFANUC Robotics America11/23/2010This application note describes a strategy for adjusting weld deposition rate to varying volume weld joints based on measurement of the weld joint gap and weld center location at two ends of a straight weld seam in order to produce a uniform layer thickness. The weld joint in this example is a half-vee joint with root backing:A4520 mm5 mm (nom.)AAA1234The basic approach to welds of this type uses either Touch Sensing or iRVision to measure the weld joint gap at the root opening at either end of the weld joint. The welding programs use TAST with Multipass/RPM to accommodate seam tracking requirements. The gap measurements are used to calculate the volume of weld metal required to fill the gap for each weld pass and set the weave amplitude and weld travel speed to accomplish this goal.ConditionsR-30iA Controller with V7.40P/11 (or later) ArcTool softwareOptions Required:Touch Sensing or iRVision 2D packageArc Ramping (included in Standard ArcTool beginning in V7.40P/09)TAST + MP/RPM optionSystem Variable Settings:Set the following system variables:$AWERAMP1.$RAMP_ENABLE = TRUE$AWERAMP1.$RAMP_TO_POS = TRUE$WVCFG.$RAMP_ENB = TRUE$WV_OTF_GP1.$OTF_ENABLE = TRUE$WV_OTF_GP1.$GET_AMP = TRUE$SCR_GRP1.$M_POS_ENB = TRUE$SCR_GRP1.$M_DST_ENB = TRUEThe $SCR_GRP variables are not necessary for operation but are enabled so Data Monitor can be used to record the actual position and travel speed during operation. The program SETSYSVAR.TP can be used to set these variables.TP Program StructureMAINWELD (shell program to control overall sequence)- CALL MEASGAPS (Collects the joint measurement routines)o CALL INITGAPS (zeros the gap width registers)o CALL FIND_JT1 (finds joint and measures gap at position 1)o CALL FIND_JT2 (finds joint and measures gap at position 2)- CALL REGMATH (Calculate Travel Speed)- CALL ADPTWV (Calculate weave amplitude)- CALL CALC_TVL (Set travel speed in weld schedules)- CALL PASSES (Performs the welding operation)o CALL SCALEGAP (adjusts the gap measurement for fill passes)Detail listing:MAINWELD.TP 1: CALL MEASGAPS ; 2: CALL REGMATH ; 3: CALL ADPTWV ; 4: CALL CALC_TVL ; 5: PAUSE ; 6: CALL PASSES ;MEASGAPS.TP 1: UFRAME_NUM=0 ; 2: UTOOL_NUM=1 ; 3: CALL INITGAPS ; 4:J P1 30% FINE ; 5:J P2 20% FINE ; 6: CALL FEEDWIRE ; 7: CALL FIND_JT1 ; 8: PR150:TEMP=LPOS ; 9: PR150,3:TEMP=PR150,3:TEMP+100 ; 10:J PR150:TEMP 30% FINE ; 11:J P1 30% FINE ; 12: CALL FIND_JT2 ; 13: PR150:TEMP=LPOS ; 14: PR150,3:TEMP=PR150,3:TEMP+100 ; 15:J PR150:TEMP 30% FINE ; 16:J P1 30% FINE ; 17: DO5:Wire Inch Bkwd=PULSE,0.7sec ;INITGAPS.TP 1: R140:GAP 1 mm=0 ; 2: R141:GAP 2 mm=0 ; 3: R144:Multipass Index=0FEEDWIRE.TP 1: PR10=LPOS ; 2:J PR10 5% FINE ; 3: LBL1 ; 4: DO3:Touch ON=ON ; 5: DO4:Wire Inch Fwd=ON ; 6: IF DI2:Touch Input=ON,JMP LBL2 ; 7: WAIT .01(sec) ; 8: JMP LBL1 ; 9: LBL2 ; 10: DO4:Wire Inch Fwd=OFF ; 11: WAIT .10(sec) ; 12: DO3:Touch ON=OFF ; 13: DO5:Wire Inch Bkwd=ON ; 14: WAIT .10(sec) ; 15: DO5:Wire Inch Bkwd=OFF ;FIND_JT1JT2.TPThe FIND_JTx.TP programs are the same except for the search start location, the gap register, and the position register index for saving the found joint center location. The lines shown in RED change for as many gap measurement locations are needed. 1: UFRAME_NUM=0 ; 2: UTOOL_NUM=1 ; 3: R145:Z - Zero Plane=0 ; 4:J PR151:Search Pos 1 30% FINE ; 5: PR150:TEMP=PR151:Search Pos 1 ; 6: LBL1 ; 7: !FIND JOINT ; 8:J PR150:TEMP 30% FINE ; 9: Search Start 1 PR40 ; 10:J PR150:TEMP 30% FINE Search-Z ; 11: Search End ; 12: R145:Z - Zero Plane=PR40,3 ; 13: IF R145:Z - Zero Plane(-2),JMP LBL2 ; 14: PR150,1:TEMP=PR150,1:TEMP+3 ; 15: JMP LBL1 ; 16: !FIND EDGE 1 ; 17: LBL2 ; 18: PR150:TEMP=PR32 ; 19: PR150,1:TEMP=PR150,1:TEMP+3 ; 20:J PR150:TEMP 30% FINE ; 21: Search Start 1 PR40 ; 22:J PR150:TEMP 30% FINE SearchX ; 23: PR150:TEMP=PR32 ; 24: Search End ; 25: PR150,1:TEMP=PR150,1:TEMP-2 ; 26:J PR150:TEMP 20% FINE ; 27: ; 28: !FIND ROOT GAP ; 29: Search Start 1 PR40 ; 30:J PR150:TEMP 30% FINE Search-Z ; 31: Search End ; 32: PR150,3:TEMP=PR32,3+2 ; 33:J PR150:TEMP 30% FINE ; 34: Search Start 1 PR40 ; 35:J PR150:TEMP 30% FINE SearchX ; 36: PR150:TEMP=PR32 ; 37: Search End ; 38: WAIT .10(sec) ; 39: Search Start 1 PR40 ; 40:J PR150:TEMP 30% FINE Search-X ; 41: Search End ; 42: R139:TMP=PR150,1:TEMP-PR32,1 ; 43: R139:TMP=R139:TMP+R150:Wire Diameter ; 44: R140:GAP 1 mm=R139:TMP ; 45: R139:TMP=R139:TMP/2 ; 46: PR150,1:TEMP=PR32,1+R139:TMP ; 47: PR150,2:TEMP=PR32,2 ; 48: PR150,3:TEMP=PR32,3-2 ; 49: PR155:Pos 1=PR150:TEMP ; 50:J PR155:Pos 1 30% FINE ;/POS/ENDREGMATH.TP 1: !Deposit Volume ; 2: ; 3: R154:Wire CSA=(R150:Wire Diameter/2*(R150:Wire Diameter/2)*R151:PI) ; 4: ; 5: R155:WSPD (from sch 1=$AWESCH1,1.$CMD_VOLTS ; 6: R157:Wire Vol/min=R156:Transfer eff.*R155:WSPD (from sch 1*R154:Wire CSA ; 7: ; 8: ; 9: !Pass Layer Volume ; 10: R146:Gap 1 in inches=R140:GAP 1 mm/25.4 ; 11: R147:Gap 2 in inches=R141:GAP 2 mm/25.4 ; 12: R163:Layer (thk) inch=R161:Mtl. thk (inch)/R162:Num of passes ; 13: R164:Area of A=(R249:TAN 45 degrees*R163:Layer (thk) inch*R163:Layer (thk) inch)/(2) ; 14: R167:Gap 1 area=R146:Gap 1 in inches*R163:Layer (thk) inch ; 15: R168:Gap 2 area=R147:Gap 2 in inches*R163:Layer (thk) inch ; 16: R171:Pass area at 1=R167:Gap 1 area+R164:Area of A ; 17: R172:Pass area at 2=R168:Gap 2 area+R164:Area of A ; 18: ; 19: !Travel Speed Calc ; 20: R175:Travel spd at 1=R157:Wire Vol/min/R171:Pass area at 1 ; 21: R176:Travel spd at 2=R157:Wire Vol/min/R172:Pass area at 2 ;ADPTWV.TP 1: R130:WV SCH 1=R140:GAP 1 mm-1 ; /NOTE: the “1” is 1 mm less than gap You may wish to change to a different value. 2: R130:WV SCH 1=R130:WV SCH 1/2 ; 3: !* ; 4: R131:WV SCH 2=R141:GAP 2 mm-1 ; /NOTE: the “1” is 1 mm less than gap 5: R131:WV SCH 2=R131:WV SCH 2/2 ; 6: !SET WEAVE SCHEDULE ; 7: $WVSCH1.$AMPLITUDE=R130:WV SCH 1 ; 8: $WVSCH2.$AMPLITUDE=R131:WV SCH 2 ;CALC_TVL.TP 1: $AWESCH1,1.$CMD_WSPEED=R175:Travel spd at 1 ;PASSES.TP 1: UTOOL_NUM=1 ; 2: LBL10 ; 3: IF R144:Multipass Index=1,JMP LBL2 ; 4: IF R144:Multipass Index=2,JMP LBL3 ; 5: IF R144:Multipass Index=3,JMP LBL4 ; 6: IF R144:Multipass Index=4,JMP LBL5 ; 7: !* ; 8: !PASS 1 ; 9:J P1 30% FINE ; 10:J P2 30% FINE ; 11:J P21 20% FINE ; 12:J PR155:Pos 1 30% FINE : Arc Start E11 ; 13: Weave Sine1 ; 14: Track TAST1 RPM1 ; 15:L PR156:Pos 2 WELD_SPEED FINE : Arc End E11 WV2 RampTo R176 ; 16: Weave End ; 17: Track End ; 18:J P22 20% FINE ; 19:J P1 30% FINE ; 20: PAUSE ; 21: R144:Multipass Index=1 ; 22: JMP LBL10 ; 23: ; 24: LBL2 ; 25: !PASS 2 ; 26: !* ; 27: CALL SCALEGAP ; 28: CALL REGMATH ; 29: CALL ADPTWV ; 30: CALL CALC_TVL ; 31:J P1 30% FINE ; 32:J P2 30% FINE ; 33:J P21 20% FINE ; 34: LOCK PREG ; 35: MP Offset PR160 RPM1 ; 36:L PR155:Pos 1 600mm/sec FINE : Arc Start E11 ; 37: Weave Sine1 ; 38:L PR156:Pos 2 WELD_SPEED FINE : Arc End E11 WV2 RampTo R176 ; 39: Weave End ; 40: MP Offset End ; 41:J P22 20% FINE ; 42:J P1 30% FINE ; 43: UNLOCK PREG ; 44: PAUSE ; 45: R144:Multipass Index=2 ; 46: JMP LBL10 ; 47: ; 48: LBL3 ; 49: !PASS 3 ; 50: !* ; 51: CALL SCALEGAP ; 52: CALL REGMATH ; 53: CALL ADPTWV ; 54: CALL CALC_TVL ; 55:J P1 30% FINE ; 56:J P2 30% FINE ; 57:J P21 20% FINE ; 58: LOCK PREG ; 59: MP Offset PR162 RPM1 ; 60:J PR155:Pos 1 30% FINE : Arc Start E11 ; 61: Weave Sine1 ; 62:L PR156:Pos 2 WELD_SPEED FINE : Arc End E11 WV2 RampTo R176 ; 63: Weave End ; 64: MP Offset End ; 65: UNLOCK PREG ; 66:J P22 20% FINE ; 67:J P1 30% FINE ; 68: R144:Multipass Index=3 ; 69: JMP LBL10 ; 70: ; 71: !ADD PASSES AS NEEDED ; 72: LBL4:1ST CAP PASS ; 73: R144:Multipass Index=4 ; 74: ; 75: LBL5:2ND CAP PASS ; 76: ; 77: R144:Multipass Index=0 ;SCALEGAP.TP 1: IF R144:Multipass Index=0,JMP LBL100 ; 2: IF R144:Multipass Index=1,JMP LBL1 ; 3: IF R144:Multipass Index=2,JMP LBL2 ; 4: IF R144:Multipass Index=3,JMP LBL3 ; 5: LBL1 ; 6: R140:GAP 1 mm=R140:GAP 1 mm+4 ; 7: R141:GAP 2 mm=R141:GAP 2 mm+4 ; 8: END ; 9: LBL2 ; 10: R140:GAP 1 mm=R140:GAP 1 mm+3 ; 11: R141:GAP 2 mm=R141:GAP 2 mm+3 ; 12: END ; 13: LBL3 ; 14: R140:GAP 1 mm=R140:GAP 1 mm+3 ; 15: R141:GAP 2 mm=R141:GAP 2 mm+3 ; 16: END ;17: LBL100 ;SETSYSVAR.TP (for reference) 1: $AWERAMP1.$RAMP_ENABLE =1 ; 2: $AWERAMP1.$RAMP_TO_POS =1 ; 3: $WVCFG.$RAMP_ENB=1 ; 4: $WV_OTF_GP1.$OTF_ENABLE=1 ; 5: $WV_OTF_GP1.$GET_AMP=1 ; 6: $SCR_GRP1.$M_POS_ENB=1 ; 7: $SCR_GRP1.$M_DST_ENB=1 ;NUMERIC REGISTERSR130WV SCH 1 amplitudeR131WV SCH 2 amplitudeR139TMPR140GAP 1 (mm)R141GAP 2 (mm)R144Multipass IndexR145Z Zero PlaneR146GAP 1 (inches)R147GAP 2 (inches)R150Wire Diameter (inches)R151PI (3.1416)R154Wire CSAR155WSPD (from sch. 1)R156Transfer efficiency (.95)R157Wire Vol/minR160Bevel AngleR161Mtl. Thk. (inch)R162Num of passesR163Layer (thk) inchR164Area of AR167Gap 1 areaR168G
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论