GetDirectories

TwinCAT
Lokal Datei- und Ordner-Zugriff Ordner

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

Der Befehl gibt ein Array mit allen Verzeichnissen im angegebenen Pfad aus. Jedes Array-Element enthält die Eigenschaften eines Verzeichnisses.

Parameter:

    FullPath
    Vollständiger Pfad des Verzeichnisses.

Rückgabewert:

    GetDirectories
    Eine Variable vom Typ OpcMethodReturnValueDirectoryInfos. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Ein Array von DirectoryInfo-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
        Exists
        Gibt an, ob das Verzeichnis existiert.
        Extension
        Die Erweiterung des Ordnernamens inklusive des Punkts.
        FullName
        Vollqualifizierter Pfad des Verzeichnisses.
        Name
        Name des Verzeichnisses.

Beispiele:

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

Beckhoff Parameter:

    bDirectoryAccessGetDirectories
    Eine boolesche Variable, über welche die Ausführung des GetDirectories-Befehls getriggert werden kann.
    OutputDataDirectoryAccessGetDirectories
    Eine Instanz der "ST_GetDirectoriesOutputData", in welche der Rückgabewert der GetDirectories-Methode geschrieben wird.
    hrDirectoryAccessGetDirectories
    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
     bDirectoryAccessGetDirectories      : BOOL;
     OutputDataDirectoryAccessGetDirectories    : ST_GetDirectoriesOutputData;
     hrDirectoryAccessGetDirectories      : HRESULT;

     fbDirectoryAccess : FB_DirectoryAccess;
END_VAR

hrDirectoryAccessGetDirectories := fbDirectoryAccess.GetDirectories(
              bExecute    := bDirectoryAccessGetDirectories,   
              ConnectionHandle := depragSmartConnection.ConnectionHandle, 
              sFullPath   := 'C:\Test',
              OutputData   => OutputDataDirectoryAccessGetDirectories);
IF hrDirectoryAccessGetDirectories <> S_FALSE THEN 
     bDirectoryAccessGetDirectories := 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.