ALR_TO_ALI¶
Einleitung¶
Der Funktionsbaustein ALR_TO_ALI ist ein Composite-Baustein, der eine Adapter-Konvertierung von ALR (LREAL) nach ALI (LINT) realisiert. Er ermöglicht die einfache und strukturierte Integration einer LREAL-basierten Adapter-Schnittstelle in eine LINT-basierte Umgebung, ohne dass die Konvertierungslogik selbst implementiert werden muss. Der Baustein ist für den Einsatz in IEC 61499 basierten Industriesteuerungen konzipiert und nutzt den internen Funktionbaustein F_LREAL_TO_LINT nach IEC 61131-3.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
Der FB besitzt keine expliziten Ereignis-Eingänge. Das auslösende Ereignis wird über den eingehenden Adapter ALR_IN (Typ adapter::types::unidirectional::ALR) bereitgestellt:
- ALR_IN.E1 – Eingangsereignis, das die Konvertierung startet.
Ereignis-Ausgänge¶
Der FB besitzt keine expliziten Ereignis-Ausgänge. Das Bestätigungsereignis wird über den ausgehenden Adapter ALI_OUT (Typ adapter::types::unidirectional::ALI) bereitgestellt:
- ALI_OUT.E1 – Ausgangsereignis, das die Fertigstellung der Konvertierung signalisiert.
Daten-Eingänge¶
Der FB besitzt keinen expliziten Daten-Eingang. Der Eingangswert wird über den Adapter ALR_IN zur Verfügung gestellt:
- ALR_IN.D1 – Wert vom Typ LREAL, der in LINT konvertiert werden soll.
Daten-Ausgänge¶
Der FB besitzt keinen expliziten Daten-Ausgang. Das Ergebnis wird über den Adapter ALI_OUT ausgegeben:
- ALI_OUT.D1 – konvertierter Wert vom Typ LINT.
Adapter¶
| Richtung | Name | Typ | Beschreibung |
|---|---|---|---|
| Socket (Eingang) | ALR_IN | adapter::types::unidirectional::ALR |
Unidirektionaler Adapter für LREAL-Daten und Ereignisse. Enthält Ereignis-Port E1 und Daten-Port D1 (LREAL). |
| Plug (Ausgang) | ALI_OUT | adapter::types::unidirectional::ALI |
Unidirektionaler Adapter für LINT-Daten und Ereignisse. Enthält Ereignis-Port E1 und Daten-Port D1 (LINT). |
Funktionsweise¶
Der FB arbeitet als reiner „Wrapper“ für die Typkonvertierung von LREAL nach LINT. Das Ablaufdiagramm ist wie folgt:
- Ein Ereignis (E1) auf dem Eingangsadapter ALR_IN triggert den internen Baustein Convert (Typ
iec61131::conversion::F_LREAL_TO_LINT). - Der Datenwert von ALR_IN.D1 (LREAL) wird an den Eingang Convert.IN übergeben.
- Der interne Baustein führt die Konvertierung durch und liefert das Ergebnis an Convert.OUT.
- Das Ereignis am Ausgang Convert.CNF wird an ALI_OUT.E1 weitergeleitet, sodass der ausgehende Adapter die fertige Konvertierung signalisiert.
- Der konvertierte LINT-Wert steht an ALI_OUT.D1 zur Verfügung.
Die Aufrufsteuerung erfolgt über die Ereignisverkettung (E1 → REQ → CNF → E1), sodass die Konvertierung blockierend innerhalb eines Ausführungszyklus erfolgt.
Technische Besonderheiten¶
- Composite-Struktur: Der Baustein ist als Composite (Netzwerk) realisiert und nutzt intern den Standardbaustein
F_LREAL_TO_LINTaus der IEC 61131-3-Bibliothek. - Adapterkapselung: Durch die Adaptertechnik können die konkreten LREAL- und LINT-Signale über standardisierte Schnittstellen (ALR, ALI) angebunden werden, was eine hohe Wiederverwendbarkeit und Austauschbarkeit ermöglicht.
- Lizenz: Der Quelltext steht unter der Eclipse Public License 2.0 (EPL-2.0).
- Version: 1.0, veröffentlicht am 17.02.2026 durch HR Agrartechnik GmbH, Autor: Franz Höpfinger.
- Paketstruktur:
adapter::conversion::unidirectional.
Zustandsübersicht¶
Der Baustein besitzt keinen expliziten Zustandsautomaten, da er als Netzwerk von einem einzigen internen FB realisiert wird. Das Verhalten ist rein ereignisgesteuert:
- Idle: Warten auf ein Ereignis am Eingangsadapter (ALR_IN.E1).
- Processing: Nach Eintreffen des Ereignisses wird der interne Konvertierungsbaustein aktiviert.
- Done: Nach Abschluss (CNF) wird das Ausgangsereignis (ALI_OUT.E1) gesetzt und der Baustein kehrt in den Idle-Zustand zurück.
Ein expliziter Fehlerzustand existiert nicht, da der Konvertierungsbaustein F_LREAL_TO_LINT keine Fehlerbehandlung vorsieht.
Anwendungsszenarien¶
- Migration: Austausch eines ALI-basierten (LINT) Systems gegen ein ALR-basiertes (LREAL) System oder umgekehrt, ohne Änderung der übergeordneten Logik.
- Adapter-Brücke: Wenn eine Komponente nur LREAL-Werte liefert, der nachfolgende Adapter aber LINT erwartet, kann dieser FB dazwischen geschaltet werden.
- Standardisierte Konvertierung: In Bibliotheken oder Frameworks, die eine einheitliche Umsetzung von Typkonvertierungen über Adapter fordern.
Vergleich mit ähnlichen Bausteinen¶
In der IEC 61499- und IEC 61131-Welt existieren zahlreiche Konvertierungsbausteine:
- F_LREAL_TO_LINT (direkt): Einzelner Baustein, der einen einfachen Wert konvertiert, aber keine Adapter-Schnittstelle bietet.
- ALR_TO_ALI (dieser FB): Kapselt den direkten Baustein in eine Adapter-Struktur, sodass die Anbindung über einheitliche Adapter-Ports erfolgt.
- Weitere Typkonvertierungen: Ähnlich aufgebaute Bausteine für z.B. REAL → DINT oder LREAL → DWORD können nach demselben Muster erstellt werden.
Der entscheidende Vorteil von ALR_TO_ALI ist die Wiederverwendbarkeit im Adapterkontext und die saubere Trennung von Ereignis und Daten.
Fazit¶
Der Funktionsbaustein ALR_TO_ALI ist ein nützlicher Composite-Baustein, der eine saubere und standardisierte Adapterkonvertierung von LREAL nach LINT ermöglicht. Er erbt die Robustheit des IEC 61131-3-Konvertierungsbausteins und integriert ihn nahtlos in die adapterbasierte Kommunikationsstruktur. Durch seine offene Lizenz und die klare Schnittstelle eignet er sich gut für den Einsatz in modularen Automatisierungslösungen.