USART HMI 资料中心

官方技术交流QQ群:916560014

站点工具


目录索引

5.控件详解:19.文件流控件

文件流控件使用说明



名称操作版本日期
说明编辑
《文件流控件使用说明》创建中V1.02019-01-17第一次编辑完成,正式发布。lyh
《文件流控件使用说明》修订V1.12020-07-31补充本空间中所有属性详解qjj



【目录】

一、文件流控件-概述

二、文件流控件-简单使用

三、文件流控件-属性详解

3.1、控件属性描述

3.2、控件属性编辑

      3.2.1、编辑属性   

      3.2.2、读属性

      3.2.3、写属性

3.3 、属性详解

      3.3.1、vscope属性

      3.3.2、objname属性

      3.3.3、id属性

      3.3.4、type属性

      3.3.5、val属性

      3.3.6、qty属性

      3.3.7、en属性

四、文件流控件-方法说明

4.1、open方法

4.2、read方法

4.3、write方法

4.4、close方法

4.5、find方法

五、文件流控件-使用详解

5.1、在页面上新建文件流控件

5.2、文件流控件实战使用


一、文件流控件-概述

1.1、文件流控件是串口屏诸多功能控件里面的其中一个。

1.2、用于在串口屏上系统文件操作。

1.3、在《USART HMI》软件左侧工具箱里面(如下图所示)。

注:仅X系列支持

图片3.png


二、文件流控件-简单使用

通过文件流控件实现自己的读写文件工程工程(如下图所示)。

图片2.png


事件下代码设计

页面事件

图片1.png


写入按钮

图片3.png


读取按钮

图片4.png


三、文件流控件-属性详解

串口屏所有控件操作的实质都是对属性的修改。文件流控件具有的属性如下表所示。

图片5.png

3.1、控件属性描述

      如下图所示,当鼠标选中对应属性时,会在属性窗口的最下方出现该属性的详细描述信息。

图片5.png

3.2、控件属性编辑

      3.2.1、编辑属性

      用户可以随时调整、编辑列表中的属性参数。

      注意:type和id属性由开发环境指定,用户不可修改。可通过软件左上角置顶置底间接操作

      3.2.2、读属性

      如上图所示的控件属性列表,可以在设备运行中随时读取。

      sys0=fs0.id        将文件流控件fs0的id号赋值给sys0变量
      prints  fs0.id,0       将fs0的id号从串口发送出去。

      注意:objname属性不可以读取。比如在事件代码中写"t0.txt=fs0.objname"编译将报错。

      3.2.3、写属性

      所有绿色控件可以在运行中实时修改。

      注意:因产品系列不同,属性的写权限也不完全相同。比如X系列可以在运行该过程中修改x,y属性。但是T0,K0系列不能在运行过程中修改x,y属性

3.3 、属性详解

      3.3.1、vscope属性

            vscope属性。控件内存占用属性。控件支持私有和全局属性。

            当设置为全局时,控件分配的内存在所有页面都可以访问。离开当前页面后,控件属性数据也不会丢失。缺点是,占用系统总内存。

      3.3.2、objname属性

            objname属性。控件名称属性。该属性在运行中不能获取。

      3.3.3、id属性

            id属性。控件id是每个控件在当前页面的唯一标识号。由系统分配,不可修改。可通过软件左上角置顶置底间接修改。

      3.3.4、type属性

            type属性。控件类型属性。由系统分别固定数据,比如文件流控件属性为63。

      3.3.5、val属性

            val属性。此文件流当前数据指针(打开文件时恢复为0,读写操作过程中自动移动,支持手动设置)。

      3.3.6、qty属性

            qty属性。文件大小(运行中根据实际打开的文件自动更新,只可获取不可设置)。

      3.3.7、en属性

            en属性。文件打开状态(只可获取不可设置)。

            注:有文件被打开(open)的时候,en=1;没有文件打开的时候,en=0。


四、文件流控件-方法说明

       该方法为文件流控件独有的,对于其他控件不生效。使用方式类似于指令。

       文件流包含相关方法软件存放位置

       图片1.png


        4.1、open方法 打开文件

       int open(string path)

       path 文件路径如“sd0/aa.txt” 

       例:fs0.open("sd0/aa.txt") (打开sd0下aa.txt如果成功返回1 失败则返回0)

       文件打开读写操作完成后一定要记得关闭文件,同一个文件在打开后,关闭之前,是不能被另外一个文件流控件打开的    

        

       4.2、read方法 从当前流读数据

       int read(object att,int star,int lenth)

       att 变量名称

       att star 变量(非文件地址)的起始地址(一般为0)

       lenth 读入数据长度

       例:fs0.read(va2.txt,0,100) (va2.txt读取打开的文件从0读到100)  读取成功返回1,失败返回0

        注 ①起始地址不为0时,若读取文本地址也应不为0,且相对应得地址有数据 否则导致读到文本为空

             ②读取要注意控件属性(txt_maxl),读取数据长度超过范围,则无法显示读取的内容。       

        例 有一个文件文本内容为“ABCDEF”  fs0.read(va2.txt,1,2)    va2.txt="12"  读到va2.txt=“1AB”。

            此时读到文件数据是出现1的后面。如果1后面有别的数据,那么他们对应的位置会被替换掉。 读取完,文件流指针(val)加上数据长度(2)。


      4.3、write方法 将数据写入当前流 

      int write (object att,int star,int lenth)

      att 变量名称

      att star 变量(非文件地址)的起始地址(一般为0)

      lenth 写入数据长度

      例 fs0.write(va2.txt,0,100) (将va2.txt的字符内容写入当前打开的文件中) 写入成功返回1,失败返回0

       注 ①写入完,文件流指针(val)加上数据长度(lenth)

          star设置不为0时,写入变量的起始地址,不是文件的起始位置

             例:t0.txt="123456"

                    fs0.write(t0.txt,1,6)    此时写入"23456"加一个空格


      4.4、close方法 关闭文件流

      例:fs0.close() 成功返回1,失败返回0

       文件打开读写操作完成后一定要记得关闭文件,同一个文件在打开后,关闭之前,是不能被另外一个文件流控件打开的


      4.5、find方法 查询文件

      int find(string key) 成功返回1,失败返回0

      key 关键字字符串变量/常量

      例:文件aa.txt内容为123

      fs0.open("sd0/aa.txt")

      s0.find("2")  (查找文件中的"2",此时fs0.val为1)

       从当前流的当前数据指针(val属性)位置开始查询关键字,如果查询成功,数据指针将会移动到关键字中第一个字符串:如果查询失败保持数据当前指针不变


五、文件流控件-使用详解

5.1在页面上新建文件流控件

图片1.png

图片2.png

1、打开一个新的空白界面▲

2、点击左侧<工具箱>里面的<文件流>按钮,当前页面左上角出现一个文件流▲

点击文件流控件,他就将会出现在特殊控件窗口


5.2文件流控件实战使用

操作sd文件步骤:

1.通过open方法打开文件

注:如果没有该文件将会报文件操作失败(06 FF FF FF)。

2.接下来可以通过write方法写入文件或者read方法读取文件

3.操作完文件后使用close方法关闭文件流


相关例程

①将曲线/波形控件的数据点写入sd卡文件中 点击下载


素材说明:

定时器控件给曲线/波形控件添加数据点。

将数据点通过文件流控件写入sd卡文件。


②通过文件浏览器以及文件流实现文件系统 点击下载


素材说明:

文件浏览器显示文件,文件夹。

文件流打开,读取文件显示在相应控件上。

相关方法 up方法

相关指令 newfile指令 newdir指令 deldir指令 redir指令 findflie指令 finddir指令 refile指令 redir指令 这些指令实现文件系统对文件的基本操作。

相关控件 外部图片控件 视频控件


注:视频控件属性from设置外部文件

    电脑是有虚拟sd卡文件夹 可以在电脑模拟和调试好之后 再下载屏上仿真。(存放路径:菜单栏—文件—虚拟sd卡文件夹)

END



5.控件详解/19.文件流控件.txt · 最后更改: 2020/09/14 08:37 由 tjcqiu        浏览次数:1171/2911089(本页/全站)