LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Standalone cRIO‑9053 with NI‑9215 & NI‑9467 for UTC‑Timestamped Data Logging

Hello NI Community,

I’m working on a project to build a fully autonomous data logger using a cRIO‑9053 with an NI‑9215 analog input module and an NI‑9467 GPS timing module. My goal is to:

  • Sample voltages continuously

  • Timestamp each sample in UTC using the GPS PPS

  • Save the data to the cRIO’s microSD card

  • Automatically log a new file (or append) every 30 minutes

  • Run unattended for weeks at a time

So far, I’ve successfully completed NI’s “Taking Your First Measurement in LabVIEW FPGA (Data Logging)” tutorial and got the “9467 Getting Started” and “9467 Datalogging” examples working. However, I’m not sure how to combine these into a self‑starting, periodic logger.

Could you please advise on:

  1. Project structure: Best practices for organizing the FPGA VI and RT VI to handle periodic (30‑minute) logging and UTC timestamping

  2. Time synchronization: How to integrate the FPGA Timekeeper with the NI‑9467 PPS for absolute timestamps

  3. File I/O strategy: Recommended patterns to write/appending data on the microSD—avoiding corruption over long deployments

  4. Any example code or reference projects that demonstrate a similar standalone setup

Any pointers, snippets, or documentation links would be hugely appreciated.

Thank you!

0 Kudos
Message 1 of 10
(380 Views)

Try cRIO data logger with GPS synchronisation and timing 

-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
Message 2 of 10
(360 Views)

I am trying to set it up and this is what I have so far. I am currently trying to move all of the folders around correctly and currently trying to fix FPGA Main Vi. 

wsimpson0050_0-1752600778713.png 

wsimpson0050_2-1752600969568.png

 

how do I fix the errors under the "Read lower 16 bits of DIO module and write upper 16 bits" and "Write analogue outputs"? 

 

0 Kudos
Message 3 of 10
(313 Views)

@wsimpson0050 wrote:

 

how do I fix the errors under the "Read lower 16 bits of DIO module and write upper 16 bits" and "Write analogue outputs"? 


By removing those loops. They try to write to a digital and analog output module, which you have not available in your setup!

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
Message 4 of 10
(300 Views)

Thank you, that worked. I did the same thing to 'RT Generic GPS Logger VI'. Everything is running, I want to save the analog data (timestamped) from the 9215 on to the MicroSD that I have on cRIO, could you help me with that? I have attached a photo of the RT VI for reference. 

wsimpson0050_0-1752609185599.png

 

0 Kudos
Message 5 of 10
(293 Views)

It should be known that I have a project that can record and log the ADC samples and save it on the microSD card that is on the cRIO but the data is not timestamped. 

wsimpson0050_0-1752620466145.png

 

wsimpson0050_1-1752620546313.png

 

I didn't know if it would be easier to just build on top of this project or continue with what we have above. Like I said, this does everything except Timestamp the data using the GPS. 

0 Kudos
Message 6 of 10
(263 Views)

You can use producer/consumer architecture.

  • Enqueue the data from FPGA FIFO in the Acquisition Capture loop.
  • Add a new Logging Loop. Dequeue the data here and write to TDMS. To save the data to microSD card, set the filepath to /media/mmcblk0p1...
-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
0 Kudos
Message 7 of 10
(254 Views)

What project are you referring to, the "generic GPS logger" or the simpler one I just posted? I am also new to LabVIEW and don't know how to implement a "producer/consumer" architecture.

0 Kudos
Message 8 of 10
(237 Views)

@wsimpson0050 wrote:

What project are you referring to, the "generic GPS logger" or the simpler one I just posted? I am also new to LabVIEW and don't know how to implement a "producer/consumer" architecture.


The "Generic GPS Logger"

If you google "Producer/Consumer", you will get Producer/Consumer Architecture in LabVIEW

-------------------------------------------------------
Applications Engineer | TME Systems
https://tmesystems.net/
-------------------------------------------------------
https://github.com/ZhiYang-Ong
0 Kudos
Message 9 of 10
(219 Views)

where should I add the producer/consumer? 

0 Kudos
Message 10 of 10
(48 Views)