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)
DirCreate (FB; Prefix fildcr) ¶ FUNCTION_BLOCK DirCreate EXTENDS CBM.ETrig This function block creates a sub-directory in the standard directory. If the sub-directory already exists, an error message is generated. There may be restrictions concerning the specification of the directory name, e.g. only capital letters allowed, for different targets. The function ”FILE. GetProperty ” shows these restrictions. InOut: Scope Name Type Comment Input sDirName CAA.FILENAME Name of the new directory, absolute or relative path specification xParent BOOL Create missing subdirectories; TRUE: missing sub-directories will be created automatically, FALSE: missing sub- directories will cause an error message Output eError ERROR Local library error ID (5104 - FILE_NOT_EXIST: Directory does not exist; 5105 - FILE_EXIST: Directory already exists )
DirList (FB; Prefix fildls) ¶ FUNCTION_BLOCK DirList EXTENDS CBM.ETrig This function reads directory entries. The function block needs a valid handle which identifies the directory as a transfer parameter. The information is written to structure ” deDirEntry ” of type ” FILE_DIR_ENTRY ”. If the function block cannot find any further entries the error message ” ERROR.NO_MORE_ENTRIES ” is generated and the entries in the structure ” deDirEntry ” are deleted. InOut: Scope Name Type Comment Input hDir CAA.HANDLE Directory handle Output eError ERROR Local library error ID (5106 - FILE_NO_MORE_ENTRIES: no further entries available) deDirEntry FILE_DIR_ENTRY Directory entry
DirOpen (FB; Prefix fildop) ¶ FUNCTION_BLOCK DirOpen EXTENDS CBM.ETrig This function block opens a directory. The entries (files and sub-directories) of which should be read with the help of the function block ”FILE. DirList ”. The return value is a handle. There may be restrictions concerning the specification of the directory name, e.g. only capital letters allowed, for different targets. The function ”FILE. GetProperty ” shows these restrictions. InOut: Scope Name Type Comment Input sDirName CAA.FILENAME Directory name, absolute or relative path specification Output eError ERROR Local library error ID (0: no error; 5101: time out) hDir CAA.HANDLE Directory handle
DirRemove (FB; Prefix fildrm) ¶ FUNCTION_BLOCK DirRemove EXTENDS CBM.ETrigToA This function block deletes a directory. Contrary to the original CAA specification the directory may be removed even if it is opened via ”FILE. DirOpen ”. This behavior is dependent of the underlying operating system and file system. InOut: Scope Name Type Comment Input sDirName CAA.FILENAME Directory name xRecursive BOOL TRUE: Remove all files and sub-directories, FALSE: Directory is only deleted, if empty, i.e. if no files and sub-directories are left; otherwise an error will be dumped Output eError ERROR Local library error ID (5107 - FILE_NOT_EMPTY: Directory not empty; will be generated only if xRecursive = FALSE)
DirRename (FB; Prefix fildrn) ¶ FUNCTION_BLOCK DirRename EXTENDS CBM.ETrig This function block can be used to rename a directory and is optional for the different targets. Contrary to the original CAA specification the directory may be renamed even if it is opened via ”FILE. DirOpen ”. This behavior is dependent of the underlying operating system and file system. Whether this function block is implemented or not is explicitly stated and encoded in the return value of the function ”FILE. GetProperty ”. It is not recommended to use this function block to move files (it may work but is system dependent). Please use the appropriate function block ”FILE. Rename ” instead. InOut: Scope Name Type Comment Input sDirNameOld CAA.FILENAME Old directory name sDirNameNew CAA.FILENAME New directory name Output eError ERROR Local library error ID (0: no error; 5101: time out)
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)