AND_7_BOOL

image

Einleitung

Der Funktionsblock AND_7_BOOL ist ein generischer Baustein zur Berechnung der logischen UND-Verknüpfung. Er führt eine bitweise UND-Operation über sieben separate BOOL-Eingänge durch und gibt das Ergebnis auf einem einzigen BOOL-Ausgang aus. Der Block folgt dem ECC-Ausführungsmodell, bei dem eine Berechnung durch ein ankommendes Ereignis ausgelöst und mit einem ausgehenden Ereignis bestätigt wird.

AND_7_BOOL

Schnittstellenstruktur

Ereignis-Eingänge

  • REQ: Löst die Berechnung der UND-Verknüpfung aus. Beim Eintreffen dieses Ereignisses werden alle Daten-Eingänge (IN1 bis IN7) ausgelesen und verarbeitet.

Ereignis-Ausgänge

  • CNF: Bestätigt die abgeschlossene Ausführung. Dieses Ereignis wird nach der Berechnung generiert und liefert das Ergebnis OUT mit.

Daten-Eingänge

  • IN1: UND-Eingang 1 (BOOL)

  • IN2: UND-Eingang 2 (BOOL)

  • IN3: UND-Eingang 3 (BOOL)

  • IN4: UND-Eingang 4 (BOOL)

  • IN5: UND-Eingang 5 (BOOL)

  • IN6: UND-Eingang 6 (BOOL)

  • IN7: UND-Eingang 7 (BOOL)

Daten-Ausgänge

  • OUT: Ergebnis der UND-Verknüpfung (BOOL). Der Ausgang ist nur TRUE, wenn alle sieben Eingänge (IN1 bis IN7) den Wert TRUE haben. In allen anderen Fällen ist der Ausgang FALSE.

Adapter

Dieser Funktionsblock verfügt über keine Adapter-Schnittstellen.

Funktionsweise

Die Funktionsweise ist deterministisch und folgt der booleschen Algebra. Bei jedem Eintreffen des Ereignisses REQ wird die folgende Operation ausgeführt: OUT := IN1 AND IN2 AND IN3 AND IN4 AND IN5 AND IN6 AND IN7

Unmittelbar nach der Berechnung des Ergebnisses wird das Bestätigungsereignis CNF zusammen mit dem aktuellen Wert von OUT ausgegeben.

Technische Besonderheiten

  • Generischer Baustein: Der Block ist als generischer Baustein gekennzeichnet (GEN_AND). Dies bedeutet, dass er als Vorlage für die automatische Generierung ähnlicher Blöcke mit einer anderen Anzahl von Eingängen dienen kann.

  • Ereignisgesteuert: Die Operation wird nur bei Bedarf durch ein Ereignis ausgeführt, was Ressourcen schont und eine klare Ablaufsteuerung ermöglicht.

  • Feste Eingangsanzahl: Dieser spezifische Block hat eine feste Anzahl von sieben Eingängen. Für eine andere Anzahl von Operanden muss ein entsprechender Block (z.B. AND_2_BOOL, AND_4_BOOL) verwendet oder ein generischer Block instanziiert werden.

Zustandsübersicht

Der Block besitzt keinen internen Zustand im Sinne eines Speichers. Sein Verhalten ist rein kombinatorisch und ereignisgesteuert:

  1. Ruhezustand: Wartet auf das Ereignis REQ.

  2. Ausführungszustand: Bei REQ werden alle Eingänge gelesen, die UND-Operation berechnet und das Ergebnis OUT gesetzt.

  3. Bestätigungszustand: Das Ereignis CNF wird sofort gesendet, danach kehrt der Block in den Ruhezustand zurück.

Anwendungsszenarien

  • Sicherheitskette: Verknüpfung mehrerer Sicherheitsschalter (z.B. Not-Aus, Schutzgitter, Lichtschranke), wobei eine Maschine nur starten darf, wenn alle Schalter geschlossen (TRUE) sind.

  • Mehrfachbedingung: Prüfung, ob mehrere parallele Prozessschritte erfolgreich abgeschlossen wurden, bevor ein Folgeprozess gestartet wird.

  • Steuerungslogik: Implementierung von komplexen UND-Bedingungen in Ablaufsteuerungen oder Verknüpfungssteuerungen.

⚖️ Vergleich mit ähnlichen Bausteinen

  • AND_n_BOOL-Familie: Es existieren Blöcke mit identischer Funktion, aber unterschiedlicher Anzahl von Eingängen (z.B., AND_2_BOOL, AND_8_BOOL). AND_7_BOOL füllt die Lücke für Anwendungen, die genau sieben Bedingungen benötigen. Siehe: AND_7

  • & (Bit-AND) Operator: Während AND_7_BOOL nur mit BOOL-Datentypen arbeitet und ereignisgesteuert ist, kann der &-Operator in Structured Text (ST) auch auf Byte-, Wort- oder DWORD-Datentypen angewendet werden und wird zyklisch oder anweisungsgesteuert ausgewertet.

  • Serielle UND-Verknüpfung: Das gleiche Ergebnis könnte durch die serielle Verkettung mehrerer AND_2_BOOL-Blöcke erreicht werden. AND_7_BOOL bietet eine kompaktere und übersichtlichere Lösung.

Fazit

Der AND_7_BOOL ist ein spezialisierter, zuverlässiger und einfach zu verwendender Funktionsblock für die logische UND-Verknüpfung von sieben booleschen Signalen. Seine ereignisgesteuerte Architektur macht ihn ideal für die Integration in steuerungstypische Ablaufstrukturen innerhalb der 4diac-IDE. Für Anwendungen mit einer anderen Anzahl von Eingängen sollte auf die entsprechende Variante der AND_n_BOOL-Familie zurückgegriffen werden.