PUBLISH_5¶
Einleitung¶
Der PUBLISH_5 Funktionsblock dient zum Veröffentlichen von Daten an einen oder mehrere SUBSCRIBE_5 Blöcke. Er ermöglicht die Übertragung von bis zu fünf verschiedenen Datenwerten über ein Publish-Subscribe-Kommunikationsmuster.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
- INIT: Initialisierungsereignis mit zugehörigen Daten QI und ID
- REQ: Anforderungsereignis zum Senden von Daten (unbestätigt) mit zugehörigen Daten QI, SD_1 bis SD_5
Ereignis-Ausgänge¶
- INITO: Bestätigung der Initialisierung mit zugehörigen Daten QO und STATUS
- CNF: Bestätigung, dass Daten gesendet wurden mit zugehörigen Daten QO und STATUS
Daten-Eingänge¶
- QI (BOOL): Qualifizierer für Initialisierung/Operation
- ID (WSTRING): Identifikator für den Publish-Kanal
- SD_1 (ANY): Erster zu sendender Datenwert
- SD_2 (ANY): Zweiter zu sendender Datenwert
- SD_3 (ANY): Dritter zu sendender Datenwert
- SD_4 (ANY): Vierter zu sendender Datenwert
- SD_5 (ANY): Fünfter zu sendender Datenwert
Daten-Ausgänge¶
- QO (BOOL): Qualifizierer für Ausgangsstatus
- STATUS (WSTRING): Statusinformation über die Operation
Adapter¶
Keine Adapter-Schnittstellen vorhanden.
Funktionsweise¶
Der PUBLISH_5 Block initialisiert sich über das INIT-Ereignis und konfiguriert den Publish-Kanal mit der angegebenen ID. Nach erfolgreicher Initialisierung kann über das REQ-Ereignis Daten an alle verbundenen SUBSCRIBE_5 Blöcke gesendet werden. Die Daten SD_1 bis SD_5 werden dabei gleichzeitig übertragen. Jede Sendung wird durch ein CNF-Ereignis bestätigt.
Technische Besonderheiten¶
- Unterstützt den Datentyp ANY für maximale Flexibilität bei den zu sendenden Daten
- Verwendet WSTRING für Statusmeldungen und Kanal-IDs
- Implementiert ein unbestätigtes Sendeverfahren (unconfirmed)
- Bietet Platz für bis zu fünf verschiedene Datenwerte pro Sendevorgang
Zustandsübersicht¶
- Nicht initialisiert: Block wartet auf INIT-Ereignis
- Initialisiert: Block ist bereit für REQ-Ereignisse
- Senden: Verarbeitet REQ und sendet Daten an Subscriber
- Bestätigen: Sendet CNF nach erfolgreicher Datenübertragung
Anwendungsszenarien¶
- Verteilte Systeme mit Publisher-Subscriber-Architektur
- Datenverteilung an mehrere Empfänger in Echtzeitsystemen
- Flexibles Messaging zwischen verschiedenen Steuerungskomponenten
- Systeme mit variablen Datenstrukturen (durch ANY-Typ Unterstützung)
⚖️ Vergleich mit ähnlichen Bausteinen¶
Im Vergleich zu einfacheren PUBLISH-Blöcken bietet PUBLISH_5 die Möglichkeit, bis zu fünf verschiedene Datenwerte gleichzeitig zu senden. Die Verwendung des ANY-Datentyps ermöglicht größere Flexibilität als typspezifische Publish-Blöcke.
Fazit¶
Der PUBLISH_5 Funktionsblock ist eine leistungsfähige Lösung für Publish-Subscribe-Kommunikation in verteilten Automatisierungssystemen. Seine Flexibilität durch den ANY-Datentyp und die Möglichkeit, mehrere Datenwerte gleichzeitig zu senden, machen ihn besonders geeignet für komplexe Datenverteilungsaufgaben in industriellen Steuerungssystemen.