SUBSCRIBE_2
Einleitung
Der SUBSCRIBE_2-Funktionsblock dient als Abonnent für einen PUBLISH_2-Block und ermöglicht den Empfang von Daten über ein Publish-Subscribe-Kommunikationsmuster. Der Block kann zwei verschiedene Datenwerte von einem Publisher empfangen und weiterverarbeiten.
Schnittstellenstruktur
Ereignis-Eingänge
INIT: Initialisierungsereignis mit den zugehörigen Daten QI und ID
RSP: Response-Ereignis mit zugehörigem Datenwert QI
Ereignis-Ausgänge
INITO: Initialisierungsbestätigung mit den Daten QO und STATUS
IND: Indikationsereignis bei neuen verfügbaren Daten mit QO, STATUS, RD_1 und RD_2
Daten-Eingänge
QI (BOOL): Qualifier Input - Steuert die Aktivierung des Blocks
ID (WSTRING): Identifikationsstring zur Zuordnung zum entsprechenden Publisher
Daten-Ausgänge
QO (BOOL): Qualifier Output - Status der Blockoperation
STATUS (WSTRING): Statusinformationen als Unicode-String
RD_1 (ANY): Empfangene Daten 1 (beliebiger Datentyp)
RD_2 (ANY): Empfangene Daten 2 (beliebiger Datentyp)
Adapter
Keine Adapter-Schnittstellen vorhanden.
Funktionsweise
Der SUBSCRIBE_2-Block initialisiert sich über das INIT-Ereignis und abonniert dabei einen spezifischen Publisher mittels des ID-Identifikators. Nach erfolgreicher Initialisierung bestätigt der Block dies über INITO. Bei eingehenden Daten vom Publisher löst der Block das IND-Ereignis aus und stellt die empfangenen Daten über RD_1 und RD_2 zur Verfügung.
Technische Besonderheiten
Unterstützt den Empfang von zwei verschiedenen Datenwerten gleichzeitig
Verwendet WSTRING für Status- und Identifikationsinformationen
Implementiert generische Datentypen (ANY) für maximale Flexibilität
Basiert auf dem GEN_SUBSCRIBE-Generic-Template
Zustandsübersicht
Der Block durchläuft folgende Hauptzustände:
Nicht initialisiert: Block wartet auf INIT-Ereignis
Initialisiert: Block ist bereit zum Empfang von Daten
Datenempfang: Verarbeitung eingehender Daten und Auslösen von IND
Anwendungsszenarien
Verteilte Steuerungssysteme mit Datenverteilung
IoT-Anwendungen mit Publisher-Subscriber-Architektur
Industrielle Automatisierung mit dezentraler Datenkommunikation
Systeme mit flexiblen Datentypanforderungen
⚖️ Vergleich mit ähnlichen Bausteinen
Im Vergleich zu einfacheren SUBSCRIBE-Blöcken bietet SUBSCRIBE_2 die Möglichkeit, zwei verschiedene Datenwerte parallel zu empfangen. Die Verwendung von ANY-Datentypen ermöglicht eine höhere Flexibilität gegenüber typspezifischen Implementationen.
Fazit
Der SUBSCRIBE_2-Block stellt eine erweiterte Lösung für Publish-Subscribe-Kommunikation in 4diac-Systemen dar, die durch die Unterstützung zweier Datenkanäle und generischer Datentypen besonders flexibel einsetzbar ist.