MCO 305 Projektierungshandbuch
skip_first = 1
ELSE
marker_number = marker_number + 1
total_dist = total_dist + marker_distance
ENDIF
old_ipos = new_ipos
ENDIF
ENDWHILE
CSTOP
SET SYNCMPULSS (total_dist rnd marker_number)
OUT 2 0
RETURN
/***********************
SUBPROG master_measure
OUT 2 1
old_mipos = MIPOS
marker_number = 0
total_dist = 0
skip_first = 0
WHILE (IN 2 == 1) DO
new_mipos = MIPOS
IF (new_mipos != old_mipos) THEN
marker_distance = new_mipos - old_mipos
IF (marker_distance < 0) THEN
marker_distance = (marker_distance * -1)
ENDIF
IF (skip_first == 0) THEN
skip_first = 1
ELSE
marker_number = marker_number + 1
total_dist = total_dist + marker_distance
ENDIF
old_mipos = new_mipos
ENDIF
ENDWHILE
SET SYNCMPULSM (total_dist rnd marker_number)
// durchschnittlichen Markerabstand berechnen und Parameter setzen
OUT 2 0
RETURN
/****************************** Fehlerroutine ************************************/
SUBPROG errhandle
err = 1
// Fehler-Flag setzen, um solange in der Fehlerroutine zu bleiben, bis der Fehler gelöscht ist.
OUT 8 1
OUT 2 0
WHILE err DO
IF (IN 8) AND NOT (IN 2) THEN
ERRCLR
err=0
ENDIF
ENDWHILE
OUT 8 0
sync_flag = 0
RETURN
/****************************************************************************/
ENDPROG
/********************************* Programmende ******************************/
34
__ Funktionen und Beispiele __
// "alte" Markerposition als "neue" Markerposition setzen
// Anhalten, wenn die Slave-Marker-Messung verlassen wird.
// Durchschnittlichen Markerabstand berechnen und Parameter setzen.
// Ausgang " Marker-Messung aktiviert " zurücksetzen
Markerabstand Master messen
// Ausgang "Marker-Messung aktiviert" setzen
// "alte" Markerposition lesen
// Variable zurücksetzen
// Variable zurücksetzen
// Variable zurücksetzen
// Im Messmodus bleiben solange Eingang 2 high
// "neue" Markerposition lesen
// Den ersten Wert nicht benutzen, er könnte falsch sein.
// "alte" Markerposition auf "neue" Markerposition setzen
// Ausgang "Marker-Messung aktiviert" zurücksetzen
// Ausgang Fehler setzen.
// Bei Fehler Ausgang "Marker-Messung aktiviert" zurücksetzen
// In der Fehlerroutine bleiben, bis die Reset-Meldung empfangen ist.
// Wenn Eingang 8 high und Eingang 2+3 low Fehler zurücksetzen
// Fehler löschen
// Fehler-Flag zurücksetzen
// Ausgang Fehler zurücksetzen
// sync_flag nach Fehler zurücksetzen
®
MG.33.L5.03 – VLT
ist ein eingetragenes Warenzeichen von Danfoss.
// Zähler um 1 erhöhen
// Markerabstände zusammenfassen
***************************/
// Prüfen, ob ein neuer Marker erkannt wurde
// Markerabstand berechnen
// Falls negativ Vorzeichen ändern
// Zähler erhöhen
// Markerabstände zusammenfassen