Hallo Andi,
die Sache ist ganz einfach. Dazu brauchst du nur einen digitalen Eingang oder einen schnellen Eingang (auf der RDW- ist optional bei Kuka erhaeltlich).
beispiel
def bewegung() ; Programm mit der Bewegung
interrupt decl 5 when $in[5] = True do mess()
ptp anfang ; startpunkt fuer messung
interrupt on 5 ; messung scharfschalten
gemessen=false ; merker fuer erfolgreiche Messung zuruecksetzen
lin ende ; bis hierhin muss eine Positive flanke gekommen sein
def mess() ; interruptroutine
interrupt of 5
gemessen=true ; merker, das was gemessen wurde
wait sec 0 ; vorlaufstop
merke_pos = $pos_int
end
willst du in einer schnellen Bewegung messen, rate ich dir zu schnellen Eingaengen (ca, 200 Euro Option bei KUKA wenn du KRC2 mit RDW2 hast, bei KRC1 standard auf Powermodul - kost dann nix)
Beim schnellen Messen verwendest du statt $in[x] $meas_pulse[1bis5], bei KRC1 $meas_pulse[1bis4].
Willst du auf eine fallende Flanke messen declarierst du
interrupt decl 5 when $in[5] = False do mess()
Beim Einschalten des Interrupt sicherstellen, das die Bedingung nicht schon erfuellt ist - ausserdem solltest du den Fall behandeln, das der Sensor nichts erkennt (zum Beispiel mit der Boolschen Variable gemessen)
viel Spass beim Probieren Stefan