我知道这个问题太抽象了。但。我需要多长时间学习 LabVIEW 才能成为普通的 LabVIEW 开发人员?例如,如果我买了一本关于 LabVIEW 的好书,并且每天有 8 小时(在我的工作上)专门用于 LabVIEW 学习,我将花多少天来学习 LabVIEW?您能否提供您自己的经验的例子。有关我的更多信息可能会有所帮助:我是一名开发人员,并且了解 c\c++\python 和一点点 java 语言。
5 回答
就像 Swinders 说的,这可能很大程度上取决于你的感受力。我见过很难迁移到数据流概念的人。这是与经典的基于文本的语言不同的范式,有些人不能轻易地用这些概念来思考。
如果您克服了这个障碍,您会发现 IDE 处理了许多您曾经为您处理的烦人的事情(例如语法和内存分配)。这使您可以非常快速地提高工作效率。
然而,这并不意味着你的水平会很高。您应该努力避免的一个潜在陷阱是将您现有的经验投射到 LV 上。最常见的例子可能是局部变量。这可能会让来自基于文本的世界的人们感到震惊,但 LV 本身并没有变量。不幸的是,它确实有称为变量的元素,并且从 C 迁移的人发现它们会跳到它们上并使用它们,就像他们在 C 中使用变量一样,导致 LV 代码看起来像 C 代码并且是糟糕的代码(至少在 LV 中)。
如果你确实设法解决了这个问题,我猜你会在不到一个月的时间内变得比全球平均水平更好,并且在创建三个项目之后你会比大多数专业开发人员更好,然后你会说“我到底在想什么? ”。
我从未上过任何 NI 课程(虽然我了解一些高级架构的课程非常好),但我建议您也花一些时间在一些在线社区(例如 LAVA 或 NI 论坛)上看看那里的一些例子和讨论。有很多关于最佳实践、设计模式等的材料,可以让你成为更专业的开发人员。
最重要的是,不要放弃你目前的职业操守。如果您有设计和开发软件的结构化流程,那么您已经比大多数 LV 程序员领先一步。只要确保你适应并继续使用这样的过程。
我会说几个星期或大部分时间,把你的大部分工作时间都花在它上面。当我开始使用 LabVIEW 进行开发时,我的背景与您相似。最困难的部分是适应变量的缺乏。有局部变量,但它根本不是你习惯的。此外,它们称为虚拟仪器 (VI) 的函数可以有多个输入和输出,类似于 Python 处理 n 元组的方式。
我会警告你,他们的数组处理功能很糟糕。您可能习惯的许多一般概念很难实现。我使用这门语言时的口头禅是让困难的事情变得简单,让简单的事情变得困难。语言集中也有很多“陷阱”,尤其是它们的 DAQmx 功能。我不确定你打算开发什么,他们的实时模块也有它自己的问题,与主要语言集不同的问题。
我肯定会花一些时间在 NI 的网站上,并尽可能多地阅读白皮书,尤其是关于良好设计实践的白皮书,请点击此处和此处。好好学习他们的状态机(这里或这里)和生产者/消费者模式,这是您将要编写的许多应用程序的支柱。
祝你好运,它会让你头晕目眩。
我从没有商业编程经验开始(我一直是为了好玩而编程),然后按照在线教程学习了 LabVIEW 的基础知识。一周之内,我就能够理解现有代码并可以开发一个小型应用程序。
很难估计成为“普通”LabVIEW 开发人员需要多长时间,因为这取决于“平均”的含义。需要考虑的一件事是您能够轻松地从数据流而不是过程语言方面进行思考。如果您可以快速掌握新的编程语言,那么这将有所帮助。
您是唯一使用 LabVIEW 的人,还是在您的工作地点有其他人可以指导您?您可能还会发现我会推荐您附近的一些用户组(查看NI 网站或联系您当地的 NI 办事处)。
然后,您需要获得一些经验,才能编写出好的 LabVIEW 代码。几年前我很幸运能够参加 National Instruments 的培训课程,我认为这对我很有帮助,但只有通过使用它,我才成为一名“普通”的 LabVIEW 开发人员。
有一些优秀的资源可以帮助您入门。如果您的雇主负担得起培训费用,您可以通过由 National Instruments 举办的为期一周的培训来快速入门。NI 网站还拥有一个优秀的开发者社区,即使是新手开发者的问题也能快速响应。但我要说的是,熟悉该语言的习惯用法和风格的关键是通过定期使用 LabVIEW 解决问题而获得的简单的旧实践。
你最终会发现存在硬件和仪器的问题。Labview 真正是关于数据采集的——通过 NI 的 DAQ 硬件或通过传统的 GPIB 仪器,或通过第 3 方 api(activeX、.NET 程序集)。如果您使用的是 LabVIEW,您可能正在连接某种类型的硬件。对于复杂的仪器和测量,这可能会变得非常具有挑战性。如果您刚刚开始,我建议您确保至少可以无限制地访问您将使用的一些硬件。换句话说,请确保您的经理了解您需要大量访问硬件才能擅长使用它进行开发。
我们正在使用 LabVIEW 为我们的工厂测试系统创建测试软件。在过去的几年里,我已经培训了一些初学者了解 LabVIEW。我想说这取决于你在学习新概念方面的能力。我已经培训了一些人能够在大约 3 周内使用排队消息处理程序概念、执行动态 GUI 和使用硬件驱动程序来生成独立应用程序。不幸的是,还有其他人在半年内只能学会其中的一半。
在我看来,最重要的是学习资源。有经验丰富的 LabVIEW 用户可以指导您是最佳选择。如果没有不可用的,我会推荐 Youtube 教程与随附的 LabVIEW 示例相结合。在我看来,LabVIEW 核心教程不是很方便。这些很无聊,而且与您真正需要的开始相去甚远。