SUBSCRIBE_2

image

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.

SUBSCRIBE_2

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:

  1. Nicht initialisiert: Block wartet auf INIT-Ereignis

  2. Initialisiert: Block ist bereit zum Empfang von Daten

  3. 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.