Datenquellenverwalter

Um auf entfernte Geräte und 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 verschiedene Datenquellentypen und verschiedene Verbindungstypen.

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.

Siehe auch

Datenquellentyp

Die Kommunikation zwischen entfernten und lokalen Geräten erfolgt über Datenquellentypen. In CODESYS stehen Ihnen die folgenden 2 Typen zur Verfügung.

CODESYS Symbolic:

Der Datenzugriff erfolgt dabei über symbolisches Monitoring. Dafür wird eine 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.

Bemerkung

Verwenden Sie üblicherweise CODESYS Symbolic. Verwenden Sie CODESYS Symbolic nur dann nicht, wenn in der entfernten Steuerung keine Ressourcen für eine Symbolkonfiguration vorhanden sind.

CODESYS ApplikationV3:

Der Datenzugriff erfolgt über Adressmonitoring. Das erfordert, dass die Adressinformationen zwischen entfernter Steuerung und lokalem Gerät zusammenpassen. Nachteil: Bei einer Änderung der entfernten Applikation muss anschließend die lokale Applikation, beispielsweise die HMI-Applikation, aktualisiert werden! Von Vorteil ist, dass keine Symbolkonfiguration in der entfernten Applikation erforderlich ist.

Bemerkung

Verwenden Sie diese Kommunikation bei Embedded- oder Kleinsteuerungen, wenn keine Resourcen für die Symbolkonfiguration zur Verfügung stehen.

Siehe auch

Verbindungstypen

Die Funktionalität des Datenquellenverwalters ermöglicht den Aufbau einer Punkt-zu-Punkt-Verbindung von einem lokalen Gerät zu einem oder mehreren entfernten Geräten, auch über Netzwerke hinweg. Wählen Sie einen passenden Verbindungstyp.

Wenn die Kommunikation auf dem Datenquellentyp CODESYS Symbolic basiert, sind folgende Verbindungstypen möglich:

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

Wenn die Kommunikation auf dem Datenquellentyp CODESYS Applikation V3 basiert, braucht das Laufzeitsystem der lokalen Applikation gültige Kommunikationsparameter, um die Verbindung aufzubauen. Bei der Konfiguration der Datenquelle können Sie sich von der Funktionalität des Netzwerkscans unterstützen lassen.

Siehe auch

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.

Die Datenquellentypen unterstützen den (lesenden oder schreibenden) Datenzugriff auf Variablen der Quellsteuerung bei folgenden Datentypen:

  • 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 Funktionsbaustein

    Beispiel: 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 ist.

    Beispiel: PLC_PRG.instance.PropertyCall

  • Eigenschaft sowohl auf oberster Ebene als auch auf einer Instanz, wenn diese mit {attribute monitoring := ‚variable‘} markiert ist.

    Hinweis: 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)

Vorsicht

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.

Siehe auch