陕西LabVIEW软件集成
-
面议
我们是做LabVIEW开发与系统集成的,所以结合自己的体会简单总结一下:
开车和做项目一样,都要遵守规矩。这些规矩都是从安全运行角度、项目开发角度总结出来的。看起来耳熟能详,但是要把这些融入骨髓,融入血液中,不要因为一时的冲动而改变。比如LabVIEW开发要遵从需求、开发、调试、验证、维护、升级等环节,不可一蹴而就。不按规矩进行的开发,乍看起来提高了速度,殊不知却埋下了隐患。虽然一时不容易爆发,但总在海边走没有不湿鞋的。不要存在侥幸心理。
如果有LabVIEW开发与系统集成的项目,欢迎与我们联系,继续做进一步的探讨。
用LabVIEW进行编程开发,越来越得到更多的共识。
在开发过程中,是离不开终用户的支持与配合,比如详尽的需求,哪些地方是一定要实现的,哪些地方是现在还不确定,需要预留准备的。还有哪些地方属于锦上添花的,这些要考虑项目的工期以及预算的情况。
软件要想好用,系统想运行稳定可靠,是需要双方的互相配合。如果您在这方面有要求,欢迎与我们联系。
我们做LabVIEW编程开发及配套的系统硬件开发整合工作。 LabVIEW这个开发工具,不知道您了解吗,它作为图形化编程语言,近几年发展迅速,具有开发快、可靠性高等特点,非常适合自动测控、故障诊断、图像识别、数据处理、实验室无人值守等方面的应用,在航空航天、自动化、5G通讯等众多领域发挥越来越重要的作用。
我从LabVIEW 6开始接触,到现在LabVIEW2021,干这一行已经十七年了。为清华大学、北京大学、北航、中科院等多个科研单位(因为这次推广主要是针对科研单位,企业的项目就不介绍了)都有过合作,总的来说都是这些老师主动联系我们的。每次和他们沟通和开发后,这些老师都有相见恨晚的感觉。为什么呢?
很多老师都有自己的研究生、博士生,这些学生在理论学习方面确实很强,这点毋容置疑。对于一些程序也能开发。但是他们的短板也很明显,他们毕业就离开了,而且所写的程序也不大符合编程的规范,这点好理解,毕竟编程开发不是他们的主要工作。等他们离开后其他人很难接手。遇到需要改动或升级的情况,要么咨询毕业的师兄,要么自己从头开始。可能在费用上花不了多少钱,但是时间上很难。
而我们是公司行为,一直做这个。我们的项目默认有一年的服务期。在这个阶段开发的程序经过测试,该暴露的问题,该增加的功能都完善差不多了。甚至我们有的软件都运行十年了,配套的电机都跑坏了。我们还免费更新电机的驱动程序。您看,这样能节省多少时间,节省多少经费?
由于我们一直做开发,总会积累经验的。所以开发调试的周期都不会长,因此开发项目的鹅成本并不高。我们的经验不但在软件开发时能发挥作用,在选购硬件产品时,往往也能帮您节省预算。能满足要求的采集卡啊、控制器啊,不同厂家的价格差距很大,选择靠谱的厂家,我们就能大大降低设备采购的预算。在科研生产中,您也会有这种体会吧。我们现在很多国产的产品质量也不错,或许在做还赶不上国外的,但在满足我们使用上,还是有了更多的选择空间。
除了开发新的程序,我们也能对之前的程序进行升级改造。之前接触过一些国外的软件项目,我们也能通过逆向工程的方式,进行升级维护。这样就大大降低了客户的时间和经费。我们是人民币,老外是美元欧元啊。当然,国内也有一些程序做了加密处理,我们也可以尝试进行逆向,不过做好还是和之前的开发人员沟通。这类往往是因为商务上的事情造成的。
如果您在工作中遇到LabVIEW编程开发,自动测试、图像识别、数据处理等方面的事情,可以联系我们。
我们十七年来一直坚守LabVIEW开发及相关硬件与集成工作, 立足行业,深刻理解客户需求。
我们的服务开发周期短,服务周期长,确保系统能用、好用。
提供硬件选型,软件开发、系统集成全套解决方案。为您节省资金,降低预算,把每一分钱都花到刀刃上。
在如下领域,都是LabVIEW发挥作用的广阔天地
数据采集与信号处理
通过各种总线测量各种传感器
执行分析与信号处理
在自定义用户界面上显示数据
记录数据并生成报表
仪器控制
自动化数据采集
控制多种仪器
分析并显示信号
自动化测试与验证系统
自动化实现产品验证或生产测试
控制多种仪器
借助自定义用户界面,分析并显示测试结果
嵌入式监测和控制系统
复用ANSI C和HDL代码
集成现成可用的硬件
使用FPGA技术进行原型设计
医疗、机器人等领域的工具
院校教学
将基于动手实践的互动方法应用于教学中
基于真实数据测量进行算法设计
通过多核处理提高应用性能
部分应用如下所示
LabVIEW面向组件设计在矿井通风机在线监测系统中的应用
LabVIEW在电站监控系统中的应用
LabVIEW数控加工虚拟在线监测系统
LabVIEW Modbus/TCP协议的自动在线监控系统
LabVIEW在风力发电监控系统的研究与应用
LabVIEW机器视觉在继电器检测系统中的应用
LabView在内镶式滴灌管在线监控系统中的应用
LabVIEW在原煤仓清堵机监控系统中的应用
LabVIEW环境监控系统
Labview开发船用振动噪声故障监测系统中
LabVIEW在电能质量监测系统中的应用
LabVIEW在矿井水文监控系统的应用
LabView开发无线节水监控系统
LabVIEW智能控制与远程监控应用
LabVIEW 在物联网发电设备远程监测系统的应用
通过LabVIEW实现高压无功补偿监控系统
虚拟仪器(Virtual Instruments)技术发展迅速,它的应用已逐步渗透到电子测量、振动与声学分析、故障诊断、航天航空、通信机电、电力机械、建筑交通、地质勘探、生物医疗、教学及科研等诸多国民经济的领域,并对科学技术的发展产生着不可估量的影响,业已成为当前国内外测试技术领域和仪器制造界十分关注的技术热点.
LabVIEW在石油化工领域有着广泛的应用。 应用范围包括
换热设备性能研究、
在管道泄漏故障诊断中的应用研究
超声波无损检测的研究
碳纤维复合材料构件微缺陷超声评价系统研究
分布式光纤管道安全检测技术研究
压力管道检测技术应用研究
在分析化学中的应用
煤气发生炉气化层温度控制系统设计
如果您有这方面的需求,可与我们联系
LabVIEW程序学习建议(具体可登录www.bjcyck.com):
labVIEW学习开发出一个程序,非常简单,拉几条线放几个Funtion,很快就能够完成了,但是,你有考虑过你的程序内存使用问题吗?、有考虑过其他人接手(或是下次你再复习)容不容易阅读?、又或是程序架构扩增的弹性呢?
NI Example :
我推荐初学者再遇到不会的function、或有时间的时候将NI Example打开来看看一样的功能Example怎么写出出来的,然后模仿再写一次,这样反复练习才会学习到比较好的good style。NI在文件上面非常的下功夫,教学的资源也是非常的多,每次的LabVIEW升版都能看到新的Example,也会淘汰一些不范例程序。
Help-->Find Example
或是对着组件按Control+H ,在内文中找Find Example
2.LabVIEW 书籍 :
这里有两本书推荐,
一本是比较适合初阶,CLD程度阅读的LabVIEW For Everyone,这本是本英文书,深入浅出的介绍LabVIEW的组件,
另外一本市圣经,The LabVIEW Style Book,这本书我之前有介绍过,可以参考: LabVIEW_推荐参考书_The LabVIEW Style Book, 这本书分成很多段落在分享和教导读者如何建立程序架构、设计亲切易懂的人机接口和养成良好习惯 。
3.论坛:LabVIEW Pro、NI英文论坛
网络上很多LabVIEW资源,从以前的LabVIEW360、LAVA、LabVIEW Pro,我都很建议可以去浏览,这编列几个:
LabVIEW Pro : 小编很用心地在经营,有练功区、程序基础教学、讨论区、技术专题..等
NI Discussion Forums : 外国搞手讨论都辉激起如元子弹的震撼教育
LabVIEW 360 : 很多不错的资源,讨论人气也是非常的旺
LAVA : 讨论很多VI扩充tools
如果项目着急或者需要外包,推荐www.bjcyck.com。他们从事LabVIEW开发十几年,可以联系咨询。
程序写作建议:
1. 使用英文版的LabVIEW:
LabVIEW许多资源都是用英文的,包括白皮书、使用说明、Help文件、或是spec文件..等等。用英文版的LabVIEW开发熟习组件名称,这样再搜寻资源会比较轻松;放心,英文接口对写程序不会有什么影响的。
2.LabVIEW Good Style :
使用Good Style开发LabVIEW是我一再强调的,好的写作习惯养成是日后建立大型项目的重要基础,要检查自己的程序是否符合Good Style简单也是快的方法就是打开Analyzer。
Tools-->VI Analyzer-->Analyze VI
他分析的面向很广包括:Block Diagram、Complexity Metrics、Documents、Front Panel、General、VI Metrix
分析完后会给一份报告,评估程序的风险程度,可以看到自己写出来的程序哪边和建议的违和,
或是直接查看 LabVIEW Check List ,检查什么事重要的项目。
5.架构选择:
我觉得程序架构只要稳、易维护,都是很好的架构;所以我并没有非常推崇高阶的程序项目架构,我认为需要依照项目、团队来选择程序架构,不过如果是初学者学习的话,我推荐下面的程序架构:
State Machine :适合小程序,需要轮转重复的功能
Producer & Consumer: LabVIEWPro介绍中文版
Queue Message Handler :这个比较进阶一点,不过试LabVIEW的Project Template,教学文件很多,可以试试看
Template-->Producer/Consumer
Template-->Simple State Machine
6.程序整理
程序凌乱会降低Coding效率,意大利面程序、会增加维护的困难。
1. 建议常常使用工具把整理程序
2.避免过多弯取的线、堆栈的线
7.Type Define
使用State Machie Enum、GUI Tab、交握的Data、传递在不同程序的Data...等常常再不I或是同一个VI使用多次的原件都将型态存起来,好处是修改时不用一个一个更改,使用Type Define后一次可以修改到全部。
可以参考这篇教学:https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019MFtSAM
8. 程序大小控制在同一个画面中
如果你的撰写需要用50吋的屏幕才能完整展开,是需要整理得程序、利用SubVI、好的程序架构、Good Style,增加程序阅读性。
9.不要滥用global、local Variable
变量滥用、Race Condition是LabVIEW开发初期的通病,使用过多会造成程序的不稳定性。试着使用FGV、Shit Register来取代这些跳脱数据流概念的变数;
这篇有详细的介绍: LabVIEW_什么是Race Condition(竞争危害)?
10 程序批注
千万不要觉得批注是帮助别人阅读自己的程序才需要写,我的经验是,大部分都是帮助自己 不用一年,程序逻辑没有文件的辅助是很难快速切入的。
应该是LabVIEW2014后,批注还可以加上箭头,非常的方便。
11.使用Cluster
Cluster的使用可以简化Block Diagram,重要的是可以让相关的资料做一个结合,在后续的使用上比较清楚,也减少connect的接角。
请注意,当在bundle 和unbundle cluster 时一定要使用by Name的方法,好搭配type define做cluster的数据结构定义。
12.开始写做前规划程序架构、应用方式
开始撰写前先想过程序需求用什么架构来开发会更融易、把需求想过一次后,会看到很多一开始想不到的盲点。好是画出流程图,并把这些开发文件都留在项目、程序的文件夹中,帮助日后的阅读。
程序人机(GUI)建议:
1.利用对齐工具来让面板整齐:有各种对齐、置中对齐、靠左对齐、靠右对齐...
2.利用调整间距工具: 有各种调整间距的方法:平分、固定间距、0间距...
3.调整对象大小: 调整对象大小,也可以多选多个对象将他们调整成大小全部一样。
4.字体大小\颜色:
整个面板的字体大小、颜色好控制在3种不同的组合,过多颜色、大小会让画面过于凌乱。可以分成 不重要小字(size:14、灰色)、正文(size:16、黑色)、非常强调(size:20、红色)
5.利用Tab简化控制组件很多的人机,才不会让使用者一次看到过多的控制组件产生恐惧感(?)
可以参考NI Example-->Programmatically Manipulate a Tab Control.vi 来看使用方法
Debug程序建议:
利用Explain Help查看错误码,每个错误都要发挥侦探的精神,找出实质的原因,才不会出现"幽灵bug"的问题。(有时候会发生有时候又不会发生的bug)
项目程序建议:
1.文件夹整理,将程序依照自己的固定方法、分类整理control、SubVI,这样在移动项目时,不容易有"丢包"的subVI,也容易一目了然项目的程序用途。
2.使用VI Hirechy检视
从hirechy可以检查程序的整洁度和关联图,在阅读他人的程序格外重要,可以从这个架构途中,了解整个项目架构和应用层面。
如果项目着急或者需要外包,推荐。他们从事LabVIEW开发十几年,可以联系咨询。