KUKA KRC5 vermessene Basepunkte über Programm anfahren

  • Moin!


    Ich programmiere aktuell einen KUKA KR 10 R1100-2 Roboter, der über eine KRC5 micro mit KSS 8.7.5 gesteuert wird.

    Wenn man eine Base einmisst, dann landet die berechnete Base in der config.dat und man kann in einer direkten PTP-Bewegung die drei Punkte vom Einmessen über die Baseverwaltung wieder anfahren.

    Diese sind in der MeasurementPoints.xml auf dem Roboter gespeichert.

    Soviel weiß ich.

    Ich möchte jezt aber diese drei Einmesspunkte über ein selbstgeschriebenes Handverfahrprogramm anfahren können, und weiß nicht, wie ich auf die Daten der Punkte zugreifen kann.



    Beispielablauf:

    DECL E6POS e6pX, e6pY, e6pZ
    INT iBaseNo


    ;HIER MÜSSTEN DIE VERMESSENEN DATEN DER BASE"iBaseNo" DES ROBOTERS IN DIE VARIABLEN GESCHRIEBEN WERDEN


    SPTP P10 Vel=100 % PDAT10 Tool[1] Base[0] ;%{PE}


    SLIN Pe6pX Vel=2 m/s CPDAT1 Tool[1] Base[0] ;%{PE}


    SLIN Pe6pY Vel=2 m/s CPDAT2 Tool[1] Base[0] ;%{PE}


    SLIN Pe6pZ Vel=2 m/s CPDAT3 Tool[1] Base[0] ;%{PE}

    SPTP P10 Vel=100 % PDAT10 Tool[1] Base[0] ;%{PE}




    Hat das irgendwer schon mal versucht oder eine Idee, wie man an die Punkte rankommen kann?

    Es ist dochhrecht aufwändig, das für jede Base immer händisch umzukopieren und das bei jedem Basecheck erst prüfen zu müssen, ob auch die aktuellen werte drinstehen.

  • Schritt für Schritt zum Roboterprofi!
  • HIer im Forum schwirrt irgendwo ein Baseberechnungsprogramm rum.

    Nimm doch das, und zäum den Gaul von hinten auf: Teache die Punkte in deinem Programm und nimm die Punkte zum Berechnen der Base mit dem oben erwähnten Programm.

  • Das ist leider keine Option, da die Basevermessung des Roboters genutzt werden soll und es auch nachträglich möglich sein soll, das Check-Programm nachzurüsten, ohne alles neu einmessen zu müssen.

  • In diesem Fall könnte man CWRITE verwenden ... den Pfad zu MeasurementPoints.xml über krl_mount zugänglich machen, die XML-Datei auslesen, und den Roboter zur erhaltenen Position fahren

  • Mich auch

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • Wenn es einen Willen gibt, gibt es auch einen Weg... (oder 2,3,4...)


    Wenn die Verarbeitung von Zeichen-Arrays in KRL zu umständlich ist, warum sollte man sich dann die Mühe machen, dies in KRL zu tun?


    man könnte alles verwenden, was bequemer ist – es ist völlig in Ordnung, externe Programme wie FNR.exe oder C, VB, C#, AutoIt3 usw. zu verwenden. Und während man dort ist, warum nicht ordentlich formatierte Ergebnisse in einem Ordner ablegen, auf den CREAD direkt zugreifen kann – ohne krl_mount?


    Jeder sollte wissen, wie man ein Programm schreibt, das Textdateien lesen und schreiben kann. Sind wir Programmierer oder was?

  • ;) hab nicht gesagt das ich es nicht machen würde.

    Im Gegenteil ich werds direkt mal nächste Woche machen in OL versuchen.


    Suchen im XML und wenn vllt alle vorhandenen Werte parsen.


    Wird nerven aber wenn funktioniert ists lustig.


    Danke für die Idee

  • Ein Programm, das nicht in KRL geschrieben ist, zum Auslesen zu nutzen, wäre natürlich eine geniale Lösung.

    Ich weiß aber nicht, wie ich das dann vom Roboterprogramm aus anstarte, bzw. wie ich im Roboterprogramm dann letztendlich auf die herausgearbeiteten Daten zugreifen kann.

    Um von Anfang an etwas sinnvolles zu programmieren, wäre es für mich sinnvoll, erst die Optionen der Schnittstelle zum Roboterzu kennen.


    @panic mode: Schritt Eins ist schon ziemlich cool.

  • Ich habe bereits ein Programm, mit dem KRL andere Programme starten kann. Ich verwende es, um KrcDiag auszulösen. Und KUKA holt auf – bei neueren KSS ist es möglich, KrcDiag auszulösen, wenn ein Fehler auftritt.


    aber so etwas ist hier nicht nötig – es könnte im Startmenü platziert werden, damit es beim Einschalten läuft.


    Nach dem Start bleibt es minimiert und läuft im Hintergrund. Die aktuelle Version löscht die WriteFile beim Einschalten oder jedes Mal, wenn auf „Aktualisieren“ geklickt wird. Dann schreibt es WriteFile jedes Mal, wenn es feststellt, dass es fehlt ... oder jedes Mal, wenn es feststellt, dass ReadFile neuer ist.


    Auf diese Weise soll WriteFile praktisch immer auf dem neuesten Stand sein. Außerdem könnte das KRL-Programm CWRITE verwenden, um das WriteFile zu löschen, wenn man eine Aktualisierung erzwingen möchte (oder prüfen möchte, ob das Programm ausgeführt wird).


    Es sind nur ein paar Codezeilen. Ich habe mich nicht um den XML-Parser gekümmert, sondern nur die String-Manipulation verwendet. Ich habe versucht, etwas Kleines auf die Beine zu stellen, nur um andere zum Handeln zu ermutigen. Bisher ist daran nichts Besonderes:

    * Überprüfen ob die Datei vorhanden ist

    * Überprüfen das Dateidatum

    * Textdatei lesen,

    * etwas mit den Daten machen,

    * eine weitere Textdatei schreiben...


    Das sollte jeder können.

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