ASSEMBLE_WORD_FROM_BOOLS

ASSEMBLE_WORD_FROM_BOOLS


Einleitung

Der Funktionsblock ASSEMBLE_WORD_FROM_BOOLS kombiniert 16 boolesche Eingangswerte zu einem einzigen WORD-Ausgangswert. Jeder boolesche Eingang repräsentiert dabei ein einzelnes Bit im resultierenden WORD.

Schnittstellenstruktur

Ereignis-Eingänge

  • REQ: Startet die Verarbeitung und übernimmt alle aktuellen Werte der booleschen Eingänge.

Ereignis-Ausgänge

  • CNF: Signalisiert die erfolgreiche Zusammenführung der booleschen Werte zu einem WORD.

Daten-Eingänge

16 boolesche Eingänge (BIT_00 bis BIT_15), die jeweils einem Bit im resultierenden WORD entsprechen:

  • BIT_00 bis BIT_15 (BOOL): Einzelne Bits für das zusammenzusetzende WORD

Daten-Ausgänge

  • (Unbenannt) (WORD): Das resultierende WORD, das aus den 16 booleschen Eingängen zusammengesetzt wurde.

Adapter

Keine Adapter vorhanden.

Funktionsweise

Bei Auslösung des REQ-Ereignisses werden alle 16 booleschen Eingangswerte gelesen und zu einem 16-Bit-WORD kombiniert. Dabei entspricht:

  • BIT_00 dem Bit 0 (LSB)

  • BIT_15 dem Bit 15 (MSB)

Die Zuweisung erfolgt direkt über Bitoperationen, wobei jeder boolesche Eingangswert auf das entsprechende Bit im WORD abgebildet wird.

Technische Besonderheiten

  • Die Bitreihenfolge ist fest vorgegeben (BIT_00 = LSB, BIT_15 = MSB)

  • Der Block führt keine zusätzlichen Berechnungen oder Transformationen durch

  • Die Operation ist atomar und erfolgt in einem Schritt

Zustandsübersicht

  1. Idle: Wartet auf REQ-Ereignis

  2. Processing: Verarbeitet die Eingänge und setzt das WORD zusammen

  3. Output: Sendet CNF mit dem resultierenden WORD

Anwendungsszenarien

  • Zusammenführen von einzelnen Schaltzuständen zu einem kompakten Datenwort

  • Vorbereitung von Daten für die Kommunikation mit Geräten, die WORD-Daten erwarten

  • Bitweise Steuerung von Hardware-Registern

⚖️ Vergleich mit ähnlichen Bausteinen

  • Im Gegensatz zu allgemeinen Kombinationsblöcken ist dieser FB speziell auf die Konvertierung von BOOL zu WORD optimiert

  • Bietet eine direktere und effizientere Lösung als die Verwendung mehrerer Einzelblöcke

  • Ähnlich zu BIT_TO_* Blöcken, aber mit fester 16-Bit-WORD-Ausgabe

Fazit

Der ASSEMBLE_WORD_FROM_BOOLS Funktionsblock bietet eine effiziente und direkte Methode, um 16 boolesche Signale in ein einzelnes WORD zu konvertieren. Seine einfache und deterministische Funktionsweise macht ihn besonders geeignet für Anwendungen, bei denen einzelne Bits zu kompakten Datenwörtern zusammengefasst werden müssen.