要知道,30岁仍在深耕LabVIEW视觉的大有人在。想做好机器视觉工程师,什么时候开始都不算晚,什么职业背景都有可能,什么学历背景都有机会。唯一怕的是,你想过,但从未开始过。
那么,怎样开始呢?
这里有三点建议拿来给到你:
1)首先,你要明确机器视觉工程师的岗位需求
知己知彼,百战不殆,转行LabVIEW工程师的第一件事,就是要熟悉他的岗位职责,而熟悉岗位职责最简单粗暴的方法,就是去招聘网站看招聘要求,不管大厂小厂,上市初创,你看就对了。
以一份在网上LabVIEW工程师的真实招聘需求为例:
从这几分招聘需求中,我们可以挖掘几个关键词。
1、 LabVIEW编程基础、
2、 了解串口、USB、网络等常用通信接口,熟悉通讯协议
3、 熟悉相机、光源、镜头等检测仪器的选型及使用
4、 熟悉NI VISON数据采集
此外,你还需要掌握简单软件开发、有项目经验等。
初入行的LabVIEW工程师可以对标自己所找到的需求,来检验自身的能力还有什么不足。其实招聘网站的需求除了可以展示你所需要的岗位需求,很多时候也暗藏一些需要你去挖掘的小彩蛋。比如:你可以通过招聘网站来了解机器视觉的行业动态(如LabVIEW工程师岗位环比增多还是减少,为什么会有这种变化)。再如:你可以通过一些大厂的招聘来洞悉一些大厂技术趋势上的变化。
2)其次,你要有意识的修炼体系化的LabVIEW技术
凡事的学习都有一个方式方法, LabVIEW工程师也不例外。没有系统和方法的打法叫一通乱打,最后随之而来的可能是更深的迷惘和焦虑。
现在,你已经大体知道 LabVIEW工程师的岗位需求了,围绕着这种需求,你需要进行更体系化的学习,这个时候你不要因为贪图便宜,盲目的在网上去寻找一些零散的免费课程来学习,这样不仅耽误时间,还容易跑偏。
那么应该怎么做呢?
建议你搜索一些业内标杆性人物,沿着他们推荐去看相关书籍课程。
这个过程中你可以实际操练一些项目(如利用LabVIEW进行尺寸测量、缺陷检测等),熟悉利用LabVIEW进行项目编程从零到一的全过程,将LabVIEW操作、视觉助手、系统框架、实际调试、图像采集&算法仿真、参数保存、连续运行等等能力串联。
切忌不要今天了学习一个视觉助手,明天再搞编程。将一件事贯彻到底的收获远远大于东边打一耙子,西边挥一棒子。
同时,进行分析复盘和总结,这样面对转行后可能即将到来的面试,你至少可以胸有成竹!
3)再次,对所学的关键知识,进行刻意练习,掌握实操
在学习的过程中,除了系统化掌握LabVIEW的知识外,还要落到实处的去进行一些输出,一些刻意练习,通过实际项目去分析自己的掌握程度。在输入输出的过程中才能获得真实可见的成长。
这三个步骤说起来容易,但是实践起来是有相当难度的,因为也许你不知道该从哪里获得体系化的LabVIEW知识,也找不到一个靠谱的业内大牛来对你进行及时指导,更毋庸谈论通过实际项目去刻意训练了。
下面再说选择LabVIEW平台开发,具有哪些技术优势,以及作为个人开发者,如何着手视觉项目开发。
学习机器视觉,为什么要选择LabVIEW?
具体的原因,相比其他机器视觉平台,LabVIEW视觉具有无可比拟的技术优势,主要表现为以下几点:
1. 可以支持各种工业与智能相机
无比强大的NI机器视觉采集软件驱动包能帮助工程师从目前市场上提供的几乎所有的摄像头和图像标准总线中顺利获得需要的图像数据。这一灵活性能够帮助工程师得以选择符合自身应用需求的传感器类型,带宽,精度和相机总线接口。
2. 可扩展的软件能有效降低应用开发和维护成本
采用NI的套件解决方案,你可以采用单一的软件开发工具针对采用一整套硬件平台应用进行开发。这一开放的平台意味着您只需要学习一套软件开发工具,这大大地缩短了开发时间,节省了维护成本。同时,当您升级硬件的时候,也可以缩短将现有代码转换到新硬件上的时间。
3. 能够快速集成各种工业自动化设备
强大的NI产品支持各种工业协议,能够帮助工程师将视觉系统与各种自动化设备集成,其中包括:人机交互界面(HMIs),可编程自动化控制器(PAC),工业机器人,可编程逻辑控制器(PLC),传感器以及执行机构等等。
4. 广泛的机器视觉硬件选择
从稳定而紧凑的NI智能相机,到用于高性能PC系统的图像采集板卡,NI周到地为您的应用提供了相当丰富的硬件选型方案。
与此同时,NI还拥有适用于板载图像处理和控制的现场可编程门阵列(FPGA)图像硬件,支持NI CompactRIO平台的图像设备,以及能够直接采集并存储来自各种第三方摄像头的图像的图像驱动软件。
5. 丰富的软件选择:高性能与简便易用
针对你现在特有的机器视觉应用,NI为你提供了两种选择:针对需要底层视觉代码开发的研发工程师,NI提供了可编程的函数库;针对较少编程经验的现场工程师,NI提供了基于配置的开发方式的软件工具。
这些软件工具能够在NI LabVIEW实时操作系统,甚至64位的Windows Vista或者Windows 7操作系统下运行,并且经过优化,能运行在多核系统中。与此同时,NI基于配置的软件工具为视觉应用的原型和评测提供了简单易用的工具和接口,并且能够生成LabVIEW图形化代码以及基于文本的代码。
LabVIEW开发如何着手深入开发?
1. LabVIEW视觉有哪些套件
NI视觉包含了强大的NI自己的视觉函数库,其中较为突出的两个视觉套件(Vision Assistant、VBAI)可以让我们上手快,直接应用其项目,其中视觉助手可以无缝衔接LV直接可生成LV底层程序,帮助我们快速应用实际项目,VBAI是一款无需任何LV的套件包括LV直接与工业相机连接达到实际应用要求。当然也可以直接生成LV程序供我们调用, 2020年是一个人工智能时代,高效率、智能化,写代码已经成为比较传统方式,相对LV编程这一时代才刚刚火热,相比传统视觉NI只需要连线做到程序快速搭建,正如咱们前段时间通过NI搭建的LV通用视觉系统一样,体现的是快速、灵活、实际应用。未来NI肯定还有视觉方面更为强大的产品,我相信NI,大家也肯定相信。
2. LabVIEW基础如何过渡到实际项目视觉、运动、测试方面的应用
使用NI LabVIEW几个月后感觉良好后,尽量以实际项目为主导,不可空理论再家自己反复练习,当然练习也挺好。老师建议多多考虑实际出发多做项目,从项目中不断完善自己,LV给大家体验是看上去简单,当自己做的时候却一头雾水哦。大家学习老师课程的时候尽量跟着视频写代码,即使最简单的也要去写,不要只看,只看是进阶非常慢。
从视觉单纯来讲,建议先掌握Vision Assistant(视觉助手),大家肯定有的兄弟先考虑相机。其实大家可以先不必考虑相机的,相机相当于只输出图像,我们只要得到图片就可以玩转视觉的,从图像处理—视觉定位—测量尺寸—等一系列的步骤,大家应不断与实际结合不断练习,为什么线下学习的同学进步之快,很显然实物结合加上导师指点。
从运动方面上讲,建议掌握运动控制卡以及运动控制到第三方提供的运动函数指令。单纯来说是调用。有的兄弟觉得这种简单,不就是控制10多根轴与20多个气缸嘛,具老师很多学员都是写的固定的步骤以及运动没有什么封装技巧,后期不稳定、客户反馈不稳定、不成熟、改来改去让我们开始感觉LV不适合做这种大型运动控制,只是咱们掌握方法出现的错误。咱们应该纠正思想与实际现场结合写出一款具有灵魂的控制软件。通用逻辑运动首先具备的知识点:基础、进阶基础等重要的基础知识。应用场合往往与视觉定位结合紧密,其实咱们做LV视觉的大多数都是做定位比较多数。检测相对也多点。飞拍贴片、动态追溯、等等案例、不得不让我们采取运动控制卡去完成。加上LV快速搭建以及老师思想与方法相信大家进步很快了解其核心。
从测试方面上讲,测试是检验产品良好唯一的手段,谈及LV都说它是测试之王,其实它只是个编程环境从2014年NI再他们官网已经说明,Teststand才是最为锋利的测试利器。这次疫情作为“测试之王”Teststand,起到了重要的作为。它出现的场景:军事、国防和航空测试、汽车测试、半导体特性研究。LV作编程环境Teststand后台程序步骤的优化,可以明确地达到:
1)调试功能比较突出,设计的测试模式丰富,使得调试起来方便快捷,尤其是定位一些产品功能性的问题,因为公司产品功能相对复杂,测试项目多。
2)有助于功能模块的标准化、平台化,减少重复开发的工作量。再其框架的基础上,我们通过一定程度的自定制最终开发出适合公司使用的通用测试平台软件。
3)多线程管理能力很强,稳定定非常高。
4)同步机制很好的解决了并行测试中的竞争、资源冲突、死锁等现象。
只要咱们配置好后台步骤,基本测试完成了,无论多少测试步骤,同步测试异步测试均快速搭建,体现高效、稳定、快速。未来相信大家肯定会经常运用到。实现的是一键化。
体验不同NI产品需不断实战从实战中获取真理,需不断练习思考,不可停止学习。学习能让一个人未来更多选择的机会。
3. 学习那么多会不会不精
孰能生巧,学习是一个循循渐进的过程。选择也不要过多,觉得自己主攻哪些可以把主攻的归类为核心,其他可以实际应用中不断练习。这样可以有更多的机会。
LabVIEW视觉软件开发,如何做到思想/方法/框架一体化?
1. 从思想上
拿到这个项目的时候,比如视觉首先想咱们软件核心思想是什么,所谓的核心思想也就是假如视觉定位,咱们核心就是定位里面的方式以及算法。首先九点标定---图像处理---虚拟定位---算法处理---得出结果等一系列的步骤。软件思想是一款软件的灵魂,正如一台设备的内脏。完好的算法以及好的思想往往运行效率以及稳定程度大大提升可用性。
2. 从方法上
我们谈方法,编码规范、开发流程、同行评审、结对编程、持续集成,从瀑布到敏捷再到极限编程。方法实用于机器,机器致力于生产。直截了当的说方法是机器做事的效率。
3. 从框架上
有了思想方法的软件让我们更加相信软件的成熟与稳定,然而我们应用多台或者更多台设备的时候出现我们再做相同的事情,而且写代码很繁琐,线程开销很大,维护很困难。然而这一切源于对框架深入探究。