Hallo zusammen,
ich habe hier ein KRC2 Kollegen mit der Softwareversion 5.6.12.
Ich habe einen Ini am Greifer den ich als Eingang bekomme. Ich möchte gern zwei Funktionen damit abdecken:
zum einen möchte ich eine Suchfahrt in -Z Richtung erstellen, was soweit kein Problem darstellt. Desweiteren muss der Ini mir auch sagen, dass der Greifer "zu tief fährt".
Soll heißen wenn der Ini auislöst muss die Suchfahrt beendet werden und wenn der Ini auslöst minus Wert X soll ein anderer Interrupt auslösen.
Meine Idee war folgende; ich habe eine Funktion die TRUE/FALSE ausgibt um einen Interrupt "ZuTief" auszulösen (dieser Funktioniert auch wie er soll).
In dieser Funktion schreibe ich nach dem auslösen des Ini's die $POS_ACT.Z in eine REAL, um dann TRUE auszugeben wenn REAL - Wert <= $POS_ACT.Z.
GLOBAL DEFFCT BOOL ZuTief( )
DECL REAL rPosZ
DECL BOOL bAusgeloest
;
IF diIni==TRUE THEN
bAusgeloest=TRUE
rPosZ=$POS_ACT.Z
;
ENDIF
;
IF ((rPosZ-10<=$POS_ACT.Z) AND bAusgeloest) THEN
bAusgeloest=FALSE
RETURN TRUE
;
ELSE
RETURN FALSE
;
ENDIF
;
ENDFCT
Display More
Das ganze scheitert schon vor dem Testen. Ich frage die Funktion dauerhaft im sps.sub ab und, da hier mit Positionen gearbeitet wird, fehlt die angabe des Tools. Garnichtmal so doof wie ich mich fühlte schreibe, ich "einfach" $TOOL=TOOL_DATA[1] mit in die Funktion (ich habe nur ein Tool somit passt das immer). Hierbei meckert die KRL aber an, dass $TOOL schreibgeschützt ist.
Hat da jmd Ideen? Danke im voraus!