SequenceBool (Reihenfolgenschalter)

Dieser Baustein gehört zum Paket „System monitoring (Systemüberwachung).“

Paket-Preis: 14,50€

Kurzbeschreibung

Diese Funktion überwacht eine festgelegte Abfolge von digitalen Signalen (z. B. Schalter oder Taster) und erkennt, ob diese in der korrekten Reihenfolge aktiviert werden. Wird die vollständige Abfolge korrekt eingehalten, wird ein Ausgabesignal auf „Ein“ gesetzt. Es besteht außerdem die Möglichkeit, die Abfolge bei einem Fehler automatisch zurückzusetzen oder eine zeitgesteuerte Rücksetzung zu aktivieren. Diese Logik ist besonders geeignet für Szenarien, in denen eine bestimmte Reihenfolge zur Aktivierung notwendig ist – etwa bei Sicherheitsfreigaben oder Zugangskontrollen.

Besonderheit

  • Funktionale Flexibilität:

    • Die Anzahl der zu überwachenden Eingänge kann flexibel zwischen 2 und 10 eingestellt werden.

    • Es ist wählbar, ob nur „true“-Signale berücksichtigt werden sollen.

    • Die Rücksetzlogik ist sowohl manuell als auch zeitgesteuert aktivierbar.

  • Fehlerbehandlung:

    • Eine automatische Fehlerprotokollierung findet statt.

    • Bei Problemen mit dem Ablauf oder Zeitsteuerung wird ein interner Fehlertext im Protokoll ausgegeben.

  • Grenzen und Validierungen:

    • Die Eingänge müssen mindestens 2 und maximal 10 betragen.

    • Die minimale Reset-Zeit beträgt 1 Sekunde.

Diese Funktion wird verwendet, um eine bestimmte Reihenfolge von digitalen Eingaben zu überprüfen. Der Nutzer kann festlegen, wie viele Eingänge insgesamt beachtet werden sollen. Die Funktion beobachtet anschließend diese Eingänge und überprüft, ob sie nacheinander – also in der vorgegebenen Reihenfolge – aktiviert werden.

Sobald alle Eingänge in der korrekten Reihenfolge aktiviert wurden, wird das Ausgabesignal eingeschaltet. Optional kann die Funktion auch so eingestellt werden, dass bei einer falschen Reihenfolge automatisch ein Reset ausgelöst wird.

Zusätzlich besteht die Möglichkeit, eine automatische Rücksetzung nach einer einstellbaren Zeitspanne zu aktivieren. Das ist z. B. hilfreich, wenn man sicherstellen möchte, dass das System nach einer gewissen Zeit wieder in den Ausgangszustand versetzt wird.

Die Funktion enthält ein Protokoll für Ablauf und Fehlerbehandlung. Bei jeder Aktivierung wird dokumentiert, welcher Eingang betätigt wurde. Wenn eine Aktivierung nicht der erwarteten Reihenfolge entspricht, kann ein sofortiger Abbruch und Reset erfolgen.

Diese Funktion ist somit vielseitig einsetzbar – sei es zur Steuerung von Maschinen, zur Zutrittskontrolle oder zur Realisierung komplexer Bedienfolgen.

  • Activate (bool):
    Startet die Überprüfung der Eingangsreihenfolge. Muss aktiviert sein, damit die Funktion arbeitet.
  • ActivateResetWithTime (bool):
    Aktiviert die automatische Rücksetzung nach Ablauf einer bestimmten Zeit.
  • OnlyActOnTrue (bool): 
    Bestimmt, ob nur „EIN“-Signale (also „true“) berücksichtigt werden. Wenn deaktiviert, wird jede Änderung registriert.
  • ResetIfWrongSequence (bool):
    Wenn aktiviert, wird bei einer falschen Reihenfolge sofort zurückgesetzt.
  • SetFalseToOutputIfReset (bool):
    Wenn aktiviert, wird das Ausgabesignal beim Zurücksetzen.
  • NumberOfInputs (int):
    Gibt an, wie viele Eingänge insgesamt in der Reihenfolge überwacht werden. (Min: 2 | Max: 10)
  • Inputs (list<bool>):
    Die eigentlichen Eingänge, die überwacht werden. Die Reihenfolge in der Liste bestimmt die erwartete Abfolge.
  • Reset (bool):
    Löst manuell einen Reset aus – unabhängig von der Reihenfolge.
  • ResetTime (timespan):
    Gibt an, wie lange gewartet werden soll, bis nach einer erfolgreichen Aktivierung ein automatischer Reset erfolgt. (Min: 1)
  • Output (bool):
    Wird „EIN“, wenn alle Eingänge in der richtigen Reihenfolge aktiviert wurden. Bleibt „EIN“ bis zum Reset (manuell oder automatisch).
  • LogExecute (string):
    Protokoll über den Ablauf bei der Aktivierung der Eingänge, inkl. Fehlern oder Abbrüchen.
  • LogSchedule (string):
    Protokoll über geplante Rücksetzungen, inklusive verbleibender Zeit bis zum nächsten Reset.

Beispiel 1 – Person läuft an zwei Bewegungsmeldern vorbei:

Ein Flur ist mit zwei Bewegungsmeldern ausgestattet – einer am Eingang und einer am Ende. Es soll erkannt werden, wenn eine Person den Flur von Anfang bis Ende durchläuft. Die Reihenfolge ist entscheidend:
Zuerst muss der erste Bewegungsmelder (am Eingang) aktiviert werden, danach der zweite (am Ende). Nur dann wird das Ausgangssignal aktiviert, z. B. um das Licht einzuschalten oder eine Zählung auszulösen.

  • Eingabe:
    • Activate: true
    • NumberOfInputs: 2
    • Input[0]: Bewegungsmelder am Eingang des Flurs
    • Input[1]: Bewegungsmelder am Ende des Flurs
    • OnlyActOnTrue: true
    • ResetIfWrongSequence: true
    • SetFalseToOutputIfReset: true
    • ActivateResetWithTime: true
    • ActivateResetWithTime: 5
  • Ausgabe:
    • Output: Wird auf true gesetzt, sobald zuerst Bewegungsmelder 1 und danach Bewegungsmelder 2 ausgelöst wird.

 

Nutzen in der Praxis

  • Richtungsabhängige Bewegungserkennung:
    Es wird nur erkannt, wenn die Bewegung von Eingang → Ausgang erfolgt. Rückwärtsgehen (zuerst Ausgang, dann Eingang) löst kein Signal aus.

  • Zählung oder Lichtsteuerung:
    Kann verwendet werden, um Personen zu zählen oder das Licht nur dann einzuschalten, wenn eine Person vollständig den Flur betritt.

  • Vermeidung von Fehlauslösungen:
    Durch die Reset-Funktion bei falscher Reihenfolge wird verhindert, dass z. B. herumlaufende Tiere oder Luftbewegungen am zweiten Bewegungsmelder unbeabsichtigt eine Aktion auslösen.

Beispiel 2 – Zugangskontrolle mit Tastenfolge:

Eine Tür soll nur geöffnet werden, wenn drei Taster in der Reihenfolge A → B → C gedrückt werden.

  • Eingabe:
    • Activate: true
    • NumberOfInputs: 3
    • Inputs: Taster A, B, C
    • OnlyActOnTrue: true
    • ResetIfWrongSequence: true
    • SetFalseToOutputIfReset: true
  • Ausgabe:
    • Output: Wird auf true gesetzt, wenn A → B → C gedrückt wird.
Was passiert, wenn ein falscher Taster gedrückt wird?

Wenn die Option „ResetIfWrongSequence“ aktiviert ist, wird der gesamte Ablauf sofort abgebrochen und zurückgesetzt.

Kann ich mehr als 10 Eingänge verwenden?

Nein, die Anzahl ist auf maximal 10 Eingänge beschränkt.

Bleibt das Ausgabesignal für immer auf "EIN"?

Nur wenn keine automatische Rücksetzung aktiviert ist. Mit „ActivateResetWithTime“ und „ResetTime“ kann die Rücksetzzeit festgelegt werden.

  • Version 3.0.10
    • First Release

Baustein-Support

Wenn Sie X1-Logik-Baustein-Support benötigen, senden Sie uns bitte zusätzlich den Log (LogExecute und LogSchedule, welcher als Ausgang des Bausteins ausgegeben wird) und eine detaillierte Beschreibung des Problems zu!