Siehe diese und die folgende Antwort von fubini
Lösungsansatz KUKA Bewegungsbefehle flexibler zu gestalten
- MaBo
- Erledigt
-
-
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:
$vel.cp ist ja wahrscheinlich für LIN - ist es für PTP einfach: $vel.PTP ?Zum Punkt Tool:
vom Befehl BAS (#Tool, nTool) wurde mir von einem KUKA Trainer abgeraten,...Zum Thema Punkt und String:
Da ich ja den Punktnamen über die Funktion als String übertragen möchte, also wirklich nur den Namen - wie muss ich dann weiter vorgehen um diesen Punkt in das Frame zu schreiben - oder gibt es eine einfachere Variante?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
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
-
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
-
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.Code
Alles anzeigenDEF Haupt () ; .... LINOFFS(xDREHTELLER,0.0,0.0,20.0,0.0,0.0,0.0) LIN xDREHTELLER LINOFFS(xDREHTELLER,0.0,0.0,20.0,0.0,0.0,0.0) ;... END DEF Teach () HALT PTP XHOME HALT LIN xDREHTELLER HALT END DEF LINOFFS (PUNKT:OUT,XO,YO,ZO,AO,BO,CO :IN) DECL E6POS PUNKT,OFFSET_PUNKT DECL REAL XO,YO,ZO,AO,BO,CO OFFSET_PUNKT=PUNKT OFFSET_PUNKT.X=OFFSET_PUNKT.X+XO OFFSET_PUNKT.Y=OFFSET_PUNKT.Y+YO OFFSET_PUNKT.Z=OFFSET_PUNKT.Z+ZO OFFSET_PUNKT.A=OFFSET_PUNKT.A+AO OFFSET_PUNKT.B=OFFSET_PUNKT.B+BO OFFSET_PUNKT.C=OFFSET_PUNKT.C+CO LIN OFFSET_PUNKT END
-
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