PUBLISH_0

image

Einleitung

Der PUBLISH_0-Funktionsblock dient zum Veröffentlichen von Daten für einen oder mehrere SUBSCRIBE_0-Blöcke. Er ermöglicht eine unbestätigte Kommunikation zwischen verschiedenen Komponenten in einem 4diac-System.

PUBLISH_0

Schnittstellenstruktur

Ereignis-Eingänge

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

  • REQ: Sendeanforderung für Daten (unbestätigt) mit zugehörigem Daten QI

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): Qualitätsindikator für die Blockaktivierung

  • ID (WSTRING): Identifikationsstring für die Kommunikation

Daten-Ausgänge

  • QO (BOOL): Qualitätsindikator für die Blockausgabe

  • STATUS (WSTRING): Statusinformationen über die ausgeführte Operation

Adapter

Keine Adapter-Schnittstellen vorhanden.

Funktionsweise

Der PUBLISH_0-Block ermöglicht die Veröffentlichung von Daten über ein Publish-Subscribe-Muster. Bei Initialisierung (INIT) wird der Block mit einer spezifischen ID konfiguriert. Bei einer Sendeanforderung (REQ) werden die Daten an alle registrierten Subscriber verteilt. Die Kommunikation erfolgt unbestätigt, was bedeutet, dass keine Rückmeldung von den Empfängern erwartet wird.

Technische Besonderheiten

  • Verwendet WSTRING-Datentypen für ID und STATUS für internationale Zeichenunterstützung

  • Implementiert unbestätigte Kommunikation (unconfirmed)

  • Unterstützt multiple Subscriber über eine einzige Publish-Instanz

  • Generische Implementierung als GEN_PUBLISH

Zustandsübersicht

Der Block durchläuft folgende Hauptzustände:

  1. Nicht initialisiert: Block ist betriebsbereit, aber nicht konfiguriert

  2. Initialisiert: Block ist konfiguriert und bereit zum Senden

  3. Sendebereit: Block kann Daten an Subscriber verteilen

Anwendungsszenarien

  • Verteilung von Sensordaten an mehrere Verarbeitungsknoten

  • Broadcast von Systemstatusinformationen

  • Verteilung von Steuerbefehlen an multiple Aktoren

  • Datenaustausch in verteilten Steuerungssystemen

⚖️ Vergleich mit ähnlichen Bausteinen

Im Vergleich zu bestätigten Kommunikationsblöcken bietet PUBLISH_0:

  • Höhere Performance durch unbestätigte Übertragung

  • Geringere Latenzzeiten

  • Einfacherere Implementierung

  • Keine Garantie der Zustellung

Fazit

Der PUBLISH_0-Block ist ein effizientes Werkzeug für unbestätigte Kommunikation in verteilten Steuerungssystemen. Seine einfache Schnittstelle und die Unterstützung für multiple Empfänger machen ihn ideal für Szenarien, in denen Performance wichtiger ist als garantierte Zustellung.