SAVE_NAMED_MEMORY_RETAIN-Baustein

Kurz-Information

Name

SAVE_NAMED_MEMORY_RETAIN

→POE-Typ

→Funktion

Kategorie

Standard (non-safe), MemoryEnh, Baustein mit interner Fehlerdiagnose

Konform zur →IEC-Norm

(Plus) nicht in IEC-Norm vorgesehen

Grafische Schnittstelle

Verfügbar ab

Version 3.2.3 (für Bibliothek Standard)
(Warnung) Dieser Baustein wird nur für die integrierte SPS und die Plattformen WindowsX86 und LinuxX86 unterstützt.

Version 3.8.0 (für Bibliothek Standard (non-safe)): Baustein in diese Bibliothek verschoben

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 Neuron RTS max-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

→Datentyp

Beschreibung

Eingänge:

NAME

STRING

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.

Informieren Sie sich unter:

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 der im Abschnitt VAR RETAIN ... END_VAR deklarierten Variablen werden im Ausgangszustand (= Zustand Init) geladen und mit Hilfe des RTSCycleInfo-Bausteins im Endzustand gespeichert.
(Info) Lesen Sie unter RTSCycleInfo-Baustein nach, zu welchem Zeitpunkt der Initialisierungs- bzw. der Term-Zustand ausgeführt werden.

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.