Is there some way that i can make the robot execute the next move instruction and then stop when the robot gets lets say a pulse from a PLC. Today i have solved it with a routine that checks the signal after every movement but i want to solve it without all the extra routine calls that my solution demands. All ideas are welcome.
f you can use linear movement then maybe this could work…
PROC temp()
SearchLStop,diStep,pStoredPos,pYourPos1,v100,tTempWObj:= wobjtemp;
!...!
SearchLStop,diStep,pStoredPos,pYourPos2,v100,tTempWObj:= wobjtemp;
!....
ERROR
IF ERRNO=ERR_WHLSEARCH THEN
!Error, no signal until position pYourPos reached.
!Do your stuff.
ENDIF
ENDPROC
Have you looked at CheckTriggIO? The trap routine could be a STOP or WAIT instruction. You need fixed position events option.
TriggCheckIO is used to define conditions for testing the value of a digital, a group of digital, or an analog input or output signal at a fixed position along the robot’s movement path. If the condition is fulfilled then there will be no specific action. But if it is not then an interrupt routine will be run after the robot has optionally stopped on path as fast as possible. To obtain a fixed position I/O check, TriggCheckIO compensates for the lag in the control system (lag between servo and robot).
The data defined is used for implementation in one or more subsequent TriggL, TriggC, or TriggJ instructions.