Interne Datentypen des Timberwolf Server
Jede Datenübergabe in der Informatik setzt voraus, dass die Datentypen übereinstimmen. Der 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
Float: Vorzeichenbehaftete Fließkommazahl
String: Text
Automatische Konvertierungen
Bei der Datenübergabe an Eingängen
Boolsche Eingängen
Beispiel: Das AND-Logik-Modul ist eine boolesche Logik und kann nur boolesche Datentypen am Eingang des Logikkerns verarbeiten. Wird am Eingang einer solchen Logik-Zelle ein Objekt vom Typ Float verknüpft. dann muss der Wert des Objektes für die Nutzung des Logikkern zuvor konvertiert werden.
Für diesen Zweck kann im Logik Manager - vor dem Logikkern einer Logik-Zelle - eine frei einstellbare Konvertierung erfolgen. Eine Möglichkeit ist dabei die Nutzung der Funktion “Innerhalb Bereich”. Diese Funktion prüft, ob der Eingangswert im konfigurierten Bereich liegt und gibt ein boolesches Ergebnis gemäß nachfolgender Wahrheitstabelle aus.
Wahrheitstabelle
Ergebnis der Überprüfung | Ausgabewert der Funktion |
---|---|
Wert innerhalb des angegebenen Bereiches | 1 (TRUE) |
Wert nicht innerhalb des angegebenen Bereiches | 0 (FALSE) |
Wert-Eingänge (Zahlen)
Bei Zahlen greift im Timberwolfserver eine automatische Typ-Knovertierung. 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 DOS und auch beim Tooltip des Eingangsobjekt erfolgt in diesem Fall ein Hinweis (gelbes Ausrufezeichen).
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-Logik-Modul 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 TRUE lautet.
In Custom-Logiken
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.