为什么使用LabVIEW?

8

我正在学习使用LabVIEW作为我的荣誉项目的一部分,并且想知道这种图形编程语言相对于文本编程语言有哪些优势?

7个回答

20

对我而言,LabVIEW的好处不在于图形与文本。

它在于数据流与命令式。

数据流编程更适合并发,因为您的执行被建模为黑盒子,它们在其输入有效时执行,其输入/输出连接在一起。相对于具有修改指令列表的隐式状态。(引用自'kipedia,上面链接的文章更好)。

如果您以数据流方式组织程序,则每个黑盒子都可以在单独的核心/处理器/节点上运行,这为您提供了免费并发。

不幸的是(这是数据流编程普遍存在的一个致命缺陷),最佳的可视化和编辑数据流程序的方法是图形化而非文本化。这使得使用诸如修订控制和代码生成器等工具非常困难。

问题是:对于您和您的项目来说,数据流的优点是否超过了缺点?


5
尽管对于简单的程序是正确的,但在进行更大型的项目时,Labview仍存在并发性问题。很容易无意中编写一个不可重入的VI(方法),从而使调试变得困难重重。 - num1

7
使用LabVIEW进行图形化编程的主要优点之一是源代码非常类似于电路图,因此对于电气/电子工程师来说,这是一种非常容易掌握的语言。这也是LabVIEW在数据采集和自动化领域变得如此流行的原因之一,其中电气工程师非常丰富。
我发现的另一个优点是开发速度非常快。您可以从可用的前面板控件调色板中组装GUI,这与在Visual Studio中执行操作非常相似。源代码以类似的方式编写,具有许多预定义的组件,您可以从菜单中拖放并连接它们。
第三个优点是与硬件的兼容性。国家仪器公司的主要业务是数据采集硬件,并且他们竭尽全力确保所有产品都可以直接与LabVIEW软件通信。许多其他数据采集和自动化控制行业的硬件供应商也在做同样的事情。

6

我之前使用过LabVIEW来计算参数以调整nMRI机器。这种软件存在的目的在于,在理论上,即使是对编程语言经验有限的人也能轻松创建程序。其控制流和决策结构可以以图形方式排列,并且他们可以在需要的位置输入公式。

对于教授和实验室助手而言...非常有帮助。 对于真正的软件开发人员而言...使用其他编程语言更容易。


6

这一切都与设备驱动和用户能力有关。NI(Labview)拥有一套良好支持的实验室设备驱动程序,易于接口。测试操作员(非开发人员)需要一个带有大型绿色/红色通过/失败按钮的GUI界面。我已经通过Cygwin中的Python实现了复杂的自动化。Labview开发人员能够调用Cygwin/Python系统并数据挖掘日志文件。因此,两者都可以使用。Python系统是便携、可维护、可扩展、易于使用,最重要的是免费的。


5

我过去曾经使用过LabView,在数据采集、虚拟仪器等方面,没有比它更好的了。我最后一次使用它是在10年前,自那以后我没有看到任何东西能够与90年代中期的水平相匹配。


3
在我看来,LabVIEW的一些优点包括:
  • 内置用户界面组件(如按钮、图形等)完全不需要编程;只需将它们放在前面板上,数据终端就会出现在块图中。

  • 有大量的数据采集硬件和测试仪器驱动程序库。如果你的任务基本上是获取和传输这些数据,并为其提供用户界面,则几乎可以不用编程。

  • 自动处理多个任务的并行执行-在图表上放置两个独立的循环,它们将同时执行。这通常是数据采集和控制应用程序的要求。

许多人,包括“真正的软件开发人员”,认为图形范式比文本范式更适合他们思考和可视化软件。毫无疑问,文本语言比LabVIEW更擅长某些方面(在本站的另一篇讨论中涵盖),但在适当的情况下,LabVIEW非常擅长完成工作。


1

对我来说,这取决于你自己的舒适程度。如果你习惯使用基于文本的语言,那么你可能会发现Labview只是另一个需要学习的曲线。除非你有特定的目标要学习和使用Labview,否则在你的项目中使用它没有任何意义。

另一方面,如果你不太熟悉基于文本的语言,我倾向于认为Labview更容易上手和学习,尤其是对于非软件工程师。

我经常在测试工程中使用基于文本的语言以及Labview和TestStand,对我来说更重要的是谁会使用我的软件,而不是我自己。一些公司有几个接受过Labview培训的人员,而其他公司则更喜欢使用基于文本的语言进行编写。在公司范围内为另一种语言进行培训可能非常昂贵,并且会改变公司内部职位的招聘要求,因此一些公司实际上“被锁定”在一种范式或另一种范式中。如果你打算在这个行业工作,我建议你最好两种都精通,这样你就很灵活了。如果是这种情况,并且你有时间学习其中一种,我建议你选择你最不熟悉的那种,并扩展你的知识广度,毕竟这就是学校的目的吧?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接