FILE -- U盘文件操作

类型

文件指令

描述

加载、搜索控制器或U盘文件。

根据对应字符串选择功能。

U盘读取文件系统支持fat32fat16,不支持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盘文件。

type1-文件/2-文件夹/ ".extend" 文件后缀名

vrvrstring(vr)存储查找的结果,超过最大vr时,使用modbus_string

"FIND_NEXT"

FILE "FIND_NEXT", vr

搜索下一个U盘文件。

vrvrstring(vr)存储查找的结果,超过最大vr时,使用modbus_string

"FIND_PREV"

FILE "FIND_PREV", vr

搜索上一个U盘文件。

vrvrstring(vr)存储查找的结果,超过最大vr时,使用modbus_string

"FLASH_FIRST"

FILE "FLASH_FIRST", type, vr

搜索FLASH文件,只支持BINZ3P文件。

type1-文件/2-文件夹/ ".extend" 文件后缀名

vrvrstring(vr)存储查找的结果,超过最大vr时,使用modbus_string

"FLASH_NEXT"

FILE "FLASH_NEXT", vr

搜索下一个FLASH文件。

vrvrstring(vr)存储查找的结果,超过最大vr时,使用modbus_string

"FLASH_PREV"

FILE "FLASH_PREV", vr

搜索上一个FLASH文件。

vrvrstring(vr)存储查找的结果,超过最大vr时,使用modbus_string

"FLASH_DEL"

FILE "FLASH_DEL","fileorddir"

删除指定文件。

file:文件名全称,带扩展名。

支持文件夹的删除,可以带盘符AC

C盘,表示FLASH目录,不带盘符缺省认为是FLASH目录

A盘,表示U

"DELETE"

FILE  "DELETE","filename"

删除U盘指定文件。

filename:文件名全称,带扩展名。

"COPY_FROM"

FILE "COPY_FROM", "FLASH文件名"[, "U盘文件名"]

FLASH文件拷贝到U, 只支持BINZ3P文件。

FLASH文件名规则:SD块号.BIN

SD0.BIN  表示FLASH块号0

   SD1.BIN  表示FLASH块号1

"COPY_TO"

FILE "COPY_TO", "U盘文件名"[, "FLASH文件名"]

U盘文件拷贝到FLASH, 只支持BINZ3P文件。

"FLASH_COPY"

FILE "FLASH_COPY" "src","des"

支持文件夹的拷贝

可以带盘符AC

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)

 

例三  FLASHU盘数据互相拷贝

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"   'flash1的数据复制到U盘的sd1文件

                      PRINT "flash块的数据复制到U"

ELSEIF  SCAN_EVENT(IN(1))> 0 THEN

                      FILE"copy_to","sd1.bin"        '读取sd1的数据写入flash1

                      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

读取结果:第一个位置存储字符个数,后面的为依次存储字符数据。