Codesys Drehzahlberechnung über DI

Benno

Well-known member
Beiträge
98
Punkte Reaktionen
1
Zuviel Werbung?
->Hier kostenlos registrieren
Codesys Drehzahlerfassung/berechnung über DI

Hallo,

wie kann ich am besten eine Drehzahl über Impulse am Digitalen Eingang Auswerten und berechnen?Es wird
ein Impuls pro Umdrehung ausgegeben.Wie geh ich da am geschicktesten vor?

Wäre Dankbar für Tipps

Gruß
Benno
 
Zuletzt bearbeitet:

StructuredTrash

Well-known member
Beiträge
1.136
Punkte Reaktionen
303
Während ein Timer abläuft, die L->H-Flanken des Umdrehungsimpulses zählen. Dann hast Du nach dem Timerablauf im Zähler den Wert in Umdrehungen/Timer.PT.
Wenn das nicht genau genug ist, dann die Zeit zwischen 2 oder mehr Signalflanken messen und umrechnen.
 
OP
B

Benno

Well-known member
Beiträge
98
Punkte Reaktionen
1
Zuviel Werbung?
->Hier kostenlos registrieren
Hab das jetzt so gelöst in dem ich die Differenz auswerte.Bloß jetzt hab ich das Problem sobald das 16 Bit Countermodul wieder
bei 0 anfängt hab ich kurzzeitig nee zu hohe Differenz und somit auch nee zu hohe Drehzahl.Habt ihr nee Lösung für das Problem?

Gruß
Benno
 

Ralle

Supermoderator
Teammitglied
Beiträge
15.103
Punkte Reaktionen
3.820
Hab diesen hohen Sprung nun einfach gebrückt. Gibt es noch bessere Ideen?

Gruß
Benno

Du brauchst das nicht brücken, wenn der Sprung kommt, dann merkst du das ja, weil der Counter vom hohen Wert auf Null bzw. einen niedrigen Wert springt. Du hast zwei Werte, normal wäre z.Bsp.

1. Wert 10420
2. Wert 12620

Differenz = 2200

Wenn der Zähler überläuft hast du z.Bsp.

1. Wert 12620
2. Wert 1620

Differenz = -11000

Ist die Differenz negativ, rechnest du den Maximalwert des Counters auf den 2. Wert drauf:

1. Wert 12620
2. Wert 1620 + 13500 (nur als Beispiel, wenn das der Maximalwert des Counters wäre!!!)

Differenz = -2500

beim nächsten Wertepaar stimmt es dann ja wieder.
 
Oben