IRC5, RW 6.12.
Hey, all, it's me ag-- no, don't run away! This one should be simple.
I'm trying to track down a strange issue with a robot that has a tool changer and swaps between two different servo guns.
Basically, the gun the robot is carrying sometimes seems to deactivate for no reason. I'm still trying to track down the exact circumstances, but the most recent event was overnight -- yesterday afternoon, the robot was welding with one gun, we E-Stopped the system and went home for the night. This morning, we cleared the E-Stop and tried running again, and the robot failed on the first SpotL command with "Gun Not Active". The robot was not rebooted overnight. The only thing that happened was that I made some RAPID edits this morning and applied them to the controller from RobotStudio before we fired the system up in auto.
Now, someone who was programming this before I inherited it apparently ran into this problem, and had littered all their weld programs with ActUnit commands as a workaround. I've been going through and removing those as unnecessary "lint." Which lead to this morning's issue.
I've combed the entire controller for DeactUnit commands, and can say with confidence that the only DU commands are in the gun-drop routines of the tool change programs. So whatever's deactivating the guns, it's not DU commands that shouldn't be there.
What are the events that might cause a servo gun unit to become deactivated without a DU command being called? I wouldn't expect an E-Stop to do it. Maybe a Warm Start, but that seems unlikely. I could just put ActUnit commands all over the programs again, but that's kludgey. Still, if I have to, are there any penalties to firing an ActUnit command when the gun is already mounted and active?
Just for complete detail: this robot also has an ABB L-positioner with Independent Multi-Move. That unit gets activated and deactivated a lot, but I don't see any potential "cross talk" between that and the guns.