I'm not an integrator but am working on an integration for the first time on a robot cell at my plant. I want to have my robot move to a safe location, then to a Home position from wherever it is after it is stopped, then a reset from my PLC is performed. From reading through these forums and the KRL Expert Programming manual, it looks like I can save the last 2 or 3 positions prior to a Stop condition, then back up through those saved positions to clear any fixturing or clamping, then go HOME. It looks like my SPS routine could call this program when a reset bit is turned on by my PLC. If anyone of you experts could confirm this with an example I would really appreciate it. I'm new to the Kuka programming syntax.
Move to Safe then Home After Reset
-
krsholl -
September 7, 2016 at 3:27 PM -
Thread is marked as Resolved.
-
-
That's a fairly involved bit of programming. The hard part is having a way to guarantee that you always have a safe "exit" path, since the robot could conceivably stop anywhere. In most applications, this is usually handled by installing "branches" in the main program, that bring the robot to a safe position before checking for any sort of stop condition, after which it either continues normally, or branches out to move Home. Moving your robot straight to a "safe" position from any random location along your regular motion path is usually entirely impractical, except in situations where the work path is very simple, like a cutting job on a large piece of plywood -- in that context, a simple move "up" away from the surface is always safe, and can give the robot enough clearance to move directly Home.
-
Hello Guys,
I need to solve the simular task as ''krsholl" with one difference the customer don´t want to use KCP only in case of touch-up some position .
I have some idea but i need help with functionality.
My idea is :
With help of trigger when distance write inside some variable number for example CNC_POSITION=1,2,3.....99 where robot is , and then create new program for example Return home() where i will decide with help CNC_POSITION = 1,2,3...99 which steps i should proceed to save return home. Then i want put this program into CELL in place of CASE 2 becose in CASE 1 i have my Main program().
So with combination for example two butons i call CASE 2 not my main program in CASE 1.
But at first i need some how reset cell program(without KCP only with INPUTs from PLC) and send again PGNO_REQ and recive new PGNO_VALID with new program number.I am also used automatic selection cell program when is robot switch in to the EX_AUT so i think then it is possible but i don´t now how.Is this possible?Is this the right way or i am going wrong for it?
Sorry for my english and thank you for every advice.
-
There is no simple answer to this problem. While your intended approach is technically feasible, how do you protect against someone, someday, adding a new point in the middle of the program that throws off the numbering and renders all the "escape" paths incorrect?
The most basic, and most reliable, approach in most industry applications (particularly in automotive spot welding) is to simply disable the robot's "process" outputs and "fly through" the rest of the program without actually welding. Since the existing program path is already extant and collision-free, following it is the one guaranteed safe path.
Usually when using this technique, some sort of memory is attached to each process point, and updated as the robot performs its process activity at that point. So when the program is interrupted partway through, the next time the program is run, the robot will "fly through" all the points that were already finished, and not perform any welds until it reaches the first spot whose memory still shows an unfinished condition. Of course, this requires careful memory management, but it has been widely used throughout the automotive industry for many years with great success.For a process like machining/cutting, where simply "flying through" the pre-programmed path would cause collisions, sometimes a feasible approach is to change the Tool dimensions temporarily. For an end mill, for example, one might program a temporary change to the Tool dimensions such that the TCP for the end mill would be much longer than the actual physical end mill. This would enable the robot to "fly through" the rest of the cut path with the end mill not making contact with the work surface. Of course, this only works if there is enough space within the robot's motion envelope to support such motion.
In any event, it helps to break your process up into a number of smaller, shorter programs, which begin and end at positions where it is safe and easy to branch, either to the next program, or to a safe/Home position. The ideal is to keep the number of safe escape paths you must maintain to the minimum required, because maintaining many escape paths, in addition to your primary program, can quickly become unwieldy. In the worst case, a program with 100 process points might require 100 separate escape paths to be programmed an maintained -- this situation can easily grow out of control quickly.
-
in the past there was three programming courses (basic, advanced and expert).
expert course included exercise in just this kind of things. this requires some planing etc but it is useful specially for cases where program was already deselected so you cannot continue same path.
-
we have geneated our own way for safe home return. We just use 1 main and 1 sub program. Sub program will have our actual program of process with flags on off for each path of robot an main program will have interupt fund for subprogram and reverse path according to the flag is o .