BlockTelegrams (Telegramme blockieren)

Dieser Baustein gehört zum Paket „Administrative (Administrativ).“

Paket-Preis: 22,50€

Kurzbeschreibung

Dieser Baustein steuert, ob ein Eingangssignal weitergeleitet oder blockiert wird. Die Blockierung kann zeitlich gesteuert werden, z. B. um zu verhindern, dass Signale zu häufig gesendet werden. Dabei gibt es verschiedene Modi, mit denen festgelegt werden kann, wann und wie lange Signale blockiert werden. Zudem werden alle relevanten Ereignisse protokolliert. Eine Lizenzprüfung stellt sicher, dass die Funktion nur mit einer gültigen Lizenz genutzt werden kann.

Besonderheit

  • Signalblockierung: Die Funktion kann Signale für eine bestimmte Zeit blockieren, nachdem sie empfangen oder deaktiviert wurden.
  • Zeitverzögerung: Eine Verzögerung kann eingestellt werden, bevor ein Signal verarbeitet wird.
  • Lizenzprüfung: Der Code prüft, ob eine gültige Lizenz vorliegt, bevor er ausgeführt wird.
  • Protokollierung: Ereignisse werden in Logdateien gespeichert, um spätere Analysen zu ermöglichen.
  • Fehlertoleranz: Falls ein Fehler auftritt, wird dieser in das Log geschrieben, um eine Diagnose zu erleichtern.

Diese Funktion dient zur Steuerung von Signalen, indem sie vorübergehend blockiert oder mit einer Verzögerung weitergeleitet werden können. Dazu stehen verschiedene Eingänge zur Verfügung, die das Verhalten der Blockierung beeinflussen.

  • Ist die Aktivierung eingeschaltet, wird das Signal verarbeitet.
  • Die Option BlockSignalForTimeAfterInput verhindert, dass unmittelbar nach einem Eingangssignal ein weiteres weitergeleitet wird.
  • Mit BlockSignalForTimeAfterDeactivateInputForTime wird das Blockieren auch nach einer Deaktivierung für eine bestimmte Zeit aufrechterhalten.
  • DeactivateInputForTime verhindert die erneute Aktivierung des Eingangs für eine festgelegte Dauer.
  • Reset setzt alle Einstellungen zurück und erlaubt eine erneute Signalverarbeitung.
  • Über den Eingang Delay kann eine Verzögerung definiert werden, bevor ein Signal verarbeitet wird.

Die Lizenzprüfung stellt sicher, dass die Funktion nur mit einer gültigen Lizenz genutzt werden kann. Falls keine Lizenz vorhanden ist oder manipuliert wurde, wird die Signalverarbeitung unterbrochen.

Während der Laufzeit werden alle relevanten Ereignisse in Protokollen festgehalten, darunter aktivierte und blockierte Signale sowie Fehler, falls welche auftreten.

  • Activate (bool):
    Aktiviert oder deaktiviert die Funktion. Wenn deaktiviert, werden keine Signale verarbeitet.
  • BlockSignalForTimeAfterInput (bool):
    Verhindert die Signalweiterleitung für eine bestimmte Zeit nach einem Eingangssignal.
  • BlockSignalForTimeAfterDeactivateInputForTime (bool): 
    Blockiert Signale nach einer Deaktivierung für eine bestimmte Zeit.
  • DeactivateInputForTime (bool):
    Verhindert das erneute Aktivieren des Eingangs für eine bestimmte Zeit.
  • Input (any):
    Das Eingangssignal, das verarbeitet oder blockiert werden kann.
  • Reset (bool):
    Setzt die Blockierungsmechanismen zurück.
  • Delay (timespan):
    Gibt die Verzögerungszeit an, bevor ein Signal weitergeleitet wird (mindestens 1 Sekunde).
  • LicenseKey01 (string):
    Erster Teil des Lizenzschlüssels.
  • LicenseKey02 (string):
    Zweiter Teil des Lizenzschlüssels.
  • Output (any):
    Gibt das verarbeitete Eingangssignal aus, falls es nicht blockiert wurde.
  • Blocked (bool):
    Zeigt an, ob ein Signal aktuell blockiert ist.
  • Status (any):
    Gibt den aktuellen Status der Signalverarbeitung aus.
  • LogExecute (string):
    Protokolliert die Ausführung der Funktion.
  • LogSchedule (string):
    Protokolliert geplante Blockierungen.
  • LogLicense (string):
    Informationen zur Lizenz- und DLL-Integrität.

Beispiel 1 – Blockierung nach Eingangssignal für eine bestimmte Zeit:

Beschreibung: Ein Signal wird gesendet, aber nach dem ersten Empfang für eine gewisse Zeit blockiert.

  • Eingabe:
    • Activate: false --> true
    • BlockSignalForTimeAfterInput: true
    • Input: true
    • Delay: 10 Sekunden
  • Ausgabe:
    • Output: true 
    • Blocked: true

 

Nach 10 Sekunden wird wieder ein Eingangssignal zugelassen.

Beispiel 2 – Blockierung nach Deaktivierung für eine bestimmte Zeit:

Beschreibung: Nachdem die Funktion deaktiviert wurde, bleibt der Eingang für eine definierte Zeit blockiert.

  • Eingabe:
    • Activate: true
    • Input: true --> false
    • BlockSignalForTimeAfterDeactivateInputForTime: true
    • Delay: 5 Sekunden
  • Ausgabe:
    • Output: false
    • Blocked: true

Nach 5 Sekunden wird wieder ein Eingangssignal zugelassen.

Warum wird mein Eingangssignal nicht verarbeitet?
  • Überprüfen Sie, ob die Funktion aktiviert ist.
  • Prüfen Sie, ob eine Blockierung aktiv ist.
  • Falls eine Lizenz erforderlich ist, stellen Sie sicher, dass diese gültig ist.
Wie kann ich die Blockierung aufheben?
  • Setzen Sie die Funktion mit Reset zurück.
  • Warten Sie die definierte Verzögerungszeit ab.
  • Deaktivieren und aktivieren Sie die Funktion erneut.
  • 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!