我需要多长时间学习LabVIEW

时间:2010-09-01 22:02:07

标签: labview

我知道这个问题太抽象了。但。我需要多长时间学习LabVIEW才能成为普通的LabVIEW开发人员?例如,如果我购买关于LabVIEW的好书并且每天有8小时(在我的工作中)专门用于LabVIEW学习我将花费多少天学习LabVIEW?能否请您根据自己的经验提供示例。关于我的更多信息可能会有所帮助:我是一名开发人员并且知道c \ c ++ \ python和一些java语言。

4 个答案:

答案 0 :(得分:7)

像Swinders所说,它可能在很大程度上取决于你的敏感度。我见过那些很难迁移到数据流概念的人。它与经典的基于文本的语言不同,有些人不能轻易地思考这些概念。

如果你遇到了这个障碍,你会发现IDE处理了许多你曾经为你照顾过的令人讨厌的事情(例如语法和内存分配)。这使您可以非常快速地提高工作效率。

但是,这并不意味着你的水平会很高。你应该努力避免的一个潜在的障碍是将你现有的经验投入到LV。最常见的例子可能是局部变量。这对于来自基于文本的世界的人来说可能是令人震惊的,但LV本身没有变量。不幸的是,它确实有一些称为变量的元素,人们从C迁移,发现它们跳过它们并使用它们,因为它们会在C中使用变量,导致LV代码看起来像C代码并且是坏代码(至少在LV中)。

如果你确实设法解决这个问题,我猜你会在不到一个月的时间里比全球平均水平更好,并且在创建了三个项目之后你会比大多数专业开发人员更好,你后来会看到并说“到底是什么我在想什么?“。

我从未参加任何NI课程(虽然我了解一些高级架构非常好),但我建议你也花一些时间在一些在线社区(如LAVA或NI论坛)并查看那里的一些例子和讨论。有很多关于最佳实践,设计模式等的材料,这些材料可以让你成为一个更专业的开发人员。

最重要的是,不要放弃目前的职业行为。如果您有一个用于设计和开发软件的结构化流程,那么您已经掌握了大多数LV程序员。只要确保你适应并继续使用这样的过程。

答案 1 :(得分:3)

我从没有商业编程经验开始(我总是为了好玩而编程),然后按照在线教程来学习LabVIEW的基础知识。在一周之内,我能够理解现有代码,并可以开发一个小应用程序。

很难估计成为“普通”LabVIEW开发人员需要多长时间,因为这取决于您对“平均”的意思。需要考虑的一件事是,您能够轻松地从数据流而不是程序语言进行思考。如果你能快速掌握新的编程语言,那么这将有所帮助。

您是唯一使用LabVIEW的人还是您工作地点的其他人可以指导您?您可能还会发现我附近有您附近的用户组(请查看NI website或联系您当地的NI办事处)。

然后您需要获得经验才能生成出色的LabVIEW代码。我很幸运能够参加几年前的National Instruments培训课程,我认为这些课程对我有帮助,但只有使用它才能成为“普通”的LabVIEW开发人员。

答案 2 :(得分:3)

我会说你花费大部分工作时间几周或大部分时间。当我开始在LabVIEW中开发时,我有类似的背景。最难的部分是适应缺乏变量。有局部变量,但它不是你习惯的。此外,它们的功能称为虚拟仪器(VI),可以有多个输入和输出,类似于Python处理n元组的方式。

我会警告你,他们的阵列处理功能非常糟糕。您可能习惯使用的许多一般概念很难实现。在使用这种语言时,我的口头禅是让事情变得简单易行。语言集中还有很多“陷阱”,尤其是DAQmx函数。我不确定你计划开发什么,他们的Real-Time模块也有它自己的问题,主要语言集的不同问题。

我肯定会花一些时间在NI的website上阅读尽可能多的whitepapers,特别是关于良好的设计实践,herehere。了解他们的状态机(herehere)和Producer/Consumer模式,这是您将要编写的许多应用程序的主干。

祝你好运,它会使你的头旋转一段时间。

答案 3 :(得分:0)

有一些很好的资源可以帮助您入门。如果您的雇主能够负担得起培训费用,您可以通过参加National Instruments的一周培训快速入门。 NI网站还有一个优秀的开发人员社区,即使是新手开发人员也能对问题做出高度响应。但我要说的是,熟悉语言的习语和风格的关键只是通过使用LabVIEW定期解决问题而获得的普通老练。

你最终会发现存在硬件和仪器的问题。 Labview实际上是关于数据采集 - 通过NI的DAQ硬件或传统的GPIB仪器,或通过第三方API(activeX,.NET组件)。如果您使用的是LabVIEW,那么您可能正在连接某种类型的硬件。使用复杂的仪器和测量,这可能会变得极具挑战性如果您已经开始使用,我建议您确保无限制地访问至少一些您将要使用的硬件。换句话说,确保您的经理了解您需要大量访问硬件才能善于使用它进行开发。