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天前
|
调度 云计算 芯片
云超算技术跃进,阿里云牵头制定我国首个云超算国家标准
近日,由阿里云联合中国电子技术标准化研究院主导制定的首个云超算国家标准已完成报批,不久后将正式批准发布。标准规定了云超算服务涉及的云计算基础资源、资源管理、运行和调度等方面的技术要求,为云超算服务产品的设计、实现、应用和选型提供指导,为云超算在HPC应用和用户的大范围采用奠定了基础。
172095 17
|
11天前
|
存储 运维 安全
云上金融量化策略回测方案与最佳实践
2024年11月29日,阿里云在上海举办金融量化策略回测Workshop,汇聚多位行业专家,围绕量化投资的最佳实践、数据隐私安全、量化策略回测方案等议题进行深入探讨。活动特别设计了动手实践环节,帮助参会者亲身体验阿里云产品功能,涵盖EHPC量化回测和Argo Workflows量化回测两大主题,旨在提升量化投研效率与安全性。
云上金融量化策略回测方案与最佳实践
|
13天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
9083 22
|
17天前
|
Cloud Native Apache 流计算
资料合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
4815 12
资料合集|Flink Forward Asia 2024 上海站
|
17天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
25天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
13天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
|
12天前
|
消息中间件 人工智能 运维
12月更文特别场——寻找用云高手,分享云&AI实践
我们寻找你,用云高手,欢迎分享你的真知灼见!
953 64
下一篇
DataWorks