LabVIEW数据记录和存储(四)—XML文件
- 格式:docx
- 大小:10.81 KB
- 文档页数:2
第八章文件I/O的实现8.1 文件的类型当把LabVIEW用于测控领域时,通常需要对不同类型的测试数据进行实时存储,以供日后进行数据分析、波形回放或生成各种类型的报表。
LabVIEW提供了丰富的文件类型用于满足用户对存储格式的需求。
常用的文件类型有8种,下面就简要介绍这8种文件的格式。
1.文本文件文本文件是一种最通用的文件类型,它可以将多种文件类型进行格式转换,以ASCII 码的形式存储在记事本,word等常用字处理软件中。
大多数仪器的控制命令或其它字符串类型的数据以文本形式进行保存和读取,但当存入数据中有二进制数据、浮点型数据时使用文本文件格式进行存储会占用较大的磁盘空间,保存和读取数据较慢,极端情况时会使数据存储速度跟不上生成速度。
产生这些不利现象的原因在于用这种格式进行I/O操作时首先要将原数据进行格式转换,转换为字符串格式才能存储。
例如,一个八位二进制数11001110,以二进制文件形式存储占一个字节,如果要以文本格式存储,就要占8个字节,并且需要先把二进制文件转换为ASCII码的文本文件,再将文本文件还原为二进制的形式进行读写,因此即减慢了读写速度,又占用了硬盘空间。
以这种文件方式进行数据存储,由于存储数据字符数不同,因此所占的字节数也不同,不利于用户在制定位置进行所需数据的查找。
2.电子表格文件电子表格文件输入的是一维或二维的数组,这些数组首先被转换为ASCII码,然后存储在Excel等电子表格中。
这些数组的内容可以是字符串类型的、整型的或浮点型的。
电子表格文件内有一些特殊的表格符号,如空格符、换行符等,用于满足表格数据的填入要求。
可以用电子表格制作一些简单的数据存储和显示报表,当用户需要生成功能较多的高级报表时可以使用报表生成工具包。
3.二进制文件二进制格式是所有文本文件格式中读写速度最快的一种文件存储格式,用这种方式存储数据不需要进行数据格式的转换,并且存储格式紧凑,占用的硬盘空间小。
壹这里说的测试测量数据是指配合NI的硬件,如PXI卡采集所得的测试测量数据。
对其他的测试测量应用场景我还不熟悉。
NI原先是缺乏一个比较优秀的测试测量数据存储方案的,NI后来也意识到了这个问题,于是在德国收购了一家公司,这家公司专做数据存储(也包括显示、报表等),于是NI在数据的采集、存储、显示这方面的产品线已经比较齐全了。
NI现在主推的一个数据存储逻辑模型叫做TDM(Technical Data Management),具体的方案可见:NI TDM Data Model这个模型的特点可以简单概括为:清晰的层次结构以及支持各层次的描述性信息。
具体来讲,一个TDM模型的数据文件可以分为三层,分别为文件(File)、组(Group)和通道(Channel),在每个层次上,都有NI定义好的一些属性,同时,用户也可以自定义属性。
这样的一种数据模型很容易被理解和接受。
比较符合实际的应用需求。
比如用NI的采集卡采集电压数据。
一块卡上一共8个通道。
每个通道每次采集的数据都可以保存为一个“通道(channel)”,8个通道一次采集的数据可以组成一个组(group),每天采集一次,n天就形成n个组,每个组都有8个通道,所有的数据都写在同一个文件(file)里。
其他卡采集的数据放在不同的文件中。
除了直接采集到的数据(可称乊为Raw Data)乊外,总要写点其他信息的,比如采集卡到底是什么型号,每次采集都是谁来完成,采集的是电压还是电流,单位是伏特还是千伏等等。
这些信息就称为描述性信息(Meat Data)。
这些信息写在别的文件里面总不太容易管理,最好写在一个文件中。
因此TDM模型也支持将这些描述性信息写在同一个文件中。
注意一下,我在这里说的是TDM的“逻辑”模型,幵不是指他的物理存储结构。
在NI,有数种文件栺式都支持TDM的模型,但是他们的物理存储方式大相径庭,这个以后再写。
这种TDM模型的测试测量数据文件,是NI软件平台中通用的文件,除了LabVIEW外,很多其他的NI软件产品都支持这种模型,比如DIAdem、CVI、Singal Express等等。
LabVIEW中的数据存储和数据库连接在使用LabVIEW进行数据存储和数据库连接方面,有几种常见的方法。
LabVIEW是一个用于控制和测量应用程序的图形化编程环境,可以方便地将数据存储到本地文件或连接到数据库以进行数据分析和管理。
一、数据存储在LabVIEW中,可以使用多种方式将数据存储到本地文件中。
以下是几种常见的方法:1. 本地文件保存:LabVIEW提供了多个函数和工具,可以将数据保存到本地文件,例如将数据以文本形式写入到文本文件中,或者以二进制形式写入到二进制文件中。
可以使用"Write to Text File"或"Write Binary File"函数来实现这一功能。
2. TDMS文件存储:TDMS(Technical Data Management Streaming)是一种二进制数据格式,可以有效地存储和管理大量的测量数据。
LabVIEW中提供了TDMS文件读写函数,可以方便地将数据保存为TDMS格式文件,并可以随时读取和处理这些数据。
3. 数据库存储:LabVIEW可以通过连接到数据库,将数据保存到数据库中。
根据具体的需求和数据库类型,可以选择不同的数据库连接方式,如ODBC、等。
通过适当的配置和调用数据库相关的函数,可以方便地将数据保存到数据库表中。
二、数据库连接LabVIEW支持与多种类型的数据库进行连接,例如MySQL、SQLite、Oracle等。
以下是几种常见的数据库连接方式:1. ODBC连接:ODBC(Open Database Connectivity)是一种通用的数据库访问接口,可以让应用程序与不同类型的数据库进行连接。
在LabVIEW中,可以使用ODBC驱动程序连接到各种支持ODBC的数据库。
通过配置ODBC数据源,可以方便地进行数据库连接和数据操作。
2. 连接:是一种用于访问数据库的.NET框架组件,可以连接到各种类型的数据库。
LabVIEW与数据存储实现数据的采集存储与查询数据在现代科学研究与工程领域中起着至关重要的作用。
采集、存储和查询数据是研究人员和工程师日常工作的一个重要组成部分。
本文将介绍LabVIEW与数据存储技术相结合的方式,实现数据的采集、存储和查询。
1. 简介LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种图形化编程环境,它可以帮助用户轻松地采集、分析和可视化各种数据。
LabVIEW具有使用简单、功能强大和广泛应用等特点,因此成为了许多科学研究和工程领域的首选工具。
2. 数据采集LabVIEW提供了丰富的工具和函数,用于实现数据的采集。
用户可以使用传感器、仪器或其他设备连接到计算机,并使用LabVIEW搭建数据采集系统。
通过拖拽和连接各种功能模块,用户可以创建一个定制的测量和采集系统。
LabVIEW支持的硬件种类繁多,包括但不限于模拟输入/输出、数字输入/输出、数据采集卡等。
3. 数据存储在数据采集的过程中,数据的存储是必不可少的。
LabVIEW提供了多种数据存储的方法。
其中,最常用的方式之一是将数据保存在本地文件中。
LabVIEW支持多种文件格式,如文本文件、电子表格文件和二进制文件等。
用户可以根据自己的需要选择合适的文件格式。
此外,LabVIEW还支持将数据存储到数据库中,如Microsoft SQL Server、MySQL等。
通过使用数据库工具箱,用户可以方便地将采集到的数据存储到数据库中,并进行灵活的查询和管理。
4. 数据查询LabVIEW提供了许多灵活的工具和函数,用于数据查询和分析。
用户可以使用内置的查询工具进行数据的筛选、排序和统计。
此外,还可以使用自定义的查询语句对数据进行高级查询。
LabVIEW支持使用SQL(Structured Query Language)进行数据库查询,用户可以根据自己的需要编写SQL语句,灵活地对数据进行查询和分析。
labview的深入探索----文件系列之数据记录文件LABVIEW 做为一种编程语言,它的文件系统种类很多,适用于各种场合,非常专业化,首先从相对比较简单的数据记录文件谈起.数据记录文件(DATALOG) 在LV 的函数面板中专门有个分类:首先,DATALOG 文件是标准的二进制文件, 因此一般的文本编辑器是无法打开的,其次它是有相对格式的二进制文件,所谓相对是指相对于普通的二进制文件,它是以记录为单位的,这很像是一个简单的数据库结构,对于一般的二进制文件是以字节为单位的,因此操作非常困难,而以记录为单位,操作就相对容易多了,但这并代表其它用户可以随意读取您的文件, 如果他不知道您的记录结构,是无法操作你的文件的.我在INI 的文章中,介绍INI 是保存过程配置的好方法,但是INI 文件也有一个致命的缺点,它是文本型文件, 用任何文本编辑器都可以打开并修改,非常不安全,而用数据记录文件保存设置则同时具有简单和安全的特点.顾名思义,DATALOG 文件是用来记录数据的,他有特定的适用范围.1.做为配置文件,在程序启动时调用2.下一次启动程序,需要前一次结束时的结果.3.作为简单的数据库.很显然,同其他的文件操作一样,首先是个打开和关闭的过程.open datalog VI 有几个输入参数文件参考指向操作文件的临时指针打开模式:OPNE CREATE 等等读写模式:读写,只读或者只写数据类型:这是最重要的参数,表明记录的结构,在LV 中是用簇来表示的.看一下有关写的操作:首先定义一个学生的簇写入100 个数据记录需要注意的是,写操作是不支随机写的,也就是说,每次写操作,LV 自动把记录指针指向最后,用户无法针对其中一个特定的记录做写操作的,如果是用OPEN 方式打开记录文件,写操作记录自动添加到末尾,因此无法执行记录修改工作.如果想修改文件中某个记录,可以整个读取文件,修改后写入新的文件,删除原来的文件,并把新文件改名为原来的文件,完成修改的工作.LV 虽然不支持DATALOG 随机写的操作,但是支随机。
LabVIEW数据记录和存储(一)—文本文件2009-09-14 10:58:40| 分类:LabVIEW程序设计| 标签:|举报|字号大中小订阅文本文件是由若干行字符构成的计算机文件,根据本文存储方式的不同有多种格式,如doc、txt、inf等。
通常所指的文本文件是指能够被系统终端或者简单的文本编辑器中接受的格式,可以认为这种文件是通用的、跨平台的。
对通用的英文文本文件而言,ASCII码是最为常见的编码标准;而如果需要存储带重音符号的英文或其它的非ASCII字符,则必须选择一种字符编码,如UTF-8。
尽管ASCII标准使得只含有ASCII字符的文本文件可以在Unix、Macintosh、Microsoft Windows、DOS和其它操作系统之间自由交互,但是在这些操作系统中,换行符并不相同,处理非ASCII字符的方式也不一致。
换行(end-of-line, EOL)是一种加在文字字符最后位置的特殊字元,它可以确保后面的下一个字符能够出现在下一行。
ASCII编码分别使用LF(Line Feed, 0Ah)或CR(Carriage Return, 0Dh)或CR+LF来表示换行(EOL),不同的操作系统处理EOL的方式如下:(1)LF:用于Unix或Unix相容系统(GNU/Linux, Mac OS X….),RISC OS;(2)CR:Apple Ⅱ家族;(3)CR+LF:Windows系统,大部分非Unix操作系统。
LabVIEW中的文本文件读写采用图1所示的两个函数完成:“Write To Text File”和“Read From Text File”。
这两个函数是多态函数,可以接受File Refnum和File Path两种输入。
图 1 File I/O选板本例将从一个数据读写的实例中介绍这两个函数的使用。
如图2所示,程序将一个二维数组转换为字符串后写入到文本文件中,将会自动生成该Test.xls 文件(如果已经存在该名称的文件,将自动覆盖并不提示用户)。
LabVIEW中的文件操作和数据存储LabVIEW是一种用于实时数据采集、处理和分析的高级编程语言和开发环境。
它在科学研究、工程控制以及实验室和工业自动化等领域广泛使用。
在LabVIEW中,文件操作和数据存储是非常重要的功能,本文将介绍LabVIEW中的文件操作和数据存储的相关知识。
一、LabVIEW文件操作在LabVIEW中,文件操作是指对文件进行读取、写入、创建和删除等操作。
通过文件操作,我们可以实现将程序生成的数据保存到文件中,或者从文件中读取数据进行处理和分析。
1. 文件读取在LabVIEW中,我们可以使用“Read From File”函数来读取文件中的数据。
这个函数可以读取文本文件、二进制文件以及其他格式的文件。
2. 文件写入与文件读取相反,LabVIEW中的“Write To File”函数可以将数据写入文件中。
我们可以选择写入文本文件或者二进制文件,具体写入的格式可以根据实际需要选择。
3. 文件创建如果需要创建新的文件,可以使用“Create File”函数。
该函数可以创建一个新的文本文件或者二进制文件,并指定文件的名称和路径。
4. 文件删除在LabVIEW中,删除文件可以使用“Delete File”函数。
这个函数可以指定要删除的文件的名称和路径,从而实现删除操作。
二、LabVIEW数据存储数据存储是指将生成的数据保存在内存中或者保存到磁盘上的过程。
在LabVIEW中,我们可以使用数组、矩阵和表格等结构来存储和管理数据。
1. 数组数组是LabVIEW中最常用的数据结构之一。
我们可以使用数组来存储一维或者多维的数据。
LabVIEW提供了丰富的数组操作函数,可以对数组进行排序、过滤、查找等操作。
2. 矩阵与数组类似,矩阵也是一种存储和处理数据的结构。
在LabVIEW 中,我们可以使用矩阵进行矩阵运算、线性代数等相关操作。
LabVIEW提供了一系列矩阵操作函数,可以方便地进行矩阵运算。
LabVIEW数据记录和存储(四)—XML文件
XML(eXtensible Markup Language)是一种目前广泛使用的数据传输和存
储的格式,其本质上是一种文本文件,可以使用任何一个文本编辑工具打开和修改。
类似于HTML,XML 被设计为具有自我描述性,也是使用标签定义文
档的结构和含义。
本文仅仅是介绍LabVIEW 中对XML 文件的操作方式和支持
函数,关于XML 语言本身可以参见相关书籍和文档,如W3school 网站。
在测
试测量领域中,XML 文件通常被用来传递应用程序的配置文件和参数,这与ini 文件的作用类似,也有不少的程序员将二者进行对比。
这里举个简单的说明实例,说明对于ini 和XML 如何处理保存图17 所示的仪器配置列表。
该文件
主要存储各种仪器的参数信息,如name(名称)、address(地址)、description(描述)。
但是文件对各种仪器进行分类,根据仪器功能分为AC Source、DC Source 等。
图17 仪器配置列表实例对ini 文件来说,表述图17
所示的结构简直就是一场灾难,因为它仅仅是一种两层的结构体系,无法准确地表述这种多种的树形结构。
无论怎样设计section 和key,始终无法满足条理
清晰、结构简单和检索方便的要求。
XML 由于其本身的多层次设计特点却完
全能够胜任此类描述,如下所示。
- - - Instr1GPIB::1 本仪器用于UUT1 供电。
-
Instr2GPIB::2 本仪器用于UUT2 供电。
- - Instr3GPIB::3 本仪器用于UUT3 供电。
- Instr4GPIB::4 本仪器用于UUT4 供电。
- - Instr5GPIB::5 测量1-10#点电压。
- -
Instr6GPIB::6 监控11-12#电压。
在浏览器中(IE、Firefox 等)打开该XML 文
件,可以看到其树形的结构,非常吻合图17 所示的要求。
当需要扩展仪器或类型时,只要增加相应的元素节点即可。
因此,相对ini 文件,XML 文件在描
述比较复杂的文档结构时具有非常明显的优势。
LabVIEW 提供了两类处理
XML 文件的VIs,如图18 所示,依次为LabVIEW Schema 和XML Parser。
前。