Zum Inhalt

PUBLISH_5

image


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.

PUBLISH_5

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

  1. Nicht initialisiert: Block wartet auf INIT-Ereignis
  2. Initialisiert: Block ist bereit für REQ-Ereignisse
  3. Senden: Verarbeitet REQ und sendet Daten an Subscriber
  4. 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.