Laservermessung - Profibus - Trigger

  • Guten Tag liebe Gemeinde,
    erstmal Lob an dieses Forum. Um mich auf meine anstehende Aufgabe vorzubereiten, habe ich hier diverse Einträge gelesen und mich etwas informiert. Leider bin ich dennoch sehr unerfahren und habe noch keine Idee bezüglich der Umsetzung des folgenden Problems.


    Ich arbeite derzeit an einem Teilautomatisierungsprojekt in der Sandformerstellung. Wir haben uns einen generalüberholten M900iA-350 angeschafft; die zugehörige Steuerung ist ein RJ3IB. Der Roboter wird über eine Profibus-Slave Karte an ein Echtzeitsystem aus dem Hause National Instruments (NI) angesteuert, das die komplette Steuerung der Zelle übernimmt. Dazu zählen u.a. verschiedene Werkzeuge am Roboter, den Roboter selbst und einen Formsandmischer.


    Das eigentliche Problem besteht derzeit in der Synchronisierung von Messdaten eines Linienlasers (SICK Ruler E 1200), welcher über TCP/IP ebenfalls vom NI System angesteuert wird. Ziel ist es den in die Form eingefüllten Sand nebst darin befindlichen Modell zu scannen und ein virtuelles 3D Modell daraus zu erstellen. Dazu wird der Linienlaser vom M900 über die Form geführt und aus den aufgezeichneten Profilschnitten eine Gesamtpunktewolke erstellt. Das Problem ist hier die Synchronisierung der Ist-Position des TCP und dem zugehörigen Profilschnitts des Lasers, da der Laser nicht gezielt schaltbar ist, sondern permanent misst und bspw. lediglich über einen Trigger, ein bestimmtes Profil heraus gegriffen werden.


    Über Fanuc wurde uns geraten, eine zweite Task zu programmieren und parallel zu starten, die uns die TCP Koordinaten in den Profibus schreibt. Wenn ich dazu passend nun auch noch ein Triggersignal erzeugen könnte, das den Laser schaltet, wär das Problem gelöst, die Frage ist nun geht das? Bei Fanuc hat mir da nur vage Antworten gegeben...Allerdings habe ich keinerlei Erfahrung mit Karel und das Programm, um die Koordinaten in den Bus zu schreiben stellt mich bereits vor eine Aufgabe.


    Kann mir eventuell Jemand Tipps dazu geben? Oder hat vielleicht Jemand schonmal die Koordinaten in den Bus schreiben lassen und könnte mich bei der Programmierung unterstützen? Falls Ihr noch weitere Infos braucht...


    Vielen Dank für Eure Unterstützung,
    Marcel

  • ANZEIGE
  • Hallo,


    an der großen Zahl der Antworten kannst du sehen, dass du eine etwas exotische Frage gestellt hast. :zwink:


    Würde es nicht ausreichen, wenn Roboter und Sensor kontinuierlich Daten an deinen Echtzeitrechner schicken und du dort beim Eintreffen der Daten die jeweils neusten Werte beider Seiten miteinander kombinierst ?


    Grüße


    Urmel

  • Hallo mlanger,


    das erste was mir hierbei auffällt ist die Sache mit der "Echtzeit".


    In Echtzeit wirst Du die Daten mit ziemlicher Sicherheit nicht aus dem Roboter bekommen.
    Schon allein, weil die Steuerung irgendeinem Takt unterlegen ist.


    Jedoch könnte ich mit schon vorstellen, dass Du mit KAREL die Befehle zügig abgearbeitet bekommst.


    Wie ist denn die Steuerung mit dem Laser verbunden, für den Trigger? Über digitale I/Os?
    Da gibt es von Fanuc diese "High Speed"-Baugruppen, die sind schneller als die "normalen" I/Os.


    In KAREL einfach den Trigger setzen und als nächstes die Position wegspeichern.
    Du könntest ja theoretisch die Positionen auch erstmal zwischenspeichern, denn ich denke, dass der Bus auch nicht gerade Echtzeit ist?! =)


    Ist ne schwierige Anwendung. =D


    Gruß
    Fred

    Hoffnung ist der erste Schritt auf dem Pfad der Enttäuschung.<br /><br />Java programmers wear glasses, because they can&#039;t C#.


  • In Echtzeit wirst Du die Daten mit ziemlicher Sicherheit nicht aus dem Roboter bekommen.
    Schon allein, weil die Steuerung irgendeinem Takt unterlegen ist.


    Es gibt Robotersteuerungen, wo man im Interpolationstakt der Steuerung Zugriff auf die Daten bekommen kann oder Tasks starten kann, die einmal pro Takt ausgeführt werden.



    Wie ist denn die Steuerung mit dem Laser verbunden, für den Trigger?


    Die Frage ist, ob ein Trigger hilfreich ist. Wenn der Roboter die Position an den Echtzeitrechner sendet, ist deren Eintreffen ja schon ein "Ereignis", das man für die Programmierung verwenden kann.


    Bei so einer Scananwendung will man ja den Roboter möglichst kontinuierlich bewegen und die Datenströme von Scanner und Roboter zusammenführen. Dabei muss man auch noch die unterschiedlichen Signallaufzeiten und Verarbeitungszeiten von Roboter und Scanner berücksichtigen.



    Ist ne schwierige Anwendung. =D


    Ist ne Anwendung für entsprechend spezialisierte Robotersteuerungen (z.B. Stäubli oder Mitsubishi).

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