文档视界 最新最全的文档下载
当前位置:文档视界 › SysLibFileAsync_C

SysLibFileAsync_C

SysLibFileAsync_C
SysLibFileAsync_C

The library SysLibFileAsync.lib (2)

SysFileOpenAsync (2)

SysFileCloseAsync (3)

SysFileWriteAsync (3)

SysFileReadAsync (3)

SysFileDeleteAsync (4)

SysFileGetPosAsync (4)

SysFileSetPosAsync (4)

SysFileEOFAsync (4)

SysFileGetSizeAsync (5)

SysFileGetTimeAsync (5)

SysFileCopyAsync (5)

SysFileRenameAsync (6)

SysFileCloseAllOpenAsync (6)

1

The library SysLibFileAsync.lib

如果目标系统支持,这个库可以实现访问来自IEC-application的asynchronous文件。以下面的功能块来举例:

? SysFileOpenAsync

? SysFileCloseAsync

? SysFileWriteAsync

? SysFileReadAsync

? SysFileDeleteAsync

? SysFileGetPosAsync

? SysFileEOFAsync

? SysFileGetSizeAsync

? SysFileGetTimeAsync

? SysFileCopyAsnc

? SysFileRenameAsync

? SysFileCloseAllOpenAsync

共同点:

这个库中的功能块包含一些公共成员:

– 输入参数bEnable:BOOL

– 输出参数bDone:BOOL

– 输出参数bBusy:BOOL

– 输出参数bError:BOOL

– 输出参数wErrorld:WORD

所有这些功能块在输入参数bEnable输入一个上升沿时开始运行。一旦当功能块开始运行只有当输出参数bDone有输出时才可以再次调用功能块。此时输出是有效的。从现在开始。

这些公共参数在文档中不再做明确的解释。

这I/O中的I表示输入,O表示输出。

SysFileOpenAsync

2

这个功能块用来打开一个已经存在的文件或建立一个新文件。它的输出是一个hFile,也就

是文件的一个handle。一个文件的handle就是这个文件的标识符,可以是其它功能块调用

文件时的一个输入参数。

输入变量 数据类型 描述

stFileName STRING 文件名称

stMode STRING 文件打开模式:

w 写入模式(创建或重写文件)

r 只读模式(文件只能用来打开读取)

rw 读写模式(若文件不存在则建立文件,若存在则以读取方式

打开)

a 附加模式(若文件存在则写入数据且永远都是添加到文件的

末尾,若不存在则创建文件)

SysFileCloseAsync

这个功能块用来关闭一个文件。从此时开始这个文件的handle将失效,可以对文件进行其

它的操作处理。

变量 数据类型 描述

hFile DWORD 通过SysFileOpenAsync模块得到的文件的handle SysFileWriteAsync

这个功能块用来向文件中写入数据,文件是通过SysFileOpenAsync模块打开的。

变量 I/O 数据类型 描述

hFile E DWORD 文件标识符(参考SysFileOpenAsync)

pBuffer E DWORD 要写入的数据的地址(可通过ADR操作命令得到) dwSize E DWORD 要写入数据的字节数

dwWrite A DWORD 实际写入数据的字节数

数据是以二进制形式写入文件的,这意味着没有进行任何的转换。

SysFileReadAsync

3

这个功能块可用来从一个已打开的文件中读取数据。

变量 I/O 数据类型 描述

hFile I DWORD 文件标识符(参考SysFileOpenAsync)

pBuffer I DWORD 要读取的数据在缓冲器的地址

dwSize I DWORD 从文件读向缓冲器的数据字节数

dwRead O DWORD 实际读取数据的字节数

pBuffer参数必须通过ADR操作命令来取得,对文件都是直接的读写二进制,没有进行任何的转换而拷贝到pBuffer中。

SysFileDeleteAsync

这个功能块用来删除一个文件。

输入变量 数据类型 描述

stFileName STRING 要删除的文件名称 SysFileGetPosAsync

这个功能块将重新找到文件读/写的当前位置。

变量 数据类型 描述

hFile DWORD 通过SysFileOpenAsync模块得到的文件的handle SysFileSetPosAsync

这个功能块将重新设置文件读/写的当前位置。

变量 数据类型 描述

hFile DWORD 通过SysFileOpenAsync模块得到的文件的handle dwPos DWORD 文件内部读/写访问的Offset

SysFileEOFAsync

这个功能块用来确定对文件进行读/写的指针是否已经到达文件的结尾。

4

变量 I/O 数据类型 描述

hFile I DWORD 通过SysFileOpenAsync得到的文件的handle bEOF O DWORD 表明是否文件的handle已经到达

SysFileGetSizeAsync

这个功能块用来获得一个文件的字节数。

变量 I/O 数据类型 描述

stFileName I STRING 文件名

dwSize O DWORD 文件的字节数

SysFileGetTimeAsync

这个功能块用来获得文件的修改时间。

变量 I/O 数据类型 描述

stFileName I STRING 文件名称

ftFileTime O POINTER TO FILETIME指向FILETIMEAsync结构体的指针 FILETIMEAsync结构体(库中已经包含):

TYPE FILETIMEASYNC

STRUCT

dtCreation:DT; (* Erstelldatum *)

dtLastAccess:DT; (* Datum letzter Zugriff *)

dtLastModification:DT; (* Datum letzte 膎derung *)

END_STRUCT

END_TYPE

SysFileCopyAsync

5

这个功能块用来拷贝一个文件到另一个文件或位置。

变量 I/O 数据类型 描述

stFileDest I STRING 目标文件名

stFileSource I STRING 源文件名

dwCopied O DWORD 拷贝的字节数

SysFileRenameAsync

这个功能块用来重命名一个文件。

变量 数据类型 描述

stFileOldName STRING 旧文件名

stFileNewName STRING 新文件名 SysFileCloseAllOpenAsync

通过这个功能块用户可以关闭当前打开的所有文件,不用知道每个文件的handle或名称。系统可以自己默认这些handle值。

6

相关文档