微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > 让你的VI更专业

让你的VI更专业

时间:10-02 整理:3721RD 点击:
论坛上有不少讲编程规则的资料,但似乎查看的人并不多,是不是大家觉得英文的懒得去看,看中文的又太长了?
结合在论坛上回贴的经验,我感觉一个VI能先做到下面几点的话,会让人“感觉”更加专业一点,至少看的人会舒服一点,也容易理解一点。  
1,让前面板、后面板的东西在一个屏幕上显示而尽量不需要拖动滚动条。
      我感觉这一点最重要,LabVIEW是基于“连线”(数据流)的编辑语言,决定了在看程序时,如果后面板太大,往往看不到某条连线的起点和终点,根本不知道它是从哪里来到哪里去的,拖着滚动条来看程序,是最大的痛苦。前面板也一样,尽量将主要的显件控件放在一个界面上,其它不需要的可以放到屏幕外面。
      做到这个很简单,拖入CASE、FOR等结构时不要拖太大,三分之一屏幕就差不多了,实在太多控件了,考虑使用子VI(当然子VI的划分还要根据功能等来考虑),然后其它控件、显件、函数节点的摆放也尽量整齐一点,不要隔得太开,能区分它们和它们之间的连线就行了。确实在一个屏幕上放不下了,也尽量只使用水平滚动条就可以查看全部程序。
可以选中一部分程序将这部分程序创建为子VI
选中部分程序框图创建子VI
用定位工具选择需重复使用的部分程序框图,选择编辑»创建子VI,可将部分VI转换成子VI。选中的程序框图将被替换为新子VI的图标。LabVIEW可为新的子VI创建输入控件和显示控件,并根据所选控件的数目自动配置连线板,将子VI与现有的连线对接。
通过选中部分程序框图创建子VI方便快捷,但需要仔细规划,创建符合逻辑的VI层次结构。考虑需选中的对象,从而避免改变最后生成VI的功能。
2,尽量不使用顺序结构,而使用连线(错误输入输出)来定义各部分程序的执行顺序。
      尽量不使用顺序结构,特别是层叠式的、各顺序框中有数据传递的顺序结构。这一条其实跟上一条也有联系,我看很多程序就是因为将函数节点等摆得太开了,等再要添加其它节点时,不得不使用层叠的顺序结构,以减少后面板空间的占用。

我对顺序结构的一点看法:
不论平铺还是层叠都不好,好的程序就不该有顺序结构,应当使用子VI表示每一个顺序框中的内容,然后用错误线控制执行顺序
3,尽量少用或不使用局部变量、全局变量。
      这里所说的是能不用尽量不用,而并不是说不能用,比如对控件进行赋值,或清空GRAPH就得用到(虽然用属性节点也可以,但属性节点效率没有局部变量高)。大量的局部变量,一个是带来程序效率的降低,特别是在循环中多次读取局部变量,因为LabVIEW读取局部变量时会复制数据,带来无必要的资源消耗,而且局部变量会使程序的可读性变得很差,因为不知道这个局部变量的值被谁修改过,又被谁读取过,最主要还是会带来冒险竞争。
4,对VI名称、图标、控件名称等使用有意义的名称。
      很多朋友上传的程序都是以“未命名1.vi”或“Untitled1.vi”或“桌面.rar”上传的,有时候解压出来不知道哪个是主VI,要一个一个点开来,给人感觉非常混乱;程序里面也一样,“确定1”“确定2”一直到“确定N”,看起来很麻烦,特别是设置控件的事件源时,不知道哪个事件对应哪个控件。应该尽量用有意义的名称命名VI、控件。
   
5,尽量对程序作一些注释,写几个字也好。
      对后面板空白的地方对程序作一些注释,比如突然来个加1、减1的地方,要注明一下为什么要加减1;一个循环有N个停止条件的,可以在一边列出它的停止条件...总之一切你认为别人有可能看不懂或不容易懂的地方都加上注释,虽然大家都学过LabVIEW,但涉及的应用并不一定相同,有些你看来很容易明白的地方,别人未必就知道,比如只写一个:
b=(9/5)a+32
很少人能看明白这是干什么的,但加一个注释“华氏温度=(9/5)*摄氏温度+32”就一目了然了。     
上面这几条,在很多程序中都会碰到,希望对大家有点帮助,至于再具体的一些编辑规则也很重要,

很好的建议

很不错

值得学习

太好了,正需要呢,非常感谢

感谢小编

不错的建议,受用了

恩,很好,    学着点   

学习

嗯,这个建议很好

不错的东西 以后注意

要养成好习惯,学习了

学习

感谢小编

很好,可以参考!

小编所言有理!

菜鸟受教

谢谢,学习了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top