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数据记录文件可以反复替换吗的主要内容,如果未能解决你的问题,请参考以下文章