Überwachung Zielposition erreicht

  • Wie kann man bei einem Cobra 600/ 600i überwachen ob der Roboter seine Position die er anfahren soll, erreicht hat.
    Zur Erklärung: Der Roboter entnimmt Teile und soll sie auf einem Werkstückträger montieren. Jetzt kann es auch mal dazu kommen, dass wenn die vorgelagerten Abfragen versagen,das sich das Teil nicht montieren lässt und der Roboter somit nicht auf seine Zielposition kommt.
    Ich fahre mit Moves auf die Zielposition, dann ein Break und dann soll der Greifer öffnen.
    Ich würde nach einer Zeit x, wenn er die Position nicht erreicht, gerne eine ander Aktion starten bzw wieder nach Home fahren.
    Was gibt es da für Möglichkeiten?
    Trotz des sehr guten Support von Adept, dachte ich mir stell ich die Frage mal hier, da es vielleicht auch noch andere interessiert bzw auch zur Belebung des Forums beiträgt.


    Grüße

  • ANZEIGE
  • Um eine mögliche Antwort zu geben ist mir noch etwas unklar.
    Wenn der Roboter nicht auf seine Zielposition kommt fährt er dann mit dem Teil im Greifer gegen die Montageeinheit? Also fährt er einen Crash oder wird keine Freigabe geschickt das der Roboter sich zur Zielposition bewegen darf?

    Es ist nicht einfach Ich zu sein aber irgend jemand muss es ja tun.<br /><br /><br />Björn Gentsch <br />Robotics Division<br /><br />NACHI EUROPE GmbH | Bischofstr. 99 |&nbsp; DE-47809 Krefeld, Germany<br />Phone: +49 (0)2151 7843338 |&nbsp; Mobile: +49 (0)172 / 1775455&nbsp; | Fax: +49 (0)2151-7843332<br />E-Mail: gentsch@nachi.de |&nbsp; Internet: http://www.nachi.de

  • Wenn die Posiion mit einem BREAK abgeschlossen wird, kann man davon ausgehen, dass der Roboter die Zielposition mit der vorgegebeneN Genauigkeit (FINE oder COARSE mit Angabe des Prozentwertes) erreicht hat. Wenn die Zielposition nicht erreicht wird muss es eine Fehlermeldung geben, die aussagt, dass ein Schleppfehler (Envelope Error), Ausregelfehler (Timeout Nulling Error) oder eine Blockade (Motor Stalled) aufgetreten ist.


    Wenn zusätzlich doch noch das Ganze in der Software überwacht werden soll, sehe ich die Möglichkeit den STATE(10) auszuwerten. STATE(10) sagt aus, wieviel % des Verfahrweges zurückgelegt wurden. Man könnte also definieren, wenn STATE(10) > 85 , dann einen Timer für den Tmeout zu starten.


    Ich bin im Moment nicht 100% sicher ob es den STATE(10) bei MicroV+ gibt. Wenn nicht melde dich.


    Viele Grüße,


    Pitl

  • Den Befehl gibt es in Micro V+


    http://www1.adept.com/main/KE/…Plus/MicroV/MicrovTOC.htm


    Unter TOC nach State suchen. Dort Findet man etwas weiter unten die Beschreibung des Befehls State(10) unter Select=10


    "When select = 10, the function returns the percentage of the current motion that has completed. The value 100 indicates that no motion is in progress. For continuous-path motions, the value of STATE(10) increases during each motion until the transition to the next motion, and then the value suddenly changes to close to 0 to reflect the start of the next motion. That is, STATE(10) does not reach 100 before it is reset to reflect the next motion."


    allerdings ist mir immer noch unklar was JohannesM genau überwachen will. Der Grund warum die Position nicht angefahren werden kann ist mir noch nicht ganz klar.

    Es ist nicht einfach Ich zu sein aber irgend jemand muss es ja tun.<br /><br /><br />Björn Gentsch <br />Robotics Division<br /><br />NACHI EUROPE GmbH | Bischofstr. 99 |&nbsp; DE-47809 Krefeld, Germany<br />Phone: +49 (0)2151 7843338 |&nbsp; Mobile: +49 (0)172 / 1775455&nbsp; | Fax: +49 (0)2151-7843332<br />E-Mail: gentsch@nachi.de |&nbsp; Internet: http://www.nachi.de

  • also nochmal kurz zur Erklärung.
    Der Roboter montiert Teile auf einem Dorn der bereits mit einem O-Ring bestückt ist. Jetzt kann es in seltenen Fällen passieren das zwei O-Ringe auf dem Dorn sind. Wenn der Roboter jetzt das Teil darauf montiert, dann kann er es nicht weitgenug eindrücken, sprich er kommt nicht auf seine endgültige Position.
    Das merkt der Roboter und bricht die Abarbeitung ab und gibt den Fehler Timeout Nulling Error aus.
    Pitl hat mir mit dem Befehl State den richtigen Denkanstoß gegeben. Die Abfrage mit State(10) hat mir leider nicht weitergeholfen da er laut dieser Variable schon 100% seines Weges erreicht hat. Aber die Zustände State(11) == 11 und State(2) == 2 konnte ich bestens dazu verwenden, um mir eine Fehlerroutine zu bauen.
    Das es im MicroV+ auch funktionieren soll, klingt gut. Hab es aber bisher erstmal nur in einem cobra600 einprogrammieren können.


    Grüße
    Johannes

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