Hallo Christian,
hab Dir mal was angehängt, was evtl. für Deine Anwendung geeignet sein könnte (ist aber nicht getestet, da die schnellen Zähler nicht simuliert werden können, wurde aber prinzipiell so von mir in einer Dosieranwendung eingesetzt).
Durch die konstante Zykluszeit und den "Togglemerker" wird ein Takt mit 100ms erzeugt. D.h. die Drehzahl wird jeweils nach 100ms aktualisiert.
Mit dem Schieberegister kann eine Mittelwertbildung erreicht werden (jeweils über vielfache von 100ms).
Drehzahlbereich soweit ich das überschlagen habe (bei 200 Imp./Umdr. und Drehgeber mit A+B-Kanal) ca. 1,5-450 UpM. Wird im Schieberegister ein höherer Ausgang "angezapft" können auch niedrigere Drehzahlen ermittelt werden (Regelung wird dann aber träger). Höhere Drehzahlen sind wg. Begrenzung auf 3kHz für schnelle Zähler (theoretisch) nicht möglich (habe aber mal gelesen, daß bei Verwendung nur eines Zählers auch höhere Frequenzen messbar sein sollen).
Ich habe einen Inkrementalzähler verwendet (weil:
die drehrichtung zu ändern
dann Rechts-/Linkslauf erkannt werden kann- dann aber Drehgeber mit A+B-Kanal erforderlich!).
Den Frequenzzählerbaustein verwende ich bei Drehzahlregelungen nicht, da er nur jede Sekunde einen aktualisierten Wert ausgibt. Da aber mindestens 2 Messwerte (besser 3-4) in der Praxis für eine vernünftige Regelung erforderlich sind, würde die gesamte Einrichtung gähnend langsam werden.
Das Programm soll nur mal die Richtung weisen! Parameter einzelner Bausteine müssen natürlich noch angepaßt werden.
Die PI-Parameter können über das MFD eingestellt werden.
Gruß
Boppel