AL_TO_ALR¶
Einleitung¶
Der Funktionsblock AL_TO_ALR ist ein zusammengesetzter Baustein (Composite FB), der einen unidirektionalen AL‑Adapter (LWORD) in einen unidirektionalen ALR‑Adapter (LREAL) umwandelt. Er nutzt intern den Konvertierungsbaustein F_LWORD_TO_LREAL, um einen eingehenden LWORD‑Wert (64‑Bit‑Integer) in einen LREAL‑Wert (64‑Bit‑Gleitkommazahl) zu wandeln und diesen über den Ausgangsadapter bereitzustellen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
Der FB besitzt keine direkten Ereignis-Eingänge. Das für die Auslösung der Konvertierung erforderliche Ereignis wird über den Socket AL_IN (Typ AL) bereitgestellt. Dieses Ereignis (E1) wird intern mit dem REQ-Eingang des Konvertierungsbausteins verbunden.
Ereignis-Ausgänge¶
Der FB besitzt keine direkten Ereignis-Ausgänge. Das Abschlussereignis der Konvertierung wird über den Plug ALR_OUT (Typ ALR) ausgegeben. Das Ereignis (E1) des internen Bausteins (CNF) wird an den Ausgangsadapter weitergeleitet.
Daten-Eingänge¶
Der FB besitzt keine direkten Daten-Eingänge. Der zu konvertierende LWORD‑Wert wird über den Socket AL_IN (Daten-Signal D1) bereitgestellt und an den IN-Eingang des Konvertierungsbausteins übergeben.
Daten-Ausgänge¶
Der FB besitzt keine direkten Daten-Ausgänge. Der konvertierte LREAL‑Wert wird über den Plug ALR_OUT (Daten-Signal D1) ausgegeben; er stammt vom OUT-Ausgang des internen Bausteins.
Adapter¶
| Adapter | Richtung | Typ | Beschreibung |
|---|---|---|---|
| AL_IN | Socket (Eingang) | adapter::types::unidirectional::AL |
LWORD‑Adapter, der das Eingangssignal (LWORD) und ein Auslöseereignis bereitstellt. |
| ALR_OUT | Plug (Ausgang) | adapter::types::unidirectional::ALR |
LREAL‑Adapter, der das konvertierte Signal (LREAL) und ein Bestätigungsereignis ausgibt. |
Funktionsweise¶
Der Baustein arbeitet in einem einfachen ereignisgesteuerten Ablauf:
- Ein eingehendes Ereignis am Socket AL_IN.E1 wird an den
REQ-Eingang des internen FunktionsblocksF_LWORD_TO_LREALweitergeleitet. - Gleichzeitig wird der Datenwert von AL_IN.D1 (LWORD) an den
IN-Eingang des Konverters übergeben. - Der interne FB führt die Umwandlung
LWORD → LREALdurch. - Nach Abschluss der Konvertierung wird das Ereignis
CNFan den Plug ALR_OUT.E1 gesendet. - Der konvertierte LREAL‑Wert wird auf ALR_OUT.D1 ausgegeben.
Die gesamte Verarbeitung erfolgt innerhalb eines Taktzyklus (keine Blockierung).
Technische Besonderheiten¶
- Adapter‑basierte Schnittstelle: Der FB nutzt ausschließlich unidirektionale Adapter (
ALundALR). Dies ermöglicht eine lose Kopplung zwischen Sender und Empfänger sowie eine einfache Wiederverwendung in verschiedenen Systemarchitekturen. - Typkonvertierung: Die Umwandlung von
LWORD(64‑Bit‑Integer ohne Vorzeichen) inLREAL(64‑Bit‑Gleitkommazahl nach IEEE 754) erfolgt ohne Genauigkeitsverluste, solange der Integerwert im darstellbaren Bereich der Gleitkommazahl liegt (max. 2⁵³‑1). - Durchgereichte Ereignissteuerung: Der Baustein führt keine interne Zustandslogik aus; er leitet Ereignisse und Daten transparent weiter. Die Laufzeit des Aufrufs entspricht der Ausführungszeit des internen Konverters.
Zustandsübersicht¶
Der zusammengesetzte Baustein selbst besitzt keine eigenen Zustände. Die Verarbeitung wird vollständig durch den intern verwendeten Funktionsblock F_LWORD_TO_LREAL gesteuert, der folgendes minimales Zustandsverhalten aufweist:
- IDLE: Warten auf ein
REQ-Ereignis. - CONVERT: Ausführen der Konvertierung (unmittelbar nach
REQ). - SEND: Ausgeben des
CNF-Ereignisses und des konvertierten Werts.
Da der innere FB in einem einzigen Ausführungsschritt arbeitet, sind die Zustände nicht von außen beobachtbar.
Anwendungsszenarien¶
- Sensordatenverarbeitung: Ein Sensor liefert Messwerte im LWORD‑Format (z. B. Zählerstände, Rohdaten). Der Baustein wandelt diese in LREAL um, sodass sie in Gleitkomma‑Algorithmen (z. B. Regelung, Filterung) verwendet werden können.
- Protokoll‑Konvertierung: In Systemen, die unterschiedliche Datenformate über Adapter austauschen, dient
AL_TO_ALRals Brücke zwischen LWORD‑ und LREAL‑basierten Komponenten. - Test und Simulation: Erzeugung von LREAL‑Testdaten aus vordefinierten LWORD‑Werten oder umgekehrt (durch entsprechende Gegenbausteine).
Vergleich mit ähnlichen Bausteinen¶
LWORD_TO_LREAL– Ein einfacher Konvertierungsbaustein ohne Adapter‑Schnittstelle.AL_TO_ALRkapselt diesen Baustein und integriert ihn in eine adapterbasierte Architektur.LINT_TO_LREAL– Konvertiert signed 64‑Bit‑Integer in LREAL.AL_TO_ALRarbeitet mit dem vorzeichenlosen LWORD.UDINT_TO_LREAL– Analog für 32‑Bit‑Breite. Der vorliegende Baustein ist auf 64‑Bit ausgelegt und nutzt unidirektionale Adapter.
Fazit¶
AL_TO_ALR ist ein spezialisierter Composite‑Baustein zur formalen Umwandlung von LWORD‑ in LREAL‑Daten über unidirektionale Adapter. Er vereinfacht die Integration von Integer‑basierten Komponenten in Gleitkomma‑Umgebungen und fördert durch die Adapter‑Schnittstelle eine modulare, wiederverwendbare Systemstruktur. Die einfache ereignisgesteuerte Arbeitsweise macht ihn zuverlässig und leicht verständlich.