ADI_TO_AR¶
Einleitung¶
Der Funktionsblock ADI_TO_AR ist ein Composite-Baustein, der einen DINT-Adapter (ADI) in einen REAL-Adapter (AR) umwandelt. Er dient als Vermittler zwischen Komponenten, die über unidirektionale Adapter kommunizieren, und führt dabei eine Datentypkonvertierung von Ganzzahl (DINT) auf Gleitkommazahl (REAL) durch.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
- Keine direkt sichtbaren Ereignis-Eingänge. Die Ereignissteuerung erfolgt indirekt über den Adapter ADI_IN (Ereignis E1).
Ereignis-Ausgänge¶
- Keine direkt sichtbaren Ereignis-Ausgänge. Die Ereignissignalisierung erfolgt indirekt über den Adapter AR_OUT (Ereignis E1).
Daten-Eingänge¶
- Keine direkt sichtbaren Daten-Eingänge. Der Eingabedatenwert wird über den Adapter ADI_IN (Datenpunkt D1 vom Typ DINT) bereitgestellt.
Daten-Ausgänge¶
- Keine direkt sichtbaren Daten-Ausgänge. Der Ausgabedatenwert wird über den Adapter AR_OUT (Datenpunkt D1 vom Typ REAL) ausgegeben.
Adapter¶
| Adapter | Rolle | Typ | Beschreibung |
|---|---|---|---|
| ADI_IN | Socket | adapter::types::unidirectional::ADI | Unidirektionaler DINT-Adapter als Eingangsschnittstelle. |
| AR_OUT | Plug | adapter::types::unidirectional::AR | Unidirektionaler REAL-Adapter als Ausgangsschnittstelle. |
Funktionsweise¶
Der Baustein enthält intern einen einzelnen Funktionsbaustein F_DINT_TO_REAL aus der IEC 61131-3 Standardbibliothek. Die Ablaufsteuerung erfolgt rein ereignisgesteuert:
- Ein Ereignis am Eingangsadapter ADI_IN.E1 triggert den Eingang REQ des internen Konvertierungsbausteins.
- Der Datenwert ADI_IN.D1 (DINT) wird an den Eingang IN des Konverters übergeben.
- Bei Abschluss der Konvertierung signalisiert der Ausgang CNF des Konverters ein Ereignis.
- Dieses Ereignis wird an den Ausgangsadapter AR_OUT.E1 weitergeleitet.
- Gleichzeitig wird der konvertierte REAL-Wert (Ausgang OUT) an den Datenpunkt AR_OUT.D1 übergeben.
Der gesamte Vorgang erfolgt synchron und ohne Zwischenspeicherung – jede erfolgreiche Konvertierung löst sofort ein Ausgangsereignis aus.
Technische Besonderheiten¶
- Typkonvertierung nach IEC 61131-3: Der interne Baustein
F_DINT_TO_REALgarantiert eine standardkonforme Umwandlung von 32-Bit-Ganzzahlen in Gleitkommazahlen (einfache Genauigkeit). - Unidirektionale Adapter: Sowohl der Eingangs- als auch der Ausgangsadapter sind unidirektional ausgelegt. Eine Rückwärtskommunikation ist nicht vorgesehen, was die Implementierung vereinfacht und den Datenfluss eindeutig festlegt.
- Composite-Struktur: Der Baustein besteht aus einem Netzwerk, das vollständig im FB selbst gekapselt ist. Er eignet sich daher besonders gut für modulare, wiederverwendbare Schnittstellen.
- Keine Zustände: Es existiert kein Zustandsautomat – die Funktionalität ist rein kombinatorisch mit einem ereignisgesteuerten Trigger.
Zustandsübersicht¶
Der Baustein besitzt keine eigene Zustandsmaschine. Der Ablauf lässt sich als einfacher Schritt beschreiben:
| Schritt | Aktion |
|---|---|
| 1 | Warten auf Ereignis an ADI_IN.E1 |
| 2 | Konvertierung des Datenwerts von DINT nach REAL |
| 3 | Ausgabe des konvertierten Werts an AR_OUT.D1 und Ereignis an AR_OUT.E1 |
| 4 | Rückkehr zu Schritt 1 |
Anwendungsszenarien¶
- Sensorintegration: Ein Sensor liefert ganzzahlige Messwerte (z. B. Drehzahl, Zählerstand) über einen ADI-Adapter. Für eine nachgelagerte Regelung oder Visualisierung, die REAL-Werte erwartet, wird dieser Baustein als Konverter eingesetzt.
- Schnittstellenanpassung: In heterogenen Steuerungssystemen, in denen verschiedene Komponenten unterschiedliche Datentypen verwenden, ermöglicht der Baustein eine nahtlose Integration ohne Änderung der vorhandenen Adapterdefinitionen.
- Typsichere Datenverarbeitung: Durch die explizite Konvertierung werden Laufzeitfehler vermieden, die bei impliziten Typumwandlungen in IEC 61499 auftreten können.
Vergleich mit ähnlichen Bausteinen¶
- F_DINT_TO_REAL: Ein direkter Aufruf dieses Standardbausteins würde denselben Zweck erfüllen, erfordert jedoch eine manuelle Verschaltung von Ereignis- und Datenverbindungen. Der Adapter-basierte Ansatz vereinfacht die Wiederverwendung und verbessert die Lesbarkeit des Netzwerks.
- ADI_TO_AR im Gegensatz zu anderen Konvertierungsbausteinen (z. B. REAL_TO_DINT): Dieser Baustein ist speziell für die unidirektionale Adapter-Kommunikation ausgelegt und bietet keine weiteren Konvertierungsrichtungen an.
- Composite-Bausteine ohne Adapter: Andere Implementierungen nutzen direkte Daten- und Ereignis-Ports, was die Flexibilität beim Austausch von Komponenten einschränkt. Die Adapter-Schnittstelle erlaubt ein einfaches Plug-and-Play in vordefinierten Architekturen.
Fazit¶
Der ADI_TO_AR-Funktionsblock stellt eine elegante und standardkonforme Lösung zur Umwandlung von DINT- in REAL-Werte dar, die vollständig in die Adapter-basierte Kommunikationsstruktur der IEC 61499 eingebettet ist. Durch die Kapselung des Konvertierungsvorgangs in einem wiederverwendbaren Composite-Baustein wird die Entwicklung modularer, typsicherer und gut dokumentierter Automatisierungssysteme unterstützt.