IRC5, RW 6.12
Well, time for my next learning experience! Yay! I've set up regular robot-carried TCPs before, but this is my first time ever setting up a stationary TCP, and the manuals aren't terribly explicit on this subject. I think I've mostly figured it out, but I'm looking for a sanity check. This robot is picking up a part and running it under a fixed pedestal sealer.
What I have so far:
1. TCP has RobHold set False, and describes the location of the stationary TCP in World coordinates
2. I then have to create a WObj with RobHold set True, and the WOBj is defined relative to the J6 mounting flange (basically, the same as a carried TCP would be)
3. When programming or running any points using the Sealer stationary TCP, I must explicitly activate both the stationary Tool and the carried WObj, or else... well, I'm not sure what happens, but I'll bet it's not pretty. Judging from my attempts to far, error messages.
From my reading in the manuals and old forum posts, it sounds like the Load data is defined differently for a stationary TCP/carried WObj? Defined relative to the carried WObj, instead of the J6 mounting flange? I have to run LoadID on this robot anyway, for the programs that use a carried TCP, but I'm wondering what (if any) special steps are needed to do LoadID for a carried WObj?
Is there a rule for placing the carried WObj? My first thought is that I could place it on the tip of one of the robot gripper's locating pins, especially since I'm already creating a carried TCP there for my pick&drop programs.
Also, should I do anything specific between the UFrame and OFrame? From my reading, the Load data for a carried WObj is applied relative to the UFrame, so it seems like it might make sense to keep the UFrame at the J6 flange (0,0,0), and set the OFrame to the actual coordinates of the locator pin. Or am I overthinking this?
In fact, I have two grippers and two locator pins -- the robot picks up two different parts and runs them both under the stationary sealer. If I create a carried WObj on each locator pin, do I just keep the stationary TCP active and switch WObjs when I switch from sealing one part to the other? I assume that the analog flow control for the Dispense outputs is generated from the relative velocity of the carried WObj and the stationary TCP, so I'll want my carried WObj to be fairly close to the point of contact.
From what I've stumbled through so far, it seems as if, between the active TCP and WObj, one has to have RobHold True, and the other False, or else the robot throws errors. Am I correct?
Are there any particular "gotchas" that Old ABB Hands all know, when it comes to stationary TCPs, that I should be aware of before I dive into this?