MoveLSync

  • Ich möchte mit einen MoveLSync quasi im letzten möglichen Moment eine Bedingung überprüfen.

    Die Sync Routine wird auch aufgerufen.

    Da drin ist ein WaitUntil .....

    Trotzdem fährt der Roboter aber weiter und wartet nicht am WaitUntil.


    WAs mache ich da falsch? ist der Lösungsansatz so verkehrt?



    Irgendwer hat mal gesagt alles was nach 18:00Uhr programmiert wird ist eh für die Tonne ;)

    also

    Vlt. bring ein neuer Tag ja neue Ideen :S

  • ANZEIGE
  • Wenn du den Roboter mit einer Bedingung stoppen möchtest, dann würde ich das in einer Trap Routine machen. Mit dem MoveLSync könntest du ja die Bedingung prüfen und dann das Auslöseereignis für die Trap Routine setzen.


    Ich bin ziemlich sicher, dass du den Roboter mit einem Wait in der (via MoveLSync) aufgerufenen Prozedur nicht stoppen kannst, da das Ganze ja parallel zur Bewegung abgearbeitet wird.

  • Ich meine das der eigentlich eingelesene Pfad abgearbeitet wird und das WaitUntil bei deinem Versuch nicht dort zu tragen kommt wo do diesen gern hättest.


    Das MoveSync Thema ist mit Vorsicht zu genießen, ist weder stabil noch pfadgenau.

    Je nach Zykluszeit und Prozessorlast kommt das auch später, aber eher nicht.


    Wenn du etwas pfadabhängiges haben möchtest was wiederholbar und reproduzierbar ist wäre ein Trigger zu empfehlen.


    Aber das weißt du ja sicherlich. ;)

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Erfahrungen zeigen leider das diese Funktionalität vom MoveSync sehr von der Zykluszeit und Prozessorlast abhängig ist.

    Bei Automatik 100% hast du da unterumständen ein echtes Problem.

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hallo,
    Du könntest die Instruktion "TriggCheckIO" in Vebindung mit "TriggL" verwenden, die eine Bedingung testet. Sollte diese nicht erfüllt sein, so wird eine Trap Routine aufgerufen in der auf die Bedingung gewartet werden kann.

    Die Instruktion erlaubt einen "StopMove" als Parameter anzugeben, so dass die Bewegung sofort gestoppt wird falls die Bedingung nicht erfüllt ist und bevor die Trap-Routine aufgerufen wird.

    Aber auch hier wird mit StopMove und StartMove gearbeitet, wenn die Bedingung nicht erfüllt ist, aber man spart sich den generellen Aufruf der Trap-Routine.


    Beispiel aus der Doku

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)

    Einmal editiert, zuletzt von Micky ()

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

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!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden