FC_RetainImageLoad - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab

SystemInterface_1.32.6.0

Versionen:

Aktuelle Version

Aufgabe

Speicherabbild des Retainspeichers, das sich in einer Datei befindet, in den Retainspeicher der Steuerung laden

Beschreibung

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
UNVEREINBARKEIT ODER DATENVERLUST
Greifen Sie während der Ausführung der Funktion FC_RetainImageLoad() nicht auf die Retain-Daten zu.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden zur Folge haben.
HINWEIS: Die typische Laufzeit der Funktion auf einer Steuerung, wenn sich die Retaindatendatei auf dem Laufwerk "ide0:" befindet, beträgt 100 ms.

Schnittstelle

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.

  • TRUE: Das Speicherabbild wird nur geladen, wenn die ProgramIdent von Speicherabbild und laufender Applikation übereinstimmen.

  • FALSE: Die ProgramIdent wird nicht überprüft.

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.

Rückgabewert

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.

Beispiele

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.