RobotStudio event

Smart Tac Warning/error "Part detected at search " [ArcWelding PowerPac]

I am using Smart Tac option to search the work object. But, sometimes while searching the work object robot stops searching by displaying the message "Part Detected at search start" & "RETRY", "RETURN", "ABORT" Options are suggested for the same ,though the ROBOT doesn't touches the work object. I am using welding wire for searching the work object. After selecting the "RETRY" Option it still shows the same message. Also this happens sometimes only & if it happens for the first point out of six then same happens for all remaining points.
Is there is any solution for this problem............


Vishal,
==============================
vishalpatil3.82@gmail.com OR
vishal.patil@electronicagroup.com

Comments

  • I am using ABB ROBOT 1600-ID & Welding power source of ESSAB.

    Vishal,
    ==============================
    vishalpatil3.82@gmail.com OR
    vishal.patil@electronicagroup.com


  • could you try re-explaining the problem?  does the robot search for the part and give you the error if it doesn't find it. if thats the case open up the distance between your start search point and the taught found point. if this isnt your issue please try to explain better so i might be able to help
  • OK SIR,

    First of all, I am using "Search_1D"
    Command to search Workobject in 2D.

    For searching the workobject I have to
    search at total 6 places.

    Now, when workobject is indexed
    properly (within tolerance of 5 to 7mm), Robot is started & then
    the welding gun is cleaned,Reamed & welding wire is properly
    trimmed at "Torch Cleaning Station".

    Then, robot starts searching the
    workobject at all defined points.

    Now, while searching it searches say
    for example at first 2 places OK i.e. Start search point to the
    taught found point distance is travelled by robot & it searches
    the points within +/- 2 to 3 mm.

    After that while searching at the third
    place it just reaches to the start search point & without
    travelling towards the taught found point ,it stops at "Start
    Search Point" & shows the message that "Part Detected
    at search start" & "RETRY", "RETURN",
    "ABORT" Options are suggested for the same. The distance
    between "Start Search Point" & "Taught Found
    Point" is approximately 10-15 mm. After this if we select
    "RETRY" option suggested, it still shows the same message.



    We are facing this problem only
    sometimes. After facing such problem, if we starts from the home
    point again for the same workobject then, it shows OR doesn't shows
    the same problem. That means we have to play the same search routine
    to deal with this problem, which is causing our valuable customer's
    production loss.



    We are using IRB-1600ID Robot, ESSAB
    Power Source "Aristo Mig 5000i" & Robot Wire-feeder
    "Aristo RoboFeed 3004W". Earthing is also proper. After
    discussion with ESSAB Person he told us that the problem might be due
    to the loose connection inside the robot wire-feeder. We cheked for
    the same, but no such posibility found over there.



    If any further clerification requires
    please ask frankly.


    Vishal,
    ==============================
    vishalpatil3.82@gmail.com OR
    vishal.patil@electronicagroup.com


  • ok i understand the problem your having, i have not come across that issue before.
    a workobject consist of 2 x and a y. you are saying you are using a 2d search to find each of those points, so 6 searches. hmmm,  your clearing the pose data after the run?
    im sorry, i too have been learning the smart-tac function via the manual, lol. You have been troubleshooting a mechanical issue. Could it be a coding issue? Have you tried to simulate your code in the studio? and does it run? maybe you could pm me your code so i could take a look at that.can you pm in this forum, lol
  • PROC POSE_DATA_SEARCH_61_2()
            PDispOff;
            AccSet 100, 100;
            PathAccLim TRUEAccMax:=10, TRUEDecelMax:=10;
            Set soAwManFeed15mm;
            MoveJ TSS, v800, z50, tBinzelAbirobA500;
            Reset soAwManFeed15mm;
            WaitTime 0.1;
            MoveJ TSS70, v800, z50, tBinzelAbirobA500;
            Set soAwManFeed15mm;
            MoveL TSS110, v400, z0, tBinzelAbirobA500;
            Reset soAwManFeed15mm;
            Set CUTTER_Y3;
            MoveL TSS120, v200, fine, tBinzelAbirobA500;
            WaitTime 0.15;
            Reset CUTTER_Y3;
            WaitTime 0.45;
            Set CUTTER_Y3;
            WaitTime 0.15;
            MoveL TSS130, v500, z50, tBinzelAbirobA500;
                !POSITION P5;
                MoveJ TSS140, v500, z50, tBinzelAbirobA500;
            MoveL TSS50, v400, z50, tBinzelAbirobA500;
            Reset CUTTER_Y3;
            PRXY:
            IF CLAMP_MTR_DN_PRX_IP = 1 THEN
                !POSITION P1;
                MoveL TSS60, v400, z50, tBinzelAbirobA500;
                WaitTime 1;
            ELSE
                GOTO PRXY;
            ENDIF
            Set CLAMP_MTR_Y2;
            WaitTime 0.2;
            Set AIR_MTR_UP_DN_Y1;
            WaitTime 2;
            Reset AIR_MTR_UP_DN_Y1;
            Reset CLAMP_MTR_Y2;
            WaitTime 0.15;
            MoveJ TSS50, v400, z50, tBinzelAbirobA500;
            PRXY2:
            IF CLAMP_MTR_DN_PRX_IP = 1 THEN
                !POSITION P3;
                MoveJ TSS80, v250, z50, tBinzelAbirobA500;
                WaitTime 0.4;
            ELSE
                GOTO PRXY2;
            ENDIF
            !POSITION P4;
            MoveJ TSS90, v800, z50, tBinzelAbirobA500;
            WaitTime 0.4;
            Set INJECTION_Y4;
            WaitTime 1;
            Reset INJECTION_Y4;
            !POSITION P3;
            MoveJ TSS80, v800, z50, tBinzelAbirobA500;
            MoveJ TSS10, v800, z50, tBinzelAbirobA500;
            MoveJ PDS90, v800, z50, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS150, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_2, PDS160, PDS170, v300, tBinzelAbirobA500WObj:=SAFE61Limit:=50SchSpeed:=5;
            WaitTime 0.75;
            MoveJ PDS150, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS130, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveL PDS130, v250, z50, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS100, v300, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_2, PDS110, PDS120, v100, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Safe_61_Stiffner_2Limit:=50SchSpeed:=5;
            WaitTime 0.75;
            MoveL PDS140, v800, z50, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            MoveJ PDS180, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_3_1, PDS190, PDS200, v200, tBinzelAbirobA500WObj:=SAFE61Limit:=25SchSpeed:=4;
            WaitTime 0.75;
            MoveJ PDS210, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS220, v1000, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_3_1, PDS230, PDS240, v200, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Safe_61_Stiffner_3_1Limit:=50SchSpeed:=4;
            MoveJ PDS220, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            MoveJ PDS250, v1000, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_1_1, PDS260, PDS270, v200, tBinzelAbirobA500WObj:=SAFE61Limit:=50SchSpeed:=4;
            WaitTime 0.75;
            MoveJ PDS250, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS280, v1000, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_1_1, PDS290, PDS300, v200, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Safe_61_Stiffner_1_1Limit:=50SchSpeed:=4;
            WaitTime 0.75;
            MoveJ PDS280, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            MoveJ PDS700, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveL PDS710, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Corner_A_pose2, PDS720, PDS730, v400, tBinzelAbirobA500WObj:=SAFE61Limit:=50SchSpeed:=4;
            MoveL PDS710, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveL PDS740, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Corner_A_pose2, PDS750, PDS760, v400, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Corner_A_pose2Limit:=50SchSpeed:=4;
            MoveJ PDS770, v400, fine, tBinzelAbirobA500WObj:=SAFE61;
            !MoveJ PDS310, v500, z50, tBinzelAbirobA500WObj:=SAFE61;
            !MoveL PDS320, v300, z50, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            !WaitTime 0.5;
            !Search_Groove Safe_61_Locator_A_Groove_Pose, Mwidth, PDS330, PDS340, 4.5NomDepth:=4.5InitSchL:=6, v200, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Safe_61_Stiffner_2SchSpeed:=GAP_STATE_IDLE;
            !weave2.weave_Width:=Mwidth;
            !WaitTime 0.5;
            MoveJ PDS350, v800, z50, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS360, v1000, z50, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            MoveJ PDS370, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_4, PDS380, PDS390, v200, tBinzelAbirobA500WObj:=SAFE61Limit:=50SchSpeed:=4;
            WaitTime 0.75;
            MoveJ PDS370, v500, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveL PDS400, v500, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_4, PDS410, PDS420, v200, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Safe_61_Stiffner_4Limit:=75SchSpeed:=4;
            MoveL PDS400, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            MoveL PDS430, v500, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_3_2, PDS440, PDS450, v200, tBinzelAbirobA500WObj:=SAFE61Limit:=75SchSpeed:=4;
            WaitTime 0.75;
            MoveL PDS690, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS460, v500, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_3_2, PDS470, PDS480, v200, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Safe_61_Stiffner_3_2Limit:=125SchSpeed:=4;
            MoveJ PDS460, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            MoveJ PDS490, v800, z50, tBinzelAbirobA500WObj:=SAFE61;
            MoveL PDS500, v500, fine, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            Search_1DWire, Safe_61_Stiffnerr_1_2, PDS510, PDS520, v200, tBinzelAbirobA500WObj:=SAFE61Limit:=50SchSpeed:=4;
            WaitTime 0.75;
            MoveJ PDS490, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS530, v800, z50, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS540, v500, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffnerr_1_2, PDS550, PDS560, v200, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Safe_61_Stiffnerr_1_2Limit:=125SchSpeed:=4;
            MoveJ PDS540, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            MoveJ PDS790, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveL PDS780, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveL PDS800, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Corner_B_Pose2, PDS810, PDS820, v800, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Corner_B_Pose2Limit:=125SchSpeed:=4;
            MoveL PDS800, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Corner_B_Pose2, PDS830, PDS840, v800, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Corner_B_Pose2Limit:=125SchSpeed:=4;
            MoveJ PDS570, v800, z50, tBinzelAbirobA500WObj:=SAFE61;
            !MoveJ PDS580, v400, z50, tBinzelAbirobA500WObj:=SAFE61;
            !MoveJ PDS650, v400, z50, tBinzelAbirobA500WObj:=SAFE61;
            PDispOff;
            !Search_Groove Safe_61_Locator_B_Groove_Pose, Nwidth, PDS590, PDS600, 4.5NomDepth:=4.5InitSchL:=6, v200, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Safe_61_Stiffner_4SchSpeed:=2;
            !weave1.weave_Width:=Nwidth;
            WaitTime 0.5;
            !MoveJ PDS620, v200, z50, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS630, v800, z50, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ PDS640, v800, z50, tBinzelAbirobA500WObj:=SAFE61;
            PathAccLim FALSEAccMax:=2.5, FALSEDecelMax:=2.5;
        ENDPROC

    Vishal,
    ==============================
    vishalpatil3.82@gmail.com OR
    vishal.patil@electronicagroup.com
  • I am also new to ABB Robot. This is my first welding project.

    Vishal,
    ==============================
    vishalpatil3.82@gmail.com OR
    vishal.patil@electronicagroup.com
  • Hi
     

    I've had this same problem sometime and it was caused by too low Touch sense current defined in power source schedule. So what you could do is to open the Integrated Power Source application under ABB -button, and check the Touch sense current parameter found in each programmed schedule. I think the default value is 3 Amps, so you could try to increase that to 4 - 5 Amps and see if it makes it any better. I think it's not good to use values more than about 7 Amps. Please note that this Touch sense current is defined in all schedules, so the used value depends on which schedule is selected during the search (which was selected by the last weld).

     

    I guess there can be other reasons also, but this might be worth checking at least.

     

    -Osku

  • Hi
    I have already checked the touch sense current & it is set to 8 Amps.Also I have following observations
    1. Voltage between Welding Wire and Workpiece/Earth While gun moving from "
    Start search point to the
    taught found point" = 52VDC   
    &
    2.  Resistance between Welding Wire and Workpiece/Earth = 152 Ohm

    Now, you decide that, if it is having other reasons???
    If yes, then tell me it ASAP.
    Thanks....
     



    vishalpatil822011-09-30 08:48:43
    Vishal,
    ==============================
    vishalpatil3.82@gmail.com OR
    vishal.patil@electronicagroup.com
  • I have had similiar issues (with a completely different powersource, fronius not esab). If I did a search and then quickly did another search the touch sense signal would stay high. I think the search_1d instruction probably turns the touchsense signal and off again for each search, if you can modify it to just leave the touchsense signal on all of the time you are searching it worked better on my system.
  • Hi Friends....
    Now, I will take trials by changing the program i.e. I will force & ensure that the pose data is set to zero before running the search/Smart_Tac routine for every new work object. If, it works, I will let you know.

    Thaks to all for their valuable replys



    Vishal,
    ==============================
    vishalpatil3.82@gmail.com OR
    vishal.patil@electronicagroup.com
  • Hi Mattdavis...

      I will also try your suggestion that ," if you can modify it to just leave the touchsense signal on all of the time you are searching". We have observed this touchsense signal also & it works as per your observation for ESAB Power source also.
    Have good day Mattdavis.
    Thanks Mattdavis.
    Vishal,
    ==============================
    vishalpatil3.82@gmail.com OR
    vishal.patil@electronicagroup.com
  • Hi Mattdavis ...........
      I have tried as per your suggestion & my problem related to Smart_Tac is now completely solved. Following is the part of the smart tac program;
     ! ===========================================================    
              P2:
            MoveL *, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_3_1, *, *, v200, tBinzelAbirobA500WObj:=SAFE61Limit:=25SchSpeed:=4;
            WaitTime 1;
            IF diTouchSenseContact = 0 THEN
                GOTO P1;
            ELSE
                WaitTime 0.5;
                Reset doTouchSenseActive;
                WaitTime 0.5;
                GoTO P2;
            ENDIF
            P1:
    !================================================================


    Vishal,
    ==============================
    vishalpatil3.82@gmail.com OR
    vishal.patil@electronicagroup.com
  • !=====================================================
    P2:
            MoveL *, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_3_1, *, *, v200, tBinzelAbirobA500WObj:=SAFE61Limit:=25SchSpeed:=4;
            WaitTime 1;
            IF diTouchSenseContact = 0 THEN
                GOTO P1;
            ELSE
                WaitTime 0.5;
                Reset doTouchSenseActive;
                WaitTime 0.5;
                GoTO P2;
            ENDIF
            P1:
            !IF diTouchSenseContact = 1 THEN
                !GOTO P3;
            !ENDIF
            MoveL *, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ *, v800, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveJ *, v1000, fine, tBinzelAbirobA500WObj:=SAFE61;
            MoveL *, v1000, fine, tBinzelAbirobA500WObj:=SAFE61;
            Search_1DWire, Safe_61_Stiffner_3_1, *, *, v200, tBinzelAbirobA500WObj:=SAFE61PrePDisp:=Safe_61_Stiffner_3_1Limit:=50SchSpeed:=4;
    !========================================================

                In above program I have used "Search_1d" command for searching workobject in 2-dimensions. So, after searching in 1-dimention I have checked for the "diTouchSenseContact=0". If "diTouchSenseContact=1" ,then I have Reset the "doTouchSenseActive" output to force the "diTouchSenseContact=0" & again gone to search in the same dimension.

                         Thanks Mattdavis.....................



    Vishal,
    ==============================
    vishalpatil3.82@gmail.com OR
    vishal.patil@electronicagroup.com
  • I thought that the ''NotOff'' option in the search template is doing the same thing? it leaves the search volts & amps on during the searches?

     

     

    Thanks Mattdavis, we are facing a similar problem

    When searching with search_1D with the gas cup the Start search point is correct, but when the torch leaves to hit the
    taught found point, it sets off in a total other direction. This other direction can be as far as 1 meter away!

    After research it looks like the robot is going to the point programed before and sometimes even after the search points, verry frustrating.

    When it reaches the wrong point it gives the same error as described above, retry, return, abort.

    The temperature that day was the hottest day of the year, we thought the robot was going hot, so we replaced the filters and it was good for a moment.

    The error did return after one day, so we had to find another reason.

    We had noticed that the gascub was leaking coolant, we repared the lead and since then the problems were gone.

    Thats how we solved our problem.

     

  • Hello,

     

    See a lot of people with the same problem.

    This problem is caused in the Search_1D function. There are developed several modules for al the different powersources by different systemintergrators. Mostly based on the PIB baord situation.

    The problems exist because of a high signal of the touchsignal. In the activation of the touchsignal there are some checks if the signal is off etc.

    So Yes, you can use the Searh_L function but i prefer a good working Search_1D so that the errorhandling etc is working. Is saves also a lot of time.

     

    The solution look in the Smartac module for the problem. In some situation the module is open.

     

    gr,

    When the module is