Verhalten berechneter Signale abhängig vom Statusflag
In einer MDF-Maßnahmendatei sind für eine Probe zusätzlich zwei Flags vorhanden: Eines zur Angabe, ob ein Wert zu einem bestimmten Zeitstempel vorhanden ist, und ein weiteres, das anzeigt, ob ein aufgezeichneter Wert gültig ist oder nicht.
Jedes Flag kann Wahr oder Falsch sein, daher ergeben sich die folgenden vier Kombinationen:
|
Hat einen Wert |
Wert ist gültig |
Beschreibung |
Beispiel |
|---|---|---|---|
|
WAHR |
WAHR |
Regulärer Messwert |
|
|
FALSCH |
WAHR |
Kein Messwert zu diesem Zeitpunkt |
Zeitstempel sind vor dem ersten Abtastwert des Signals verfügbar. |
|
WAHR |
FALSCH |
Fehlerhafter Messwert mit Wert |
|
|
FALSCH |
FALSCH |
Fehlerhafter Messwert ohne Wert |
Ganzzahldivision durch 0 |
Bei berechneten Signalen werden die Zustände der Flags von Eingangssignalen für das Berechnungsergebnis berücksichtigt.
Dies lässt sich wie folgt zusammenfassen:
-
No value-Fälle
- Die Bedeutung ist dieselbe, als ob die Probe (einschließlich des Zeitstempels) vollständig fehlen würde.
- Der Vorteil ist, dass mit diesem Flag, ein No value eines Signals mit einem anderen aus anderen Signalen der gleichen Gruppe kombiniert werden kann, die noch einen Messwert am selben Punkt haben.
- Das Ergebnis einer Berechnung auf No value wird ebenfalls als No value gekennzeichnet, außer die Interpolation mit anderen Signalen führt dort zu einem Messwert.
- Ein Eingangswert im Zustand "No value" bewirkt keine Änderung bei Operationen mit (internem) Zustand (z. B. Integralberechnung).
-
Error-Fälle (mit und ohne Wert)
- Wenn eine Eingabeprobe einen Fehler aufweist (d. h. ungültig ist), wird der Fehler auf das Berechnungsergebnis übertragen.
- Die einzige Ausnahme ist, wenn der Eingabemesswert keine Rolle spielt, z. B. true? 3: error ergibt 3.
- Der invalide Zustand wird bei Operationen mit (internem) Zustand übertragen.
- Somit bleiben akkumulierende Operationen (wie z. B. Integral) so lange auf Fehler stehen, wie der fehlerhafte Messwert Teil des Akkumulationsbereichs ist.