Multipass

  • this is part of my code and its not working as far as saving the seamnanmes and loading to reuse again


    ActUnit STN1;

    PDispOff;

    Reset doWIREFEED;

    MoveToHome;

    MoveJ [[930.86,-22.39,333.61],[0.00515925,-0.968512,0.0729309,0.237988],[-1,0,-1,0],[535.814,0.23506,0.0897863,-14.772,9E+09,75.113]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MoveJ [[1061.14,-9.20,488.92],[0.00225857,-0.992431,0.0428773,-0.115051],[-1,1,-2,0],[476.426,0.208046,0.0714968,-13.1436,9E+09,66.7827]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MoveJ [[225.51,-5.92,359.13],[0.00225598,-0.992431,0.0428753,-0.11505],[-1,1,-2,0],[481.71,0.208096,0.071522,-39.9171,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MoveJ [[222.90,-221.94,170.93],[0.00814095,-0.965885,0.042489,-0.255333],[-1,1,-2,0],[481.71,0.208507,0.0716673,-39.917,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    Reset doWIREFEED;

    !

    !1st pass seam1

    !

    ArcLStart p840, v1000, seam1Tandem_Mig, wd_Ctr_TW_P1\Weave:=wv_Ctr_TW_P2, fine, tWeldGun_Tandem\WObj:=obSTN1\Track:=trStoCenter\SeamName:=Ctr_Seam_1;

    ArcL p910, v1000, seam1Tandem_Mig, wd_Ctr_TW_P1\Weave:=wv_Ctr_TW_P2, z10, tWeldGun_Tandem\WObj:=obSTN1\Track:=trStoCenter;

    ArcLEnd p850, v1000, seam1Tandem_Mig, wd_Ctr_TW_P1\Weave:=wv_Ctr_TW_P2, z10, tWeldGun_Tandem\WObj:=obSTN1\Track:=trStoCenter;

    MoveJ [[294.48,285.99,246.58],[0.00724641,-0.960411,0.0426286,-0.275209],[-1,1,-2,0],[481.711,0.208507,0.0714399,-39.9161,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MpSavePath Ctr_Seam_1\SeamName:=Ctr_Seam_1\CreateLogFile;

    Stop;

    !

    !part rotate for 1st pass seam2

    !

    MoveJ [[224.99,485.85,238.17],[0.282545,-0.0256043,-0.95876,0.0170622],[-1,1,-2,0],[481.713,0.208823,180.909,-39.9169,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MoveJ [[217.06,763.04,238.20],[0.282545,-0.0256047,-0.95876,0.0170627],[-1,1,-2,0],[481.713,0.208835,180.909,-39.9169,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    ArcLStart p860, v1000, seam2TandemMig, wd_Ctr_TW_P4\Weave:=wv_Ctr_TW_P2, fine, tWeldGun_Tandem\WObj:=obSTN1\Track:=trStoCenter\SeamName:=Ctr_Seam_2;

    ArcL p920, v1000, seam2TandemMig, wd_Ctr_TW_P4\Weave:=wv_Ctr_TW_P2, z10, tWeldGun_Tandem\WObj:=obSTN1\Track:=trStoCenter;

    ArcLEnd p870, v1000, seam2TandemMig, wd_Ctr_TW_P4\Weave:=wv_Ctr_TW_P2, z10, tWeldGun_Tandem\WObj:=obSTN1\Track:=trStoCenter;

    MoveJ [[215.46,-178.92,237.48],[0.282511,-0.025601,-0.958771,0.017031],[-1,1,-2,0],[481.712,0.209113,180.909,-39.9173,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MpSavePath Ctr_Seam_2\SeamName:=Ctr_Seam_2\CreateLogFile;

    Stop;

    !

    !2nd pass seam2

    !

    MoveJ [[217.06,763.04,238.20],[0.282545,-0.0256047,-0.95876,0.0170627],[-1,1,-2,0],[481.713,0.208835,180.909,-39.9169,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MpLoadPath Ctr_Seam_2;

    ArcRepL\Start\End, Ly_Ctr_sm2_Crater_P5, v1000, seam2TandemMig, wd_Ctr_TW_P5, wv_Ctr_Crater2, fine, tWeldGun_Tandem\WObj:=obSTN1\Track:=trHeight\SeamName:=Ctr_Seam_2;

    MoveJ [[202.86,-143.26,238.75],[0.282542,-0.0255931,-0.958761,0.0170678],[-1,1,-2,0],[481.714,0.209158,180.909,-39.9168,9E+09,380.854]], v1000, fine, tWeldGun_Tandem\WObj:=obSTN1;

    !

    !part rotate for 2nd pass seam1

    !

    MoveJ [[225.51,-5.92,359.13],[0.00225598,-0.992431,0.0428753,-0.11505],[-1,1,-2,0],[481.71,0.208096,0.071522,-39.9171,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MoveJ [[222.90,-221.94,170.93],[0.00814095,-0.965885,0.042489,-0.255333],[-1,1,-2,0],[481.71,0.208507,0.0716673,-39.917,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MpLoadPath Ctr_Seam_1;

    ArcRepL\Start\End, Ly_Ctr_Sm1_P5, v1000, seam1Tandem_Mig, wd_Ctr_TW_P5, wv_Ctr_Crater2, fine, tWeldGun_Tandem\WObj:=obSTN1\Track:=trHeight\SeamName:=Ctr_Seam_1;

    MoveJ [[197.89,-303.57,238.87],[0.282545,-0.0256046,-0.95876,0.0170634],[-1,1,-2,0],[481.713,0.208829,180.909,-39.9169,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    PDispOff;

    !

    !part rotate for 3rd pass seam2

    !

    MoveJ [[225.51,-5.92,359.13],[0.00225598,-0.992431,0.0428753,-0.11505],[-1,1,-2,0],[481.71,0.208096,0.071522,-39.9171,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MoveJ [[222.90,-221.94,170.93],[0.00814095,-0.965885,0.042489,-0.255333],[-1,1,-2,0],[481.71,0.208507,0.0716673,-39.917,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MpLoadPath Ctr_Seam_2;

    ArcRepL\Start\End, Ly_Ctr_Sm1_TW_P3, v1000, seam1Tandem_Mig, wd_Ctr_TW_P3, wv_Ctr_Crater2, fine, tWeldGun_Tandem\WObj:=obSTN1\Track:=trHeight\SeamName:=Ctr_Seam_2;

    !

    !part rotate for 3rd pass seam1

    !

    MoveJ [[197.89,-303.57,238.87],[0.282545,-0.0256046,-0.95876,0.0170634],[-1,1,-2,0],[481.713,0.208829,180.909,-39.9169,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MoveJ [[217.06,763.04,238.20],[0.282545,-0.0256047,-0.95876,0.0170627],[-1,1,-2,0],[481.713,0.208835,180.909,-39.9169,9E+09,380.854]], v1000, z50, tWeldGun_Tandem\WObj:=obSTN1;

    MoveJ [[209.81,-6.26,308.53],[0.282537,-0.0255785,-0.958763,0.0170732],[-1,1,-2,0],[481.712,0.20888,180.909,-39.9161,9E+09,380.854]], v1000, fine, tWeldGun_Tandem\WObj:=obSTN1;

    PDispOff;

    MoveJ [[225.51,-5.92,359.13],[0.00225841,-0.992431,0.0428762,-0.115051],[-1,1,-2,0],[481.71,0.208096,0.0715094,-39.9171,9E+09,380.854]], v1000, fine, tWeldGun_Tandem\WObj:=obSTN1;

    MoveAbsJ [[0,0,0,0,0,0],[0,0,0,0,9E+09,0]]\NoEOffs, v1000, fine, tWeldGun_Tandem\WObj:=obSTN1;

  • Question. Is the seam names stored as arrays or is it a string instruction?


    As far as I know it should be "your_seam_name" if it is not declared in your data and "Your_seam_name{array nr}" if it is stored as array. NOTE the Inverted commas.

  • When you use Multipass, you use the first weld as your reference to your mulitpass offsets. If your weldpath/reference weld change, your offsets will change. If you change you multipass data, your weld will be still referenced to where your first weld was only your offsets will adjust. So in short. When you change your weld path/reference weld, you need to rerecord that seam for the offsets to be accurately referenced to the weld path.

  • JMF

    How do I re-record the seam or clear the values I already have in the strings ?

    I modified the starting point and end point(root pass), but when I block through the program the robot goes to it's old seam for 2nd and 3rd pass

  • I do not know of a shortcut other than switch of welding and rerun the root pass as it would have welded and then switch welding back on after the run for the 2nd and 3rd passes. But what I have noticed is that your tracking might differ a bit because multipass requires tracking to be 100% correct.

Advertising from our partners