So, I just got asked to work on a set of IRC5s (RW 6.12) that are built on the "UAF Framework," or "US Automotive Framework." Now, so far, it doesn't seem too bad, but there's a lot of hidden subroutines doing things I can't see, and (so far) the documentation I've been provided doesn't explain them.
The main issue I'm trying to deal with at the moment is dropping off a Material Handling end effector that has Ethernet/IP I/O modules on it, with the EIP network passing through the tool changer. There are commands on the pendant to Activate and Deactivate the MH I/O modules, and they mostly work, but the Deactivate function keeps throwing an error, and these commands are not documented at all in the UAF manual I have.
In raw RAPID, the commands look like so:
ActivateMHIO 3,2;
DeactMHIO;
The first numerical argument passed to the Activate subroutine appears to be the tool number, and the second is, maybe, the number of modules to connect (there's a valve pack and an input module). That works.
However, the DeactMHIO subroutine will not accept any arguments. The problem is, when it runs, it's trying to deactivate modules that don't exist, and throws errors when it can't find them. On this robot, there's MHVP (the valve pack), and MH_BLK_1, and they both get deactivated properly when the subroutine is run, but then the subroutine hangs for a few seconds before throwing an error that it can't find MH_BLK_1 MH_BLK_2. There is no such module in the EIO config, nor was one ever set up during the initial load of the UAF baseware.
So, if anyone's familiar with the UAF, or has a better manual for it that they're willing to share, I'd be grateful. In the meantime, does anyone know where to look for the "raw" RAPID functions for deactivating/reactivating I/O modules? I may need to hack a solution to get by for the time being.
The UAF versions in these robots are:
UAF_BASE Version: 3.01.20.00
UAF_SW Version: 1.00.39.00
UAF_MH Version: 1.00.07.00
UAF_TC Version: 1.00.11.00
UAF_END Version: 1.00.01.00