Hello everyone, we have one KRC 4 robot with FC servo welding gun, the robot always got stuck here in the gun initialization line when performs the program. there is no error or alarm message.
Everytime we switch to T1 mode and block selection this very line and press start button, after the cursor gets straight, switch back to EXT mode and the robot can go on.
I have checked the caller stack to find out the pointer, does this mean that the next instruction is "Wait sec 0.5" and the robot is actually performing "PTP P_WELD" ?
I have also checked the related programs and "P_WELD.E1" is calculated and transferred from other functions, so that means "PTP P_WELD" is a motion defined for the gun?
That means this motion is not possible ? always waiting without any message ?
By the way, the programs are identical for many robots and other robots got no problem like this.
Thank you
Why the program gets stuck here
-
Sakya -
February 26, 2016 at 10:05 AM -
Thread is marked as Resolved.
-
-
login as expert and expand that fold to see where instruction pointer actually stops
-
Hello panicmode, if expand that fold probably will see several lines of subprograms, so from the caller stack I guess the instruction pointer is at "PTP P_WELD", right ?
-
i have no idea, you need to expand it while program is running and watch where the instruction pointer arrow spends lots of time...
-
i have no idea, you need to expand it while program is running and watch where the instruction pointer arrow spends lots of time...
What is the caller stack for ? -
as the name suggests caller stack provides information about call order of subroutines.
https://en.wikipedia.org/wiki/Call_stack -
If I had to guess, I would say that that WAIT SEC 0.5 is inside a loop somewhere. You'll need to find that loop and examine its exit conditions.
-
it looks like something is going on inside EG_SPOT().
however this is part of tech package and i doubt that problem is there.
more likely configuration/commissioning is incomplete or wrong. -
My recomendation: set the src file containing eg_spot() (should be found in TP Folder) to visible (mark program in KUKA HMI -> push edit button -> properties -> Module info -> visible) open all Folders and run Programm. Now you should be able the see the lines of code insid eg_spot() where the Robot waits.
Fubini
-
This is another robot running another problem, Maybe they are the same problem ?
As we can see, the robot stopped in the motion without any warning or error message, we found that once we press the auto start button of the PLC panel the robot moves on
This robot doesnt stop every time when it runs here, not like the robot I mentioned at the beginning
confused, and i have not yet test your method to see where the main pointer of that robot -
that means issue is not the robot but PLC code. most likely not keeping up required timing for AutoExternal handshaking (some of the robot inputs used for AutoExternal are edge triggered, not level triggered!!!) and likely dropping signals like Move Enable.