ASSEMBLE_BYTE_FROM_BOOLS

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_00 bis BIT_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_00 entspricht Bit 0 (LSB)

  • BIT_01 entspricht Bit 1

  • BIT_07 entspricht 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

  1. Idle-Zustand: Wartet auf das REQ-Ereignis.

  2. Verarbeitungszustand: Liest die booleschen Eingänge und setzt das Byte zusammen.

  3. 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.