LoadRetainData-Baustein

Kurz-Information

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

Verfügbar ab
  • Version 1.92.0 (für logi.CAD 3) und Version 3.8.2 von logi.RTS
    Dieser Baustein wird für diese Zielsysteme unterstützt: →Raspberry Pi,  →Revolution Pi
    Außerdem wird der Baustein für die Plattform WindowsX86 (inkl. integrierte SPS unter Windows) unterstützt.
  • Version 3.2.2 (für Bibliothek Standard) – Erweiterung: Ergebniswert hinzugefügt, Datentyp für filename von STRING[50] auf STRING geändert, breitere Schnittstelle, neue Ablage im Unterordner Persistence

Funktionalität

Der Baustein ladet Werte aus einer CSV-Datei für →gepufferte Variablen. Vergleiche LoadRetainDataFast-Baustein für ein alternatives Laden.

Einschränkungen

  • STRING-Werte werden nur bis zum 254. Zeichen geladen. Zeichenfolgen > 254 Zeichen werden entsprechend abgeschnitten.
  • 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, Ausgänge, Ergebniswert


Bezeichner→DatentypBeschreibung
Eingänge:fileNameSTRINGName der Datei, in der die Werte der Variablen gespeichert sind
Ohne einer Belegung dieses Eingangs wird die Datei persistence.csv 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.
Ausgänge:nrNonLoadedINTAnzahl der Variablen, die in der Datei vorhanden sind, aber keine RETAIN-Markierung in der Anwendung aufweisen
nrMoreRetainVarsINT

Anzahl der Variablen mit einer RETAIN-Markierung in der Anwendung, für die aber keine Werte aus der Datei geladen wurden
Die Werte, die für nrMoreRetainVars ausgegeben werden, verursachen keinen Fehler.

RCUDINT

Ergebniscode:

  • 0: OK
  • 2: Fehler während des Ladens der Datei
  • 3: Fehler während der Initialisierung oder keine Variablen mit RETAIN-Markierung vorhanden
  • 4: Fehler während des Öffnens der Datei
  • 6: kein gültiger Dateiname
  • 7: Werte einiger Variablen konnten nicht geladen werden (siehe nrNonLoaded)
  • 8: Syntaxfehler in der Datei
  • 9: Systemdienst nicht auf dem Zielsystem geladen
Ergebniswert:UDINTliefert den Ergebniscode von RC

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 Ergebniscode des Funktionsaufrufs entspricht einem Fehler (Ausgang RC ≠ Wert 0).

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 ExampleLoadSaveRetainData
  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;
    nrNonLoaded   : INT;
  END_VAR
  RTSCycleInfo(
    Init=>init,
    Term=>term
  );
  LoadRetainData(
    EN:=init,
    fileName:='Persistent.csv',
    nrNonLoaded=>nrNonLoaded,
    RC=>loadRetainRC,
    ENO=>loadRetainENO
  );
  SaveRetainData(
    EN:=term,
    fileName:='Persistent.csv',
    RC=>saveRetainRC,
    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.