CAA File Library Documentation ¶ Company CAA Technical Workgroup Title CAA File Version 3.5.15.0 Categories Intern|CAA|System Namespace FILE Author 3S - Smart Software Solutions GmbH Placeholder CAA File Description 1 ¶ CAA File and Directory handling Overview ¶ This library provides function blocks for accessing file directory systems and files. The standardized inputs and outputs of the function blocks are described in detail in the CAA Guidelines and will therefore not be described here. File access is only supported in binary mode. All input values of the function blocks are stored in local internal variables. This does not apply for the contents of memory structures where a pointer is passed on as an input for example “ pBuffer “ of “ FILE.Read “ or “ FILE.Write “. Directory paths and protocols ¶ CAA.FILENAME which is described in “CAA_Types.library“ should be usable for library “CAA_File“ in the following way. Separators between directory paths in “ CAA.FILENAME “ are the slash („/“) or the back-slash („\“). The interpretation of the directory path is tolerant to the effect that either one or the other of these characters can be used. Mixed usage should be avoided by an error message. The part of a “ CAA.FILENAME “ character string behind the last separator is the file name. The rest specifies the directory path. Only in the first part of the directory path may a series of colons be used for the specification of drive letters or for device identification. The function block FILE.SetRoot provides for an enhanced portability of the applications, regardless of the many different options available to display a directory path. The starting point within the directory tree can thus be set centrally and it is then possible to navigate through the application relative to this starting point. Absolute paths in the local file system: C:/dir/Test.txt or /ram:2/home/Test.txt Relative paths in the local file system: ../Log/Test.txt or Log/Test.txt Complete path specification for a file in the local files system: file://C:/dir/Test.txt Complete path specification for a file on a FTP Server: ftp://<user>:<passwd>@<ip-addr>[:<port>]/home/user/Test.txt Complete path specification for a file on a HTTP Server: http://<ip-addr>[:<port>]/dir/Test.txt Whether the appropriate resolver functions for FTP- or HTTP- Servers are available in the corresponding implementation, can be evaluated via function FILE.GetProperty . Only IP addresses are valid, the resolution of a name is not intended for in the functional scope of the library “CAA.File“. Contents: ¶ CAA File Enums Function Blocks Functions Global Variables Structs Examples (GVL) Directory File - Standard File - Modification File – internal pointer File – Properties Library Information GetLibVersion (Function) GetLibVersionNumber (Function) IsLibReleased (Function) Indices and tables ¶ 1 Based on CAA_FILE.library, last modified 24.07.2019, 08:29:24. LibDoc 4.4.0.0-b.27 The content file CAA_FILE.clean.json was generated with CODESYS V3.5 SP15 on 24.07.2019, 08:29:27.
Enums ¶ ATTRIB (Enum) ERROR (Enum) MODE (Enum)
CAA File ¶ Enums ATTRIB (Enum) ERROR (Enum) MODE (Enum) Function Blocks Directory DirClose (FunctionBlock) DirCopy (FunctionBlock) DirCreate (FunctionBlock) DirList (FunctionBlock) DirOpen (FunctionBlock) DirRemove (FunctionBlock) DirRename (FunctionBlock) File Close (FunctionBlock) Copy (FunctionBlock) Delete (FunctionBlock) EOF (FunctionBlock) Flush (FunctionBlock) GetAttribute (FunctionBlock) GetPos (FunctionBlock) GetSize (FunctionBlock) GetTime (FunctionBlock) Open (FunctionBlock) Read (FunctionBlock) Rename (FunctionBlock) SetPos (FunctionBlock) Write (FunctionBlock) Functions GetProperty (Function) Global Variables CAA_Globale_Constants (GVL) Structs FILE_DIR_ENTRY (Struct)
ATTRIB (ENUM) ¶ TYPE ATTRIB : This data type defines attribute values for GetAttribute function block. Attributes: qualified_only InOut: Name Initial Comment ARCHIVE 0 Archive file HIDDEN Hidden file NORMAL File, for which none of the other attributes has been set READONLY File can only be read (i.e. write protected)
ERROR (ENUM) ¶ TYPE ERROR : This data type defines error values, which might occur when handling functions of the CAA_File.library . Attributes: qualified_only InOut: Name Initial Comment NO_ERROR 0 0 No error FIRST_ERROR 5100 5100 First library specific error TIME_OUT 5101 Time limit exceeded ABORT 5102 Order has been aborted by activating input xAbort HANDLE_INVALID 5103 Invalid handle NOT_EXIST 5104 File or directory does not exist EXIST 5105 File or directory already exist NO_MORE_ENTRIES 5106 No further entries are available NOT_EMPTY 5107 File or directory is not empty READ_ONLY_CAA 5108 File or directory is write protected WRONG_PARAMETER 5109 Wrong parameter ERROR_UNKNOWN 5110 Unknown error WRITE_INCOMPLETE 5111 Not all data have been written FILE_NOT_IMPLEMENTED 5112 Function is not implemented ASM_CREATEJOB_FAILED 5113 Job creation of AsyncManager failed FILE_OPERATION_DENIED 5114 No access due to ForceFilePath/ForceIecFilePath FIRST_MF 5150 5150 First manufacturer-specific error LAST_ERROR 5199 insert manuf. specific errors here 5199 Last library specific error
MODE (ENUM) ¶ TYPE MODE : This data type defines mode values for file access to use with the FILE.Open function block. Attributes: qualified_only InOut: Name Initial Comment MWRITE 0 Write access, file will be overwritten or created MREAD Read access, file will only be opened for reading MRDWR Read- and Write access, the file will be overwritten or created MAPPD File will be opened in WRITE mode, but the written data will be appended at the end of the file MREADPLUS Open an existing file with Read/Write access. If file does not exist, Open fails
Function Blocks ¶ Directory DirClose (FunctionBlock) DirCopy (FunctionBlock) DirCreate (FunctionBlock) DirList (FunctionBlock) DirOpen (FunctionBlock) DirRemove (FunctionBlock) DirRename (FunctionBlock) File Close (FunctionBlock) Copy (FunctionBlock) Delete (FunctionBlock) EOF (FunctionBlock) Flush (FunctionBlock) GetAttribute (FunctionBlock) GetPos (FunctionBlock) GetSize (FunctionBlock) GetTime (FunctionBlock) Open (FunctionBlock) Read (FunctionBlock) Rename (FunctionBlock) SetPos (FunctionBlock) Write (FunctionBlock)
Directory ¶ DirClose (FunctionBlock) DirCopy (FunctionBlock) DirCreate (FunctionBlock) DirList (FunctionBlock) DirOpen (FunctionBlock) DirRemove (FunctionBlock) DirRename (FunctionBlock)
DirClose (FB; Prefix fildcl) ¶ FUNCTION_BLOCK DirClose EXTENDS CBM.ETrig This function block closes the access on the specified directory. InOut: Scope Name Type Comment Input hDir CAA.HANDLE Directory handle Output eError ERROR Local library error ID (0: no error; 5101: time out)
DirCopy (FB; Prefix fildcp) ¶ FUNCTION_BLOCK DirCopy EXTENDS CBM.ETrig This function block copies the contents of the source directory to the destination directory Nonexisting destination path will be created. Depending of the parameters, all subdirectories and its content will be copied too, and existing files will be overwritten. NOTE: Empty direcories will be copied if xRecursive is TRUE. InOut: Scope Name Type Comment Input sDirNameDest CAA.FILENAME destination directory name sDirNameSource CAA.FILENAME source directory name xRecursive BOOL TRUE: all subdirectories and their contents are copied, FALSE: subdirectories are omitted xOverWrite BOOL TRUE: existing files are overwritten, FALSE: existing files are left untouched Output eError ERROR Local library error ID (0: no error; 5101: time out)