Wie deklariere ich einen Punkt in einer Datenliste global

  • Hallo,


    ich möchte gerne eine Variable genauer gesagt einen Punkt in der Datenliste global deklarieren. Laut Doku muss ich dafür die Klasse erst einmal "public" setzen.
    Außerdem muss der Punkt mit "global" gekennzeichnet sein.
    Aus der Doku habe ich entnommen, dass das Ganze in der zugehörigen Datenliste unter der DEFDAT Zeile erfolgen muss. Diese Zeile finde ich leider in der entsprechenden dat.-Datei leider nicht. Was mache ich falsch?


    Vielen Dank CHLINDE

  • Schritt für Schritt zum Roboterprofi!
  • kopier sie mal auf Deinen PC und bearbeite sie mit dem Editor...

    Wolfram (Cat) Henkel

    never forget Asimov's Laws at the programming of robots...

    "Safety is an integral part of function. No safety, no production. I don't buy a car without brakes."


    Messages und Mails mit Anfragen wie "Wie geht das..." werden nicht beantwortet.

    Diese Fragen und die Antworten interessieren jeden hier im Forum.


    Messages and Mails with questions like "how to do..." will not be answered.

    These questions and the answers are interesting for everyone here in the forum.

  • Achso, das hab ich gesehen, dass im Editor viel mehr Informationen in der Datei stehen. Aber kann ich sie auch so speichern, ohne, dass ich dadurch irgendwelche Fehler im HMI verursache?
    Gibt es da keine Lösung ohne externen Editorzugriff? Das ist ja eigentlich eine reguläre Lösung seitens KUKA.

  • Tachjen Chlinde,
    also wenn es nur ein Punkt ist den du Global machen möchtest würd ich das ganze nicht so kopleziert machen.


    Wenn du zum Beispiel den Punkt PTP P1 erstellst, schreibt der Robi in der dazugehörigen *.dat folgende Zeilen:


    DECL E6POS XP1={X 1071.56799,Y -6.84492683,Z 2395.64502,A -1.65022302,B -9.58213043,C -179.900208,S 2,T 34,E1 0.0,E2 0.0,E3 0.0,E4 0.0,E5 0.0,E6 0.0}
    DECL FDAT FP1={TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " ",TQ_STATE FALSE}
    DECL PDAT PPDAT2={VEL 100.0,ACC 100.0,APO_DIST 100.0}


    Die "E6POS XP1" ist dein Punkt, der Kuka setzt nen X vor den Punktnamen, wenn er ihn deklariert.
    In der "FDAT FP1" sind die TOOL, BASE etc. hinterlegt die für den Punkt genutzt werden sollen.
    Bei der "PDAT PPDAT2"-Variable ist u.a. die Geschwindikeit hinterlegt mit der der Punkt angesahren werden soll.


    Um den Punkt Global zu machen öffnest du einfach mit dem Robi die Dat und suchst nach "XdeinPunktname" und kopierst diesen (die
    dazugehörige FDAT und PDAT brauchst du nicht). Dann öffnest du die $config.dat (die im Systemordner) und fügst den Punkt im
    USERFold (damit beim System update der Punkt nicht gelöscht wird) ein.
    Zuletzt musst du noch mal den Punkt in der dat such wo du ihn heraus kopiert hast und ihn da dann löschen. Wenn du ihn löscht ohne
    ihn vorher in der config.dat eingefügt zu haben, wiird dein Programm (*.src) nen fehler aufweisen, da ja nun der Punkt nicht mehr vor-
    handen ist. Sollte dir das passsieren einfach die src öffnen, irgendwo nen leerzeichen einfügen und schließen -> speichern. Dann sollte
    der Fehler auch wieder weg sein (öffnen und speichern erst machen wenn der Punkt in der config eingefügt wurde).


    Des hört sich jetzt nach viel an, sind im prinzip nur 4 Schritte:
    1.) Punkt in *.dat suchen -> 2.) kopieren -> 3.) Im UserFold der $config.dat einfügen (die aus dem Systemordner) -> 4.) Punkt aus *.dat löschen :supi:


    Noch nen Tip: Wenn du den Punkt erst eingefügt hast, sollte er am Ende der Dat zu finden sein. Und wenn du ihnn so Global gemacht hast, solltest
    du ihn auch nicht mehr umbennen, da der Robi die Variable nicht umbenennt, sondern einfach ne neue anlegt. Diese wird nicht in der
    $config.dat gespeichert, sondern in der dat vom Programm.


    gruß Toud

    Einmal editiert, zuletzt von Toud ()

  • Unter Konfiguration/ Extras/ Editor kannst du die Def-Zeile sichtbar machen.

    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

  • auch wenn es nicht mehr relevant ist; ich würde einen Punkt wie beschrieben in der config.dat händisch anlegen und dann im erst xXx.src verwenden. du sparst dir das gesuche und die kopiererei!

    Den Roboter "in seinem Lauf hält weder Ochs noch Esel auf!"

  • schreibt doch einfach vor das E6POS in der .dat ein GLOBAL ...
    und schon habt ihr einen globalen Punkt.
    Falls das Programm später mal gelöscht wird, verliert ihr natürlich auch diese globale Deklaration.
    Bitte nicht nachmachen! So nen Blödsinn gibts nur im Powertrain.

  • Ich denke das wird sich erledigt haben. Der Beitrag ist 7 Jahre alt.

    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

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