SAVE_NAMED_MEMORY_RETAIN-Baustein

Kurz-Information

NameSAVE_NAMED_MEMORY_RETAIN
→POE-Typ→Funktion
KategorieIEC-Baustein, MemoryEnh, Baustein mit interner Fehlerdiagnose
Konform zur →IEC-Norm

(plus) nicht in IEC-Norm vorgesehen

Grafische Schnittstelle

Verfügbar ab

Version 3.2.2 (für Bibliothek Standard)

(warning) Dieser Baustein wird nur für die integrierte SPS und die Plattformen WindowsX86 und LinuxX86 unterstützt.

Funktionalität

Der Baustein speichert einen →gepufferten Speicherbereich in den permanenten Speicher. Den Namen des Speicherbereichs geben Sie am Eingang NAME ein.

Standardmäßig wird die entsprechende Datei im Unterverzeichnis PLC des logi.RTS-Installationsverzeichnisses abgelegt. Falls Sie die Ablage in einem anderem Verzeichnis bevorzugen, kontaktieren Sie Ihren Systemintegrator und bitten Sie darum, die Konfiguration des Systemdiensts zu ändern.

Eingänge, Ergebniswert


Bezeichner→DatentypBeschreibung
Eingänge:NAMESTRING

Name des Speicherbereichs

Ergebniswert:

USINT

liefert das Ergebnis des Speicherns

  • 16#00: erfolgreiches Speichern
  • 16#04: genannter Speicherbereich nicht gefunden
  • 16#05: Eingang/Ausgang-Fehler
  • 16#FF: Der Dienst ist nicht verfügbar.

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:

  • Es ist kein weiterer Speicher auf dem Zielsystem mehr verfügbar.
  • Der Datentyp der Variable, auf die zugewiesen wird, stimmt nicht mit dem Datentyp des Speicherbereichs überein.
  • Der RTSSMem-Systemdienst wurde nicht geladen.

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

Beispiel für Verwendung im ST-Editor

Die Werte für den gepufferten Speicherbereich 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.

TYPE
  ConfigStruct : STRUCT
    MaximumMotorSpeed        : REAL := 3.5;
    MaximumMotorAcceleration : REAL := 0.75;
    Initialized : BOOL;
  END_STRUCT;
END_TYPE

PROGRAM ExampleNamedMemoryRetain
  VAR
    init   : BOOL;
    term   : BOOL;
    config : REF_TO ConfigStruct;
  END_VAR
  RTSCycleInfo(
  Init=>init,
  Term=>term
  );
  IF init THEN
    config := GET_NAMED_MEMORY_RETAIN(NAME:='Config');
    IF config <> NULL AND NOT config^.Initialized THEN
      config^.MaximumMotorSpeed := 3.5;
      config^.MaximumMotorAcceleration := 0.75;
      config^.Initialized := TRUE;
    END_IF;
  END_IF;
  IF term THEN
    // The following line only saves the block named 'Config'.
    // As an alternative, the PLC program could also call SAVE_ALL_NAMED_MEMORY_RETAIN()
    SAVE_NAMED_MEMORY_RETAIN(NAME:='Config');
  END_IF;
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.