Infotip |
---|
--R Robert --R Sven / ein Kommentar verbleibend bei Abschnitt “Negieren” |
Interne Datentypen des
TWSTimberwolf Server
Jede Datenübergabe in der Informatik setzt voraus, dass die Datentypen übereinstimmen. Der Das Objektsystem des TWS Timberwolf Servers (und damit auch die dessen Logikfunktion) arbeitet mit 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
Float: Vorzeichenbehaftete Fließkommazahl
String: Text
Konvertierungsfunktionen in der GUI
Bei der Datenübergabe an Eingängen
Bei Eingängen, denen intern eine Boolean-Variable zugewiesen ist
Beispiel: Das AND-Logik-Modul arbeitet mit Boolean-Daten. Soll es mit einem Wert vom Typ Float bedient werden, muss bei der Übergabe an die Logik eine Datenkonvertierung erfolgen.Für diesen Zweck kann man in der GUI einem Eingang die Funktion “Innerhalb Bereich” zuordnen. Diese Funktion
Konvertierungen bei der Datenübergabe an Eingängen
Automatische Konvertierung an Wert-Eingängen (Zahlen)
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.
Bei Eingängen, denen intern eine Integer-Variable zugewiesen ist
Soll eine Glättung der am Eingang übergebenen Werte vorgenommen werden, steht die “Tiefpass”-Funktion zur Verfügung; sie dient der Glättung der Eingangswerte über einen bestimmten Zeitraum hinweg. Die Funktionsweise der Tiefpassfunktion wird beim entsprechenden Logik-Modul beschrieben → Tiefpass (Logik-Modul).
Bei der Datenübergabe an Ausgängen
Bei AusgängenHinweis: 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 Boolschen Werten möglich. Mit der Zeitkonstante des Tiefpassfilters kann die Stärke der Glättung gesteuert werden (siehe auch Logik-Modul Tiefpass).
Konvertierung bei der Datenübergabe an Ausgängen
Auch bei den Ausgängen findet eine automatische Typkonvertierung für Gleitkomma- und Ganzzahlen statt. Zusätzlich stellt die GUI die Funktion “Mapping” zur Verfügung. Sie erlaubt es, Werte umzuwandeln. Dies kann beispielsweise sinnvoll sein, wenn ein AND-eine Logik-Modul Zelle mit der Kernfunktion AND ein Objekt bedienen soll, welches vom Typ Integer ist. So kann bspw. ein Dimmwert von 60% an eine Leuchte gesendet werden, wenn das Ergebnis der Logik-Zelle TRUE lautet.
In Custom-LogikenInvertieren von Werten an Ein- und Ausgängen
In Custom-Logiken kann die Datenkonvertierung direkt im Code erfolgen. Dafür stehen - abhängig vom Anwendungsfall - verschiedene Modulbausteine (bspw. “Latch” oder “Multiplexer”) zur Verfügung.einer Logik-Zelle können Werte auch umgewandelt werden, indem sie negiert werden. Dies erfolgt indem das kleine Kreissymbol beim entsprechenden Ein- oder Ausgang angeklickt wird. Bei bool’schen Werten wird aus TRUE ein FALSE und umgekehrt, bei Integer bzw. Float-Werten wechselt das Vorzeichen.
normal (nicht negiert) |
| negiert |