Versionen im Vergleich

Schlüssel

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

Inhalt dieser Seite

Inhalt
minLevel1
maxLevel1

Einführung

Als Beispiel diene folgende einfache Aufgabenstellung: Es soll auf eine KNX-Adresse Gruppenadresse TRUE gesendet werden, sobald mindestens eine von drei Türen geöffnet wird.

Für diese Logik-Zelle kann eine ein OR-Logik-Logikmodul Modul verwendet werden. Dieses wird im Logikeditor , es gibt TRUE aus, sobald an einem seiner Eingänge TRUE anliegt. Die fertig erstellte Logik-Zelle wird im Logik Manager wie folgt dargestellt:

...

Die Logik-Zelle verwendet die drei KNX-Objekte K-1186, K-1187 und K-1187 1188 als Eingänge, verarbeitet die dort erhaltenen Informationen in der Form einer ODER-Verknüpfung und gibt das Resultat an das KNX-Objekt K-1196 weiter.

Für den Anwender besteht eine Logik-Zelle somit auf den ersten Blick aus drei Elementen:

  • Eingang resp. Auslöser (wird auf der linken Seite dargestellt): hier im Beispiel die drei KNX-Objekte der , welche die drei Türzustände (offen/geschlossen) repräsentieren. Durch das C (Change) hinter den Eingängen ist definiert, dass jede Wertänderung an einem dieser Eingänge die Ausführung der Logik-Zelle auslöst.

  • Kernfunktion (ist bei bei einem Logikmodul Logik-Modul fest vorgegeben oder wird bei einer Custom-Logik individuell vom Anwender codiert): hier Im Beispiel die logische ODER-Verknüpfung

  • Ausgang (wird auf der rechten Seite dargestellt): hier im Beispiel das KNX-Objekt für den , an das der gesammelte Türzustand (offen/geschlossen) übergeben wird

Info

Der wichtigste Merkpunkt für das Verständnis Logikfunktion ist, dass eine Logik-Zelle (nur) abgearbeitet wird, wenn sie ausgelöst wurde.

...

Sie benötigt somit einen Trigger. Im obigen Beispiel “triggert” jede Wertänderung an einem der drei Eingänge die Ausführung der Logik-Zelle, nicht aber zwingend das wiederholte Senden eines gleichen Wertes. Dies ist in vielen Anwendungsfällen gewünscht und ist daher die Standardeinstellung von Eingängen.

Dieses Grundwissen reicht aus, um einfache Logiken anzulegen.
Wer sich aber etwas erste Logik-Zellen anzulegen. Zusätzliche Informationen zu diesen Themen finden sich in den Detailkapiteln dieser Dokumentation.

Als Nächstes sollte sich der Anwender damit vertraut machen, in welchen Schritten die Ausführung einer Logik-Zelle intern abläuft, damit er versteht, wie er auf den Ausführungsprozess Einfluss nehmen kann.

Wer sich später vertiefter mit der Logikfunktion des TWS auseinandersetztauseinandersetzen wird, erkennt wird rasch erkennen, dass der Logikeditor innerhalb dieser drei Hauptelemente eine Vielzahl von weiteren Funktionen, resp. Einstellungsmöglichkeiten verfügtder Logik Manager als Erweiterung der beiden Hauptelemente “Eingang” und “Ausgang” zusätzliche Funktionen als Einstellungsmöglichkeiten zur Verfügung stellt. Diese werden weiter unten näher beschrieben.

Kernfunktion einer Logik-Zelle

Beim Anlegen einer Logik-Zelle muss sich der Anwender entscheiden, ob er entweder eines der auf dem TWS fix installierten Logik-Module verwenden will, oder ob er eine eigene Custom-Logik codieren will.Es stehen aktuell über 45 Logik-Module zur Verfügung; sie werden unter Eingebaute Logik-Module vorgestellt. Weil sie mit den Zusatzfunktionen der Ein- und Ausgänge kombiniert werden können, geht ihr Funktionsumfang wesentlich weiter, als dies im ersten Moment aufgrund der blossen Funktionsbeschreibung zu erahnen wäre

Verwendung eines Logik-Modul

Die Liste der verfügbaren Logik-Module finden Sie hier: Logik-Module

Bei vielen Logik Modulen kann die Anzahl der Eingänge konfiguriert werden, zudem stehen Funktionen am Eingang und Ausgang (Timer, Konvertierer, Mapper usw.) zur Verfügung. Damit ist der tatsächliche Funktionsumfang größer, als dies beim erstmaligen Lesen der Beschreibung der “Kernfunktionen” erscheinen mag. Zudem erlauben die Einstellungen der Trigger sehr feine Einstellungen, wann eine Logikzelle gerechnet wird. Auf diese Weise erhält bspw. bereits ein einfaches “AND”-Logik-Modul ein äusserst äußerst breites und umfassendes Einsatzfeld (Näheres dazu unter https://wiregate.atlassian.net/wiki/spaces/TSKB/pages/397803554/Die+Verwendung+der+Bausteine+am+Beispiel+des+AND-Moduls). Unter Mit Logik-Modulen gelöste Aufgabenstellungen (Beispiele) finden sich weitere mit Logik-Modulen umgesetzte Lösungsbeispiele..

Durch die Verknüpfung von einzelnen Logik-Zellen über den Verknüpfungsassistenten können auch komplexere Logiken abgebildet werden. Zur Erhaltung der Übersicht sollten die Logiken geeignet benannt bzw. TAGs verwendet werden.

Verwendung einer Custom-Logik

Reicht die Funktionalität der Logik-Module nicht aus , erstellt sich der Anwender eine Custom-Logik; diese beruht auf Modulbausteinen, welche ähnliche Funktionen aufweisen wie die Logik-Module.
Zudem werden Fertige bzw. müssen sehr viele Logik-Module kombiniert werden, so empfiehlt sich die Verwendung einer Custom-Logik. Diese setzt sich aus mehreren Modulbausteinen zusammen, welche den Kernfunktionen der Logik-Module entsprechen.

Die Community stellt fertige Custom-Logiken (Beispiele) zur Verfügung gestellt. Diese können sehr einfach importiert und für den eigenen Anwendungszweck leicht angepasst werden.

Eingänge und Eingangstypen

Die Eingänge haben für die Abarbeitung einer Logik folgende Funktionen:

...

sie übergeben Werte an die Logik (Wertübergabefunktion), wobei diese Werte

  • entweder von einem Objekt des Objektsystems stammen,

  • oder als Parameter für die konkrete Logik (im Sinne von Konstanten) vorgegeben sind;

...

sie lösen die Abarbeitung der Logikzelle aus (Triggerfunktion), resp.

...

übergeben Werte an die Logik-Zelle und / oder beeinflusst sie in Ihrem Verhalten.

Eine Logik-Zelle kann zwischen 0 und einer beliebigen Zahl von Eingängen verfügen; dabei wird in den eingebauten Logik-Modulen grundsätzlich zwischen drei Typen von Eingängen unterschieden:

  • Wertübergabe-Eingänge (häufig als “Input” bezeichnet): Sie übergeben der Logik-Zelle zu verarbeitenden Werte und Ihre Bedeutung ist abhängig von der Logikfunktion

  • Sperr-Eingänge (“Inhibit”): Über ein TRUE auf diesem Eingang kann die Ausführung der Logik-Zelle gesperrt werden, näheres dazu unten unter Sperrfunktion)

  • Trigger-Eingänge (“Trigger): Sie definieren weitere Elemente, die dieser Logik-Zelle als Trigger dienen; näheres dazu unten unter Triggerfunktion.

Eingänge haben für die Ausführung einer Logik-Zelle eine Reihe von optionalen Aufgaben,

  • sie können den Wert eines Objektes des Objektsystems an die Logik übergeben (Wertübergabefunktion)

  • sie können die Abarbeitung der Logikzelle auslösen (Triggerfunktion),

  • sie können das Startverhalten der Logik beeinflussen (Startfunktion),

  • sie können einen von einem Objekt des Objektsystems stammenden Wert umwandeln (Konvertierungsfunktion über “Innerhalb Bereichals fester Wert vorgegeben werden ohne dabei mit einem Objekt verknüpft zu sein (Parameterfunktion),

  • sie können einen von einem Objekt des Objektsystems stammenden Wert Vergleichen (Vergleichsfunktion)

Es gibt drei Arten von Eingängen:

  • Input (Wertübergabe-Eingänge)

  • Inhibit (Sperr-Eingänge)

  • Trigger (Trigger-Eingänge)

Ausgänge

Die Ausgänge haben für die Abarbeitung einer Logik folgende Funktionen:

  • sie übergeben übergebenen Objektwert vor der Bearbeitung in der Logik invertieren (Invertierungsfunktion),

  • sie können einen übergebenen Objektwert umwandeln (Konvertierungsfunktionz.B. “Innerhalb Bereich”, “Schwellwert”, “Glättung mittels Tiefpass”).

Ausgänge

Ausgänge übergeben grundsätzlich Werte an Objekte des Objektsystems (Wertübergabefunktion)

...

sie bestimmen,

. Eine Logik-Zelle muss mindestens einen Ausgang haben.

Der Anwender kann dabei ein- und demselben Ausgang bei Bedarf auch mit mehrerer Objekten des Objektsystems verknüpfen. Je nach Kernfunktion der Logik-Zelle stehen u. U. auch mehrere Ausgänge mit unterschiedlichen Ausgabewerten oder Verhalten zur Verfügung.

Ausgänge haben folgende (teilweise optionale) Aufgaben:

  • über diese ist definiert, bei welchem Ereignis die Ausgabewerte an

    das Objekt

    Objekte des Objektsystems übergeben werden

    soll

    (Sendefunktion),

    und

  • ob diese Übergabe

    es kann gewählt werden ob Zustandswechsel (binär) unmittelbar oder verzögert

    erfolgen soll

    übergeben werden (Umschalt-Verzögerungsfunktion)

  • sie können einen von einem Objekt des Objektsystems stammenden Wert umwandeln ein Ausgangswert kann vor der Übergabe an Objekte des Objektsystems invertiert werden (Invertierungsfunktion),

  • ein Ausgangswert kann vor der Übergabe an Objekte des Objektsystems umgewandelt werden (Konvertierungsfunktionüber “Mapping”),

  • sie können einen von einem Objekt des Objektsystems stammenden Wert Vergleichen (Vergleichsfunktion)

Es gibt drei Arten von Eingängen:

  • Input (Wertübergabe-Eingänge)

  • Inhibit (Sperr-Eingänge)

  • Trigger (Trigger-Eingänge)

Triggerfunktion

Die technisch wichtigste Funktion der Eingänge ist die Triggerfunktion. Eine Logik wird nämlich nur ausgeführt, wenn sie dazu von einem Trigger aufgefordert wird.

Als Trigger können dienen

  • ein Wertübergabeeingang (Input), sofern seine Triggerfunktion auf A (always) oder C (on Change) gesetzt ist; siehe dazu

  • ein spezieller Triggereingang, der abhängig von einem äusseren Ereignis die Logik triggert; als solche Trigger dienen können entweder ein Zeitintervall (bspw. alle 30 Sekunden) , ein Zeitpunkt (bspw. 08:25 Uhr) oder ein “Data Value” --------- Was ist das ---------;

  • ein Trigger, welcher innerhalb einer Custom Logik (bspw. über den Logikbaustein "Clocksignal") codiert wurde.

Triggerfunktionen über einen Input (Wertübergabeeingang)

CRON-Syntax:

┌───────────── Sekunde (0 - 59)
│ ┌───────────── Minute (0 - 59)
│ │ ┌───────────── Stunde (0 - 23)
│ │ │ ┌───────────── Tag des Monats (1 - 31)
│ │ │ │ ┌───────────── Monat (1 - 12)
│ │ │ │ │ ┌───────────── Wochentag (0 - 6)
│ │ │ │ │ │

*  *  *  *  * *

...

  • .

Verknüpfung der Ein- und Ausgänge mit einem Objekt

Nach dem Anlegen der Logik-Zelle, und sogar noch vor dem Speichern dieser, können bereits die Ein- und Ausgänge mit Objekten des Objektsystems verknüpft werden. Durch das Anklicken eines Ein- oder Ausganges öffnet sich der Verknüpfungsassistent, mit dem passende Objekt ausgewählt und zugeordnet werden können.

Die Suche erfolgt dynamisch nach Wahl des Quell- bzw. Zielsystems (KNX, 1-Wire, andere Logikfunktionen, Zeitserien, MQTT, HTTP-/REST-API, ekey etc.). Durch Auswahl eines Objektes in den Suchergebnissen und Bestätigung wird das Objekt nach anschließendem Betätigen von [Speichern und anwenden] verknüpft.

Diese Verknüpfung ist sofort wirksam, es bedarf keiner Übertragung uns keines Neustarts des Servers.

...

Info

Beim Speichern einer Logik-Zelle wird automatisch für jeden Ein- und Ausgang ein Logik-Objekt angelegt, welches direkt als Eingang in weiteren Logik-Zellen verwendet werden kann. Um einen Ausgangswert an eine andere Logik-Zelle weiter zu geben, ist es also nicht erforderlich, selber ein Objekt anzulegen und / oder für die Informationsübertragung einen Umweg über ein KNX-Objekt zu nehmen. Sie können direkt Ausgänge von Logikzellen mit Eingängen von Logikzellen verknüpfen.

Nächster Schritt

Als nächstes sollte sich der Anwender damit vertraut machen, in welchen Schritten die Ausführung einer Logik-Zelle intern abläuft, damit er versteht, wie er auf den Ausführungsprozess Einfluss nehmen kann.