ALI_TO_AUDI¶
Einleitung¶
Der Funktionsblock ALI_TO_AUDI ist ein Composite Baustein, der einen ALI-Adapter (LINT) in einen AUDI-Adapter (UDINT) umwandelt. Er dient als unidirektionaler Konverter zwischen zwei unterschiedlichen Datentyp-Adaptern für die IEC 61499-Profilschnittstelle. Die Konvertierung erfolgt über einen internen Baustein F_LINT_TO_UDINT aus der IEC 61131-Bibliothek.
Schnittstellenstruktur¶
Der FB besitzt keine direkten Ereignis- oder Datenein-/ausgänge. Die gesamte Kommunikation erfolgt über zwei Adapter-Schnittstellen.
Ereignis-Eingänge¶
Keine eigenen Ereignis-Eingänge vorhanden. Das Ereignis wird über den ALI-Adapter empfangen.
Ereignis-Ausgänge¶
Keine eigenen Ereignis-Ausgänge vorhanden. Das Ergebnisereignis wird über den AUDI-Adapter gesendet.
Daten-Eingänge¶
Keine eigenen Daten-Eingänge vorhanden. Der Eingabedatenwert wird über den ALI-Adapter bereitgestellt.
Daten-Ausgänge¶
Keine eigenen Daten-Ausgänge vorhanden. Der konvertierte Datenwert wird über den AUDI-Adapter ausgegeben.
Adapter¶
| Adapter | Typ | Richtung | Beschreibung |
|---|---|---|---|
| ALI_IN | adapter::types::unidirectional::ALI |
Socket (Eingang) | Liefert den LINT-Wert (64-Bit signed) und das zugehörige Ereignis. |
| AUDI_OUT | adapter::types::unidirectional::AUDI |
Plug (Ausgang) | Stellt den konvertierten UDINT-Wert (32-Bit unsigned) und das Bestätigungsereignis bereit. |
Funktionsweise¶
Sobald der ALI_IN-Adapter ein Ereignis (E1) empfängt, wird der daran gebundene LINT-Datenwert (D1) ausgelesen. Dieser Datenwert wird an den internen FB F_LINT_TO_UDINT übergeben, der ihn in einen UDINT-Wert umwandelt. Nach erfolgreicher Konvertierung sendet der interne FB ein Bestätigungsereignis (CNF), das über den AUDI_OUT-Adapter (E1) weitergegeben wird. Gleichzeitig wird der konvertierte UDINT-Wert (OUT) an den AUDI_OUT-Adapter (D1) übergeben.
Die Konvertierung von LINT (64-Bit signed) nach UDINT (32-Bit unsigned) erfolgt ohne Vorzeichen und kann bei Werten außerhalb des UDINT-Bereichs (0 … 4.294.967.295) zu Überläufen oder Informationsverlust führen.
Technische Besonderheiten¶
- Composite Funktionsblock: Der FB besteht aus einem internen Netzwerk mit einem einzigen Konvertierungsbaustein.
- Unidirektionaler Adapter-zu-Adapter-Konverter: Die Daten fließen nur von ALI_IN nach AUDI_OUT.
- Keine Zustandslogik: Der FB besitzt keinen internen Zustandsautomaten; die Konvertierung erfolgt bei jedem Ereignis deterministisch.
Zustandsübersicht¶
Der FB hat keinen eigenen Zustandsautomaten. Der Zustand wird allein durch den internen Baustein F_LINT_TO_UDINT bestimmt, der bei jedem REQ-Ereignis eine einmalige Konvertierung durchführt und sofort das Ergebnis liefert.
Anwendungsszenarien¶
- Systemintegration: Wenn ein Systemteil (z. B. Sensor, Antrieb) einen ALI-Adapter (LINT) bereitstellt, ein anderer Teil jedoch einen AUDI-Adapter (UDINT) erwartet.
- Protokollanpassung: In heterogenen Steuerungsumgebungen, in denen unterschiedliche IEC 61499-Adaterprofile für Ganzzahlen verwendet werden.
- Migration: Austausch von 64-Bit LINT-Werten gegen 32-Bit UDINT-Werte, sofern die Wertebereichsgrenzen eingehalten werden.
Vergleich mit ähnlichen Bausteinen¶
- F_LINT_TO_UDINT (direkt): Dieser Baustein führt die reine Datenkonvertierung ohne Adapter durch. ALI_TO_AUDI kapselt diese Funktion in einer adapterbasierten Schnittstelle.
- ALI_TO_xxx/Konverter: Andere Adapter-Konverter (z. B. ALI_TO_BOOL, ALI_TO_REAL) verwenden analoge Mechanismen, unterscheiden sich jedoch in Zieltyp und Wertebereich.
Fazit¶
Der ALI_TO_AUDI Funktionsblock ist ein schlanker Composite-Baustein zur einfachen Adapterkonvertierung von LINT nach UDINT. Er nutzt einen vorhandenen IEC 61131-Baustein und ergänzt ihn um eine standardisierte IEC 61499-Adapter-Schnittstelle. Dadurch wird die Integration in bestehende Systeme erleichtert, ohne dass die zugrundeliegende Konvertierungslogik neu implementiert werden muss.