Hallo zusammen,
bin grade bei der Opimierung einer Montage Anlage.
Es sollen 7 Pendel gleichzeitig in eine Matrize geingelegt werden.
Der Greifer hat eine Abfrage ob Pendel vorhanden oder nicht (für alle 7).
Nun zum Problem:
Manchmal Passiert es das ein oder mehrere Pendel nicht durchfallen wollen oder erst nach x sec.!
Roboter geht auf Störung - muß Quitiert werden.
Würde nun gerne die Routiene etwas umschreiben, so das der Roboter nach x sec. noch mal die Belegung prüft und die Abarbeitung ohne Bedienereingriff vortsetzt.
Wenn der Eingang nach 2 Versuchen nicht kommt - soll der Roboter die Störung wie gehabt anzeigen usw.
Routine:
!-> Kontrolle der Belegung des Pendelgreifers
PROC rPGPck(
\switch EMPTY
|switch FLD
\switch NEXT)
IF Present(EMPTY) THEN
IF iPG_EMPTY=0 OR DOutput(qPG_CLS)=1 THEN
StopMove;
WHILE iPG_EMPTY=0 OR DOutput(qPG_CLS)=1 DO
TPErase;
SetGO qErrNr,ERR_PG_PCK;
TPReadFK nTPSel,"Pendelgreifer belegt!",stEmpty,"EXIT",stEmpty,stEmpty,"ACK";
SetGO qErrNr,0;
IF nTPSel=2 EXIT;
!Option nach "ACK" Ablauf vortsetzen
IF Present(NEXT) GOTO B_LP1;
ENDWHILE
B_LP1:
StartMove;
ENDIF
ELSE
IF iPG_EMPTY=1 OR DOutput(qPG_CLS)=0 THEN
StopMove;
WHILE iPG_EMPTY=1 OR DOutput(qPG_CLS)=0 DO
TPErase;
SetGO qErrNr,ERR_PG_EMPTY;
TPReadFK nTPSel,"Pendelgreifer leer!",stEmpty,"EXIT",stEmpty,stEmpty,"ACK";
SetGO qErrNr,0;
IF nTPSel=2 EXIT;
IF Present(NEXT) GOTO B_LP2;
ENDWHILE
B_LP2:
StartMove;
ENDIF
ENDIF
ENDPROC
Hat jemand eine Idee???