我正在学习使用 LabVIEW 作为我的荣誉项目的一部分,并且想知道图形编程语言相对于文本编程语言有什么好处?

有帮助吗?

解决方案

关于设备驱动程序和用户功能。 NI(Labview)拥有一组支持良好的实验室设备驱动程序。测试操作员(不是开发人员)需要带有绿色/红色通过/失败按钮的gui。我在cygwin中通过python实现了复杂的自动化。 Labview开发人员能够调用cygwin / python系统和数据挖掘日志文件。所以你可以做到这两点。 python系统是可移植的,可维护的,可扩展的,可用的,最重要的是免费的。

其他提示

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

这是数据流与命令式的对比。

数据流编程有助于实现并发性,因为您的执行被建模为黑盒子,当执行时它们的输入有效,其输入/输出连接在一起。这与隐式状态相反,其中包含有关如何修改它的指令列表。 (宽松地解释'kipedia,上面链接的文章更好。)

每个黑盒子都可以在一个单独的核心/处理器/节点上运行,如果你以数据流方式组织你的程序,它可以有效地实现免费并发。

不幸的是(这通常是数据流编程的一个弊端),可视化和编辑数据流程序的最佳方式是图形化,而不是文本化。这使得使用诸如版本控制和代码生成器之类的工具非常困难。

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

使用 LabVIEW 进行图形化编程的主要优点之一是源代码与电路图非常相似,因此对于电气/电子工程师来说,这是一种非常容易上手的语言。这就是 LabVIEW 在 EE 丰富的数据采集和自动化领域如此受欢迎的原因之一。

我发现的另一个优势是原始的开发速度。您可以从可用的前面板控件面板中组装 GUI,这与在 Visual Studio 中的操作方式非常相似。源代码以类似的方式编写,具有许多预定义的组件,您可以从菜单中放入这些组件并将其连接在一起。

第三个优点是与硬件的兼容性。NI 的主要业务是数据采集硬件,他们不遗余力地确保其所有产品都可以直接与 LabVIEW 软件进行通信。数据采集​​和自动化控制行业的许多其他硬件供应商也在做同样的事情。

之前我用过labview来计算调整nMRI机器的参数。它们的存在是因为从理论上讲,对于编程语言经验很少的人来说,创建程序更容易。控制流程和决策结构可以以图形方式排列,他们可以在他们想要的地方输入他们的公式。

对于教授和实验室助理......很有帮助。 对于真正的软件开发人员......用另一种语言编写会更容易。

我过去曾使用过LabView,对于数据采集,虚拟仪器等,没有什么比这更好的了。我最后一次使用它的时间是10年前的事了,从那以后我所看到的一切都与90年代中期的情况不相符。

我认为 LabVIEW 的一些优点是:

  • 内置的用户界面组件(例如按钮、图形等)实际上不需要任何编程;您只需将它们放在前面板上,数据端子就会出现在框图上。

  • 有一个用于数据采集硬件和测试仪器的大型驱动程序库。如果您的任务基本上是从这些数据中获取数据并在其上放置用户界面,那么您几乎无需编程即可实现它。

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

许多人,包括“真正的软件开发人员”,都认为图形范式比文本范式更适合他们思考和可视化软件的方式。毫无疑问,文本语言在某些方面比 LabVIEW 更好(在本网站的另一场讨论中对此进行了介绍),但在 LabVIEW 适合的地方,它非常擅长完成工作。

对我来说,这取决于你感到满意的是,如果你对基于文本的语言感到满意,你可能会发现Labview只是引入了另一种学习曲线。除非您有特定的目标来学习和使用Labview,否则我认为您的项目没有意义。

另一方面,如果您对基于文本的语言不太满意,我倾向于认为Labview更容易学习和学习,特别是对于非软件工程师。

我经常使用基于文本的语言进行测试工程以及Labview和TestStand,对我而言,更多的是关于谁将使用我的软件而不是关于我。有些公司有几个受过Labview培训的人,有些人更喜欢用基于文本的语言写作。在公司范围内对另一种语言进行培训可能成本非常高,并且会改变公司内部职位的招聘要求,因此一些公司实际上“锁定”了一种范式或另一种范式。我想说,如果你打算在这个行业工作,你最好的选择就是要精通两者,这样你才灵活。如果是这样的话,你有时间学习,我会说你最不舒服的工作,扩大你的知识面,这就是学校的权利吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top