PUBLISH_10

image

Einleitung

Der PUBLISH_10 Funktionsblock dient zum Verteilen von Daten an einen oder mehrere SUBSCRIBE_10 Blöcke. Er ermöglicht die unbestätigte Übertragung von bis zu 10 verschiedenen Datenwerten über ein Publish-Subscribe-Kommunikationsmuster.

PUBLISH_10

Schnittstellenstruktur

Ereignis-Eingänge

  • INIT: Initialisierungsereignis mit zugehörigen Daten QI und ID

  • REQ: Sendeanforderung für unbestätigte Datenübertragung mit 10 Datenvariablen

Ereignis-Ausgänge

  • INITO: Bestätigung der Initialisierung mit Statusinformationen

  • CNF: Bestätigung, dass Daten gesendet wurden

Daten-Eingänge

  • QI (BOOL): Qualifizierer für Initialisierung (TRUE = aktivieren, FALSE = deaktivieren)

  • ID (WSTRING): Identifikationsstring für den Kommunikationskanal

  • SD_1 bis SD_10 (ANY): 10 verschiedene zu sendende Datenwerte beliebigen Typs

Daten-Ausgänge

  • QO (BOOL): Qualifizierer-Ausgang (TRUE = erfolgreich, FALSE = fehlgeschlagen)

  • STATUS (WSTRING): Statusinformationen als Unicode-String

Adapter

Keine Adapter-Schnittstellen vorhanden.

Funktionsweise

Der PUBLISH_10 Block arbeitet nach dem Publish-Subscribe-Prinzip. Nach erfolgreicher Initialisierung mit dem INIT-Ereignis können über das REQ-Ereignis bis zu 10 verschiedene Datenwerte gleichzeitig an alle angemeldeten Subscriber verteilt werden. Die Datenübertragung erfolgt unbestätigt, was bedeutet, dass der Block keine Rückmeldung von den Empfängern erwartet.

Technische Besonderheiten

  • Unterstützt bis zu 10 verschiedene Datenquellen gleichzeitig

  • Verwendet den generischen Datentyp ANY für maximale Flexibilität

  • Unicode-String-Unterstützung für ID und STATUS

  • Unbestätigte Kommunikation für reduzierte Latenz

  • Generische Implementierung durch GEN_PUBLISH Basisklasse

Zustandsübersicht

  1. Nicht initialisiert: Block ist inaktiv

  2. Initialisiert: Block ist bereit für Datenverteilung

  3. Sendebereit: Verarbeitet REQ-Ereignisse und verteilt Daten

Anwendungsszenarien

  • Verteilung von Sensordaten an mehrere Verbraucher

  • Broadcast-Kommunikation in verteilten Systemen

  • Datenverteilung in Echtzeit-Steuerungssystemen

  • Multi-Consumer Datenpipeline-Architekturen

⚖️ Vergleich mit ähnlichen Bausteinen

Im Vergleich zu bestätigten Kommunikationsblöcken bietet PUBLISH_10 reduzierte Latenz durch unbestätigte Übertragung. Gegenüber Blöcken mit weniger Datenkanälen ermöglicht er die gleichzeitige Verteilung mehrerer Datenströme.

Fazit

Der PUBLISH_10 Funktionsblock ist eine leistungsstarke Lösung für unbestätigte Multi-Daten-Publish-Subscribe-Kommunikation in IEC 61499-Systemen. Seine Flexibilität bei der Datenaufnahme und die Unterstützung für bis zu 10 parallele Datenkanäle machen ihn ideal für komplexe Datenverteilungsaufgaben in industriellen Automatisierungssystemen.