今天继续我们的小白教程,老鸟就不要在这浪费时间了😊。
前面一期我们介绍了CODESYS的文件操作库CAA File。这一期主要介绍CODESYS的SysFile库所包含的文件读写功能块,主要包括文件路径、名称、大小的获取以及文件的创建、打开、读、写、拷贝和删除功能等。
一、SysFile库简介
与上一期介绍的目录和文件操作库CAA File不同,SysFile属于CODESYS比较底层的库,其中结构和功能块的定义与C语言非常接近。使用该库需要在“库管理器”中添加SysFile库,这里使用的是3.5.15版本。

需要注意的是,SysFile库中所有功能均为函数(FUNCTION),与CAA File库中的功能块(FUNCTION_BLOCK)是不同。函数可以直接使用,而功能块需要先声明后使用。因为CODESYS的函数内部的变量在运行后是不会保留的,这个与功能块是不同。使用的时候要分清楚,避免因为初始状态不同导致的问题。
二、SysFile库的主要功能块
提供对运行时系统的文件功能的访问。仅能进行文件相关的操作。
1.基本定义
(1)文件访问模式ACCESS_MODE
定义文件打开的模式。
| 名称 |
初始值 |
说明 |
| AM_READ |
0 |
使用读取权限打开现有文件。如果文件不存在,则报打开失败错误。 |
| AM_WRITE |
1 |
创建具有写入权限的新文件。如果文件确实存在,则丢弃内容。 |
| AM_APPEND |
2 |
使用附加(仅写)权限打开现有文件。如果文件不存在,则打开失败。 |
| AM_READ_PLUS |
3 |
打开具有读/写权限的现有文件。如果文件不存在,则打开失败。 |
| AM_WRITE_PLUS |
4 |
创建具有读/写权限的新文件。如果文件确实存在,则丢弃内容。 |
| AM_APPEND_PLUS |
5 |
使用附加(读/写)访问权限打开现有文件。如果文件不存在,“打开”将创建一个新文件。 |
注意:对于所有*_PLUS模式,读取文件后,只能在调用SysFileGetPos或SysFileSetPos后才能进行写入!如果在SysFileRead之后立即调用SysFileWrite,则文件指针可能位于无效位置!正确的使用方式如下:
SysFileRead();
SysFileGetPos();
SysFileWrite();
(2)文件的时间戳SYS_FILETIME
定义文件的时间戳结构。
tCreation:文件创建时间。
tLastAccess:访问文件的时间。
tLastModification:上次修改的时间。
(3)文件状态SYS_FILE_STATUS
定义指定文件的实际文件状态。
| 名称 |
初始值 |
说明 |
| FS_OK |
0 |
文件已被打开。 |

本文介绍了CODESYS的SysFile库,包括其与CAAFile的区别、主要功能、文件操作函数如打开、读写、关闭文件等,并提供了使用示例,强调了文件操作的安全性和平台相关性。
最低0.47元/天 解锁文章
1099





