Datentypen und Funktionen an Eingängen

Durch Funktionen an den Eingängen z.B. Konvertierung/Invertierung und Glätten von Werten stehen vielfältige Möglichkeiten zur Verfügung, so dass auch mit einfachen Standardlogiken komplexe Aufgaben gelöst werden können.

Inhalt dieser Seite

Interne Datentypen des Timberwolf Server

Jede Datenübergabe in der Informatik setzt voraus, dass die Datentypen übereinstimmen. Das Objektsystem des Timberwolf Servers (und damit auch dessen Logikfunktion) nutzen die folgenden Datentypen:

  • Boolean: Nur die beiden binären Zustände 0 und 1 (respektive auch als False und True bezeichnet)

  • Integer: Vorzeichenbehaftete Ganzzahl (32 Bit, Wertebereich zwischen -2 147 483 648 und 2 147 483 647)

  • Float: Vorzeichenbehaftete Fließkommazahl

  • String: Text

Wertübergabefunktion von Eingängen

Eingänge stellen die Schnittstellen einer Logik-Zelle zum Objektsystem des TWS dar, über diese Schnittstellen können Werte an die Kernfunktion der Logik-Zelle übergeben werden. Voraussetzung ist, dass die Datentypen der Objekte ausreichend übereinstimmen, ist dies nicht der Fall stellt der Logik Manager Konvertierungsfunktionen zur Verfügung.

Bei Eingängen können die übergebenen Werte

  • entweder als dynamischer Wert von einem Objekt des TWS-Objektsystems stammen,

  • oder im Doktormodus manuell vom Nutzer vorgegeben werden,

  • oder als feste definierte Variable (“Konstante”) vorgeben werden; in der Logik-Zelle wird eine Konstante über die Verwendung der Funktion “Parameter” definiert,
    Achtung: Ein als Parameter zugewiesene Wert wird beim Abspeichern lediglich in die Berechnung übernommen; es muss zusätzlich explizit ein Trigger-Ereignis entstehen, damit die Logik erneut ausgeführt werden kann (als zusätzlicher Eingang oder zeitlicher Trigger).

Konvertierungen bei der Datenübergabe an Eingängen

Automatische Konvertierung an Wert-Eingängen (Float oder Integer)

Bei Zahlen greift im Timberwolf Server eine automatische Typ-Konvertierung. Erwartet eine Logik-Zelle am Eingang einen Wert vom Typ Integer (Ganzzahl) und wird aber eine Objekt vom Typ Float (Gleitkommazahl) verknüpft, wird diese Verknüpfung akzeptiert und eine automatische Rundung findet statt. Bei der Auswahl im Verknüpfungsassistenten und auch beim Tooltip des Eingangsobjekt erfolgt in diesem Fall ein Hinweis (gelbes Ausrufezeichen).

Vergleichsoperationen zur Konvertierung von Zahlen (Float oder Integer) zu Bool

In der GUI einer Logik-Zelle kann festgelegt werden, dass die an den Eingängen übergebenen Daten einer Vergleichsoperationen unterzogen werden, bevor sie von der Logik-Zelle verarbeitet werden. Der Eingang erhält so - je nach Anwendungsfall - entweder eine Filter- oder eine Wenn-Dann-Funktion.

So kann bspw. geprüft werden, ob der übergebene Integer-Wert kleiner als “500” ist; trifft dies zu, wird der Logik-Zelle ein boolean TRUE zur Verarbeitung übergeben.

In der GUI stehen folgende Vergleichsfunktionen zur Verfügung:

  • Innerhalb Bereich”: prüft, ob der Eingangswert im angegebenen Bereich liegt; falls ja, erhält der Eingang den Wert TRUE, anderenfalls FALSE.
    Hinweis: Werden der Min- und der Max-Wert auf den gleichen Wert gesetzt, kann damit eine “Ist gleich”-Prüfung des Eingangswerts vorgenommen werden

  • Schwellwert unter”: prüft, ob der vorgegebene Schwellwert unterschritten ist; falls ja, erhält der Eingang den Wert TRUE, anderenfalls FALSE.

  • “Schwellwert über”: prüft, ob der vorgegebene Schwellwert überschritten ist; falls ja, erhält der Eingang den Wert TRUE, anderenfalls FALSE.

  • Schwellwert mit Hysterese”: vergleicht den Eingangswert gleichzeitig mit der oberen und unteren Grenze;

    • ist die obere Grenze überschritten, erhält der Eingang den Zustand TRUE,

    • ist die untere Grenze unterschritten, erhält der Eingang den Wert FALSE (Hinweis: die untere Grenze sollte so festgelegt sein, dass sie unterschritten werden kann: bspw. macht es bei einem Lux-Wert keinen Sinn die untere Grenze auf 0 zu legen, da dieser Wert nie unterschritten werden kann),

    • liegt der Wert dazwischen, verbleibt der Eingang im bisherigen Zustand.

Glättung von Signalen mittels Tiefpass

Neben den Vergleichsoperationen können die empfangenen Werte an einem Eingang mittels Tiefpass gefiltert werden. Dies ist sowohl mit Float, Integer als auch bool'schen Werten möglich. Mit der Zeitkonstante des Tiefpassfilters kann die Stärke der Glättung gesteuert werden (siehe auch Logik-Modul Tiefpass).

Invertieren von Werten an Eingängen

In einer Logik-Zelle können Werte auch umgewandelt werden, indem sie invertiert werden. Dies erfolgt indem das kleine Kreissymbol beim entsprechenden Eingang angeklickt wird. Bei bool’schen Werten wird aus TRUE ein FALSE und umgekehrt, bei Integer bzw. Float-Werten wechselt das Vorzeichen.

normal (nicht invertiert)

invertiert

Nächster Schritt

Sie haben es fast geschafft! Wie wir im einleitenden Beispiel aufgezeigt haben, muss festgelegt werden, welches oder welche Ereignis/-se die Ausführung der Logik-Zelle auslösen. Dies erklären wir Ihnen im Detail auf der folgenden Seite.

2019 - 2023 by Elaborated Networks GmbH / Impressum / Datenschutzerklärung