### FILE -- U 盘文件操作

类型 | 文件指令
描述 | 加载、搜索控制器或 U 盘文件。 根据对应字符串选择功能。 U 盘读取文件系统支持 fat32 和 fat16，不支持 ntfs。 VPLC5 系列是 Linux 系统，读取文件名 filename 是区分大小写的，名称必须都大写。
语法 | value = FILE "function" ,…
"LOAD_ZAR" | FILE "LOAD_ZAR","filename" 加载 U 盘里面的 ZAR 升级文件。 filename：程序文件名 升级失败返回 0，同时会 WARN 输出失败原因。 升级成功后会自动启动 ZAR 文件，因此返回值 TRUE 没有意义。 升级后原来的调试状态的断点会被清除掉。
"LOAD_TCF" | FILE "LOAD_TCF","filename",tableindex,maxsize 专有文件 TCF 文件读取。 filename：文件名 tableindex：存储起始 TABLE 索引 maxsize：存储 TABLE 总索引个数
TABLE0 | 标志位 |
TABLE1 | 总点数 |
TABLE2 | 胶头编号 |
TABLE100 | 点类型 | 第一个点
TABLE101 | X 坐标 |
TABLE102 | Y 坐标 |
TABLE103 | Z 坐标 |
TABLE104 | 预留 |
TABLE105 | 点类型 | 第二个点
TABLE106 | X 坐标 |
TABLE107 | Y 坐标 |
TABLE108 | Z 坐标 |
TABLE109 | 预留 |
"LOAD_BYTE" | FILE"LOAD_BYTE","filename",tableindex,maxsize, offset 字节方式加载文件。 filename：文件名 tableindex：存储起始 TABLE 索引 maxsize：存储 TABLE 总索引个数 offset：文件开始读取的字节偏移
TABLE0 | 总字节数
TABLE1 | 读取到的第一个字节
TABLE2 | 第二个字节
TABLEn | 第 n 个字节
"FIND_FIRST" | FILE "FIND_FIRST", type, vr 搜索 U 盘文件。 type：1-文件/2-文件夹/ ".extend" 文件后缀名 vr：vrstring(vr)存储查找的结果，超过最大 vr 时，使用 modbus_string。
"FIND_NEXT" | FILE "FIND_NEXT", vr 搜索下一个 U 盘文件。 vr：vrstring(vr)存储查找的结果，超过最大 vr 时，使用 modbus_string。
"FIND_PREV" | FILE "FIND_PREV", vr 搜索上一个 U 盘文件。 vr：vrstring(vr)存储查找的结果，超过最大 vr 时，使用 modbus_string。
"FLASH_FIRST" | FILE "FLASH_FIRST", type, vr 搜索 FLASH 文件，只支持 BIN 和 Z3P 文件。 type：1-文件/2-文件夹/ ".extend" 文件后缀名 vr：vrstring(vr)存储查找的结果，超过最大 vr 时，使用 modbus_string。
"FLASH_NEXT" | FILE "FLASH_NEXT", vr 搜索下一个 FLASH 文件。 vr：vrstring(vr)存储查找的结果，超过最大 vr 时，使用 modbus_string。
"FLASH_PREV" | FILE "FLASH_PREV", vr 搜索上一个 FLASH 文件。 vr：vrstring(vr)存储查找的结果，超过最大 vr 时，使用 modbus_string。
"FLASH_DEL" | FILE "FLASH_DEL","fileorddir" 删除指定文件。 file：文件名全称，带扩展名。 支持文件夹的删除，可以带盘符 A、C C 盘，表示 FLASH 目录，不带盘符缺省认为是 FLASH 目录 A 盘，表示 U 盘
"DELETE" | FILE "DELETE","filename" 删除 U 盘指定文件。 filename：文件名全称，带扩展名。
"COPY_FROM" | FILE "COPY_FROM", "FLASH 文件名"[, "U 盘文件名"] FLASH 文件拷贝到 U 盘, 只支持 BIN 和 Z3P 文件。 FLASH 文件名规则：SD 块号.BIN 如 SD0.BIN 表示 FLASH 块号 0 SD1.BIN 表示 FLASH 块号 1
"COPY_TO" | FILE "COPY_TO", "U 盘文件名"[, "FLASH 文件名"] U 盘文件拷贝到 FLASH, 只支持 BIN 和 Z3P 文件。
"FLASH_COPY" | FILE "FLASH_COPY" "src","des" 支持文件夹的拷贝 可以带盘符 A、C C 盘，表示 FLASH 目录 A 盘，表示 U 盘
"MAKE_DIR" | FILE "MAKE_DIR" "路径"
function：功能选择
适用控制器 | 通用，使用 U 盘功能时要求控制器带 U 盘接口
例子 | 例一 下载 zar 升级程序 DIM result '定义变量 IF U_STATE=TRUE THEN 'U 盘插入判断 result = FILE "find_first",".zar",10 '扫描第一个 zar 格式文件，文件名保存到 VR IF result=TRUE THEN '扫描成功判断 FILE"load_zar",VRSTRING(10,20) '下载扫描到文件名与存储到 VR '里字符相同的 zar 文件 ENDIF ENDIF END 例二 查找 zar 升级程序 FILE "find_next",10 '查找下一个 zar 文件存储结果到 vrstring(10) FILE "find_prev",20 '查找上一个 zar 文件存储结果 vrstring(20) 例三 FLASH 与 U 盘数据互相拷贝 DIM a,aa(8) a=10 FOR i=0 TO 7 aa(i)=i NEXT WHILE 1 IF SCAN_EVENT(IN(0))> 0 THEN FLASH_WRITE 1,a aa FILE"copy_from","sd1.bin" '将 flash 块 1 的数据复制到 U 盘的 sd1 文件 PRINT "flash 块的数据复制到 U 盘" ELSEIF SCAN_EVENT(IN(1))> 0 THEN FILE"copy_to","sd1.bin" '读取 sd1 的数据写入 flash 块 1 PRINT "U 盘数据写入 flash" FLASH_READ 1,a,aa PRINT *aa ENDIF WEND END 例四 读取/删除 U 盘文件 FILE "LOAD_BYTE","00.txt",200,10,0 '读取 U 盘中 00.txt 文本文件的数据保存到 table(200)开始的 10 个地址中，偏移量为 0，从第一个字符开始读取 FILE "DELETE" , "sd0.bin" '删除 U 盘上名称为 sd0.bin 的文件 00.txt 文件内容：ZMOTION 读取结果：第一个位置存储字符个数，后面的为依次存储字符数据。