Moin Roboter Experten,
ich bin seit längerem mal wieder im VW user unterwegs, an einer 5.4.7er Version und bekomme meine Bewegung einfach nicht so abgebrochen wie ich es mir Vorstelle.
Unterlagen und hier im Forum habe ich jetzt zu genüge gelesen, komme aber einfach nicht weiter.
Problem:
Roboter soll in bestimmten Fällen (durch Eingang 353) seine Bewegung "zielpunkt" unterbrechen und zurück auf "ausgangspunkt".
Mein Probelm ist das der Roboter nach dem auslösen genau an die Stelle zurück fährt wo der Fehler festgestellt wird (auf dem weg "zielpunkt") das soll er nicht.
Deswegen habe ich gedacht ich baue den Befehl Resume mit ein. Nun bekomme ich aber an der Stelle die Fehlermeldung: unzulässige Programmstrucktur.
Dann habe ich einen zweiten weg versucht und habe gedacht wenn ich den Rob nicht gestoppt bekomme schreibe ich die Position einfach um. Das funktioniert aber auch nicht, irgendwie merkt sich der Roboter wo er hin wollte und fährt zum zielpunkt.
Ich hoffe auf eure Mithilfe, vielen Dank im vorraus.
startpunkt=$pos_act
zielpunkt=$pos_act
ausgangspunkt=$pos_act
$advance=0
Interrupt DECL 10 when $IN[353]==false do up()
IF $FLAG[901]==true then
IF $FLAG[902]==false then
startpunkt.z=startpunkt.z-PAR1
zielpunkt.z=zielpunkt.z-PAR2-PAR1
$vel.cp=0.1
$acc.cp=5
$APO.CVEL=0
Interrupt 10 ON
Interrupt Enable 10
LIN startpunkt
speed=PAR3*0.001
wait sec 0.5
If $FLAG[903]==false then
sel_RES=select (#Makro,50,true,,,,,FALSE)
endif
LIN zielpunkt
If $FLAG[903]==false then
sel_RES=select (#Makro,50,true,,,,,FALSE)
endif
endif
endif
Interrupt off 10
$vel.cp=0.1
LIN ausgangspunkt
$advance=1
END
***********************************************************
def up()
Interrupt off 10
brake
wait sec 0.5
resume
end
************************************************************
auch schon versucht:
def up()
Interrupt off 10
brake
wait sec 0.5
zielpunkt=ausgangspunkt
wait sec 0.5
end
Alles anzeigen