Speicherabbild des Retainspeichers, das sich in einer Datei befindet, in den Retainspeicher der Steuerung laden
Die Funktion liest das Speicherabbild aus der angegebenen Datei aus und speichert es im Retainspeicher. Es kann ausgewählt werden, ob die ProgramIdent überprüft werden soll. Die ProgramIdent ist eine eindeutige Kennung für eine Anwendung. Der Retain-Speicher und die Konfiguration der Retain-Variablen der Anwendung müssen übereinstimmen. Dies wird durch eine Überprüfung der ProgramIdent sichergestellt. Deshalb werden die ProgramIdent des Speicherabbilds und der aktuell im Speicher geladenen Applikation überprüft. Wenn sie übereinstimmen, wird das Speicherabbild geladen. Die ProgramIdent einer Applikation wird bei jeder Veränderung neu erstellt. Deshalb kann es notwendig sein, einen Überprüfung der ProgramIdent abzuweisen, falls nur kleine Veränderungen im Code vorgenommen wurden und sich die Deklaration der Retainvariablen nicht geändert hat. Um eine Fehlfunktion der Steuerung zu vermeiden, müssen der Retainspeicher und die Applikation zueinander passen. Die Größe des Speicherabbilds und die von der Applikation benötigte Größe des Retainspeichers werden immer überprüft. Nur bei einer Übereinstimmung der beiden Größen wird das Speicherabbild geladen.
WARNUNG | |
---|---|
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_sRetainImageFileName |
STRING[80] |
Name der Datei, aus der das Speicherabbild des Retainspeichers geladen werden soll. Der Dateiname erhält automatisch die Endung ".ret". Die Datei kann sich in einem beliebigen Verzeichnis der Steuerung befinden. Es sind keine Sonderzeichen oder Platzhalter im Dateinamen erlaubt. |
i_xProgramIdentCheck |
BOOL |
Es kann ausgewählt werden, ob die ProgramIdent überprüft werden soll.
Wenn nicht überprüft wird, ob die ProgramIdent mit der Applikation übereinstimmt, muss sichergestellt werden, dass die Applikation und das zu ladende Speicherabbild des Retainspeichers übereinstimmen. Andernfalls wird ein Steuerungsfehler erkannt. |
Datentyp |
Beschreibung |
---|---|
DINT |
0: Das Speicherabbild wurde erfolgreich in den Retainspeicher geladen. -1: Das Speicherabbild konnte nicht geladen werden. Es wurde ein ungültiger Dateiname angegeben. Der Dateiname enthält Sonderzeichen ":", "\" oder "/" und Platzhalter "*" oder "?". -2: Das Speicherabbild konnte nicht geladen werden, weil das angegebene Verzeichnis nicht existiert. -3: Das Speicherabbild konnte nicht geladen werden, weil der angegebene Dateiname nicht existiert. -4: Das Speicherabbild konnte nicht in den Retainspeicher geladen werden, da die ProgramIdent des Speicherabbilds nicht mit der ProgramIdent der derzeit in den Speicher geladenen Anwendung übereinstimmt. -5: Das Speicherabbild konnte nicht in den Retainspeicher geladen werden, da die Daten im Speicherabbild ungültig sind. Die Daten wurden wahrscheinlich manuell geändert. Dies ist durch eine Überprüfung der Größe des Speicherabbilds mit der in der Datei gespeicherten Größe der Retaindaten bemerkt worden. -6: Das Speicherabbild konnte nicht in den Retainspeicher geladen werden, da die Daten im Speicherabbild ungültig sind. -7: Das Speicherabbild konnte nicht in den Retainspeicher geladen werden, weil die angegebene Datei keine Datei eines Speicherabbilds eines Retainspeichers ist. -8: Das Speicherabbild konnte nicht in den Retain-Speicher geladen werden, da in der Funktion FC_RetainImageLoad() ein allgemeiner Fehler erkannt wurde. |
diResult := FC_RetainImageLoad(‚karton', TRUE);
Der Retainspeicher wird aus der Datei "karton.ret" auf dem Standardgerät "ide0:" geladen. Die ProgramIdent wird überprüft.
diResult := FC_RetainImageLoad(‚ide0:\retain\plister', FALSE);
Der Retainspeicher wird aus der Datei "plister.ret", die sich im Verzeichnis "retain" auf dem Standardgerät "ide0:" befindet, geladen. Die ProgramIdent wird nicht überprüft.
diResult := FC_RetainImageLoad('remote:ide0:\etikett', TRUE);
Der Retainspeicher wird aus der Datei "etikett.ret" geladen, die sich auf dem Laufwerk "ide0:" befindet, das sich wiederum auf dem Remote-Gerät "remote:" befindet. Die ProgramIdent wird überprüft.