21.11.5.1 标签设置

下面是CF卡/USB存储器状态的可能状态值。

列出的文件

当执行了文件列表输出函数“_CF_dir ( )”或“_USB _dir ( )”时,会将在LS区实际写入的文件列表数保存在“列出的文件[s:CF_FILELIST_NUM]/[s:USB_FILELIST_NUM]”中。

使用示例

_CF_dir ("\DATA\*.*", [w:[#INTERNAL]LS0100], 10, 0)
[w:LS0200] = [s:CF_FILELIST_NUM]

当获取10个文件的文件列表而指定文件夹只包含5个文件时,在[s:CF_FILELIST_NUM]中会保存“5”。

已读取字节数

当执行文件读取函数“_CF_read ()”或“_USB _dir ()”时,在“读出字节[s:CF_READ_NUM] / [s:USB_READ_NUM]中保存实际读出的字节数。

使用示例

_CF_read ("\DATA", "DATA0001.BIN", [w:[#INTERNAL]LS0100],16, 16)
[w:[#INTERNAL]LS0200]= [s:CF_READ_NUM]

当试图读取16个字节但只成功读出12个字节时,在 [s:CF_READ_NUM] 中会保存“12”。

CF卡/USB存储器错误状态

保存访问CF卡或USB存储器时产生的错误状态。

位位置

错误名称

描述

15

保留

保留

14

13

12

11

10

9

8

7

6

文件重命名错误

  • CF卡/USB存储器在执行过程中被拔除

  • 指定文件不存在

5

文件删除错误

  • CF卡/USB存储器在执行过程中被拔除

  • 指定文件不存在

  • 试图删除一个具有只读属性的文件

4

文件写入错误

  • CF卡/USB存储器在执行过程中被拔除

  • 超出了CF卡/USB存储器的可用空间。

  • 试图向一个具有只读属性的文件写入数据

  • 试图“覆盖”不存在的文件

3

文件读取错误

  • CF卡/USB存储器在执行过程中被拔除

  • 指定文件不存在

2

文件列表错误

  • CF卡/USB存储器在执行过程中被拔除

  • 指定文件夹不存在

1

CF卡/USB存储器错误

  • CF卡/USB存储器无效

  • 插入的介质不是CF卡

0

无CF卡/USB存储器

  • 未插入CF卡/USB存储器

  • 舱盖打开

CF卡/USB存储器错误详细状态保存区

当发生错误时将对每个位进行置位。您可以通过设置详细状态查看到底是什么原因导致错误。在每个函数中,详细状态保存在扩展系统区的LS9132至LS9137(对USB存储器来说是LS9138至LS9143)。这些区是只读的。

每个函数的错误列表

编辑器函数名称

 

错误状态

原因

_CF_dir ( )

LS9132

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称时发生的错误)

0012h

文件名(路径名)错误

0018h

LS区写入范围错误

0020h

无CF卡

0021h

CF卡无效

0100h

目录打开错误

 

编辑器函数名称

 

错误状态

原因

_CF_read ( )

LS9133

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称/文件名时发生的错误)

0011h

LS区读取范围错误

0012h

文件名(路径名)错误

0018h

LS区写入范围错误

0020h

无CF卡

0021h

CF卡无效

0101h

文件查找错误(偏移错误)

0102h

已读取字节数错误

0110h

文件创建(打开)错误

 

编辑器函数名称

 

错误状态

原因

_CF_write ( )

LS9134

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称/文件名时发生的错误)

0011h

LS区读取范围错误

0012h

文件名(路径名)错误

0020h

无CF卡

0021h

CF卡无效

0101h

文件查找错误(偏移错误)

0104h

文件夹创建错误

0108h

写入模式错误

0110h

文件创建(打开)错误

0111h

文件写入错误(例如,CF卡上的空间不足)

 

编辑器函数名称

 

错误状态

原因

_CF_delete ( )

LS9135

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称/文件名时发生的错误)

0011h

LS区读取范围错误

0012h

文件名(路径名)错误

0020h

无CF卡

0021h

CF卡无效

0112h

文件删除错误(例如,指定的文件不存在。指定文件是只读文件。)

 

编辑器函数名称

 

错误状态

原因

_CF_rename ( )

LS9136

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称/文件名时发生的错误)

0011h

LS区读取范围错误

0012h

文件名(路径名)错误

0020h

无CF卡

0021h

CF卡无效

0114h

文件重命名错误(例如,指定的文件不存在。文件名已经存在。)

 

编辑器函数名称

 

错误状态

原因

_CF_read_csv ( )

LS9137

0001h

参数错误

0002h

CF卡错误(无CF卡、打开文件错误、文件读取错误)

0003h

写入错误

 

编辑器函数名称

 

错误状态

原因

_USB_dir ( )

LS9138

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称时发生的错误)

0012h

文件名(路径名)错误

0018h

LS区写入范围错误

0020h

无USB存储器

0021h

USB存储器无效

0100h

目录打开错误

 

编辑器函数名称

 

错误状态

原因

_USB_read ( )

LS9139

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称/文件名时发生的错误)

0011h

LS区读取范围错误

0012h

文件名(路径名)错误

0018h

LS区写入范围错误

0020h

无USB存储器

0021h

USB存储器无效

0101h

文件查找错误(偏移错误)

0102h

已读取字节数错误

0110h

文件创建(打开)错误

 

编辑器函数名称

 

错误状态

原因

_USB_write ( )

LS9140

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称/文件名时发生的错误)

0011h

LS区读取范围错误

0012h

文件名(路径名)错误

0020h

无USB存储器

0021h

USB存储器无效

0101h

文件查找错误(偏移错误)

0104h

文件夹创建错误

0108h

写入模式错误

0110h

文件创建(打开)错误

0111h

文件写入错误(例如:USB存储器上的空间不足)

 

编辑器函数名称

 

错误状态

原因

_USB_delete ( )

LS9141

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称/文件名时发生的错误)

0011h

LS区读取范围错误

0012h

文件名(路径名)错误

0020h

无USB存储器

0021h

USB存储器无效

0112h

文件删除错误(例如,指定的文件不存在。指定文件是只读文件。)

 

编辑器函数名称

 

错误状态

原因

_USB_rename ( )

LS9142

0010h

无效的D脚本数据(检索用固定字符串指定的文件夹名称/文件名时发生的错误)

0011h

LS区读取范围错误

0012h

文件名(路径名)错误

0020h

无USB存储器

0021h

USB存储器无效

0114h

文件重命名错误(例如,指定的文件不存在。文件名已经存在。)

 

编辑器函数名称

 

错误状态

原因

_USB_read_csv ( )

LS9143

0001h

参数错误

0002h

USB存储器错误(无USB存储器、文件打开错误、文件读取错误)

0003h

写入错误

数据存储模式

当执行文件读取/文件写入函数,从/向寄存器地址读取/写入数据时,可以指定已写入(读取)数据的存储顺序。

在LS9130中设置数据存储模式可以更改存储顺序。可以从如下四种模式中任意选择一种:0, 1, 2或3。

例如,当使用文件读取函数向寄存器地址中写入字符串“ABCDEFG”时

[w:[#INTERNAL]LS9130] = 0
_CF_read ("\DATA", "DATA0001.BIN", [w:[#INTERNAL]LS0100], 0, 7)

例如,当使用文件读取函数向寄存器地址中写入字符串“ABCDEFG”时

[w:[#INTERNAL]LS9130] = 1
_CF_read ("\DATA", "DATA0001.BIN", [w:[#INTERNAL]LS0100], 0, 7)

例如,当使用文件读取函数向寄存器地址中写入字符串“ABCDEFG”时

[w:[#INTERNAL]LS9130] = 2
_CF_read ("\DATA", "DATA0001.BIN", [w:[#INTERNAL]LS0100], 0, 7)

例如,当使用文件读取函数向寄存器地址中写入字符串“ABCDEFG”时

[w:[#INTERNAL]LS9130] = 3
_CF_read ("\DATA", "DATA0001.BIN", [w:[#INTERNAL]LS0100], 0, 7)