Servus Miteinander
Ich habe mir ein Programm zusammen gereimt, was soweit auch funktioniert, jedoch habe ich ein Problem mit der Geschwindigkeit der 7. Achse. Die Geschwindigkeit, die Gefahren wird stimmt nicht mit der wirklichen überein und sie lässt sich nicht verändern. Weiter habe ich das Problem, das ich ganz gerne eine inkrementale Wegbestimmung schreiben will. Damit meine ich mit z.B. FRMADD2 und weiter Parameter addieren will. Das habe ich auch schon ausprobiert, aber ich bekomme immer einen Syntaxfehler, wenn ich 7 Werte in FRMADD2 eintrage. Habe dafür auch schon in der DAT die Variablen deklariert.
Kurze Erläuterung zum Programm. Ich will den Roboter (Achse1-6) und externe Achse (7.Achse) auf Position fahren, anschließend nur die 3 weiteren Punkte mit der 7. Achse überfahren und dabei die Klebeanlage einschalten über den Trigger einschalten. Funktioniert alles bestens.
Kann mir da jemand zumindest bei der Geschwindigkeit helfen? Wäre dafür seeeeehr dankbar.
SRC______________________________________________
&ACCESS RVO
&REL 80
DEF Kleb()
;FOLD 'BASISTECH initialisieren'
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ()
INTERRUPT ON 3
BAS (#INITMOV,3 )
;ENDFOLD
;FOLD 'Koordinatensysteme'
$BASE = BASE_DATA[BASE_NR]
$TOOL = TOOL_DATA[TOOL_NR_Kleber]:FRMCALC(0, 0, 0, 0, 0, 0)
;ENDFOLD
;FOLD 'Werkstueckhomepunkt anfahren'
;Verfahrgeschwindigkeit zum Homepunkt auf 15%
$vel_axis[1] = 15; Achsbeschleunigung Achse 1 = 15% vom max. Achsgeschwindigkeit
$vel_axis[2] = 15
$vel_axis[3] = 15
$vel_axis[4] = 15
$VEL_EXTAX[1] = 15
;ENDFOLD
;FOLD 'Homeposi anfahren'
PTP homeposi
;ENDFOLD
;FOLD 'Variable definieren'
Velweld=5
$VEL.CP = VelPre / 60 ; Geschwindigkeit in [m/min]
;ENDFOLD
;FOLD 'Kleben'
PTP {x 390,y 1540, z 330, a -90, b 30, c 0, e1 -150} C_PTP
PTP {x 390, y 1540 ,z 330 ,a -90 ,b 30 ,c 0 ,e1 0} C_PTP
TRIGGER WHEN DISTANCE=0 DELAY=0 DO $OUT[29]=TRUE
TRIGGER WHEN DISTANCE=1 DELAY=0 DO $OUT[29]=FALSE
PTP {x 390,y 1540, z 330,a -90, b 30, c 0, e1 150} C_PTP
PTP {x 390, y 1540,z 330,a -90, b 30, c 0, e1 200} C_PTP
;ENDFOLD
;FOLD 'Homeposi anfahren'
$vel_axis[1] = 15
$vel_axis[2] = 15
$vel_axis[3] = 15
$vel_axis[4] = 15
$VEL_EXTAX[1] = 15
PTP Homeposi
;ENDFOLD
END
DAT____________________________________________________
&ACCESS RVO
&REL xxx
DEFDAT Kleb
EXT BAS (BAS_COMMAND :IN,REAL :IN)
DECL INT SUCCESS
;-------------Wergzeug- und Werkstueckangaben-----
DECL CONST INT TOOL_NR=8 ; Klebepistole
DECL CONST INT BASE_NR=1 ; Tisch
;-----------Positionen Linearachse----------------
DECL REAL LIN_VEL
DECL CONST REAL LIN_VEL_MAX = 25 ;[m/min]
DECL REAL_LIN_ACC
;------------Sonstige Angaben---------------------
DECL REAL zVersatz; Abstand Pistole Blech
DECL REAL WZWinkel; Anstellwinkel des Klebepistole
DECL REAL W_Dicke; Werkstueckdicke
;------------Geschwindigkeiten [m/min]------------
DECL CONST REAL VelDef=10.0
DECL CONST REAL VelPre=5
DECL REAL VelWeld
;-----Beschleunigungsrampe zum Schweissen [mm]----
DECL CONST REAL SRamp=20.0
;---------------Hilfsvariablen--------------------
DECL CONST E6POS homeposi={x 300,y 1300,z 200,a 180,b 0,c 0,e1 0,e2 0,e3 0,e4 0,e5 0,e6 0,s 'B110',t 'B011011'}
ENDDAT
_____________________________________________________________
Sorry, das ich als blutiger Anfänger mit dem kompleten Programm komme, aber ich habe schonetliche Sachen ausprobiert und bin jedesmal gescheitert.
Vielen Dank euch allen