GetDirectoryByIndex

TwinCAT TIA
Lokal Datei- und Ordner-Zugriff Ordner

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

Der Befehl gibt die Eigenschaften des Verzeichnisses mit dem angegebenen Index zurück, das im angegebenen Verzeichnis liegt.

Parameter:

    FullPath
    Vollständiger Pfad des Verzeichnisses.
    Index
    Eindeutiger Index, um in der Liste das gewünschte Verzeichnis abzurufen.

Rückgabewert:

    GetDirectoryByIndex
    Eine Variable vom Typ OpcMethodReturnValueDirectoryInfo. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Eine Variable vom Typ DirectoryInfo. Diese enthält alle Eigenschaften des Verzeichnisses.
        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:

    bDirectoryAccessGetDirectoryByIndex
    Eine boolesche Variable, über welche die Ausführung des GetDirectoryByIndex-Befehls getriggert werden kann.
    OutputDataDirectoryAccessGetDirectoryByIndex
    Eine Instanz der "ST_GetDirectoryByIndexOutputData", in welche der Rückgabewert der GetDirectoryByIndex-Methode geschrieben wird.
    hrDirectoryAccessGetDirectoryByIndex
    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.
    nIndex
    Ein DINT-Wert, der das Verzeichnis spezifiziert, welches aus der Liste abgerufen werden soll.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
     bDirectoryAccessGetDirectoryByIndex     : BOOL;
     OutputDataDirectoryAccessGetDirectoryByIndex  : ST_GetDirectoryByIndexOutputData;
     hrDirectoryAccessGetDirectoryByIndex    : HRESULT;

     fbDirectoryAccess : FB_DirectoryAccess;
END_VAR

hrDirectoryAccessGetDirectoryByIndex := fbDirectoryAccess.GetDirectoryByIndex(
              bExecute    := bDirectoryAccessGetDirectoryByIndex,
              ConnectionHandle  := depragSmartConnection.ConnectionHandle,
              sFullPath   := 'D:\Test',
              nIndex     := 0,
              OutputData   => OutputDataDirectoryAccessGetDirectoryByIndex);
IF hrDirectoryAccessGetDirectoryByIndex <> S_FALSE THEN 
     bDirectoryAccessGetDirectoryByIndex := 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.