As my post footer says, my primary robot experience is with Fanuc and Motoman-- both of which have an "Abort" function (or equivalent), which cancels the current program and prevents further motion/action of the robot until the Main program is re-called.
All I've been able to find in the KUKA documentation is the HALT command, which isn't "strong" enough to accomplish what I'm looking to prevent (an operator being able to just restart the program on the next line). For example in my tool changer program, if the Tool ID of the currently attached EOAT isn't Tool ID 1, then I don't want to try and drop off the tool, I want to throw a fault message and then prevent the operator from continuing to run the current program:
;Make sure that the tool currently attached to the 100kg master is Tool 1.
IF TOOL-ID1 <> TRUE THEN
;FAULT
;Send error message output to PLC/HMI
DOUT[177] = ON
;"ABORT"
ENDIF
I could do something messy with flags and GOTO commands, but I'd rather just "Abort".
Thanks for your insight!