LabVIEW(四):数据存储和文件IO

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ 
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9697761.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

1、使用NI数据采集板卡来进行数据保存和文件I/O操作。
2、在一个典型的测试测量系统当中,包括:信号调理、信号采集、信号分析、信号显示、数据存储。
数据存储:将采集到的数据储存到磁盘上,以备日后离线分析,或者作为数据日志。
3、文件I/O:把已经储存在磁盘上的数据导入到数据采集系统当中,并由数据采集板卡输出信号,这时需要用到文件I/O操作。
4、LabVIEW中最常用的三种数据存储格式:
(1)、ASCII文件格式(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
(2)、直接二进制存储。
(3)、TDMS文件格式(Technical Data Management Streaming 技术数据管理流)
5、三种文件格式的优缺点:
ASCII TDMS 直接二进制
共享数据 最优(任何文本程序容易读取) 次优(NI程序容易进行读取) 好(仅有元数据)
效率 好 最优 最优
数值精度 好 最优 最优
理想适用范围 在磁盘空间和精度不重要时,用于与其他程序共享数据/将简单数组数据和元数据与编程者进行共享 紧凑的存储数值数据,并提供随机访问功能

6、LabVIEW中提供了高层文件I/O函数和底层文件I/O函数来进行文件I/O的操作通过分类地进行文件操作,可以提高连续文件写入或读取的效率。
7、高层文件I/O函数封装了底层文件I/O函数在一个VI中完成了文件的打开、读取、写入、以及文件关闭的操作。高层文件I/O函数完成了一站式的文件操作。但是应该避免把高层文件I/O函数放入一个循环结构中,因为反复的打开关闭文件会大大降低文件操作的效率。
8、如果磁盘上已存储了相应的二进制文件可以将其通过数据采集板卡的AO通道进行输出。典型的信号输出范例:
(1)、首先建立一个AO输出通道。
(2)、并设定为连续波形输出模式。
(3)、将从文件中读取的数据写入模拟输出通道。
(4)、开始任务后进行波形的循环输出。
(5)、连接好设备后,通过测试面板观察信号输出情况。
9、除了普通的ASCII文件和二进制文件之外。NI提出了一种针对测试测量的高效文件存储格式—TDMS。
TDMS:为了简化设计和维护自定制的文件格式,NI提供了一种灵活的数据模型,称为TDM模型。它可以在NI LabVIEW、LabWindows/CVI(National Instruments 公司:美国国家仪器公司,简称NI 公司。推出的交互式C 语言开发平台)、DIAdem(DIAdem是一款专门用于帮助工程师和科学家们使用单一软件工具快速定位、检查、分析和报告测量数据的软件)中进行访问。如果需要从第三方软件中访问TDM模型,只需使用NI提供的相应TDM dll即可。
TDMS最核心的内容都在这个dll中,用户如果安装了LabVIEW,就会发现在Program Files\National Instruments\Shared\TDMS文件夹中有个tdms.dll的文件。其他软件正是通过调用这个dll的API来操作TDMS文件的。
TDM数据模型提供了多种特有的优点。例如:a.符合特殊工程需要。b.方便添加描述性的测量信息。TDM数据模型支持两种文件格式:a.TDM文件 b.TDMS文件
10、TDMS文件:位于文件I/O、TDM流子选版下面的一组API(Application Programming Interface,应用程序编程接口)用来访问TDMS文件类型,并针对数据流盘进行了优化。
11、TDM文件:使用文件I/O、存储子选版下面的函数来进行访问,同样提供类似性能,但并没有对数据流盘进行优化。
12、当需要存储测试或测量数据为数据分组,创建块的数据结构、存储定制数据信息并进行高速数据读写时,应当考虑使用TDMS文件类型。
13、TDMS文件数据类型的层次结构
TDMS文件将数据组织为三个不同层次的对象,最顶层由一个单独的对象组成,称之为:“文件的根”,其中包含了文件本身特有的信息例如工作者、标题。每个TDMS文件都能包含无限个组,而每个组又能包含无限个通道。简而言之:
TDMS三层结构对象为:
(1)、文件的根
(2)、组
(3)、通道
14、每个TDMS对象都有一个唯一的路径来进行标识,每个路径则是一个包含对象名称以及其所有者名称的字符串,并以正斜杠作为分割符。每个名称均被包含在一对单引号当中,如果对象名称中就含有单引号,那么它们将被直接替换为2个单引号。
不同对象路径格式的实例见下图:
Object Path
File object /
Group object Measured Data /\'Measured Data\'
Group object Dr. T\'s Events /\'Dr. T\'\'s Events\'
Channel object Time in group Events /\'Events\'/\'Tine\'
编辑

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypzff.html