Hallo,
ich bin ziemlich neu im Thema Robotik.
Ich habe einen KR 60-3 mit der Steuerung KR C2 und nutze RoboDK um die Bewegungen usw. zu Steuern. Die Steuerung hat keine DI/DO´s verbaut, weswegen diese per Profibus an eine Siemens ET200B geleitet werden, diese Steuert meine Peripherie.
Das Ziel ist es Klebstoffraupen aufzutragen, diese sollen so gleichmäßig wie irgendwie möglich sein (für wissenschaftliche Anwendung).
Nun habe ich folgendes Problem.
Ich habe in RoboDK eine Bahnverfolgungsprojekt angelegt, welches meine Punkte abfährt. Ich möchte das der Roboter die Klebstoff-Spritze x cm vor erreichen von dem Ende der Bahn ausschaltet um einen Tropfen am ende zu vermeiden. In der RoboDK Simulation sieht das auch gut aus und es geschieht was ich möchte, jedoch bleibt der Kuka im Programmablauf in der Realität immer an dem Punkt, an dem die Spritze ausgeschaltet wird für den Bruchteil einer Sekunde stehen, was natürlich immer einen dicken Tropfen verursacht.
Ich habe schon die Zyklus Taktzeit gefunden, diese scheint mir aber nicht zu helfen. Ich wäre für Hilfe sehr Dankbar.
Vielen Dank im Voraus ,
David
Hier kommt noch eines der Unterprogramme.
&ACCESS RVP
&REL 1
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM EDITMASK = *
DEF Path10 ( )
EXT BAS (BAS_COMMAND :IN,REAL :IN )
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
;FOLD Initialise and set default speed
BAS (#INITMOV,0)
BAS (#VEL_PTP,100)
BAS (#ACC_PTP,20)
$VEL.CP=0.2
BAS (#TOOL,0)
BAS (#BASE,0)
;ENDFOLD
;;FOLD STARTPOS
;$BWDSTART = FALSE
;PDAT_ACT = PDEFAULT
;BAS(#PTP_DAT)
;FDAT_ACT = {TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE}
;BAS(#FRAMES)
;;ENDFOLD
$ADVANCE = 5
;FOLD ---- Quickly skip BCO ----
; PTP $AXIS_ACT
;ENDFOLD
;FOLD ---- GO HOME ----
; PTP {A1 0.000, A2 -90.000, A3 90.000, A4 0.000, A5 0.000, A6 0.000, E1 0, E2 0, E3 0, E4 0, E5 0, E6 0}
;ENDFOLD
; Program generated by RoboDK v4.0.1 for KUKA KR 60 L45 HA on 16/12/2019 14:30:54
; Using nominal kinematics.
$APO.CPTP = 1.000
$APO.CDIS = 1.000
$VEL.CP = 0.25000
$BASE = {FRAME: X 1711.354,Y 691.928,Z 423.102,A 90.000,B 0.000,C 0.000}
; BASE_DATA[3] = {FRAME: X 1711.354,Y 691.928,Z 423.102,A 90.000,B 0.000,C 0.000}
; $BASE = BASE_DATA[3]
$TOOL = {FRAME: X 91.520,Y 488.790,Z 105.000,A 90.000,B 90.000,C 0.000}
; Anzeigen Spritzenkopf 20ml Links
PTP {A1 -31.20253,A2 -60.03840,A3 99.70798,A4 136.50466,A5 48.82286,A6 -58.00754} C_PTP
$OUT[6]=FALSE
LIN {X 72.500,Y 23.157,Z -0.000,A 90.000,B -0.000,C 180.000} C_DIS
LIN {X 72.500,Y 226.843,Z 0.000,A 90.000,B -0.000,C 180.000} C_DIS
$OUT[6]=true
LIN {X 72.500,Y 276.843,Z -0.000,A 90.000,B -0.000,C 180.000} C_DIS
LIN {X 72.500,Y 376.843,Z 100.000,A 90.000,B -0.000,C 180.000} C_DIS
END