OR_2_BOOL
Einleitung
Der Funktionsblock OR_2_BOOL führt eine logische ODER-Verknüpfung (Disjunktion) auf zwei boolesche Eingangswerte aus. Es handelt sich um einen generischen Baustein, der gemäß der IEC 61131-3 Norm für Standard-Boolesche Funktionen klassifiziert ist. Der Block wartet auf eine Ausführungsanforderung, berechnet das Ergebnis und signalisiert dessen Verfügbarkeit.
Schnittstellenstruktur
Ereignis-Eingänge
REQ (Normal Execution Request): Dieses Ereignis löst die Ausführung des Funktionsblocks aus. Bei seinem Eintreffen werden die an den Daten-Eingängen
IN1undIN2anliegenden Werte gelesen und die ODER-Operation durchgeführt.
Ereignis-Ausgänge
CNF (Execution Confirmation): Dieses Ereignis wird nach Abschluss der Berechnung erzeugt. Es signalisiert, dass das Ergebnis an den Daten-Ausgang
OUTausgegeben wurde und gültig ist.
Daten-Eingänge
IN1 (BOOL): Erster Operand für die ODER-Operation.
IN2 (BOOL): Zweiter Operand für die ODER-Operation.
Daten-Ausgänge
OUT (BOOL): Ergebnis der logischen ODER-Verknüpfung von
IN1undIN2. Der Ausgangswert istTRUE, wenn mindestens einer der beiden EingängeTRUEist. Andernfalls ist erFALSE.
Adapter
Dieser Funktionsblock verfügt über keine Adapterschnittstellen.
Funktionsweise
Die Funktionsweise ist ereignisgesteuert und folgt einem einfachen Anforderungs-Bestätigungs-Zyklus:
Das Eintreffen des Ereignisses
REQstartet die Ausführung.Die aktuellen Werte der Daten-Eingänge
IN1undIN2werden abgefragt.Die logische ODER-Verknüpfung
OUT := IN1 OR IN2wird berechnet.Das Ergebnis wird an den Daten-Ausgang
OUTgelegt.Das Ereignis
CNFwird erzeugt, um den Abschluss der Operation anzuzeigen.
Die Wahrheitstabelle der Operation lautet:
IN1 |
IN2 |
OUT (IN1 OR IN2) |
|---|---|---|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Technische Besonderheiten
Generischer Baustein: Der Block ist als generischer Baustein (
GEN_OR) gekennzeichnet, was bedeutet, dass er als Basis für die Ableitung ähnlicher Bausteine mit anderen Datentypen dienen kann.Einfache Laufzeit: Die Ausführungszeit ist konstant und sehr kurz, da es sich um eine einfache logische Operation handelt.
Kein interner Zustand: Der Block ist zustandslos (kombinatorisch). Das Ergebnis hängt ausschließlich von den aktuellen Eingangswerten zum Zeitpunkt der
REQ-Anforderung ab.
Zustandsübersicht
Der Funktionsblock besitzt keinen persistenten internen Zustand. Sein Verhalten ist rein kombinatorisch und wird vollständig durch die Schnittstellenereignisse und -daten beschrieben.
Anwendungsszenarien
Logische Verknüpfungen in Steuerungslogik: Kombination von zwei Bedingungen, bei der eine Aktion ausgeführt werden soll, wenn mindestens eine der Bedingungen erfüllt ist (z.B. „Motor starten, wenn Taster gedrückt ODER Fernbedienungssignal empfangen wird“).
Fehleraggregation: Zusammenfassung mehrerer Fehlersignale zu einem gemeinsamen Fehlerstatus. Liegt mindestens ein Fehler vor (
TRUE), wird der Gesamtfehlerstatus aktiviert.Freigabelogik: Erzeugen einer Freigabe, wenn eine von mehreren möglichen Quellen aktiv ist.
Grundbaustein in komplexeren logischen Schaltungen: Als Teil von UND-ODER-Verknüpfungen (SOP - Sum of Products) zur Realisierung von Schaltfunktionen.
⚖️ Vergleich mit ähnlichen Bausteinen
AND_2_BOOL: Führt eine logische UND-Verknüpfung durch. Das Ergebnis ist nur dann
TRUE, wenn beide EingängeTRUEsind.XOR_2_BOOL: Führt eine exklusive ODER-Verknüpfung (Antivalenz) durch. Das Ergebnis ist
TRUE, wenn genau ein EingangTRUEist.NOT_BOOL: Führt eine logische NICHT-Verknüpfung (Negation) auf einem einzelnen Eingang durch.
OR_n_BOOL: Ein generischer ODER-Baustein, der eine variable Anzahl von Eingängen (n) verknüpfen kann, während
OR_2_BOOLgenau zwei feste Eingänge besitzt. Siehe: OR_2
🛠️ Zugehörige Übungen
Fazit
Der OR_2_BOOL ist ein fundamentaler, zuverlässiger und einfach zu verwendender Funktionsblock zur Realisierung der grundlegenden logischen ODER-Funktion in 4diac-IDE Applikationen. Seine ereignisgesteuerte, zustandslose Architektur macht ihn vorhersehbar und gut in den Datenfluss von IEC 61499-Systemen integrierbar. Er ist ein unverzichtbarer Baustein für die Implementierung von Steuerungslogik und Bedingungsauswertungen.