CallbackFB¶
Einleitung¶
Der CallbackFB ist ein Composite-Funktionsblock, der die Verwendung des Callback-Mechanismus in Subapplikationen vereinfacht. Er dient als Wrapper-Baustein, um eine standardisierte Schnittstelle für die asynchrone Kommunikation über einen Callback-Adapter bereitzustellen. Sein primärer Zweck ist die Entkopplung und strukturierte Handhabung von Bestätigungsnachrichten (CNF) und Anfragen (REQ) innerhalb eines Funktionsblocknetzwerks.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
CNF: Bestätigungsereignis (Confirmation). Dieses Ereignis wird vom angeschlossenen Plug empfangen und signalisiert den Abschluss einer Anfrage oder das Eintreffen von Daten.
Ereignis-Ausgänge¶
REQ: Anfrageereignis (Request). Dieses Ereignis wird vom internen Socket des Adapters ausgelöst und signalisiert eine ausstehende Aktion oder Datenanforderung.
Daten-Eingänge¶
DI1: Dateneingang vom Typisobus::pgn::CAN_MSG. Dieser Eingang transportiert die CAN-Nachrichtendaten, die mit dem eingehendenCNF-Ereignis assoziiert sind.
Daten-Ausgänge¶
- (Keine direkten Datenausgänge am FB definiert. Die Daten werden über den Adapter weitergeleitet.)
Adapter¶
PLUG1: Ein Plug-Adapter vom Typisobus::pgn::tx::Callback. Dieser Adapter stellt die Verbindung zu einem entsprechenden Socket-Adapter in einem anderen Funktionsblock her und realisiert das Callback-Muster.
Funktionsweise¶
Der CallbackFB fungiert als transparente Vermittlungsinstanz. Sein internes Netzwerk (FBNetwork) verbindet die öffentlichen Schnittstellen des Composite-FB direkt mit den Pins des integrierten Callback-Adapters (PLUG1).
1. Ein eingehendes CNF-Ereignis wird direkt an den CNF-Eingang des PLUG1-Adapters weitergeleitet.
2. Die mit CNF verbundenen Daten (DI1 vom Typ isobus::pgn::CAN_MSG) werden parallel an den Dateneingang DO1 des PLUG1-Adapters übergeben.
3. Wenn der interne Socket des PLUG1-Adapters ein REQ-Ereignis auslöst, wird dieses direkt an den öffentlichen REQ-Ereignisausgang des CallbackFB weitergeleitet.
Der Baustein selbst führt keine zusätzliche Logik oder Datenverarbeitung durch. Seine Funktion besteht ausschließlich in der strukturierten Bündelung und Durchreichung von Ereignissen und Daten.
Technische Besonderheiten¶
- Typisierung: Der Dateneingang
DI1verwendet den spezifischen Datentypisobus::pgn::CAN_MSG, was auf eine Anwendung im Kontext von ISOBUS- und CAN-basierten Agrarsystemen hindeutet. - Adapter-Pattern: Die gesamte Funktionalität basiert auf dem 61499-Adapterkonzept. Der FB kapselt einen
Plugund benötigt für den Betrieb einen korrespondierendenSocketdes Typsisobus::pgn::tx::Callbackin einem anderen Baustein. - Transparenz: Als Composite-FB ohne zusätzliche Algorithmen ist sein Verhalten vollständig durch das interne Verbindungsnetzwerk definiert und somit vorhersagbar.
Zustandsübersicht¶
Da es sich um einen rein durchschleifenden Composite-Baustein ohne interne Zustandsmaschine (Basic FB) oder zyklisches Verhalten (Service Interface FB) handelt, besitzt der CallbackFB keinen eigenen Zustandsautomaten. Sein "Zustand" wird durch den Zustand des verbundenen Adapter-Paares (PLUG1 und sein korrespondierender Socket) bestimmt.
Anwendungsszenarien¶
- Strukturierung von Subapplikationen: In komplexen Subapplikationen kann der
CallbackFBverwendet werden, um eine saubere und wiederverwendbare Schnittstelle für Callback-Kommunikation bereitzustellen. - Entkopplung von Komponenten: Er ermöglicht die lose Kopplung zwischen einem Dienst-Anbieter (der den Socket bereitstellt) und einem Dienst-Nutzer (der diesen FB einsetzt), was die Wartbarkeit und Testbarkeit erhöht.
- ISOBUS-Kommunikation: Spezifische Anwendung in Steuerungssystemen für landwirtschaftliche Maschinen, um die Übertragung von CAN-Nachrichten (PGNs) asynchron zu bestätigen oder anzufordern.
⚖️ Vergleich mit ähnlichen Bausteinen¶
- Direkte Adapterverbindung: Anstatt einen
Callback-Adapter direkt in ein Netzwerk einzubinden, bietet derCallbackFBeine gebündelte, benannte Schnittstelle (CNF/REQ/DI1), die in manchen Entwürfen lesbarer sein kann. - Einfache E_CLASS vs. CallbackFB: Ein einfacher E_CLASS-Baustein (Event Splitter/Merger) könnte ähnliche Ereigniswegleitungen durchführen, jedoch nicht die typsichere Datenverbindung für
isobus::pgn::CAN_MSGzusammen mit dem standardisierten Adapter-Interface bereitstellen. - Generische Wrapper-FBs: Im Gegensatz zu generischen Wrapper-Bausteinen ist der
CallbackFBauf einen spezifischen Datentyp und Adapter spezialisiert, was Typsicherheit und klare Semantik gewährleistet.
🛠️ Zugehörige Übungen¶
Fazit¶
Der CallbackFB ist ein nützliches Hilfskonstrukt für die strukturierte Anwendung des Adapter-Patterns in IEC 61499, speziell im ISOBUS-Umfeld. Er reduziert die Komplexität im Hauptnetzwerk, indem er die Verbindungslogik für Callback-Kommunikation in einen einzigen, wiederverwendbaren Composite-Baustein auslagert. Seine Stärke liegt in der Einfachheit und Klarheit, während er selbst keine aktive Logik implementiert. Er ist die ideale Wahl, wenn eine standardisierte und typsichere Callback-Schnittstelle in einer Subapplikation benötigt wird.