LoadRetainData-Baustein
Kurz-Information
Name |
LoadRetainData |
→POE-Typ |
|
Kategorie |
Weitere Systembausteine, Persistenz-Bausteine, Baustein mit interner Fehlerdiagnose |
Grafische Schnittstelle |
|
Verfügbar ab |
Der Baustein wird für die Plattform WindowsX86 (inkl. integrierte SPS unter Windows) unterstützt. |
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 |
Beschreibung |
|
Eingänge: |
fileName |
STRING |
Name der Datei, in der die Werte der Variablen gespeichert sind |
Ausgänge: |
nrNonLoaded |
INT |
Anzahl der Variablen, die in der Datei vorhanden sind, aber keine RETAIN-Markierung in der Anwendung aufweisen |
nrMoreRetainVars |
INT |
Anzahl der Variablen mit einer RETAIN-Markierung in der Anwendung, für die aber keine Werte aus der Datei geladen wurden |
|
RC |
UDINT |
Ergebniscode:
|
|
Ergebniswert: |
– |
UDINT |
liefert 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.
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.