Datenanbindung mit Datenquellen
Um auf entfernte Geräte auf die dort laufenden Applikationen lesend und schreibend zuzugreifen, können Sie Ihre Applikation um einem Datenquellenverwalter mit einer oder auch mehreren Datenquellen erweitern.
Die Funktionalität des Datenquellenverwalters ermöglicht den Verbindungsaufbau und die Kommunikation zu entfernten Geräten und stellt über Datenquellenvariablen deren Daten zur Verfügung. Dabei kommunizieren die Partner über eine Punkt-zu-Punkt-Verbindung. Abhängig vom Netzwerk, in dem sich die Steuerungen befinden, erfolgt der Verbindungsaufbau über die Datenquellentypen CODESYS Symbolic oder CODESYS ApplicationV3.
Datenquellentyp CODESYS-Symbolic
Der Datenquellentyp CODESYS Symbolic ist nur zusammen mit einem CODESYS-Gerät verfügbar. Dann aber ist es vorteilhaft diesen Typ zu verwenden.
Tipp
Unter einem CODESYS HMI-Gerät können Sie entweder die Datenanbindung mit Datenquellentyp CODESYS Symbolic oder mit Datenquellentyp CODESYS ApplikationV3 konfigurieren. Nur wenn keine Resourcen für die Symbolkonfiguration auf dem entfernten Gerät zur Verfügung stehen, ist es ratsam den Datenquellentyp CODESYS ApplikationV3 zu wählen. Das ist beispielsweise bei Embedded- oder Kleinsteuerungen der Fall, deren Applikationen oftmals keine Symbolkonfiguration enthalten.
Voraussetzung für einen erfolgreichen Verbindungsaufbau ist, dass im entfernten Gerät Symbole konfiguriert wurden und folglich eine Symboldatei vorhanden ist. Die Applikation im entfernten Gerät verfügt über eine Symbolkonfiguration. Dann kann die Datenanbindung über ein symbolisches Monitoring erfolgen.
Beim symbolischen Monitoring wird die Symboldatei auf dem fernen Gerät ausgelesen und die dort gespeicherten Variableninformationen für die Datenquellenvariablen und die Datenübertragung verwendet. Das hat den Vorteil, dass die Applikation im lokalen Gerät nicht aktualisiert werden muss, wenn jemand die entfernte Applikation ändert, ohne deren Symbolkonfiguration zu ändern. Wenn die Symboldatei auch auf Ihrem Entwicklungssystem liegt, entweder als Datei oder auch als Symbolkonfigurationsobjekt als Teil Ihres Projekts, dann kann auch die lokale Symboldatei ausgelesen werden. Sie können dann während der Entwicklungsphase offline arbeiten.
Während der Entwicklungsphase können Sie mit Hilfe von lokalen Symbolkonfigurationsdateien eine Variablenliste offline erstellen. Somit können Sie offline ohne Verbindung zur Datenquelle auf Basis der Symbolinformation eine lokale Applikation entwickeln.
Tipp
Ab CODESYS Communication 4.5.0.0 und Programmiersystem / Laufzeitsystem V3.5 SP20 werden strukturierte Datentypen mit ihrem ursprünglichen Typnamen übertragen anstelle des bisher verwendeten Namens GeneratedType_<number>
.
CODESYS V2
Die Geräte befinden sich im selben Netzwerk. Das V2-Laufzeitsystem auf der entfernten Steuerung stellt eine Kommunikationsschnittstelle zur Verfügung.
CODESYS V2 (Über Gateway)
Die Geräte befinden sich nicht im selben Netzwerk. Sie werden über ein V2-Gateway verbunden.
Hinweis: Bei dieser Verbindung muss auf dem Entwicklungsrechner, auf dem CODESYS V3 läuft, ein CoDeSys V2.3 Gateway Server (V2-Gateway) installiert sein.
CODESYS V3
Die Geräte befinden sich im selben Netzwerk. Das V3-Laufzeitsystem auf der entfernten Steuerung stellt eine Kommunikationsschnittstelle zur Verfügung.
CODESYS V3 (Über Gateway)
Die Geräte befinden sich nicht im selben Netzwerk. Sie werden über ein V3-Gateway verbunden.
Datenquellentyp CODESYS ApplikationV3
Dieser Datenquellentyp ist unter allen Gerätetypen verfügbar.
Die Datenanbindung mit Datenquellentyp CODESYS ApplikationV3 erfolgt über das Adressmonitoring. Das erfordert, dass die Adressinformationen zwischen entfernter Steuerung und lokalem Gerät zusammenpassen: Das Laufzeitsystem der lokalen Applikation braucht gültige Kommunikationsparameter, um die Verbindung aufzubauen.
Tipp
Bei der Konfiguration der Datenquelle können Sie sich von der Funktionalität des Netzwerk-Scans unterstützen lassen.
Nachteil: Wenn Sie die entfernte Applikation ändern, müssen Sie anschließend auch die lokale Applikation, beispielsweise die HMI-Applikation, aktualisieren.
Von Vorteil ist, dass keine Symbolkonfiguration in der entfernten Applikation erforderlich ist.
Tipp
Ab CODESYS Communication 4.5.0.0 st es möglich, Variablen von Aufzählungstypen mit ihrem ursprünglichen Typ zu übertragen, während frühere Versionen nur den numerischen Basistyp der Aufzählung unterstützten.
Datenquellentyp OPC UA-Server
Dieser Datenquellentyp dient dem Austausch zwischen OPC UA Server und Clients.
Für weitere Informationen siehe: Verbindung einer Datenquelle OPC UA Client zu einem OPC UA Server herstellen und OPC UA Server
Anmerkung
Eine Datenquelle vom Typ "OPC UA Server" unterstützt nicht die folgenden Bausteintypen/Datentypen:
ARRAY von Strukturen
OPC UA
VariableTypes
(Quality, Engineering Units etc.)Property
Method
Datenübertragung
Zur Laufzeit der lokalen Applikation werden die Datenquellenvariablen, die im Datenquelleneditor in Registerkarte Variablen erscheinen, in konfigurierbaren Zeitintervallen aktualisiert. Die entfernte Applikation wird dabei auch ausgeführt. Variablen, die in der Visualisierung, im Trend, als Alarm oder bei Rezepturen konfiguriert sind, werden automatisch übertragen und gespeichert. Wenn auf eine Variable nur im IEC-Code zugegriffen wird, wird die Variable nicht automatisch aktualisiert. In diesem Fall müssen Sie die Option Immer aktualisieren im Datenquelleneditor in Registerkarte Variablen aktivieren.
Skalarer Wert auf oberster Ebene
Beispiel:
PLC_PRG.hugo
Eigenschaft auf ein Programm oder auf eine GVL über einen Aufruf, wenn dieser mit
{attribute monitoring := 'call'}
markiert ist.Beispiel:
PLC_PRG.PropertyCall
Variable, die auf Bitadressen gemappt ist
Beispiel in
PLC_PRG
:x AT %MX0.5 : BOOL;
Variable (Typ
BIT
) in einem FunktionsbausteinBeispiel: Deklaration in
DUT
:x, y : BIT;
Bitzugriff:PLC_PRG.dutInst.y
Strukturiert erreichbare Variable
Beispiel:
PLC_PRG.outerInst.innerInst.dwVar
Eigenschaft auf Bausteininstanz, wenn diese mit
{attribute monitoring := 'call'}
markiert istBeispiel:
PLC_PRG.instance.PropertyCall
Eigenschaft sowohl auf oberster Ebene als auch auf einer Instanz, wenn diese mit
{attribute monitoring := 'variable'}
markiert istHinweis: Diese kann weder vom Monitoring noch von den Datenquellen beschrieben werden.
Arrayzugriff mit literalem Index
Beispiel:
PLC_PRG.arrOfInts[3]
,PLC_PRG.inst.arrOfBool[1]
Verschachtelter Zugriff (beispielsweise Array von Strukturen oder Struktur mit Arrays)
Achtung
In Visualisierungen verwendete Bitzugriffe, die über eine Datenquellenverbindung übertragen werden, funktionieren nur, wenn sie literale Offsetangaben enthalten. Eine Offsetangabe über definierte Konstanten kann eine Visualisierung nicht verarbeiten.