01-30-2006 08:24 AM
I'm currently developing a RT application running on cRIO. The application has
6 parallel loops, and communications between loops is done by lv2 variables. 3
of the loops are interfacing against a FPGA vi, and one of these loops is
time-critical.
My problem is that the whole applications
freezes randomly for several seconds, all the loops hangs and communication
against FPGA freezes. RT target is not lost when it happens and the application
continues like before after the freeze.
Does anyone know what the problem might be?
Best regards,01-31-2006 02:00 AM
Additional information:
The problem seems to disappear when running
the application as a standalone without any host connected. When I connect to target with
my host Labwindows/CVI application the application freezes again for several
seconds, the same behaviour is present when using Labview remote panel. The problem seems to be related to TCP/IP communication. How to make reliable target to host applications in LV? I'm currently using LV 7.1 but will soon upgrade to LV 8.0.
Please help! This is supposed to be a real-time application!
Regards,
Per
01-31-2006 04:58 AM
01-31-2006 06:28 AM
Thank you for the information. But it does
not solve my problem, my target application is very similar to the one
described in your link. The problem seems to be that all
I’m wondering if there’s something wrong with my target application code, or if the behaviour is caused by some deadlock in LV TCP communication. Since my target is running smoothly when not connected to any host the latter seems most likely.
What do you think?
Regards,
Per
01-31-2006 07:32 AM
01-31-2006 08:16 AM
You may be right I’m close to full memory, this
is my memory status:
Total: 32376K
Used: 28990K
Aviable: 3385K
Contiguous: 2052K
Here is the memory status from a smaller
version of my application, but still has the same hang up problem as above:
Total: 32376K
Used: 26972K
Aviable: 5404K
Contiguous: 3128K
Do you think free memory could be too small? Most memory for arrays is ablactated in advance, and the memory status in RT system monitor is very stable over time.
Per01-31-2006 09:14 AM
I am not sure where the memory limitation is and at what levels LabVIEW has a hard time. However, here are some links that may help you reduce your memory usage:
ftp://ftp.ni.com/evaluation/niweek/proceedingscd/software_development/labview_development_tips.pdf
http://zone.ni.com/devzone/conceptd.nsf/webmain/732CEC772AA4FBE586256A37005541D3
http://zone.ni.com/devzone/conceptd.nsf/webmain/6A56C174EABA7BBD86256E58005D9712
02-01-2006 03:59 AM
I have now built a small application with
FPGA interface to sort out all other problems then too large memory consumption.
I simulated high memory consumption by adding large dummy arrays, when available
memory was smaller then 7000-8000K the application started to hang.
The OS memory usage is approx 8MB, the FPGA
interface and code is approx 8MB, this means that I have only 7-8MB space left
to the rest of my program. I probably need to upgrade my real-time controller
to the 64MB version.
Thanks for your advice, it was very helpful
and you pointed me to the right direction.
Best regards,
Per
02-02-2006 09:29 AM
With LabVIEW 8.0, there are utilities to load your FPGA bitstream directly to the FPGA flash. This would allow you to strip the bitstream from your LabVIEW RT code, and save some memory there.
02-17-2006 03:51 AM