I have an IRB7600 running RobotWare v6.12.00. I have a local procedure that I want to automatically execute a cyclic brake check when the PLC gets the SC1CBCPREWARN signal. The robot will move to position and execute the brake check, however it will not perform any move instructions after, even though the system still says running. My first thought was that the CPU was reading ahead too far and trying to execute the move instruction while still performing the brake check, so I added a WaitRob \InPos instruction after the call for the brake check, but this didn't fix my problem. I also tried the \ZeroSpeed switch but that didn't work either. I tried calling the regular BrakeCheck, but with SafeMove 2 installed I am required to use CyclicBrakeCheck. The CBC routine is able to finish and I make sure not to interrupt it while it is executing. The SC1CBCOK signal is being sent as well once it finishes.
Here is a basic version of what I'm trying to run:
MoveJSync pPreBrakeCheck, v1000, z200, toolhand1\WObj:=wobj0, "rMoveInSync";
MoveJSync pAtBrakeCheck, v100, fine, toolhand1\WObj:=wobj0, "rMoveInSync";
WaitRob \InPos;
CyclicBrakeCheck;
WaitRob \InPos;
!PP will get stuck here despite the system saying "running"
MoveJSync pPreBrakeCheck, v1000, z200, toolhand1\WObj:=wobj0, "rMoveOutSync";
rGoToHome;