file-type

LabVIEW XML转MATLAB结构体的函数实现

ZIP文件

下载需积分: 50 | 5KB | 更新于2024-11-05 | 38 浏览量 | 0 下载量 举报 收藏
download 立即下载
这个函数可以处理多种数据类型,包括簇、数组、布尔值、时间戳、枚举、整数、定点数、浮点数、字符串、环、模拟波形和变量数据。特别的是,它支持对簇和数组进行任意组合的读取,即使是包含任意组合的任意支持类型。对于错误簇(一个具有三个命名元素的簇),这个函数也能进行处理。 在变量的使用上,parseLabviewXML函数要求所有变量都必须有名称,数组元素除外。若变量没有名称,函数将退出并显示错误信息。同时,变量名称在它们的嵌套级别上需要保持唯一性。如果嵌套结构中存在同名的变量,函数将无法正确运行。此外,变量名称在转换为MATLAB结构体的字段名时,需要符合MATLAB的命名规则,即需要转换为合法的结构字段名称,这可以通过createLegalStructFieldName函数来实现。 关于整数类型,parseLabviewXML函数能够以其正确的类型导入,例如,LabVIEW中的I8/I16/I32/I64/U8/U16/U32/U64类型的控件在MATLAB中将被导入为int8/int16/int32/int64/uint8/ui 该函数是用MATLAB编写的,并被封装在一个压缩包文件parseLabviewXML.m.zip中。" 在这个功能的说明中,我们可以提取出以下知识点: 1. LabVIEW软件:它是一种用于数据采集、仪器控制及工业自动化领域的图形化编程语言和开发环境。它广泛用于工业、科研和教育领域。 2. XML文件:这是一种可扩展标记语言(Extensible Markup Language),用于存储和传输数据。在LabVIEW中,可以使用“Flatten To XML”和“Write to XML File”VI(虚拟仪器)来创建XML文件。 3. MATLAB结构体数组:MATLAB是MathWorks公司开发的一款用于数值计算、数据分析和可视化的编程环境和语言。结构体是一种复杂的数据类型,可以存储不同类型的数据。数组是由相同类型的数据元素组成的集合。MATLAB结构体数组则是一种将结构体作为元素的数组。 4. 数据类型支持:parseLabviewXML函数能够处理多种数据类型,包括簇(cluster),数组,布尔值,时间戳,枚举,整数,定点数,浮点数,字符串,环,模拟波形和变量数据。 5. 错误处理:函数会检查输入的XML文件中是否存在错误,如变量名称的重复,缺失等。如果检测到错误,函数将退出并显示错误信息。 6. MATLAB函数命名规则:在MATLAB中,变量名需要符合特定的规则,例如不能以数字开头,不能包含空格,不能是MATLAB的保留字等。如果变量名不符合这些规则,需要通过createLegalStructFieldName函数进行转换。 7. 整数类型:在LabVIEW和MATLAB中,整数类型可能有所不同。parseLabviewXML函数能够识别LabVIEW中的整数类型,并将其转换为MATLAB中的相应类型。

相关推荐

filetype
我们为什么要在LabVIEW中使用XML文件?①它是许多服务器数据传输的基本格式,在网络编程中有很大的几率要使用它。②它比ini文件功能强大,它可以编写复杂逻辑关系的数据配置文件,类似一个微型的数据库文件。。。。。。 感谢微软提供了OLE技术,使得不同程序之间可以通过预先指定的接口互相调用。微软提供了MSXML2.0, 4.0 及 6.0动态链接库来支援开发人员读写XML文件。 而LabVIEW正可以通过OLE自动化接口,调用MSXML*.dll动态链接库,完成对XML文件的操作。如果你的系统没有安装MSXML*.dll,可以去网上下载并安装就可以了。论坛中有许多朋友已经使用该方式去读写EXCEL, WORD,ACCESS。 有了OLE接口是不是就能很方便的读写XML文件了呢?不是,因为其中的操作是通过引用(Reference)来完成的,使用引用并不是免费的午餐,你必须时刻提防内存泄露,如果你忘记释放它,那么你就会在任务管理器中看到:你的程序内存消耗在不断的增长。 更要命的是XML文件是以树的方式构成的,从上往下分大致有:Document, root node, node List, node,而node中又包含parent node, child node,你的程序怎么才能组织好对它的调用?想想头都大了,是不是? 还好我们还有面向对象编程,把以上的东西都归下类,发现XML文件就是由Document, node list 和 node组成的,其他的都是根据这三个类派生出来的。那么就定义三个类,分别是CDoc, CNodeList 和 CNode由他们负责来完成对XML文件的操作。更方便的是,对于引用(Reference)的管理也都在这三个类当中完成,这有效地减轻了程序的复杂度。 附件中的程序是用LabVIEW8.5开发的,其中包含了一份Sample.xml文件,供大家测试。 本程序是调用MSXML4.0接口来完成的,如果你系统里没有安装,那么将不能运行该程序。