labview数据记录文件可以反复替换吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了labview数据记录文件可以反复替换吗相关的知识,希望对你有一定的参考价值。

参考技术A 数据替换是一次性的。因此不能使用循环,如果使用循环,则最终的替换结果是最后一次循环的结果。

具有可变数据类型的 LabView SubVI 终端

【中文标题】具有可变数据类型的 LabView SubVI 终端【英文标题】:LabView SubVI terminal with variable data type 【发布时间】:2016-04-05 14:44:00 【问题描述】:

我想创建一个具有可变数据类型的输出终端的SubVI。在SubVI 之外,终端将连接到Type Cast。我不想使用Variant 作为数据类型。

框图

这可能吗?如果可以,怎么做?

【问题讨论】:

你可以尝试使用多态VI。 @Khachik:如果您需要在运行时选择数据类型,则无法使用多态 VI。 问题中关于运行时的要求在哪里? 在运行时更改数据类型并不是绝对必要的。不过,它会使代码更漂亮。在实际代码中,我使用的是“Variant to Data”而不是“Type Cast”,但它也需要一个类型。我将通过使用常量来解决这个问题。我认为甚至不可能在运行时更改类型转换的类型,因为我认为它是一个多态 VI。 【参考方案1】:

不,这是不可能的。只有一种数据类型能够承载所有数据类型。那是变体。我不知道你为什么不想使用它,但这是你唯一的选择。 Type Cast 仅适用于可转换类型(即数字和其他一些有限情况,例如将字符串转换为字节数组)。

【讨论】:

【参考方案2】:

您可以使用Flatten to String VI,而不是Unflatten from String VI(而不是Type Cast)。

为什么要避免 Variant 数据类型?

【讨论】:

上面的例子被简化了。实际上我使用的是Variant。当数据从Variant 转换回多种不同的通用数据类型时,就会出现问题。我想将一种数据类型(应在运行时确定)传递给Variant To Data VI 的type 终端。 我不知道你的情况的细节,所以我可能是错的,但我觉得类在这里可以帮助你很多。 是的,很可能就是这样!在几乎所有其他语言中,我都会使用面向对象编程。我知道,这在 LabView 中也是可能的。我不知道为什么,但在 LabView 中我从不使用面向对象编程。 如果您熟悉 OOP,那么 Labview OOP 应该(几乎)简单明了。这是一个起点:ni.com/white-paper/3573/en【参考方案3】:

我一直在进行类型转换。如果我需要程序控制下的多个解决方案,我会使用案例选择器并创建所需的每种类型的实例。 case 选择器还为数据类型提供多种输出。

【讨论】:

以上是关于labview数据记录文件可以反复替换吗的主要内容,如果未能解决你的问题,请参考以下文章

Labview 打开数据记录文件与写入数据记录文件不能连接

labview添加多个文件

labview安装能覆盖吗

LabVIEW - 获取当前VI所在文件夹路径电子表格记录数据

在 TDMS 文件中写入 LabVIEW 数据

labview如何读取txt中的一系列浮点数,并转为二进制输出到端口?