PUBLISH_10¶
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.
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¶
- Nicht initialisiert: Block ist inaktiv
- Initialisiert: Block ist bereit für Datenverteilung
- 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.