Publish and Subscribe
Publisher und Subscriber bieten eine Möglichkeit zum einfachen Austausch von Informationen.
- Publisher stellen Informationen zur Verfügung.
- Subscriber abonnieren Informationen eines referenzierten Publishers um diese dann in einem bestimmten Programmabschnitt (z. B. Template) verfügbar zu machen.
Unabhängig davon, wo Publisher und Subscriber implementiert werden (z. B. auf unterschiedlichen SPS), werden Informationen auf einheitliche Art und Weise ausgetauscht.
Beispiel 1

Anwendung von Publisher und Subscriber auf konkrete Funktionen und Objekte.
Jeder Funktionsbaustein kann als Publisher eingesetzt sein. Als Subscriber dienen Funktionsbausteine, die den gewünschten Datentypen abonnieren können. Hierzu muss der eindeutige Objektname des Publishers und seine AMS-NetID am Subscriber angegeben sein.
Beispiel 2

Anwendung von Publisher und Subscriber für beliebige Datentypen.
Über den FB_BA_RawPublisher können Informationen unterschiedlicher Größe dem FB_BA_RawSubscriber zur Verfügung gestellt werden. Wie im vorigen Beispiel müssen der Objektname und die AMS-NetID am Subscriber angegeben sein. Diese Konfiguration findet, wie im Beispiel angedeutet, einmalig im FB_init des FB_BA_RawSubscriber statt.
Wenn von einem Objekt mehrere Instanzen mit dem gleichen Symbolnamen existieren, dann ist es notwendig den kompletten Symbolnamen des Objektes am Parameter sSubject anzugeben.
Beispiel 3
Im Beispiel sollen die Störungen zweier Heizkreispumpen separat veröffentlicht und abonniert werden.

Innerhalb der Heizkreise haben die Pumpen Pu und die veröffentlichen Binärobjekte der Störung Dst den gleichen Namen.
Daher erfolgt das Publishen des Parameters aus beiden Templates analog.


Das Abonnieren (subscribe) erfolgt separat, es ist lediglich darauf zu achten, dass der Symbolpfad für das zu abonnierende Ereignis korrekt angegeben ist.

