LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Align Waveforms : seems to be not working on a Linux cRIO (9063)

Hi,

I'm trying to use a code which works fine on my compter into a Linux cRIO (9063).

This code uses the (Signal Processing) VI 'Align Wavforms (Continuous)' : two groups of 3 waveforms must be aligned. The first group is the reference, the second group should have their points interpolated (linear method).

I create both group from SGL data arrays. Waveforms are built from a continuously updated t0 and a fixed dt. the second group has its t0 shift from some usec. t0 comes from my FPGA (FPGA timekeeper) and decoded at each VI call.

Sampling rate is 50kS/s and each 1D array contains 100ms of data (5000 pts). Data in the 1D array are OK.

 

On my computer this code works fine, but on the cRIO the output of this VI are 2 groups of empty waveforms (at least empty Y)!

Any idea ?

 

PS: this code is part of a VeriStand custom device, therefore I can't probe. I can only see some traces in my console...

CLA, CTA, LV Champion
View Cyril Gambini's profile on LinkedIn
This post is made under CC BY 4.0 DEED licensing
0 Kudos
Message 1 of 6
(3,284 Views)

Interesting. I’m not sure if there are certain functions in LabVIEW that will not work as expected once deployed. Are you able to deploy to other targets?

When you say empty waveforms – there is no data at all, or are all values zero?

 

Angela L.

0 Kudos
Message 2 of 6
(3,203 Views)

Hi Angela,

I've tried to download the same code onto a 9082 also.

Here is a summarize of what I see :

  • 9063 : the code exits but the waveform arrays are empty (empty = no element into the array)
  • 9082 : the code exits but the waveform arrays are empty 

Then, I modified the code not to update the waveform t0 at each loop but only once before entering the loop. And here is what I observe :

  • 9063 : the code stays stuck into the VI (never exist) and the processors are not at 100% (so no infinite untimed loop)
  • 9082 : works fine

In any case, this behavior is not comparable to what I see when the same function is used on my computer.

CLA, CTA, LV Champion
View Cyril Gambini's profile on LinkedIn
This post is made under CC BY 4.0 DEED licensing
0 Kudos
Message 3 of 6
(3,190 Views)

Hey zyl7,

 

Is it possible to run a test from your LabVIEW project?  If not, can you add code to log values while it runs?  If you can I would check:

- your inputs to the function when running on the cRIO vs your inputs when running on the PC to see if there's a difference

- the error output of the Align Waveforms VI

 

My initial guess would be either that something else is changing the inputs to the function when you run it on the cRIO, or some problem with timestamps on the cRIO.

 

Britton

0 Kudos
Message 4 of 6
(3,178 Views)

Hi Britton,

I've made somes tests VIs, but data comes from a DMA linked to my FPGA... So you would need a lot of things just to get an array of points... 

Anyway the 9063 and 9082 codes are attached to this post, so maybe you can try replacing the DMA by some generation VIs... Here the code contains a feedback node to keep giving the first decoded timestamp. If you remove  the feedback node, and update t0 at each iteration you'll see a different behaviour.

 

In any described cases, the key seems to be indeed the timestamp... and the code never outputs an error (in the cases where the flow exits 'Align' VI)...

CLA, CTA, LV Champion
View Cyril Gambini's profile on LinkedIn
This post is made under CC BY 4.0 DEED licensing
Download All
0 Kudos
Message 5 of 6
(3,169 Views)

Any idea on this subject ?

CLA, CTA, LV Champion
View Cyril Gambini's profile on LinkedIn
This post is made under CC BY 4.0 DEED licensing
0 Kudos
Message 6 of 6
(3,137 Views)