AS_TO_AUI¶
Einleitung¶
Der Funktionsblock AS_TO_AUI ist ein zusammengesetzter Baustein (Composite FB), der die Konvertierung eines SINT-Adapter-Inputs (AS) in einen UINT-Adapter-Output (AUI) realisiert. Er kapselt die Typumwandlung und ermöglicht eine saubere, adapterbasierte Schnittstelle zwischen Komponenten, die unterschiedliche Datentypen verwenden.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Bezeichnung | Datentyp | Beschreibung |
|---|---|---|
E1 (über AS_IN) |
EVENT | Startet die Konvertierung des anliegenden SINT-Werts. |
Ereignis-Ausgänge¶
| Bezeichnung | Datentyp | Beschreibung |
|---|---|---|
E1 (über AUI_OUT) |
EVENT | Bestätigt die abgeschlossene Konvertierung und Ausgabe des UINT-Werts. |
Daten-Eingänge¶
| Bezeichnung | Datentyp | Beschreibung |
|---|---|---|
D1 (über AS_IN) |
SINT | Der zu konvertierende vorzeichenbehaftete 8‑Bit‑Wert. |
Daten-Ausgänge¶
| Bezeichnung | Datentyp | Beschreibung |
|---|---|---|
D1 (über AUI_OUT) |
UINT | Der konvertierte vorzeichenlose 16‑Bit‑Wert. |
Adapter¶
| Bezeichnung | Typ | Richtung | Beschreibung |
|---|---|---|---|
AS_IN |
adapter::types::unidirectional::AS |
Socket (Eingang) | Stellt den SINT-Wert und das auslösende Ereignis bereit. |
AUI_OUT |
adapter::types::unidirectional::AUI |
Plug (Ausgang) | Gibt den konvertierten UINT-Wert und das Bestätigungsereignis aus. |
Funktionsweise¶
Der Baustein arbeitet ereignisgesteuert:
- Wenn am
AS_IN-Adapter das EreignisE1eintrifft, wird der anliegende SINT-Datenwert (D1) an den internen KonvertierungsbausteinF_SINT_TO_UINTweitergeleitet. - Der
F_SINT_TO_UINT-Baustein führt die Datentypkonvertierung gemäß IEC 61131 durch (SINT → UINT). - Sobald die Konvertierung abgeschlossen ist, wird der resultierende UINT-Wert an den
AUI_OUT-Adapter übergeben und das EreignisE1aufAUI_OUTausgelöst.
Der gesamte Ablauf ist innerhalb eines Ereigniszyklus atomar: Ereignis rein, Daten wandeln, Ereignis raus.
Technische Besonderheiten¶
- Der Baustein verwendet intern die IEC‑61131‑Konvertierungsfunktion
F_SINT_TO_UINT, die aus der Bibliothekiec61131::conversionstammt. - Die Adapter sind als unidirektionale Typen ausgelegt (AS für Eingang, AUI für Ausgang), was die Datenflussrichtung klar definiert und Missverständnisse vermeidet.
- Es gibt keine internen Zustände oder Zeitverhalten – die Konvertierung erfolgt rein kombinatorisch, gesteuert durch das Ereignis.
- Der Baustein ist unter der Eclipse Public License 2.0 lizenziert.
Zustandsübersicht¶
Da es sich um einen zusammengesetzten Baustein ohne eigene Zustandsmaschine handelt, existiert kein interner Zustandsautomat. Der Baustein ist vollständig ereignisgetrieben und führt bei jedem Auslösen die Konvertierung sofort aus.
Anwendungsszenarien¶
- Anbindung unterschiedlicher Bussysteme: Wenn ein Sensor (z. B. AS‑Interface) SINT‑Werte liefert, die Steuerung aber UINT‑Werte erwartet, kann dieser Baustein die Übersetzung übernehmen.
- Protokoll‑ oder Adapter‑Kompatibilität: Einsatz in heterogenen Automatisierungssystemen, in denen verschiedene Feldbusse oder Komponenten mit unterschiedlichen Datentypen arbeiten.
- Datenaufbereitung: Vorbereitung von SINT‑Daten für eine weitere Verarbeitung, die ausschließlich UINT unterstützt.
Vergleich mit ähnlichen Bausteinen¶
- Direkte Konvertierungs‑FBs (z. B.
F_SINT_TO_UINT): Diese arbeiten auf Ebene einzelner Signale ohne Adapter‑Kapselung.AS_TO_AUIintegriert die Adapter‑Schnittstelle und ist daher leichter in adapterbasierte Architekturen einbindbar. - Bidirektionale Adapter‑Konverter: Falls eine Umwandlung in beide Richtungen nötig ist, müsste ein separater Baustein (z. B.
AUI_TO_AS) verwendet werden.AS_TO_AUIist strikt unidirektional.
Fazit¶
Der AS_TO_AUI‑Baustein bietet eine einfache, zuverlässige und standardisierte Methode, um SINT‑Adapter‑Daten in ein UINT‑Adapter‑Format zu konvertieren. Dank der Verwendung von IEC‑61131‑Bausteinen und unidirektionalen Adaptern ist er robust, leicht verständlich und gut in bestehende 4diac‑Projekte integrierbar.