Sound & Vibration Applications

Showing results for 
Search instead for 
Did you mean: 

cRIO Reference Designs for Structural Health Monitoring



Sorry for the delay I've been out on Christmas break, it sounds like it might be time to engage our technical support team.  Several of your symptoms do sound like the main thread is starved of CPU resources; the RT Get CPU Loads.VI will give you a better idea of what the CPU load is like during operation.  Do you have access to NI support?





0 Kudos
Message 11 of 18



I've been out too. I decided to try re-downloading the reference application and rebuilding my program. I noticed that the program I downloaded last week had some small differences from the one I downloaded a couple months ago. The major difference in the file I downloaded recently is that it indicates the DMA buffer (usually) runs at less than 0.1%. The older version of the file had it usually at 10%.  Along with this there are a lot fewer buffer overflows. These differences seem to have helped and with a little tinkering the cRIO is running reliably now.


Here are some changes that I made on top of downloading the reference application. They seem to have helped it run more smoothly.

- I increased the block size from 1 second to 2 seconds of data

- I changed the free space required in drive cleanup from 30% to 40%

- The drive cleanup program was set up in a way that would cause a crash if data files were deleted manually (ie via ftp) without then restarting the cRIO. I changed it to recreate the list of files in the directory each iteration.

- I had an overly sensetive trigger on the RMS vibration levels which was causing files to be saved more frequently than useful. Removing this seems to have helped also.


To respond to your comment about CPU resources, even when using my old program the CPU load was never over 60%. As it is running now the CPU load is around 20 or 30%. I don't know if the higher load in my old program would have caused the slow behavior. Another thought is that the version running now does a better job of handling the DMA buffering and/or hard drive space.


Anyway it has been working great over the past several days and I apreciate your help and feedback. Hopefully my difficulties have not all been from being new to LabView. If you would like me to send the version of the program that is working for me just let me know.




0 Kudos
Message 12 of 18



We were using your code for our bridge: The system we used to have had two module 9234 and one 9211. It was working all fine. Recently We added 8 more sensors and we need to reprpgram the cRIO for the new sensors or new two 9234 modules. I change the code we have, which was midified version of yours, based on steps mentiond in the walkthrough PDF file of project 1: getting started SHM page 5. 


I also changed the cfg file (text file on cRIO) and added the extra 8 channels. However, the code is not working and the cRIO is not saving any data! I think the trigger is not working anymore. It is supposed to save 5 minutes data every hour. 


I need technical help on this. It is the first time I am using Labview. It would be highly apprecuiated. 



Iman Behmanesh

0 Kudos
Message 13 of 18



I am using the code. I modifyed the code for the extra modules we recently put on the cRio. Now, when I run th FPGA vi, the DMA FIFO FULL light of the front page will be turned on simuntaniously with FINISHED light. Do you know why and how I can avoid this to happen. 




0 Kudos
Message 14 of 18


i used until now a crio 9012, in the Module rwfm ConfiTiming as in the picture you can see a 40M. could someone explain why we have to use this 40M? does this mean 40M = 40Mhz?

now when i use a crio 9024 which has 800Mhz what do i write 80M or 800M or always 40M?


thank you for ur help



0 Kudos
Message 15 of 18

That 40M represents the 40 MHz clock of the FPGA.  That little math is calculating the number of ticks in your sample period.  You would only need to change that number if the FPGA clock was something other than 40 MHz.




Jeff Tipps

S&V Systems Engineer

0 Kudos
Message 16 of 18

Hello NI team,

Hello Jeff,


I've got a question.

I am using the crio refdesign v21 for a monitoring purpose including several strain gauges and temperature sensors.


so far the system and framework works quite well, but there is a problem in the details.


the framework separates the measured data into files of e.g. 1 minute length. then i look into the measurement files in diadem later and i merge them to one big file including all minute-files. suddenly it becomes clear that between the merged data there are some discontinuities. this means that e.g. a strain file ends with a certain strain value, and the next file starts at a completely different strain value.


it seems that there is some data loss between the files or some kind of offset correction between each of the 1 minute files.


can you tell me more in this regard and maybe help me troubleshoot this problem?


i hope i was able to explain the problem at least in a way that you can understand it.

thank you very much!


kind regards,


0 Kudos
Message 17 of 18

This is very interesting framework, thanks a lot for sharing it! At the moment, I'm studying it, and I have the following question - if I need exactly two different sample rates for strain, and for vibration, can I just divide main acquisition login on FPGA for two separate loops? And, respectively, two loops for data receiving on RT target? Will it be OK, or can cause some more serious problems?
Thanks in advance!

0 Kudos
Message 18 of 18