So I am doing a search routine, actually using code that has worked in the past(at least inside the subs).
The code is basically this:
[SearchFrame is global]
SIGNAL SearchTriggered $IN[67]
SIGNAL CycleStart $OUT[71]
SIGNAL CycleHold $IN[65]
SIGNAL SearchActive $OUT[72]
....
;####Operation 1
;FOLD OPER INI
SearchFrame = {Z 15}
INTERRUPT DECL 18 WHEN SearchTriggered == TRUE DO setPos()
;ENDFOLD (OPER INI)
$IPO_MODE = #BASE
LIN {X -4398.396,Y -1829.719,Z 1488.637,A 180,B 0,C 180, E1 0.0, E2 0.0, E3 10.0, E4 40.0} C_DIS
LIN {X -4398.396,Y -1829.719,Z 988.637,A 180,B 0,C 180, E1 0.0, E2 0.0, E3 10.0, E4 40.0}
$VEL.CP=0.050000
TRIGGER WHEN PATH=-0.0 DELAY=0.0 DO SearchMotion() PRIO = -1
LIN {X -4398.396,Y -1829.719,Z 988.637,A 180,B 0,C 180, E1 0.0, E2 0.0, E3 10.0, E4 40.0}
$VEL.CP=0.100000
LIN {X -4398.396,Y -1829.719,Z 1488.637,A 180,B 0,C 180, E1 0.0, E2 0.0, E3 10.0, E4 40.0} C_DIS
END
DEF SearchMotion ()
SIGNAL SearchActive $OUT[72]
INTERRUPT ON 18 ;interrupt enable
SearchActive = TRUE
WAIT SEC 0.012
LIN_REL SearchFrame #TOOL
HALT ; if path reached end position (e.g input not triggered) program stopped.
END
DEF SetPos ( )
SIGNAL SearchActive $OUT[72]
INTERRUPT OFF ; disable interrupt
BRAKE F ; Brake command
WAIT SEC 0.0
SearchActive = FALSE
RESUME ; Resume main program
END
Everything seems correct but when I hit the RESUME I get "impermissible program structure for resume".
Any ideas?