Counter Auswertung wenn Wert langsamer wird

maxi

Level-2
Beiträge
2.834
Reaktionspunkte
127
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe nun bei meinen 2 Rollomotoren die Inkremntalgeber ausgewertet.

Fährt der Rollo Zu wird der Dezimalwert kleiner,
fährt er Auf wird der Dezimalwert grösser.

3 Sekunden braucht er etwa und macht ca. 100 Schritte pro Sekunde

Nun möchte ich es mit DB Wörtern so machen das ich eien Wert einstellen kann (zum Beispiel 5)
Wenn er in 100 ms nur 5 Schritte auf oder zu macht (anstelle der 10) soll ein Fehlerbit gesezt werden. Damit möchte ich den Ausgang blockieren.
Soll der Schlater, also der Tippeingang losgelasen werden soll der Fehlerbit wieder resetet werden.

Mache ich dann:

L db1.dbw0 (Der aktuelle zähler Wert)
L db1.dbw2 (Ein Eingestellter Wert für die abgefragten Inkremnte, also hier 5)
+d
T db1.dbw4 (also dann Counter + Wert)

Das gleiche mit -d

L db1.dbw0
L db1.dbw2
-d
T db1.dbw6 (Also Counter - Wert)

Als Programm dann:


U E 0.0 (Rollo Zu)
UN M 0.0
L DB1.dbw0 (Der aktuelle Zählerwert)
T DB1. DBW 10 (Zwischenspeicher für den Wert Aktuell)
L s5t#100 ms
SE T 1
S M 0.0
L DB1.DBW 10
L DB1 DBW 2
+D
T DB1.DBW 4

U T 1
L DB1.DBW0 (Aktueller Zählerwert)
L DB1.DBW4 (Der gespeichter Zählerwert +5)
<= I
S M 1.0 (Fehlermerker, Rollo klemmt oder ist Zu)

U T 1
ON E 0.0
R T 1
R M 0.0

Dann für Rollo auf das gleiche mit -d

Würde das so funktionieren? oder habe ich wo eine Fehler drinnen?
 
Da sind noch Fehler drin:

1. Ladeoperationen sind nicht vom VKE abhängig

U M0.0
L DB1.DW0 --> das Datenwort wird immer geladen

2.

L s5t#100 ms
SE T 1
U T1 --> wenn M0.0 von T1 gesetzt werden soll
S M 0.0

folgende Vorgehensweise wäre übersichtlicher:

Impuls des Tasters --> Aktuellen Zählwert in Alten Zählwert

Nimm den 100ms-Zeitimpuls der SPS oder erzeuge mit T1 alle 100ms einen Impuls. (FP)

Mit dem Impuls springst du in deine Berechnung
{
Aktueller Wert
- Alter Wert
Vergleich <= 5
Wenn ja --> Fehler
wenn nein --> Alles IO

Aktuellen Wert in Alten Wert transferieren
}

Fehler auswerten und entsprechend reagieren
 
Zuletzt bearbeitet:
Zurück
Oben