ADI_TO_AUI¶
Einleitung¶
Der Funktionsblock ADI_TO_AUI ist ein Composite-FB (zusammengesetzter Baustein), der eine Schnittstellenkonvertierung zwischen dem ADI-Adapter (DINT, 32‑Bit‑Ganzzahl) und dem AUI-Adapter (UINT, 16‑Bit‑Ganzzahl) realisiert. Er ermöglicht die unidirektionale Übertragung eines Wertes von einem DINT‑Adapter an einen UINT‑Adapter unter Verwendung eines standardisierten IEC 61131‑Konvertierungsbausteins.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
Keine – die Ereignissteuerung erfolgt ausschließlich über die Adapter.
Ereignis-Ausgänge¶
Keine.
Daten-Eingänge¶
Keine – alle Daten werden über den Socket-Adapter bereitgestellt.
Daten-Ausgänge¶
Keine – alle Daten werden über den Plug-Adapter ausgegeben.
Adapter¶
| Typ | Name | Richtung | Beschreibung |
|---|---|---|---|
| Socket | ADI_IN |
Eingang | ADI-Adapter (DINT) – liefert den zu konvertierenden Wert und ein Ereignis |
| Plug | AUI_OUT |
Ausgang | AUI-Adapter (UINT) – stellt den konvertierten Wert und zugehöriges Ereignis bereit |
Funktionsweise¶
Der Baustein besitzt keine eigenen Ein-/Ausgangs‑Ereignisse oder Datenpunkte auf der obersten Ebene. Die gesamte Steuerung und Datenübertragung erfolgt über die beiden Adapter:
-
Ereignisweiterleitung:
Das am SocketADI_INeingehende EreignisE1wird direkt an den internen BausteinF_DINT_TO_UINT(Typ:iec61131::conversion) weitergeleitet, um eine Konvertierung zu triggern. -
Datenpfad:
Der überADI_IN.D1bereitgestellte DINT‑Wert wird an den EingangINdesF_DINT_TO_UINTübergeben. Nach erfolgreicher Konvertierung liegt das Ergebnis (UINT) am AusgangOUTan und wird auf den DatenausgangD1des Plug‑AdaptersAUI_OUTgelegt. -
Rückmeldung:
Der interne Baustein signalisiert das Ende der Konvertierung durch das EreignisCNF. Dieses Ereignis wird auf das AusgangsereignisE1des Plug‑AdaptersAUI_OUTübertragen – synchron zum bereitgestellten Datenwert.
Damit realisiert der FB eine unidirektionale, ereignisgesteuerte Übertragung eines DINT‑Werts in einen UINT‑Wert über die Adapterschnittstellen.
Technische Besonderheiten¶
- Composite‑FB: Der Baustein kapselt die Konvertierungslogik vollständig und bietet eine aufgeräumte, wiederverwendbare Schnittstelle.
- Verwendeter Kernbaustein:
iec61131::conversion::F_DINT_TO_UINT– eine standardisierte IEC 61131‑Funktion zur Umwandlung von DINT in UINT (Wertebereichsanpassung: DINT auf UINT wird ohne Vorzeichen betrachtet, negative Werte werden entsprechend umgesetzt). - Adapter‑Typen: Die Adapter
ADIundAUIsind als unidirektionale Adapter definiert (adapter::types::unidirectional). Sie stellen jeweils ein Ereignispaar (E1/E1) und einen Datenpunkt (D1im entsprechenden Datentyp) bereit. - Paket‑Struktur: Der FB ist im Paket
adapter::conversion::unidirectionalorganisiert. - Lizenz: Der Baustein unterliegt der Eclipse Public License 2.0 (EPL‑2.0). Copyright liegt bei der HR Agrartechnik GmbH.
Zustandsübersicht¶
Als Composite‑FB besitzt ADI_TO_AUI keinen eigenen internen Zustandsautomaten. Der Zustand wird ausschließlich durch den eingebetteten Baustein F_DINT_TO_UINT bestimmt, der nach Erhalt des REQ‑Ereignisses die Konvertierung vornimmt und mit CNF abschließt. Der Baustein ist daher zustandslos im Sinne eines reinen Funktionsbausteins (keine speichernden Zustände außerhalb des Kernbausteins).
Anwendungsszenarien¶
- Schnittstellenanpassung zwischen Systemkomponenten, die unterschiedliche Datentypen für analoge oder digitale Werte verwenden (z. B. Sensoren mit DINT‑Ausgabe und Aktoren mit UINT‑Eingabe).
- Datenkonsolidierung in heterogenen IEC 61499‑Netzwerken, in denen Adapter unterschiedlicher Datentypen aufeinandertreffen.
- Prototypen und Migration: Einfache Integration von Bausteinen, die ursprünglich mit DINT arbeiten, in eine Umgebung, die UINT erwartet – ohne manuelle Konvertierung in jedem Verbindungsschritt.
Vergleich mit ähnlichen Bausteinen¶
Direkt vergleichbare Adapter‑Konvertierungsblöcke existieren für andere Datentypen (z. B. BOOL_TO_UINT, INT_TO_DINT). Der Unterschied von ADI_TO_AUI liegt in der spezifischen Kombination der Adapter‑Schnittstellen (ADI ↔ AUI). Im Gegensatz zu einfachen Konvertierungs‑FBs (F_DINT_TO_UINT) kapselt dieser Composite‑FB sowohl die Adapter‑Anbindung als auch die Ereignis‑ und Datensynchronisation in einem wiederverwendbaren Modul.
Ein alternatives Design könnte einen generischen Konvertierungsbaustein mit parametrierbaren Adaptertypen verwenden, jedoch bietet die dedizierte Lösung eine klarere Dokumentation und einfachere Handhabung in der 4diac‑IDE.
Fazit¶
Der Funktionsblock ADI_TO_AUI bietet eine saubere, wartbare und standardisierte Möglichkeit, DINT‑Daten über einen ADI‑Adapter in ein UINT‑Signal über einen AUI‑Adapter umzuwandeln. Durch die Verwendung eines IEC 61131‑Kernbausteins ist die Konvertierung normkonform und zuverlässig. Der Composite‑Ansatz erhöht die Wiederverwendbarkeit und vereinfacht das Engineering in verteilten Automatisierungssystemen.