GetFilesInDirectory

TwinCAT
Lokal Datei- und Ordner-Zugriff Ordner

ns=2;s=DEPRAG Smart/Local/FileAndDirectoryAccess/DirectoryAccess/GetFilesInDirectory

Der Befehl gibt ein Array mit allen Dateien im angegebenen Pfad aus. Jedes Array-Element enthält die Eigenschaften einer Datei.

Parameter:

    FullPath
    Vollständiger Pfad des Verzeichnisses.

Rückgabewert:

    GetFilesInDirectory
    Eine Variable vom Typ OpcMethodReturnValueFileInfos. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Ein Array von FileInfo-Objekten.
        Attributes
        Eine Enumeration mit den Attributen der Datei.
        Die Enumeration kann folgende Ausprägungen haben. Die Attribute können auch kombiniert auftreten.
        ReadOnly = 1
        Hidden = 2
        System = 4
        Directory = 16
        Archive = 32
        Device = 64
        Normal = 128
        Temporary = 256
        SparseFile = 512
        ReparsePoint = 1024
        Compressed = 2048
        Offline = 4096
        NotContentIndexed = 8192
        Encrypted = 16384
        IntegrityStream = 32768
        NoScrubData = 131072
        Directory
        Eine Variable vom Typ DirectoryInfo. Diese enthält Eigenschaften des übergeordneten Ordners.
          Attributes
          Eine Enumeration mit den Attributen der Datei.
          Die Enumeration kann folgende Ausprägungen haben. Die Attribute können auch kombiniert auftreten.
          ReadOnly = 1
          Hidden = 2
          System = 4
          Directory = 16
          Archive = 32
          Device = 64
          Normal = 128
          Temporary = 256
          SparseFile = 512
          ReparsePoint = 1024
          Compressed = 2048
          Offline = 4096
          NotContentIndexed = 8192
          Encrypted = 16384
          IntegrityStream = 32768
          NoScrubData = 131072
          Exists
          Gibt an, ob das Verzeichnis existiert.
          Extension
          Die Erweiterung des Ordnernamens inklusive des Punkts.
          FullName
          Vollqualifizierter Pfad des Verzeichnisses.
          Name
          Name des Verzeichnisses.
        Exists
        Gibt an, ob die Datei existiert.
        Extension
        Die Dateierweiterung inkl. Punkttrennzeichen (z. B. .exe, .dll)
        FullName
        Der volle Name der Datei inkl. Dateipfad. Beispiel: C:\My Folder\File.txt
        Name
        Dateiname ohne Ordnerpfad.

Beispiele:

Neben den bereits erläuterten Parametern sind für die Implementierung in TwinCAT 3 nachfolgende Variablen anzulegen / zu übergeben:

Beckhoff Parameter:

    bDirectoryAccessGetFilesInDirectory
    Eine boolesche Variable, über welche die Ausführung des GetFilesInDirectory-Befehls getriggert werden kann.
    OutputDataDirectoryAccessGetFilesInDirectory
    Eine Instanz der "ST_GetFilesInDirectoryOutputData", in welche der Rückgabewert der GetFilesInDirectory-Methode geschrieben wird.
    hrDirectoryAccessGetFilesInDirectory
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ "HRESULT".
    fbDirectoryAccess
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_DirectoryAccess" Funktionsbausteins.
    sFullPath
    Eine STRING-Variable, die den vollständigen Pfad des Verzeichnisses enthält.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
     bDirectoryAccessGetFilesInDirectory     : BOOL;
     OutputDataDirectoryAccessGetFilesInDirectory  : ST_GetFilesInDirectoryOutputData;
     hrDirectoryAccessGetFilesInDirectory    : HRESULT;

     fbDirectoryAccess : FB_DirectoryAccess;
END_VAR

hrDirectoryAccessGetFilesInDirectory := fbDirectoryAccess.GetFilesInDirectory(
               bExecute    := bDirectoryAccessGetFilesInDirectory,   
              ConnectionHandle := depragSmartConnection.ConnectionHandle, 
              sFullPath   := 'C:\Test',
              OutputData   => OutputDataDirectoryAccessGetFilesInDirectory);
IF hrDirectoryAccessGetFilesInDirectory <> S_FALSE THEN 
     bDirectoryAccessGetFilesInDirectory := FALSE;
END_IF
                                                    

Für Beispiele und Erklärungen bezüglich der Aufrufe von Knoten via Siemens TIA Portal sei an dieser Stelle auf den Unterpunkt "Siemens TIA Portal" in Abschnitt "Erste Schritte" verwiesen.