labview2014字符串和文件 IO第5讲_第1页
labview2014字符串和文件 IO第5讲_第2页
labview2014字符串和文件 IO第5讲_第3页
labview2014字符串和文件 IO第5讲_第4页
labview2014字符串和文件 IO第5讲_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5讲字符串和文件 I/O LabVIEW编程及虚拟仪器设计 上一讲内容回顾 图形显示 波形图(Graph,新替换旧),波形图表(Chart,新 接续在旧后), XY图,强度图(用颜色表示第3维数 据) Express VI(快速VI) 通过对话框配置参数,输入或输出DDT类型(近似为 波形数组) 局部变量和全局变量 局部变量:打破输入和输出显示控件的读写限制 全局变量:在VI文件之间共享数据 注意并行运行程序段之间的竞态条件 属性节点,通过编程动态读取/设置前面板控件属性 本讲内容 字符串 文件I/O 1. 字符串 字符串是ASCII字符(和其他字符)的集合, 用于文本的屏幕显示,仪器控制时

2、的命令 与结果传送和文本文件操作 命令 执行结果 串口/GPIB接口 1. 字符串 字符串相关控件 控件选板,新式-字符串与路径子选板和列表与表格子选 板 字符串常量 函数选板,编程-字符串 输入任意字符串 其他预定义 字符串常量 定义多个“项-值” 对 1. 字符串 1. 字符串输入控件和输出显示控件 2. 组合框控件 输入和输出控件底色不同 运行程序 组合框输入控件, 未定义任何项 组合框出现项列表 输出所选项对应值 (字符串) 3. 表格 表格是字符串组成的2维数组 1. 字符串 采用属性节点属性节点指定列首 “列首字符串”属性 列首的显示通过快捷菜单 的显示项子菜单设置 列首 3. 表

3、格 将表格放在循环内? 1. 字符串 1D2D 2D 每次循环送入表格的二维数组 仅包含新数据行,新数据行替 换旧数据行 采用移位寄存器保存所有旧 数据行,每次循环送入表格 的二维数组包含旧数据行和 新数据行 等待函数:避免表格刷新过快无法观 察其中数据 1. 字符串 4. 树形控件 按层次组织数据 点击输入树形控件项 将鼠标指针所在项(和 子项)降低一个层次 将鼠标指针所在项(和 子项)提高一个层次 在某一项上弹出快捷菜单 编辑每一项的标识符(Tag) 树形控件输出 所选项的标识符 1. 字符串 字符串的显示方式 字符串输入控件、输出显示控件,通过快捷菜单配 置为如下显示方式之一: 正常显示

4、(Normal Display)- 显示可打印字符 代码显示( Codes Display)- 采用反斜 杠代码显示正常方式下不可显示的字符如空格, 制表符,等等;多用于程序调试、向仪器设备 传输数据 密码显示(Password Display)- 以*号显示所有字 符,包括空白 a)十六进制显示(Hex Display)- 采用十六进制显 示所有字符,用于程序调试 1. 字符串 常用代码字符 1. 字符串 典型字符串操作函数 1. 字符串长度(String Length) 功能:返回字符串的长度(以字节为单位) 2. 连接字符串(Concatenate Strings) 功能:按顺序连接所有

5、输入字符串 成为一个新字符串;输入可以为1维 字符串数组 1个汉字占2个字节 (byte) 1. 字符串 3. 截取字符串(String Subset) 功能:从输入字符串的“偏移量” 位置开始,取出所要长度的子字符串 4. 转换为大写字母(To Upper Case)和转换为小写 字母( To Lower Case ) 字符串中字符的索引字符串中字符的索引 从从0开始!开始! 未接“长度”参数表示到串 尾 注意中文的处理 1. 字符串 5. 替换子字符串(Replace Substring) 功能:删除“偏移量”开始的“长度”个字符的子字符串, 然后插入“子字符串”;即在指定位置插入(“长度

6、”为 0)、删除(“子字符串”为空)或替换子字符串 6. 搜索替换字符串(Search and Replace String) 功能:查找并替换指定字符串 快捷菜单可打开快捷菜单可打开“正则表达式正则表达式”选项选项 1. 字符串 正则表达式(Regular Expression):使用特殊 语法的表达式,其中包含查找复杂字符串所依照 的规则或模式;类似文件名搜索时使用的通配符* 和?,但更复杂和强大 a-zA-Z*at “at”之前有之前有0或多个字母或多个字母 寻找和替换所有匹配 打开了“正则表达式”选 项 所有匹配都替换为 “NULL” 1. 字符串 7. 匹配正则表达式(Match R

7、egular Expression) 功能:从“输入字符串”的“偏移量”位置开始查找“正则 表达式”,找到后,按其所在位置将“输入字符串”分为 三段 从一段文本中提取Email地 址(此处给出两种不同的 正则表达式方案) 1. 字符串 8. 格式化日期/时间字符串 (Format Date/Time String) 功能:以指定的格式显示时间字符串 9. 扫描字符串 (Scan From String) 功能:扫描输入字符串,提取表示数据的子串并按 照给定格式进行转换 提取和转化浮点数 可能为电压表返回的电压查 询结果(伏特,直流,5.36) 1. 字符串 10. 格式化写入字符串 (Form

8、at Into String) 功能:将多种数据转化为字符串 以上两个函数,弹出快捷 菜单,选择编辑格式字符 串选项 通过对话框配置格式字符 串,降低难度 2. 文件I/O 计算机文件供计算机程序所使用,是存储信息的 容器,且经常基于持久存储机制如磁盘驱动器; 文件的持久存储指的是当前运行的程序结束后,文件仍可 被其他程序所使用 操作系统中,文件组织为字节序列 文本文件(text file)包含按行组织的由字符组成 的可读文本,且在最后一行后包含文件结束符 (end-of-file) 文本文件采用文本编辑 程序(如记事本)打开 2. 文件I/O 二进制文件(binary file)包含任意内容

9、,如可执 行程序,图像,声音,压缩过的其他文件 图片文件,JPG格式 二进制文件采用十六进制编辑程序(如UltraEdit)打开 使用文本编辑程序打开二进制文件时出现“乱 码”,即强制按字符显示强制按字符显示实际上不是字符的二 进制数据 2. 文件I/O 文本文件简单直观,很多程序都可打开,但占据 较多存储空间;二进制文件占据较少空间,但具 体数据存储格式由程序自定义,只有特定程序可 以打开 2. 文件I/O LabVIEW提供了丰富的文件I/O函数和功能, 主要包括: 打开和关闭文件 移动和重新命名文件与目录 改变文件属性 在文件中读取和写入数据 创建、修改和读取配置文件 2. 文件I/O

10、文件I/O操作步骤,两种编程思路 创建/打开文件 读写文件 关闭文件 使用高级函数/VI,由编程者管理各 个步骤,使用稍复杂,但灵活,效率高 (底层函数) 创建/打开, 读写,关闭文件 使用简单函数/VI,内含文件I/O 的各个步骤,使用简单,灵活性差 (高层函数) 2. 文件I/O 函数选板,编程-文件I/O子选板 文件路径控件和常量 简单文件I/O函数 高级文件I/O函数 (部分) 配置文件(.ini)I/O 函数,保存应用程序 参数配置 路径处理 控件选板,新式- 字符串与路径 函数选板,编程- 文件I/O-文件常量 2. 文件I/O 电子表格文件? 按表格形式组织的文本文件,行间采用换

11、行 分隔,行内数据采用指定符号分隔 例:存储二维整数数组的电子表格文件 1.dat,行内数据采用 制表符(t)分隔 2.dat,行内数据采用 逗号(,)分隔 经过文本导入向导,在Excel中打开 2. 文件I/O 文件I/O的简单函数 1. 写入电子表格文件 (Write To Spreadsheet File) 功能:将1维或2维数值或字符串数组转化为表格形式的字 符串,并写入到文件中;若“文件路径”参数未接入,则 弹出文件对话框;“分隔符”参数指定行内分隔符,默认 为制表符t 采用默认的制表符“t”作为分隔符 指定使用逗号“,”作为分隔符 将2维整数数组写入电子表格文件(对应前例) 2.

12、文件I/O 2. 读取电子表格文件 (Read From Spreadsheet File) 功能:从电子表格形式的文本文件中读取数据并转化为1维 或2维数组,数组元素类型为整型、浮点型或字符串型 多态VI选择器 在列表中选择具体使 用哪个函数/VI实例 读取1.dat,默认为采用制表符“t”分隔行内数据 多态VI:具有相似功能和不同 参数类型的VI的集合 2. 文件I/O 3. 写入测量文件 (Write To Measurement File) 功能:将DDT类型信号写入LabVIEW自定义的测量文件, 文件可以是文本文件(.lvm),或者二进制文件(.tdms 和.tdm) Expres

13、s VI,通过对话框配置 参数和功能 选择文本还是二进 制格式 二维标量数组 - 行是通道 2. 文件I/O 4. 读取测量文件 (Read From Measurement File) 功能:从文本(.lvm)或者二进制(.tdms和.tdm)格式的 测量文件中读取DDT类型信号 Express VI,通过对话框配置 参数和功能 2. 文件I/O 以上涉及电子表格文件和测量文件的函数都是在内 部封装了多个文件操作步骤的简单函数。 文件I/O的高级函数 高级函数经常使用文件引用句柄(refnum),文件 引用句柄是代表文件(及其资源)的唯一标识符 高级函数通常以引用句柄和错误簇串在一起使用:

14、打开/新建 文件 读/写文件关闭文件 错误簇,传递错误信息 文件引用句柄(refnum),用 于访问已打开的文件资源 2. 文件I/O 在循环中使用文件I/O函数的效率问题 打开/新建 文件 读/写文件关闭文件 创建/打开, 读写,关闭文件 在循环内部使用简单函数,每次循环都执行 打开文件和关闭文件的多余步骤,效率较低 简单函数 高级文件I/O函数 使用高级函数,在循环外部 打开和关闭文件,在循环内 部进行读/写,效率较高 2. 文件I/O 1. 打开/创建/替换文件 (Open/Create/Replace File) 功能:打开已有文件,或创建新文件并打开,或替换已有 文件并打开;打开文件

15、后返回文件引用句柄;未接入“文 件路径”参数时弹出文件选择对话框 2. 关闭文件(Close File) 功能:关闭输入参数“引用句柄”所代表的已打开文件 3. 格式化写入文件(Format Into File)和扫描文件 ( Scan From File ) 与字符串相应 函数相似 2. 文件I/O 4. 写入文本文件 (Write to Text File) 功能:将接入“文本”参数的字符串或字符串数组写入文 本文件,字符串数组中每个元素将作为文件中的一行; “文件”参数可以是路径或文件引用句柄 当前VI所在目录 获得绝对路径 - (当前VI所在目录)/a.txt 2. 文件I/O 5.

16、读取文本文件 (Read From Text File) 功能:从文本文件中读取指定数目的字符或文本行 打开该选项读取文本行,以每 行文本为元素组成字符串数组 已打开“读取行”选项 -1表示读取文件全部内容 2. 文件I/O 6. 写入二进制文件 (Write To Binary File) 功能:将数据写入二进制文件 采样信息,产生0.1秒的波形 波形自身频率50 Hz,0.1秒 波形包含5个完整正弦周期 可以直接写入任何 数据类型的数据! 2. 文件I/O 7. 读取二进制文件 (Read From Binary File) 功能:从二进制文件中读取数据 空的波形数据,指定二进制 文件中存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论