Lösungsansatz KUKA Bewegungsbefehle flexibler zu gestalten

  • Schritt für Schritt zum Roboterprofi!
  • SJX hast du eventuell für meine 3 Themen bzw Fragen oben noch einen Tipp / Rat? Sorry, möchte nur nicht, das es untergeht :angel:


  • Zum Punkt der Geschwindigkeit:
    Bei PTP ist es nicht $vel.PTP, sondern $VEL_AXIS[ X ] als Array für die 6 Achsen.


    Zum Punkt Tool:
    Fact ist, Du musst korrekte Lastdaten verwenden. Dies passiert nicht über $tool=tool_data[ X ] KUKA selbst löst dies in ILF's über diese Funktion. Dass Dir ein KUKA Trainer davon abrät :denk: :denk:
    Wenn Du Toolwechsel vorsehen willst in Deiner Funktion, gehört dazu also auch der Lastwechsel.


    Zum Thema Punkt und String:
    Mir ist auf die schnelle nichts bekannt in KRL, wie Du über den Punktnamen als String direkt zum Datentyp/Struktur E6POS kommst oder kommen sollst. Dein Stringinhalt beinhaltet ja nur einen Namen. KRL müsste ja auch wissen von welchem Datentyp/Struktur es sein sollte, Deklaration besteht.
    Wieso willst Du über String gehen wenn's doch gleich auch mit E6POS Namen geht zum Übergeben?
    Angelegt als E6POS musst Du sie fast, möchtest die eine oder andere wohl mal Teachen können. Oder wie willst Du das Teachen KORPOS handeln?


    Gruss SJX

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

    Einmal editiert, zuletzt von SJX ()

  • Vielen Dank.


    Also wäre auch folgendes möglich...obwohl WorkVisual es rot anprangert?


    Zitat


    GLOBAL DEF Offs(strMove:IN,E6POS:IN,x_o:IN,y_o:IN,z_o:IN,a_o:IN,b_o:IN,c_o:IN,nGeschw:IN,nZone:IN,nTool:IN,nBase:IN)


    Hab leider atm keinen Robo zum Testen, da meine Zelle auf dem Weg zum Kunden ist.


    MfG Rico


    EDIT: Teachen wollte ich über ein Inline, welches später wieder entfernt wird

    Einmal editiert, zuletzt von 19Rico84 ()

  • Zitat


    GLOBAL DEF Offs(strMove:IN,E6POS:IN,x_o:IN,y_o:IN,z_o:IN,a_o:IN,b_o:IN,c_o:IN,nGeschw:IN,nZone:IN,nTool:IN,nBase:IN)


    Mal vereinfachtes Beispiel so auf die Schnelle mit Übergabe einer E6Pos (xDrehteller) an eine OffsetFunktion.
    Deklaration von xDrehteller in der Haupt.dat.


    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

    Einmal editiert, zuletzt von SJX ()


  • Wenn Du den Code des BAS () studierst findet man kein Hinweis auf Deine These.
    Auch Standard-ILF's verwenden diese und es wäre mir neu, wenn Du mit absolutgenauen Robotern und ILF's nicht verschleifen kannst mit Argument "Const" aktiviert.
    Woher hast Du diesen Hinweis?


    Ich glaub hier gehts weniger um das Tool, als mehr die Lastdaten, die wechseln. Diese lösen einen Vorlaufstopp aus.
    Ich arbeite nur mit absolutgenauen Robotern und da hab ich es selbst schon erlebt, dass solche Anweisungen einen Vorlaufstopp auslösen!


    Grüße

  • Moin,


    die Funktion an sich konnte ich leider noch nicht testen, da ich derzeit ein ABB Projekt habe und das alte beim Kunden noch nicht aufgebaut werden soll.


    Nun habe ich mich damit befasst, ein Snippet zu erstellen, welches aber scheinbar nicht funktioniert. Die angehängte txt ist die eigentliche "Offset.snippet" , hab nur die Endung geändert um es einfacher anzuhängen.


    Das seltsame ist, das WorkVisual die Datei zu akzeptieren scheint - keine Fehlermeldung wenn ich das Sippet hinzufügen möchte - aber eben auch keine Bestätigung, das es erfolgreich importiert wurde.


    Habe ich vielleicht einen Syntax-Fehler im Snippet - hat sich schon mal jemand damit befasst?


    Bin für jeden Rat dankbar.


    Edit: beim eintippen der Abkürzungen Offs oder Offset wird mir leider in jeglichen Modulen auch nichts vorgeschlagen.


    MfG Rico

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