AL_TO_ALI¶
Einleitung¶
Der Funktionsblock AL_TO_ALI ist ein zusammengesetzter Baustein (Composite FB) zur Umwandlung eines AL-Adapters (LWORD) in einen ALI-Adapter (LINT). Er dient als Schnittstelle zwischen einer LWORD-basierten und einer LINT-basierten Datenkommunikation innerhalb der Steuerungslogik. Der Baustein nutzt intern den Konvertierungsbaustein F_LWORD_TO_LINT, um die eigentliche Typumwandlung durchzuführen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
Der Baustein besitzt keine eigenständigen Ereignis-Eingänge. Die Ereignissteuerung erfolgt über die angeschlossenen Adapter.
Ereignis-Ausgänge¶
Der Baustein besitzt keine eigenständigen Ereignis-Ausgänge. Die Ereignissteuerung erfolgt über die angeschlossenen Adapter.
Daten-Eingänge¶
Der Baustein besitzt keine eigenständigen Daten-Eingänge. Die Eingangsdaten werden über den Socket AL_IN bereitgestellt.
Daten-Ausgänge¶
Der Baustein besitzt keine eigenständigen Daten-Ausgänge. Die Ausgangsdaten werden über den Plug ALI_OUT bereitgestellt.
Adapter¶
| Typ | Name | Richtung | Datentyp | Beschreibung |
|---|---|---|---|---|
adapter::types::unidirectional::AL |
AL_IN |
Socket (Eingang) | LWORD | LWORD-Adapter als Eingangsschnittstelle. Stellt die zu konvertierenden Daten bereit. |
adapter::types::unidirectional::ALI |
ALI_OUT |
Plug (Ausgang) | LINT | LINT-Adapter als Ausgangsschnittstelle. Liefert die konvertierten Daten. |
Funktionsweise¶
- Ereignisauslösung: Der
AL_IN-Adapter gibt über seinen EreignisausgangE1ein Signal, sobald neue Daten anstehen. - Konvertierung: Dieses Ereignis triggert den internen FB
Convert(F_LWORD_TO_LINT) an seinem EreigniseingangREQ. Gleichzeitig wird der aktuelle Datenwert vonAL_IN.D1(LWORD) an den DateneingangINdes Konvertierungsbausteins übergeben. - Ausgabe: Nach erfolgreicher Umwandlung sendet
Converteine Bestätigung über seinen EreignisausgangCNFan denALI_OUT-Adapter (EreigniseingangE1). Parallel dazu wird der konvertierte LINT-Wert am AusgangOUTan den DateneingangALI_OUT.D1weitergeleitet. - Ergebnis: Der
ALI_OUT-Adapter gibt nun die neuen LINT-Daten an den angeschlossenen FB weiter.
Technische Besonderheiten¶
- Typkonvertierung: Der Baustein wandelt einen LWORD (64‑Bit‑Bitfolge) in einen LINT (64‑Bit‑Ganzzahl mit Vorzeichen) um. Die Umwandlung erfolgt bit‑identisch, d.h. die Binärdarstellung wird als vorzeichenbehaftete Ganzzahl interpretiert.
- Komposition: Es handelt sich um einen Composite-FB, der keine eigene Logik enthält, sondern auf den standardisierten Konvertierungsbaustein
iec61131::conversion::F_LWORD_TO_LINTzurückgreift. - Adapterbasierte Schnittstelle: Die Ein‑ und Ausgabe erfolgt ausschließlich über unidirektionale Adapter (
ALundALI), was eine modulare und typengeprüfte Verbindung in der 4diac‑IDE ermöglicht. - Paketstruktur: Der FB ist im Paket
adapter::conversion::unidirectionalabgelegt.
Zustandsübersicht¶
Da es sich um einen Composite‑FB handelt, existiert kein eigener Zustandsautomat. Die Zustandslogik wird vollständig durch den intern genutzten Baustein F_LWORD_TO_LINT bestimmt. Dieser arbeitet ereignisgesteuert:
- IDLE: Warten auf ein Ereignis am
REQ-Eingang. - PROCESSING: Umwandlung des LWORD in LINT (dauert einen Schritt).
- FINISHED: Ausgabe des konvertierten Werts und Senden des
CNF-Ereignisses.
Anwendungsszenarien¶
- SPS‑Datenkonvertierung: Wenn ein Steuerungsprogramm LINT‑Werte (z. B. Zählerstände oder Zeiten) über einen LWORD‑basierten Adapter erhält und eine LINT‑Schnittstelle benötigt wird.
- Kommunikations‑Adapter: Einsatz als Zwischenglied in einer Adapterkette, um unterschiedliche Datentypen zwischen verschiedenen Hardware‑ oder Softwaremodulen zu übersetzen.
- Protokollanpassung: Beispielsweise Umwandlung von LWORD‑rohdaten (z. B. aus einem Bussystem) in eine LINT‑Repräsentation zur weiteren Verarbeitung in der Steuerungslogik.
Vergleich mit ähnlichen Bausteinen¶
- AL_TO_AL (LWORD ↔ LWORD): Reine Durchleitung ohne Konvertierung.
- ALI_TO_AL (LINT ↔ LWORD): Führt die umgekehrte Konvertierung durch.
- F_LWORD_TO_LINT (direkter Konvertierungsbaustein): Bietet die gleiche Funktionalität, jedoch ohne Adapter‑Schnittstelle.
AL_TO_ALIkapselt diesen Baustein und fügt die Adapter‑Anbindung hinzu.
Fazit¶
Der AL_TO_ALI-Funktionsblock ist ein einfacher, aber wichtiger Konverter, der die Lücke zwischen LWORD‑basierten und LINT‑basierten Adapter‑Schnittstellen schließt. Durch seine composite‑Struktur bleibt er übersichtlich und kann flexibel in bestehende 4diac‑Projekte integriert werden. Die Verwendung von Standard‑Konvertierungsbausteinen gewährleistet eine korrekte und effiziente Typumwandlung.