2021-06-03

简介: 2021-06-03

LabVIEW程序学习建议


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...等常常再不同VI或是同一个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可以检查程序的整洁度和关联图,在阅读他人的程序格外重要,可以从这个架构途中,了解整个项目架构和应用层面。


相关文章
|
4天前
|
存储 安全 数据挖掘
性能30%↑|阿里云AnalyticDB*AMD EPYC,数据分析步入Next Level
第4代 AMD EPYC加持,云原生数仓AnalyticDB分析轻松提速。
性能30%↑|阿里云AnalyticDB*AMD EPYC,数据分析步入Next Level
|
2天前
|
人工智能 前端开发 JavaScript
阿里云安全类云产品,验证码使用时滑动验证流程及线上问题排查
阿里云验证码产品,使用业界先进的风控引擎结合“规则+AI”模型,有效区分真实用户和机器自动化脚本攻击,避免机器请求造成业务损失。主要适用于垃圾注册、刷库撞库,薅羊毛,短信被刷等风险场景。为您提供安全可靠的业务环境。本文为大家介绍验证码使用时滑动验证流程及验证不通过的问题排查。
64415 1
阿里云安全类云产品,验证码使用时滑动验证流程及线上问题排查
DeepRec Extension 打造稳定高效的分布式训练
DeepRec Extension 即 DeepRec 扩展,在 DeepRec 训练推理框架之上,围绕大规模稀疏模型分布式训练,我们从训练任务的视角提出了自动弹性训练,分布式容错等功能,进一步提升稀疏模型训练的整体效率,助力 DeepRec 引擎在稀疏场景中发挥更大的优势。
|
9天前
|
SQL 存储 关系型数据库
PolarDB-X CDC之"兼容MySQL,高于MySQL"
本文主要介绍一下PolarDB-X在CDC能力上那些高阶能力。
|
2天前
|
人工智能 并行计算 监控
性价比提升50%,阿里云HPC优化实例hpc8ae正式商业化
近日,全球领先的云计算厂商阿里云宣布正式开启最新HPC优化实例hpc8ae 的商业化发布,该实例依托阿里云自研的「飞天+CIPU」架构体系,搭载第四代 AMD EPYC处理器,专为高性能计算应用优化,特别适用于计算流体、有限元分析、多物理场模拟等仿真类应用,CAE 场景下的性价比最少提升 50%。
|
8天前
|
消息中间件 存储 监控
|
9天前
|
存储 关系型数据库 MySQL
PolarDB-X 存储引擎核心技术 | 索引回表优化
数据库系统为了高效地存储、检索和维护数据,采用了多种不同的数据组织结构。不同的组织结构有其特定的用途和优化点,比如提高查询速度、优化写入性能、减少存储空间等,目前 PolarDB-X 采用了 B-Tree 的索引组织结构。
|
6天前
|
存储 云计算 开发者
【预告】阿里云计算新品速递:HPC优化实例商业化发布
5月30日14:00,将推出专为云上高性能计算设计的HPC优化实例hpc8ae,旨在解决现有云计算基础设施对HPC应用优化不足的问题,提供经济高效的仿真解决方案,提升计算效率,加速业务创新。直播中,阿里云专家将展示实例在计算流体、有限元分析等领域的应用,并通过两个云上工业仿真Demo进行实践演示。参与直播还有机会赢取丰富礼品。
【预告】阿里云计算新品速递:HPC优化实例商业化发布
|
10天前
|
弹性计算 Prometheus 监控
基于 Prometheus 的超算弹性计算场景下主机监控最佳实践
超算快速弹性伸缩场景下,如何构建一套准确、快速、可靠的监控体系成为关键点。阿里云在超算场景的主机监控落地实践,解决超算场景面临的挑战,交付一套可靠和全面的主机监控体系。
59684 13
|
9天前
|
人工智能 自然语言处理 安全
AIGC时代,阿里云如何让短剧出海更便捷?
短剧高温下,谈谈AIGC的助攻路线。
41639 0
AIGC时代,阿里云如何让短剧出海更便捷?

热门文章

最新文章

http://www.vxiaotou.com