Calculating weld seam length

  • Hello,


    I have an Arc welding RAPID program with many seams. One of them looks like this:

    Code
    ArcLStart W007_On, vtoArc, sm01, s_12, fine, R1_tWeld\WObj:=R1_wFix;
    ArcL W007_1, vWeld, sm01, s_8, z1, R1_tWeld\WObj:=R1_wFix;
    ArcC W007_2, W007_3, Vweld, sm01, s_8, z1, R1_tWeld\WObj:=R1_wFix;
    ArcL W007_4, vWeld, sm01, s_8, z10, R1_tWeld\WObj:=R1_wFix;
    ArcL W007_5, vWeld, sm01, s_8, z5, R1_tWeld\WObj:=R1_wFix;
    ArcLEnd W007_Off, vWeld, sm01, s_8, z1, R1_tWeld\WObj:=R1_wFix;

    What I want to do is measure/calculate the seam length programatically. Calculation can take place during normal program execution or in specialised routine (doesn't matter). What is the easiest way to go about it?


    Thanks in advance.

  • Easiest - RobotStudio


    If you want it done on/in the robot I would recommend writing a program that you run in a background task that monitors the Arc Established (traps routine) signal and when high also samples the current weld speed.

    That way you get both Arc On time and weld length (travel-speed x time).

  • Thanks so much for responses!


    Unfortunately, we don't have RobotStudio available at our workplace (only few selected in our company do). Same goes for Production Monitoring, the IRC5s are probably too old and do not have this feature (RobotWare 5.15).


    As for the sampling task, it is actually a very good idea, but I'm kinda worried about CPU impact. Sure, this task could be stopped in normal production, but when running, wouldn't it create error by itself? I mean, if there are not enough resources to execute instructions, wouldn't it for example affect corner paths (or in the worst case scenario all movements) in other tasks and thus influence results? Lowering the sampling frequency could solve that, but it will also decerase precision.

  • The "sampling" is only for current weld-speed which doesn't change that frequently, it would only change when you change the weld data so sampling every 0..2-0.5 seconds will give you enough precision.


    You might even be able to set up an ivar trap on that instead of a timed poll which would negate the whole "issue".


    I did timed samples on S4C/C+ and resources was not an issue, granted, I don't know how heavily loaded you system is already but the motion planner has a lot higher priority than a measly rapid task so you'd see a bunch of other weird issues long before motion craps out (which it wont).

  • Unfortunately, we don't have RobotStudio available at our workplace (only few selected in our company do). Same goes for Production Monitoring, the IRC5s are probably too old and do not have this feature (RobotWare 5.15).

    FYI - Production Monitoring manual says it needs RW 5.07 or newer.


    SAABoholic's idea has much less overhead than an additional option would. You might consider subtracting any start and end delays from arc time. Various long test welds should get you a ratio to use between actual & calculated.


    Easiest would be to give a backup to one of the "few selected in our company" and have them do it on their RobotStudio.

Advertising from our partners