### 枚举、结构体及部分类型数据说明

**ATTRIB**

枚举变量，定义了文件的特征，用于给GetAttribute功能块提供返回值
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e060285ac.png)


**ERROR**

枚举变量，整个库中可能出现的故障定义
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e06e691a3.png)

**MODE**

枚举变量，定义了Open功能块中，文件打开的方式
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e07965b28.png)

**FILE\_DIR\_ENTRY**

结构体变量，保存了目录下每个条目的信息，通过顺序调用DirList来填写
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e081e66f8.png)


T\_FILENAME

TYPE T\_FILENAME: STRING(255)

T\_HANDLE

TYPE T\_HANDLE: ULINT

T\_SIZE

TYPE T\_SIZE : UDINT

T\_PVOID

TYPE T\_PVOID: ULINT

---
### 目录类(Directory)

**DirOpen**

打开一个目录，返回的句柄后续使用的时候都需要用到，如果需要获得目录内的条目，需要调用DirList，一个一个获得
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e0aa8f917.png)

**DirClose**

关闭一个目录
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e0b2ba47e.png)


**DirList**

读取目录条目，每次读取一条，读取的内容存储在结构体中
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e0bb354ff.png)

**DirCreate**

创建一个子目录
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e0c5350f3.png)

**DirCopy**

拷贝目录，可以通过参数指定是否拷贝子目录或者是否覆盖
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e0ce7805c.png)


**DirRename**

重命名一个目录（不建议用此功能移动文件，可以使用Rename）
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e0ddac1c5.png)

**DirRemove**

删除一个目录（可能有文件已经被Open打开）
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e0ea742c6.png)

---
### 文件类(File)

**FileOpen**

打开一个文件，生成一个句柄，可以用于Read、Write、Close（xExclusive参数codesys不支持）
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e0ffc3b57.png)

**FileClose**

关闭文件句柄
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e10ce4a05.png)


**FileRead**

读取数据到buffer中
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e11841d3a.png)


**FileWrite**

将buffer写入文件中
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e12163401.png)


**FileCopy**

拷贝文件，如果不存在则创建，存在根据参数可以选择覆盖
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e1281873c.png)


**FileDelete**

删除文件，如果Open也会被删除
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e12e0ce82.png)


**FileRename**

重命名文件，也可以用于移动文件，不能用于移动目录
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e13608461.png)


**FileSetPos**

移动当前打开文件的读写位置
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e13f672e5.png)


**FileGetPos**

读取当前打开文件的读写位置
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e145830c8.png)


**FileEOF**

用于判断当前读写位置是否已经到文件末尾
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e14dd074d.png)

**FileFlush**

强制将缓冲区内的数据写入到磁盘中
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e154d77fa.png)


**FileGetAttribute**

获得当前打开文件的文件属性，文件属性的定义位于枚举变量ATTRIB
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e15e1cfbe.png)


**FileGetSize**

获取文件名指向文件的文件大小
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e1667d885.png)

**FileGetTime**

获取文件名指向文件的最新修改日期
![](https://resource.helplook.net/docker_production/3648ne/article/Xge0BxDO/6801e16dcfcea.png)

---
**函数类**
GetLibVersion

功能描述：返回当前版本信息

Return：（VERSION）返回当前版本信息