So, another IRC5 (RW v6.01) question:
I inherited these robots in a mostly completed state, and production has already started on some units. But I'm running into some odd differences between the different robots.
The robots all have a routine that sets up the Home position output on reboot:
PROC PowerOn()
WZHomeJointDef\Inside,HomeJoints,HomePosJoint,DeltaPos;
WZDOSet\stat,HomePosWZ\Inside,HomeJoints,do75_R2AtHome,1;
WZHomeJointDef\Inside,MainJoints,MaintenancePos,DeltaPos;
WZDOSet\stat,MainPosWZ\Inside,MainJoints,do74_R2AtMaintenance,1;
ENDPROC
This works on the production robots -- whenever the robots are rebooted, the WZs get set up, and the signals work. On the robots that aren't yet in production, I have to run the PowerOn routine by hand.
Obviously, this is just a config setting. I compared SYS.CFG between backups, and found that the POWER_ON section was missing from the pre-production robots. No problem, I made the setting change via RobotStudio, rebooted the controller, and... nada. Even though the robot was physically at Home position, do75 didn't turn on.
I pulled a backup from the robot I made the change on, and compared SYS.CFG to the "good" robot again. 100% identical, down to the last character.
I rebooted the robot again, just for kicks... still no do75. I hand-selected PowerOn and ran it... and got a "World Zone Already In Use" error. But do75 did turn on. I should note that the robot was physically at Home during all these reboots, and did not move.
So, the error message tells me that the PowerOn routine is getting called on boot, but do75 doesn't turn on until I run PowerOn by hand. What am I missing here?
ADDENDUM: while typing this out, I rebooted the robot a couple more times (never moving the robot), and suddenly do75 came on at the end of the boot. I rebooted the robot again, and... do75 stayed off. Now I'm even more confused. I doubt the customer will take "reboot the robots 5 times" as a standard operating procedure to resolve this issue. Why would it be so inconsistent? Is it possibly my DeltaPos range setting is too narrow? It's set to [1,1,1,1,1,1], which seems like it should be generous enough.