GetFileInfo

TwinCAT TIA
Lokal Datei- und Ordner-Zugriff Datei

ns=2;s=DEPRAG Smart/Local/FileAndDirectoryAccess/FileAccess/GetFileInfo

Der Befehl gibt die Dateieigenschaften der angegebenen Datei zurück.

Parameter:

    FullPath
    Pfad der Datei. Die Datei kann entweder eine lokale Datei sein oder eine Datei, die auf einem Netzwerklaufwerk abgelegt ist.

Rückgabewert:

    GetFileInfo
    Eine Variable vom Typ OpcMethodReturnValueFileInfo. In der Eigenschaft Result sind die befehlsspezifischen Rückgabewerte enthalten.
      Result
      Eine Variable vom Typ FileInfo. Diese enthält alle Eigenschaften der Datei.
        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 der Ordner existiert.
          Extension
          Die Erweiterung des Ordnernamens, inklusive des Punkts.
          FullName
          Vollqualifizierter Pfad des Ordners in dem die Datei liegt.
          Name
          Name des Ordners in dem die Datei liegt.
        DirectoryName
        Vollqualifizierter Pfad des Ordners in dem die Datei liegt.
        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:

    bFileAccessGetFileInfo
    Eine boolesche Variable, über welche die Ausführung des GetFileInfo-Befehls getriggert werden kann.
    OutputDataFileAccessGetFileInfo
    Eine Instanz der "ST_GetFileInfoOutputData", in welche der Rückgabewert der GetFileInfo-Methode geschrieben wird.
    hrFileAccessGetFileInfo
    Hiermit kann die Ausführung des Befehls überwacht werden. Fehler-Codes haben den Typ "HRESULT".
    fbFileAccess
    Eine Instanz des, mit der DEPRAG Smart-Bibliothek gelieferten, "FB_FileAccess" Funktionsbausteins.
    sfullPathSourceFile
    Eine STRING-Variable, die den vollständigen Pfad der Datei enthält.
    ConnectionHandle
    Beim Verbindungsaufbau zwischen DEPRAG Smart Server und Ihrem OPC UA Client erhaltenes "ConnectionHandle".


VAR
     bFileAccessGetFileInfo        : BOOL;
     OutputDataFileAccessGetFileInfo      : ST_GetFileInfoOutputData;
     hrFileAccessGetFileInfo        : HRESULT;

     fbFileAccess  : FB_FileAccess;
END_VAR

hrFileAccessGetFileInfo := fbFileAccess.GetFileInfo(
           bExecute     := bFileAccessGetFileInfo,   
           ConnectionHandle  := depragSmartConnection.ConnectionHandle, 
           sfullPathSourceFile  := 'C:\Test\text.txt',
           OutputData    => OutputDataFileAccessGetFileInfo);
IF hrFileAccessGetFileInfo <> S_FALSE THEN 
     bFileAccessGetFileInfo := 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.