Mit dem Befehl CONTINUE (Programm editieren und von Hand eintippen) wird die nächste Programmzeile (auch eine Leerzeile) mit Programmvorlauf (im Normalfall steht der auf 3) bearbeitet. Das heißt, wenn die Wartebedingung erfüllt ist, läuft der Roboter ohne halt weiter; wenn nicht, bleibt er in der Zeile mit dem WAIT-Befehl stehen.
Mhhh, so meinte ich das nicht ganz, aber ich habe mich auch schlecht ausgedrückt merke ich grad:
Das Problem bei CONTINUE ist ja, dass die WAIT-Abfrage schon vom Vorlaufzeiger abgefragt wird. Oft ist es aber so, dass man genau dann abfragen will, wenn auch der Hauptlaufzeiger so weit ist. Kann man sich da was biegen, dass man sowohl überschleifen kann, als auch die Abfrage dann auswertet, wenn sie erwünscht ist, also vom Hauptlaufzeiger?
Ich hoffe ich habe es jetzt gut genug ausgedrückt.
In diesem Fall könntest du es mit einem Trigger-Befehl machen.
z.B.
Code
PTP P1 CONT ....
TRIGGER WHEN DISTANCE=0 DELAY=0 DO Check() PRIO=-1
PTP P2 CONT ...
PTP P3 CONT ...
...
DEF Check()
IF NOT Wartebedingung THEN
BRAKE
WAIT FOR Wartebedingung
ENDIF
END
Alles anzeigen
Nachteil dieder Lösung: Wenn der Roboter wartet steht der Satzzeiger mindestens bei P2 oder vieleicht sogar bei P3, abhängig vom Abstand der Punkte zueinander. Physisch wird der Roboter aber in der Mitte der Überschleifbahn von P1 zu P2 angehalten.
Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren
Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Roboterforum.de - die Industrieroboter und Cobot Community in der WSC-Connect App bei Google Play
Roboterforum.de - die Industrieroboter und Cobot Community in der WSC-Connect App im App Store
Download
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklärst du dich damit einverstanden, dass wir Cookies setzen.Weitere InformationenSchließen