LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Running out of memory?

Hi

I have a problem in when I read greater than two files in my application, I don't seem to get all of the data.
I have attached the application with its support files.

Can you please help?

Thank you.
0 Kudos
Message 1 of 6
(3,130 Views)
Sorry, I won't be able to fully debug your code, because I don't have the luxury of a 10000x10000 monitor. 😉

A few things stick out to the trained eye (see attached image).

Left side: You write to the same local variable from two different places and there is no data dependency. In the end, you'll only get the last written data and there is no way to tell it is is from the upper or lower instance of the subVI.

Right side: You seem to "insert" an array into its own local variable representation. Ultimately, it will grow without bounds without any new unique information added. This does not make sense! Could it be you rather want to "replace array elements", keeping the array size the same?



My advice: Clean up the code. Get rid if the backwards wires and the hidden wires. Replace all local variables with shift registers or direct wires. Eliminate stacked sequences. Reduce the size of the diagram.

I would guess that once the diagram is a bit more streamlined, it will be much easier to debug! 🙂

ALso remember that overlapping objects (e.g. all these indicators on top of your graphs) will impose an extreme performance penalty. This should typically be avoided if possible.

Message Edited by altenbach on 05-25-2005 06:08 PM

Message 2 of 6
(3,129 Views)
Hi

Thanks for that.


I have identified the problem. What I want to do is every time a user reads in the file and wants to add the data to calculate the statistics (burn time, energy under the curve,maximum intensity,average of the added runs (good data)) from the data.

Can you please help?

Thank you.
0 Kudos
Message 3 of 6
(3,113 Views)
Hi

I have attached an updataed version of my application. I have made the block diagram smaller and I have proposed a solution to my problem.

Can you please help?
0 Kudos
Message 4 of 6
(3,093 Views)
What specifically is your "problem"? That is an awful lot of code you posted and you haven't really explained your current issue. Rather than post an entire project, it would be helpful if you could post a simple, single example that illustrates your problem along with a detailed explanation. If you can clarify and simplify, I'm sure one of us could quickly and easily find a solution for you.

Regards,
E. Sulzer
Applications Engineer
National Instruments
0 Kudos
Message 5 of 6
(3,077 Views)
I agree, the code is just a "birds-nest" of ultralong tangled wires going off in all directions. It is very difficult to make sense of the code. Some of your subVIs have the inputs on the right and outputs on the left making things even harder to interpret (What I first thought was a race condition above are actually inputs, not outputs to the subVIS! ;))

You have handfuls of hidden indicators for the sole purpose of creating unneeded local variables. They can ALL be replaced with direct wires and a few shift registers, making the diagram much easier to follow.

I would highly recommend to sit down over the weekend and read the LabVIEW style guide. something everybody should do in the first weeks of using LabVIEW. Point 2 on the very first page reads:


  • Developers need an easy to read block diagram.


    I don't think anybody in his right mind has any desire to tackle your VI. The current state of the VI would turn a 5 minute job into a multi hour job. Having to scroll ten screens to the right and to the left, then scrolling up three screens to flip to the next seqence frame just to follow a single wire is no fun at all.

    At this point it is still not clear what the problem is. Does the code currenty run, but you just want to add functionality?

    Message Edited by altenbach on 05-27-2005 10:05 AM

  • 0 Kudos
    Message 6 of 6
    (3,065 Views)