.PROGRAM coop()
PARAMETER HAND.TIME = 0.5
SPEED 100 ALWAYS
TOOL TRANS(0,0,25)
so = 2
si = 1002
nrobj = 0
MOVE safe
OPENI
FOR i = 0 TO 9
SET pick = SHIFT(p1 BY 0,0,10*(9-i))
APPRO pick, 40
BREAK
SPEED 20
MOVES pick
CLOSEI
DEPARTS 40
BREAK
MOVE safe
50 WAIT SIG(-si)
SIGNAL so
IF SIG(si) THEN
SIGNAL -so
GOTO 50
END
WAIT SIG(-2001)
SET place = SHIFT(p2 BY 0,0,10*nrobj)
APPRO place, 40
BREAK
SPEED 20
MOVES place
OPENI
nrobj = nrobj+1
DEPARTS 40
BREAK
MOVE safe
BREAK
SIGNAL -so
END
SIGNAL 2002
.END
.PROGRAM monit()
si = 1002
50 WAIT SIG(si) OR SIG(2002)
IF SIG(2002) GOTO 100
SIGNAL 2001
TIMER 1 = 0
WAIT SIG(-si)
IF TIMER(1) > 0.3 THEN
nrobj = nrobj+1
SIGNAL -2001
END
SIGNAL -2001
GOTO 50
100 SIGNAL -2002
.END