labview编程怎么写(从月收入8000元到15000元)
作为全网聊LabVIEW最啰嗦的大叔,我是从2001年由于单位工作需要,开始接触到LabVIEW编程开发,那时候的软件版本号还是以数字序列呈现,例如下图所示中的LabVIEW 6i,其中的后缀i代表着该版本新增支持的各种互联网(Internet)网络协议,如FTP 、SMTP等等,发布载体为CD光盘。
我们主要使用它进行无线电、电学参数的仪器计量业务的自动校准软件的开发,经过多年的迭代演化,形成了一套较为稳定的动态调用的插件框架软件,至今每年尚为单位创造不菲的经济价值。
从2020年左右开始,我在网上(主要是知乎APP)开始较为系统地进行LabVIEW面向对象(OOP,Object-Oriented Program)和操作者框架(AF,Actor Framework)等相关知识的讲解和应用宣传,受到大家的颇多好评。
在此过程中,陆续有好多同好LabVIEW的小伙伴不断地问我:“作为月收入8000元,初学会用LabVIEW的工程师和LabVIEW的编程高手的差距究竟在哪里?如何才能快速的提高自己,让月收入提升至15000元。
根据我自己这么多年不断弯路、掉队的LabVIEW自修之路,以及为单位不间断的培训开发者养成过程来看,刚学会用的初学者和中高级开发者的差距主要体现在四个方面:
- 整体架构知识的缺乏;使用LabVIEW作为开发主力语言,必然是会涉及到硬件控制的软硬件一体的系统软件,这类系统软件有的非常的庞大与复杂,为了控制复杂性,开发者需要采用分块分层的开发方式进行分解与组合,分块即软件按照功能分解为不同的模块,例如系统配置、测量模块、数据保存模块、界面呈现UI、报告生成以及错误处理等等,分层则是在分块的技术上进一步的细化分解,例如在测试模块中需要领域业务模型分层为逻辑测试层、硬件控制层和驱动层等等,除了上述整体功能分解能力外,还需要精通掌握各种LabVIEW的常见的架构设计模式,如状态机、生产消费者模式、队列消息状态机和QMH模板设计模式等等、
- 编程细节知识的不足;LabVIEW是一门入门及其简单的测量与控制专业领域开发语言,工程师可以不借鉴太多的编程算法、软件工程等方面的知识,按照自己认知的模型照猫画虎的使用模板例程快速地实现中小型应用目标。但是LabVIEW编程开发中编程功能节点除了默认的行为操作外,还有诸多的详细知识细节的设置需要掌握,此外这些细节知识需要不断的实践练习掌握,不能囫囵吞枣不求甚解。
- 软件工程类知识欠缺;多数使用LabVIEW的开发者,还是把用它开发的程序作为软件便手的小工具在使用,缺乏对需求分析、程序开发、程序发布与维护,版本控制与升级,性能考量等软件工程知识的理解与应用。例如,项目浏览器(Project Explore)是NI公司在2006年就推出的工程化管理大型LabVIEW的应用程序的利器,而多数初学者小伙伴还只是停留在十几个小VI的自我简单目录式的管理方式。
- 项目实战动手经验少;软件编程开发是一门实践的艺术,LabVIEW的图形化编程技艺必须通过动手拖拽、堆叠组合在一起,大量不断地练习才能缓慢地掌握知识,进而提高理论概念认知。同一个项目有时还需要反复不停的迭代,用不同的架构模式重构提升寻找最适合的抽象封装。
知道了上述软件架构、编程细节、软件工程和项目实战这四个主要方面的差距,马上就会有另外一个问题:"初学者究竟应该怎么学来弥补上述四个方面的差距呢?!"
常规的LabVIEW编程学习方式和其它文本类编程语言基本上也大同小异:商业付费培训、学校课堂讲授、自我学习。
这里我着重谈一下自我学习方式,因为这也是大多数国内LabVIEW开发者最主要的学习方式。
自我学习方式中又可以进一步细分为图文学习和视频学习,我个人更偏向于图文学习,而在图文学习中又首推图书学习,因为相比于其它网络博客、会议演讲PPT资料、网络论坛和问答等形式,书籍无疑能够提供更好的全面系统性,结构体系化的知识内容。
当前市面上最适合的初学者能力提升,并能快速弥补上述四方面差距的图书无疑就是由清华大学出版社刚刚出版发行的杨高科老师最新编制的《LabVIEW虚拟仪器项目开发与实践》一书。
该书是原先LabVIEW中高级开发者必读的LabVIEW黄皮书《LabVIEW虚拟仪器项目开发与管理》的升级再版,并特别增加了网络通信、信号处理与传感器、数据采集与滤波,以及工程案例项目实战等章节,还对原先的章节内容也进行了大量更新,我粗略评估了一下,相比第一版,该版图书新增了近40%的内容,因此相比第一版的450页,新版图书一下飙升至694页。此外,随书还附带提供了开箱即可用多循环框架工程项目代码。
我也是第一时间将此书纳入囊中!
为什么要推荐大家看这本书呢?让我们回到上述软件架构、编程细节、软件工程和项目实战四个方面差距问题,针对上述问题一一对应刨析一下该书,看看它提供给初学者具体的哪些解决之道。
- 针对整体架构知识的缺乏的问题,该书通过"虚拟项目项目管理"章节的概要性统领式介绍,并结合多个实际项目案例分析与代码演示章节的详细讲解,可以让初学者掌握如何正确规范地进行实际工程项目的需求分析、功能分解设计与代码开发,就如同有一位经验丰富的开发高手在手把手引领你进行正确的开发编码之道。另外,关于架构模式设计,该书的"单循环程序框架"和"多循环程序框架"以60页篇幅详尽讲解了常见开发场景中所需的各种LabVIEW架构设计模式,特别是对于复杂的多任务并发架构给予了最为细致的演化渐进式讲解,可以让初学者较为平缓的掌握多循环并发任务开发技能,并为后继的其它框架(DQMH和AF)打下坚实的学习基础。
- 编程细节知识的不足的问题,不同于市面上的多数LabVIEW编程图书字典式的干巴巴枯燥知识的讲解,杨老师对于编程细节知识讲解采取的是概念先导、知识讲解、代码演示和工程建议的全景式演示讲授,不但让学习者知其然,还让知其所以然,特别是通过结合工程实战总结的经验总结更是弥足珍贵,可以让开发者少走许多试错的弯路。
- 针对软件工程类知识欠缺的问题,本书首先从LabVIEW编程细节之处着手,将VI函数级别工程化设计、界面开发、辅助帮助与说明、错误处理、语言本地化等内容讲透说清,进而在架构设计和功能封装方面引入模块化设计思想,并最终将软件工程类知识综合落实到项目开发指导和案例演示中。
- 针对项目实战动手经验少的问题,杨老师在书中提供了LabVIEW实际工程项目开发所必需的"数据库"、"网络通信"、"数据存储与表达"、"代码复用"等通用软件技术编程章节,并涉足于硬件系统的"信号与传感器"、"数据采集"、"滤波"等硬件相关基础章节,最后软硬件相结合推出了四个完整实际工程范例指导,其范例分别是"影像增强仪质量检测系统"、"航空液流阀检测系统"、"ASDX传感器测试系统"、"灌装检测机器视觉系统"。相比于多数图书玩具式的案例,杨老师的实际工程项目具备完整度高、技术难度大、工程化周全,完全可供学习者快速学习掌握后直接借鉴应用到自己的日常工作任务当中去。
关于杨高科老师,好多近年新进LabVIEW圈的小伙伴对其不熟悉,在这里我就以2000年至2012年时间轴为主线,八卦一下LabVIEW国内早期开发大神们的故事。
其实国内最早开始在网上进行LabVIEW编程开发知识的传播和应用推广,是来自黑龙江计量院的高巍老师,时间节点差不多是从2003年到2010年左右,分享的渠道主要为网页博客,2011年前后由于高龄59岁和身体不适的原因逐渐不在网上发声,高老师也是《LabVIEW编程思想》电子书的作者,可惜的是也由于上述同样的身体原因导致该书未能完整的完结。
其次就是起家于与非网博客和论坛的陈树学老师,陈老师从事汽车工程测试行业,有着非常深厚的C语言功底,讲起LabVIEW编程知识来自然是驾轻就熟,也是畅销书《LabVIEW宝典》一书的第一作者。
2009年至2012年,除了《LabVIEW宝典》一书外,还集中出版一批中高级LabVIEW好书,这其中就有阮奇桢老师《我和LabVIEW》第一、二版本。此外,就是杨高科老师的《LabVIEW虚拟仪器项目开发与管理》黄皮书。
在该书中最大的技术亮点,就是在国内首次与国外同步并进介绍多循环消息队列架构,并将自己的基于该框架的工程实践代码分享发布出来,让众多的开发者收益匪浅,杨高科老师多年来一直从事虚拟仪器的机器视觉工程项目的开发工作,有丰富的自动化控制集成和开发工程经验。
讲到这里,好多初学LabVIEW小伙伴们也跃跃欲试的准备出手订购此书啦!但是一看图书价格,心里又不免打起了退堂鼓。
关于图书价格我这里多啰嗦两句,各位大神老师们写书真的是不赚钱,特别是中高级的LabVIEW编程图书,受众很小,销量较低,这是为什么2012前后出版后多年没有新的图书出版原因之一,以前的绝版书成为了二手书商手中的囤货居奇之书。
我自己个人也在某乎上,近几年也输出了若干回答和文章,深知在网络上支持和分享知识点所消耗的时间和精力,更不用提杨老师把内容系统性的总结编著成一本近700页的宏幅巨篇专著了。
我觉得促使杨老师持续不断的输出和分享的动力,就是对自我提升不断要求和对LabVIEW的深深地热爱,也许才是初学者和高手之间真正的深层次差距原因所在!
《LabVIEW虚拟仪器项目开发与实践》一书京东商城打完折后大约是在130元左右,付出130元,用六个月到两年的时间精读此书,并结合自己的日常工作任务将知识落地,实现自己编程技能的提升,收获月收入15000元的技术能力。
等你LabVIEW编程技能真正成长进步后,我相信你绝对是不会后悔自己付出的这130元钱,而是懊悔没能更早点把它买下,更早的予以练习进步。我在网上等你的好消息!
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。