.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

