微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 开一个话题讨论一下程序结构吧。

开一个话题讨论一下程序结构吧。

时间:12-13 整理:3721RD 点击:
我常用的程序结构,主程序里面一个顺序结构框,首先一些文件初始化的vi,
顺序结构的第二个frame,放几个循环执行数据采集、存储。各个循环之间用全局变量传递数据。如有一些需要模块化的功能,我就设计一个文件夹,把该模块的初始化、调用、相关的全局变量全部放在该文件夹下。还是觉得挺方便的,
话说我也知道这个方法不太合理,但是用起来很方便,所以还是一直改不了。
不知道你们怎么整的,我看NI主要强调几点,少用全局变量局部变量,用状态机,等等等等


.8

已经很久没用过全局变量,只用单进程功能性变量的路过。。。。

NI推荐的是状态机,生产者消费者模型。你可以看看哦~~
当然,在LabVIEW中也支持状态编程(statechart)

生产者消费者模型是比较好用的,状态机其实也不错。可以看看JKI的状态机。
有一些编程的时候降低内存的文章,可以下载来看看。
我倒是觉得数组什么的,尽量精简。

能解决问题,不导致大的副作用就是好的解决方案!
不要全信NI工程师的。

这个确实很有必要,现在总感觉自己写的程序不是很正规。
大家要是能把自己写的东西贴出来,我等晚些时候也贴一个我自己写的
现在程序不在手边。

这位同学,能否去申请一下BM,
对LV感兴趣的同仁,都要顶起这个版呀。

如何降低内存?
另外,如果同时运行很多个vi如何减少对系统资源的占用
这方面有什么推荐的文章或方法吗?

想少用内存就少用数组和字符串合并这类操作,尽量复用内存。话说,lv在内存管理这方面确实是短板,虽然是帮你管理了,但是也剥夺了你对内存的控制。
减少资源占用,就多加延迟,空出CPU就行了。把多循环合并为单循环也能有效。

刚发完又想到,以现在白菜价的内存,加一条就是了。。。。
虽然这不是什么高招,但是在非嵌入式平台上,确实不是什么难事儿。。。。

其实主要的问题不是内存,在cpu,我现在要同时运行上百个vi,更新速率已经到250ms了,
导致的问题是容易cpu 100%,响应那是相当的慢 ……
这种应用情况有啥处理的办法吗

先检查一下你这些vi都是干啥的,有必要同时运行这么多么,要是有可能就尽量合并
还有就是检查全局变量、属性节点、大数组和字符串操作,这些都是很容易占用CPU的
多用in place那几个操作

我想学习一下Labview,但是确实还刚刚入门
感觉有点拿不起来。
另外要出国半年,不知道是否能正常管理版面。
我周末走了,看看到了后,如果条件合适的话
可以先申请上,等有想做的朋友后,我再让贤

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

网站地图

Top