X Y Z Koordinaten als Variable an Bus weitergeben

  • Hallo,

    Ich bin dabei eine Roboteranlage für Türenbearbeitung auf zu bauen.

    Hierfür kommen die Türen auf einem undefinierten Stapel auf einer Rollenbahn. Die Türen können bis zu 300mm von Nullpunkt der Rollenbahn weg liegen.

    Ich muss vor dem Aufnehmen, per Saugtraverse am Roboter, eine Höhenmessung mit dem Roboter durchführen. Dies gescheit durch einen Messsensor am Greifer. Der Robot fährt auf eine definierte Position und von dort wird per Sensor die Höhe gemessen.

    Nun muss aber auch kontrolliert werden wo due Tür vom 0 Punkt aus liegt. Hierfür ist mein Plan den Höhensensor zu nehmen und damit eine "Suchfahrt" zu machen. Also auf der Messposition eine fahrt von 350mm Richtung Tür (X-Richtung des Roboters). Der Höhensensor soll übern Bus mit einer SPS Steuerung abgefragt werden und an der höchst gemessenen Stelle brauche ich dann die X-Position des Greifers.


    Nun zu der Eigentlichen Frage. Wie kann ich die X-Position die auch im Flexpendant angezeigt wird auf eine Variable legen, das ich diese in der SPS nutzen kann?


    Vielen Dank für eure Hilfe und konstruktiver Kritik :)

  • ANZEIGE
  • Moin,

    wir schicken die Real-Werte zwischen den beiden Systemen hin und her über den Feldbus.

    Früher haben wir die ganzzahligen Werte im Roboter und SPS gesendet und dann umgerechnet um den korrekten Wert zu bekommen.


    Aber die Möglichkeiten haben sich weiterentwickelt und nur kann man mit dem Roboter auf Real-Werte (4byte) senden und empfangen. Was immer noch wichtige ist, ist die Thematik High- bzw. Low-Byte Thematiken. Aber das ist bei ABB auch kein Hexenwerk, je nachdem mit welchem Typ SPS man zusammenarbeitet.


    Gruß

    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!

  • . Nun zu der Eigentlichen Frage. Wie kann ich die X-Position die auch im Flexpendant angezeigt wird auf eine Variable legen, das ich diese in der SPS nutzen kann?..

    Was soll den die SPS mit der Koordinaten machen? Letztendlich wird doch wohl der Roboter diese Position verwenden müssen. Also warum noch über die SPS schleifen?

    Würde da eher den Sensorwert an den Roboter weitergeben, und dort eine Suchfahrt machen. Das wird auf alle Fälle genauer als online die Position an die SPS zu senden und dort abzuspeichern. Da musst immer mit einer nicht zu vernachlässigenden Verzögerung rechnen.

  • Ich glaub', der Kollege HeavyRobot hat'n anderes Problem, was ich ungefähr so einschätze:


    - die SPS wollte eigentlich nur wissen, ob auf dem Stapel noch Teile liegen und kriegt den Wert des Sensors, aber nicht der Robbi

    - die SPS weiß allein, was für Teile da liegen, und positioniert den Robbi indirekt oder direkt

    - jetzt stellt einer fest, dass die Stapel nicht gleich auf dem Transport ankommen (das wird grundsätzlich immer erst hinterher festgestellt, ist so eine Art Gesetz) und will mit dem Robbi auf beschriebene Weise suchen

    - und statt den Robbi jetzt den Interrupt fahren zu lassen, will die SPS es machen

    - und der Kollege will jetzt während der Fahrt kontinuierlich die Position rausschicken, um der SPS diese Aktion zu ermöglichen.


    Und das - sollte es denn die Frage gewesen sein - wird so schlecht, dass ich gar nicht erst anfangen will, darüber nachzudenken.


    Ich rate dringend: lass Dir das Signal vom Sensor durchschleifen und mach die Suchfahrt mit dem Roboter. Und nur mit dem Roboter.

  • Moin,

    da hat Programmiersklave teilweise recht!

    Der Stapel wo die Teile liegen ist komplett unbekannt. Die Steuerung des Saugers am Roboter wird komplett über die SPS geregelt, sodass der Robby davon nix weiß.

    Die Teile können (nicht müssen) wie eine "Treppe" im Versatz gestapelt sein.

    Während der Fahrt soll die aktuelle Position ermittelt werden, damit die SPS das gleichzeitig mit den Höhenwerten verknuspern kann und sagen kann, auf welcher X-Position die höchste Tür liegt.

    Der Roboter wird auf eine "Grundaufnahme Position" gefahren, mit versätzen die die SPS vorgibt, da alle Daten in der SPS vorhanden sind.

    Ich hatte gestern zufällig eine Rückmeldung von ABB zu einem anderen Thema und konnte die Fragestellung dann auch gleich an bringen.

    Hauptproblem ist wohl, das die Steuerung dem Robby vor eilt und dadurch eine genaue Positionsübergabe nicht möglich seien wird.

    2 Alternativen sind dabei diskutiert worden.


    1. Sensorik an den Roboter anbinden und ihn diese Geschichte machen lassen.


    2. Den Roboter mehrere kleine Steps fahren lassen und mit einem "crobt" die aktuelle Position in einen Robtarget schreiben lassen. Dieser kann dann per Variabel weiter gegeben werden.


    Da die Messstrecke 350mm betrifft und es weder auf Zeit noch auf hohe Genauigkeit ankommt würde ich mich erstmal zu Version 2 entscheiden. So kann alle 50mm ein Messschritt gemacht werden.



    Danke euch für eure Antworten!

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