Skip to main content

Beispiel: Proxy

Produkt: CODESYS Application Composer

Dieses Beispiel zeigt die Verwendung von Proxys. Mit Proxys ist es möglich, Modulinstanzen miteinander kommunizieren zu lassen, die Teile von Applikationen auf unterschiedlichen Steuerungen sind.

Beschreibung

Die Module dieses Beispiels beschreiben ein Gebäude und einen Schuppen, die jeweils eine eigene Steuerung besitzen und somit auf physikalisch getrennter Hardware laufen.

Im Gebäude ist der Schuppen über einen „Schuppen-Proxy“ referenziert, der speziell für den Fall einer nötigen Kommunikation für das Schuppen-Modul erstellt wurde. Über den „Schuppen-Proxy“ kann die Steuerung des Gebäudes mit der Steuerung des Schuppens Informationen austauschen (senden und empfangen).

Die Kommunikation über die Steuerungsgrenzen hinweg erfolgt über Netzwerkvariablenlisten, die im Bedarfsfall automatisch vom CODESYS Application Composer angelegt und konfiguriert werden. Der Proxy wird nicht über „MirrorVars“ implementiert. Es wird keine Kommunikation über das bereitgestellte „RMP“ verwendet.

_ex_ac_img_proxy1.png

Für weitere Informationen sieheSektion: Proxies.

Weitere Informationen

Um dieses Beispiel ausführen zu können, müssen Sie zwei Steuerungen verwenden, die im Netzwerk miteinander verbunden sind. Wenn Sie beide Applikationen mit Hilfe des CODESYS Application Composer erstellt, auf die Steuerung geladen und gestartet haben, können Sie über die bereits vorhandenen Visualisierungen beobachten und testen.

Als zweite Steuerung kann beispielsweise eine unter CODESYS Control Win laufende Steuerung auf einer entsprechend konfigurierten virtuellen Maschine genutzt werden.

Alle Funktionsbausteine, die als Proxy verwendet werden sollen, müssen den Baustein AC.ProxyInstance erweitern oder selbst die Schnittstelle AC.IProxyInstance implementieren. Oftmals implementieren die Proxy-Funktionsbausteine auch dieselbe Schnittstelle wie das Modul, zu dem kommuniziert werden soll.

_ex_ac_img_proxy2.png

Wenn „MirrorVar“-Variablen verwendet werden, müssen die vom Modul zum Proxy übertragenen oder gespiegelten Variablen in den Funktionsbausteinen der beiden Applikationen mit gleichem Namen und Typ vorhanden sein. Dies ist über die Moduldeklaration spezifizierbar.

Neben den gespiegelten Variablen kann die Kommunikation über RMP erfolgen. Dies geschieht in den Hauptteilen der Proxy-Instanzen und einer der zyklisch aufgerufenen Methoden des Modul-FBs. Hierzu steht ein 64 Byte großes Array zur Verfügung, auf das jede Instanz lesend und schreibend zugreifen kann.

Systemvoraussetzungen und Einschränkungen

Programmiersystem

CODESYS Development System Version 3.5.17.0 oder höher

Laufzeitsystem

CODESYS Control Win Version 3.5.17.0

Zusatzkomponenten

CODESYS Application Composer

Hinweis

_example_icon.png DOWNLOAD Projekte