OR_9_BOOL
Einleitung
Der Funktionsblock OR_9_BOOL ist ein standardisierter Baustein gemäß IEC 61131-3 zur Berechnung der logischen ODER-Verknüpfung. Er führt die ODER-Operation über neun separate boolesche Eingänge aus. Der Block folgt dem ereignisgesteuerten Ausführungsmodell der 4diac-IDE: Die Berechnung wird durch ein eingehendes Ereignis ausgelöst, und das Ergebnis wird zusammen mit einem Bestätigungsereignis ausgegeben.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Löst die Ausführung des Funktionsblocks aus. Bei Eintreffen dieses Ereignisses werden alle neun Eingangswerte (
IN1bisIN9) gelesen und die ODER-Operation berechnet.
Ereignis-Ausgänge
CNF: Dieses Ereignis wird nach Abschluss der Berechnung erzeugt. Es signalisiert, dass das Ergebnis am Datenausgang
OUTgültig und verfügbar ist.
Daten-Eingänge
IN1 (BOOL): ODER-Eingang 1.
IN2 (BOOL): ODER-Eingang 2.
IN3 (BOOL): ODER-Eingang 3.
IN4 (BOOL): ODER-Eingang 4.
IN5 (BOOL): ODER-Eingang 5.
IN6 (BOOL): ODER-Eingang 6.
IN7 (BOOL): ODER-Eingang 7.
IN8 (BOOL): ODER-Eingang 8.
IN9 (BOOL): ODER-Eingang 9.
Daten-Ausgänge
OUT (BOOL): Ergebnis der logischen ODER-Verknüpfung aller neun Eingänge. Der Ausgang ist
TRUE(1), wenn mindestens einer der EingängeTRUEist. Er ist nurFALSE(0), wenn alle neun EingängeFALSEsind.
Adapter
Dieser Funktionsblock verfügt über keine Adapterschnittstellen.
Funktionsweise
Der OR_9_BOOL-Block arbeitet nach folgendem Algorithmus:
Auslösung: Das eingehende Ereignis
REQaktiviert den Block.Eingabesammlung: Die aktuellen Werte aller neun booleschen Eingänge (
IN1bisIN9) werden eingelesen.Berechnung: Die logische ODER-Funktion wird auf die Eingangswerte angewendet. Die Operation kann als
OUT = IN1 OR IN2 OR IN3 OR IN4 OR IN5 OR IN6 OR IN7 OR IN8 OR IN9beschrieben werden.Ausgabe: Das berechnete Ergebnis wird am Datenausgang
OUTgesetzt.Bestätigung: Unmittelbar nach dem Setzen des Ausgangs wird das Bestätigungsereignis
CNFerzeugt, um nachgelagerte Blöcke über die Verfügbarkeit des neuen Ergebnisses zu informieren.
Technische Besonderheiten
Generischer Funktionsblock: Der Block ist als generischer Baustein implementiert (Attribut
eclipse4diac::core::GenericClassNameist auf'GEN_OR'gesetzt). Dies bedeutet, dass er als Basis für die Ableitung ähnlicher ODER-Blöcke mit einer anderen Anzahl von Eingängen dienen kann.Standardkonformität: Er ist explizit als standardisierte boolesche Funktion nach IEC 61131-3 klassifiziert.
Deterministisches Verhalten: Die Ausführungszeit ist konstant und vorhersehbar, da es sich um eine einfache logische Operation handelt.
Zustandsübersicht
Der Block besitzt keinen internen Zustand oder Speicher. Sein Verhalten ist rein kombinatorisch und ausschließlich von den aktuellen Eingangswerten zum Zeitpunkt des REQ-Ereignisses abhängig. Vorherige Berechnungen haben keinen Einfluss auf das aktuelle Ergebnis.
Anwendungsszenarien
Überwachungslogik: Kombination mehrerer Fehler- oder Statusmeldungen (z.B. von neun Sensoren), wobei bereits eine einzige Meldung (
TRUE) zu einer Gesamtalarmmeldung (OUT = TRUE) führt.Freigabelogik: In Sicherheitsschaltungen, wo eine von mehreren möglichen Freigabebedingungen ausreicht, um einen Prozessschritt zu starten.
Vereinfachung von Verknüpfungsnetzen: Ersetzt mehrere hintereinandergeschaltete Zwei-Eingangs-ODER-Gatter, was die Übersichtlichkeit in einem Funktionsbaustein-Diagramm (FBD) erhöht.
⚖️ Vergleich mit ähnlichen Bausteinen
OR_2_BOOL,OR_4_BOOLetc.: Diese Blöcke bieten die gleiche ODER-Funktionalität, jedoch für eine geringere Anzahl von Eingängen (2, 4, …).OR_9_BOOList für Anwendungen mit speziell neun zu verknüpfenden Signalen optimiert. Siehe: OR_9AND_9_BOOL: Führt die logische UND-Verknüpfung durch. Das Ergebnis ist nurTRUE, wenn alle EingängeTRUEsind, im Gegensatz zum ODER, wo mindestens ein EingangTRUEsein muss.XOR_9_BOOL: Berechnet das exklusive ODER (Antivalenz). Das Ergebnis istTRUE, wenn eine ungerade Anzahl an EingängenTRUEist.
Fazit
Der OR_9_BOOL ist ein robuster und einfach zu verwendender Standardbaustein für die logische ODER-Verknüpfung von neun booleschen Signalen. Seine ereignisgesteuerte, zustandslose Architektur macht ihn zu einem zuverlässigen und effizienten Bestandteil für Steuerungs- und Überwachungslogik in 4diac-basierten Automatisierungssystemen. Die Verwendung dieses spezialisierten Blocks anstelle einer Kaskade von Grundgattern verbessert die Lesbarkeit und Wartbarkeit des Applikationscodes.