NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

cpu占用率高95%,内存占用40-200m 老死机,怎么办?(求教YuKee)!

我编的采集程序,48通道,每通道4个数据,每秒采一次数据;每循环连续采集2小时,共14个循环。出现上述情况。
¤╭⌒╮ ╭⌒⌒╮
╱-◥██◣ ╭ ╭
︱田︱田田|
Mail:shouwangzhezz@163.com
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
0 项奖励
1 条消息(共 8 条)
7,916 次查看
把你的程序发过来,你是用daqmx来写得嘛?
2 条消息(共 8 条)
7,910 次查看
(程序不在手边)没用daqmx,是从串口读的数据,要绘出实时曲线图(我用的是xy graph),并存储数据。我用while loop 计时到一秒采一次数据,5秒刷新一次显示。
lv中是否有类似 sleep的操作?
¤╭⌒╮ ╭⌒⌒╮
╱-◥██◣ ╭ ╭
︱田︱田田|
Mail:shouwangzhezz@163.com
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
0 项奖励
3 条消息(共 8 条)
7,906 次查看
可能的问题是这样的,你在判断1s接受的时候循环中没有加延时
如果是这样的话,你可以加入50ms的延时
如果不行你可以换种结构,自定义事件,用事件结构来做,在LabVIEW7.1中可以使用这个功能
0 项奖励
4 条消息(共 8 条)
7,906 次查看
我只有7。0
你说的这种现象会造成死机?占用内存?占用cpu?
我用的是 两个计时器一个初始whili  shift righster另一个在while 里,第二个计时器—第一个计时器,如果大于999,就采集数据,传递第二个计时器的值到shift righster,否则,传递第一个计时器的值到shift righster。
¤╭⌒╮ ╭⌒⌒╮
╱-◥██◣ ╭ ╭
︱田︱田田|
Mail:shouwangzhezz@163.com
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
0 项奖励
5 条消息(共 8 条)
7,901 次查看

As large data getting, and analysis, should use your system source correctly, for save CPU using, let software take action one by one (having sequence) as you can as possible.

when you call "loop" diagram, Please do give 30 ms about delay time to it. it will save your CPU source, and the result is right at a certain extent also.even 10 ms is OK.

For save memory using. Please use local variable as least as program. you can use "synchronization" function to achieve. do save you data to harddisk as you getting as soon as . it is a handle channel too.

if you have many difficuty, you can make a setting for memory using at vi properties\memory usage. it is the other handle method. and I suggest sum up mentioning.

 

________________________________________________________


Try to make everything Automatic
0 项奖励
6 条消息(共 8 条)
7,897 次查看

thank you (YuKee and yulzhu)!

 

¤╭⌒╮ ╭⌒⌒╮
╱-◥██◣ ╭ ╭
︱田︱田田|
Mail:shouwangzhezz@163.com
╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
0 项奖励
7 条消息(共 8 条)
7,895 次查看
如果有可能的话
看一下develop guideline 的六章
这些东西很有用处
0 项奖励
8 条消息(共 8 条)
7,892 次查看