GetFileInDirectoryByIndex

TwinCAT TIA
Local File and directory access Folder

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

The command returns the properties of the file with the specified index, located in the specified directory.

Parameters:

    Index
    Unique index to retrieve the desired file in the list.

Returns:

    GetFileInDirectoryByIndex
    A variable of the OpcMethodReturnValueFileInfo type. The Result property contains the command-specific return values.
      Result
      A variable of type FileInfo. This contains all properties of the file.
        Attributes
        An enumeration with the attributes of the file.
        The enumeration can have the following attributes. The attributes can also occur in combination.
        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
        A variable of type DirectoryInfo. This contains properties of the parent folder.
          Attributes
          An enumeration with the attributes of the file.
          The enumeration can have the following attributes. The attributes can also occur in combination.
          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
          Indicates whether the directory exists.
          Extension
          The extension of the folder name including the dot.
        Exists
        Indicates whether the file exists.
        Extension
        The file extension including the dot separator (e.g. .exe, .dll).
        FullName
        The full name of the file including the file path. Example: C:\My Folder\File.txt
        Name
        File name without folder path.

Examples:

In addition to the parameters already explained, the following variables must be created / transferred for the implementation in TwinCAT 3:

Beckhoff parameter:

    bDirectoryAccessGetFileInDirectoryByIndex
    A boolean variable that can be used to trigger the execution of the GetFileInDirectoryByIndex command.
    OutputDataDirectoryAccessGetFileInDirectoryByIndex
    An instance of the "ST_GetFileInDirectoryByIndexOutputData" to which the return value of the GetFileInDirectoryByIndex method is written.
    hrDirectoryAccessGetFileInDirectoryByIndex
    This can be used to monitor the execution of the command. Error codes have the type "HRESULT".
    fbDirectoryAccess
    An instance of the "FB_DirectoryAccess" function block supplied with the DEPRAG Smart library.
    sFullPath
    A STRING variable containing the full path of the directory.
    nIndex
    A DINT value that specifies the file to retrieve from the list.
    ConnectionHandle
    "ConnectionHandle" received when establishing a connection between DEPRAG Smart Server and your OPC UA client.


VAR
     bDirectoryAccessGetFileInDirectoryByIndex   : BOOL;
     OutputDataDirectoryAccessGetFileInDirectoryByIndex : ST_GetFileInDirectoryByIndexOutputData;
     hrDirectoryAccessGetFileInDirectoryByIndex   : HRESULT;

     fbDirectoryAccess : FB_DirectoryAccess;
END_VAR

hrDirectoryAccessGetFileInDirectoryByIndex := fbDirectoryAccess.GetFileInDirectoryByIndex(
              bExecute    := bDirectoryAccessGetFileInDirectoryByIndex,
              ConnectionHandle  := depragSmartConnection.ConnectionHandle,
              sFullPath   := 'D:\Test',
              nIndex     := 0,
              OutputData   => OutputDataDirectoryAccessGetFileInDirectoryByIndex);
IF hrDirectoryAccessGetFileInDirectoryByIndex <> S_FALSE THEN 
     bDirectoryAccessGetFileInDirectoryByIndex := FALSE;
END_IF
                                                    

For examples and explanations regarding the calls of nodes via Siemens TIA Portal please refer to the sub-menu "Siemens TIA Portal" in section "Getting Started".