让初学者少走一些弯路的labview心得

        因为一直是自己一个人学习labview,刚开始的时候难免走了许多弯路和坑。在学习的过程中逐渐认识到了自己以前写程序框图的时候的不足之处,希望能够帮助刚开始学习labview的小伙伴少走点弯路。当然有些程序规则我自己也不知道具体原因,只是前辈积累下来的经验。这些纯是个人理解,如果有不对的地方也欢迎指正。

1、尽量避免使用局部变量和全局变量

        记得我刚开始写程序的时候最喜欢的就是直接拖好几个局部变量,因为觉得很方便啊,程序框图里不止一个地方用到这个控件,比如停止按钮啊之类的,在这里顺便提一下不要使用局部变量控制两个While循环的结束(可以使用通道写入和通道读取,右键创建通道写入方,然后在另一个循环接线端创建通道读取方)。可以看到下面两个循环停止时是同时停止的,执行的次数是一样的。

        为什么要避免使用呢,一是过多的局部变量会导致我们的程序可读性变差,并且影响程序的执行速度,会占用更多的内存。什么时候无法避免使用呢,当一个控件又读又写的时候,这个时候就无法避免了,因为labview的控件要么是输入,要么是显示,要又读又写只能通过局部变量来实现(也尽量避免使用属性节点)

2、避免使用顺序结构(使用error in和error out控制程序顺序的执行)

        labview是数据流,并行执行的编程。什么是数据流呢,简单来说就是你连线的顺序,数据顺着你的线往下执行。什么是并行执行,比如你的程序框图里有两个while循环,那么运行时他们是同时执行的。因为是数据流,所以可以使用错误接线端控制程序执行的顺序,顺序结构也会导致程序的可读性变差,尤其是层叠式顺序结构。

3、结构不超过三层

        所有结构选板里的,都算一层结构,比如while循环,条件结构,for循环,事件结构这几个我比较常用的。最多最多套三个这样的结构。

4、尽量保证每个VI的程序框图能够在一个屏幕上看完。

        我刚开始写程序时,那个程序框图装都装不下啊,所有的东西都丢在一个VI里,简单来说就是史山,然后每次让我改那个程序我都很痛苦,可读性,可维护性和可扩展性都很差。不过要做到这种程度个人能力肯定是慢慢提升,程序慢慢精简然后慢慢做到的。

5、擅用QMH(消息队列处理器)和EMH

        当你觉得你现在的架构已经不能满足项目的需求时,就需要学习更高层次的架构了。学会队列后,程序的架构可以说更上一层楼了,程序框图不管是可读性还是可拓展性都比以前的史山大大增强了,QMH对于中小型项目完全够用了。

6、程序具有良好的可读性、可维护性、可拓展性(一般程序要么同时具备这三点,要么就都不具备)

        其实所有的这些东西都是为了这一条,保证自己的程序容易读懂,维护时容易找到问题,加功能时可以很方便的直接加。

7、程序模块化,低耦合性

        可以把一些重用性很高的功能做成一个模块,以后要用到直接复制调用就好了。比如参数设置,报警,数据报表,主架构等等。这些功能模块都是可以单独拿出来的,不会和其他的功能耦合。

8、遇到问题时

        遇到问题时不要急着去问别人,先试试能不能自己解决(百度,论坛等先看看能不能搜到)程序卡住了开高亮看看卡在哪一步,是自己的程序哪一步写的不合理导致卡住的。记得连接错误输出,根据错误代码去搜是什么错误,大部分都能搜到的。实在解决不了再询问前辈,问问题时自己总结一下,把问题描述清楚并附上程序框图的报错。

暂时先写到这,以后想起来了会继续更新这个篇章。

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白小白—

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值