Hello there,
I'm using a KRC4 with KSS 8.3.21, to control a KR480 in ext_auto via a Siemens PLC.
I'm trying to cancel a robot motion when the robot receives a specific signal from the PLC: the robot does a linear motion so that its tool press a push-button. The button signal is sent to the robot using profinet, and triggers a local interrupt in the robot program.
What bothers me is that I thought the interrupt would cancel the motion execution, and jump the normal run pointer to the next program line. But it is not the case, the motion continues when the interrupt program is done.
The only way my colleagues and I found to properly cancel a robot motion, executed in the program XXX.src, and continue the program afterwards is:
- to declare the interrupt in the CELL.src
- the program XXX.src is called, and the interrupt is triggered during its execution
- in the interruption program, put a RESUME at the end, so that the normal run pointer would go back in the Cell.src when the interrupt is triggered
- In the Cell.src, call back the program that was interrupted (using a global variable that keeps track of the program previously executed)
All of this to ask: Is there a more elegant, easier way to do it?
Thanks in advance !