Remanente Speichervariablen

Systemvariablen - Das remanente Speicherprotokoll ermöglicht das Erstellen von Tags, die auf einen Speicherbereich zeigen, dessen Inhalt beim Ausschalten der HMI erhalten bleibt.

Die physische Unterstützung für den Remanenzspeicher basiert auf der FRAM-Technologie.

Wichtig: Nicht alle Bediengeräte enthalten einen FRAM-Speicher. Wenn kein FRAM-Speicher verfügbar ist, wird der Verbleib mit einem Benutzerspeicher (Flash oder Festplatte) unterstützt. Bei der Flash-Technologie ist die maximale Anzahl von Schreibvorgängen begrenzt. Die Verwendung von Flash als Speichermedium für den remanenten Speicher mit regelmäßigen Schreibvorgängen kann die Speicherkomponenten beschädigen. Prüfen Sie das Datenblatt des HMI-Bediengeräts auf die Verfügbarkeit von einem FRAM-Speicher.

Wichtig: Der remanente Speicher ist ein flacher Speicherbereich von 16 KByte , der in Bytes organisiert und über einen Offset zugänglich ist. Siehe unteres Schema.

Remanenter Speicher vs. Rezeptspeicher
Rezeptdaten werden im Flash gespeichert (außer für JMobile PC Runtime), während remanente Daten in einem FRAM gespeichert werden. Der Flash-Speicher ist nicht für eine hohe Anzahl von Schreibvorgängen geeignet, während FRAM praktisch eine unbegrenzte Anzahl von Schreibvorgängen unterstützt und demzufolge vorzuziehen ist, wenn häufige Schreiboperationen erforderlich sind.

 

Einstellungen Protokolleditor

Wählen Sie in der SPS-Modellliste des Protokolleditors die Option Remanenter Speicher aus.

 

Einstellungen Tageditor

Pfad: Projektansicht> Konfig > Doppelklick auf Tags

  1. Um ein Tag hinzuzufügen, klicken Sie auf +: Es wird eine neue Zeile hinzugefügt.
  2. Wählen Sie in der Treiber-Liste Systemvariablen: Der Tag-Definitionsdialog wird geöffnet.

Element Beschreibung

Speichertyp

Auf dem Remanenten Speicher fixiert

Offset

Offset-Adresse, an der sich das Tag befindet. Bereich: 0-16383

SubIndex

Dieser Parameter ermöglicht die Auswahl des Offsets der Ressourcen basierend auf dem ausgewählten Datentyp
Datentyp
Datentyp Speicherplatz Limits
boolean 1-Bit-Daten 0 ... 1
byte 8-Bit-Daten -128 ... 127
short 16-Bit-Daten -32768 ... 32767
int 32-Bit-Daten -2.1e9 ... 2.1e9
int64 64-Bit-Daten -9.2e18 ... 9.2e18
unsignedByte 8-Bit-Daten 0 ... 255
unsignedShort 16-Bit-Daten 0 ... 65535
unsignedInt 32-Bit-Daten 0 ... 4.2e9
uint64 64-Bit-Daten 0 ... 1.8e19
float IEEE 32-Bit Fließkomma mit einfacher Präzision 1,17e-38 ... 3.4e38
double IEEE 64-Bit Fließkomma mit doppelter Präzision 2,2e-308 ... 1.79e308
string Array von Elementen, die eine Zeichencodierung enthalten, die durch die ausgewählte Codierung definiert wird
binary Entscheidende Binärdaten

Hinweis: Um Arrays zu definieren, wählen Sie ein Datentypformat gefolgt von eckigen Klammern aus, z. B. “byte[]”, “short[]”…

Arraygröße

  • Bei einem Array-Tag repräsentiert diese Eigenschaft die Anzahl der Array-Elemente.
  • Bei einem String-Tag repräsentiert diese Eigenschaft die maximale Anzahl an Bytes, die im String-Tag verfügbar sind.

Hinweis: Die Byte-Anzahl entspricht der Anzahl an String-Zeichen, wenn die Codierungseigenschaft im Tageditor auf UTF-8 oder Latin1 eingestellt wurde.
Wenn die Codierungseigenschaft auf UCS-2BE, UCS-2LE, UTF-16BE oder UTF-16LE eingestellt wurde, benötigt ein Zeichen 2 Bytes.

Konvertierung

Auf das Tag anzuwendende Konvertierung.

Je nach dem gewählten Datentyp zeigt die Liste Erlaubt eine oder mehrere der unten aufgelisteten Konvertierungstypen an.

Wert Beschreibung
Inv bits

inv: Invertiert alle Bits des Tags.

Beispiel:
1001 → 0110 (im Binärformat)
9 → 6 (im Dezimalformat)

Negate

neg: Stellt den Negativwert des Tag-Werts ein.

Beispiel:
25.36 → -25.36

AB -> BA

swapnibbles: Tauscht Nibble in ein Byte.

Beispiel:
15D4 → 514D (im Hexadezimalformat)
5588 → 20813 (im Dezimalformat)

ABCD -> CDAB

swap2: Tauscht bytes in ein Wort.

Beispiel:
9ACC → CC9A (im Hexadezimalformat)
39628 → 52378 (im Dezimalformat)

ABCDEFGH -> GHEFCDAB

swap4: Tauscht Bytes in ein Doppelwort.

Beispiel:
32FCFF54 → 54FFFC32 (im Hexadezimalformat)
855441236 → 1426062386 (im Dezimalformat)

ABC...NOP -> OPM...DAB

swap8: Tauscht Bytes in ein langes Wort.

Beispiel:
142,366 → -893553517,588905 (im Dezimalformat)
0 10000000110 0001110010111011011001000101101000011100101011000001

1 10000011100 1010101000010100010110110110110010110110000100111101
(im Binärformat)

BCD

bcd: Trennen Sie das Byte in zwei Nibbles, lesen Sie diese als Dezimalwerte (von 0 bis 9).

Beispiel:
23 → 17 (im Dezimalformat)
0001 0111 = 23
0001 = 1 (erstes Nibble)
0111 = 7 (zweites Nibble)

Wählen Sie Konvertierung und klicken Sie auf +. Das gewählte Element wird der Liste Konfiguriert hinzugefügt.

Wenn mehrere Konvertierungen konfiguriert sind, werden sie entsprechend ihrer Reihenfolge angewendet (von oben nach unten in der Liste Konfiguriert).

Verwenden Sie die Pfeiltasten, um die Reihenfolge der konfigurierten Konvertierungen zu ändern.

.

Den Remanenten Speicher löschen

Verwenden Sie die Aktion ClearRetentiveMemory, um den Inhalt des remanenten Speichers zu löschen.

Tipp: Verwenden Sie diese Aktion, um den Speicherinhalt jederzeit in einen bekannten Status zu versetzen.

Weitere Informationen finden Sie im Abschnitt Aktionen > Tag-Aktionen des Haupthandbuchs.

Die JavaScript-Schnittstelle für diese Aktion ist:
project.clearRetentiveMemory();

 

Den Remanenten Speicher bei einem Projekt-Download erhalten

Wenn eine Projektdatei auf ein HMI heruntergeladen wird oder wenn das aktive Projekt geändert wird, wird der Inhalt des Remanenten Speichers normalerweise gelöscht.

Wenn der Inhalt von remanenten Daten beim Projektdownload oder -update erhalten werden soll, aktivieren Sie in den Einstellungsregisterkarten des Bediengeräts die Option Remanente Daten bei Projektaktualisierung aufbewahren.

Diese Einstellung wird ignoriert, wenn die Option Laufende dynamische Dateien löschen im Fenster Download to Target ausgewählt ist.

 

Den Remanenten Speicher im Simulator erhalten

Der Simulator von JMobile Studio unterstützt den Remanenten Speicher. Um den Remanenten Speicher während der Projektsimulation zu aktivieren, verwenden Sie im Kontextmenü die Option „Remanente Daten bei Projektsimulation beibehalten".