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.
![]() |
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.
![]() |
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
DOWNLOAD Projekte