CAA File Library Documentation¶
- Company
CAA Technical Workgroup
- Title
CAA File
- Version
3.5.19.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
- (if supported by the current system) Complete path specification for a file on a FTP Server:
ftp://<user>:<passwd>@<ip-addr>[:<port>]/home/user/Test.txt
- (if supported by the current system) 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“.
Resource Management¶
The resource management within the library is done by two function blocks in the global variable list RSHandling
.
g_FileClass
for managing file handles.g_DirClass
for managing directory handles.
The key data for the management of the resources can be set via the Reset method.
myAsyncProperty : RSU.AsyncProperty;
myPoolExtender : RSU.PoolExtender;
myAsyncProperty := RSU.g_AsyncProperty;
myAsyncProperty.usiTaskPrio := 30;
myAsyncProperty.tnTaskName := 'myPoolExtender';
myPoolExtender.Reset(myAsyncProperty);
FILE.g_FileClass.Reset(
udiInitialPoolSize := 40 * SIZEOF(__XWORD),
udiNumExtensionBlocks := 20,
itfPoolExtender := myPoolExtender;
);
If udiNumExtensionBlocks
and itfPoolExtender
is set to zero no memory expansion of the resource management is done.
Contents:¶
Indices and tables¶
- 1
- Based on CAA File.library, last modified 02.03.2023, 10:43:41. LibDoc 4.4.0.0-b.27The content file CAA File.clean.json was generated with CODESYS V3.5 SP16 Patch 3 on 02.03.2023, 10:43:45.