ImpulseToFrequency (FPScript)

21.09.2021

Wandelt ein Impulssignal oder ein Stufensignal in ein Frequenzsignal um.

Syntax

ImpulseToFrequency(Signal, [ N = 1 ] [ , SignalType = TYPE_IMPULSE ])

 

Die Syntax der ImpulseToFrequency-Funktion besteht aus folgenden Teilen:

Teil

Beschreibung

Signal

Das zu wandelnde Impulssignal oder Stufensignal. Bei einer Datenreihe wird dX gleich Eins angenommen.

Erlaubte Datenstrukturen sind Datenreihe und Signal. Es sind alle numerischen Datentypen erlaubt.

Bei komplexen Datentypen erfolgt eine Betragsbildung.

Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste.

N

Die Anzahl der Impulse pro Umdrehung.

Erlaubte Datenstrukturen sind Einzelwert. Es sind alle numerischen Datentypen erlaubt.

Der Wert muss größer 0 sein.

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert 1 gesetzt.

SignalType

Der Typ des Eingangsdatensatzes.

Das Argument SignalType kann folgende Werte haben:

Konstante

Bedeutung

TYPE_IMPULSE

Der Eingangsdatensatz liegt als Impulssignal vor.

TYPE_INCREMENT

Der Eingangsdatensatz liegt als Stufensignal vor (d.h. als Inkrementsignal).

Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt.

Wenn das Argument nicht angegeben wird, wird es auf den Vorgabewert TYPE_IMPULSE gesetzt.

Anmerkungen

Der Datentyp des Ergebnisses ist immer 64-Bit Fließkomma.

Die Struktur des Ergebnisses entspricht der des Arguments Signal.

Die Einheit des Ergebnisses ist gleich dem Kehrwert der Einheit der X-Komponente von Signal. Im Modus TYPE_INCREMENT wird ein vorliegendes Stufensignal zuerst in ein Impulssignal umgewandelt.

Die Funktion sucht nun im Impulssignal nach den positiven Flanken der Impulse. Die Schaltschwelle wird genau in die Mitte zwischen maximalem und minimalem Wert des Impulssignals gelegt. Es wird mit einer Hysterese von 20 % gearbeitet. Die Momentanfrequenz ergibt sich als X-Differenz benachbarter Flanken dividiert durch N. Um die Anzahl der Werte im Ergebnis gleich der von Signal zu halten, wird die jeweils berechnete Frequenz solange wiederholt, bis eine neue berechnet werden kann.

Folgende Grafik zeigt ein Wobbelsignal (mit quadratisch konvexer Frequenzzunahme) und den Verlauf der Momentanfrequenz, berechnet mit Hilfe des beschriebenen Algorithmus:

Verfügbarkeit

FlexPro Basic, Professional, Developer Suite

Beispiele

ImpulseToFrequency(Signal, 6)

Wandelt ein Impulssignal in ein Frequenzsignal um. Es werden 6 Impulse pro Umdrehung angenommen.

ChangeUnit(ImpulseToFrequency(Signal, 4), "1/min")

Wandelt ein Impulssignal mit Einheit in ein Drehzahlsignal mit Einheit [1/min] um. Es werden 4 Impulse pro Umdrehung angenommen.

ImpulseToFrequency(Signal, , TYPE_INCREMENT)

Wandelt ein Stufensignal in ein Frequenzsignal um (ein Impuls pro Umdrehung angenommen). Dazu wird das Stufensignal zuerst in ein Impulssignal umgewandelt, wofür intern die Diff-Funktion verwendet wird.

Siehe auch

Frequency-Funktion

Diff-Funktion

Artikel teilen oder als Email versenden:

Diese Beiträge könnten Sie ebenfalls interessieren