Hi,
I'm having the following issue that I do not understand.
I have the following interrupt declaration:
INTERRUPT DECL 1 WHEN NOT SignalToMonitor DO ISR_1()
I activate the Interrupt when some preconditions are met.
When SignalToMonitor is false, ISR_1() is called which is defined as follows:
DEF DO ISR_1()
BRAKE
ABORT_PROGRAM = TRUE
END
In my sub file I have the following code:
LOOP
IF ABORT_PROGRAM THEN
MODE=#SYNC
CWRITE($CMD, STAT, MODE, "CANCEL 1")
CWRITE($CMD, STAT, MODE, "STOP 1")
ABORT_PROGRAM = FALSE
ENDIF
ENDLOOP
The whole purpose is to stop the robot interpreter so that the program that was running is stopped. But my issue is the robot interpreter is never stopped. I have similar code in other programs which are not in the interrupt routine that set the ABORT_PROGRAM variable to TRUE and the interpreter gets stopped.
My KSS version is 8.6.10.
Thank you in advance.