FC_RestoreFiles - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab |
SystemInterface_1.34.1.0 |
Verwendet von: |
- |
Versionen: |
Aktuelle Version |
Daten von einem Gerät (FTP-Verzeichnis, USB-Gerät, RAM-Disk) auf die Flash-Disk der Steuerung laden.
Diese Funktion kopiert Daten (Dateistruktur wie auf der Flash-Disk) aus dem übergebenen Verzeichnis (FTP-Verzeichnis, USB-Gerät, RAM-Disk) auf die Steuerung und kann sie anschließend neu starten.
Sie können wählen, ob die vorhandenen Daten auf der Flash-Disk vorher gelöscht werden müssen oder ob die neuen Daten die alten überschreiben/ergänzen.
Die Funktion prüft zunächst die Speicherplatzverfügbarkeit auf der Flash-Disk:
oi_xDeleteExistingFiles = true: Das Image muss kleiner als der gesamte Speicher der Flash-Disk sein.
oi_xDeleteExistingFiles = false: Das Image muss kleiner als der freie Speicher der Flash-Disk sein.
Zu beachten:
oStellen Sie sicher, dass ein gültiges Verzeichnis vorhanden ist, aus dem die Dateien kopiert werden.
oStellen Sie sicher, dass während der Ausführung kein Zugriff auf die Flash-Disk erfolgt, z. B. durch die IEC-Applikation, über das Netzwerk usw.
oDie Funktion führt optional einen (i_xResetController) und am Ende einen Kaltstart (ColdReset) durch.
Deshalb sollte sichergestellt werden, dass sich vor dem Ausführen der Funktion alle Geräte in der entsprechenden Ruheposition befinden.
Außerdem bedeutet das erfolgreiche Ausführen dieser Funktion mit Reset das Ende der IEC-Applikation.
Es muss also nur im Fehlerfall auf Rückgabewerte geachtet bzw. die IEC-Applikation weitergeführt werden.
Dateien, die zuvor mit der Funktion FC_BackupAllFiles erstellt wurden, können mit obiger Funktion wiederhergestellt werden.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_strSourcePath |
STRING[1023] |
Pfad der zu kopierenden Dateien |
i_xDeleteExistingFiles |
BOOL |
TRUE = Löscht die vorhandenen Dateien der Flash-Disk FALSE = Fügt neue Dateien hinzu/ersetzt alte Dateien |
i_xResetController |
BOOL |
TRUE = Steuerungs-Reset nach erfolgreichem Kopieren FALSE = Kein Steuerungs-Reset |
Datentyp |
Beschreibung |
---|---|
DINT |
0: Dateien wurden erfolgreich kopiert und Steuerung wurde nicht neu gestartet. -1: Fehler beim Kopieren (USB-Gerät zu früh abgezogen?). -316: Nicht genügend Speicher auf der Flash-Disk verfügbar, unnötige Daten im Quellverzeichnis? -318: Ungültiger Pfad. |
Anforderung
Der komplette Inhalt der Flash-Disk wird durch ein Image auf einem USB-Gerät aktualisiert (Firmwareaktualisierung)
Programm
//The complete controller content is on the USB device in the corresponding directory
//(/FlashDisk/Image)
sSourcePath := 'usb2msd:0/image/';
xDeleteExistingFiles := true;
xRebootController := true;
diStatus := FC_RestoreFiles ( sSourcePath, xDeleteExistingFiles, xRebootController );
IF diStatus <> 0 THEN
//Error when copying
;
END_IF
Ergebnis
Das Flash-Disk-Image wurde vom USB-Gerät auf die Steuerung überspielt und die Steuerung wurde neu gestartet. Hierdurch wird die neue Firmware vom Image übernommen.
Anforderung
Nutzerdaten vom einem FTP-Verzeichnis auf die Steuerung übertragen
Programm
//The user data is on the FTP directory and it was recognized accordingly
strSourcePath := 'FTP_directory/Controller_Image/';
xDeleteExistingFiles := false;
xRebootController := false;
iStatus := FC_RestoreFiles ( strSourcePath, bDeleteExistingFiles, bRebootController );
IF iStatus <> 0 THEN
//Error when copying
;
END_IF
Ergebnis
Die Nutzerdaten wurden vom FTP-Verzeichnis auf die Steuerung übertragen. Sie könnten jedoch gleichnamige Dateien auf der Steuerung ersetzt haben.