LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

cFP-2020 Locks up after 1-3 hours

Please share the results.

Ben
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 21 of 25
(999 Views)
OK it has been a while since I gave an update. As far as we can tell the cFP looses contact with the host after a period of time.. About half of the time when it looses contact I get a 4 flash code on the controller but no one seems to know what that means. The local NI rep brought his 2020 in and it did the same thing. So I guess that proves that it is not hardware. This means that I am going to have to re write the code. I am going to try vi server but this is kind of leaving me a bit upset. Especially since the existing program was set up great except that the cFP keeps dropping dead. Oh and for the record we have checked the memory a couple of ways and it always stays around 14.5 Mb free.
0 Kudos
Message 22 of 25
(999 Views)
The utility I shared with you also should the largest contiguous block.

How does that look?

It is possible to have free memory but not have a contiguous block large enough to complete an operation.

What happens if you replace your RT loop VI with a dummy?

Ben
Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 23 of 25
(999 Views)
Hi All,
This post hasn't been touched for a while, so I'm updating what happened.
We determined that the issue was mostly code, not hardware related, so we reduced to code to use VISA and remove some of the queues that were used. Those changes resulted in a working version of code that didn't crash. I'm not sure how Sean eventually resolved the issue, but it looks like isolating a portion of problematic code helped resolve the crashing problem.
Marcus G.
Applications Engineer
National Instruments
0 Kudos
Message 24 of 25
(973 Views)
Hi all,

unfortunately I just stumbled over this thread -- a little late. But my first thought after reading the first messages was: memory fragmentation.

Actually in my experience the free memory isn't very often a problem, but the fragmentation of the memory over the time. So the provided tools might tell you a constant amount of free memory but if you're not cautious in avoiding using dynamically sized arrays, strings and queues other than the RT ones you'll end up with unusable free memory because of fragmentation. One sign of fragmentation in my experience is, that such a program runs well for quite a while and a very similar progam (if possible) will run on a PC for ever without any problem...

So what to do? Read the RT manuals; don't use dynamically resized array; if an RT specific function is available use this and not the "normal" counterpart; don't use the standard "merge errors.vi", because this does a dynamical array allocation (write your own; the LV 7.1 version is better)...

Just my 2 cents,
Carsten
0 Kudos
Message 25 of 25
(964 Views)