Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Infotip

--R Robert

--R Sven / ein Kommentar verbleibend bei Abschnitt “Negieren”

Inhalt dieser Seite

Status
colourGreen
titleEinsteiger
Status
colourYellow
titleFortgeschrittene
Status
colourRed
titleExperten

Inhalt

Interne Datentypen des

TWS

Timberwolf 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

Zustand
  • 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ängen
  • 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 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-Logiken

Invertieren 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.

Image Added

normal (nicht negiert)

 

Image Added

negiert