Datenschnittstelle aktualisieren

Die Datenquellenvariablen werden zur Laufzeit zyklisch aktualisiert. Dabei werden nur die Daten aktualisiert die entweder in der aktuellen Visualisierung verwendet werden oder die die Eigenschaft Immer aktualisieren haben.

Sie können das Zeitintervall bestimmen. Außerdem können Sie Variablen bestimmen, deren Daten bei jedem Aktualisierungsintervall übertragen und damit immer aktualisiert werden. Um Variablen zu aktualisieren, die nicht im Applikationscode verwendet werden, können Sie mit Hilfe von Schnittstellenfunktionen des Datenquellverwalter programmatisch eine Aktualisierung implementieren.

Hinweis

Bei zu hohem Datenaufkommen zwischen entferntem und lokalem Gerät wird automatisch die Aktualisierungsrate herabgesetzt. Das kann zu einer unvollständigen Übertragung führen!

Siehe auch

Aktualisierungsrate setzen

  1. Öffnen Sie den Editor der Datenquelle.

  2. Wählen Sie die Registerkarte Allgemein und Diagnose.

  3. Geben Sie im Feld Aktualisierungsrate einen Wert ein.

    Beispiel: 100

    ⇒ Die Daten vom entfernten Gerät zum lokalem Gerät werden alle 100 ms übertragen.

Siehe auch

Variable für ‘Immer aktualisieren’ auswählen

Hinweis

Vermeiden Sie, zu viele Variablen immer zu aktualisieren. Jede Aktualisierung produziert zusätzlichen Datenverkehr auf der Verbindung zwischen entferntem und lokalem Gerät. Bei zu hohem Datenaufkommen wird automatisch die Aktualisierungsrate herabgesetzt. Das kann zu einer unvollständigen Übertragung führen!

  1. Öffnen Sie den Editor der Datenquelle.

  2. Aktivieren Sie für eine Variable die Option Immer aktualisieren.

    ⇒ Die Daten der Variablen werden bei jedem Aktualisierungszyklus übertragen, auch wenn die Daten sich nicht geändert haben.

Siehe auch

Daten programmatisch aktualisieren

Der Datenquellenverwalter stellt in der Bibliothek Datasources Schnittstellenfunktionen zur Verfügung. Wenn ein Datanquellenverwalter im Applikationscode eingebunden ist, wird automatisch die globale Variable g_Datasources instanziert. Sie bietet Zugriff auf die Schnittstellenfunktionen.

Sie können damit einzelne Variablen aktualisieren, die nicht in der gerade aktiven Visualisierung aufgerufen werden.

Beispiel

Die Variable ivar wird über Methoden der Bibliothek Datasources aktiviert (und deaktiviert), so dass ihr Wert übertragen wird. Darüber hinaus können Sie konfigurieren, dass die Variable nur über eine definierte Zeitdauer hinweg aktualisiert wird, um Übertragungskapazität zu sparen.

//Synchronize with DatasourcesTask and block until access is possible
//Regard the feedback in ERR_OK or in ERR_DE_MULTITASKING_LOCKED
g_Datasources.BeginDataConfiguration(TRUE);
// Activate variable
g_DataServer.UseData(ADR('RemoteDevice.Application.PLC_PRG.iVar'));
// Deactivate variable
//g_DataServer.ReleaseData(ADR('RemoteDevice.Application.PLC_PRG.iVar'));
g_DataServer.EndDataConfiguration();

Die Datenkonfiguration wird mit BeginDataConfiguration(TRUE) gestartet und somit die Synchronisierung der Task DatasourceTask mit der Applikationstask initiiert. Mit TRUE wird die Abarbeitung blockiert, bis der Zugriff auf die Variable möglich wird, mit FALSE werden wiederholte Zugriffsversuche ermöglicht ohne zu blockieren. Die Rückgabewerte ERR_OK oder ERR_DS_MULTITASKING_LOCKED geben eine Rückmeldung zu den Zugriffsversuchen.

Nach erfolgreicher Synchronisierung wird die Variable mit Hilfe der Methode UseData aktiviert. Danach wird die Datenkonfiguration mit der Methode EndDataConfiguration abgeschlossen und die Synchronisierung mit der Task DatasourceTask wieder gelöst.

Auf gleiche Weise wird die Methode ReleaseData verwendet, um die Variable zum gewünschten Abarbeitungszeitpunkt wieder zu deaktivieren.