Benutzerdefinierte Operationen

Was

MDA V7

Migrierte Formeln in MDA V8

Anmerkung

Average

Average (signal)

Accumulate_Prefix_Average (signal)

Durchschnitt ab Beginn der Messung.

AND

BinaryAND (signal, mask)

Wenn ein Messsignal verwendet wird: Raw(signal) & mask

Wenn ein Wert verwendet wird: notsignal & mask

Für Argumente, die Messsignale sind, wird die Raw-Funktion aufgerufen.

Zeitbereich: Von Beginn an

OR

BinaryOR (signal, mask)

Wenn ein Messsignal verwendet wird: Raw(signal) | mask

Wenn ein Wert verwendet wird: notsignal | mask

Für Argumente, die Messsignale sind, wird die Raw-Funktion aufgerufen.

Zeitbereich: Von Beginn an

XOR

BinaryXOR (signal, mask)

Wenn ein Messsignal verwendet wird: Raw(signal) ^ mask

Wenn ein Wert verwendet wird: notsignal ^ mask

Für Argumente, die Messsignale sind, wird die Raw-Funktion aufgerufen.

Zeitbereich: Von Beginn an

Const

Const (value)

value

Der Dialog in MDA V7 schränkt die Rasterauswahl auf ein festes Zeitraster ein.

Zeitbereich: Von Beginn an

CountTimeLevel

CountTimeLevel (time, signal, value)

Accumulate_Prefix_Integral ((input = level) ? 1 : 0)

Zeitbereich: Von Beginn an

Zählt wie viele Male ein Signalwert erreicht worden ist.

CountTimeLevelToTolerance

CountTimeLevel ToTolerance (time, signal, min, max)

Accumulate_Prefix_Integral ((min <= signal) && (signal <= max) ? 1 : 0)

Zeitbereich: Von Beginn an

Addiert die Zeit, in der sich ein Signal in einem bestimmten Tolleranzlevel befindet (min, max).

Debounce

Debounce (time, signal, risingDelay, fallingDelay)

Debounce (signal, risingDelay, fallingDelay)

Errechnet die entprellte Version von signal.

Der Zeitbereich ist durch die Flanken der Eingangssignale definiert.

Die Berechnungsergebnisse können unterschiedlich ausfallen, da die Debounce-Funktion in MDA V8 keine Flanken generiert, wenn das Eingangssignal von Beginn an ungleich Null ist. MDA V8 nimmt an, dass der vorhergehende (unbekannte) Messpunkt den gleichen Wert hat wie der erste verfügbare Messwert. MDA V8 hat keine initiale Flanke und der vorhergehende Wert ist initialisiert als NoValue.

Delta

Delta (signal, count)

signal - State_Delay (signal, NoValue(0), count)

Delta über die letzte Zählung der Messwerte: signal(k) - signal(k - count)

Der Zeitbereich ist durch den Messwert-Parameter count definiert.

Aufzählungssignale (VTAB) sind nicht unterstützt.

DeltaT

DeltaT (time, signal)

Delta (master()) + 0*Raw (signal)

0*signal ist erforderlich, um die Rastereinstellungen basierend auf das Eingangssignal anzuwenden.

Zeitbereich zwischen dem aktuellen und dem vorhergehenden Messwert.

Berechnet time(k) - time(k-1).

V8.7 nimmt an, dass der erste Wert NoValue hat.

Gradient

Gradient (time, signal, count)

(signal - State_Delay (signal, NoValue(0), count)) / (Master() - State_Delay (Master(), 0, count))

Erste Ableitung von den letzten count Messwerten.

Der Zeitbereich ist durch den Messwert-Parameter count definiert.

Aufzählungssignale (VTAB) sind nicht unterstützt.

Integral

Integral (time, signal)

Accumulate_Prefix_Integral (signal)

Integral von signal von Beginn der Messung.

LevelReachedCount

LevelReachedCount (signal,level)

Accumulate_Prefix_Sum ((State_Register (signal != level, !0) && (signal = level)) ? 1 : 0)

Zählt wie viele Male ein Signalwert erreicht worden ist.

Zeitbereich: Von Beginn an

LowPassFilter_ASCET_lib

LowPassFilter (time, signal, filterTime, startInput)

Filter_LowPass1 (signal, 1 / (2*PI*filterTime))

Zeitbereich: Von Beginn an

Maximum

Maximum (signal)

Accumulate_Prefix_Maximum (signal)

Maximalwert des Signals von Beginn der Messung.

MaximumOf2Inputs

MaximumOf2Inputs (signal1, signal2)

Relation_Maximum (signal1, signal2)

Maximum von signal1 und signal2.

Zeitbereich: Von Beginn an

MaxReset

MaxReset (input_signal, reset_signal)

Accumulate_Reset_Maximum (signal, reset > State_Register (reset, 0))

Berechnet den maximalen Wert von input_signal. Der Maximalwert wird bei jeder positiven Flanke von reset_signal zurückgesetzt.

Zeitbereich: Von Beginn an oder von der letzten positiven Flanke von reset_signal.

Minimum

Minimum (signal)

Accumulate_Prefix_Minimum (signal)

Minimalwert des Signals von Beginn der Messung.

MinimumOf2signals

MinimumOf2Signals (signal1,signal2)

Relation_Minimum (signal1, signal2)

Minimum von signal1 und signal2.

MinReset

MinReset(input_signal, reset_signal)

Accumulate_Reset_Minimum (signal, reset > State_Register(reset, 0))

Berechnet den Minimalwert von input_signal. Der Minimalwert wird bei jeder positiven Flanke von reset_signal zurückgesetzt.

Zeitbereich: Von Beginn an oder von der letzten positiven Flanke von reset_signal

PhaseShift

PhaseShift (signal, 0, count)

Delay (signal, 0, count)

Gibt einen vorherigen Wert zurück: signal(k-count)

Der Zeitbereich ist durch den Messwert-Parameter count definiert.

MDA V8 gibt n/a zurück, solange nicht alle Werte definiert sind.

Pulse11

Pulse11 (time, signal, duration)

Debounce (time, signal, 0, duration)

Der Zeitbereich ist durch den Parameter duration definiert.

Erkennt Impulse, die vom Argument duration gegeben sind.

MDA V8 nimmt an, dass die vorhergehenden (unbekannten) Werte die gleichen sind, wie der erste verfügbare Wert.

RollingAverage

RollingAverage (signal, count)

Accumulate_Samples_Average (signal, count)

Berechnet den Durchschnitt vom Signal über die Anzahl von Messpunkten, die über count definiert sind.

Der Zeitbereich ist durch den Messwert-Parameter count definiert.

RSFlipFlop

RSFlipFlop (set_input, reset_input)

State_RSFlipFlop (set_input, reset_input)

Zeitbereich: Von Beginn an

RSFlipFlop mit positiver Logik.

Beide Parameter müssen die gleiche Messrate haben.

SampleCounter

SampleCounter (signal)

Count (signal)

Zeitbereich: Von Beginn an

Gibt die Anzahl der Messpunkte des Signals zurück.

SumTotal

SumTotal (signal)

Accumulate_Prefix_Sum (signal)

Summe aller Messpunkte

Threshold1

Threshold1 (l, u, s, a, b)

((l <= s) && (s <= u)) ? a : b

Schwellwertberechnung

Zeitbereich: Von Beginn an

Threshold2

Threshold2 (l, u, s, x)

(s < l) ? l : (s > u) ? u : x

Schwellwertberechnung

Zeitbereich: Von Beginn an

Threshold3

Threshold3 (l, u, s, a, b)

((l <= s) && (s <= u)) ? a : b

Schwellwertberechnung

Zeitbereich: Von Beginn an

Threshold4

Threshold4 (l, u, s, x)

Latch (x, (l <= s) && (s <= u))

Schwellwertberechnung

Zeitbereich: Von Beginn an

TriggerTrue1

TriggerTrue1 (signal)

signal && State_Register (!signal, !1)

Erkennt wenn signal von falsch auf wahr geht.

Zeitbereich zwischen dem aktuellen und dem vorhergehenden Messwert.

WeightedCounter

WeightedCounter (signal, low, high, factor)

factor * Accumulate_Prefix_Sum ((low <= signal) && (signal <= high) && (signal = signal))

Zählt die Anzahl der Messwerte, in denen das Signal zwischen low und high liegt und gewichtet diese Zahl mit factor.

Zeitbereich: Von Beginn an