Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen View Version History

« Vorherige Version anzeigen Version 34 Nächste Version anzeigen »

Inhalt dieser Seite

Einführung

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

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

Die Logik verwendet die drei KNX-Objekte K-1186, K-1187 und K-1187 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 somit auf den ersten Blick aus drei Elementen:

  • Eingang resp. Auslöser (wird auf der linken Seite dargestellt): im Beispiel die drei KNX-Objekte, welche die drei Türzustände (offen/geschlossen) repräsentieren und an die drei Variablen “Input 1”, “Input 2” und “Input 3” übergeben werden; jede Wertänderung an einem dieser Eingänge löst die Abarbeitung der Logik aus

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

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

Dieses Grundwissen reicht grundsätzlich aus, um erste Logiken anzulegen. Zusätzliche Informationen zu diesen Themen finden sich unter →Kernfunktion einer Logik, →Eingänge, →Ausgänge und →Triggerfunktion.

In einem nächsten Schritt sollte sich der Anwender mit der Frage auseinandersetzen, in welchen Schritten die Bearbeitung einer Logik intern abläuft, damit er versteht, wie er allenfalls auf den →Bearbeitungsprozess Einfluss nehmen kann.

Wichtigster Merkpunkt für das Verständnis des Bearbeitungsprozesses ist die Erkenntnis, dass eine Logik (nur) abgearbeitet wird, wenn sie ausgelöst wird. Sie benötigt somit einen Trigger. Im obigen Beispiel “triggert” jede Wertänderung, nicht aber das wiederholte Senden eines gleichen Wertes, an einem der drei Eingänge die Logik; dies genügt in vielen Anwendungsfällen.

Zweiter wichtiger Merkpunkt in diesem Zusammenhang ist, dass die Berechnung der Logik und alle daran anschliessen Bearbeitungsschritte über einen auf TRUE gestellten Inhibit-Eingang, resp. genauer über die dadurch ausgelöste →Abbruchfunktion gestoppt werden können.

Wer sich später vertiefter mit der Logikfunktion des TWS auseinandersetzen wird, wird rasch erkennen, dass der Logikeditor als Erweiterung der beiden Hauptelemente Eingang und Ausgang zusätzliche Funktionen, resp. Einstellungsmöglichkeiten zur Verfügung stellt. Diese werden unter →Weitere (optionale) Funktionen der Ein- und Ausgänge vorgestellt.

Kernfunktion einer Logik

Beim Anlegen einer Logik 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.

Verwendung eines Logik-Modul

Aktuell stehen ü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. Auf diese Weise erhält bspw. bereits ein einfaches “AND”-Logik-Modul ein äusserst breites und umfassendes Einsatzfeld. Dies wird unter https://wiregate.atlassian.net/wiki/spaces/TSKB/pages/397803554/Die+Verwendung+der+Bausteine+am+Beispiel+des+AND-Moduls) anhand von Beispielen dargestellt.

Weitere Umsetzungsbeispiele finden sich unter Mit Logik-Modulen gelöste Aufgabenstellungen (Beispiele).

Erstellung einer Custom-Logik / Verwendung einer zur Verfügung gestellten Custom-Logik

Reicht die Funktionalität der Logik-Module nicht aus, erstellt sich der Anwender eine Custom-Logik; diese setzt sich aus Modulbausteinen, welche ähnliche Funktionen aufweisen wie die Logik-Module, zusammen.
Zudem werden aus der Community Fertige Custom-Logiken (Beispiele) zur Verfügung gestellt.

Eingänge und Eingangstypen

Eingänge übergeben Werte an die Logik und/oder beinflusst sie in Ihrem Verhalten.

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

  • Wertübergabe-Eingänge (häufig als “Input” bezeichnet): Sie übergeben der Logik 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 gesperrt werden, näheres dazu unten unter →Sperrfunktion)

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

Eingänge haben für die Abarbeitung einer Logik eine Reihe von optionalen Funktionen:

  • 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 beeinlfussen (→Startfunktion),

  • sie können als fester Wert vorgegeben werden ohn dabei mit einem Objekt verknüpft zu sein (→Parameterfunktion),

  • sie können einen übergebenen Objektwert vor der Bearbeitung in der Logik logisch negieren (→Negationsfunktion),

  • sie können einen übergebenen Objektwert umwandeln (→Konvertierungsfunktion über “Innerhalb Bereich”),

  • sie können einen übergebenen Objektwert mit einer Vorgabe vergleichen (→Vergleichsfunktionen mit Schwellwert),

Ausgänge

Ausgänge übergeben grundsätzlich Werte an Objekte des Objektsystems (→Wertübergabefunktion) und eine Logik muss mindestens einen Ausgang haben.

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

Ausgänge haben folgende (teilweise optionale) Funktionen:

  • über sie ist definiert, bei welchem Ereignis die Ausgabewerte an Objekte des Objektsystems übergeben werden(→Sendefunktion),

  • es kann gewählt werden ob diese Übergabe unmittelbar oder verzögert erfolgt (→Verzögerungsfunktion)

  • ein Ausgangswert kann vor der Übergabe an Objekte des Objektsystems logisch negiert werden (→Negationsfunktion),

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

Weitere (optionale) Funktionen der Ein- und Ausgänge

Die GUI des Logikeditors stellt bei den Ein- und Ausgängen verschiedene Optionen zur Verfügung. Diese Optionen stellen - funktional betrachtet - Erweiterung der Kernfunktion des jeweils gewählten Logik-Moduls um weitere Funktionen dar. Oder mit Worten ausgedrückt. Jede dieser Optionen fügt der betreffende Logik - neben ihrer Kernfunktion - eine zusätzliche Funktion hinzu; damit wird das Programmieren einfach gemacht oder - wieder mit anderen Worten - es können mehrere prozedurale Funktionen miteinander kombiniert werden- ohne dass eine Custom-Logik erstellt werden muss.
Die Leistungsbreite dieses Konzepts wird unter https://wiregate.atlassian.net/wiki/spaces/TSKB/pages/397803554/Die+Verwendung+vom+Logik-Modulen+am+Beispiel+des+AND-Modulsvorgestellt.

  • →Wertübergabefunktion

  • →Konvertierungsfunktion

  • →Negationsfunktion

  • →Vergleichsfunktion

  • →Startfunktion

  • →Sendefunktion

  • →Verzögerungsfunktion

  • Keine Stichwörter