今天继续我们的小白教程,老鸟就不要在这浪费时间了😊。
前面一期我们介绍了CODESYS的定时器及触发相关的功能块。这一期主要介绍CODESYS的CAA.File库中的目录和文件读写功能块,主要包括文件路径、名称、大小的获取以及文件的创建、打开、读、写、拷贝和删除功能等。
一、文件库类型简介
文件读写有两种库:CAA File(File Access)库和SysFile库。
1.CAA File(File Access)
CAA File库包含用于访问文件目录和文件的功能块。
对于3.5.17以前的版本,通常是使用CAA File库。由于CAA File库中使用的部分类型定义在另外一个库CAA Types Extern中,因此使用时还需要包含该库。
在3.5.17及以后版本,直接使用File Access即可,如下图所示。

2.SysFile
SysFile属于CODESYS比较底层的库,函数及功能与C语言非常接近。实际上CAA File底层也是调用该库来实现的。
二、CAA.File库介绍
CAA.File库包含用于访问目录和文件的操作。
1.枚举定义
(1)文件属性定义ATTRIB
定义GetAttribute功能块获取的文件属性值。
| 名称 |
初始值 |
说明 |
| ARCHIVE |
0 |
档案文件 |
| HIDDEN |
1 |
隐藏文件 |
| NORMAL |
2 |
没有设置任何其他属性的文件 |
| READONLY |
3 |
只读文件 |
(2)文件访问模式MODE
定义file.Open功能块打开文件的访问模式。
| 名称 |
初始值 |
说明 |
| MWRITE |
0 |
写访问,文件将被覆盖或创建 |
| MREAD |
1 |
读取访问,文件将仅打开进行读取 |
| MRDWR |
2 |
读取和写入访问,文件将被覆盖或创建 |
| MAPPD |
3 |
文件将以WRITE模式打开,但写入的数据将附加在文件末尾 |
| MREADPLUS |
4 |
打开具有读/写权限的现有文件。如果文件不存在,则打开失败 |
| MWRITEPLUS |
5 |
创建具有读/写权限的新文件。如果文件确实存在,则丢弃内容(与file_MRDWR相同) |
| MAPPENDPLUS |
6 |
使用附加(读/写)访问权限打开现有文件。如果文件不存在,“打开”将创建一个新文件 |
(3)错误码定义ERROR
定义在处理CAA_File.library的函数时可能会出现错误值。
| 名称 |
初始值 |
说明 |
| NO_ERROR |
0 |
无错误 |
| FIRST_ERROR |
5100 |
错误枚举定义的起始编号 |
| TIME_OUT |
5101 |
超过时间限制 |
| ABORT |
5102 |
xAbort信号激活导致操作终止 |
| HANDLE_INVALID |
5103 |
无效文件句柄 |
| NOT_EXIST |
5104 |
文件或目录不存在 |
| EXIST |
5105 |
文件或目录已经存在 |
| NO_MORE_ENTRIES |
5106 |
没有其他条目可用 |
| NOT_EMPTY |
5107 |
文件或目录不为空 |
| READ_ONLY_CAA |
5108 |

本文介绍了CODESYS的CAA.File库中用于目录和文件读写的函数块,包括文件路径、名称、大小的获取,以及创建、打开、读、写、拷贝和删除等功能。文章详细讲解了库的类型、枚举定义、功能块参数,并提供了目录和文件操作的示例代码。
最低0.47元/天 解锁文章
3380

被折叠的 条评论
为什么被折叠?



