ALR_TO_AUDI¶
Einleitung¶
Der Funktionsblock ALR_TO_AUDI ist ein zusammengesetzter Baustein (Composite FB), der einen ALR-Adapter (LREAL) in einen AUDI-Adapter (UDINT) umwandelt. Er dient als Schnittstelle zwischen einer analogen LREAL-Quelle und einer digitalen UDINT-Senke in unidirektionalen Kommunikationspfaden.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
ALR_IN.E1– Ereigniseingang des ALR-Adapters; löst die Konvertierung aus.
Ereignis-Ausgänge¶
AUDI_OUT.E1– Ereignisausgang des AUDI-Adapters; signalisiert die Fertigstellung der Konvertierung.
Daten-Eingänge¶
ALR_IN.D1– LREAL-Eingangswert, der in einen UDINT-Wert umgewandelt wird.
Daten-Ausgänge¶
AUDI_OUT.D1– UDINT-Ausgangswert, Ergebnis der Konvertierung.
Adapter¶
- Socket
ALR_INvom Typadapter::types::unidirectional::ALR– Eingangsschnittstelle für LREAL-Werte mit Ereignis. - Plug
AUDI_OUTvom Typadapter::types::unidirectional::AUDI– Ausgangsschnittstelle für UDINT-Werte mit Ereignis.
Funktionsweise¶
Der Baustein nutzt intern den Konvertierungs-FB iec61131::conversion::F_LREAL_TO_UDINT. Der Ablauf ist wie folgt:
- Ein Ereignis auf
ALR_IN.E1wird an den EingangREQdes internen Konverters weitergeleitet. - Gleichzeitig wird der Datenwert von
ALR_IN.D1an den EingangINdes Konverters übergeben. - Nach erfolgreicher Wandlung sendet der Konverter ein Bestätigungsereignis (
CNF) anAUDI_OUT.E1. - Der konvertierte UDINT-Wert steht am Ausgang
OUTdes Konverters und wird anAUDI_OUT.D1weitergegeben.
Somit erfolgt die Umwandlung streng ereignisgesteuert und datensynchron.
Technische Besonderheiten¶
- Adapterbasierte Kapselung – Daten und Ereignisse werden über standardisierte Adapter vom Typ
unidirectionalausgetauscht, was eine saubere Trennung von Schnittstellen und Implementierung ermöglicht. - Unidirektionale Kommunikation – Der Baustein unterstützt nur eine Datenflussrichtung (LREAL → UDINT). Rückmeldungen oder Fehlerstatus sind nicht vorgesehen.
- Typumwandlung – Die Konvertierung von LREAL (64-Bit-Gleitkomma) nach UDINT (32-Bit-Ganzzahl ohne Vorzeichen) kann zu Rundungs- oder Überlaufverlusten führen, wird aber gemäß IEC 61131-Standard durchgeführt.
Zustandsübersicht¶
Der ALR_TO_AUDI besitzt keine eigene interne Zustandsmaschine. Sein Verhalten wird vollständig durch den enthaltenen Funktionsblock F_LREAL_TO_UDINT bestimmt, der als einfache, ereignisgesteuerte Wandlungsinstanz arbeitet.
Anwendungsszenarien¶
- Analog-Digital-Wandlung in der Agrarsteuerung – Umwandlung von LREAL-Sensorwerten (z. B. Druck, Füllstand) in ganzzahlige UDINT-Werte für Anzeigen oder digitale Regelkreise.
- Schnittstellenanpassung – Verbindung von Komponenten, die auf unterschiedliche Adapter-Typen setzen (z. B. ALR aus einem Messmodul und AUDI in einer Steuerung).
- Protokollumsetzung – Einfache Konvertierung innerhalb von Adapterketten, ohne eigene Logik implementieren zu müssen.
Vergleich mit ähnlichen Bausteinen¶
- LREAL_TO_DINT – Wandelt in einen vorzeichenbehafteten 32-Bit-Integer. ALR_TO_AUDI nutzt dagegen die vorzeichenlose Variante UDINT.
- REAL_TO_UDINT – Arbeitet mit 32-Bit-Gleitkomma statt 64-Bit-LREAL, entsprechend geringere Genauigkeit.
- LREAL_TO_LWORD – Konvertiert in einen 64-Bit-Integer, jedoch mit anderem Adapter-Typ (LWORD statt UDINT).
Der ALR_TO_AUDI ist speziell auf die unidirektionale Adapter-Kopplung mit den genannten Typen ausgelegt.
Fazit¶
Der ALR_TO_AUDI ist ein spezialisierter, aber dennoch einfacher Baustein zur Konvertierung von LREAL- in UDINT-Werte über Adapterschnittstellen. Dank seiner klaren Struktur und der Nutzung eines standardisierten IEC-Konverters lässt er sich leicht in bestehende 4diac-Projekte integrieren und trägt zur Interoperabilität unterschiedlicher Adapter-Typen bei.