AUDI_TO_ALI¶
Einleitung¶
Der Funktionsblock AUDI_TO_ALI ist ein Composite-Baustein, der eine Brücke zwischen einem AUDI-Adapter (vom Typ UDINT) und einem ALI-Adapter (vom Typ LINT) bereitstellt. Er wandelt eingehende UDINT-Werte über eine standardisierte Konvertierungsfunktion in LINT-Werte um und leitet sie an den Ausgangsadapter weiter. Der Baustein wird typischerweise in Anwendungen eingesetzt, die unterschiedliche Adress- oder Integertypen innerhalb eines 4diac-Adapterkonzepts verbinden müssen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Beschreibung |
|---|---|
| keine eigenen Ereignis-Eingänge | Die Ereignissteuerung erfolgt über den internen Socket AUDI_IN.E1. |
Ereignis-Ausgänge¶
| Name | Beschreibung |
|---|---|
| keine eigenen Ereignis-Ausgänge | Die Ereignisweitergabe erfolgt über den internen Plug ALI_OUT.E1. |
Daten-Eingänge¶
| Name | Datentyp | Beschreibung |
|---|---|---|
| keine eigenen Daten-Eingänge | – | Der Datenwert wird vom Socket AUDI_IN.D1 geliefert. |
Daten-Ausgänge¶
| Name | Datentyp | Beschreibung |
|---|---|---|
| keine eigenen Daten-Ausgänge | – | Der konvertierte Wert wird über den Plug ALI_OUT.D1 bereitgestellt. |
Adapter¶
| Typ | Name | Richtung | Beschreibung |
|---|---|---|---|
| AUDI (unidirektional) | AUDI_IN |
Socket (Eingang) | UDINT-Datenadapter, der einen Wert über das Ereignis E1 und das Datum D1 bereitstellt. |
| ALI (unidirektional) | ALI_OUT |
Plug (Ausgang) | LINT-Datenadapter, der den konvertierten Wert über das Ereignis E1 und das Datum D1 ausgibt. |
Funktionsweise¶
Der Baustein arbeitet als reine Typkonvertierungsbrücke für Adapter:
- Ereignisempfang: Ein Ereignis auf dem Socket
AUDI_IN.E1aktiviert den internen KonvertierungsbausteinF_UDINT_TO_LINTüber dessen EreigniseingangREQ. - Datenkonvertierung: Der aktuelle UDINT-Wert von
AUDI_IN.D1wird auf den DateneingangINdes Konverters gelegt.F_UDINT_TO_LINTführt die IEC-61131-konforme Umwandlung von einer vorzeichenlosen 32‑Bit-Ganzzahl (UDINT) in eine vorzeichenbehaftete 64‑Bit-Ganzzahl (LINT) durch. - Ausgabe: Nach erfolgreicher Konvertierung signalisiert der Konverter mit
CNF, dass der Ausgangswert gültig ist. Dieses Ereignis wird direkt an den PlugALI_OUT.E1weitergegeben, und der konvertierte LINT-Wert vonConvert.OUTwird aufALI_OUT.D1gelegt.
Die gesamte Verarbeitung ist ereignisgesteuert und erfolgt innerhalb eines einzigen Ausführungsschrittes (ohne zusätzliche Verzögerung).
Technische Besonderheiten¶
- Composite-Baustein – er enthält keine eigene Logik, sondern delegiert die Konvertierung vollständig an den IEC-61131-Baustein
F_UDINT_TO_LINT. - Adapter-orientierte Schnittstelle – alle Ein- und Ausgaben erfolgen über standardisierte unidirektionale Adapter (
AUDIundALI), was eine einfache Integration in bestehende Adapter-Netzwerke ermöglicht. - Lizenz & Copyright – Der Baustein unterliegt der Eclipse Public License 2.0 und wurde von HR Agrartechnik GmbH entwickelt (Stand 2026).
- Typsicherheit – die Konvertierung von UDINT (unsigned 32 Bit) nach LINT (signed 64 Bit) ist verlustfrei, da der Wert einfach vorzeichenerweitert wird.
- Paketname – im CompilerInfo ist der Baustein unter
adapter::conversion::unidirectionalorganisiert.
Zustandsübersicht¶
Als Composite-Baustein besitzt AUDI_TO_ALI keine eigenen Zustände. Die Zustandslogik liegt innerhalb des integrierten F_UDINT_TO_LINT-Bausteins, der nach jedem REQ-Ereignis in einen Verarbeitungszustand übergeht und mit CNF quittiert.
Anwendungsszenarien¶
- Übergang zwischen unterschiedlichen Automatisierungsprotokollen – wenn ein System UDINT-Werte über AUDI-Adapter liefert, das Zielsystem aber LINT-Werte über ALI-Adapter erwartet.
- Datenanpassung in Adapter-Hierarchien – Umleitung von 32‑Bit‑Zählerwerten (z. B. Drehzahl, Impulszähler) auf einen 64‑Bit‑Bus.
- Migration – Altanlagen mit UDINT-Bereichen können ohne Änderung der Adapterstruktur an neue 64‑Bit‑Schnittstellen angebunden werden.
- Testumgebungen – einfaches Einschleifen einer Typkonvertierung zwischen zwei Adaptern, ohne separate Konvertierungsbausteine im Netzwerk.
Vergleich mit ähnlichen Bausteinen¶
| Baustein | Typ | Besonderheit |
|---|---|---|
F_UDINT_TO_LINT |
reiner Konverter | keine Adapter, direkte Daten-E/A; kein Ereignis-Handling über Adapter, erfordert eigene Ansteuerung. |
AUDI_TO_ALI (dieser) |
Adapter-Konverter | kapselt die Konvertierung in einer adapterbasierten Schnittstelle; Ereignisse und Daten werden automatisch über die Adapter weitergeleitet. |
ALI_TO_AUDI (hypothetisch) |
Adapter-Konverter | würde LINT rückwärts nach UDINT wandeln (potenziell verlustbehaftet). |
Der Hauptunterschied zu einer direkten Verwendung von F_UDINT_TO_LINT ist die nahtlose Einbindung in Adapter-Netzwerke und die Vermeidung zusätzlicher Leitungen für Ereignis- und Datenverbindungen.
Fazit¶
Der AUDI_TO_ALI-Funktionsblock ist ein praktischer Adapter-Konverter, der die Lücke zwischen einem UDINT-basierten AUDI-Adapter und einem LINT-basierten ALI-Adapter schließt. Durch die interne Verwendung des standardisierten IEC-61131-Konverters F_UDINT_TO_LINT ist die Umwandlung effizient und typsicher. Der Baustein eignet sich besonders für modulare Architekturen, bei denen unterschiedliche Adressbreiten aufeinander treffen, und vereinfacht die Wiederverwendung von Adapter-Schnittstellen in heterogenen Automatisierungsumgebungen.