Gude Community,
ich habe folgenden Fall:
Ich möchte eine externe Achse (E2) auf drehen oder Stillstand überwachen in meiner PLC...
Da ich bei Bewegung dieser Achse ein Kühlaggregat ansteuern muss, sollte das Ganze recht gezielt ablaufen.
Im momentanen Zustand springt mir das Ding sofort an sobald irgendeine Roboterachse im Eingriff ist... Nicht gut!
Realisiert habe ich das mit folgendem CODE auf der KRC-Seite:
; Alle 100 ms alle Achspositionen speichern
IF $TIMER[2] > 0 THEN
$TIMER_STOP[2]=TRUE
$TIMER[2] = -100
$TIMER_STOP[2]=FALSE
ENDIFIF $TIMER_STOP[2] == FALSE THEN
rAltPosE2 = $AXIS_ACT.E2ENDIF
;Eine Achse in Bewegung ; Achse E2
IF $Pro_Move AND (rAltPosE2 <> $AXIS_ACT.E2) THEN
bE2Moves = TRUE
ELSE
bE2Moves = FALSE
ENDIF
doE2Stopped = NOT bE2Moves
...
...Funktioniert soweit erstmal einwandfrei. Das Problem ist, dass die Variable $AXIS_ACT.E2 gefühlte tausend Kommastellen hat.
Somit tut sich an den letzten Kommastellen immer etwas sobald die restlichen Achsen in Bewegung sind.
Die Frage ans Forum: Kann ich das Ganze auch deutlich ungenauer auswerten??? Mir würden ein oder zwei Kommastellen völlig ausreichen.
Oder gibt es bis auf den o.g. Code noch einfachere Wege?
Haut rein, freue mich auf Antworten.