FC_GetDirSize

 

FC_GetDirSize - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab

SystemInterface_1.34.1.0

Verwendet von:

-

Versionen:

Aktuelle Version

Aufgabe

Größe des kompletten Inhalts eines Verzeichnisses ermitteln.

Beschreibung

Die Funktion geht rekursiv durch den kompletten Verzeichnisinhalt und addiert die Größen sämtlicher Dateien und Ordner. Es kann die Größe von Verzeichnissen in der RAM-Disk ("ram0:"), auf der Flash-Disk ("ide0:") und auf einem USB-Gerät ("usb2msd:0" oder "usb2msd:1") ausgelesen werden.

Das Standardgerät ist "ide0:".

Schnittstelle

Eingang

Datentyp

Beschreibung

i_sDirPath

STRING[1023]

Name des Verzeichnisses, dessen Größe bestimmt werden soll

Ein-/Ausgang

Datentyp

Beschreibung

iq_uliDirSize

ULINT

Größe des Verzeichnisinhalts in Byte

Rückgabewert

Datentyp

Beschreibung

DINT

0: Größe erfolgreich ausgelesen.

-1: Fehler beim Auslesen der Größe.

-318: Mindestens einer der Parameter ist ungültig.

Beispiel

Anforderung

Die Größe des Verzeichnisses "ide0:/ESystem" soll in MB ermittelt werden.

Deklaration

PROGRAM ESystemDirSize
VAR
   uliDirSize : ULINT := 0;
   diStatus : DINT := 0;
   diBytesOfMegaByte : DINT := 1048576; // = 1024 * 1024
   diDirSizeInMB : LINT := 0;
END_VAR

Programm

diStatus = FC_GetDirSize ( 'ide0:/ESystem', uliDirSize );
IF (diStatus = 0) THEN
   diBytesOfMegaByte:= ULINT_TO_LINT(uliDirSize) / diBytesOfMegaByte;
END_IF  

Ergebnis

diBytesOfMegaByte enthält die Größe des Verzeichnisses in Megabyte.

HINWEIS: In diesem Fall könnte man auch FC_GetDirSize ( 'ESystem', uliDirSize ) aufrufen und würde dasselbe Ergebnis bekommen. Wenn Sie aber auf einem anderen Datenträger als der internen Flash-Disk (USB-Gerät, RAM-Disk) die Größe eines Verzeichnisses bestimmen möchten, muss der Gerätename zwingend in den Pfad aufgenommen werden, da sonst eine Auflösung nicht möglich ist.