Wir nutzen immer die EL 6695-1001 von Kuka.
Danach dann EP2338 je nachdem wie viele Ein/Ausgänge benötigt werden.
Wir nutzen immer die EL 6695-1001 von Kuka.
Danach dann EP2338 je nachdem wie viele Ein/Ausgänge benötigt werden.
Vieleicht mal unter die Position ein
WAIT FOR TRUE
hauen vieleicht ist es ja der Vorlauf.
LIN XPOS_ElektroAbdeckungS2
; VorlaufStop
WAIT FOR TRUE
; Roboter in Position Prüfung der Elektronikabdeckung
in_pos_EAbdeckung_A76=TRUE
;
; Warte auf nicht anfahren Prüfung der Elektronikabdeckung
WAIT FOR NOT Anf_LT500_2_EleAbd_E76 ; OR Anf_Homepos_E48
;
; Roboter verlaesst Position Prüfung der Elektronikabdeckung
Zylinder_GS_A77 = true
Zylinder_AS_A78 = false
in_pos_EAbdeckung_A76 = FALSE
;
LIN XPOS_ElektroAbdeckungS2: {X 0, Y 50,Z 0,A 0, B 0, C 0} C_DIS
Als Info wir hatten 2 Defekte Smartpads und haben die gegen neue ersetzt da wir gerade 2 neue Roboter angeliefert bekommen hatten.
Die anderen kamen dann aus der Reparatur und funktionierten dann an den neuen Robotern nicht.
Also bei uns hatte es nicht funktioniert.
Neue Steuerung mit altem Smartpad.
Das war aber auch KRC 5 ob es daran liegt? Vielleicht!?
Du musst unter moddeling den Punkt des Blocks ändern dann den link extrahieren...
bei mir funktioniert es einwandfrei.
Man benötigt die Lizenz von Robotstudio die enthält einen converter dann kann man problemlos zb. stp Dateien rein laden.
BAS(#TOOL,1) ; TOOL zuweisen
BAS(#BASE,1) ; BASE zuweisen
BAS(#VEL_CP,1.0) ;LIN SPEED
BAS(#VEL_PTP,40) ;PTP SPEED
Ok habe es nochmal versucht....
C_SPL geht tatsächlich nicht aber C_DIS....
Sehe da aber keinen unterschied in der Simulation...
viel Erfolg
Bei Achslimits anhalten den hacken raus nehmen.
Beim Roboter beim KRL Executor Bewegungsausführung / Bewegung auf Integriert stellen.
So sollte es eigentlich gehen...
einziges Problem es sind alle Achsen endlosdrehend wenn das nicht stört...
Ansonsten mal beim Kukasim Team nachfragen wenn die es nicht wissen wer dann....
goVariable = 'B00110'
So geht es auch.
Vieleicht schmutz auf dem Display das kann zumindest zu Problemen führen...
Kalibrieren musste ich eigentlich nie...es war bei uns immer verschmutzung bis jetzt...
Beispiel :
Man drückt irgendwo oben und unten wird der Druck angenommen.
Oder er reagiert garnicht auf irgend einen Druck...
Wenn sich der Mauszeiger bewegt und kein Druck angenommen wird...ist es eher die HMI.
nein das for endfor ist nur dafür wie oft er die bewegung und die zustellung wiederholen soll....
kannst auch.
for i = 0 to 100
dann macht er es 100 mal man weis halt auch nicht was du möchtest wieviel soll er zustellen wie oft soll er wiederholen... was ist die max tiefe...
oder machst die nen eigenen zähler und machst ne Repeat until schleife....
gibt so viele möglichkeiten ans Ziel zu kommen...
Er Fräst dann aber natürlich direkt -80 rein je nachdem wie die Geschwindigkeit ist könnte das auch nicht gut aussehen....
Wenn Fraes1 und Fraes2 die Punkte sind die Links und rechts sein sollen...
Dann so...
Base_data[2].z = base_data[1].Z-80
LIN Fraes 1
Base_data[2].z = base_data[1].Z
LIN Fraes 1
LIN Fraes 2
Base_data[2].z = base_data[1].Z-80
LIN Fraes 2
LIN Fraes 1
Base_data[2].z = base_data[1].Z
LIN Fraes 1
Vieleicht auch nochmal ein Beispiel aus dem Kurs Programmieren 2.
;fold Berechnungen der Positionen
for reihe = 1 to 4
for spalte = 1 to 4
Ablage[reihe, spalte] = XP1
Ablage[reihe, spalte].x = Ablage[reihe, spalte].x + (reihe * 80 - 80)
Ablage[reihe, spalte].y = Ablage[reihe, spalte].y + (spalte * 80 - 80)
Vorpos[reihe, spalte] = xp1
Vorpos[reihe, spalte].z = Vorpos[reihe, spalte].z + 100
Vorpos[reihe, spalte].x = Vorpos[reihe, spalte].x + (reihe * 80 - 80)
Vorpos[reihe, spalte].y = Vorpos[reihe, spalte].y + (spalte * 80 - 80)
endfor
endfor
;endfold
Display More
nein Herrmann hat es dir schon vorgemacht...
For i1=0 TO 10
;hier 5mm Zustellung
Base_data[2].z=base_data[1].Z-5*I1
er würde beim ersten durchlauf also 0 nix machen bei 1 5mm in z tiefer und soweiter...bis max 50mm beim 10ten mal.....
es würde einfach ein offset in z reichen es braucht keine 3te Base.
Man benötigt wenn man es anderst macht auch nur 1 Base...
Jetzt ist die 2 Base nur dafür da das man sich die 1 nicht überschreibt.
Man möchte ja in der Regel seine Saubere Base behalten...
Mit der oben gezeigten funktion wird nur der Punkt um den Wert geschoben nicht die Base selbst.
Daher 1 punkt ausgewählt auch nur 1 Punkt verschoben....alle ausgewählt alle verschoben...
Ich weiß auch nicht ob auf deinem Robby ExpertTech vorhanden ist eventuell kannst du dann "startpos" garnicht teachen.
Der 1 code ist das eigentliche Programm also SRC und der 2 code ist der DAT file.
DEF MAIN ( )
DECL FRAME OFFSET_X_Y
DECL REAL Beckenlaenge,Beckenbreite
;FOLD INI;%{PE}
;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)
;ENDFOLD (INI)
BAS(#BASE,1)
BAS(TOOL,1)
;Hier Teachen
;FOLD TEACHEN
IF FALSE THEN
BAS(#BASE,1)
BAS(TOOL,1)
HALT
LIN StartPos
ENDIF
;ENDFOLD
Beckenlaenge = 500
Beckenbreite = 250
OFFSET_X_Y = $NULLFRAME
OFFSET_X_Y.X = Beckenlaenge
; Geschwindigkeit festlegen
BAS(#VEL_PTP,50) ;PTP SPEED
BAS(#VEL_CP,2.0) ;LIN SPEED
PTP {X 0,Y 0,Z 500,A 0,B 0,C 0}:StartPos
LIN StartPos
LIN OFFSET_X_Y:StartPos
OFFSET_X_Y.Y = Beckenbreite
LIN OFFSET_X_Y:StartPos
OFFSET_X_Y.X = 0
LIN OFFSET_X_Y:StartPos
OFFSET_X_Y = $NULLFRAME
LIN OFFSET_X_Y:StartPos
LIN {X 0,Y 0,Z 500,A 0,B 0,C 0}:StartPos
END
Display More
DEFDAT MAIN
;FOLD EXTERNAL DECLARATIONS;%{PE}%MKUKATPBASIS,%CEXT,%VCOMMON,%P
;FOLD BASISTECH EXT;%{PE}%MKUKATPBASIS,%CEXT,%VEXT,%P
EXT BAS (BAS_COMMAND :IN,REAL :IN )
;ENDFOLD (BASISTECH EXT)
;FOLD USER EXT;%{E}%MKUKATPUSER,%CEXT,%VEXT,%P
;Make your modifications here
;ENDFOLD (USER EXT)
;ENDFOLD (EXTERNAL DECLARATIONS)
DECL E6POS StartPos={X 0.0,Y 0.0,Z 0.0,A 0.0,B 0.0,C 0.0,S 0,T 0}
ENDDAT
Display More
So vieleicht?