您可以使用具有FP-XH以太网PLC的所有SD存储卡指令,即使它没有SD存储卡插槽也是如此。 数据存储在RAM内部,而不是使用SD存储卡读取/写入数据。
请注意,当PLC关闭时,不会存储数据。
内存大小限制为1MB。
FP_SD_GET_FREE_KBYTES返回可用空间量。
执行SD存储卡指令后,将进行以下检查:
是否存在SD存储卡?
盖子是否关闭?
SD存储卡是否写保护?
执行期间,SD存储访问激活标志(sys_bIsSDMemoryAccessActive)为TRUE,SD存储访问完成标志(sys_bIsSDMemoryAccessDone)为FALSE。
通过多次扫描执行SD存储卡指令。
执行完成后,SD存储访问错误标志(sys_bIsSDMemoryAccessError)根据具体结果变为TRUE或FALSE。当SD存储访问完成标志(sys_bIsSDMemoryAccessDone)变为TRUE时,使用此标志判断SD存储卡指令是正常完成还是异常完成。错误代码存储在系统数据寄存器中,可以使用sys_iSDMemoryAccessErrorCode进行访问。
只能同时执行一种SD存储卡指令。若要执行多个指令,请使用SD存储访问激活标志(sys_bIsSDMemoryAccessActive)等标志。
使用FP_SET_ERROR清除错误标志。
SD存储卡指令无法在中断程序中使用。
当检测到以下错误之一时,立即通知完成,且SD存储访问激活标志不会变为TRUE:
错误代码 | 错误名称 | 原因 | 受影响的指令 |
---|---|---|---|
0 |
完成,没有错误 |
||
1 |
无SD存储卡 | 未安装SD存储卡,或盖子打开。 |
执行时的所有SD存储卡指令。 |
2 |
启用SD卡的写保护 | SD存储卡已写保护。 |
|
3 |
文件/目录名称错误 | 指定文件名和目录的语法错误或指定了太多子目录。 |
|
4 |
文件未指定 | 指定的文件不存在。 |
|
5 |
文件存在 |
指定文件已存在。 |
|
6 |
读取错误 |
执行时的所有读取指令。 |
|
7 |
写入错误 |
指定文件已写保护。 |
|
8 |
错误位置 |
读取或写入位置错误。 |
执行时。 |
9 |
SD卡已满 | SD存储卡上的可用容量不足。 |
|
10 |
错误的读取格式 |
读取文件时转换格式出错。 |
执行时。 |
11 |
文件访问冲突 |
正在记录或正在通过FTP访问指定文件。 |
|
-1至-99 |
其它 |
所有SD存储卡指令 |
指定完整路径(最多256个字符)。
请勿指定驱动器名称。
指定文件扩展名,例如.txt。
若要将数据存储在根目录中名为abc.txt的文件中,请输入此内容:\abc.txt
若要将数据存储在名为“sub”的子目录的def.txt文件中,请输入此内容:\sub\def.txt
若要将数据存储在名为“new”的新子目录的def.txt文件中,请输入此内容:\new\def.txt
如果指定两个或更多文件,会发生错误4 "文件未指定"。
SD |
SDHC |
|
---|---|---|
文件系统 |
FAT16 |
FAT32 |
文件名最大长度 |
支持长文件名(VFAT) |
|
最大容量 |
2GB |
32GB |
最大文件大小 |
2GB |
4GB |
根目录中的最大文件数(8.3格式) |
512 |
65535 |
子目录中的最大文件数(8.3格式) |
65534 |
65534 |
根目录中的最大文件数(长格式) |
170 |
21845 |
子目录中的最大文件数(长格式) |
56634 |
65534 |
项目 |
描述 |
长文件名 |
255个字节(256个字节,包括完整路径) |
文件名/目录名称 |
ASCII字符(16#20~16#7E) |