中型PLC系列-文件操作篇
本课程分为基础内容和实操内容两部分,前者帮助大家了解文件操作基本内容,后者帮助大家快速上手应用。
基础内容:
1、文件操作的应用
2、文件操作函数库
3、文件操作函数 (附文件操作视频上篇)
实操内容:
4、TXT\CSV、U盘\SD卡文件读写&实操
5、带中文字符文件读写&实操(附文件操作视频下篇)
基础内容:3、文件操作函数
1、文件的打开与关闭
基于SysFile介绍Open、Close函数
SysFileOpen
该函数主要作用是打开或者创建一个文件。
该函数返回值即是hfile,作为后续写文件等功能块的输入。
SysFile路径给定注意不要使用反斜杠 \ 。
打开文件模式基础有读(READ)、写(WRITE)和追加(APPEND)模式,以及衍生的三种Plus模式,
READ:如果目标路径文件存在,打开已有文件,不存在,返回错误值。
WRITE:如果目标路径文件存在,则对文件重新写入,不存在,将会自动创建新文件,再写入。
APPEND:如果目标路径文件存在,打开已有文件,并再文件最后将内容追加写入,不存在,返回错误值。
READ_PLUS:打开文件,并具有读写权限。如果目标路径文件存在,打开已有文件,不存在,返回错误值。
WRITE_PLUS:如果目标路径文件存在,则对文件重新写入,不存在,将会自动创建具有读/写权限新文件,再写入。
APPEND_PLUS:相比APPEND,APPEND_PLUS更常用,相比前者,后者文件不存在,将会自动创建新文件。
PLUS模式使用时,在读取一个文件后,要进行写操作时,需先调用SysFileGetPos或者SysFileSetPos来明确指针位置。
正确使用顺序例如:
SysFileRead();
SysFileSetPos();
SysFileWrite();
SysFileClose
该函数主要作用是依据输入的hfile,关闭目标文件。
函数返回值是错误码,具体内容可以查看CmpErrors库内容。
文件关闭在读写操作后配套使用以避免文件的数据丢失等错误发生。
打开文件进行读写操作后未关闭,会导致内存溢出等问题,严重使PLC系统崩溃。
小练习
2、文件的读出与写入
基于SysFile介绍Read、Write函数
SysFileRead
该函数主要作用是按给定读出文件中若干个字节。
函数返回值类型为_XWORD,表示从文件中读取的字节数,调用功能块返回值为0,认为读取失败。
Input中的ulSize表示需要从文件中读取的字节数,缓冲区长度要大于该数据长度。
SysFileWrite
该函数主要作用是按给定写入若干个字节进文件。
Write使用的前提是文件必须已经正确打开,即使用Open函数在先,一般Open模式选择Write、Append或者相关PLUS模式。
为了正确的将内容写入文件指定位置,还需要配合SetPos函数使用,不然会出现每次从头覆盖写入的情况。
SysFileSetPos
该函数主要作用是将文件指针设定到给定位置。
SysFileGetPos
该函数主要作用是获取当前文件实际指针位置。
小练习
3、其它
我们这里介绍下常用的Get和Copy函数,其余的有兴趣可以到库内查找学习。
SysFileCopy
该函数主要作用是将一个文件内容复制到另一个目标文件中去。
同样注意路径不要填写反斜杠\。
SysFileDelete
该函数主要作用是删除目标文件。
注意路径不要填写反斜杠\。
文件不得在打开状态,否则,删除无效。
SysFileGetTime
该函数主要作用是获取文件最后一次更新/修改的时间,所取得时间一般要配合UDINT_TO_DT或其他转换时间函数使用。
SysFileGetTime()还能获取创建时间、访问时间。
SysFileGetPath
该函数主要作用是获取文件路径,也可以用来获取当前系统的标准路径。
SysFileGetName
该函数主要作用是获取文件名称。
SysFileGetName
该函数主要作用是获取文件大小,指针指空会有异常,慎用。
SysFileFlush
该函数主要作用是强制刷新当前缓存数据,写入存储介质中。
SysFileEOF
该函数一般在读取操作后,关闭文件前调用,如果到达文件末尾则返回True。
常见是用来确认当前配方信息都已读取完成。
SysFileRename
该函数用来重命名文件,需要注意的是FileName需要完整的路径,不能只写文件名。
小练习
本章的一些示例程序附在实操课程中
附件内容:
简单示例.zip
(1.22 MB, 下载次数: 430)