Dank dir, das habe ich soweit verstanden. Prinzipiell ist die Armhaltung ja egal so lange kein Kontakt zum Bauteil entsteht. Gibt es eine Software welche mir anhand dieser Kriterien mit den Eingangspunkten die bestmögliche Armstellung berechnet?
Beiträge von JohannesWBM
-
-
Genau an so etwas dachte ich. Einfach Weglassen heißt =None setzen oder wie würde die Zeile aussehen?
Wenn ich die Werte einfach überall gleich setzten werden zwar alle Punkte importiert, dabei gehen jedoch alle Koordinaten verloren. Kann das daran liegen, dass die vorgegebenen Achspositionen nicht eingehalten werden können?
-
Etwas in diese Richtung habe ich Vermutet. Wie ihr merkt bin ich blutiger Anfänger im Programmieren mit KRL.
Hast du eine Idee bzw. kannst du mir sagen in welche Richtung ich mich schlau machen muss um einen Roboter möglichst beliebige Pfade fahren zu lassen ohne die Position der Achsen selbstständig zu berechnen?
Danke für eure Hilfe!
-
Kann mit jemand eine Erläuterung zum S und T Wert geben?
Im Handbuch finde ich leider nichts, beim Einladen meiner PTP Befehle werden alle Punkte in die Basis des Robotors gelegt statt an ihre vorgegebenen Positionen.
Ausschnitt der .src
Code
Alles anzeigenDEF Mein_Job ( ) ;FOLD INI CONTINUE IF NOT $ON_PATH THEN ;FOLD BASISTECH INI GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( ) INTERRUPT ON 3 BAS (#INITMOV,0 ) ;ENDFOLD (BASISTECH INI) ;FOLD USER INI ;Make your modifications here ;ENDFOLD (USER INI) ENDIF ;ENDFOLD (INI) ;FOLD CHECK DAT-FILE GENERATION NUMBER IF APP_GENNUMBER <> 1335859 THEN LOOP MsgQuit("InconsistenceSRCandDAT",,,,1) HALT ENDLOOP ENDIF ;ENDFOLD ;fold Jobinfo ;Informationen zu den Jobs: Mein_Job ;Produkt : 3.1.0.28172 ;Datum: 2020-06-23-09_51 ;Projektname: KR8R2010_2 C ;Autor: Mein Autor ;Firma: Meine Firma ;Abteilung: Meine Abteilung ;Kommentar: Mein Kommentar ;endfold ;fold Cellmap ; KR8R2010_2 C ; Package A36 Simplified ; PM180247P_3d_print_3 ;endfold ;fold Axes definitions ; Axis1 [-185 185] Rot [deg] (KR8R2010_2 C : A1) ; Axis2 [-185 65] Rot [deg] (KR8R2010_2 C : A2) ; Axis3 [-138 175] Rot [deg] (KR8R2010_2 C : A3) ; Axis4 [-350 350] Rot [deg] (KR8R2010_2 C : A4) ; Axis5 [-130 130] Rot [deg] (KR8R2010_2 C : A5) ; Axis6 [-350 350] Rot [deg] (KR8R2010_2 C : A6) ;endfold ;fold RobRoot, Tools and Bases used ; $ROBROOT = {x 0,y 0,z 0,a 0,b 0,c 180} ; TOOL_DATA[1] = {x 0,y 0,z 0,a 0,b 0,c 0} ;endfold ;fold HomePositions XHOME={A1 0,A2 -90,A3 90,A4 0,A5 0,A6 0,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} $H_POS=XHOME ;endfold ;FOLD PTP HOME Vel=100 % DEFAULT;%{PE} ;FOLD Parameters ;%{h} ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.old; Kuka.IsGlobalPoint=False; Kuka.PointName=HOME; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=DEFAULT; Kuka.VelocityPtp=100; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=PTP ;ENDFOLD $BWDSTART = FALSE PDAT_ACT=PDEFAULT FDAT_ACT=FDEFAULT BAS (#PTP_PARAMS,100) SET_CD_PARAMS (0) $H_POS=XHOME PTP XHOME ;ENDFOLD ;FOLD PTP P1 CONT Vel= 100 % PDATP1 Tool[1] Base[0] ;%{PE} ;FOLD Parameters ;%{h} ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.old; Kuka.IsGlobalPoint=False; Kuka.PointName=P1; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDATP1; Kuka.VelocityPtp=100; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=PTP ;ENDFOLD $BWDSTART = FALSE PDAT_ACT=PPDATP1 FDAT_ACT=FP1 BAS (#PTP_PARAMS,100) SET_CD_PARAMS (0) PTP XP1 C_DIS ;ENDFOLD ;FOLD PTP P2 CONT Vel= 100 % PDATP2 Tool[1] Base[0] ;%{PE} ;FOLD Parameters ;%{h} ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.old; Kuka.IsGlobalPoint=False; Kuka.PointName=P2; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDATP2; Kuka.VelocityPtp=100; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=PTP ;ENDFOLD $BWDSTART = FALSE PDAT_ACT=PPDATP2FDAT_ACT=FP2BAS (#PTP_PARAMS,100) SET_CD_PARAMS (0) PTP XP2 C_DIS ;ENDFOLD ;FOLD PTP P3 CONT Vel= 100 % PDATP3 Tool[1] Base[0] ;%{PE} ;FOLD Parameters ;%{h} ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.old; Kuka.IsGlobalPoint=False; Kuka.PointName=P3; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDATP3; Kuka.VelocityPtp=100; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=PTP ;ENDFOLD $BWDSTART = FALSE PDAT_ACT=PPDATP3FDAT_ACT=FP3BAS (#PTP_PARAMS,100) SET_CD_PARAMS (0) PTP XP3 C_DIS ;ENDFOLD ;FOLD PTP P4 CONT Vel= 100 % PDATP4 Tool[1] Base[0] ;%{PE} ;FOLD Parameters ;%{h} ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.old; Kuka.IsGlobalPoint=False; Kuka.PointName=P4; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDATP4; Kuka.VelocityPtp=100; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=PTP ;ENDFOLD ...
Dazugehörige .dat
Code
Alles anzeigen&ACCESS RVP &PARAM EDITMASK = * DEFDAT Mein_Job ;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P ;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P EXT BAS (BAS_COMMAND :IN,REAL :IN ) DECL INT SUCCESS ;ENDFOLD (BASISTECH EXT) ;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P ;Make your modifications here ;ENDFOLD (USER EXT) ;ENDFOLD (EXTERNAL DECLARATIONS) INT APP_GENNUMBER = 1335859 INT APP_ANSWER INT APP_OFFSET DECL STATE_T APP_STATE DECL PDAT PPDATP1={VEL 100,ACC 100,APO_DIST 100,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} DECL FDAT FP1={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] " ",TQ_STATE FALSE} DECL E6POS XP1={X 286.98987,Y 174.97206,Z -894.56992,A -35.432,B -55.66704,C 66.26409,S 0,T 12,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} DECL PDAT PPDATP2={VEL 100,ACC 100,APO_DIST 100,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} DECL FDAT FP2={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] ,TQ_STATE FALSE} DECL E6POS XP2={X 325.0,Y -50.0,Z -1975.0,A -188.758,B 0,C 0,S 4,T 30,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} DECL PDAT PPDATP3={VEL 100,ACC 100,APO_DIST 100,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} DECL FDAT FP3={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] ,TQ_STATE FALSE} DECL E6POS XP3={X -325.0,Y 600.0,Z -2625.0,A -61.589,B 0,C 0,S 4,T 30,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} DECL PDAT PPDATP4={VEL 100,ACC 100,APO_DIST 100,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} DECL FDAT FP4={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] ,TQ_STATE FALSE} DECL E6POS XP4={X 398.0,Y -46.0,Z -2072.0,A -186.562,B 0,C 0,S 4,T 30,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} DECL PDAT PPDATP5={VEL 100,ACC 100,APO_DIST 100,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} DECL FDAT FP5={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] ,TQ_STATE FALSE} DECL E6POS XP5={X 444.0,Y -42.0,Z -2183.0,A -185.351,B 0,C 0,S 4,T 30,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} DECL PDAT PPDATP6={VEL 100,ACC 100,APO_DIST 100,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} DECL FDAT FP6={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] ,TQ_STATE FALSE} DECL E6POS XP6={X 459.0,Y -37.0,Z -2304.0,A -184.656,B 0,C 0,S 4,T 30,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} DECL PDAT PPDATP7={VEL 100,ACC 100,APO_DIST 100,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} DECL FDAT FP7={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] ,TQ_STATE FALSE} DECL E6POS XP7={X 442.0,Y -33.0,Z -2423.0,A -184.291,B 0,C 0,S 4,T 30,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} DECL PDAT PPDATP8={VEL 100,ACC 100,APO_DIST 100,APO_MODE #CDIS,GEAR_JERK 100.000,EXAX_IGN 0} DECL FDAT FP8={TOOL_NO 1,BASE_NO 0,IPO_FRAME #BASE,POINT2[] ,TQ_STATE FALSE} DECL E6POS XP8={X 395.0,Y -29.0,Z -2535.0,A -184.198,B 0,C 0,S 4,T 30,E1 0,E2 0,E3 0,E4 0,E5 0,E6 0} ...
-
Ich bin Fälschlicherweise davon ausgegangen das ABC die Winkel der Roboterachsen sind. Jetzt sehe ich auch das die Maße im SimPro mit mm definiert sind. das macht dann ja keinen Sinn. Dann hast du natürlich recht und ich kann alles ableiten und mit Python die Skripte ausgeben.
***Edit es sind Winkelangaben, scheint ein Bug in der Software zu sein, dass sie mit mm bemaßt sind. Das ändert natürlich and er Funktion nichts.
-
Moin Zusammen,
ich bin nun seit einigen Stunden auf der Suche nach einem Weg XYZ-Koordinaten in KRL zu übersetzen.
Folgende Problemstellung:
Ich erzeuge einen Pfad um ein Bauteil, der Roboter soll dabei den Pfad abfahren Wo bei das Werkzeug immer auf die Achse1 gerichtet ist.
Gibt es vielleicht ein Tool welches mir erlaubt Alles im inneren der Helixbahn als "Sperrzone" zu definieren. Und dann den Pfad abzufahren?
Ich habe Kuka SimPro 3.1. Allerdings bisher keine passende Applikation gefunden.
Ich weiß dass es einige G-Code interpreter gibt, kennt jemand vielleicht einen Weg über Python?
Vielen Dank für eure Tipps!
Grüße
Johannes
-
Hallo,
inzwischen habe ich Zugriff auf denExpertenmodus und habe zumindest eine Tastatur die funktioniert. Eine Maus bekomme ich über die COM1 Schnittstelle allerdings nicht ans laufen.
Da ich noch ein Anfänger auf dem Gebiet bin habe ich einige weitere Fragen. Zunächst elementar für mich:
Soll ich den Roboter Komplett neu aufsetzen? Es sind noch Programme und Makros aus der VW Produktion drauf was natürlich auch zu reichlich Fehlermeldungen führt da der Roboter nicht mehr ins System eingebunden ist. (Maschinendaten stimmen nicht überein, Robotername nicht etc.)
Einen Q5 wollte ich ebenfalls nicht bauen daher brauche ich auch die Programme von denen nicht mehr .
Bei Neuinstallation über das Backup von D: werde ich während der installation gefragt welche Daten ich übernehmen will und welche nicht. Kennt sich damit jemand aus?
Viele Grüße
-
Danke für deine Antwort, den Post habe ich auch eben Endeckt und probiere es gleich aus sobald ich einen DIN Stecker auftreiben kann.
Ich halte euch auf dem Laufenden.
-
Hallo zusammen,
ich habe einen KR125/2 von Kuka erworben. Je mehr ich mich damit beschäftige merke ich, dass die VW Steuerung jedoch einiges schwieriger macht als gedacht.
Ich bekomme über keine der Schnittstellen Zugriff auf das System um die Steuerung zurückzusetzen. Der Support bei Kuka sagte mir dass eventuell der Zugriff ohne einen Sicherungsstick/Diskette mit einem Expertenschlüssel gesperrt ist.
Auch dauerhaftes drücken der Steuerungstaste zur Unterdrückung des Autostarts funktioniert nicht.
Hat jemand eine Idee wie ich Zugriff auf das System bekomme um es zurückzusetzen?
Vielen Dank für eure Hilfe