Hallo an alle,
der Roboter, mit dem ich arbeite ist ein KR30HA. Der machine.dat habe ich die Versionsmummer 8.3 entnommen.
Ich arbeite mit einer CAM-Software, welche Programme in KRL-Syntax ausgiebt.
Bei dem folgenden Programm führt der Roboter in der zweiten CIRC-Bewegung eine sehr ungesunde Umorientierung des Werzeuges aus.
&ACCESS RVP
&REL 113
&COMMENT Erstellt am: 08.12.2020 / 09:17:36
&PARAM EDITMASK = *
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM DISKPATH = KRC:\R1\Program
DEF C185( )
;---------HEADER---------
; Initialisierung Programm
;FOLD INI;%{PE}
;FOLD BASTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ()
INTERRUPT ON 3
BAS (#INITMOV,0)
;ENDFOLD (BASTECH INI)
;FOLD USER INI
;Make your modifications here
;ENDFOLD (USER INI)
;ENDFOLD (INI)
;FOLD PTP HOME2 Vel=10% Default;%{PE}%R 5.2.30,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:home, 3:, 5:10, 7:DEFAULT
$BWDSTART = FALSE
PDAT_ACT=PDEFAULT
LDAT_ACT=LDEFAULT
FDAT_ACT=FHOME
BAS(#VEL_PTP,10)
PTP XHOME2
;ENDFOLD
$Base= $World
$Base= Base_data[3]
$Tool= Tool_data[4]
$CIRC_TYPE= #PATH
$ORI_TYPE= #VAR
$APO.CVEL=100
$VEL_EXTAX[1] = 100
$VEL_EXTAX[2] = 100
$ACC_EXTAX[1] = 100
$ACC_EXTAX[2] = 100
$VEL.CP=0.05
LIN {X 11.5, Y 24.28, Z 50.0, A 0, B 0, C 0, S 6, T 27} C_VEL
$VEL.CP=0.025
LIN {X 11.5, Y 24.28, Z 0.0, A 0, B 0, C 0, S 6, T 27} C_VEL
$VEL.CP=0.0083333
TRIGGER WHEN DISTANCE=1 DELAY=0 DO $OUT[33]=TRUE
$ANOUT[9]=0.15 ;3.0 m/min
TRIGGER WHEN DISTANCE=1 DELAY=0 DO $OUT[8]=TRUE
LIN {X 11.5, Y 32.28, Z 0.0, A 0, B 0, C 0, S 6, T 27} C_VEL
LIN {X 11.5, Y 34.28, Z 0.0, A 0, B 0, C 0, S 6, T 27} C_VEL
$VEL.CP=0.0041667
LIN {X 11.5, Y 78.5, Z 0.0, A 0, B 0, C 0, S 6, T 27} C_VEL
CIRC { X 10, Y 80, Z 0}, { X 8.5, Y 78.5, Z 0.0 , A 0, B 0, C 0, S 6, T 27} C_VEL
LIN {X 8.5, Y 11.5, Z 0.0, A 0, B 0, C 0, S 6, T 27} C_VEL
CIRC {X 10.26, Y 10.02, Z 0.0},{ X 11.5, Y 11.5, Z 0.0 , A 0, B 0, C 0, S 6, T 27} C_VEL
TRIGGER WHEN DISTANCE=1 DELAY=0 DO $OUT[33]=FALSE
TRIGGER WHEN DISTANCE=1 DELAY=1000 DO PULSE($OUT[35],FALSE,0.1)
TRIGGER WHEN DISTANCE=1 DELAY=1000 DO PULSE($OUT[32],TRUE,0.1)
LIN {X 11.5, Y 34.28, Z 0.0, A 0, B 0, C 0, S 6, T 27} C_VEL
$VEL.CP=0.0083333
TRIGGER WHEN DISTANCE=1 DELAY=0 DO $OUT[8]=FALSE
LIN {X 11.5, Y 35.28, Z 0.0, A 0, B 0, C 0, S 6, T 27} C_VEL
LIN {X 11.5, Y 44.28, Z 0.0, A 0, B 0, C 0, S 6, T 27} C_VEL
$VEL.CP=0.025 ;Geschwindigkeit
LIN {X 11.5, Y 44.28, Z 50.0, A 0, B 0, C 0, S 6, T 27} C_VEL
;Automatically generated PTP movement
;FOLD PTP HOME2 Vel=10% Default;%{PE}%R 5.2.30,%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:home, 3:, 5:10, 7:DEFAULT
$BWDSTART = FALSE
PDAT_ACT=PDEFAULT
LDAT_ACT=LDEFAULT
FDAT_ACT=FHOME
BAS(#VEL_PTP,10)
PTP XHOME2
;ENDFOLD
END
Alles anzeigen
Wenn ich die Werte des Hilfspunktes der zweiten CIRC-Bewegung auf die glatten Werte X 10.0 und Y 10.0 ändere findet keine Änderung der Orientierung statt. Genauso bewegt sich der Roboter wie erwartet ohne Umorientierung, wenn ich die Zeile mit CIRC_TYPE=PATH auskommentiere.
Hat jemand eine Idee, was genau das unerwartete Verhalten auslösen könnte und wie man überprüfen kann, dass so etwas nicht auftritt. Die Programme, die über die CAM-Software generiert werden haben eine recht lange Laufdauer und müssen für die Optmierung in mehrere Schritten geringfügig angepasst werden. Diese jedes Mal im Testmodus Probe zu fahren wäre mit einem nicht unerheblichem Zeitaufwand verbunden.
Über eure Antworten freue ich mich sehr.
AHZG