I have found the two following posts that seem to touch on what I am trying to do:
(my robot: KR 6 R900, robot controller: KRC4)
I use slicer software which generate g code from a 3D model and this g code should be used for 3d printing.
I can't use it kuka cnc package, because my company doesn't buy it!!!
How can I integrate the g code into krl, in some alternative way?
Could some please help me understand kuka programming language:
robot-forum.com/attachment/31076/
Like start/end point of a weld but really as much as possible would be perfect.
Thanks
I am writing a C# program that is similar to what is being done above. It is not translating G-Code, but it is close enough to doing so that we can call it "translating G-Code."
When I generate the point list of the path to be traversed and have it broken down into various weld groups (as few as two or more than a thousand, I need to be able to address certain groups and have the operator decide whether or not to weld one area or another.
1. If I generate an array in the .DAT file, it is not a very big list before I get an error that the array is too large.
2. If I generate a list in the .DAT file comprised of
DECL E6POS P1={x 0, y 0, z 0,... }
...
DECL E6POS P3550={x __, y __, z __...}
then I have a problem with traversing through the list. I think. With this method, I do not know how to have a generalized reference to a named point that is not an array element. Preferably, the algorithm would be a nested FOR loop that the outside loop goes through the number of path groups while the inside loop runs between the automatically-generated from point P391 through point P632, for example.
Obviously, it would be fairly trivial to create the .DAT file with the point names and then create a SWITCH statement in the .SRC file where each CASE is a long sequence of LIN P32 statements, but this is not very elegant and *MOST IMPORTANTLY*, if the operator needs to stop the process at some point along the way, I want to be able to perform a restart by simply knowing the name or number of the last completed LIN move. This is easy with an array, but I think that it is less simple with a long series of named points, unless there is a handy trick that I do not know about.
I do know that the KRL does its own point name generation whenever you create a new motion step, but I don't know if I have any access to how to traverse through such a list.
Is there such a method?