ASSEMBLE_BYTE_FROM_BOOLS
Einleitung
Der Funktionsblock ASSEMBLE_BYTE_FROM_BOOLS kombiniert 8 boolesche Eingangswerte zu einem Byte. Jeder boolesche Eingang repräsentiert dabei ein Bit des resultierenden Bytes. Dieser Baustein ist besonders nützlich, wenn einzelne boolesche Signale zu einem kompakten Byte-Wert zusammengefasst werden müssen.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Startet die Verarbeitung der booleschen Eingänge und erzeugt das resultierende Byte.
Ereignis-Ausgänge
CNF: Signalisiert die erfolgreiche Zusammenfassung der booleschen Werte zu einem Byte.
Daten-Eingänge
BIT_00bisBIT_07: Acht boolesche Eingänge, die jeweils einem Bit des resultierenden Bytes entsprechen.
Daten-Ausgänge
BYTE: Das zusammengesetzte Byte, das aus den 8 booleschen Eingängen generiert wird.
Adapter
Keine Adapter vorhanden.
Funktionsweise
Der Funktionsblock setzt die 8 booleschen Eingänge (BIT_00 bis BIT_07) zu einem Byte zusammen. Jeder boolesche Wert wird auf das entsprechende Bit des Bytes abgebildet:
BIT_00entspricht Bit 0 (LSB)BIT_01entspricht Bit 1…
BIT_07entspricht Bit 7 (MSB)
Bei Auslösung des Ereignisses REQ werden die aktuellen Werte der booleschen Eingänge gelesen und zu einem Byte kombiniert. Das Ergebnis wird am Datenausgang ausgegeben und das Ereignis CNF signalisiert die erfolgreiche Verarbeitung.
Technische Besonderheiten
Der Funktionsblock ist in ST (Structured Text) implementiert.
Die Bit-Zuordnung erfolgt direkt über die Zuweisung der booleschen Werte zu den entsprechenden Bits des Bytes.
Zustandsübersicht
Idle-Zustand: Wartet auf das
REQ-Ereignis.Verarbeitungszustand: Liest die booleschen Eingänge und setzt das Byte zusammen.
Bestätigungszustand: Gibt das resultierende Byte aus und signalisiert
CNF.
Anwendungsszenarien
Zusammenfassen von 8 einzelnen Schalterstellungen zu einem Byte für die Kommunikation mit anderen Systemen.
Komprimierung von booleschen Statusinformationen für effizientere Datenübertragung.
Verwendung in Steuerungssystemen, wo mehrere boolesche Signale als ein Byte verarbeitet werden müssen.
⚖️ Vergleich mit ähnlichen Bausteinen
Im Vergleich zu manuellen Bit-Operationen in ST oder anderen Sprachen bietet dieser Baustein eine vordefinierte und wartungsfreundliche Lösung.
Ähnliche Bausteine könnten weniger Eingänge haben oder zusätzliche Features wie invertierte Logik bieten, was hier nicht der Fall ist.
🛠️ Zugehörige Übungen
Fazit
Der ASSEMBLE_BYTE_FROM_BOOLS-Funktionsblock ist eine einfache und effiziente Lösung, um 8 boolesche Werte zu einem Byte zu kombinieren. Durch seine klare Schnittstelle und direkte Implementierung eignet er sich ideal für Anwendungen, bei denen boolesche Signale kompakt verarbeitet werden müssen.