PUBLISH_9
Einleitung
Der PUBLISH_9 Funktionsblock dient zum Veröffentlichen von Daten an einen oder mehrere SUBSCRIBE_9 Blöcke. Er ermöglicht die unbestätigte Übertragung von bis zu neun verschiedenen Datenwerten über ein Kommunikationsnetzwerk.
Schnittstellenstruktur
Ereignis-Eingänge
INIT: Initialisierungsereignis mit zugehörigen Daten QI und ID
REQ: Sendeanforderung für unbestätigte Datenübertragung mit neun Datenwerten
Ereignis-Ausgänge
INITO: Initialisierungsbestätigung mit QO und STATUS
CNF: Bestätigung, dass Daten gesendet wurden, mit QO und STATUS
Daten-Eingänge
QI (BOOL): Qualifizierer für Initialisierung (TRUE = aktivieren, FALSE = deaktivieren)
ID (WSTRING): Identifikator für den Kommunikationskanal
SD_1 bis SD_9 (ANY): Neun verschiedene zu sendende Datenwerte beliebigen Typs
Daten-Ausgänge
QO (BOOL): Qualifizierer für Ausgangszustand
STATUS (WSTRING): Statusinformationen über den Betriebszustand
Adapter
Keine Adapter-Schnittstellen vorhanden.
Funktionsweise
Der PUBLISH_9 Block wird zunächst über das INIT-Ereignis initialisiert, wobei der ID-Parameter den Kommunikationskanal definiert. Bei aktiviertem QI-Eingang (TRUE) können Daten über das REQ-Ereignis gesendet werden. Der Block überträgt dabei alle neun SD_x Datenwerte gleichzeitig an alle angeschlossenen SUBSCRIBE_9 Blöcke. Die Übertragung erfolgt unbestätigt, jedoch signalisiert das CNF-Ereignis die erfolgreiche Abarbeitung der Sendeanforderung.
Technische Besonderheiten
Unterstützt bis zu neun verschiedene Datenwerte beliebigen Typs (ANY)
Unbestätigte Kommunikation (fire-and-forget Prinzip)
WSTRING-basierte Kanalidentifikation für flexible Adressierung
Generische Implementierung durch GEN_PUBLISH Basisklasse
Zustandsübersicht
Der Block verfügt über zwei Hauptzustände: initialisiert und nicht initialisiert. Nach erfolgreicher Initialisierung (INIT mit QI=TRUE) wechselt der Block in den aktiven Zustand und kann Daten senden. Bei Deaktivierung (INIT mit QI=FALSE) wird der Block deinitialisiert.
Anwendungsszenarien
Verteilte Systeme mit Publisher-Subscriber-Architektur
Datenaustausch zwischen verschiedenen Steuerungskomponenten
Broadcast-Kommunikation in Automatisierungsnetzwerken
Systeme mit 1-zu-n Kommunikationsbeziehungen
⚖️ Vergleich mit ähnlichen Bausteinen
Im Vergleich zu bestätigten Kommunikationsblöcken bietet PUBLISH_9 eine reduzierte Latenz durch den Verzicht auf Empfangsbestätigungen. Gegenüber Blöcken mit weniger Datenkanälen ermöglicht er die gleichzeitige Übertragung mehrerer Datenwerte, was die Systemeffizienz erhöht.
Fazit
Der PUBLISH_9 Funktionsblock ist eine leistungsfähige Lösung für unbestätigte Mehrfachdatenübertragungen in verteilten Automatisierungssystemen. Seine Flexibilität bei der Datenübertragung und die Unterstützung für neun verschiedene Datenwerte machen ihn ideal für komplexe Kommunikationsszenarien in industriellen Steuerungssystemen.