Step 7 (Diesel)Motor Drehzahl auswerten mit S7-1200

OrangUtanKlaus

Level-2
Beiträge
7
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich bin neu angemeldet, lese aber schon öfters hier mit. Als Elektrotechniker beschäftige ich mich unter anderem beruflich mit der S7-1200. Die Suchfunktion hat mir auch nicht so wirklich geholfen, auch wenn es einige Beiträge zum Thema "Drehzahl" gibt, daher hier meine Frage.

Ich denke, die Anwendung ist eigentlich was geläufiges:
Baumaschine mit Dieselmotor, u.a. Drehzahl soll gemessen werden. Derzeit weiß ich noch nicht, ob ein Zahnrad montiert ist, oder nur ein Nocken. Der Kunde verwendet aber einen Hall-Geber mit Frequenzausgang.
So weit, so gut.

Naiv, wie ich bin, dachte ich, es gibt bestimmt einen Baustein, an dem ich den zu zählenden Eingang anhänge + Anzahl der Inkremente pro Umdrehung und am anderen Ende fällt die Drehzahl raus.
Ok, ist wohl nicht so.

Also, wie macht man das?
Mein Kenntnisstand:
Die S7 1200 kann ja schnell zählen. Dann gibt es da die Checkbox in der Konfig, die da sagt, dass auch Impulse, welche schneller als die Zykluszeit sind, gezählt werden.
Frage 1: Was passiert dann damit? (Wird das irgendwo zwischengespeichert? Oder arbeite ich dann mit einem Weckalarm-OB?)

Angenommen, ich brauche das gar nicht:
Frage 2: Wie würdet ihr am einfachsten die Drehzahl ermitteln?

Ich laß an anderer Stelle, dass man die System-Zeiten von 2 Impulsen erfasst und voneinander subtrahiert und die Zeit dann nimmt, um die RPM zu berechnen.
Ok, das mit dem speichern ist ja einfach, wenn ich aber die Zeiten voneinander subtrahieren will, geht das nicht, weil die zweite Zeit nicht vom Datentyp DTL sein darf.
Da hänge ich also schon :)
Es gibt ja noch die schnellen Zähler (HSC). Da habe ich aber noch gar nicht verstanden, wie das funktioniert. Was ist ein Tor??

Danke schon mal für Eure Hilfe!
Der Neuling...
 
Hallo!


Ich laß an anderer Stelle, dass man die System-Zeiten von 2 Impulsen erfasst und voneinander subtrahiert und die Zeit dann nimmt, um die RPM zu berechnen.
Ok, das mit dem speichern ist ja einfach, wenn ich aber die Zeiten voneinander subtrahieren will, geht das nicht, weil die zweite Zeit nicht vom Datentyp DTL sein darf.
Da hänge ich also schon :)

Der Neuling...

"OrangUtanKlaus.........ist doch kein Name für eine Katze" Helge Schneider

mit T_Diff kannst Du doch beide Parameter als DTL nehmen.

Raik
 
Baumaschine mit Dieselmotor, u.a. Drehzahl soll gemessen werden. Derzeit weiß ich noch nicht, ob ein Zahnrad montiert ist, oder nur ein Nocken. Der Kunde verwendet aber einen Hall-Geber mit Frequenzausgang.

So weit, so gut.

Ich laß an anderer Stelle, dass man die System-Zeiten von 2 Impulsen erfasst und voneinander subtrahiert und die Zeit dann nimmt, um die RPM zu berechnen.
Das mit dem erfassen der Impulse über eine Standard-Digital-Eingang geht schon, ist aber (da von der Zykluszeit abhängig) nur bis zu bestimmten Frequenzen möglich.

Annahme Diesel-Drehzahl 1000U/min.
Eine Nocke an der Welle: 16,6 Imp/s (Hz) -> ca. 60ms zwischen den Impulsen (OK - kein Problem)
Zahnrad mit 50 Zähnen: 833,3 Imp/s (Hz) -> ca 1ms (geht nicht mehr)

Ich sag mal (so über den Daumen) dass du nicht unter 10ms und die 3-fache Zykluszeit des SPS kommen solltest.
Je nach Frequenz bieten sich 2-Varianten an.
- Zeitabstand zwischen 2 Impulsen messen -> bei niedrigen Frequenzen > 100ms
- Anzahl der Impulse in einem festen Zeitraum (1s) -> bei höheren Frequenzen < 50ms

HIER hatte ich mal eine kleine Zusammenfassung zu dem Thema verfasst.
Für das Messen der Zeit zwischen zwei Impulsen könnte sich die Funktion RUNTIME anbieten. Einfach bedingt mit dem DI aufrufen.

Es gibt ja noch die schnellen Zähler (HSC). Da habe ich aber noch gar nicht verstanden, wie das funktioniert. Was ist ein Tor??
Das Messen über den Standard-DI kann unter Umständen ein wenig ungenau sein (in der Zusammenfassung beschrieben)
Ein schneller Zähler bringt wahrscheinlich bessere Ergebnisse. Dort gilt dann aber (zumindest theoretisch) - je mehr Impulse/Sekunde desto besser.

Dafür würde ich dir das "S7-1200 Systemhandbuch" (Kapitel 9.1 schnelle Zähler) empfehlen.
Dort steht viel über den Aufbau und die Funktion der HSC drin.

Naiv, wie ich bin, dachte ich, es gibt bestimmt einen Baustein, an dem ich den zu zählenden Eingang anhänge + Anzahl der Inkremente pro Umdrehung und am anderen Ende fällt die Drehzahl raus.
Für die HSC gibt es schon so was ähnliches. Nennt sich CTRL_HSC (Control High Speed Counter) und ist ein FB der zum Steuern und auslesen der HSC-Counter dient. Ist ebenfalls ein Systemhandbuch beschrieben.
Dazu noch ein Link auf ein Programmbeispiel für die Konfiguration eines S7-1200 HSC.

Viel Glück ;)
 
Zuletzt bearbeitet:
Annahme Diesel-Drehzahl 1000U/min.
Eine Nocke an der Welle: 16,6 Imp/s (Hz) -> ca. 60ms zwischen den Impulsen (OK - kein Problem)
Vorsicht Falle!
Wenn die "Nocke" idealerweise einen halben Wellenumfang (180°) lang ist - dann ist 30ms Nocke und 30ms Lücke.
Wenn die Nocke nur 10° lang ist, dann ist 1,7ms Nocke und 58,3ms Lücke.

Harald
 
Hallo und schon mal vielen Dank für die überraschend große Resonanz! Diese Woche geht´s zum Kunden, um Details zu klären. Dann weiß ich genau, wo die Drehzahl abgegriffen wird. Dann brauch ich nur noch Zeit :ROFLMAO: Ich werde meine Versuche und Erfahrungen hier mitteilen.
 
Was auch noch gehen würde:

Messrelais das Frequenz nach 4-20mA umsetzt.
Dann könnte ev. ein Pick Up auf den Starterzahnkranz eine Lösung sein, auf alle Fälle mal die Zahnanzahl des Starterzahnkranzes zählen wenn du vor Ort bist.

Und natürlich die Maximaldrehzahl die das Ding so kann/soll.
 
Zurück
Oben