FANUC多层多道.docx

上传人:b****7 文档编号:8703324 上传时间:2023-02-01 格式:DOCX 页数:13 大小:27.52KB
下载 相关 举报
FANUC多层多道.docx_第1页
第1页 / 共13页
FANUC多层多道.docx_第2页
第2页 / 共13页
FANUC多层多道.docx_第3页
第3页 / 共13页
FANUC多层多道.docx_第4页
第4页 / 共13页
FANUC多层多道.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

FANUC多层多道.docx

《FANUC多层多道.docx》由会员分享,可在线阅读,更多相关《FANUC多层多道.docx(13页珍藏版)》请在冰豆网上搜索。

FANUC多层多道.docx

FANUC多层多道

AdaptiveWeldingforHeavyPlateFabrication

FANUCRoboticsAmerica

11/23/2010

Thisapplicationnotedescribesastrategyforadjustingwelddepositionratetovaryingvolumeweldjointsbasedonmeasurementoftheweldjointgapandweldcenterlocationattwoendsofastraightweldseaminordertoproduceauniformlayerthickness.Theweldjointinthisexampleisahalf-veejointwithrootbacking:

 

 

ThebasicapproachtoweldsofthistypeuseseitherTouchSensingoriRVisiontomeasuretheweldjointgapattherootopeningateitherendoftheweldjoint.TheweldingprogramsuseTASTwithMultipass/RPMtoaccommodateseamtrackingrequirements.Thegapmeasurementsareusedtocalculatethevolumeofweldmetalrequiredtofillthegapforeachweldpassandsettheweaveamplitudeandweldtravelspeedtoaccomplishthisgoal.

Conditions

R-30iAControllerwithV7.40P/11(orlater)ArcToolsoftware

OptionsRequired:

TouchSensingoriRVision2Dpackage

ArcRamping(includedinStandardArcToolbeginninginV7.40P/09)

TAST+MP/RPMoption

SystemVariableSettings:

Setthefollowingsystemvariables:

$AWERAMP[1].$RAMP_ENABLE=TRUE

$AWERAMP[1].$RAMP_TO_POS=TRUE

$WVCFG.$RAMP_ENB=TRUE

$WV_OTF_GP[1].$OTF_ENABLE=TRUE

$WV_OTF_GP[1].$GET_AMP=TRUE

$SCR_GRP[1].$M_POS_ENB=TRUE

$SCR_GRP[1].$M_DST_ENB=TRUE

 

The$SCR_GRPvariablesarenotnecessaryforoperationbutareenabledsoDataMonitorcanbeusedtorecordtheactualpositionandtravelspeedduringoperation.TheprogramSETSYSVAR.TPcanbeusedtosetthesevariables.

TPProgramStructure

MAINWELD(shellprogramtocontroloverallsequence)

-CALLMEASGAPS(Collectsthejointmeasurementroutines)

oCALLINITGAPS(zerosthegapwidthregisters)

oCALLFIND_JT1(findsjointandmeasuresgapatposition1)

oCALLFIND_JT2(findsjointandmeasuresgapatposition2)

-CALLREGMATH(CalculateTravelSpeed)

-CALLADPTWV(Calculateweaveamplitude)

-CALLCALC_TVL(Settravelspeedinweldschedules)

-CALLPASSES(Performstheweldingoperation)

oCALLSCALEGAP(adjuststhegapmeasurementforfillpasses)

Detaillisting:

MAINWELD.TP

1:

CALLMEASGAPS;

2:

CALLREGMATH;

3:

CALLADPTWV;

4:

CALLCALC_TVL;

5:

PAUSE;

6:

CALLPASSES;

 

MEASGAPS.TP

1:

UFRAME_NUM=0;

2:

UTOOL_NUM=1;

3:

CALLINITGAPS;

4:

JP[1]30%FINE;

5:

JP[2]20%FINE;

6:

CALLFEEDWIRE;

7:

CALLFIND_JT1;

8:

PR[150:

TEMP]=LPOS;

9:

PR[150,3:

TEMP]=PR[150,3:

TEMP]+100;

10:

JPR[150:

TEMP]30%FINE;

11:

JP[1]30%FINE;

12:

CALLFIND_JT2;

13:

PR[150:

TEMP]=LPOS;

14:

PR[150,3:

TEMP]=PR[150,3:

TEMP]+100;

15:

JPR[150:

TEMP]30%FINE;

16:

JP[1]30%FINE;

17:

DO[5:

WireInchBkwd]=PULSE,0.7sec;

 

INITGAPS.TP

1:

R[140:

GAP1mm]=0;

2:

R[141:

GAP2mm]=0;

3:

R[144:

MultipassIndex]=0

FEEDWIRE.TP

1:

PR[10]=LPOS;

2:

JPR[10]5%FINE;

3:

LBL[1];

4:

DO[3:

TouchON]=ON;

5:

DO[4:

WireInchFwd]=ON;

6:

IFDI[2:

TouchInput]=ON,JMPLBL[2];

7:

WAIT.01(sec);

8:

JMPLBL[1];

9:

LBL[2];

10:

DO[4:

WireInchFwd]=OFF;

11:

WAIT.10(sec);

12:

DO[3:

TouchON]=OFF;

13:

DO[5:

WireInchBkwd]=ON;

14:

WAIT.10(sec);

15:

DO[5:

WireInchBkwd]=OFF;

 

FIND_JT1…JT2.TP

TheFIND_JTx.TPprogramsarethesameexceptforthesearchstartlocation,thegapregister,andthepositionregisterindexforsavingthefoundjointcenterlocation.ThelinesshowninREDchangeforasmanygapmeasurementlocationsareneeded.

1:

UFRAME_NUM=0;

2:

UTOOL_NUM=1;

3:

R[145:

Z-ZeroPlane]=0;

4:

JPR[151:

SearchPos1]30%FINE;

5:

PR[150:

TEMP]=PR[151:

SearchPos1];

6:

LBL[1];

7:

!

FINDJOINT;

8:

JPR[150:

TEMP]30%FINE;

9:

SearchStart[1]PR[40];

10:

JPR[150:

TEMP]30%FINESearch[-Z];

11:

SearchEnd;

12:

R[145:

Z-ZeroPlane]=PR[40,3];

13:

IFR[145:

Z-ZeroPlane]<(-2),JMPLBL[2];

14:

PR[150,1:

TEMP]=PR[150,1:

TEMP]+3;

15:

JMPLBL[1];

16:

!

FINDEDGE1;

17:

LBL[2];

18:

PR[150:

TEMP]=PR[32];

19:

PR[150,1:

TEMP]=PR[150,1:

TEMP]+3;

20:

JPR[150:

TEMP]30%FINE;

21:

SearchStart[1]PR[40];

22:

JPR[150:

TEMP]30%FINESearch[X];

23:

PR[150:

TEMP]=PR[32];

24:

SearchEnd;

25:

PR[150,1:

TEMP]=PR[150,1:

TEMP]-2;

26:

JPR[150:

TEMP]20%FINE;

27:

;

28:

!

FINDROOTGAP;

29:

SearchStart[1]PR[40];

30:

JPR[150:

TEMP]30%FINESearch[-Z];

31:

SearchEnd;

32:

PR[150,3:

TEMP]=PR[32,3]+2;

33:

JPR[150:

TEMP]30%FINE;

34:

SearchStart[1]PR[40];

35:

JPR[150:

TEMP]30%FINESearch[X];

36:

PR[150:

TEMP]=PR[32];

37:

SearchEnd;

38:

WAIT.10(sec);

39:

SearchStart[1]PR[40];

40:

JPR[150:

TEMP]30%FINESearch[-X];

41:

SearchEnd;

42:

R[139:

TMP]=PR[150,1:

TEMP]-PR[32,1];

43:

R[139:

TMP]=R[139:

TMP]+R[150:

WireDiameter];

44:

R[140:

GAP1mm]=R[139:

TMP];

45:

R[139:

TMP]=R[139:

TMP]/2;

46:

PR[150,1:

TEMP]=PR[32,1]+R[139:

TMP];

47:

PR[150,2:

TEMP]=PR[32,2];

48:

PR[150,3:

TEMP]=PR[32,3]-2;

49:

PR[155:

Pos1]=PR[150:

TEMP];

50:

JPR[155:

Pos1]30%FINE;

/POS

/END

REGMATH.TP

1:

!

DepositVolume;

2:

;

3:

R[154:

WireCSA]=((R[150:

WireDiameter]/2*(R[150:

WireDiameter]/2))*R[151:

PI]);

4:

;

5:

R[155:

WSPD(fromsch1]=$AWESCH[1,1].$CMD_VOLTS;

6:

R[157:

WireVol/min]=R[156:

Transfereff.]*R[155:

WSPD(fromsch1]*R[154:

WireCSA];

7:

;

8:

;

9:

!

PassLayerVolume;

10:

R[146:

Gap1ininches]=R[140:

GAP1mm]/25.4;

11:

R[147:

Gap2ininches]=R[141:

GAP2mm]/25.4;

12:

R[163:

Layer(thk)inch]=R[161:

Mtl.thk(inch)]/R[162:

Numofpasses];

13:

R[164:

AreaofA]=(R[249:

TAN45degrees]*R[163:

Layer(thk)inch]*R[163:

Layer(thk)inch])/

(2);

14:

R[167:

Gap1area]=R[146:

Gap1ininches]*R[163:

Layer(thk)inch];

15:

R[168:

Gap2area]=R[147:

Gap2ininches]*R[163:

Layer(thk)inch];

16:

R[171:

Passareaat1]=R[167:

Gap1area]+R[164:

AreaofA];

17:

R[172:

Passareaat2]=R[168:

Gap2area]+R[164:

AreaofA];

18:

;

19:

!

TravelSpeedCalc;

20:

R[175:

Travelspdat1]=R[157:

WireVol/min]/R[171:

Passareaat1];

21:

R[176:

Travelspdat2]=R[157:

WireVol/min]/R[172:

Passareaat2];

 

ADPTWV.TP

1:

R[130:

WVSCH1]=R[140:

GAP1mm]-1;//NOTE:

the“1”is1mmlessthangapYoumaywishtochangetoadifferentvalue.

2:

R[130:

WVSCH1]=R[130:

WVSCH1]/2;

3:

!

********************************;

4:

R[131:

WVSCH2]=R[141:

GAP2mm]-1;//NOTE:

the“1”is1mmlessthangap

5:

R[131:

WVSCH2]=R[131:

WVSCH2]/2;

6:

!

SETWEAVESCHEDULE;

7:

$WVSCH[1].$AMPLITUDE=R[130:

WVSCH1];

8:

$WVSCH[2].$AMPLITUDE=R[131:

WVSCH2];

CALC_TVL.TP

1:

$AWESCH[1,1].$CMD_WSPEED=R[175:

Travelspdat1];

PASSES.TP

1:

UTOOL_NUM=1;

2:

LBL[10];

3:

IFR[144:

MultipassIndex]=1,JMPLBL[2];

4:

IFR[144:

MultipassIndex]=2,JMPLBL[3];

5:

IFR[144:

MultipassIndex]=3,JMPLBL[4];

6:

IFR[144:

MultipassIndex]=4,JMPLBL[5];

7:

!

*************;

8:

!

PASS1;

9:

JP[1]30%FINE;

10:

JP[2]30%FINE;

11:

JP[21]20%FINE;

12:

JPR[155:

Pos1]30%FINE

:

ArcStartE1[1];

13:

WeaveSine[1];

14:

TrackTAST[1]RPM[1];

15:

LPR[156:

Pos2]WELD_SPEEDFINE

:

ArcEndE1[1]WV[2]RampToR[176];

16:

WeaveEnd;

17:

TrackEnd;

18:

JP[22]20%FINE;

19:

JP[1]30%FINE;

20:

PAUSE;

21:

R[144:

MultipassIndex]=1;

22:

JMPLBL[10];

23:

;

24:

LBL[2];

25:

!

PASS2;

26:

!

*************************;

27:

CALLSCALEGAP;

28:

CALLREGMATH;

29:

CALLADPTWV;

30:

CALLCALC_TVL;

31:

JP[1]30%FINE;

32:

JP[2]30%FINE;

33:

JP[21]20%FINE;

34:

LOCKPREG;

35:

MPOffsetPR[160]RPM[1];

36:

LPR[155:

Pos1]600mm/secFINE

:

ArcStartE1[1];

37:

WeaveSine[1];

38:

LPR[156:

Pos2]WELD_SPEEDFINE

:

ArcEndE1[1]WV[2]RampToR[176];

39:

WeaveEnd;

40:

MPOffsetEnd;

41:

JP[22]20%FINE;

42:

JP[1]30%FINE;

43:

UNLOCKPREG;

44:

PAUSE;

45:

R[144:

MultipassIndex]=2;

46:

JMPLBL[10];

47:

;

48:

LBL[3];

49:

!

PASS3;

50:

!

*************************;

51:

CALLSCALEGAP;

52:

CALLREGMATH;

53:

CALLADPTWV;

54:

CALLCALC_TVL;

55:

JP[1]30%FINE;

56:

JP[2]30%FINE;

57:

JP[21]20%FINE;

58:

LOCKPREG;

59:

MPOffsetPR[162]RPM[1];

60:

JPR[155:

Pos1]30%FINE

:

ArcStartE1[1];

61:

WeaveSine[1];

62:

LPR[156:

Pos2]WELD_SPEEDFINE

:

ArcEndE1[1]WV[2]RampToR[176];

63:

WeaveEnd;

64:

MPOffsetEnd;

65:

UNLOCKPREG;

66:

JP[22]20%FINE;

67:

JP[1]30%FINE;

68:

R[144:

MultipassIndex]=3;

69:

JMPLBL[10];

70:

;

71:

!

ADDPASSESASNEEDED;

72:

LBL[4:

1STCAPPASS];

73:

R[144:

MultipassIndex]=4;

74:

;

75:

LBL[5:

2NDCAPPASS];

76:

;

77:

R[144:

MultipassIndex]=0;

 

SCALEGAP.TP

1:

IFR[144:

MultipassIndex]=0,JMPLBL[100];

2:

IFR[144:

MultipassIndex]=1,JMPLBL[1];

3:

IFR[144:

MultipassIndex]=2,JMPLBL[2];

4:

IFR[144:

MultipassIndex]=3,JMPLBL[3];

5:

LBL[1];

6:

R[140:

GAP1mm]=R[140:

GAP1mm]+4;

7:

R[141:

GAP2mm]=R[141:

GAP2mm]+4;

8:

END;

9:

LBL[2];

10:

R[140:

GAP1mm]=R[140:

GAP1mm]+3;

11:

R[141:

GAP2mm]=R[141:

GAP2mm]+3;

12:

END;

13:

LBL[3];

14:

R[140:

GAP1mm]=R[140:

GAP1mm]+3;

15:

R[141:

GAP2mm]=R[141:

GAP2mm]+3;

16:

END;

17:

LBL[100];

SETSYSVAR.TP(forreference)

1:

$AWERAMP[1].$RAMP_ENABLE=1;

2:

$AWERAMP[1].$RAMP_TO_POS=1;

3:

$WVCFG.$RAMP_ENB=1;

4:

$WV_OTF_GP[1].$OTF_ENABLE=1;

5:

$WV_OTF_GP[1].$GET_AMP=1;

6:

$SCR_GRP[1].$M_POS_ENB=1;

7:

$SCR_GRP[1].$M_DST_ENB=1;

 

NUMERICREGISTERS

R[130]

WVSCH1amplitude

R[131]

WVSCH2amplitude

R[139]

TMP

R[140]

GAP1(mm)

R[141]

GAP2(mm)

R[144]

MultipassIndex

R[145]

Z–ZeroPlane

R[146]

GAP1(inches)

R[147]

GAP2(inches)

R[150]

WireDiameter(inches)

R[151]

PI(3.1416)

R[154]

WireCSA

R[155]

WSPD(fromsch.1)

R[156]

Transferefficiency(.95)

R[157]

WireVol/min

R[160]

BevelAngle

R[161]

Mtl.Thk.(inch)

R[162]

Numofpasses

R[163]

Layer(thk)inch

R[164]

Are

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1