Skip to content
Menu
Menu

Knowledge Base

KB050089 | DEFAULTWERT FÜR UNDEFINIERTE WERTE IN BERECHNUNGEN

KB050089 | DEFAULTWERT FÜR UNDEFINIERTE WERTE IN BERECHNUNGEN

Produkt: Elvis
Version: 2.4.324
Stand: 2005-07-07

Zusammenfassung

Bei Berechnungen des Prozessservers kann für eine Datenpunkteigenschaft ein Default-Wert angegeben werden. Dieser Default-Wert wird nur verwendet, wenn für die Eigenschaft des Datenpunkts kein gültiger Wert vorliegt. Mit der Funktion IfNull(Datenpunkt, Eigenschaft, Default-Wert) kann für die angegebene Eigenschaft des Datenpunkts ein Defaultwert angegeben werden, der an dieser Stelle der Berechnung verwendet wird, falls der tatsächliche Wert undefiniert ist. Der tatsächliche Wert der Eigenschaft wird aber nicht verändert!
Beispiele:

//CODE:vb:‘ ohne Defaultwert:

x = Database.Datapoint(„Licht“).ActualValue

‚ mit Defaultwert:

x = IfNull(Database.Datapoint(„Licht“), „ActualValue“, 0)//CODE

oder wenn der Datenpunkt die Berechnung auch startet:

//CODE:vb:‘ ohne Defaultwert:

x = @(Licht).ActualValue

‚ mit Defaultwert:

IfNull(@(Licht).ActualValue, 0)//CODE

Achtung, bitte keine zusätzlichen Leerzeichen einfügen!

Die Funktion IfNull ist ab der Version 2.4.324 im Prozessserver implementiert. Für Versionen ab 2.4.296 bis 2.4.323 kann der Prozessserver im Download-Bereich heruntergeladen werden (nur solange diese Funktion nicht im offiziellen Setup zur Verfügung steht).

Einzelheiten

Alle dynamischen Datenpunkteigenschaften, z.B. auch ActualValue und NominalValue, können einen undefinierten Wert enthalten. Erst nachdem ein Wert für einen ActualValue (= aktueller Wert des Datenpunkts in der Anlage) von der Anlage empfangen werden konnte, ist diese Eigenschaft auf einen definierten Wert gesetzt. Ebenso wird auch der NominalValue (= Sollwert) erst dann auf einen gültigen Wert gesetzt, wenn der Benutzer eine Eingabe gemacht hat.

Dieses Verhalten ist richtig, um den tatsächlichen Anlagenzustand zu visualisieren und nicht irgendein Wunschbild der Anlage zu zeigen, das tatsächlich nicht vorliegt.

Dieses Verhalten kann in Berechnungen aber zu Problemen führen. Der undefinierte Wert eines Datenpunkts kann dazu führen, dass eine Berechnung nicht vollständig ausgeführt werden kann, weil ein Wert nicht definiert ist. Beispiel: Die Oder-Verknüpfung von A, B und C (also A OR B OR C) ergibt nur dann ein Ergebnis, wenn A,B und C einen gültigen Wert haben. Wenn nur ein Wert nicht vorliegt, bleibt das Ergebnis unbestimmt, auch wenn einer der definierten Werte Ein (Wahr) ist und deshalb das Ergebnis Ein (Wahr) sein müsste. Über andere Methoden (On Error… oder If…then statt OR ) konnte in der Vergangenheit dieses Problem (wenig elegant) umgangen werden.

Achtung: Wir sind nach wie vor der Meinung, dass das Setzen des fehlenden Wertes auf einen gültigen Wert keine Lösung darstellt, weil das das Prozessabbild verfälscht würde.

Die Lösung wird durch eine spezielle Funktion erreicht, die für die Berechnung einen Defaultwert verwenden kann, der sich aber nicht auf den tatsächlichen Datenpunktwert auswirkt. Die Funktion heißt „IfNull“ und hat drei Parameter:

  • den Namen des Datenpunkts
  • die Eigenschaft
  • den Defaultwert

Für die Angabe des Datenpunkts (erster Parameter) gibt es zwei Möglichkeiten: als passiven Datenpunkt mit Database.Datapoint(„Namen des Datenpunkts“) oder als Datenpunkt, der die Berechnung startet mit dem bekannten @-Zeichen. Beispiele sehen Sie oben in der Zusammenfassung.

Support Area

KB050089 | DEFAULTWERT FÜR UNDEFINIERTE WERTE IN BERECHNUNGEN

Knowledge Base

Hier finden Sie Antworten, Problemlösungen und Beispiele zu unseren Produkten.
KB050089 | DEFAULTWERT FÜR UNDEFINIERTE WERTE IN BERECHNUNGEN

Case Studies

Erfolgreich im Einsatz: Praxisbeispiele unserer Produkte und Individualentwicklungen.
KB050089 | DEFAULTWERT FÜR UNDEFINIERTE WERTE IN BERECHNUNGEN

Support

Beschreiben Sie ihr Anliegen über unser Supportformular.
KB050089 | DEFAULTWERT FÜR UNDEFINIERTE WERTE IN BERECHNUNGEN

Lizenzregistrierung

Registrieren Sie ihre Elvis-Lizenz!

IT GmbH · An der Kaufleite 12 · D-90562 Kalchreuth

KB050089 | DEFAULTWERT FÜR UNDEFINIERTE WERTE IN BERECHNUNGEN

BÜRO
Telefon: +49 911 5183490
E-Mail: info@it-gmbh.de

VERTRIEB
Telefon: +49 911 5183490
E-Mail: vertrieb@it-gmbh.de

partner-knx

© Copyright 2024. IT GmbH | designed by Appear Online