When I create a module in WorkVisual (KSS 8.2), the software generates these lines in the INI section:
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
I see from other posts on this forum that IR_STOPM is called when the robot faults during a move.
And I understand from the manual that the first two lines in the snippet above declare and activate the interrupt.
What I don't understand is why the interrupt would be declared and activated in every module.
The same code snippet is in cell.src. So the interrupt routine (IR_STOPM) should already be declared and activated by the time any motion is commanded in some other module.
I thought perhaps the interrupt must be "reloaded" after each triggering event. But I didn't see anything to that effect in the manual.
I also see in the ir_stopm source that I can add instructions to be executed as the robot stops in response to the fault. I found nothing in the Programming for Integrators manual to indicate that I should even be aware of the stop routine. Same with the P00 and BAS routines: they are used in many places in the Kuka code, yet I cannot find one word about them in the integrator's manual. (I only know about ir_stopm.src because I saw a reference to it in another post.)
Is there some other place I should be looking for an overview of how the system works? Or am I missing something obvious in the Programming for Integrator's manual? Or does Kuka let us figure this stuff out by accident?