LoadRetainDataFast-Baustein

Kurz-Information

NameLoadRetainDataFast
→POE-Typ→Funktion
KategorieWeitere Systembausteine, Persistenz-Bausteine, Baustein mit interner Fehlerdiagnose
Grafische Schnittstelle

Verfügbar ab

Version 3.2.2 (für Bibliothek Standard)
Außerdem wird der Baustein für die Plattform LinuxX86 und WindowsX86 (inkl. integrierte SPS unter Windows) unterstützt.

Funktionalität

Der Baustein ladet Werte aus einer binären Datei für →gepufferte Variablen. Vergleiche LoadRetainData-Baustein für ein alternatives Laden.

Einschränkungen

  • Dieser Baustein ladet die Werte für die gepufferten Variablen nur, falls seit dem Speichern der gepufferten Variablen die Anwendung nicht geändert und geladen wurde. Das bedeutet, dass die Anwendung den gleichen →Fingerprint haben muss.
  • Die Werte für gepufferte →Funktionsbaustein-Instanzen werden nicht geladen.

Verwendungsempfehlung

Verwenden Sie den Baustein nur einmal in einem →Programm und am Anfang des Zyklus der Anwendung (= im Init-Zustand). Siehe Beispiel unten.
Grund: Abhängig von der Anzahl der Variablen und vom Speichermedium des Zielsystems kann das Laden der Werte einen längeren Zeitraum in Anspruch nehmen. Falls Sie den Baustein daher öfter in der Anwendung aufrufen, erhöht sich die Ausführungsdauer der Anwendung mit jedem Aufruf.

Eingänge, Ergebniswert


Bezeichner→DatentypBeschreibung
Eingänge:fileNameSTRING

Name der Datei, in der die Werte der Variablen gespeichert sind
Ohne einer Belegung dieses Eingangs wird die Datei retain.var verwendet.
Standardmäßig wird die Datei im Unterverzeichnis PLC des logi.RTS-Installationsverzeichnisses gesucht. Falls Sie ein anderes Verzeichnis bevorzugen, kontaktieren Sie Ihren Systemintegrator und bitten Sie darum, die Konfiguration des Systemdiensts zu ändern.

Ergebniswert:UDINT

liefert den Indikator für den Erfolg:

  • 16#00: OK
  • 16#01: Speicherzuweisung fehlgeschlagen
  • 16#02: fehlende oder ungültige Daten
  • 16#03: IO-Fehler
  • 16#04: anderer Fehler
  • 16#05: keine gepufferten Daten verfügbar
  • 16#ff: Systemservice nicht auf das Zielsystem geladen

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Interne Fehlerdiagnose für Baustein

Der Baustein prüft die folgenden Fehlerfälle:

  • Der Systemdienst wurde nicht geladen.
  • Der Ergebniswert des Funktionsaufrufs entspricht einem Fehler (Ergebniswert ≠ Wert 16#00).

In einem solchen Fehlerfall wird der Ausgang ENO des Bausteins auf den Wert FALSE (oder eine Entsprechung) gesetzt.

Beispiel für Verwendung im ST-Editor

Die Werte für die Variablen, die im Abschnitt VAR RETAIN ... END_VAR deklariert sind, werden mit Hilfe des RTSCycleInfo-Bausteins im Initialisierungszustand (= Init-Zustand) geladen und im Term-Zustand gespeichert.
(info) Lesen Sie am besten unter RTSCycleInfo-Baustein nach, zu welchem Zeitpunkt der Initialisierungs- bzw. der Term-Zustand ausgeführt wird.

PROGRAM ExampleLoadSaveRetainDataFast
  VAR RETAIN
    Test1    : BOOL;
    Test2    : INT;
    Test3    : REAL;
    Test4    : STRING[50];
  END_VAR
  VAR
    init          : BOOL;
    term          : BOOL;
    loadRetainRC  : UDINT;
    loadRetainENO : BOOL;
    saveRetainRC  : UDINT;
    saveRetainENO : BOOL;
  END_VAR
  RTSCycleInfo(
    Init=>init,
    Term=>term
  );
  loadRetainRC := LoadRetainDataFast(EN:=init, ENO=>loadRetainENO);
  saveRetainRC := SaveRetainData(EN:=term, ENO=>saveRetainENO);
END_PROGRAM

Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.