Hi
I have a Kuka robot with a KRC4 controller which controls an external parallel gripper. All quite simple except for that that gripper might be gripping a part by opening the gripper OR by closing the gripper, depending on which part to pick.
The robot program keeps track of that as long as it's running and is always able to "release" the part based on persistent variables that tell which direction the current grip is. When hibernating, this also works flawlessly as well as during a cold boot.
The problem comes when downloading a new program from WorkVisual to the robot controller: At that state, the variables for the grip direction are overridden by potentially earlier values, potentially making the robot "release" afterwards in the wrong direction.
The gripper is an electrical gripper and therefore it doesn't handle it well if I tell it to release in some direction that it can't move. Also, I unfortunately get no state info from it that I can use in this case. So, I was hoping that I could instead detect when a new program has been downloaded to the robot from WorkVisual and then just ask the operator (who would then be an "expert programmer") which direction to move the gripper when that happens
But, long story short, is there ANY way to distinguish a "download of new files to the robot" from "the controller has been cold booted"? Both reset all outputs and both would restart the submit interpreter. So I can't seem to find a good way of telling whether I can trust my persistent variables.
Thanks in advance!