Anhalten, Abbrechen und Abkoppeln einzelner Logiken

Es bestehen verschiedene Möglichkeiten, das Verhalten einer Logik einzuschränken: Sie kann entweder gänzlich angehalten, ihre Datenübergabe kann über die Abbruchfunktion blockiert oder sie kann von der Außenwelt abgekoppelt werden.

Dieses Kapitel beschreibt die drei grundlegend verschiedenen Konzepte.

Inhalt dieser Seite

Aktivierungsfunktion: Starten und Anhalten von Logik-Zellen

Damit eine Logik-Zelle überhaupt ihren Ausführungsprozess aufnehmen kann, muss sie aktiviert (oder gestartet) sein.

Der Aktivierungsstatus einer Logik-Zelle kann nur in der GUI beeinflusst werden und zwar über die beiden nachfolgend dargestellten Buttons. Sie befinden sich in der unteren rechten (oder bei Mobilgeräte linken) Ecke der Logik-Zelle Der Aktivierungsstatus wird in der Logik-Zelle oben in der Mitte angezeigt:

 

Anhalten

Starten

 

Anhalten

Starten

Button

Anzeige

Über diese beiden Buttons lässt sich jede der angelegten Logik-Zellen unabhängig von allen anderen Logik-Zellen einzeln anhalten und starten. Nach dem Starten ist die Logik-Zelle unmittelbar scharf und reagiert auf an den Eingängen eintreffende Daten entsprechend dem gewählten Ausführungsverhalten des jeweiligen Einganges.

Abbruchfunktion: Eingriff in den Ausführungsprozess

In bestimmten Situationen soll die Ausführung einer Logik-Zelle abgebrochen werden, resp. die Logik-Zelle soll schon gar nicht ausgeführt werden. Erfolgt ein Abbruch, wird nichts mehr an die Ausgänge gesendet.

Die Abbruchfunktion gehört zum Ausführungsprozess einer Logik-Zelle.

In der GUI wird ein Abbruch erreicht, indem man einen Inhibit-Eingang hinzufügt (über einen Klick auf den Kreuz-Button).

 

Sobald auf diesem Eingang ein TRUE eintrifft, wird die Ausführung der Logik-Zelle unterbunden oder umgekehrt, alle Eingänge bleiben jedoch aktiv. Solange an allen Inhibit-Eingängen ein FALSE anliegt, ist die Logik aktiv und wird nach Trigger-Ereignissen ausgeführt.

ACHTUNG: Wenn an einem Inhibit-Eingang dauerhaft ein TRUE angelegt wird (bspw. über die Zuweisung eines entsprechenden Parameters), pausiert die Logik-Zelle auch dauerhaft. Sollte man dies wünschen wäre vermutlich die oben beschriebene Aktivierungsfunktion die geeignetere Wahl, weil dadurch die Inaktivität deutlich im Status der Logik-Zelle angezeigt wird.

Abkoppelungsfunktion: An- und Abkoppeln von Ein- und Ausgängen

Über ein “Abkoppeln” von Ein- bzw. Ausgängen kann ein verknüpftes Ein- oder Ausgangs-Objekt von der Logik-Zelle isoliert werden. Damit wird vorübergehend die Datenübernahme, resp. die Datenübermittlung für den abgekoppelten Ein- bzw. Ausgang gestoppt. Alle übrigen Prozessschritte des Ausführungsprozess einer Logik-Zelle bleiben dabei aktiv und werden durch das Abkoppeln nicht beeinflusst.

Damit kann beispielsweise das Verhalten der Logik-Zelle im Doktormodus getestet werden, ohne dass das berechnete Ergebnis wirklich auf das Zielobjekt geschrieben wird. Gleiches gilt für abgekoppelte Eingänge: In diesem Fall triggert ein tatsächlich eintreffender Wert die Ausführung der Logik-Zelle nicht und der empfangene Wert wird auch nicht in die Logik-Zelle übernommen.

Der Logik Manager ermöglicht es, jeden Ein- und Ausgang von jeder Logik-Zelle durch einen Klick auf das Stecker-Symbol vom Quell- oder Zielobjekt ab- oder anzukoppeln:

Gekoppelt:

 

Abgekoppelt:

Zum Wechseln der Zustände auf das Symbol klicken

Die Persistenz der Logik-Zelle muss aktiviert sein, damit das Abkoppeln nach einem Neustart des Logik-Subsystems erhalten bleibt. Andernfalls wird, beispielsweise nach einem Stromausfall oder Software-Update, der Objektwert wieder an die Logik-Zelle gesendet, was zu unerwartetem Verhalten führen kann.

Gegenüberstellung der drei Funktionen

Wie bereits oben erwähnt, wird der Ausführungsprozess einer Logik-Zelle nur dann durchgeführt, wenn die Logik-Zelle aktiviert ist. Dies wird im Status der Logik-Zelle angezeigt.
Es ist aber auch möglich eine Logik lediglich zu pausieren, indem ihre Ausführung durch Nutzung der Abbruchfunktion (Inhibit) nach einem Triggern stets abgebrochen wird.
Das Abkoppeln unterbindet die Datenübernahme und / oder Datenübermittlung einzelner Ein- und Ausgänge der Logik-Zelle, d.h. die Funktion betrifft ausschließlich die Schnittstelle der Logik zum TWS-Objektsystem.

Damit haben diese drei Funktionen wesentliche Unterschiede in Bezug auf ihren Umgang mit den Daten.

  • Eine angehaltene Logik ist nicht aktiv: Sie liest daher keine Daten an den Eingängen.

  • Einer (allenfalls auch dauerhaft) abgebrochene Logik ist aktiv, denn Ihre Eingänge bleiben weiterhin aktiv und lesen die eingehenden Daten mit. Wird der Abbruch irgendwann aufgehoben, kennt die Logik-Zelle den letzten Zustand aller Eingänge und arbeitet mit diesen.

  • Bei einer Abkoppelung von Eingängen erhält die Logik die dort eintreffenden Daten nicht. Bei einer Abkoppelung der Ausgänge wird das TWS-Objektsystem nicht mit den von der Logik berechneten Daten bedient. Die Logik-Zelle und alle anderen Ein- und Ausgänge sind aber weiterhin ohne Einschränkung aktiv.

Der Unterschied zeigt sich vor allem, wenn die Sperrfunktionen aufgehoben wird: Eine abgebrochene Logik wird nach ihrer Freischaltung mit den zwischenzeitlich aktualisierten Werten weiterarbeiten, während eine angehaltene Logik die zwischenzeitlich erfolgten Wertänderungen nicht kennt und deshalb mit den letzten ihr bekannten Werten an den Eingängen arbeiten muss. Bei einem Ankoppeln von Eingängen ist das Verhalten sehr ähnlich: die Logik arbeitet mit dem letzten ihr bekannten Wert an diesem Eingang weiter.

Nächster Schritt

Nun haben Sie vermutlich schon eine erste Ahnung, welches vielfältigen Möglichkeiten die Logikfunktion des Timberwolf Servers Ihnen bietet. Im nächsten Abschnitt zeigen wir Ihnen, wie Sie Logik-Zellen mit Werten versorgen.

2019 - 2024 by Elaborated Networks GmbH / Impressum / Datenschutzerklärung