Zum Inhalt

ILOCK_SWITCH

ILOCK_SWITCH


Einleitung

Der Funktionsbaustein ILOCK_SWITCH dient als prioritätsgesteuerte Weiche mit Verriegelungsfunktion. Er wertet zwei Ereignissignale (EI_UP und EI_DOWN) in Kombination mit zugehörigen booleschen Datenwerten aus und setzt die Ausgänge DO_UP und DO_DOWN entsprechend. Dabei wird stets der zuletzt aktive Eingang priorisiert – eine gleichzeitige Aktivierung beider Ausgänge ist ausgeschlossen. Die Logik verhindert Oszillationen und sorgt für einen definierten Zustand auch bei ungültigen oder widersprüchlichen Eingangsbelegungen.

Schnittstellenstruktur

Ereignis-Eingänge

Ereignis mit Daten Beschreibung
EI_UP DI_UP Ereignis zur Anforderung der Aufwärts‑/Vorwärts‑Richtung.
EI_DOWN DI_DOWN Ereignis zur Anforderung der Abwärts‑/Rückwärts‑Richtung.

Ereignis-Ausgänge

Ereignis mit Daten Beschreibung
EO_UP DO_UP Wird bei Aktivierung der Aufwärts‑Richtung oder beim Verlassen des UP‑Zustands getriggert.
EO_DOWN DO_DOWN Wird bei Aktivierung der Abwärts‑Richtung oder beim Verlassen des DOWN‑Zustands getriggert.

Daten-Eingänge

Name Typ Kommentar
DI_UP BOOL TRUE = vorwärts, aufwärts, rechts, im Uhrzeigersinn
DI_DOWN BOOL TRUE = rückwärts, abwärts, links, gegen Uhrzeigersinn

Daten-Ausgänge

Name Typ Kommentar
DO_UP BOOL TRUE = vorwärts, aufwärts, rechts, im Uhrzeigersinn
DO_DOWN BOOL TRUE = rückwärts, abwärts, links, gegen Uhrzeigersinn

Adapter

Keine.

Funktionsweise

Der Baustein realisiert einen endlichen Automaten mit sechs Zuständen. Die grundlegende Idee: Der zuletzt eingetroffene gültige Befehl setzt den Ausgangszustand. Dabei wird ein Befehl nur dann als gültig betrachtet, wenn der zugehörige boolesche Datenwert TRUE ist.

  • STOP (Ruhezustand): Beide Ausgänge sind FALSE.
  • UP: DO_UP = TRUE, DO_DOWN = FALSE.
    Wird erreicht, wenn im STOP‑Zustand EI_UP mit DI_UP = TRUE eintritt.
  • DOWN: DO_UP = FALSE, DO_DOWN = TRUE.
    Wird erreicht, wenn im STOP‑Zustand EI_DOWN mit DI_DOWN = TRUE eintritt.
  • UP_STOP: Zwischenzustand, der eingenommen wird, wenn während des UP‑Zustands ein EI_UP eintritt, aber DI_UP = FALSE (und auch DI_DOWN = FALSE).
    In UP_STOP werden beide Ausgänge auf FALSE gesetzt und anschließend sofort nach STOP zurückgegangen.
  • DOWN_STOP: Analog zu UP_STOP für den DOWN‑Zustand bei EI_DOWN mit DI_DOWN = FALSE.
  • Direkte Umschaltungen sind möglich:
    Von UPDOWN, wenn EI_DOWN mit DI_DOWN = TRUE eintrifft oder EI_UP mit DI_UP = FALSE und DI_DOWN = TRUE (implizite Anforderung der Gegenrichtung).
    Von DOWNUP analog.

Durch diese Logik wird sichergestellt, dass stets nur eine Richtung aktiv ist und bei ungültigen Signalen (FALSE-Werte) der Baustein sauber in den Ruhezustand zurückfällt.

Technische Besonderheiten

  • Verriegelung durch Zustandsautomaten: Keine Möglichkeit, beide Ausgänge gleichzeitig auf TRUE zu setzen – selbst bei zeitgleichen Ereignissen wird sequenziell geschaltet.
  • Zwischenzustände (UP_STOP, DOWN_STOP): Diese vermeiden unerwünschtes Flackern der Ausgänge, indem sie bei ungültigen Signalen sofort die Ausgänge zurücksetzen und nach STOP übergehen.
  • Implizite Umschaltung: Ein Ereignis, dessen Datenwert die Gegenrichtung anfordert (z. B. EI_UP mit DI_UP=FALSE und DI_DOWN=TRUE), bewirkt direkt den Richtungswechsel, ohne dass ein separates EI_DOWN‑Ereignis nötig ist.

Zustandsübersicht

Zustand DO_UP DO_DOWN Erreicht durch
STOP FALSE FALSE Start / nach UP_STOP und DOWN_STOP
UP TRUE FALSE EI_UP mit DI_UP=TRUE aus STOP oder DOWN
DOWN FALSE TRUE EI_DOWN mit DI_DOWN=TRUE aus STOP oder UP
UP_STOP FALSE FALSE EI_UP mit DI_UP=FALSE und DI_DOWN=FALSE im Zustand UP
DOWN_STOP FALSE FALSE EI_DOWN mit DI_DOWN=FALSE und DI_UP=FALSE im Zustand DOWN

Die Übergänge zwischen den Zuständen erfolgen immer über ein eingehendes Ereignis und die Auswertung der aktuellen Datenwerte.

Anwendungsszenarien

  • Motorsteuerung für Lineartriebe, Schwenkarme oder Hubvorrichtungen, bei denen eine gleichzeitige Bewegung in beide Richtungen mechanisch oder sicherheitstechnisch ausgeschlossen werden muss.
  • Verriegelung von Ventilantrieben (Öffnen / Schließen) mit Rückmeldung über Endschalter.
  • Bedienschnittstellen mit Tastern für „Auf“ und „Ab“, wobei der letzte Tastendruck Vorrang hat und eine dauerhafte Blockade vermieden wird.

Vergleich mit ähnlichen Bausteinen

  • Ein einfaches AND- / OR-Gatter kann keine Verriegelung realisieren und würde bei gleichzeitigen TRUE-Signalen beide Ausgänge aktivieren.
  • Ein RS‑Flipflop speichert einen Zustand, erlaubt aber unter Umständen beide Setz‑/Rücksetz-Eingänge gleichzeitig (metastabil). ILOCK_SWITCH vermeidet dies durch die starre Übergangslogik.
  • Ein Mux würde nur einen Datenwert durchschalten, kann aber keine ereignisgesteuerte Priorisierung mit Zwischenzuständen abbilden. ILOCK_SWITCH bietet eine speziell für Antriebsverriegelungen optimierte Lösung.

Fazit

Der ILOCK_SWITCH ist ein robuster, ereignisgesteuerter Funktionsbaustein zur verriegelten Richtungsansteuerung. Durch die Kombination von Zustandsautomat, Datenabhängigkeit und expliziten Zwischenzuständen werden typische Probleme wie gleichzeitige Aktivierung beider Ausgänge oder Oszillationen zuverlässig ausgeschlossen. Er eignet sich besonders für sicherheitskritische Steuerungen in der Automatisierungstechnik, bei denen eine eindeutige und rücksetzbare Vorranglogik gefordert ist.